From 352793a91a7b1f0e03407536af69864467c010c9 Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 18 Jun 2015 22:10:19 +0200 Subject: [PATCH 001/152] add phonon for kde5 --- .../qt5-phonon-backend-gstreamer/actions.py | 19 ++++++ .../qt5-phonon-backend-gstreamer/pspec.xml | 54 +++++++++++++++ .../translations.xml | 10 +++ .../qt5-phonon-backend-vlc/actions.py | 20 ++++++ .../qt5-phonon-backend-vlc/pspec.xml | 49 ++++++++++++++ .../qt5-phonon-backend-vlc/translations.xml | 8 +++ desktop/kde/kde5-phonon/qt5-phonon/actions.py | 23 +++++++ desktop/kde/kde5-phonon/qt5-phonon/pspec.xml | 67 +++++++++++++++++++ .../kde5-phonon/qt5-phonon/translations.xml | 13 ++++ 9 files changed, 263 insertions(+) create mode 100644 desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/actions.py create mode 100644 desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/pspec.xml create mode 100644 desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/translations.xml create mode 100644 desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/actions.py create mode 100644 desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/pspec.xml create mode 100644 desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/translations.xml create mode 100644 desktop/kde/kde5-phonon/qt5-phonon/actions.py create mode 100644 desktop/kde/kde5-phonon/qt5-phonon/pspec.xml create mode 100644 desktop/kde/kde5-phonon/qt5-phonon/translations.xml diff --git a/desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/actions.py b/desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/actions.py new file mode 100644 index 0000000000..d3834f4358 --- /dev/null +++ b/desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure("-DPHONON_BUILD_PHONON4QT5=ON \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib/qt5") + +def build(): + kde5.make() + +def install(): + kde5.install() + diff --git a/desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/pspec.xml b/desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/pspec.xml new file mode 100644 index 0000000000..aa076ddb23 --- /dev/null +++ b/desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/pspec.xml @@ -0,0 +1,54 @@ + + + + + qt5-phonon-backend-gstreamer + http://phonon.kde.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv2+ + library + GStreamer qt5-phonon backend + Phonon is the Qt multimedia API, which provides a task-oriented abstraction layer for capturing, mixing, processing, and playing audio and video content. phonon-backend-gstreamer contains the GStreamer backend for Phonon. + mirrors://kde/stable/phonon/phonon-backend-gstreamer/4.8.2/src/phonon-backend-gstreamer-4.8.2.tar.xz + + qt5-base-devel + qt5-phonon-devel + automoc4 + gstreamer-devel + gstreamer-next-devel + gst-plugins-base-devel + gst-plugins-base-next-devel + mesa-devel + + + + + qt5-phonon-backend-gstreamer + + qt5-base + qt5-phonon + mesa + gstreamer + gstreamer-next + gst-plugins-base-next + + + /usr/lib + /usr/lib/qt5 + /usr/share + + + + + + 2015-02-23 + 4.8.2 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + diff --git a/desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/translations.xml b/desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/translations.xml new file mode 100644 index 0000000000..fc4cdbf86e --- /dev/null +++ b/desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/translations.xml @@ -0,0 +1,10 @@ + + + + phonon-backend-gstreamer + Phonon GStreamer arkaucu + Wtyczka GStreamera dla Phonona + Phonon, ses ve video içeriğini kaydetmek, karıştırmak, işlemek ve çalmak için görev temelli bir soyutlama katmanı sağlayan bir Qt çokluortam programlama arayüzüdür. phonon-backend-gstreamer paketi Phonon için GStreamer arkaucunu içerir. + Wtyczka GStreamera dla Phonona. + + diff --git a/desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/actions.py b/desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/actions.py new file mode 100644 index 0000000000..7a51d95676 --- /dev/null +++ b/desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/actions.py @@ -0,0 +1,20 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure("-DPHONON_BUILD_PHONON4QT5=ON \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib/qt5") + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("AUTHORS", "COPYING*") diff --git a/desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/pspec.xml b/desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/pspec.xml new file mode 100644 index 0000000000..efadc137e8 --- /dev/null +++ b/desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/pspec.xml @@ -0,0 +1,49 @@ + + + + + qt5-phonon-backend-vlc + http://gitorious.org/phonon/phonon-vlc + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + library + VLC Backend for qt5-phonon + phonon-backend-vlc allows Phonon (the KDE media library) to use VLC for audio and video playback. + mirrors://kde/stable/phonon/phonon-backend-vlc/0.8.2/src/phonon-backend-vlc-0.8.2.tar.xz + + qt5-base-devel + automoc4 + qt5-phonon-devel + pulseaudio + vlc-devel + + + + + qt5-phonon-backend-vlc + + qt5-base + qt5-phonon + vlc-libs + + + /usr/lib + /usr/lib/qt5 + /usr/share/kde4/services + /usr/share/doc + + + + + + 2015-02-23 + 0.8.2 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + diff --git a/desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/translations.xml b/desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/translations.xml new file mode 100644 index 0000000000..edc6d7022e --- /dev/null +++ b/desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/translations.xml @@ -0,0 +1,8 @@ + + + + phonon-backend-vlc + Phonon için VLC arkaucu + phonon-backend-vlc, Phonon kitaplığının (KDE çoklu ortam kitaplığı) ses ve video oynatmak için VLC kullanmasını sağlar. + + diff --git a/desktop/kde/kde5-phonon/qt5-phonon/actions.py b/desktop/kde/kde5-phonon/qt5-phonon/actions.py new file mode 100644 index 0000000000..03991fc61b --- /dev/null +++ b/desktop/kde/kde5-phonon/qt5-phonon/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import kde5 +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +def setup(): + kde5.configure("-DPHONON_BUILD_PHONON4QT5=ON \ + -DPHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT=ON \ + -DPHONON_BUILD_PHONON4QT5=ON \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib/qt5") + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dosym("/usr/include/KDE/Phonon", "/usr/include/Phonon") diff --git a/desktop/kde/kde5-phonon/qt5-phonon/pspec.xml b/desktop/kde/kde5-phonon/qt5-phonon/pspec.xml new file mode 100644 index 0000000000..89ce3d9caa --- /dev/null +++ b/desktop/kde/kde5-phonon/qt5-phonon/pspec.xml @@ -0,0 +1,67 @@ + + + + + qt5-phonon + http://phonon.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2.1 + library + Cross platform multimedia API for KDE4 using QT5 + Phonon was created as a solution to several problems with multimedia commonly faced by Unix desktops, especially KDE 3's outdated multimedia framework aRts. Phonon itself is not a multimedia framework, but interfaces with existing frameworks such as GStreamer or Xine via backends. + mirrors://kde/stable/phonon/4.8.3/src/phonon-4.8.3.tar.xz + + qt5-base-devel + automoc4 + alsa-lib-devel + gst-plugins-base-devel + pulseaudio-libs-devel + gstreamer-devel + xine-lib-devel + libqzeitgeist-devel + + + + + qt5-phonon + + qt5-base + qt5-tools + pulseaudio-libs + + + /usr/lib/libphonon* + /usr/lib/qt5 + /usr/share/dbus-1 + + + + + qt5-phonon-devel + Development files for phonon-qt5 + + qt5-phonon + qt5-base-devel + + + /usr/include + /usr/lib/pkgconfig + /usr/lib/cmake + /usr/share/phonon4qt5 + + + + + + 2015-02-23 + 4.8.3 + First Release + Stefan Gronewold(groni) + groni@pisilinux.org + + + + diff --git a/desktop/kde/kde5-phonon/qt5-phonon/translations.xml b/desktop/kde/kde5-phonon/qt5-phonon/translations.xml new file mode 100644 index 0000000000..b0f45dbca5 --- /dev/null +++ b/desktop/kde/kde5-phonon/qt5-phonon/translations.xml @@ -0,0 +1,13 @@ + + + + phonon + KDE4 için platform bağımsız çokluortam kitaplığı + Phonon, Unix masaüstlerinde özellikle de KDE3'ün eski çokluortam çatısı aRts'tan kaynaklanan bir çok problemi çözmek için üretilmiştir. Phonon kendi başına bir çokluortam çatısı değildir, Xine veya GStreamer gibi varolan çatıları arka uç olarak kullanırak bir arayüz görevi görür. + + + + phonon-devel + phonon için geliştirme dosyaları + + From 7c3dfc0764a3e0c88b7dd637491a308d26521aa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sat, 20 Jun 2015 09:28:59 +0300 Subject: [PATCH 002/152] libX11 and deps in main... --- programming/library/component.xml | 4 + programming/library/libbsd/actions.py | 25 ++++ programming/library/libbsd/pspec.xml | 49 +++++++ programming/library/libbsd/translations.xml | 8 ++ x11/library/libX11/actions.py | 26 ++++ .../libX11/files/fix-null-pointer.patch | 12 ++ x11/library/libX11/files/fix-segfault.diff | 50 +++++++ x11/library/libX11/files/fix_typo.diff | 27 ++++ x11/library/libX11/pspec.xml | 128 ++++++++++++++++++ x11/library/libX11/translations.xml | 19 +++ x11/library/libXau/actions.py | 20 +++ x11/library/libXau/files/visibility.patch | 22 +++ x11/library/libXau/pspec.xml | 92 +++++++++++++ x11/library/libXau/translations.xml | 20 +++ x11/library/libXdmcp/actions.py | 22 +++ x11/library/libXdmcp/pspec.xml | 104 ++++++++++++++ x11/library/libXdmcp/translations.xml | 20 +++ x11/library/libxcb/actions.py | 30 ++++ .../files/libxcb-1.1-no-pthread-stubs.patch | 11 ++ x11/library/libxcb/files/pthread-stubs.pc | 8 ++ x11/library/libxcb/pspec.xml | 125 +++++++++++++++++ x11/library/libxcb/translations.xml | 17 +++ 22 files changed, 839 insertions(+) create mode 100644 programming/library/component.xml create mode 100644 programming/library/libbsd/actions.py create mode 100644 programming/library/libbsd/pspec.xml create mode 100644 programming/library/libbsd/translations.xml create mode 100644 x11/library/libX11/actions.py create mode 100644 x11/library/libX11/files/fix-null-pointer.patch create mode 100644 x11/library/libX11/files/fix-segfault.diff create mode 100644 x11/library/libX11/files/fix_typo.diff create mode 100644 x11/library/libX11/pspec.xml create mode 100644 x11/library/libX11/translations.xml create mode 100644 x11/library/libXau/actions.py create mode 100644 x11/library/libXau/files/visibility.patch create mode 100644 x11/library/libXau/pspec.xml create mode 100644 x11/library/libXau/translations.xml create mode 100644 x11/library/libXdmcp/actions.py create mode 100644 x11/library/libXdmcp/pspec.xml create mode 100644 x11/library/libXdmcp/translations.xml create mode 100644 x11/library/libxcb/actions.py create mode 100644 x11/library/libxcb/files/libxcb-1.1-no-pthread-stubs.patch create mode 100644 x11/library/libxcb/files/pthread-stubs.pc create mode 100644 x11/library/libxcb/pspec.xml create mode 100644 x11/library/libxcb/translations.xml diff --git a/programming/library/component.xml b/programming/library/component.xml new file mode 100644 index 0000000000..4b7a6dfc39 --- /dev/null +++ b/programming/library/component.xml @@ -0,0 +1,4 @@ + + programming.library + + diff --git a/programming/library/libbsd/actions.py b/programming/library/libbsd/actions.py new file mode 100644 index 0000000000..9d0211af78 --- /dev/null +++ b/programming/library/libbsd/actions.py @@ -0,0 +1,25 @@ +#!/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 + +def setup(): + autotools.configure("--disable-static \ + --disable-silent-rules") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + +# solve conflict with elfutils and glibc-devel +# pisitools.remove("/usr/include/nlist.h") +# pisitools.remove("/usr/lib/libbsd.a") + + pisitools.dodoc("ChangeLog", "COPYING", "README", "TODO") diff --git a/programming/library/libbsd/pspec.xml b/programming/library/libbsd/pspec.xml new file mode 100644 index 0000000000..047b6993d4 --- /dev/null +++ b/programming/library/libbsd/pspec.xml @@ -0,0 +1,49 @@ + + + libbsd + http://libbsd.freedesktop.org + + Marcin Bojara + marcin@pisilinux.org + + BSD + BSD-2 + BSD-4 + ISC + library + Provides useful functions commonly found on BSD systems + This library provides useful functions commonly found on BSD systems, and lacking on others like GNU systems, thus making it easier to port projects with strong BSD origins, without needing to embed the same code over and over again on each project. + http://libbsd.freedesktop.org/releases/libbsd-0.6.0.tar.xz + + + + libbsd + + /usr/lib + /usr/share/doc + + + + + libbsd-devel + Development files for libbsd + + libbsd + + + /usr/include + /usr/lib/pkgconfig + /usr/share/man/man3 + + + + + + 2014-03-09 + 0.6.0 + Fisrt release. + Marcin Bojara + marcin@pisilinux.org + + + \ No newline at end of file diff --git a/programming/library/libbsd/translations.xml b/programming/library/libbsd/translations.xml new file mode 100644 index 0000000000..db67d1d785 --- /dev/null +++ b/programming/library/libbsd/translations.xml @@ -0,0 +1,8 @@ + + + + libbsd + Taşınabilirlik için BSD uyumlu fonksiyonlar sağlayan bir kitaplık. + GNU Linux sistemlerde bulunmayan BSD sistemlere özgü fonsiyonları barındıran bir kitaplıktır ve BSD uygulamalarının GNU Linux'a taşınmasını kolaylaştırır. + + \ No newline at end of file diff --git a/x11/library/libX11/actions.py b/x11/library/libX11/actions.py new file mode 100644 index 0000000000..4d41b1e29c --- /dev/null +++ b/x11/library/libX11/actions.py @@ -0,0 +1,26 @@ +# -*- 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(): + autotools.autoreconf("-vif") + autotools.configure("--disable-static") + + 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()) + if get.buildTYPE() == "emul32": return + + pisitools.dodoc("AUTHORS", "COPYING", "NEWS", "README") diff --git a/x11/library/libX11/files/fix-null-pointer.patch b/x11/library/libX11/files/fix-null-pointer.patch new file mode 100644 index 0000000000..8b37f365b5 --- /dev/null +++ b/x11/library/libX11/files/fix-null-pointer.patch @@ -0,0 +1,12 @@ +diff -Naur libX11-1.3.5//src/xlibi18n/ICWrap.c libX11-1.3.5.tpg//src/xlibi18n/ICWrap.c +--- libX11-1.3.5//src/xlibi18n/ICWrap.c 2010-08-10 04:59:44.000000000 +0000 ++++ libX11-1.3.5.tpg//src/xlibi18n/ICWrap.c 2010-09-17 17:11:21.000000000 +0000 +@@ -283,7 +283,7 @@ + XIMArg *args; + char *ret; + +- if (!ic->core.im) ++ if (!ic || !ic->core.im) + return (char *) NULL; + + /* diff --git a/x11/library/libX11/files/fix-segfault.diff b/x11/library/libX11/files/fix-segfault.diff new file mode 100644 index 0000000000..a38c0ce2a2 --- /dev/null +++ b/x11/library/libX11/files/fix-segfault.diff @@ -0,0 +1,50 @@ +Index: libX11-1.4.99.1/src/Xrm.c +=================================================================== +--- libX11-1.4.99.1.orig/src/Xrm.c ++++ libX11-1.4.99.1/src/Xrm.c +@@ -2540,30 +2540,40 @@ Bool XrmQGetResource( + VClosureRec closure; + + if (db && *names) { +- _XLockMutex(&db->linfo); ++ if ((_XLockMutex_fn) && db->linfo.lock ) { ++ _XLockMutex(&db->linfo); ++ } + closure.type = pType; + closure.value = pValue; + table = db->table; + if (names[1]) { + if (table && !table->leaf) { + if (GetNEntry(table, names, classes, &closure)) { +- _XUnlockMutex(&db->linfo); ++ if ((_XUnlockMutex_fn) && db->linfo.lock ) { ++ _XUnlockMutex(&db->linfo); ++ } + return True; + } + } else if (table && table->hasloose && + GetLooseVEntry((LTable)table, names, classes, &closure)) { +- _XUnlockMutex (&db->linfo); ++ if ((_XUnlockMutex_fn) && db->linfo.lock ) { ++ _XUnlockMutex (&db->linfo); ++ } + return True; + } + } else { + if (table && !table->leaf) + table = table->next; + if (table && GetVEntry((LTable)table, names, classes, &closure)) { +- _XUnlockMutex(&db->linfo); ++ if ((_XUnlockMutex_fn) && db->linfo.lock ) { ++ _XUnlockMutex(&db->linfo); ++ } + return True; + } + } +- _XUnlockMutex(&db->linfo); ++ if ((_XUnlockMutex_fn) && db->linfo.lock ) { ++ _XUnlockMutex(&db->linfo); ++ } + } + *pType = NULLQUARK; + pValue->addr = (XPointer)NULL; diff --git a/x11/library/libX11/files/fix_typo.diff b/x11/library/libX11/files/fix_typo.diff new file mode 100644 index 0000000000..a55a940744 --- /dev/null +++ b/x11/library/libX11/files/fix_typo.diff @@ -0,0 +1,27 @@ +From 5dcb40f28d59587597d2ff6e6ac64c71cfe6ff7b Mon Sep 17 00:00:00 2001 +From: James Cloos +Date: Tue, 17 Sep 2013 16:50:42 +0000 +Subject: nls/en_US.UTF-8/Compose.pre: Fix typo. + +Fix typo added in 215ce6a67863, s/actute/acute/. + +Fixes bug #69476. Reported by Jean Krohn. + +Signed-off-by: James Cloos +--- +diff --git a/nls/en_US.UTF-8/Compose.pre b/nls/en_US.UTF-8/Compose.pre +index a741332..7314d7f 100644 +--- a/nls/en_US.UTF-8/Compose.pre ++++ b/nls/en_US.UTF-8/Compose.pre +@@ -743,7 +743,7 @@ XCOMM Part 3 + : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS + : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS + : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS +- : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 ++ : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 + : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 + : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 + : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 +-- +cgit v0.9.0.2-2-gbebe + diff --git a/x11/library/libX11/pspec.xml b/x11/library/libX11/pspec.xml new file mode 100644 index 0000000000..562ee95894 --- /dev/null +++ b/x11/library/libX11/pspec.xml @@ -0,0 +1,128 @@ + + + + + libX11 + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + X.Org X11 library + Core X11 protocol client library. + mirrors://xorg/individual/lib/libX11-1.6.3.tar.bz2 + + libxcb-devel + xorg-proto + util-macros + xtrans + + + + + + + + libX11 + + libxcb + + + /usr/lib/libX11* + /usr/lib/X11 + /usr/share/X11 + /usr/share/doc/libX11 + + + + + libX11-devel + Development files for X11 library + + libX11 + libxcb-devel + xorg-proto + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + + libX11-32bit + emul32 + 32-bit shared libraries for libX11 + emul32 + + libxcb-32bit + glibc-32bit + + + libX11 + libxcb-32bit + glibc-32bit + + + /usr/lib32 + + + + + + 2015-05-22 + 1.6.3 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-05-11 + 1.6.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.6.2 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-12 + 1.6.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.6.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-21 + 1.6.0 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-24 + 1.5.0 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + diff --git a/x11/library/libX11/translations.xml b/x11/library/libX11/translations.xml new file mode 100644 index 0000000000..f7b669ffdf --- /dev/null +++ b/x11/library/libX11/translations.xml @@ -0,0 +1,19 @@ + + + + libX11 + X.Org X11 kitaplığı + Librairie X11 de X.Org. + X.Org X11 Bibliothek + + + + libX11-devel + libX11 için geliştirme dosyaları + + + + libX11-32bit + libX11 için 32-bit paylaşımlı kitaplıklar + + diff --git a/x11/library/libXau/actions.py b/x11/library/libXau/actions.py new file mode 100644 index 0000000000..1e2e53ca09 --- /dev/null +++ b/x11/library/libXau/actions.py @@ -0,0 +1,20 @@ +#!/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 shelltools + +def setup(): + autotools.autoreconf("-vif") + autotools.configure("--disable-static") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + diff --git a/x11/library/libXau/files/visibility.patch b/x11/library/libXau/files/visibility.patch new file mode 100644 index 0000000000..5a338a167f --- /dev/null +++ b/x11/library/libXau/files/visibility.patch @@ -0,0 +1,22 @@ +--- libXau-1.0.3/AuDispose.c.orig 2007-11-23 17:51:27.000000000 -0200 ++++ libXau-1.0.3/AuDispose.c 2007-11-23 17:51:34.000000000 -0200 +@@ -33,7 +33,7 @@ in this Software without prior written a + #include + #include + +-void ++_X_EXPORT void + XauDisposeAuth (Xauth *auth) + { + if (auth) { +--- libXau-1.0.3/AuRead.c.orig 2007-11-23 17:52:14.000000000 -0200 ++++ libXau-1.0.3/AuRead.c 2007-11-23 17:52:21.000000000 -0200 +@@ -69,7 +69,7 @@ read_counted_string (unsigned short *cou + return 1; + } + +-Xauth * ++_X_EXPORT Xauth * + XauReadAuth (FILE *auth_file) + { + Xauth local; diff --git a/x11/library/libXau/pspec.xml b/x11/library/libXau/pspec.xml new file mode 100644 index 0000000000..f9637721c4 --- /dev/null +++ b/x11/library/libXau/pspec.xml @@ -0,0 +1,92 @@ + + + + + libXau + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + X.Org Au library + libXau provides functions to manage X authorization files + http://xorg.freedesktop.org/archive/individual/lib/libXau-1.0.8.tar.gz + + visibility.patch + + + util-macros + xorg-proto + + + + + libXau + + /usr/lib + + + + + libXau-devel + Development files for libXau + + libXau + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + + libXau-32bit + emul32 + 32-bit shared libraries for libXau + emul32 + + glibc-32bit + + + glibc-32bit + + + /usr/lib32 + + + + + + 2014-06-01 + 1.0.8 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.0.8 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-06-21 + 1.0.8 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-08-23 + 1.0.7 + First release + PisiLinux Community + admins@pisilinux.org + + + diff --git a/x11/library/libXau/translations.xml b/x11/library/libXau/translations.xml new file mode 100644 index 0000000000..a48e44827f --- /dev/null +++ b/x11/library/libXau/translations.xml @@ -0,0 +1,20 @@ + + + + libXau + X.Org Au kitaplığı. + Librairie Au de X.Org. + X.Org Au Bibliothek + libXau, X yetkilendirme dosyalarını yönetmek için işlevler sağlar. + + + + libXau-devel + libXau için geliştirme dosyaları + + + + libXau-32bit + libXau için 32-bit paylaşımlı kitaplıklar + + diff --git a/x11/library/libXdmcp/actions.py b/x11/library/libXdmcp/actions.py new file mode 100644 index 0000000000..97397e5869 --- /dev/null +++ b/x11/library/libXdmcp/actions.py @@ -0,0 +1,22 @@ +# -*- 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.autoreconf("-fi") + + autotools.configure("--disable-static \ + --without-xmlto") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "README") diff --git a/x11/library/libXdmcp/pspec.xml b/x11/library/libXdmcp/pspec.xml new file mode 100644 index 0000000000..f37ee24f0e --- /dev/null +++ b/x11/library/libXdmcp/pspec.xml @@ -0,0 +1,104 @@ + + + + + libXdmcp + http://x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + X.Org Xdmcp library + LibXdmcp is the X Display Manager Control Protocol library. + http://xorg.freedesktop.org/archive/individual/lib/libXdmcp-1.1.2.tar.bz2 + + libxslt + util-macros + xorg-proto + libbsd-devel + + + + + libXdmcp + + libbsd + + + /usr/lib + /usr/share/doc + + + + + libXdmcp-devel + Development files for libXdmcp + + xorg-proto + libXdmcp + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/doc/*/*.xml + + + + + libXdmcp-32bit + emul32 + 32-bit shared libraries for libXdmcp + emul32 + + glibc-32bit + + + libXdmcp + glibc-32bit + + + /usr/lib32 + + + + + + 2015-06-06 + 1.1.2 + Runtime dep fixed. + Osman Erkan + osman.erkan@yandex.com + + + 2015-05-22 + 1.1.2 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-05-11 + 1.1.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-08 + 1.1.1 + Rebuild, clean actions.py. + Serdar Soytetir + kaptan@pisilinux.org + + + 2012-08-23 + 1.1.1 + First release + PisiLinux Community + admins@pisilinux.org + + + diff --git a/x11/library/libXdmcp/translations.xml b/x11/library/libXdmcp/translations.xml new file mode 100644 index 0000000000..7eb6f7572d --- /dev/null +++ b/x11/library/libXdmcp/translations.xml @@ -0,0 +1,20 @@ + + + + libXdmcp + X.Org Xdmcp kitaplığı. + Librairie Xdmcp de X.Org. + X.Org Xdmcp Bibliothek + LibXdmcp, X Ekran Yöneticisi Denetim Protokolü kitaplığıdır. + + + + libXdmcp-devel + libXdmcp için geliştirme dosyaları + + + + libXdmcp-32bit + libXdmcp için 32-bit paylaşımlı kitaplıklar + + diff --git a/x11/library/libxcb/actions.py b/x11/library/libxcb/actions.py new file mode 100644 index 0000000000..bfab6647d2 --- /dev/null +++ b/x11/library/libxcb/actions.py @@ -0,0 +1,30 @@ +# -*- 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(): + pisitools.flags.add("-DNDEBUG") + + autotools.autoreconf("-vif") + autotools.configure("--disable-static \ + --enable-xevie \ + --enable-xprint \ + --enable-xinput \ + --enable-xkb \ + --without-launchd \ + --without-doxygen") + + pisitools.dosed("libtool"," -shared ", " -Wl,--as-needed -shared ") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("-j1 DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("COPYING", "NEWS", "README") diff --git a/x11/library/libxcb/files/libxcb-1.1-no-pthread-stubs.patch b/x11/library/libxcb/files/libxcb-1.1-no-pthread-stubs.patch new file mode 100644 index 0000000000..84c7f8e2fb --- /dev/null +++ b/x11/library/libxcb/files/libxcb-1.1-no-pthread-stubs.patch @@ -0,0 +1,11 @@ +--- libxcb-1.8.1/configure.ac 2012-03-09 15:38:38.000000000 +0100 ++++ libxcb-1.8.1/configure.ac.new 2012-03-09 16:50:40.107109896 +0100 +@@ -43,7 +43,7 @@ + + # Checks for pkg-config packages + PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.11) +-NEEDED="pthread-stubs xau >= 0.99.2" ++NEEDED="xau >= 0.99.2" + PKG_CHECK_MODULES(NEEDED, $NEEDED) + + have_xdmcp="no" diff --git a/x11/library/libxcb/files/pthread-stubs.pc b/x11/library/libxcb/files/pthread-stubs.pc new file mode 100644 index 0000000000..ad7b91b632 --- /dev/null +++ b/x11/library/libxcb/files/pthread-stubs.pc @@ -0,0 +1,8 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib + +Name: pthread stubs +Description: Stubs missing from libc for standard pthread functions +Version: 0.3 +Libs: diff --git a/x11/library/libxcb/pspec.xml b/x11/library/libxcb/pspec.xml new file mode 100644 index 0000000000..48357b1ebd --- /dev/null +++ b/x11/library/libxcb/pspec.xml @@ -0,0 +1,125 @@ + + + + + libxcb + http://xcb.freedesktop.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + The X protocol C-language Binding (XCB) + The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility. + http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2 + + libXau-devel + libXdmcp-devel + libxslt + util-macros + xcb-proto + + + libxcb-1.1-no-pthread-stubs.patch + + + + + libxcb + + libXau + libXdmcp + glibc + + + /usr/lib + /usr/share/man + /usr/share/doc + + + + + libxcb-devel + Development files for libxcb + + libxcb + libXau-devel + libXdmcp-devel + + + /usr/include/xcb + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + pthread-stubs.pc + + + + + libxcb-32bit + emul32 + 32-bit shared libraries for libxcb + emul32 + + libXau-32bit + libXdmcp-32bit + glibc-32bit + + + libxcb + libXau-32bit + libXdmcp-32bit + glibc-32bit + + + /usr/lib32 + + + + + + 2015-05-22 + 1.11 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-11 + 1.10 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-07 + 1.10 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-08 + 1.9.1 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-07-28 + 1.9.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-18 + 1.9 + First release + Erdinç Gültekin + admins@pisilinux.org + + + diff --git a/x11/library/libxcb/translations.xml b/x11/library/libxcb/translations.xml new file mode 100644 index 0000000000..d1bf19d273 --- /dev/null +++ b/x11/library/libxcb/translations.xml @@ -0,0 +1,17 @@ + + + + libxcb + X protokolü için C dili bağlayıcısı (XCB) + + + + libxcb-devel + libxcb için geliştirme dosyaları + + + + libxcb-32bit + libxcb için 32-bit paylaşımlı kitaplıklar + + From 22bcd37c4cefe864b86bcd92f0745d7719739c2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sat, 20 Jun 2015 10:15:09 +0300 Subject: [PATCH 003/152] alsa-lib fix deps --- hardware/sound/alsa-lib/pspec.xml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hardware/sound/alsa-lib/pspec.xml b/hardware/sound/alsa-lib/pspec.xml index 28610c93fa..56997731c6 100644 --- a/hardware/sound/alsa-lib/pspec.xml +++ b/hardware/sound/alsa-lib/pspec.xml @@ -14,10 +14,16 @@ The Advanced Linux Sound Architecture (ALSA) library alsa-lib provides ALSA runtime libraries to simplify application programming and provide higher level functionality as well as support for the older OSS API, providing binary compatibility for most OSS programs. ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.29.tar.bz2 + + python-devel + alsa-lib + + python + /usr/lib /usr/bin @@ -47,8 +53,11 @@ emul32 32-bit shared libraries for alsa-lib emul32 + + glibc-32bit + - alsa-lib + glibc-32bit /usr/lib32 From c5076bf4347535747a90cf8b854aed579944d8bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sat, 20 Jun 2015 10:35:28 +0300 Subject: [PATCH 004/152] libXext deps. fix --- x11/library/libXext/pspec.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/x11/library/libXext/pspec.xml b/x11/library/libXext/pspec.xml index b7eed6dc8c..f86f462f74 100644 --- a/x11/library/libXext/pspec.xml +++ b/x11/library/libXext/pspec.xml @@ -15,11 +15,17 @@ mirrors://xorg/individual/lib/libXext-1.3.3.tar.bz2 xorg-proto + util-macros + libX11-devel + libxslt libXext + + libX11 + /usr/lib /usr/share/doc @@ -30,6 +36,7 @@ libXext-devel Development files for libXext + libX11-devel libXext @@ -47,10 +54,12 @@ emul32 libX11-32bit + glibc-32bit libXext libX11-32bit + glibc-32bit /usr/lib32 From f43f6d4b3d23e827a78f9fd8ff94f3a5ec264a8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sat, 20 Jun 2015 10:48:08 +0300 Subject: [PATCH 005/152] libXfixes fix deps --- x11/library/libXfixes/pspec.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/x11/library/libXfixes/pspec.xml b/x11/library/libXfixes/pspec.xml index e2acd32ff3..9219f39d57 100644 --- a/x11/library/libXfixes/pspec.xml +++ b/x11/library/libXfixes/pspec.xml @@ -15,6 +15,8 @@ mirrors://xorg/individual/lib/libXfixes-5.0.1.tar.bz2 xorg-proto + libX11-devel + util-macros @@ -31,6 +33,7 @@ Development files for libXfixes libXfixes + libX11-devel /usr/include/X11 @@ -47,10 +50,12 @@ emul32 libX11-32bit + glibc-32bit libXfixes libX11-32bit + glibc-32bit /usr/lib32 From c3e2c2f40c2db14f314f8b2eeabe86f456effeec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sat, 20 Jun 2015 11:00:39 +0300 Subject: [PATCH 006/152] add component and libXi fix deps --- components.xml | 2325 ++++ desktop/font/component.xml | 3 + desktop/kde/component.xml | 3 + pisi-index.xml | 20914 ++++++++++++++++++++++++++++++++++ pisi-index.xml.sha1sum | 1 + pisi-index.xml.xz | Bin 0 -> 60224 bytes pisi-index.xml.xz.sha1sum | 1 + x11/library/libXi/pspec.xml | 6 + 8 files changed, 23253 insertions(+) create mode 100755 components.xml create mode 100644 desktop/font/component.xml create mode 100644 desktop/kde/component.xml create mode 100644 pisi-index.xml create mode 100644 pisi-index.xml.sha1sum create mode 100644 pisi-index.xml.xz create mode 100644 pisi-index.xml.xz.sha1sum diff --git a/components.xml b/components.xml new file mode 100755 index 0000000000..cc4fcdef13 --- /dev/null +++ b/components.xml @@ -0,0 +1,2325 @@ + + + + system + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + system.base + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + system.boot + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + system.doc + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + system.auth + FIXME + FIXME + FIXME + security + + PisiLinux Community + admins@pisilinux.org + + + + system.locale + FIXME + FIXME + FIXME + localization + + PisiLinux Community + admins@pisilinux.org + + + + system.installer + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + system.devel + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + office + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.postscript + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.libreoffice + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.libreoffice.l10n + FIXME + FIXME + FIXME + localization + + PisiLinux Community + admins@pisilinux.org + + + + office.spellcheck + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.misc + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.dictionary + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.docbook + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.calligra + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.calligra.l10n + FIXME + FIXME + FIXME + localization + + PisiLinux Community + admins@pisilinux.org + + + + tex + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + tex.addon + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + tex.base + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + tex.extra + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + tex.tool + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + editor + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + editor.emacs + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + editor.web + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + editor.vi + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + programming + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.library + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.build + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.debug + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.python + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.python.django + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.perl + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.dotnet + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.gambas + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.ruby + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.tcl + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.java + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.haskell + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.falcon + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.pascal + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.lisp + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.php + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.ocaml + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.objectivec + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.misc + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.profiler + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.scm + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.docs + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.environment + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.environment.eric + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.environment.eclipse + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.environment.kdevelop + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.tool + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.devel + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + science + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.medical + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.plotting + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.mathematics + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.gis + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.chemistry + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.misc + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.electronics + FIXME + FIXME + FIXME + electronics + + PisiLinux Community + admins@pisilinux.org + + + + science.biology + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.robotics + FIXME + FIXME + FIXME + electronics + + PisiLinux Community + admins@pisilinux.org + + + + science.astronomy + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + desktop + FIXME + FIXME + FIXME + other + + PisiLinux Community + admins@pisilinux.org + + + + desktop.lookandfeel + FIXME + FIXME + FIXME + other + + PisiLinux Community + admins@pisilinux.org + + + + desktop.toolkit + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + desktop.toolkit.qt + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + desktop.toolkit.qt5 + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + desktop.toolkit.motif + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + desktop.toolkit.gtk + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + desktop.toolkit.clutter + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + desktop.mate + FIXME + FIXME + FIXME + mate.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.mate.base + FIXME + FIXME + FIXME + mate.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.mate.extras + FIXME + FIXME + FIXME + mate.desktop.extras + + PisiLinux Community + admins@pisilinux.org + + + + desktop.xfce + FIXME + FIXME + FIXME + xfce.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.xfce.lookandfeel + FIXME + FIXME + FIXME + xfce.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.xfce.addon + FIXME + FIXME + FIXME + xfce.addon + + PisiLinux Community + admins@pisilinux.org + + + + desktop.xfce.base + FIXME + FIXME + FIXME + xfce.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.misc + FIXME + FIXME + FIXME + other + + PisiLinux Community + admins@pisilinux.org + + + + desktop.gnome2 + FIXME + FIXME + FIXME + gnome2.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.gnome + FIXME + FIXME + FIXME + gnome.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.gnome.base + FIXME + FIXME + FIXME + gnome.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.gnome.addons + FIXME + FIXME + FIXME + gnome.desktop.addons + + PisiLinux Community + admins@pisilinux.org + + + + desktop.font + FIXME + FIXME + FIXME + fonts + + PisiLinux Community + admins@pisilinux.org + + + + desktop.fluxbox + FIXME + FIXME + FIXME + desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.fluxbox.addon + FIXME + FIXME + FIXME + desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.fluxbox.base + FIXME + FIXME + FIXME + desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.enlightenment + FIXME + FIXME + FIXME + enlightenment.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.enlightenment.addon + FIXME + FIXME + FIXME + enlightenment.addon + + PisiLinux Community + admins@pisilinux.org + + + + desktop.enlightenment.base + FIXME + FIXME + FIXME + enlightenment.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.razor-qt + FIXME + FIXME + FIXME + razor-qt.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.admin + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.addon + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.base + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.network + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.sdk + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.toys + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.bindings + FIXME + FIXME + FIXME + kde.kdebindings + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.multimedia + FIXME + FIXME + FIXME + kde.kdemultimedia + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.utils + FIXME + FIXME + FIXME + kde.kdeutils + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.edu + FIXME + FIXME + FIXME + kde.kdeedu + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.accessibility + FIXME + FIXME + FIXME + kde.kdeaccessibility + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.graphics + FIXME + FIXME + FIXME + kde.kdegraphics + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.games + FIXME + FIXME + FIXME + kde.kdegames + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.l10n + FIXME + FIXME + FIXME + localization + + PisiLinux Community + admins@pisilinux.org + + + + desktop.lxqt + FIXME + FIXME + FIXME + lxqt.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.lxqt.addon + FIXME + FIXME + FIXME + lxqt.addon + + PisiLinux Community + admins@pisilinux.org + + + + desktop.lxqt.base + FIXME + FIXME + FIXME + lxqt.desktop + + PisiLinux Community + admins@pisilinux.org + + + + kernel + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + kernel.drivers + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + kernel.tools + Kernel Tools + Kernel Tools; perf, cpupowertools + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + x11 + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + x11.library + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + x11.driver + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + x11.misc + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + x11.im + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + x11.wm + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + x11.terminal + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + x11.server + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + x11.util + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + hardware + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.virtualization + FIXME + FIXME + FIXME + virtualization + + PisiLinux Community + admins@pisilinux.org + + + + hardware.scanner + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.bluetooth + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.cpu + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.graphics + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.firmware + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.optical + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.irda + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.printer + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.misc + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.smartcard + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.info + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.sound + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.disk + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.security + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.emulator + FIXME + FIXME + FIXME + other + + PisiLinux Community + admins@pisilinux.org + + + + hardware.powermanagement + FIXME + FIXME + FIXME + power.management + + PisiLinux Community + admins@pisilinux.org + + + + hardware.mobile + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.firewire + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + network + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.filter + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.mail + FIXME + FIXME + FIXME + communication + + PisiLinux Community + admins@pisilinux.org + + + + network.library + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.p2p + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.monitor + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.rss + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.misc + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + network.share + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.fax + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.voip + FIXME + FIXME + FIXME + communication + + PisiLinux Community + admins@pisilinux.org + + + + network.download + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.connection + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.chat + FIXME + FIXME + FIXME + communication + + PisiLinux Community + admins@pisilinux.org + + + + network.plugin + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.web + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.analyzer + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.remoteshell + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.ftp + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + multimedia + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.graphics + FIXME + FIXME + FIXME + graphics + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.graphics.gimp + FIXME + FIXME + FIXME + graphics + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.graphics.gimp.addon + FIXME + FIXME + FIXME + graphics + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.graphics.gimp.l10n + FIXME + FIXME + FIXME + localization + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.stream + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.editor + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.misc + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.converter + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.sound + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.tv + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.plugin + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.radio + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.video + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + server + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.backup + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.monitor + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.mta + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.database + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.misc + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + server.proxy + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.auth + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.web + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.ftp + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + util + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + util.shell + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + util.antivirus + FIXME + FIXME + FIXME + admin.tools + + PisiLinux Community + admins@pisilinux.org + + + + util.crypt + FIXME + FIXME + FIXME + security + + PisiLinux Community + admins@pisilinux.org + + + + util.admin + FIXME + FIXME + FIXME + admin.tools + + PisiLinux Community + admins@pisilinux.org + + + + util.archive + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + util.misc + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + util.benchmark + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + game + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.emulator + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.strategy + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.puzzle + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.engine + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.misc + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.simulation + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.action + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.adventure + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.arcade + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.fps + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.rpg + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.board + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.sports + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + diff --git a/desktop/font/component.xml b/desktop/font/component.xml new file mode 100644 index 0000000000..709d503f98 --- /dev/null +++ b/desktop/font/component.xml @@ -0,0 +1,3 @@ + + desktop.font + diff --git a/desktop/kde/component.xml b/desktop/kde/component.xml new file mode 100644 index 0000000000..f1165fcf3f --- /dev/null +++ b/desktop/kde/component.xml @@ -0,0 +1,3 @@ + + desktop.kde + diff --git a/pisi-index.xml b/pisi-index.xml new file mode 100644 index 0000000000..168c1b805d --- /dev/null +++ b/pisi-index.xml @@ -0,0 +1,20914 @@ + + + + libmng + http://www.libmng.com/ + + PisiLinux Community + admins@pisilinux.org + + as-is + library + multimedia.graphics + Multiple Image Networkgraphics lib (animated png's) + Çoklu resim Networkgraphics (Animasyonlu png) + Libmng - La librairie de référence pour lire, afficher, écrire et examiner des Multiple-Image Network Graphics (graphiques orientés réseaux composés d'images multiples). MNG est l'extension d'animation pour le format d'image populaire PNG. + Libmng -The reference library for reading, displaying, writing and examining Multiple-Image Network Graphics. MNG is the animation extension to the popular PNG image-format. + Libmng, Çoklu Görüntü Ağ Grafiklerini (MNG) okuma, görüntüleme, yazma ve denemek için başvuru kütüphanesidir. MNG popüler PNG görüntü formatı için animasyon uzantısıdır. + Libmng -librería de referencia para lectura, visualización, escritura y análisis de gráficos tipo Multiple-Image Network. MNG es la extensión de animación al formato popular de imágenes PNG. + http://sourceforge.net/projects/libmng/files/libmng-devel/2.0.2/libmng-2.0.2.tar.gz + + lcms-devel + libjpeg-turbo-devel + + multimedia/graphics/libmng/pspec.xml + + + libmng + + libjpeg-turbo + lcms2 + + + /usr/lib + + + + libmng-devel + + libmng + + + /usr/share/doc + /usr/share/man + /usr/include/ + + + + libmng-32bit + 32-bit shared libraries for libmng + emul32 + emul32 + + zlib-32bit + lcms2-32bit + libjpeg-turbo-32bit + libmng + + + /usr/lib32 + + + + + 2014-05-19 + 2.0.2 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-01-31 + 2.0.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2012-12-16 + 1.0.10 + First release + Erdinç Gültekin + admins@pisilinux.org + + + + + + libjpeg-turbo + http://www.libjpeg-turbo.org/ + + PisiLinux Community + admins@pisilinux.org + + GPLv3 + app:gui + multimedia.graphics + MMX, SSE, and SSE2 SIMD accelerated JPEG library + libjpeg-turbo is a derivative of libjpeg for x86 and x86-64 processors which +uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression and decompression. libjpeg-turbo is generally 2-4x as fast as the unmodified version of libjpeg v6b, all else being equal. + mirrors://sourceforge/libjpeg-turbo/1.3.1/libjpeg-turbo-1.3.1.tar.gz + + fix_doc.patch + + multimedia/graphics/libjpeg-turbo/pspec.xml + + + libjpeg-turbo + + /usr/bin + /usr/lib + /usr/share/doc + /usr/share/man + + + jpeg + + + + libjpeg-turbo-devel + Development files for libjpeg-turbo + libjpeg-turbo için geliştirme dosyaları + + libjpeg-turbo + + + /usr/include/ + + + jpeg-devel + + + + libjpeg-turbo-32bit + 32-bit shared libraries for jpeg + emul32 + emul32 + + libjpeg-turbo + + + /usr/lib32 + + + jpeg-32bit + + + + + 2014-05-15 + 1.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2013-05-15 + 1.2.1 + Switching from jpeg to libjpeg-turbo + Marcin Bojara + marcin@pisilinux.org + + + 2013-05-12 + 1.2.1 + Source url write mirrors + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-04-21 + 1.2.1 + Fixed + PisiLinux Community + admins@pisilinux.org + + + 2012-07-31 + 1.2.1 + First Release + PisiLinux Community + admins@pisilinux.org + + + + + + webp + http://code.google.com/p/webp/downloads/list + + PisiLinux Community + admins@pisilinux.org + + Copyright (c) 2010, Google Inc. All rights reserved. + application + multimedia.graphics + webp image format and format conversion png,jpeg,tiff + webp resim formatı kütüphanesi ve png,jpeg,tiff resim formatlarına dönüştürme aracı + webp image format and format conversion png,jpeg,tiff + webp resim formatı kütüphanesi ve png,jpeg,tiff resim formatlarına dönüştürme aracı + http://downloads.webmproject.org/releases/webp/libwebp-0.4.3.tar.gz + + mesa-devel + tiff-devel + giflib-devel + mesa-glu-devel + freeglut-devel + libjpeg-turbo-devel + + multimedia/graphics/webp/pspec.xml + + + webp + webp resim formatı kütüphanesi ve png,jpeg,tiff resim formatlarına dönüştürme aracı + + tiff + mesa + giflib + libpng + freeglut + libjpeg-turbo + + + /usr/lib/libwebp* + /usr/bin + /usr/share/man + /usr/share/doc/webp + + + + webp-devel + webp için geliştirme dosyaları + + webp + + + /usr/include + /usr/lib/pkgconfig + + + + + 2015-04-06 + 0.4.3 + Version bump. + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2014-05-21 + 0.4.0 + rebuild + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-04-21 + 0.4.0 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-01-25 + 0.3.1 + rebuild for unused + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-07-19 + 0.3.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-12-11 + 0.2.1 + First release + can + qazsew@mynet.com + + + + + + tiff + http://www.remotesensing.org/libtiff/ + + PisiLinux Community + admins@pisilinux.org + + as-is + library + multimedia.graphics + Library for manipulation of TIFF (Tag Image File Format) images + TIFF (Tag Image File Format) türündeki resimleri işlemeye aracılık eden kütüphane + Ce logiciel fournit le support pour le format "Tag Image File Format" (TIFF), un format très employé pour stocker des informations d'image. + This software provides support for the Tag Image File Format (TIFF), a widely used format for storing image data. + Bu kütüphane TIFF (Tag Image File Format) resim biçimi desteği sağlar. Bu biçim resim bilgisi saklamak için pek çok yerde kullanılır. + Este software facilita soporte para el formato de imagen etiqueteado (TIFF), un formato para almacenamiento de imágenes de uso común. + Biblioteka do manipulacji plikami w formacie TIFF. + ftp://ftp.remotesensing.org/pub/libtiff/tiff-4.0.3.tar.gz + + libjpeg-turbo-devel + jbigkit-devel + + multimedia/graphics/tiff/pspec.xml + + + tiff + + libjpeg-turbo + jbigkit + + + /usr/bin + /usr/lib + + + + tiff-devel + Developement files for tiff + tiff için geliştirme dosyaları + + tiff + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + tiff-docs + Documentation for tiff + tiff için belgelendirme dosyaları + + tiff + + + /usr/share/doc + /usr/share/man + + + + tiff-32bit + 32-bit shared libraries for tiff + tiff için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libjpeg-turbo-32bit + + + tiff + libjpeg-turbo-32bit + xz-32bit + zlib-32bit + + + /usr/lib32 + + + + + 2014-05-19 + 4.0.3 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-08 + 4.0.3 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-07-26 + 4.0.3 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2012-08-29 + 4.0.2 + First release + PisiLinux Community + admins@pisilinux.org + + + + + + openal + http://kcat.strangesoft.net/openal.html + + PisiLinux Community + admins@pisilinux.org + + LGPLv2 + library + multimedia.sound + Open Audio Library is a vendor-neutral API for interactive spatialized audio + Açık ses kütüphanesi + OpenAL est une API audio 3D multi-plateforme utilisable pour les jeux et beaucoup d'autre types d'application audio. Les objets de base d'OpenAL sont le Listener (auditeur), a Source (source), et le Buffer (tampon). + OpenAL is a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications. The basic OpenAL objects are a Listener, a Source, and a Buffer. + OpenAL, oyun uygulamaları ve diğer birçok audio uygulama tipleriyle kullanılmaya tahsisli bir üç boyutlu audio API(Uygulama Programlama Arayüzü) çapraz platformudur. + http://kcat.strangesoft.net/openal-releases/openal-soft-1.15.1.tar.bz2 + + alsa-lib-devel + pulseaudio-libs-devel + + + pthread.patch + no-fpuextended.patch + + multimedia/sound/openal/pspec.xml + + + openal + + alsa-lib + + + /usr/bin + /usr/lib + /usr/share/doc/openal + /usr/share/openal + + + + openal-devel + Development files for openal + openal için geliştirme dosyaları + + openal + pulseaudio + + + /usr/include + /usr/lib/pkgconfig/openal.pc + /usr/lib32/pkgconfig/openal.pc + + + + openal-32bit + 32-bit shared libraries for openal + openal için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + openal + + + /usr/lib32 + + + + + 2014-05-25 + 1.15.1 + Rebuild. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-01 + 1.15.1 + Version Bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2012-08-31 + 1.14 + First release + Fatih Turgel + admins@pisilinux.org + + + + + + pulseaudio + http://pulseaudio.org/ + + PisiLinux Community + admins@pisilinux.org + + LGPLv2 + GPLv2 + BSD + app:console + library + multimedia.sound + A networked sound server with an advanced plugin system + Gelişmiş eklenti desteğine sahip ağ temelli bir ses sunucusu + pulseaudio is a sound server for POSIX and Win32 systems. It allows you to do advanced operations on your sound data as it passes between your application and your hardware. + pulseaudio, POSIX ve Win32 sistemler için tasarlanmış, donanım ve uygulamalar arasında gezinen ses verilerinin üzerinde gelişmiş işlemler yapılmasına olanak sağlayan bir ses sunucusudur. + http://freedesktop.org/software/pulseaudio/releases/pulseaudio-6.0.tar.xz + + orc-devel + sbc-devel + fftw3-devel + doxygen + xcb-proto + gtk2-devel + lirc-devel + gconf-devel + avahi-devel + speex-devel + libSM-devel + libtdb-devel + libICE-devel + libXtst-devel + xcb-util-devel + alsa-lib-devel + bluez-libs-devel + libsndfile-devel + libasyncns-devel + libatomic_ops-devel + libsamplerate-devel + libasyncns-devel + + multimedia/sound/pulseaudio/pspec.xml + + + pulseaudio-libs + Libraries for PulseAudio clients + PulseAudio istemci kitaplığı + + orc + sbc + lirc + fftw3 + libSM + speex + libICE + libXtst + alsa-lib + avahi-libs + libasyncns + libsndfile + + + /usr/bin/pa* + /etc/pulse/client.conf + /usr/lib/libpulse.so + /usr/lib/libpulse.so* + /usr/lib/libpulse-simple.so + /usr/lib/libpulse-simple.so* + /usr/lib/pulseaudio/libpulsecommon-* + /usr/lib/libpulse-mainloop-glib.so + /usr/lib/libpulse-mainloop-glib.so* + /usr/lib/pulseaudio/libpulsedsp.* + /usr/lib/pulse/modules + /usr/lib/udev/rules.d + + + + pulseaudio-libs-devel + Development files for pulseaudio-libs + pulseaudio-libs için geliştirme dosyaları + + pulseaudio-libs + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/vala/vapi + /usr/lib/cmake/PulseAudio + + + + pulseaudio-docs + doxygen generated API documentation for PulseAudio + Doxygen tarafından üretilmiş PulseAudio API belgeleri + + /usr/share/doc/pulseaudio/html + + + + pulseaudio + + orc + speex + libtdb + libsndfile + pulseaudio-libs + + + /usr/bin/pulseaudio + /usr/bin/qpaeq + /usr/bin/start-pulseaudio-kde + /usr/bin/esdcompat + /usr/bin/start-pulseaudio-x11 + /usr/lib/pm-utils/sleep.d + /usr/libexec + /usr/lib/pulse-5.0/modules + /usr/lib/libpulsecore-*.so + /etc + /usr/lib/tmpfiles.d/pulseaudio.conf + /lib/udev/rules.d + /usr/share/pulseaudio/alsa-mixer + /usr/share + /usr/share/icons + /var/lib/pulse + /run/pulse + + + System.Package + + + pulseaudio.conf + pisilinux/pulseaudio.sysconfig + mandriva/pulseaudio.svg + mandriva/pulseaudio.svg + mandriva/pulseaudio16.png + mandriva/pulseaudio22.png + mandriva/pulseaudio32.png + mandriva/pulseaudio48.png + mandriva/pulseaudio64.png + mandriva/pulseaudio128.png + mandriva/pulseaudio16.png + mandriva/pulseaudio22.png + mandriva/pulseaudio32.png + mandriva/pulseaudio48.png + mandriva/pulseaudio64.png + mandriva/pulseaudio128.png + + + + pulseaudio-gconf + GConf configuration backend for the PulseAudio sound server + pulseaudio ses sunucusu için Gconf yapılandırma arayüzü + + pulseaudio-libs + gconf + + + /usr/lib/pulse-2.1/modules/module-gconf.so + /usr/libexec/pulse/gconf-helper + + + + pulseaudio-libs-32bit + 32-bit shared libraries for pulseaudio-libs + pulseaudio-libs için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + json-c-32bit + dbus-32bit + glib2-32bit + speex-32bit + libcap-32bit + libsndfile-32bit + libtool-ltdl-32bit + + + pulseaudio-libs + dbus-32bit + glib2-32bit + libsndfile-32bit + json-c-32bit + + + /usr/lib32 + + + + + 2015-02-20 + 6.0 + Version bump. Dep fixed + Hakan Yıldız + hknyldz93@gmail.com + + + 2014-07-25 + 5.0 + Rebuild for smplayer + Vedat Demir + vedat@pisilinux.org + + + 2014-05-12 + 5.0 + version bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-02-14 + 4.0 + add git version + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-01-11 + 4.0 + Add tmpfiles.con; add updates from git. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-06 + 4.0 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-04-16 + 3.99 + Version bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-12-18 + 3.0 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + gstreamer-next + http://gstreamer.freedesktop.org/ + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + library + app:console + multimedia.video + GStreamer streaming media framework runtime + GStreamer is a streaming media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just about anything else media-related. + http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.4.5.tar.xz + + check + valgrind + gobject-introspection-devel + libxml2-devel + ghostscript-devel + clutter + + multimedia/video/gstreamer-next/pspec.xml + + + gstreamer-next + + /usr/bin + /usr/lib + /usr/libexec + /usr/share/gir-1.0 + /usr/share/doc + /usr/share/gtk-doc + /usr/share/locale + /usr/share/man + + + + gstreamer-next-32bit + 32-bit shared libraries for gstreamer + emul32 + emul32 + + glib2-32bit + + + glib2-32bit + gstreamer-next + + + /usr/lib32 + + + + gstreamer-next-devel + Development files for gstreamer + + gstreamer-next + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/aclocal + + + + + 2015-04-18 + 1.4.5 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-08-22 + 1.4.0 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-05-26 + 1.2.4 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-13 + 1.2.3 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-11-20 + 1.2.1 + Version bump + Richard de Bruin + richdb@pisilinux.org + + + 2013-10-11 + 1.2.0 + bump + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-30 + 1.1.4 + First release + PisiLinux Community + admins@pisilinux.org + + + + + + gstreamer + http://gstreamer.freedesktop.org/ + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + library + app:console + multimedia.video + GStreamer streaming media framework runtime + GStreamer ses yayın altyapısı + GStreamer est la librairies principale. Elle contient les entêtes, les fichiers et les éléments centraux. + GStreamer is a streaming media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just about anything else media-related. + gstreamer bir ses yayın altyapısı kütüphanesidir. Bu kütüphaneyi kullanan uygulamalar, gerçek zamanlı ses işleme, görüntü oynatma gibi çokluortam ile ilgili birçok işlem gerçekleştirebilirler. + http://ftp.gnome.org/pub/gnome/sources/gstreamer/0.10/gstreamer-0.10.36.tar.xz + + wrapper-plugins.patch + bison3.patch + + multimedia/video/gstreamer/pspec.xml + + + gstreamer + + /usr/bin + /usr/lib + /usr/libexec + /usr/share/gir-1.0 + /usr/share/doc + /usr/share/locale + /usr/share/man + + + + gstreamer-devel + Development files for gstreamer + gstreamer için geliştirme dosyaları + + gstreamer + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/aclocal + + + + gstreamer-32bit + 32-bit shared libraries for gstreamer + gstreamer için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + glib2-32bit + libxml2-32bit + + + gstreamer + glib2-32bit + libxml2-32bit + + + /usr/lib32 + + + + + 2014-05-19 + 0.10.36 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-04-23 + 0.10.36 + Rebuild for webp + Kamil Atlı + suvarice@gmail.com + + + 2014-02-27 + 0.10.36 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2014-01-26 + 0.10.36 + Release Bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-08-20 + 0.10.36 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + gst-plugins-bad + http://gstreamer.freedesktop.org/modules/gst-plugins-bad.html + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + multimedia.video + A set of GStreamer plug-ins that aren't up to par compared to the rest + Diğer eklentilerle karşılaştırıldığında çok iyi durumda olmayan gstreamer eklentileri + GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared to the rest. They might be close to being good quality, but they're missing something - be it a good code review, some documentation, a set of tests, a real live maintainer, or some actual wide use. + gst-plugins-bad, iyiye yakın kalitede olan ancak gerçek bir geliştirici, belgelendirme, test seti gibi eksikleri bulunan eklentilerdir. + http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.23.tar.bz2 + + gst-plugins-base-devel + gstreamer-devel + DirectFB-devel + libcdaudio-devel + libdc1394-devel + libdca-devel + faac-devel + faad2-devel + jasper-devel + gsm-devel + alsa-lib-devel + jack-audio-connection-kit-devel + ladspa-sdk-devel + libmms-devel + liblrdf-devel + libmimic-devel + libmodplug-devel + libmpcdec-devel + mjpegtools-devel + musicbrainz-devel + neon-devel + libofa-devel + libsdl-devel + liboil-devel + soundtouch-devel + libdvdnav-devel + libtheora-devel + libsndfile-devel + xvid-devel + libdvdread-devel + exempi-devel + slv2-devel + libvdpau-devel + libkate-devel + cairo-devel + librsvg-devel + libvpx-devel + flite-devel + rtmpdump-devel + opencv-devel + schroedinger-devel + libopus-devel + orc-devel + zvbi-devel + openal-devel + gdk-pixbuf-devel + libvo-aacenc-devel + libvo-amrwbenc-devel + nas-devel + libSM-devel + libICE-devel + celt-devel + + + directfb.patch + + multimedia/video/gst-plugins-bad/pspec.xml + + + gst-plugins-bad + + gst-plugins-base + gstreamer + DirectFB + libcdaudio + nas + celt + libSM + libICE + libdc1394 + libdca + faac + faad2 + jasper + gsm + alsa-lib + jack-audio-connection-kit + ladspa-sdk + libmms + liblrdf + libmimic + libmodplug + libmpcdec + mjpegtools + musicbrainz + neon + libofa + libsdl + liboil + soundtouch + libdvdnav + libtheora + libsndfile + libexif + xvid + libdvdread + exempi + slv2 + libvdpau + libkate + cairo + librsvg + libvpx + flite + rtmpdump + opencv + schroedinger + libopus + orc + zvbi + openal + gdk-pixbuf + libvo-aacenc + libvo-amrwbenc + + + /usr/bin + /usr/lib + /usr/share/locale + /usr/share/gstreamer-0.10 + /usr/share/doc + /usr/share/gtk-doc + /usr/share/glib-2.0/schemas + + + + gst-plugins-bad-devel + Development files for gst-plugins-bad + gst-plugins-bad için geliştirme dosyaları + + gst-plugins-bad + gstreamer-devel + + + /usr/lib/pkgconfig + /usr/include + + + + + 2014-05-26 + 0.10.23 + Rebuild. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-13 + 0.10.23 + Rebuild for mjpegtools + Kamil Atlı + suvarice@gmail.com + + + 2013-10-19 + 0.10.23 + Fix build dependency's. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2013-10-14 + 0.10.23 + clean build. + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-10-14 + 0.10.23 + rebuild for DirectFB. + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-07-28 + 0.10.23 + Dep Fixed. + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-05-25 + 0.10.23 + Dep Fixed. + Osman Erkan + osman.erkan@pisilinux.org + + + 2012-11-09 + 0.10.23 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + + + + gst-plugins-base-next + http://gstreamer.net/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + multimedia.video + Basepack of plugins for gstreamer + GStreamer base plugins are a well-groomed and well-maintained collection of GStreamer plugins and elements, spanning the range of possible types of elements one would want to write for GStreamer. It also contains helper libraries and base classes useful for writing elements. A wide range of video and audio decoders, encoders, and filters are included. + http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.4.5.tar.xz + + gstreamer-next-devel + cdparanoia + pango-devel + cairo-devel + libXv-devel + liboil-devel + libogg-devel + libXext-devel + alsa-lib-devel + libvorbis-devel + libtheora-devel + libvisual-devel + gobject-introspection-devel + orc-devel + + multimedia/video/gst-plugins-base-next/pspec.xml + + + gst-plugins-base-next + + gstreamer-next + cdparanoia + pango + cairo + libXv + liboil + libogg + libXext + alsa-lib + libvorbis + libvisual + libtheora + orc + libSM + libICE + + + /usr/bin + /usr/lib + /usr/share/doc + /usr/share/gtk-doc + /usr/share/gir-1.0 + /usr/share/man + /usr/share/locale + /usr/share/gst-plugins-base/1.0 + + + + gst-plugins-base-next-devel + Development files for gst-plugins-base + + gst-plugins-base-next + gstreamer-next-devel + + + /usr/include + /usr/lib/pkgconfig + /usr/share/man/man3 + + + + + 2015-04-18 + 1.4.5 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-08-22 + 1.4.0 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-05-28 + 1.2.4 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-14 + 1.2.3 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-11-20 + 1.2.1 + Version bump + Richard de Bruin + richdb@pisilinux.org + + + 2013-10-14 + 1.2 + bump + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-30 + 1.1.4 + First release + PisiLinux Community + admins@pisilinux.org + + + + + + gst-plugins-base + http://gstreamer.net/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + multimedia.video + Basepack of plugins for gstreamer + Gstreamer için temel eklentiler paketi + Les plug-ins (greffons) de base GStreamer est une collection bien peaufinée et bien maintenues de plug-ins et d'éléments GStreamer, couvrant l'éventail des types d'éléments que quelqu'un pourrait vouloir écrire pour GStreamer. Il contient également des librairies d'aide ainsi que les classes de bases utiles pour l'écriture d'éléments. Un grand nombre de décodeurs, d'encodeurs et de filtres audio et vidéos sont également inclus. + GStreamer base plugins are a well-groomed and well-maintained collection of GStreamer plugins and elements, spanning the range of possible types of elements one would want to write for GStreamer. It also contains helper libraries and base classes useful for writing elements. A wide range of video and audio decoders, encoders, and filters are included. + Bu paket, Gstreamer'ın rahatlıkla genişleyebilmesini sağlayan ve bakımları sürekli yapılan temel eklentileri içerir. Program parçacığı yazmak için yardımcı kütüphaneler ve temel sınıflar da bulunur. + http://ftp.gnome.org/pub/gnome/sources/gst-plugins-base/0.10/gst-plugins-base-0.10.36.tar.xz + + gstreamer-devel + libcdio-devel + cdparanoia-devel + pango-devel + cairo-devel + libXv-devel + liboil-devel + libogg-devel + libXext-devel + alsa-lib-devel + libvorbis-devel + libtheora-devel + libvisual-devel + gobject-introspection-devel + orc-devel + gnome-vfs-devel + + multimedia/video/gst-plugins-base/pspec.xml + + + gst-plugins-base + + gstreamer + libcdio + cdparanoia + pango + cairo + libXv + libogg + libXext + alsa-lib + libvorbis + libvisual + libtheora + orc + gnome-vfs + + + /usr/bin + /usr/lib/girepository-1.0 + /usr/lib/gstreamer-0.10 + /usr/lib/libgst* + /usr/share/doc + /usr/share/gir-1.0 + /usr/share/gst-plugins-base + /usr/share/man + /usr/share/locale + + + + gst-plugins-base-32bit + 32-bit shared libraries for gst-plugins-base + emul32 + emul32 + + orc-32bit + zlib-32bit + glib2-32bit + libXv-32bit + cairo-32bit + pango-32bit + libSM-32bit + libogg-32bit + libICE-32bit + libX11-32bit + libxml2-32bit + libXext-32bit + alsa-lib-32bit + libtheora-32bit + gstreamer-32bit + libvorbis-32bit + libvisual-32bit + + + gst-plugins-base + orc-32bit + zlib-32bit + glib2-32bit + libXv-32bit + cairo-32bit + pango-32bit + libogg-32bit + libX11-32bit + libxml2-32bit + libXext-32bit + alsa-lib-32bit + libtheora-32bit + gstreamer-32bit + libvorbis-32bit + libvisual-32bit + + + /usr/lib32/gstreamer-0.10 + /usr/lib32/libgst* + + + + gst-plugins-base-devel + Development files for gst-plugins-base + gst-plugins-base için geliştirme dosyaları + + gst-plugins-base + gstreamer-devel + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig/gstreamer*.pc + /usr/share/man/man3 + + + + + 2014-05-20 + 0.10.36 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-27 + 0.10.36 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2014-01-01 + 0.10.36 + Fixed. + PisiLinux Community + admins@pisilinux.org + + + 2013-07-27 + 0.10.36 + Move pc files to devel pack, rebuild. + PisiLinux Community + admins@pisilinux.org + + + 2013-07-07 + 0.10.36 + Rebuild for libcdio-0.90 + Marcin Bojara + marcin@pisilinux.org + + + 2013-05-25 + 0.10.36 + configure fix. + PisiLinux Community + admins@pisilinux.org + + + 2013-02-14 + 0.10.36 + Add emul32 + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-09 + 0.10.36 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + + + + DirectFB + http://www.directfb.org/ + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + library + multimedia.misc + Thin library on top of the Linux framebuffer devices + Linux framebuffer aygıtlarının üstünde çalışan hafif bir kütüphane + DirectFB is a thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent windows and multiple display layers. + DirectFB donanımsal grafik hızlandırması, giriş aygıtları işleme ve soyutlama sağlayan yarısaydam pencereler ve çoklu görüntü katmanlarını destekleyen pencere sistemi ile bütünleşik bir kütüphanedir. + http://www.directfb.org/downloads/Core/DirectFB-1.7/DirectFB-1.7.1.tar.gz + + giflib-devel + libX11-devel + libXext-devel + mesa-devel + mesa-glu-devel + libdrm-devel + libjpeg-turbo-devel + libmng-devel + libvdpau-devel + + multimedia/misc/DirectFB/pspec.xml + + + DirectFB-docs + + DirectFB + + + /usr/share/doc + + + + DirectFB + + giflib + libX11 + libXext + mesa + mesa-glu + libdrm + libjpeg-turbo + libmng + libvdpau + webp + tiff + jasper + libkms + + + /usr/bin + /usr/lib + /usr/share/man + /usr/share + + + + DirectFB-devel + Development files for DirectFB + DirectFB için geliştirme dosyaları + + DirectFB + + + /usr/include + /usr/lib/pkgconfig + + + + + 2014-05-21 + 1.7.1 + Rebuild + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-04-23 + 1.7.1 + Rebuild for webp + Kamil Atlı + suvarice@gmail.com + + + 2014-01-28 + 1.7.1 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-10-14 + 1.7.1 + version bump + Erdinç >Gültekin + erdincgultekin@pisilinux.org + + + 2012-08-29 + 1.5.3 + First release + PisiLinux Community + admins@pisilinux.org + + + + + + perf + http://www.kernel.org + + Ertuğrul Erata + ertugrulerata@gmail.com + + GPLv2 + app:gui + kernel.tools + Performance analyser tool that makes full use of the Linux performance counter subsystem + perf is a new tool which is used to optimize, validate and measure applications, workloads or the full system through the Linux performance counter subsystem. + https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.0.tar.gz + + gtk2-devel + unifdef + elfutils + diffutils + newt-devel + xmlto + asciidoc + pciutils-devel + numactl-devel + glibc-32bit + python-devel + slang-devel + glib2-devel + zlib-devel + perl + + + patches/linux/patch-4.0.5.xz + + kernel/tools/perf/pspec.xml + + + perf + + newt + elfutils + gtk2 + numactl + libunwind + glibc-32bit + python + slang + glib2 + zlib + perl + + + /etc + /usr/bin + /usr/lib + /usr/libexec + /usr/include + /usr/share/man/ + + + + + 2015-06-16 + 4.0.5 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-22 + 3.19.8 + Version bump to 3.19.8 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-05 + 3.19.6 + Version bump to 3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 3.19.5 + Version bump to 3.19.5 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 3.19.4 + Version bump to 3.19.4 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-02 + 3.19.3 + Version Bump to 3.19.3 + Hakan Yıldız + hknyldz93@gmail.com + + + 2015-03-08 + 3.19.1 + Version bump to 3.19.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-01 + 3.19.0 + Version bump + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-28 + 3.18.3 + Version bump + Ertuğrul Erata + ertugrulerata@gmail.com + + + security + 2015-01-08 + 3.18.1 + Version bump to 3.18.1 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + systemRestart + + + + security + 2014-11-28 + 3.17.4 + Version bump to 3.17.4 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.17.4 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2014-10-18 + 3.17.1 + Version bump to 3.17.1 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.17.1 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2014-09-19 + 3.16.3 + Version bump to 3.16.3 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.16.3 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2014-09-03 + 3.16.1 + Version bump to 3.16.1 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.16.1 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2014-07-24 + 3.15.6 + Version bump to 3.15.6 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.15.6 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2014-06-15 + 3.15.0 + Version bump to 3.15 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.15 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2014-05-27 + 3.14.4 + Version bump to 3.14.4 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.14.4 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2014-05-02 + 3.14.2 + Version bump to 3.14.2 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.14.2 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2014-04-15 + 3.13.10 + Version bump to 3.13.10 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.13.10 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2014-03-22 + 3.13.6 + Version bump to 3.13.6 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.13.6 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2014-03-01 + 3.12.13 + Version bump to 3.12.13 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.12.13 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2014-01-16 + 3.12.8 + Version bump to 3.12.8 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.12.8 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2013-12-17 + 3.12.5 + Add Maegia patch series and some cpu usage improvements. + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2013-12-12 + 3.12.5 + Version bump to 3.12.5 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2013-11-23 + 3.10.20 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.20 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2013-11-05 + 3.10.18 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.18 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2013-10-07 + 3.10.15 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.15 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + systemRestart + + + + security + 2013-09-27 + 3.10.13 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + systemRestart + + + + security + 2013-09-15 + 3.10.12 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.12 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + systemRestart + + + + security + 2013-08-29 + 3.10.10 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.10 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + systemRestart + + + + security + 2013-08-20 + 3.10.9 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.9 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + systemRestart + + + + security + 2013-08-12 + 3.10.6 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.6 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + systemRestart + + + + security + 2013-08-11 + 3.10.5 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.5 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + systemRestart + + + + security + 2013-08-01 + 3.10.4 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.4 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + systemRestart + + + + security + 2013-07-17 + 3.10.2 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.2 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2013-07-17 + 3.10.1 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.1 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + systemRestart + + + + security + 2013-07-04 + 3.10.0 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + systemRestart + + + + security + 2013-06-21 + 3.8.13 + Fix TSC calibration failure + Marcin Bojara + marcin@pisilinux.org + + systemRestart + + + + security + 2013-06-15 + 3.8.13 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.13 + Serdar Soytetir + kaptan@pisilinux.org + + systemRestart + + + + security + 2013-04-18 + 3.8.8 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.8 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + systemRestart + + + + security + 2013-03-31 + 3.8.5 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.5 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + systemRestart + + + + security + 2013-03-25 + 3.8.4 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.4 + Yoyo Fernández + admins@pisilinux.org + + systemRestart + + + + security + 2013-03-14 + 3.8.3 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.3 + Richard de Bruin + admins@pisilinux.org + + systemRestart + + + + security + 2013-03-06 + 3.8.2 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.2 + Erdinç Gültekin + admins@pisilinux.org + + systemRestart + + + + security + 2013-03-03 + 3.8.1 + update to current line + Erdinç Gültekin + admins@pisilinux.org + + systemRestart + + + + security + 2013-02-22 + 3.8.0 + update to final line with patch + Erdinç Gültekin + admins@pisilinux.org + + systemRestart + + + + security + 2013-02-17 + 3.8.0 + obsoletemans wifi fixing + Erdinç Gültekin + admins@pisilinux.org + + systemRestart + + + + security + 2013-02-12 + 3.8.0 + bump to -rc7 + Erdinç Gültekin + admins@pisilinux.org + + systemRestart + + + + security + 2013-02-06 + 3.7.6 + http://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.7.6 + Erdinç Gültekin + admins@pisilinux.org + + systemRestart + + + + security + 2013-01-28 + 3.7.5 + http://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.7.5 + Erdinç Gültekin + admins@pisilinux.org + + systemRestart + + + + security + 2013-01-18 + 3.7.4 + http://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.7.4 + Erdinç Gültekin + admins@pisilinux.org + + systemRestart + + + + security + 2013-01-15 + 3.7.2 + First release + Erdinç Gültekin + admins@pisilinux.org + + systemRestart + + + + + + + module-nvidia304 + http://www.nvidia.com + + PisiLinux Community + admins@pisilinux.org + + NVIDIA + driver + kernel.drivers + NVIDIA drivers for GeForce 5-7 series GPUs + NVIDIA GeForce 6-7 serisi ekran kartları için grafik sürücüleri + Controladores nVIDIA de kernel y glx para tarjetas NV3 o mejor (Geforce FX o mejor) + NVIDIA graphics drivers provide optimized 2D/3D performance. + NVIDIA grafik sürücüleri daha iyi 2B/3B başarımı sağlar. + Controladores de kernel nVIDIA y glx para rendimiento optimizado 2d/3d en Linux (Para NV3X o mejor). + http://download.nvidia.com/XFree86/Linux-x86_64/304.125/NVIDIA-Linux-x86_64-304.125.run + + NVIDIA-Linux-x86_64-304.125-kernel-3.19.patch + + + kernel-module-headers + + kernel/drivers/module-nvidia304/pspec.xml + + + module-nvidia304 + Kernel module for NVIDIA driver 304.xx releases + NVIDIA sürücüsü 304.xx sürümleri için çekirdek modülü + + noDelta + + + kernel + + + /lib/modules + + + + xorg-video-nvidia304 + x11.driver + + noDelta + + + module-nvidia304 + libXext + xorg-server + + + /etc/OpenCL + /usr/bin + /usr/lib + /usr/share + /usr/share/doc + + + xorg-video-nvidia-current + + + System.Package + + + + + 2015-05-22 + 304.125 + Rebuild for kernel 3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-05 + 304.125 + Rebuild for kernel 3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-24 + 304.125 + Rebuild for kernel 3.19.5 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 304.125 + Rebuild for kernel 3.19.4 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-02 + 304.125 + Rebuild for kernel 3.19.3 + Hakan Yıldız + hknyldz93@gmail.com + + + 2015-03-08 + 304.125 + Rebuild for kernel 3.19.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-01 + 304.125 + Rebuild for kernel 3.19.0 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-31 + 304.125 + Rebuild for kernel 3.18.3 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-13 + 304.125 + Rebuild for Kernel 3.18.1 + Stefan Gronewold (groni) + groni@pisilinux.org + + + 2014-12-08 + 304.125 + Version bump + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-10-19 + 304.123 + Rebuild for kernel 3.17.1 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-09-03 + 304.123 + Rebuild for kernel 3.16.1 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-07-24 + 304.123 + Version bump for kernel 3.15.6 + Vedat Demir + vedat@pisilinux.org + + + 2014-06-15 + 304.121 + Rebuild for kernel 3.15.0 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-29 + 304.121 + Rebuild for kernel 3.14.4. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-02 + 304.121 + Version bump for kernel 3.14.2. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-04-15 + 304.119 + Rebuild for kernel 3.13.10. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-03-29 + 304.119 + Rebuild for 3.13.6 + Osman Erkan + osman.erkan@pisilinux.org + + + 2014-03-10 + 304.119 + Change module name. Remove module-nvidia304-userspace + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-09 + 304.119 + Rebuild for 3.12.13 + Osman Erkan + osman.erkan@pisilinux.org + + + 2014-03-01 + 304.119 + Rebuild for 3.12.13 + Osman Erkan + osman.erkan@pisilinux.org + + + 2014-01-17 + 304.117 + Rebuild for 3.12.8 + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-12-17 + 304.116 + Rebuild for kernel 3.12.5. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-12-14 + 304.116 + Version bump for 3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-23 + 304.108 + Rebuild for 3.10.20 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-05 + 304.108 + Rebuild for 3.10.18 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-10-09 + 304.108 + 3.10.15 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-28 + 304.108 + 3.10.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-18 + 304.108 + 3.10.12 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-11 + 304.108 + First release + Marcin Bojara + marcin@pisilinux.org + + + + + + module-fglrx + http://ati.amd.com/support/driver.html + + PisiLinux Community + admins@pisilinux.org + + ATI + kernel.drivers + Pilote d'affichage ATI + ATI display drivers. + ATI ekran kartı sürücüleri + Controlador display ATI + Fglrx is a driver written by AMD(ATI) for ATI graphics cards.Radeons HD 2 3 4 X series are not supported + AMD(ATI) tarafından ATI ekran kartları için yazılmış sürücüler.Radeon HD 2 3 4 X serisi ekran kartlarını desteklememektedir. + http://archive.ubuntu.com/ubuntu/pool/restricted/f/fglrx-installer/fglrx-installer_15.200.orig.tar.gz + + desktop-files.patch + makefile_compat.patch + fglrx_gpl_symbol.patch + kolasa_4.0-cr4-strn.patch + lano1106_fglrx_intel_iommu.patch + lano1106_kcl_agp_13_4.patch + LICENSE.TXT + + + kernel-module-headers + + kernel/drivers/module-fglrx/pspec.xml + + + module-fglrx + Kernel module for ATI display drivers + ATI ekran sürücüleri için çekirdek modülü + driver + + noDelta + + + kernel + + + /lib/modules + /etc/conf.d + /etc/modprobe.d + + + module-fglrx-legacy + + + blacklist-fglrx.conf + modprobe.conf + atieventsd + + + + xorg-video-fglrx + ATI ekran kartı sürücüleri için paylaşımlı kitaplıklar ve araçlar + driver + x11.driver + + noDelta + + + qt + mesa + libSM + libICE + uClibc + libXext + libXrandr + libXfixes + libXcursor + libXrender + fontconfig + libXxf86vm + libXinerama + xorg-server + + module-fglrx + + + + /usr/share + /etc + /usr/bin + /usr/sbin + /usr/X11R6 + /usr/lib + /usr/share/doc + /usr/share/man + + + xorg-video-fglrx-legacy + + + System.Package + System.Service + + + + xorg-video-fglrx-32bit + 32-bit shared libraries for xorg-video-fglrx + xorg-video-fglrx için 32-bit paylaşımlı kitaplıklar + emul32 + + noDelta + + emul32 + + xvba-video-32bit + fontconfig-32bit + freetype-32bit + libXcursor-32bit + libXext-32bit + libXfixes-32bit + libXinerama-32bit + libXrandr-32bit + libXrender-32bit + libXxf86vm-32bit + libX11-32bit + glibc-32bit + + + xorg-video-fglrx + libXext-32bit + libX11-32bit + mesa-32bit + glibc-32bit + libgcc + + + /usr/lib32 + + + xorg-video-fglrx-legacy-32bit + + + System.Package + + + + + 2015-05-26 + 15.20 + Rebuild for kernel-3.19.8 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-05 + 15.20 + Rebuild for kernel-3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-24 + 15.20 + Rebuild for kernel-3.19.5 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 15.20 + Rebuild for kernel-3.19.4 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-02 + 15.20 + Version bump. + Hakan Yıldız + hknyldz93@gmail.com + + + 2015-03-01 + 14.12 + Rebuild for kernel-3.19.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-01 + 14.12 + Rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-02-01 + 14.12 + Version bump + Ergün Salman + Poyraz76@pisilinux.org + + + 2015-01-20 + 14.9 + Rebuild for kernel 3.18.1 + Ergün Salman + Poyraz76@pisilinux.org + + + 2014-12-08 + 14.9 + Rebuild for kernel 3.17.4 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-10-19 + 14.9 + Update unoffical release + * working with xorg-server 1.16 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-09-03 + 14.6 + Rebuild for kernel 3.16.1 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-07-24 + 14.6 + Rebuil for kernel 3.15.6 + Vedat Demir + vedat@pisilinux.org + + + 2014-06-15 + 14.6 + Version bump + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-02 + 14.4 + Version bump + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-02 + 14.3b + Rebuild for kernel 3.14.2. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-04-15 + 14.3b + Rebuild for kernel 3.13.10. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-04-11 + 14.3b + Version bump + Burak Fazıl Ertürk + burakerturk@pisilinux.org + + + 2014-03-23 + 13.4 + Rebuild for 3.13.6 + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-03-09 + 13.4 + Rebuild for 3.12.13 + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-03-02 + 13.4 + Rebuild for 3.12.13 + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-01-17 + 13.4 + Rebuild for 3.12.8 + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-12-17 + 13.4 + Rebuild for 3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-12-14 + 13.4 + Rebuild for 3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-23 + 13.4 + Rebuild for 3.10.20 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-05 + 13.4 + Rebuild for 3.10.18 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-30 + 13.4 + 3.10.15 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-30 + 13.4 + 3.10.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-30 + 13.4 + 3.10.12 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-30 + 13.4 + 3.10.10 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 13.4 + 3.10.9 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 13.4 + rebuild for kernele 3.10.6. + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-07-06 + 13.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-15 + 13.3_beta3 + build for Kernel 3.8.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-06-15 + 13.3_beta3 + rebuild for Kernel 3.8.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-05-26 + 13.3_beta3 + Kernel 3.9.3 + Osman Erkan + osman.erkan@pisilinux.org + + + 2013-05-12 + 13.3_beta3 + V.bump + Osman Erkan + osman.erkan@pisilinux.org + + + 2012-10-03 + 12.9_beta1 + First release + Erdem Artan + admins@pisilinux.org + + + + + + module-nvidia-current + http://www.nvidia.com + + Marcin Bojara + marcin@pisilinux.org + + NVIDIA + kernel.drivers + NVIDIA drivers for GeForce 6xxx and newer GPUs + GeForce 6xxx ve daha yeni NVIDIA ekran kartları için sürücüler + Controladores nVIDIA de kernel y glx para tarjetas NV3 o mejor (Geforce FX o mejor) + NVIDIA graphics drivers provide optimized 2D/3D performance. + NVIDIA grafik sürücüleri daha iyi 2B/3B başarımı sağlar. + Controladores de kernel nVIDIA y glx para rendimiento optimizado 2d/3d en Linux (Para NV3X o mejor). + ftp://download.nvidia.com/XFree86/Linux-x86/349.16/NVIDIA-Linux-x86-349.16.run + ftp://download.nvidia.com/XFree86/Linux-x86_64/349.16/NVIDIA-Linux-x86_64-349.16.run + + kernel-module-headers + libX11-devel + + kernel/drivers/module-nvidia-current/pspec.xml + + + module-nvidia-current + Kernel module for current NVIDIA graphics driver releases + Güncel NVIDIA grafik sürücüleri için çekirdek modülü + driver + + noDelta + + + kernel + + + /lib/modules + + + + xorg-video-nvidia-current + Güncel NVIDIA userspace sürücüleri ve ikili dosyaları + driver + x11.driver + + noDelta + + + libXext + libX11 + mesa + xorg-server + module-nvidia-current + + + /etc/OpenCL + /usr/bin + /usr/lib + /usr/share + /usr/share/doc + /usr/share/man + + + System.Package + + + + xorg-video-nvidia-current-32bit + 32-bit shared libraries for xorg-video-nvidia-current + xorg-video-nvidia-current için 32-bit paylaşımlı kitaplıklar + emul32 + + noDelta + + emul32 + + libvdpau-32bit + + + zlib-32bit + mesa-32bit + libX11-32bit + libXext-32bit + xorg-video-nvidia-current + + + /usr/lib32 + /usr/share/nvidia-current/32bit-ld.so.conf + + + System.Package + + + + + 2015-06-16 + 349.16 + Rebuild for kernel 3.19.8 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-22 + 349.16 + Rebuild for kernel 3.19.8 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-05 + 349.16 + Rebuild for kernel 3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-24 + 349.16 + Rebuild for kernel 3.19.5 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 349.16 + Rebuild for kernel 3.19.4 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-02 + 349.12 + Rebuild for kernel 3.19.3 + Hakan Yıldız + hknyldz93@gmail.com + + + 2015-03-31 + 349.12 + Version bump + Stefan Gronewold + groni@pisilinux.org + + + 2015-03-08 + 346.47 + Version bump, Rebuild for kernel 3.19.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-01 + 346.35 + Rebuild for kernel 3.19.0 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-31 + 346.35 + Rebuild for kernel 3.18.3 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-22 + 346.35 + Version bump. + Stefan Gronewold (groni) + groni@pisilinux.org + + + 2015-01-09 + 346.22 + Rebuild for kernel 3.18.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-11-29 + 343.22 + Rebuild for kernel 3.17.4 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-10-19 + 343.22 + Version bump, conform kernel 3.17.1 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-09-21 + 343.13 + Version bump and added symlink for bumblebee + Mathias Freire + mathiasfreire45@gmail.com + + + 2014-09-03 + 340.32 + Version bump, conform kernel 3.16.1 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-07-24 + 340.24 + Version bump for kernel 3.15.6 + Vedat Demir + vedat@pisilinux.org + + + 2014-06-15 + 340.17 + Version bump for kernel 3.15.0 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-29 + 337.19 + Version bump for kernel 3.14.4. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-02 + 337.12 + Version bump for kernel 3.14.2. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-04-15 + 334.21 + Rebuild for kernel 3.13.10. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-03-29 + 334.21 + Rebuild for 3.13.6 + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-10 + 334.21 + Change module name. Remove module-nvidia-current-userspace + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-07 + 334.21 + Version bump + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-01 + 334.16 + version bump + PisiLinux Community + admins@pisilinux.org + + + 2014-01-15 + 331.38 + version bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-12-17 + 331.20 + Rebuild for 3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-12-12 + 331.20 + Rebuild for 3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-23 + 331.20 + Rebuild for 3.10.20 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-21 + 331.20 + Version bump + Richard de Bruin + richdb@pisilinux.org + + + 2013-11-05 + 325.15 + Rebuild for 3.10.18 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-28 + 325.15 + 3.10.15 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-28 + 325.15 + 3.10.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-18 + 325.15 + 3.10.12 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 325.15 + 3.10.10 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 325.15 + 3.10.9 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 325.15 + Version bump + Marcin Bojara + marcin@pisilinux.org + + + 2013-08-12 + 319.32 + rebuld for kernel 3.10.6 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-11 + 319.32 + rebuld for kernel 3.10.5 + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-05 + 319.32 + Version bump + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-05 + 319.17 + Kernel 3.8.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-05-26 + 319.17 + Kernel 3.9.3 + PisiLinux Community + admins@pisilinux.org + + + 2013-05-12 + 319.17 + Version bump + Marcin Bojara + marcin@pisilinux.org + + + 2013-03-06 + 313.26 + Version bump + Marcin Bojara + marcin@pisilinux.org + + + 2013-02-19 + 310.32 + First release + Marcin Bojara + marcin@pisilinux.org + + + + + + module-nvidia340 + http://www.nvidia.com + + Pisi Linux Community + admins@pisilinux.org + + NVIDIA + kernel.drivers + NVIDIA drivers for GeForce 6xxx and newer GPUs + NVIDIA graphics drivers provide optimized 2D/3D performance. + ftp://download.nvidia.com/XFree86/Linux-x86/340.76/NVIDIA-Linux-x86-340.76.run + ftp://download.nvidia.com/XFree86/Linux-x86_64/340.76/NVIDIA-Linux-x86_64-340.76.run + + kernel-module-headers + + kernel/drivers/module-nvidia340/pspec.xml + + + module-nvidia340 + Kernel module for NVIDIA driver 340.xx releases + driver + + noDelta + + + kernel + + + /lib/modules + + + + xorg-video-nvidia340 + driver + x11.driver + + noDelta + + + libXext + xorg-server + module-nvidia340 + + + /etc/OpenCL + /usr/bin + /usr/lib + /usr/share + /usr/share/doc + /usr/share/man + + + xorg-video-nvidia-current + xorg-video-nvidia304 + + + System.Package + + + + xorg-video-nvidia340-32bit + 32-bit shared libraries for xorg-video-nvidia340 + emul32 + + noDelta + + emul32 + + libvdpau-32bit + glibc-32bit + + + zlib-32bit + libX11-32bit + libXext-32bit + glibc-32bit + xorg-video-nvidia340 + + + /usr/lib32 + /usr/share/nvidia-current/32bit-ld.so.conf + + + xorg-video-nvidia-current-32bit + xorg-video-nvidia304-32bit + + + System.Package + + + + + 2015-05-22 + 340.76 + Rebuild for kernel 3.19.8 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-05 + 340.76 + Rebuild for kernel 3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-24 + 340.76 + Rebuild for kernel 3.19.5 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 340.76 + Rebuild for kernel 3.19.4 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-02 + 340.76 + Rebuid for kernel 3.19.3 + Hakan Yıldız + hknyldz93@gmail.com + + + 2015-03-08 + 340.76 + Rebuild for kernel 3.19.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-01 + 340.76 + Version bump, Rebuild for kernel 3.19.0 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-31 + 340.76 + Version bump, Rebuild for kernel 3.18.3 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-13 + 340.65 + version bump + Stefan Gronewold (groni) + groni@pisilinux.org + + + 2014-12-08 + 340.58 + Rebuild for kernel 3.17.4 + Stefan Gronewold (groni) + groni@pisilinux.org + + + 2014-11-13 + 340.58 + First Release + Stefan Gronewold (groni) + groni@pisilinux.org + + + + + + geoclue + http://www.freedesktop.org/wiki/Software/GeoClue + + PisiLinux Community + admins@pisilinux.org + + LGPLv2 + library + network.misc + The Geoinformation Service. + Geoclue is a modular geoinformation service built on top of the D-Bus messaging system. + http://people.freedesktop.org/~hadess/geoclue-0.12.99.tar.gz + + gpsd-devel + gtk2-devel + + network/misc/geoclue/pspec.xml + + + geoclue + + gpsd + gtk2 + libsoup + NetworkManager + + + /usr/lib/ + /usr/share/ + /usr/libexec/ + + + + geoclue-devel + geoclue için geliştirme dosyaları + geoclue için geliştirme dosyaları + + geoclue + + + /usr/include/geoclue + /usr/lib/pkgconfig + + + + + 2015-02-12 + 0.12.99 + Rebuild + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-02-23 + 0.12.99 + rebuild + Osman Erkan + osman.erkan@pisilinux.org + + + 2013-07-29 + 0.12.99 + Dep Fixed + Osman Erkan + osman.erkan@pisilinux.org + + + 2013-07-26 + 0.12.99 + Release no bump + Serdar Soytetir + kaptan@pisilinux.org + + + 2012-09-03 + 0.12.99 + First release + Osman Erkan + osman.erkan@pisilinux.org + + + + + + ruby + http://www.ruby-lang.org/en/ + + PisiLinux Community + admins@pisilinux.org + + Ruby + app:console + programming.language.ruby + An object-oriented scripting language + Nesneye dayalı bir dil + Ruby est un langage de programmation dynamique, open source mettant l'accent sur la simplicité et la productivité. Il a une syntaxe élégante qui est naturelle à lire et facile à écrire. + Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. + Ruby, basitlik ve üretkenliğe odaklanan açık kaynaklı, dinamik bir betik dilidir. Okuması ve yazması kolay, şık bir sözdizime sahiptir. + Ruby es un lenguaje dinámico, de código abierto, y con enfoque en simplicidad y productividad. Tiene una sintaxis elegante que permite leer naturalmente y escribirlo de manera fácil. + ftp://ftp.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.bz2 + + tcltk-devel + + programming/language/ruby/ruby/pspec.xml + + + ruby + + db + gmp + tcl + gdbm + zlib + tcltk + libffi + openssl + readline + libyaml + + + /usr/bin + /usr/lib/ruby/2.2.0/ + /usr/lib/ruby/site_ruby/ + /usr/lib/ruby/vendor_ruby/ + /usr/lib/ruby/libruby-static.a + /usr/lib/libruby.so.2.2 + /usr/lib/libruby.so.2.2.0 + /usr/lib/libruby-static.a + /usr/lib/libruby.so + /usr/share/ri + /usr/share/doc + /usr/share/man + + + + rubygems + rubygems, The Ruby standard for packaging ruby libraries + + ruby + + + /usr/bin/gem + /usr/lib/ruby/gems + /usr/share/ri/2.2.0/system/Gem + + + + ruby-devel + ruby için geliştirme dosyaları + ruby için geliştirme dosyaları + + ruby + + + /usr/include + /usr/lib/pkgconfig + + + + + 2015-04-18 + 2.2.2 + Version bump. + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-04-09 + 2.2.1 + Version bump. + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2014-05-24 + 2.1.2 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-03-04 + 2.0.0 + Rebuild + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-05-28 + 2.0.0 + Version Bump + PisiLinux Community + admins@pisilinux.org + + + 2012-10-07 + 1.9.3 + First release + PisiLinux Community + admins@pisilinux.org + + + + + + ruby-gtk2 + http://ruby-gnome2.sourceforge.jp/ + + Merve Yüzbaşıoğlu + admins@pisilinux.org + + LLGPL-2.1 + library + programming.language.ruby + GNOME 2 bindings for Ruby + Ruby için GNOME 2 bağlayıcıları + Ruby-gtk2 is a set of bindings for the GNOME-2.x libraries to use from Ruby. + ruby-gtk2, GNOME 2 kütüphaneleri için bağlayıcıları içerir. + mirrors://sourceforge/ruby-gnome2/ruby-gtk2-2.2.0.tar.gz + + atk-devel + ruby-devel + gtk2-devel + pango-devel + gdk-pixbuf-devel + + programming/language/ruby/ruby-gtk2/pspec.xml + + + ruby-gtk2 + + atk + ruby + gtk2 + pango + gdk-pixbuf + + + /usr/lib + /usr/share/doc + + + + + 2014-05-24 + 2.2.0 + Version Bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-11 + 2.1.0 + Version Bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2012-05-03 + 1.1.3 + First release + Erdinç Gültekin + admins@pisilinux.org + + + + + + libbsd + http://libbsd.freedesktop.org + + Marcin Bojara + marcin@pisilinux.org + + BSD + BSD-2 + BSD-4 + ISC + library + programming.library + Provides useful functions commonly found on BSD systems + Taşınabilirlik için BSD uyumlu fonksiyonlar sağlayan bir kitaplık. + This library provides useful functions commonly found on BSD systems, and lacking on others like GNU systems, thus making it easier to port projects with strong BSD origins, without needing to embed the same code over and over again on each project. + GNU Linux sistemlerde bulunmayan BSD sistemlere özgü fonsiyonları barındıran bir kitaplıktır ve BSD uygulamalarının GNU Linux'a taşınmasını kolaylaştırır. + http://libbsd.freedesktop.org/releases/libbsd-0.6.0.tar.xz + programming/library/libbsd/pspec.xml + + + libbsd + + /usr/lib + /usr/share/doc + + + + libbsd-devel + Development files for libbsd + + libbsd + + + /usr/include + /usr/lib/pkgconfig + /usr/share/man/man3 + + + + + 2014-03-09 + 0.6.0 + Fisrt release. + Marcin Bojara + marcin@pisilinux.org + + + + + + unixODBC + http://www.unixodbc.org/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + LGPLv2.1 + app:console + programming.misc + ODBC Interface for Linux + The unixODBC Project goals are to develop and promote unixODBC to be the definitive standard for ODBC on non MS Windows platforms. + http://www.unixodbc.org/unixODBC-2.3.2.tar.gz + programming/misc/unixODBC/pspec.xml + + + unixODBC + + /etc + /usr/bin + /usr/lib + /usr/share/man + /usr/share/doc/unixODBC/AUTHORS + /usr/share/doc/unixODBC/README + + + + unixODBC-devel + Development files for unixODBC + unixODBC için geliştirme dosyaları. + + unixODBC + + + /usr/bin/odbc_config + /usr/include + + + + unixODBC-docs + Documentation for unixODBC + unixODBC için belgelendirme dosyaları. + data:doc + + /usr/share/doc/unixODBC + + + + + 2014-05-19 + 2.3.2 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2012-10-04 + 2.3.1 + First release + PisiLinux Community + admins@pisilinux.org + + + + + + icu4c + http://site.icu-project.org/home + + PisiLinux Community + admins@pisilinux.org + + as-is + library + programming.misc + International Components for Unicode + Unicode desteği için uluslarası bileşenler + ICU est un ensemble mature de librairies C/C++ et Java pour le support de l'Unicode, l'internationalisation et la globalisation de logiciel (i18n/g11n). Ce paquet contient les librairies C/C++. + ICU is a mature, widely used set of C/C++ and Java libraries for Unicode support, software internationalization and globalization (i18n/g11n). This package contains the C/C++ libraries. + ICU, Unicode desteği, yazılım uluslararasılaştırma ve yerelleştirme konusunda yaygın olarak kullanılan gelişmiş bir kitaplıktır. ICU, Unicode ve u10a desteği için C/C++ ve Java kitaplıklarını içerir. + ICU es un conjunto maduro y muy utilizado de librerías C/C++ y Java para soporte Unicode, internacionalización y globalización de software (i18n/g11n). Este paque te contiene las librerías C/C++. + http://download.icu-project.org/files/icu4c/54.1/icu4c-54_1-src.tgz + programming/misc/icu4c/pspec.xml + + + icu4c + + /usr/bin + /usr/sbin + /usr/lib + /usr/share/man + /usr/share/doc/icu4c/html + + + + icu4c-devel + Development files for icu4c + icu4c için geliştirme dosyaları + + icu4c + + + /usr/bin/icu-config + /usr/lib/icu + /usr/share/icu + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig/ + + + + icu4c-32bit + 32-bit shared libraries for icu4c + emul32 + _emul32 + + icu4c + + + /usr/lib32/libicu* + /usr/lib32/icu + + + + + 2015-01-22 + 54.1 + Version bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2014-05-17 + 53.1 + Version bump and add patch. + Alihan Öztürk + alihan@pisilinux.org + + + 2013-10-13 + 52.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-07-27 + 51.2 + Move pc files to devel pack, rebuild + V.Bump + PisiLinux Community + admins@pisilinux.org + + + 2013-05-15 + 51.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-01-22 + 50.1.2 + Version bump, add emul32 + Marcin Bojara + marcin@pisilinux.org + + + 2012-12-24 + 50.1.1 + First release + Marcin Bojara + marcin@pisilinux.org + + + + + + postgresql + http://www.postgresql.org/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + service + server.database + A powerful, open source relational database system + Güçlü bir açık kaynaklı ilişkisel veritabanı sistemi + PostgreSQL is a powerful, open source relational database system. + PostgreSQL, açık kaynak kodlu, güçlü bir ilişkisel veritabanıdır + http://ftp.postgresql.org/pub/source/v9.3.4/postgresql-9.3.4.tar.bz2 + + mit-kerberos + tcl-devel + libxslt-devel + libxml2-devel + + server/database/postgresql/pspec.xml + + + postgresql-lib + Essential shared libraries for any PostgreSQL client program or interface + library + + mit-kerberos + tcl + libxslt + openldap-client + + + /usr/lib + /usr/include + /usr/share/postgresql + /usr/bin/pg_config + + + + postgresql-doc + Postgresql documents + Postegresql belgeleri + Additional documentation for PostgreSQL. + PostegreSQL için ek belgelendirme + data:doc + + postgresql-lib + + + /usr/share/doc + + + + postgresql-server + service + + postgresql-lib + mit-kerberos + openldap-client + + + /etc + /usr/bin + /usr/share/locale + /usr/share/postgresql/contrib + /usr/share/man + /var/lib + + + System.Package + System.Service + + + postgresql.conf-8 + + + + postgresql-pl + + postgresql-lib + tcl + + + /usr/bin/pltcl_listmod + /usr/bin/pltcl_loadmod + /usr/bin/pltcl_delmod + /usr/lib/postgresql/plperl.so + /usr/lib/postgresql/plpython.so + /usr/lib/postgresql/pltcl.so + /usr/share/postgresql/unknown.pltcl + + + + + 2014-05-19 + 9.3.4 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-04-23 + 9.3.3 + Rebuild for webp. + Kamil Atlı + suvarice@gmail.com + + + 2014-02-21 + 9.3.3 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-11-17 + 9.3.1 + Fix demp + Richard de Bruin + richdb@pisilinux.org + + + 2013-11-15 + 9.3.1 + Version bump + Aydın Demirel + aydin.demirel@pisilinux.org + + + 2013-02-25 + 9.2.3 + Version bump + Ertan Güven + ertan@pisilinux.org + + + 2012-10-04 + 9.2.0 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + firebird + http://www.firebirdsql.org/ + + PisiLinux Community + admins@pisilinux.org + + IPL-1 + IDPL-1 + LGPLv2.1 + service + library + server.database + A relational database offering many ANSI SQL-99 features + Birçok ANSI SQL-99 özelliği sunan ilişkisel bir veritabanı + Firebird is an open source relational database management system offering many ANSI SQL-99 features. + Birçok ANSI SQL-99 özelliği sunan, küçük, hızlı ve çok kararlı bir veritabanı sunucu. + http://sourceforge.net/projects/firebird/files/firebird/2.5.2-Release/Firebird-2.5.2.26540-0.tar.bz2/download + + icu4c-devel + btyacc + libedit-devel + + + editline-dumb-tr.patch + firebird-2.5.1.26351.0-deps-flags.patch + + server/database/firebird/pspec.xml + + + firebird-client + Firebird database client library + Firebird veritabanı istemci kütüphanesi + Firebird relational database client library. + Firebird sunucuya bağlantı için kullanılan istemci kütüphanesi + + /usr/lib/libfbclient.* + /usr/lib/libgds.* + /usr/lib/libib_util.* + /usr/lib/libfbtrace.so + /opt/firebird/lib/libfbclient.* + /opt/firebird/lib/libgds.* + /opt/firebird/lib/libib_util.* + /opt/firebird/plugins/libfbtrace.so + + + + firebird-superserver + Firebird super server + Firebird veritabanı sunucusu + Firebird veritabanı için super sunucu. Klasik sunucu mimarisine göre, SMP performansı daha fazladır. + + firebird-client + icu4c + libedit + + + /etc/firebird + /etc/env.d/50firebird + /opt/firebird/*.conf + /opt/firebird/*.msg + /opt/firebird/security2.fdb + /opt/firebird/README + /opt/firebird/WhatsNew + /opt/firebird/UDF + /opt/firebird/bin + /opt/firebird/doc + /opt/firebird/examples + /opt/firebird/help + /opt/firebird/intl + /opt/firebird/lib/libicu* + /opt/firebird/upgrade + /opt/firebird/firebird.log + /opt/firebird + /run/firebird + + + System.Service + System.Package + + + hosts.equiv + 50firebird + + + + firebird-devel + Development files for firebird + Firebird için geliştirme dosyaları + + firebird-client + + + /usr/include/firebird + + + + + 2014-05-19 + 2.5.2.26540 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2013-10-14 + 2.5.2.26539 + Rebuild for icu4c + Ertan Güven + ertan@pisilinux.org + + + 2013-03-20 + 2.5.2.26539 + Version bump + Ertan Güven + ertan@pisilinux.org + + + 2012-10-15 + 2.5.1.26351 + First release + Marcin Bojara + marcin@pisilinux.org + + + + + + mariadb + https://mariadb.org + + Pisi Linux Admins + admins@pisilinux.org + + GPLv2 + app:console + server.database + MariaDB is a drop-in replacement for MySQL + Hızlı, çok kullanıcılı ve çok görevli SQL veritabanı sunucusu + MariaDB strives to be the logical choice for database professionals looking for a robust, scalable, and reliable SQL server. + MySQL, çoklu iş parçacıklı (multi-threaded), çok kullanıcılı (multi-user), hızlı ve sağlam (robust) bir Veritabanı yönetim sistemidir. Özelllikle basit web uygulamaları için LAMP sistemi içinde sıkça tercih edilmektedir. + ftp://ftp.ulak.net.tr/pub/MariaDB/mariadb-10.0.17/source/mariadb-10.0.17.tar.gz + + libaio-devel + unixODBC-devel + + server/database/mariadb/pspec.xml + + + mariadb-lib + MariaDB client tools + MySQL istemcileri tarafından gereken paylaşımlı kitaplıklar + app:console + library + + libaio + unixODBC + + + /usr/bin/mysql_config + /usr/include + /usr/lib + /usr/share/mysql/charsets + /usr/share/mysql/czech + /usr/share/mysql/danish + /usr/share/mysql/dutch + /usr/share/mysql/english + /usr/share/mysql/estonian + /usr/share/mysql/french + /usr/share/mysql/german + /usr/share/mysql/greek + /usr/share/mysql/hungarian + /usr/share/mysql/italian + /usr/share/mysql/japanese + /usr/share/mysql/korean + /usr/share/mysql/norwegian + /usr/share/mysql/norwegian-ny + /usr/share/mysql/polish + /usr/share/mysql/portuguese + /usr/share/mysql/romanian + /usr/share/mysql/russian + /usr/share/mysql/serbian + /usr/share/mysql/slovak + /usr/share/mysql/spanish + /usr/share/mysql/swedish + /usr/share/mysql/ukrainian + /usr/share/mysql/errmsg.txt + /usr/share/mysql + + + mysql-lib + + + + mariadb-client + MariaDB client libraries + MariaDB istemci uygulamaları + app:console + + mariadb-lib + libaio + + + /usr/bin + + + mysql-client + + + + mariadb-server + MariaDB server and releated files + MariaDB sunucusu ve ilgili dosyalar + service + + mariadb-lib + mariadb-client + libaio + + + /etc + /usr/sbin + /usr/bin/mysql_install_db + /usr/bin/mysqlmanagerc + /usr/bin/mysqlmanager-pwgen + /usr/bin/mysqlmanager + /usr/bin/mysql_secure_installation + /usr/bin/mysql_fix_privilege_tables + /usr/bin/mysqld_safe + /usr/bin/myisamchk + /usr/bin/myisamlog + /usr/bin/myisampack + /usr/bin/myisam_ftdump + /usr/bin/isamchk + /usr/bin/isamlog + /usr/bin/mysql_waitpid + /usr/bin/mysqlbinlog + /usr/bin/pack_isam + /usr/share/mysql/binary-configure + /usr/share/mysql/fill_help_tables.sql + /usr/share/mysql/mysqld_multi.server + /usr/share/mysql/mysql_fix_privilege_tables.sql + /usr/share/mysql/mysql_system_tables_data.sql + /usr/share/mysql/mysql_system_tables.sql + /usr/share/mysql/mysql_test_data_timezone.sql + /usr/share/mysql/ndb-config-2-node.ini + /usr/share/info + /var + /usr/share/doc + /usr/lib/tmpfiles.d/mariadb.conf + /run/mysqld + + + mysql-server + + + System.Service + System.Package + + + my.cnf + tmpfiles.conf + + + + mariadb-man-pages + MariaDB server and client man pages + MariaDB sunucu ve istemci uygulamarına ait kılavuz sayfaları + data + + /usr/share/man + + + mysql-man-pages + + + + + 2015-01-25 + 10.0.17 + Version bump. + Vedat Demir + vedat@pisilinux.org + + + 2014-09-25 + 10.0.13 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-09-03 + 5.5.37 + Fix package.py, first create initial db then chown. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-25 + 5.5.37 + Rebuild. + Aydın Demirel + aydin.demirel@pisilinux.org + + + 2014-05-19 + 5.5.37 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-21 + 5.5.35 + Fix -lprobes_mysql issue + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-18 + 5.5.35 + Fix package.py + Add tmpfiles.conf + Fix replacing mysql + Remove not needed files + Fix and clean actions.py + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-11 + 5.5.35 + First release + Aydın Demirel + aydin.demirel@pisilinux.org + + + + + + nss + http://www.mozilla.org/projects/security/pki/nss/ + + Erdinç Gültekin + admins@pisilinux.org + + MPL-2.0 + GPLv2 + LGPLv2.1 + library + util.crypt + Network Security Services + Ağ Güvenlik Servisleri + Network Security Services (NSS) est un ensemble de librairies conçues pour faciliter le développement multi-plateforme d'applications client et serveur sécurisées. Les applications ocnstruite avec NSS peuvent gérer SSL v2 et v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, les certificats X.509 v3 et d'autres standards de sécurité. + Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications. Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security standards. + NSS, platform bağımsız güvenli ağ servisi geliştirme kitaplıklarından oluşur. Bu kitaplık yardımı ile SSL v2 ve v3, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 sertifikaları ve diğer bir çok güvenlik standardına uygun güvenli sunucu-istemci yazılımları geliştirilebilir. + Network Security Services (NSS) es un conjunto de librerías para desarrollo cross-plataforma de aplicaciones cliente-servidor con facilidad de seguridad. Aplicaciones usando NSS pueden soportar certificados SSL v2 y v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3, y otros estándares de seguridad. + ftp://ftp.mozilla.org/pub/security/nss/releases/NSS_3_18_1_RTM/src/nss-3.18.1.tar.gz + + nss.pc.in + nss-config.in + generate-pc-config.sh + + + nspr-devel + + + nss-3.18.1-standalone-1.patch + add_spi+cacert_ca_certs.patch + ssl-renegotiate-transitional.patch + fedora/add-relro-linker-option.patch + fedora/nss-539183.patch + + util/crypt/nss/pspec.xml + + + nss + + zlib + sqlite + nspr + + + /usr/lib + /usr/bin + /etc + + + ld.so.conf + nssdb/cert8.db + nssdb/key3.db + nssdb/secmod.db + + + + nss-devel + Development files for nss + nss için geliştirme dosyaları + + nspr-devel + nss + + + /usr/bin/nss-config + /usr/include + /usr/lib/pkgconfig + /usr/lib/nss/*.a + + + + + 2015-05-01 + 3.18.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2015-02-28 + 3.17.4 + Version bump. + Hakan Yıldız + hknyldz93@gmail.com + + + 2014-12-13 + 3.17.3 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-11-02 + 3.17.2 + Version bump. + Osman Erkan + osman.erkan@pisilinux.org + + + 2014-08-10 + 3.16.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-20 + 3.16.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-04-11 + 3.16 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-04 + 3.15.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-11-18 + 3.15.3 + Version bump. + Richard de Bruin + richdb@pisilinux.org + + + 2013-11-11 + 3.15.2 + Version bump. + PisiLinux Community + admins@pisilinux.org + + + 2013-07-18 + 3.15.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-05-19 + 3.14.3 + vbump + Erdinç Gültekin + admins@pisilinux.org + + + 2013-03-01 + 3.14.3 + vbump + Erdinç Gültekin + admins@pisilinux.org + + + 2013-01-10 + 3.14.1 + First release + Erdinç Gültekin + admins@pisilinux.org + + + + + + libX11 + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + system + Librairie X11 de X.Org. + X.Org X11 library + X.Org X11 kitaplığı + X.Org X11 Bibliothek + Core X11 protocol client library. + mirrors://xorg/individual/lib/libX11-1.6.3.tar.bz2 + + libxcb-devel + xorg-proto + util-macros + xtrans + + system/base/libX11/pspec.xml + + + libX11 + + libxcb + + + /usr/lib/libX11* + /usr/lib/X11 + /usr/share/X11 + /usr/share/doc/libX11 + + + + libX11-devel + Development files for X11 library + libX11 için geliştirme dosyaları + + libX11 + libxcb-devel + xorg-proto + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libX11-32bit + 32-bit shared libraries for libX11 + libX11 için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libxcb-32bit + glibc-32bit + + + libX11 + libxcb-32bit + glibc-32bit + + + /usr/lib32 + + + + + 2015-05-22 + 1.6.3 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-05-11 + 1.6.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.6.2 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-12 + 1.6.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.6.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-21 + 1.6.0 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-24 + 1.5.0 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + + + + gperf + http://www.gnu.org/software/gperf/gperf.html + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + app:console + system + A perfect hash function generator + Mükemmel hash üreticisi + gperf is a perfect hash function generator. For a given list of strings, it produces a hash function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single string comparison only. + gperf mükemmel hash fonksiyonu üretecidir. Verilen bir katar listesi için C ve C++ kodu biçiminde bir hash fonksiyonu ve hash tablosu üretir. + GNU gperf es un generador de perfect hash. Produce una función hash y una tabla hash a base de una lista de cadenas, en forma de código C o C++ , para revisar valores dependiendo de una cadena de entrada. La función de hash es perfecta, lo que quiere decir que no hay colisiones en la tabla de hash, y para la búsqueda en la tabla hash se necesita solamente una comparación. + mirrors://gnu/gperf/gperf-3.0.4.tar.gz + system/base/gperf/pspec.xml + + + gperf + + libgcc + + + /usr/bin + /usr/share/doc + /usr/share/info + /usr/share/man + + + + + 2014-05-11 + 3.0.4 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-24 + 3.0.4 + Rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2013-07-26 + 3.0.4 + Fix dep,release bump. + PisiLinux Community + admins@pisilinux.org + + + 2012-08-23 + 3.0.4 + First release + PisiLinux Community + admins@pisilinux.org + + + + + + libxcb + http://xcb.freedesktop.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + system + The X protocol C-language Binding (XCB) + X protokolü için C dili bağlayıcısı (XCB) + The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility. + http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2 + + libXau-devel + libXdmcp-devel + libxslt + util-macros + xcb-proto + + + libxcb-1.1-no-pthread-stubs.patch + + system/base/libxcb/pspec.xml + + + libxcb + + libXau + libXdmcp + glibc + + + /usr/lib + /usr/share/man + /usr/share/doc + + + + libxcb-devel + Development files for libxcb + libxcb için geliştirme dosyaları + + libxcb + libXau-devel + libXdmcp-devel + + + /usr/include/xcb + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + pthread-stubs.pc + + + + libxcb-32bit + 32-bit shared libraries for libxcb + libxcb için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libXau-32bit + libXdmcp-32bit + glibc-32bit + + + libxcb + libXau-32bit + libXdmcp-32bit + glibc-32bit + + + /usr/lib32 + + + + + 2015-05-22 + 1.11 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-11 + 1.10 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-07 + 1.10 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-08 + 1.9.1 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-07-28 + 1.9.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-18 + 1.9 + First release + Erdinç Gültekin + admins@pisilinux.org + + + + + + libSM + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie SM de X.Org. + X.Org SM library + X.Org SM kitaplığı. + X.Org SM Bibliothek + libSM is the X Session Management library. + mirrors://xorg/individual/lib/libSM-1.2.2.tar.bz2 + + libICE-devel + libuuid-devel + + x11/library/libSM/pspec.xml + + + libSM + + libICE + + + /usr/lib + /usr/share/X11 + /usr/share/doc + + + + libSM-devel + Development files for libSM + libSM için geliştirme dosyaları + + libICE-devel + libSM + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/doc/*.xml + + + + libSM-32bit + 32-bit shared libraries for libSM + libSM için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libICE-32bit + libuuid-32bit + + + libICE-32bit + libuuid-32bit + libSM + + + /usr/lib32 + + + + + 2014-05-16 + 1.2.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-07 + 1.2.2 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-11-06 + 1.2.1 + Fix deps. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-10-07 + 1.2.1 + Revert back to 1.2.1, cleanup. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-12 + 1.2.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-08-25 + 1.2.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.2.1 + First release + Erdem Artan + admins@pisilinux.org + + + + + + libXfixes + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie Xfixes de X.Org + X.Org Xfixes library + X.Org Xfixes kitaplığı + X.Org Xfixes Bibliothek + libXfixes is a library to provide augmented versions of core protocol requests. + mirrors://xorg/individual/lib/libXfixes-5.0.1.tar.bz2 + + xorg-proto + libX11-devel + util-macros + + x11/library/libXfixes/pspec.xml + + + libXfixes + + /usr/lib + /usr/share/doc + + + + libXfixes-devel + Development files for libXfixes + libXfixes için geliştirme dosyaları + + libXfixes + libX11-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libXfixes-32bit + 32-bit shared libraries for libXfixes + libXfixes için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libX11-32bit + glibc-32bit + + + libXfixes + libX11-32bit + glibc-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 5.0.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 5.0.1 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 5.0.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-27 + 5.0.1 + Move pc files to devel pack, rebuild + PisiLinux Community + admins@pisilinux.org + + + 2013-07-27 + 5.0.1 + Move .pc files to devel package + Fatih Turgel + hitaf@pisilinux.org + + + 2013-06-21 + 5.0.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 5.0 + First release + Erdem Artan + admins@pisilinux.org + + + + + + libXdmcp + http://x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie Xdmcp de X.Org. + X.Org Xdmcp library + X.Org Xdmcp kitaplığı. + X.Org Xdmcp Bibliothek + LibXdmcp is the X Display Manager Control Protocol library. + LibXdmcp, X Ekran Yöneticisi Denetim Protokolü kitaplığıdır. + http://xorg.freedesktop.org/archive/individual/lib/libXdmcp-1.1.2.tar.bz2 + + libxslt + util-macros + xorg-proto + libbsd-devel + + x11/library/libXdmcp/pspec.xml + + + libXdmcp + + libbsd + + + /usr/lib + /usr/share/doc + + + + libXdmcp-devel + Development files for libXdmcp + libXdmcp için geliştirme dosyaları + + xorg-proto + libXdmcp + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/doc/*/*.xml + + + + libXdmcp-32bit + 32-bit shared libraries for libXdmcp + libXdmcp için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + glibc-32bit + + + libXdmcp + glibc-32bit + + + /usr/lib32 + + + + + 2015-06-06 + 1.1.2 + Runtime dep fixed. + Osman Erkan + osman.erkan@yandex.com + + + 2015-05-22 + 1.1.2 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-05-11 + 1.1.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-08 + 1.1.1 + Rebuild, clean actions.py. + Serdar Soytetir + kaptan@pisilinux.org + + + 2012-08-23 + 1.1.1 + First release + PisiLinux Community + admins@pisilinux.org + + + + + + libXau + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie Au de X.Org. + X.Org Au library + X.Org Au kitaplığı. + X.Org Au Bibliothek + libXau provides functions to manage X authorization files + libXau, X yetkilendirme dosyalarını yönetmek için işlevler sağlar. + http://xorg.freedesktop.org/archive/individual/lib/libXau-1.0.8.tar.gz + + util-macros + xorg-proto + + + visibility.patch + + x11/library/libXau/pspec.xml + + + libXau + + /usr/lib + + + + libXau-devel + Development files for libXau + libXau için geliştirme dosyaları + + libXau + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libXau-32bit + 32-bit shared libraries for libXau + libXau için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + glibc-32bit + + + glibc-32bit + + + /usr/lib32 + + + + + 2014-06-01 + 1.0.8 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.0.8 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-06-21 + 1.0.8 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-08-23 + 1.0.7 + First release + PisiLinux Community + admins@pisilinux.org + + + + + + xcb-util-renderutil + http://xcb.freedesktop.org + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + A number of libraries which sit on top of libxcb + libxcb temelli birtakım kitaplıklar + The xcb-util-renderutil module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. + xcb-util-renderutil modülü, çekirdek X protokolü ve bazı eklentiler için libxcb temelli kitaplıklar içerir. + http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2 + x11/library/xcb-util-renderutil/pspec.xml + + + xcb-util-renderutil + + /usr/lib + /usr/share/doc + + + + xcb-util-renderutil-devel + Development files for xcb-util-renderutil + xcb-util-renderutil için geliştirme dosyaları + + xcb-util-renderutil + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + xcb-util-renderutil-32bit + 32-bit shared libraries for xcb-util-renderutil + xcb-util-renderutil için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libxcb-32bit + + + xcb-util + libxcb-32bit + + + /usr/lib32 + + + + + 2014-09-01 + 0.3.9 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 0.3.8 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 0.3.8 + Clean actions.py emul32 build. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 0.3.8 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-12-08 + 0.3.8 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + xcb-util-wm + http://xcb.freedesktop.org + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + A number of libraries which sit on top of libxcb + libxcb temelli birtakım kitaplıklar + The xcb-util-wm module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. + xcb-util-wm modülü, çekirdek X protokolü ve bazı eklentiler için libxcb temelli kitaplıklar içerir. + http://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2 + x11/library/xcb-util-wm/pspec.xml + + + xcb-util-wm + + /usr/lib + /usr/share/doc + + + + xcb-util-wm-devel + Development files for xcb-util-wm + xcb-util-wm için geliştirme dosyaları + + xcb-util-wm + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + xcb-util-wm-32bit + 32-bit shared libraries for xcb-util-wm + xcb-util-wm için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libxcb-32bit + + + xcb-util-wm + libxcb-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 0.4.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 0.4.1 + Version bump + Alihan Öztürk + alihan@pisilinux.org + + + 2013-10-07 + 0.3.9 + Clean actions.py emul32 build. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 0.3.9 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-12-08 + 0.3.9 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + libdrm + http://dri.freedesktop.org/libdrm/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Userspace interface to kernel DRM services + Çekirdekteki DRM servisleri için kullanıcı düzeyi arayüz + libdrm is a library providing the userspace interface to kernel DRM services. + libdrm, çekirdekteki DRM servisleri için kullanıcı düzeyi arayüz sağlayan bir kitaplıktır. + http://dri.freedesktop.org/libdrm/libdrm-2.4.60.tar.bz2 + + libpciaccess-devel + cairo-32bit + + x11/library/libdrm/pspec.xml + + + libdrm + + libpciaccess + + + /etc + /usr/lib/libdrm.* + /lib/udev/rules.d + /usr/share/doc + /usr/share/man + + + 91-drm-modeset.rules + + + + libdrm-intel + Userspace interface to kernel DRM services for intel + Çekirdekteki intel DRM servisleri için kullanıcı düzeyi arayüz + + libdrm + libpciaccess + + + /usr/lib/libdrm_intel.* + + + + libdrm-nouveau + Userspace interface to kernel DRM services for nouveau + Çekirdekteki nouveau DRM servisleri için kullanıcı düzeyi arayüz + + libdrm + + + /usr/lib/libdrm_nouveau.* + + + + libdrm-radeon + Userspace interface to kernel DRM services for radeon + Çekirdekteki radeon DRM servisleri için kullanıcı düzeyi arayüz + + libdrm + + + /usr/lib/libdrm_radeon.* + + + + libkms + Userspace library for kernel mode setting + Çekirdekteki ekran modu değiştirme servisleri için kullanıcı düzeyi arayüz + + libdrm + + + /usr/lib/libkms.* + + + + libdrm-devel + Development files for libdrm + libdrm için geliştirme dosyaları + + libdrm + libdrm-intel + libdrm-nouveau + libdrm-radeon + libkms + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + libdrm-32bit + 32-bit shared libraries for libdrm + libdrm için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libpciaccess-32bit + + + libdrm + libpciaccess-32bit + + + /usr/lib32/libdrm.* + + + + libdrm-intel-32bit + 32-bit shared libraries for libdrm-intel + libdrm-intel için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libdrm-intel + libdrm-32bit + libpciaccess-32bit + + + /usr/lib32/libdrm_intel.* + + + + libdrm-nouveau-32bit + 32-bit shared libraries for libdrm-nouveau + libdrm-nouveau için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libdrm-nouveau + libdrm-32bit + + + /usr/lib32/libdrm_nouveau.* + + + + libdrm-radeon-32bit + 32-bit shared libraries for libdrm-radeon + libdrm-radeon için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libdrm-radeon + libdrm-32bit + + + /usr/lib32/libdrm_radeon.* + + + + libkms-32bit + 32-bit shared libraries for libkms + libkms için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libkms + libdrm-32bit + + + /usr/lib32/libkms.* + + + + + 2015-05-05 + 2.4.60 + Version bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2015-01-28 + 2.4.59 + Version bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2014-10-18 + 2.4.58 + Version bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2014-09-08 + 2.4.56 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 2.4.54 + Version bump. + Kamil Atlı + suvarice@gmail.com + + + 2014-03-07 + 2.4.52 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-07 + 2.4.46 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 2.4.46 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-13 + 2.4.46 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-02-28 + 2.4.42 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-22 + 2.4.40 + First release + Marcin Bojara + marcin@pisilinux.org + + + + + + wayland + http://wayland.freedesktop.org/ + + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + GPLv2 + library + x11.library + Wayland Compositor Infrastructure + Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. + http://wayland.freedesktop.org/releases/wayland-1.7.0.tar.xz + x11/library/wayland/pspec.xml + + + wayland + + /usr/bin + /usr/share/doc/ + /usr/share/aclocal + /usr/share/wayland + /usr/share/man + + + + wayland-client + Wayland client library + + wayland + + + /usr/lib/libwayland-client* + + + + wayland-cursor + Wayland cursor library + + wayland + wayland-client + + + /usr/lib/libwayland-cursor* + + + + wayland-server + Wayland server library + + wayland + + + /usr/lib/libwayland-server* + + + + wayland-devel + Development files for wayland + + wayland + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/pkgconfig + + + + wayland-32bit + 32-bit shared libraries for wayland + emul32 + emul32 + + libffi-32bit + + + wayland + libffi-32bit + + + /usr/lib32 + + + + + 2015-02-16 + 1.7.0 + Version bump. + Hakan Yıldız + hknyldz93@gmail.com + + + 2014-09-25 + 1.6.0 + Version Bump. + Vedat Demir + vedat@pisilinux.org + + + 2014-07-06 + 1.5.0 + Version Bump. + Vedat Demir + vedat@pisilinux.org + + + 2014-05-16 + 1.4.0 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-13 + 1.4.0 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-01-27 + 1.2.1 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-11-06 + 1.2.1 + Fix deps. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-31 + 1.2.1 + First release. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + libX11 + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie X11 de X.Org. + X.Org X11 library + X.Org X11 kitaplığı + X.Org X11 Bibliothek + Core X11 protocol client library. + mirrors://xorg/individual/lib/libX11-1.6.3.tar.bz2 + + libxcb-devel + xorg-proto + util-macros + xtrans + + x11/library/libX11/pspec.xml + + + libX11 + + libxcb + + + /usr/lib/libX11* + /usr/lib/X11 + /usr/share/X11 + /usr/share/doc/libX11 + + + + libX11-devel + Development files for X11 library + libX11 için geliştirme dosyaları + + libX11 + libxcb-devel + xorg-proto + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libX11-32bit + 32-bit shared libraries for libX11 + libX11 için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libxcb-32bit + glibc-32bit + + + libX11 + libxcb-32bit + glibc-32bit + + + /usr/lib32 + + + + + 2015-05-22 + 1.6.3 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-05-11 + 1.6.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.6.2 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-12 + 1.6.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.6.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-21 + 1.6.0 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-24 + 1.5.0 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + + + + libXtst + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie Xtst de X.Org + X.Org Xtst library + X.Org Xtst kitaplığı + X.Org Xtst Bibliothek + libXtst provides an X Window System client interface to the Record extension to the X protocol. The Record extension allows X clients to synthesise input events, which is useful for automated testing. + mirrors://xorg/individual/lib/libXtst-1.2.2.tar.bz2 + + libXext-devel + libXi-devel + util-macros + + x11/library/libXtst/pspec.xml + + + libXtst + + libXext + + + /usr/lib + /usr/share/X11 + /usr/share/doc + + + + libXtst-32bit + 32-bit shared libraries for libXtst + libXtst için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libXext-32bit + libXi-32bit + libX11-32bit + + + libX11-32bit + libXext-32bit + libXtst + + + /usr/lib32 + + + + libXtst-devel + Development files for libXtst + libXtst için geliştirme dosyaları + + libXi-devel + libXext-devel + libXtst + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/aclocal + /usr/share/doc/*/*.xml + /usr/share/man + + + + + 2014-05-16 + 1.2.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-19 + 1.2.2 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-08-25 + 1.2.2 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 1.2.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-21 + 1.2.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.2.1 + First release + Erdem Artan + admins@pisilinux.org + + + + + + libXdamage + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie damege de X.Org. + X.Org damage library + X.Org damege kitaplığı. + X.Org damege Bibliothek + LibXdamage provides an X Window System client interface to the DAMAGE extension to the X protocol. The Damage extension provides for notification of when on-screen regions have been 'damaged' (altered). + LibXdamage, X protokolü uzantısı DAMAGE için istemci kitaplığıdır. Damage uzantısı ekranda herhangi bir bölümde bozulma (değişiklik) meydana geldiğinde bildirim yapılmasını sağlar. + mirrors://xorg/individual/lib/libXdamage-1.1.4.tar.bz2 + + libXfixes-devel + util-macros + + x11/library/libXdamage/pspec.xml + + + libXdamage + + libXfixes + + + /usr/lib + /usr/share/doc + + + + libXdamage-devel + Development files for libXdamage + libXdamage için geliştirme dosyaları + + libXdamage + libXfixes-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + libXdamage-32bit + 32-bit shared libraries for libXdamage + libXdamage için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libXfixes + + + libXdamage + libXfixes-32bit + libX11-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 1.1.4 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-20 + 1.1.4 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-10-07 + 1.1.4 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 1.1.4 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.1.4 + Rebuild + PisiLinux Community + admins@pisilinux.org + + + 2013-02-17 + 1.1.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.1.3 + First release + Erdem Artan + admins@pisilinux.org + + + + + + xcb-util-image + http://xcb.freedesktop.org + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + A number of libraries which sit on top of libxcb + libxcb temelli birtakım kitaplıklar + The xcb-util-image module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. + xcb-util-image modülü, çekirdek X protokolü ve bazı eklentiler için libxcb temelli kitaplıklar içerir. + http://xcb.freedesktop.org/dist/xcb-util-image-0.3.9.tar.bz2 + x11/library/xcb-util-image/pspec.xml + + + xcb-util-image + + xcb-util + + + /usr/lib + /usr/share/doc + + + + xcb-util-image-devel + Development files for xcb-util + xcb-util-image için geliştirme dosyaları + + xcb-util-image + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + xcb-util-image-32bit + 32-bit shared libraries for xcb-util + xcb-util-image için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libxcb-32bit + + + xcb-util-32bit + libxcb-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 0.3.9 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 0.3.9 + Clean actions.py emul32 build. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 0.3.9 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 0.3.9 + Rebuild + PisiLinux Community + admins@pisilinux.org + + + 2012-12-08 + 0.3.9 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + mesa + http://www.mesa3d.org + + PisiLinux Community + admins@pisilinux.org + + MIT + library + app:console + x11.library + Mesa graphics libraries and utilities + Mesa grafik kitaplıkları ve yardımcı uygulamalar + Mesa biblioteki graficzne i narzędzia + Mesa is an open-source implementation of the OpenGL specification - a system for rendering interactive 3D graphics. + Mesa, OpenGL belirtiminin (etkileşimli 3B grafiklerin gerçeklenmesi için bir sistem) açık kaynaklı bir uyarlamasıdır. + Mesa jest open-source'ową implementacją specyfikacji OpenGL do renderowania trójwymiarowej grafiki. + ftp://ftp.freedesktop.org/pub/mesa/10.5.5/mesa-10.5.5.tar.gz + + llvm-libs + llvm-clang-devel + xorg-proto + libdrm-devel + libXext-devel + wayland-devel + libvdpau-devel + libXfixes-devel + libtalloc-devel + libXdamage-devel + libomxil-bellagio-devel + libXxf86vm-devel + libXvMC-devel + libXv-devel + python-mako + libxshmfence-devel + + x11/library/mesa/pspec.xml + + + mesa + + llvm-libs + libdrm + libXext + libXfixes + libXdamage + libXxf86vm + libXv + libXvMC + libdrm-intel + libdrm-radeon + libdrm-nouveau + wayland-client + wayland-server + llvm-clang + libclc + libxshmfence + + + /etc + /usr/bin + /usr/lib + /usr/share/doc + + + System.Package + + + drirc + + + + mesa-devel + Development files for mesa + mesa için geliştirme dosyaları + + libdrm-devel + libXext-devel + wayland-devel + libXfixes-devel + libXdamage-devel + libXxf86vm-devel + libxshmfence-devel + mesa + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + mesa-32bit + 32-bit shared libraries for mesa + mesa için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + expat-32bit + libXt-devel + libXv-32bit + libX11-32bit + libcap-32bit + libdrm-32bit + libXext-32bit + libXvMC-32bit + libudev-32bit + wayland-32bit + libvdpau-32bit + libXfixes-32bit + libXdamage-32bit + libXxf86vm-32bit + libdrm-intel-32bit + libdrm-radeon-32bit + libdrm-nouveau-32bit + + + expat-32bit + libX11-32bit + libdrm-32bit + libxcb-32bit + libXext-32bit + wayland-32bit + libXfixes-32bit + libXdamage-32bit + libXxf86vm-32bit + libXv-32bit + libXvMC-32bit + libdrm-intel-32bit + libxshmfence-32bit + libdrm-radeon-32bit + libdrm-nouveau-32bit + mesa + + + /usr/lib32 + + + System.Package + + + + + 2015-05-16 + 10.5.5 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-05-05 + 10.5.4 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2015-01-28 + 10.4.3 + Version bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2015-01-20 + 10.4.2 + Version bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2014-09-24 + 10.3.0 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-08-31 + 10.2.6 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-07-08 + 10.1.6 + Version bump. + Vedat Demir + vedat@pisilinux.org + + + 2014-05-24 + 10.1.4 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-05-16 + 10.1.3 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-10 + 10.1.3 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-04-23 + 10.1.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-08 + 10.1.0 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-11-06 + 9.2.0 + Fix deps. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-02 + 9.2.0 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-08-25 + 9.1.5 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-18 + 9.1.5 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-14 + 9.1.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-01 + 9.1 + add missing dep. + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-02-28 + 9.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-04 + 9.0 + First release + Marcin Bojara + marcin@pisilinux.org + + + + + + libxkbcommon + http://xkbcommon.org/ + + Osman Erkan + osman.erkan@pisilinux.org + + GPLv2 + library + x11.library + Library to convert evdev keycodes to keysyms + Evdev keycode'larını keysms türüne çeviren bir kitaplık + Library to convert evdev keycodes to keysyms + Evdev keycode'larını keysms türüne çeviren bir kitaplık + https://github.com/xkbcommon/libxkbcommon/archive/xkbcommon-0.5.0.tar.gz + x11/library/libxkbcommon/pspec.xml + + + libxkbcommon + + /usr/share/doc/libxkbcommon/ + /usr/lib/lib*.so* + + + + libxkbcommon-devel + Development files for libxkbcommon + libxkbcommon için geliştirme dosyaları + + libxkbcommon + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + libxkbcommon-32bit + 32-bit shared libraries for libxkbcommon + emul32 + emul32 + + libxkbcommon + libxcb-32bit + + + /usr/lib32 + + + + + 2015-03-04 + 0.5.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-05-16 + 0.4.2 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2013-10-07 + 0.3.1 + Rebuild, clean emul32 installation. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-02 + 0.3.1 + First release. + Osman Erkan + osman.erkan@pisilinux.org + + + + + + libepoxy + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + MIT + library + x11.library + OpenGL function pointer management library + Epoxy is a library for handling OpenGL function pointer management for you. + https://github.com/anholt/libepoxy/archive/v1.2.tar.gz + + python3 + xorg-util + mesa-devel + + x11/library/libepoxy/pspec.xml + + + libepoxy + + mesa + + + /etc/xdg + /usr/bin + /usr/lib + /usr/share + /usr/share/locale + /usr/share/doc + /usr/share/man + + + + libepoxy-devel + Development files for libepoxy + + libepoxy + + + /usr/include + /usr/lib/pkgconfig + + + + + 2015-05-27 + 1.2 + First release + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + libXrandr + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + X.Org Xrandr library + Librairie Xrand de X.Org. + Xrandr is a simple library designed to interface the X Resize and Rotate Extension. This allows clients to change the size and rotation of the root window of a screen, along with the ability to reflect the screen about either axis. + X.Org Xrand kitaplığı. + X.Org Xrand Bibliothek + mirrors://xorg/individual/lib/libXrandr-1.4.2.tar.bz2 + + libXext-devel + libXrender-devel + + x11/library/libXrandr/pspec.xml + + + libXrandr + + libXext + libXrender + + + /usr/lib + /usr/share/doc + + + + libXrandr-devel + Development files for libXrandr + libXrandr için geliştirme dosyaları + + libXrandr + libXrender-devel + libXext-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libXrandr-32bit + 32-bit shared libraries for libXrandr + libXrandr için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libX11-32bit + libXext-32bit + libXrender-32bit + + + libXrandr + libX11-32bit + libXext-32bit + libXrender-32bit + + + /usr/lib32 + + + + + 2014-09-15 + 1.4.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 1.4.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-07 + 1.4.2 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-07 + 1.4.1 + Revert back to 1.4.1. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-12 + 1.4.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-08-25 + 1.4.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.4.1 + Rebuild + PisiLinux Community + admins@pisilinux.org + + + 2013-06-21 + 1.4.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-22 + 1.4.0 + First release + Marcin Bojara + marcin@pisilinux.org + + + + + + libxcb + http://xcb.freedesktop.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + The X protocol C-language Binding (XCB) + X protokolü için C dili bağlayıcısı (XCB) + The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility. + http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2 + + libXau-devel + libXdmcp-devel + libxslt + util-macros + xcb-proto + + + libxcb-1.1-no-pthread-stubs.patch + + x11/library/libxcb/pspec.xml + + + libxcb + + libXau + libXdmcp + glibc + + + /usr/lib + /usr/share/man + /usr/share/doc + + + + libxcb-devel + Development files for libxcb + libxcb için geliştirme dosyaları + + libxcb + libXau-devel + libXdmcp-devel + + + /usr/include/xcb + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + pthread-stubs.pc + + + + libxcb-32bit + 32-bit shared libraries for libxcb + libxcb için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libXau-32bit + libXdmcp-32bit + glibc-32bit + + + libxcb + libXau-32bit + libXdmcp-32bit + glibc-32bit + + + /usr/lib32 + + + + + 2015-05-22 + 1.11 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-11 + 1.10 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-07 + 1.10 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-08 + 1.9.1 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-07-28 + 1.9.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-18 + 1.9 + First release + Erdinç Gültekin + admins@pisilinux.org + + + + + + libICE + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + X.Org ICE library + X.Org ICE kitaplığı + Utilitaire ICE de X.Org. + libICE is the Inter-Client Exchange library. + libICE, Inter-Client Exchange protokolüne bir arayüz sağlayan X.Org kitaplığıdır. + X.Org ICE Bibliothek + mirrors://xorg/individual/lib/libICE-1.0.9.tar.bz2 + + libbsd-devel + + x11/library/libICE/pspec.xml + + + libICE + + libbsd + + + /usr/lib + /usr/share/doc + + + + libICE-devel + Development files for libICE + libICE için geliştirme dosyaları + + libICE + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + libICE-32bit + 32-bit shared libraries for libICE + libICE için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libICE + + + /usr/lib32 + + + + + 2014-08-31 + 1.0.9 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 1.0.8 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.0.8 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 1.0.8 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.0.8 + First release + Erdem Artan + admins@pisilinux.org + + + + + + libXcursor + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie Xcursor de X.Org + X.Org Xcursor library + X.Org Xcursor kitaplığı + X.Org Xcursor Bibliothek + libXcursor is the X Cursor management library. It allows using different mouse skins and modifying of the text cursor. + mirrors://xorg/individual/lib/libXcursor-1.1.14.tar.bz2 + + libXfixes-devel + libXrender-devel + + x11/library/libXcursor/pspec.xml + + + libXcursor + + libXfixes + libXrender + + + /usr/lib + /usr/share/doc + + + + libXcursor-devel + Development files for libXcursor + libXcursor için geliştirme dosyaları + + libXcursor + libXfixes-devel + libXrender-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libXcursor-32bit + 32-bit shared libraries for libXcursor + libXcursor için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libX11-32bit + libXfixes-32bit + libXrender-32bit + + + libXcursor + libX11-32bit + libXfixes-32bit + libXrender-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 1.1.14 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.1.14 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 1.1.14 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.1.14 + Rebuild + PisiLinux Community + admins@pisilinux.org + + + 2013-06-21 + 1.1.14 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.1.13 + First release + Erdem Artan + admins@pisilinux.org + + + + + + libXrender + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie Xrender de X.Org + X.Org Xrender library + X.Org Xrender kitaplığı + X.Org Xrender Bibliothek + The X Rendering Extension (Render) introduces digital image composition as the foundation of a new rendering model within the X Window System. Rendering geometric figures is accomplished by client-side tesselation into either triangles or trapezoids. + mirrors://xorg/individual/lib/libXrender-0.9.8.tar.bz2 + x11/library/libXrender/pspec.xml + + + libXrender + + /usr/lib + /usr/share/doc + + + + libXrender-devel + Development files for libXrender + libXrender için geliştirme dosyaları + + libXrender + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/doc/libXrender/libXrender.txt + + + + libXrender-32bit + 32-bit shared libraries for libXrender + libXrender için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libX11-32bit + + + libXrender + libX11-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 0.9.8 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 0.9.8 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 0.9.8 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-21 + 0.9.8 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 0.9.7 + First release + Erdem Artan + admins@pisilinux.org + + + + + + xcb-util-keysyms + http://xcb.freedesktop.org + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + A number of libraries which sit on top of libxcb + libxcb temelli birtakım kitaplıklar + The xcb-util-keysyms module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. + xcb-util-keysyms modülü, çekirdek X protokolü ve bazı eklentiler için libxcb temelli kitaplıklar içerir. + http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.3.9.tar.bz2 + x11/library/xcb-util-keysyms/pspec.xml + + + xcb-util-keysyms + + /usr/lib + /usr/share/doc + + + + xcb-util-keysyms-devel + Development files for xcb-util-keysyms + xcb-util-keysyms için geliştirme dosyaları + + xcb-util-keysyms + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + xcb-util-keysyms-32bit + 32-bit shared libraries for xcb-util-keysyms + emul32 + emul32 + + libxcb-32bit + + + xcb-util-keysyms + libxcb-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 0.3.9 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 0.3.9 + Clean actions.py emul32 build. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 0.3.9 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-12-08 + 0.3.9 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + libXcomposite + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie composite X.Org + X.Org composite library + X.Org composite kitaplığı + X.Org composite Bibliothek + libXcomposite is the X Composite library. Compositing allows modification of the window system's base elements like window borders, window buttons and window titlebars. + libXcomposite, X Birleşiklik kitaplığıdır. Birleşiklik, pencerelere ait kenarlar, butonlar ve başlık çubukları gibi pencere sisteminin temel elemanlarını değiştirmeye izin verir. + mirrors://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2 + + libXfixes-devel + + x11/library/libXcomposite/pspec.xml + + + libXcomposite + + /usr/lib + /usr/share/doc + + + + libXcomposite-devel + Development files for libXcomposite + libXcomposite için geliştirme dosyaları + + libXcomposite + libXfixes-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libXcomposite-32bit + 32-bit shared libraries for libXcomposite + libXcomposite için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libX11-32bit + + + libXcomposite + libX11-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 0.4.4 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 0.4.4 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 0.4.4 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-02-17 + 0.4.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-22 + 0.4.3 + First release + Marcin Bojara + marcin@pisilinux.org + + + + + + libXext + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie Xext de X.Org + X.Org Xext library + X.Org Xext kitaplığı + X.Org Xext Bibliothek + LibXext provides an X Window System client interface to several extensions to the X protocol. + LibXext, çeşitli X protokolü uzantıları için X Pencere Sistemi istemci arayüzü sunar. + mirrors://xorg/individual/lib/libXext-1.3.3.tar.bz2 + + xorg-proto + util-macros + libX11-devel + libxslt + + x11/library/libXext/pspec.xml + + + libXext + + libX11 + + + /usr/lib + /usr/share/doc + + + + libXext-devel + Development files for libXext + libXext için geliştirme dosyaları + + libX11-devel + libXext + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libXext-32bit + 32-bit shared libraries for libXext + libXext için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libX11-32bit + glibc-32bit + + + libXext + libX11-32bit + glibc-32bit + + + /usr/lib32 + + + + + 2014-08-31 + 1.3.3 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 1.3.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-08-25 + 1.3.2 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 1.3.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-21 + 1.3.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.3.1 + First release + Erdem Artan + admins@pisilinux.org + + + + + + libXi + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie Xi de X.Org + X.Org Xi library + X.Org Xi kitaplığı + X.Org Xi Bibliothek + LibXi provides an X Window System client interface to the XINPUT extension to the X protocol. + mirrors://xorg/individual/lib/libXi-1.7.4.tar.bz2 + + libXext-devel + libXfixes-devel + util-macros + + x11/library/libXi/pspec.xml + + + libXi + + libXext + libX11 + + + /usr/lib + /usr/share/doc + + + + libXi-devel + Development files for libXi + libXi için geliştirme dosyaları + + libXi + libXext-devel + libX11-devel + libXfixes-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libXi-32bit + 32-bit shared libraries for libXi + libXi için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + glibc-32bit + libXext-32bit + libX11-32bit + + + glibc-32bit + libXi + libXext-32bit + libX11-32bit + + + /usr/lib32 + + + + + 2014-08-31 + 1.7.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 1.7.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.7.2 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 1.7.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.7.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-21 + 1.7.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-02-17 + 1.6.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.6.1 + First release + Erdem Artan + admins@pisilinux.org + + + + + + xcb-util + http://xcb.freedesktop.org + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + A number of libraries which sit on top of libxcb + libxcb temelli birtakım kitaplıklar + The xcb-util module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. + xcb-util modülü, çekirdek X protokolü ve bazı eklentiler için libxcb temelli kitaplıklar içerir. + http://xcb.freedesktop.org/dist/xcb-util-0.3.9.tar.bz2 + x11/library/xcb-util/pspec.xml + + + xcb-util + + /usr/lib + /usr/share/doc + + + + xcb-util-devel + Development files for xcb-util + xcb-util için geliştirme dosyaları + + xcb-util + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + xcb-util-32bit + 32-bit shared libraries for xcb-util + xcb-util için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libxcb-32bit + + + xcb-util + libxcb-32bit + + + /usr/lib32 + + + + + 2013-10-07 + 0.3.9 + Clean actions.py emul32 build. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 0.3.9 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 0.3.9 + First release + Erdem Artan + admins@pisilinux.org + + + + + + xorg-server + http://www.x.org + + PisiLinux Community + admins@pisilinux.org + + MIT + x11.server + X.Org X Server + Serveur X X.Org + X.Org X Server + X.Org X Sunucu + X.Org X Serwer + X server is the main application that allows a graphical interface. + X sunucu, grafiksel arayüz için gerekli ana uygulamadır. + X serwer to główna aplikacja, która umożliwia interfejs graficzny. + mirrors://xorg/individual/xserver/xorg-server-1.17.1.tar.bz2 + + font-util + libjpeg-turbo-devel + libdmx-devel + libdrm-devel + libgcrypt-devel + libpciaccess-devel + libX11-devel + libXaw-devel + libXext-devel + libXfixes-devel + libXfont-devel + libXi-devel + libxkbfile-devel + libXmu-devel + libXpm-devel + libXrender-devel + libXres-devel + libXt-devel + libXtst-devel + libXv-devel + mesa-devel + pixman-devel + xorg-app + nettle-devel + libepoxy-devel + xcb-util-devel + xcb-util-image-devel + xcb-util-wm-devel + xcb-util-keysyms-devel + xcb-util-renderutil-devel + + + xorg-server-1.17.1-add_prime_support-1.patch + default-module-path.patch + ubuntu/001_fedora_extramodes.patch + ubuntu/03_static-nettle.diff + ubuntu/05_Revert-Unload-submodules.diff + ubuntu/105_nvidia_fglrx_autodetect.patch + ubuntu/10_Include-missing-selection-h.diff + ubuntu/188_default_primary_to_first_busid.patch + ubuntu/226_fall_back_to_autoconfiguration.patch + ubuntu/227_null_ptr_midispcur.patch + ubuntu/include-selection-h.patch + ubuntu/no-nv.patch + ubuntu/xf86-inactive-gpuscreen.patch + ubuntu/xfree86-no-xv-for-gpuscreens.patch + + x11/server/xorg-server/pspec.xml + + + xorg-server-common + Common files for X servers + X sunucuları için ortak dosyalar + data + + /etc/X11/fontpath.d + /etc/dbus-1 + /usr/lib/xorg/protocol.txt + /var/lib/xkb + /usr/share/doc + /usr/share/man/man1/Xserver.1 + + + + xorg-server + app:console + + mesa + libdrm + pixman + libXfont + libunwind + libpciaccess + libxshmfence + libepoxy + + + /etc/X11/xorg.conf.d + /usr/bin/X + /usr/bin/Xorg + /usr/bin/cvt + /usr/bin/gtf + /usr/libexec + /usr/lib/xorg + /usr/share/X11/DriversDB + /usr/share/X11/pci + /usr/share/X11/xorg.conf.d + /usr/share/man/man1/Xorg.1 + /usr/share/man/man1/cvt.1 + /usr/share/man/man1/gtf.1 + /usr/share/man/man4/exa.4 + /usr/share/man/man4/modesetting.4 + /usr/share/man/man4/fbdevhw.4 + /usr/share/man/man5/xorg.conf.5 + /usr/share/man/man5/xorg.conf.d.5 + + + xorg-video-modesetting + glamor-egl + + + xorg-save-xkb-config.sh + DriversDB + fedora/10-quirks.conf + + + + xorg-server-xdmx + Distributed Multihead X Server + Dağıtık, çok başlı X sunucusu + app:console + + xorg-server-common + libXi + libXt + libXmu + libdmx + libXaw + pixman + libXext + libXfont + libXfixes + libXrender + libunwind + + + /usr/bin/*dmx* + /usr/share/man/man1/*dmx* + + + + xorg-server-xwayland + Run X clients under wayland + app:console + + mesa + pixman + libdrm + libXfont + libepoxy + libxshmfence + wayland-client + xorg-server-common + + + /usr/bin/Xwayland + + + + xorg-server-xephyr + Nested X Server + Başka bir X ekranında çalışabilen X sunucusu + app:console + + xorg-server-common + mesa + xcb-util + libunwind + pixman + libXext + libXfont + libepoxy + xcb-util-wm + libxshmfence + xcb-util-image + xcb-util-keysyms + xcb-util-renderutil + + + /usr/bin/Xephyr + /usr/share/man/man1/Xephyr.1 + + + + xorg-server-xvfb + Virtual Framebuffer X Server + Sanal framebuffer X sunucusu + app:console + GPLv2 + + xorg-server-common + libXfont + pixman + mesa + libunwind + + + /usr/bin/[Xx]vfb* + /usr/share/man/man1/Xvfb.1 + + + xvfb-run.sh + + + + xorg-server-xnest + A nested X server that runs as an X application + + libXfont + libXext + libunwind + pixman + + + /usr/bin/Xnest + /usr/share/man/man1/Xnest.1 + + + + xorg-server-devel + Headers and libraries for X server driver development + X sunucusu için sürücü geliştirmede kullanılan başlık ve kitaplık dosyaları + data + library + + xorg-server + libpciaccess-devel + pixman-devel + mesa-devel + + + /usr/include/xorg + /usr/lib/libxf86config.a + /usr/lib/pkgconfig + /usr/share/aclocal + + + + + 2015-05-17 + 1.17.1 + Version bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2015-02-06 + 1.16.3 + Release xorg-server-xnest + Ergün Salman + poyraz76@pisilinux.org + + + 2015-01-20 + 1.16.3 + Version bump. + Ergün Salman + poyraz76@pisilinux.org + + + 2014-08-31 + 1.16.0 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-06-27 + 1.15.2 + Version bump. + Vedat Demir + vedat@pisilinux.org + + + 2014-05-16 + 1.15.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-04-15 + 1.15.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-04-13 + 1.15.0 + Release bump,update driversdb + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-03-07 + 1.15.0 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-02-02 + 1.14.2 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-11-06 + 1.14.2 + Fix deps. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-11 + 1.14.2 + Update driversDB + Marcin Bojara + marcin@pisilinux.org + + + 2013-08-25 + 1.14.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-28 + 1.14.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-27 + 1.14.1 + Dep Fixed, rebuild + Osman Erkan + osman.erkan@pisilinux.org + + + 2013-06-21 + 1.14.1 + Rebuild. + Marcin Bojara + marcin@pisilinux.org + + + 2013-05-29 + 1.14.1 + build for xorg 1.14 + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-04-18 + 1.14.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-02-05 + 1.13.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-09-25 + 1.13.0 + First release + Erdem Artan + admins@pisilinux.org + + + + + + alsa-lib + http://www.alsa-project.org/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + app:console + hardware.sound + The Advanced Linux Sound Architecture (ALSA) library + Gelişmiş Linux Ses Mimarisi kütüphanesi + alsa-lib provides ALSA runtime libraries to simplify application programming and provide higher level functionality as well as support for the older OSS API, providing binary compatibility for most OSS programs. + alsa-lib, ses aygıtlarına erişim sağlayarak kolayca uygulama yazılmasını sağlayan bir kütüphanedir. + ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.29.tar.bz2 + + python-devel + + hardware/sound/alsa-lib/pspec.xml + + + alsa-lib + + python + + + /usr/lib + /usr/bin + /usr/share/doc + /usr/share/alsa + + + + alsa-lib-devel + Development files for alsa-lib + alsa-lib için geliştirme dosyaları + + alsa-lib + + + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/include/sys + /usr/include/alsa + /usr/share/aclocal + /usr/share/man/man3 + + + + alsa-lib-32bit + 32-bit shared libraries for alsa-lib + alsa-lib için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + glibc-32bit + + + glibc-32bit + + + /usr/lib32 + + + + + 2015-03-04 + 1.0.29 + Version bump. + Hakan Yıldız + hknyldz93@gmail.com + + + 2014-08-19 + 1.0.28 + Rebuild version 28. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-08-19 + 1.0.28 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-26 + 1.0.27.2 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-03-05 + 1.0.27.2 + Rebuild for buildhost + PisiLinux Community + admins@pisilinux.org + + + 2013-08-22 + 1.0.27.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-27 + 1.0.27.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-10-13 + 1.0.26.20121013 + First release + Erdinç Gültekin + admins@pisilinux.org + + + + + + libmtdev + http://bitmath.org/code/mtdev + + PisiLinux Community + admins@pisilinux.org + + MIT + library + hardware.misc + Multitouch Protocol Translation Library + Çoklu Dokunmatik Protokol Dönüşüm Kütüphanesi + The libmtdev is a stand-alone library which transforms all variants of kernel MT events to the slotted type B protocol. + Libmtdev kütüphanesi, kernel MT olaylarının tüm çeşitlerini slotlu B tipi protokole dönüştürür. + http://bitmath.org/code/mtdev/mtdev-1.1.5.tar.gz + hardware/misc/libmtdev/pspec.xml + + + libmtdev + + /usr/bin + /usr/lib + /usr/share/doc + + + + libmtdev-devel + Development files of libmtdev + Libmtdev için geliştirme dosyaları + + libmtdev + + + /usr/include + /usr/lib/pkgconfig + + + + libmtdev-32bit + 32-bit shared libraries for libmtdev + emul32 + emul32 + + libmtdev + + + /usr/lib32 + + + + + 2014-05-16 + 1.1.5 + Version bump. + Kamil Atlı + suvarice@gmail.com + + + 2014-03-09 + 1.1.3 + Rebuild. + Kamil Atlı + suvarice@gmail.com + + + 2012-10-03 + 1.1.3 + First release + PisiLinux Community + admins@pisilinux.org + + + + + + cups + http://www.cups.org/ + + Pisi Linux Admins + admins@pisilinux.org + + GPLv2 + service + hardware.printer + Common Unix Printing System + Unix Ortak Yazdırma Sistemi + cups provides a portable printing layer for *nix-based operating systems. + http://www.cups.org/software/2.0.3/cups-2.0.3-source.tar.bz2 + + acl-devel + pam-devel + dbus-devel + zlib-devel + libusb-devel + libgcc + avahi-devel + cups-filters + mit-kerberos + libpaper-devel + + + archlinux/cups-no-export-ssllibs.patch + archlinux/cups-no-gzip-man.patch + archlinux/cups-1.6.2-statedir.patch + archlinux/cups-no-gcrypt.patch + fedora/cups-enum-all.patch + fedora/cups-final-content-type.patch + fedora/cups-res_init.patch + gentoo/cups-1.6.0-fix-install-perms.patch + gentoo/cups-2.0.1-rename-systemd-service-files.patch + pisilinux/lib64.patch + pisilinux/nostrip.patch + pisilinux/cups-run.patch + pld-linux/cups-avahi-address.patch + + hardware/printer/cups/pspec.xml + + + cups + + acl + pam + dbus + zlib + libusb + libgcc + libpaper + avahi-libs + mit-kerberos + + + /etc/cups/*conf + /usr/lib/tmpfiles.d/cups.conf + /usr/lib + /usr/sbin + /usr/bin + /var/cache/cups/rss + /var/spool/cups/tmp + /run/cups/certs + /var/log/cups + /etc + /lib/udev/rules.d + /lib/systemd/system + /usr/share/cups + /usr/share/icons + /usr/share/applications + /usr/share/doc + /usr/share/man + /usr/share/locale + + + System.Service + System.Package + + + tmpfiles.conf + cups.logrotate + fedora/textonly.ppd + + + + cups-devel + Development files for cups + cups için geliştirme dosyaları + + cups + + + /usr/include + /usr/bin/cups-config + + + + cups-32bit + 32-bit shared libraries for cups + cups için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + glibc-32bit + zlib-32bit + openssl-32bit + + + glibc-32bit + zlib-32bit + openssl-32bit + cups + + + /usr/bin/cups-config-32bit + /usr/lib32 + + + + + 2015-06-10 + 2.0.3 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-02-05 + 2.0.1 + Version bump. + Vedat Demir + vedat@pisilinux.org + + + 2014-09-25 + 1.7.5 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-20 + 1.7.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-01-30 + 1.7.1 + Fix comar service. + Marcin Bojara + marcin@pisilinux.org + + + 2014-01-18 + 1.7.1 + Add tmpfiles.conf. Rebuild. + Marcin Bojara + marcin@pisilinux.org + + + 2014-01-17 + 1.7.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-11-1 + 1.7.0 + Version bump. + Kamil Atlı + suvarice@gmail.com + + + 2013-10-14 + 1.6.4 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-07-13 + 1.6.3 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-05-19 + 1.6.1 + Lib64 path correction. + Ertan Güven + ertan@pisilinux.org + + + 2013-03-13 + 1.6.1 + Version bump + Ertan Güven + ertan@pisilinux.org + + + 2012-10-18 + 1.5.4 + Fixed + Osman Erkan + osman.erkan@pisilinux.org + + + 2012-10-18 + 1.5.4 + First release + Erdinç Gültekin + admins@pisilinux.org + + + + + + harfbuzz + http://www.freedesktop.org/software/harfbuzz + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + desktop.font + 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 + + desktop/font/harfbuzz/pspec.xml + + + 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 + 32-bit shared libraries for harfbuzz + emul32 + 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 + + + + + + fontconfig + http://fontconfig.org + + PisiLinux Community + admins@pisilinux.org + + MIT + library + desktop.font + A library for configuring and customizing font access + 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 est un librairie conçue pour fournir à tout le système accès à la possibilité de configurer, personnaliser et appliquer des fontes. + Fontconfig is a library designed to provide system-wide font configuration, customization and application access. + Fontconfig sistem genelindeki programlar için yazıtiplerinin ayarlanmasını, özelleştirilmesini ve programlar tarafından erişilmesini sağlar. + 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. + 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 + + desktop/font/fontconfig/pspec.xml + + + 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 için geliştirme dosyaları + Pliki nagłówkowe fontconfig + + fontconfig + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/doc/fontconfig/fontconfig-devel.txt + /usr/share/man + + + + fontconfig-32bit + 32-bit shared libraries for fontconfig + fontconfig için 32-bit paylaşımlı kitaplıklar + emul32 + 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 + + + + + + kde5-kplasma-addons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Additional client tools for KDE applications + Additional client tools for KDE applications + http://download.kde.org/stable/plasma/5.3.1/kdeplasma-addons-5.3.1.tar.xz + + qt5-base-devel + scim-devel + ibus-devel + kde5-kdoctools-devel + kde5-kdelibs4-support-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-kdeplasma-addons/pspec.xml + + + kde5-kdeplasma-addons + + qt5-base + kde5-plasma-framework + kde5-knewstuff + kde5-krunner + kde5-kio + kde5-ki18n + kde5-kross + kde5-sonnet + kde5-kconfig + kde5-kxmlgui + kde5-karchive + kde5-kpackage + kde5-kservice + qt5-x11extras + qt5-declarative + kde5-kcompletion + kde5-kcoreaddons + kde5-kwindowsystem + kde5-kconfigwidgets + kde5-knotifications + kde5-kwidgetsaddons + kde5-kunitconversion + kde5-kdelibs4-support + ibus + scim-libs + xcb-util-keysyms + + + /usr/share + /etc/xdg + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-oxygen-themes + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 Oxygen themes + KDE5 Oxygen themes + http://download.kde.org/stable/plasma/5.3.1/oxygen-5.3.1.tar.xz + + qt5-base-devel + python3 + kde5-kdoctools-devel + kde5-kdecorations-devel + kde5-framework-integration-devel + automoc4 + gettext + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-oxygen-themes/pspec.xml + + + kde5-oxygen-themes + + qt5-base + kde5-kdecorations + python3 + kde5-ki18n + kde5-kconfig + qt5-x11extras + kde5-kguiaddons + kde5-kcompletion + kde5-kcoreaddons + kde5-kwindowsystem + kde5-kconfigwidgets + kde5-kwidgetsaddons + kde5-framework-integration + + + /usr/share + /usr/share/locale + /usr/share/icons + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-powerdevil + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE power manager module + KDE Power Management module. Provides kded daemon DBus helper and KCM for configuring Power settings + http://download.kde.org/stable/plasma/5.3.1/powerdevil-5.3.1.tar.xz + + qt5-base-devel + kde5-kdoctools-devel + kde5-kidletime-devel + kde5-plasma-workspace-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-powerdevil/pspec.xml + + + kde5-powerdevil + + qt5-base + kde5-kdoctools + kde5-kidletime + kde5-plasma-workspace + kde5-kio + kde5-kauth + kde5-ki18n + kde5-solid + kde5-kconfig + kde5-kxmlgui + kde5-kservice + qt5-x11extras + kde5-libkscreen + kde5-kactivities + kde5-kcompletion + kde5-kcoreaddons + kde5-kdbusaddons + kde5-kglobalaccel + kde5-knotifyconfig + kde5-kconfigwidgets + kde5-knotifications + kde5-kwidgetsaddons + kde5-kdelibs4-support + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-05-29 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-03-29 + 5.2.1 + First release + Stefan Gronewold + groni@pisilinux.org + + + + + + kde5-kscreen + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Provides the interface and basic tools for the KDE workspace + Provides the interface and basic tools for the KDE workspace + http://download.kde.org/stable/plasma/5.3.1/kscreen-5.3.1.tar.xz + + qt5-base-devel + qt5-graphicaleffects + python3 + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-kscreen/pspec.xml + + + kde5-kscreen + + qt5-base + kde5-libkscreen + qt5-declarative + kde5-kcoreaddons + kde5-kglobalaccel + kde5-kconfigwidgets + kde5-kwidgetsaddons + kde5-kdbusaddons + kde5-ki18n + kde5-kxmlgui + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-06-06 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kmenuedit + http://www.kde.org + + Pisi Linux admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Provides the interface and basic tools for the KDE workspace + Provides the interface and basic tools for the KDE workspace + http://download.kde.org/stable/plasma/5.3.1/kmenuedit-5.3.1.tar.xz + + qt5-base-devel + kde5-kdoctools-devel + extra-cmake-modules + python3 + + desktop/kde/kde5-plasma/kde5-kmenuedit/pspec.xml + + + kde5-kmenuedit + + qt5-base + kde5-kconfig + kde5-kservice + kde5-kcompletion + kde5-kcoreaddons + kde5-kconfigwidgets + kde5-kwidgetsaddons + kde5-kdbusaddons + kde5-kdelibs4-support + kde5-khotkeys + kde5-ki18n + kde5-kiconthemes + kde5-kio + kde5-kxmlgui + kde5-sonnet + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-06-15 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-libksysguard + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Task management and system monitoring library + Task management and system monitoring library + http://download.kde.org/stable/plasma/5.3.1/libksysguard-5.3.1.tar.xz + + qt5-base-devel + python3 + kde5-kdoctools-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-libksysguard/pspec.xml + + + kde5-libksysguard + + qt5-base + libXres + qt5-webkit + qt5-x11extras + kde5-kwindowsystem + kde5-kconfigwidgets + kde5-kwidgetsaddons + kde5-kconfig + kde5-kauth + kde5-kcoreaddons + kde5-kdelibs4-support + kde5-ki18n + kde5-plasma-framework + + + /etc + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + kde5-libksysguard-devel + Development files for kde5-libksysguard + + qt5-base-devel + kde5-libksysguard + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + kde-workspace-devel + + + kde-workspace-devel + + + + + 2015-06-12 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kinfocenter + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 info center + KDE5 Utility that provides information about a computer system. + http://download.kde.org/stable/plasma/5.3.1/kinfocenter-5.3.1.tar.xz + + qt5-base-devel + python3 + kde5-kcmutils-devel + kde5-kcompletion-devel + kde5-kconfig-devel + kde5-kdelibs4-support-devel + kde5-kdoctools-devel + kde5-ki18n-devel + kde5-kio-devel + kde5-kwindowsystem-devel + kde5-kxmlgui-devel + kde5-kservice-devel + kde5-kcoreaddons-devel + kde5-kdbusaddons-devel + kde5-kiconthemes-devel + kde5-kconfigwidgets-devel + kde5-kwidgetsaddons-devel + libraw1394-devel + kde5-plasma-framework-devel + kde5-solid-devel + pciutils-devel + mesa-glu-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-kinfocenter/pspec.xml + + + kde5-kinfocenter + + qt5-base + qt5-declarative + kde5-kservice + kde5-kcoreaddons + kde5-kdbusaddons + kde5-kiconthemes + kde5-kconfigwidgets + kde5-kwidgetsaddons + kde5-kcompletion + kde5-kconfig + kde5-kdelibs4-support + kde5-ki18n + kde5-kio + kde5-kxmlgui + libraw1394 + kde5-kwayland + kde5-kcmutils + kde5-solid + kde5-kdeclarative + mesa-glu + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + kcm-about-distrorc + + + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kdecorations + https://projects.kde.org/projects/kde/workspace/kdecoration + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv3 + library + unknown + Plugin based library to create window decorations + Plugin based library to create window decorations + Plugin based library to create window decorations + Plugin based library to create window decorations + http://download.kde.org/stable/plasma/5.3.1/kdecoration-5.3.1.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-kdecorations/pspec.xml + + + kde5-kdecorations + + qt5-base + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kdecorations-devel + Development files for kwin + + qt5-base-devel + kde5-kdecorations + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + kde-workspace-devel + + + kde-workspace-devel + + + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-system-settings + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 system settings manager + System-settings is a control panel for KDE5 Plasma + http://download.kde.org/stable/plasma/5.3.1/systemsettings-5.3.1.tar.xz + + qt5-base-devel + kde5-kdoctools-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-system-settings/pspec.xml + + + kde5-system-settings + + qt5-base + kde5-kauth + kde5-kcompletion + kde5-kcoreaddons + kde5-kconfigwidgets + kde5-kwidgetsaddons + kde5-kcmutils + kde5-kconfig + kde5-kdbusaddons + kde5-khtml + kde5-ki18n + kde5-kiconthemes + kde5-kio + kde5-kitemviews + kde5-kservice + kde5-kwindowsystem + kde5-kxmlgui + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-system-settings-devel + Development files for system-settings + + qt5-base-devel + kde5-system-settings + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-29 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-sddm-kcm + https://projects.kde.org/projects/kde/workspace/sddm-kcm + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + app:console + unknown + KDE5 Config Module for SDDM + KDE5 Config Module for SDDM + KDE5 Config Module for SDDM + KDE5 Config Module for SDDM + http://download.kde.org/stable/plasma/5.3.1/sddm-kcm-5.3.1.tar.xz + + kde5-kcoreaddons-devel + kde5-kdoctools-devel + kde5-kconfigwidgets-devel + kde5-kauth-devel + kde5-kxmlgui-devel + kde5-ki18n-devel + qt5-base-devel + kde5-kio-devel + qt5-declarative-devel + qt5-tools-devel + qt5-x11extras-devel + kde5-kconfig-devel + docutils + libXcursor-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-sddm-kcm/pspec.xml + + + kde5-sddm-kcm + + kde5-kcoreaddons + kde5-sddm + kde5-kconfigwidgets + kde5-kauth + kde5-kxmlgui + kde5-ki18n + qt5-base + kde5-kio + kde5-kdoctools + libXcursor + kde5-kconfig + qt5-x11extras + qt5-declarative + xorg-server-xephyr + + + /etc/dbus-1/system.d + /usr/share/dbus-1/system-services + /usr/share/kservices5 + /usr/share/ + /usr/share/polkit-1/actions + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5/plugins + /usr/lib/libexec/kauth + /usr/lib + /usr/share/doc + + + + + 2015-06-14 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kio-extras + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Additional KIO-slaves for KDE5 applications + Additional KIO-slaves for KDE5 applications + http://download.kde.org/stable/plasma/5.3.1/kio-extras-5.3.1.tar.xz + + qt5-base-devel + python3 + gettext + shared-mime-info + libmtp-devel + shared-mime-info + openexr-devel + openslp-devel + kde5-karchive-devel + kde5-kconfig-devel + kde5-kcoreaddons-devel + kde5-kdbusaddons-devel + kde5-kdelibs4-support-devel + kde5-kdnssd-devel + kde5-kdoctools-devel + kde5-khtml-devel + kde5-ki18n-devel + kde5-kiconthemes-devel + kde5-kio-devel + kde5-solid-devel + libjpeg-turbo-devel + libssh-devel + openslp-devel + qt5-phonon-devel + samba-devel + exiv2-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-kio-extras/pspec.xml + + + kde5-kio-extras + + qt5-base + qt5-svg + libmtp + kde5-kpty + kde5-kparts + kde5-kcodecs + kde5-kxmlgui + kde5-kservice + kde5-kbookmarks + kde5-kguiaddons + kde5-kconfigwidgets + openexr + kde5-karchive + kde5-kconfig + kde5-kcoreaddons + kde5-kdbusaddons + kde5-kdelibs4-support + kde5-kdnssd + kde5-kdoctools + kde5-khtml + kde5-ki18n + kde5-kiconthemes + kde5-kio + kde5-solid + libjpeg-turbo + libssh + openslp + qt5-phonon + samba + exiv2-libs + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-06-14 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-khelpcenter + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE Help Center + KDE help center utility to read help documentation about various KDE applications. + http://download.kde.org/stable/plasma/5.3.1/khelpcenter-5.3.1.tar.xz + + qt5-base-devel + python3 + qt5-libdbusmenu-devel + kde5-kinit-devel + kde5-kcmutils-devel + kde5-khtml-devel + kde5-kdelibs4-support-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-khelpcenter/pspec.xml + + + kde5-khelpcenter + + qt5-base + kde5-kio + kde5-khtml + kde5-ki18n + kde5-kparts + kde5-kcodecs + kde5-kconfig + kde5-kxmlgui + kde5-kcmutils + kde5-kservice + kde5-kcompletion + kde5-kcoreaddons + kde5-kdbusaddons + kde5-kiconthemes + kde5-kwindowsystem + kde5-kconfigwidgets + kde5-kwidgetsaddons + kde5-kdelibs4-support + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kde-cli-tools + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Additional client tools for KDE applications + Tools based on KDE Frameworks 5 to better interact with the system + http://download.kde.org/stable/plasma/5.3.1/kde-cli-tools-5.3.1.tar.xz + + qt5-base-devel + kde5-kdoctools-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-kde-cli-tools/pspec.xml + + + kde5-kde-cli-tools + + qt5-base + qt5-svg + kde5-kio + kde5-ki18n + kde5-kservice + qt5-x11extras + kde5-kcompletion + kde5-kcoreaddons + kde5-kiconthemes + kde5-kwindowsystem + kde5-kconfigwidgets + kde5-kwidgetsaddons + kde5-kcmutils + kde5-kconfig + kde5-kdelibs4-support + kde5-kdesu + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + kdesu + + + System.Package + + + + + 2015-06-06 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-gtk-config + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + GTK2 and GTK3 Configurator for KDE + Configuration dialog to adapt GTK+ applications appearance to your taste under KDE. + http://download.kde.org/stable/plasma/5.3.1/kde-gtk-config-5.3.1.tar.xz + + qt5-base-devel + kde5-kio-devel + kde5-ki18n-devel + kde5-kcoreaddons-devel + kde5-kiconthemes-devel + kde5-kwidgetsaddons-devel + kde5-kcmutils-devel + kde5-karchive-devel + kde5-kauth-devel + kde5-kconfigwidgets-devel + kde5-knewstuff-devel + gtk2-devel + gtk3-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-gtk-config/pspec.xml + + + kde5-kde-gtk-config + + qt5-base + kde5-kio + kde5-ki18n + kde5-kcoreaddons + kde5-kiconthemes + kde5-kwidgetsaddons + kde5-kcmutils + kde5-karchive + kde5-kauth + kde5-knewstuff + kde5-kconfigwidgets + gtk2 + gtk3 + + + /usr/share + /etc/xdg/cgc* + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-runtime + + + kde-runtime + + + + + 2015-06-06 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-sddm + https://github.com/sddm/sddm + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + QML based X11 display manager + KDE Power Management module. Provides kded daemon DBus helper and KCM for configuring Power settings + https://github.com/sddm/sddm/archive/v0.11.0.tar.gz + + qt5-base-devel + qt5-tools-devel + qt5-base-devel + extra-cmake-modules + docutils + + + sddm_upstream.patch + sddm-0.10.0-upower.patch + sddm-0.11.0-consolekit.patch + + desktop/kde/kde5-plasma/kde5-sddm/pspec.xml + + + kde5-sddm + + qt5-base + qt5-declarative + docutils + xorg-server-xephyr + + + /etc + /usr/share + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + System.Service + System.Package + + + sddm.conf + sddm + + + + + 2014-09-20 + 0.11 + First release + Stefan Gronewold (groni) + groni@pisilinux.org + + + + + + kde5-kwin + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 window manager + KWin is the window manager of the K desktop environment. + http://download.kde.org/stable/plasma/5.3.1/kwin-5.3.1.tar.xz + + qt5-base-devel + qt5-tools-devel + qt5-multimedia-devel + kde5-kwayland + kde5-kdecorations-devel + qt5-script-devel + qt5-x11extras-devel + qt5-declarative-devel + kde5-kiconthemes-devel + kde5-kauth-devel + libXxf86vm-devel + libXext-devel + kde5-kactivities-devel + kde5-kcmutils-devel + kde5-kcompletion-devel + kde5-kconfig-devel + kde5-kconfigwidgets-devel + kde5-kcoreaddons-devel + kde5-kcrash-devel + kde5-kdeclarative-devel + kde5-kdoctools-devel + kde5-kglobalaccel-devel + kde5-ki18n-devel + kde5-kinit + kde5-kio-devel + kde5-knewstuff-devel + kde5-knotifications-devel + kde5-kservice-devel + kde5-kwidgetsaddons-devel + kde5-kwindowsystem-devel + kde5-kxmlgui-devel + kde5-plasma-framework-devel + mesa-devel + libICE-devel + libSM-devel + wayland-devel + wayland-client + wayland-cursor + libxkbcommon-devel + xcb-util-keysyms-devel + xcb-util-image-devel + libXcursor-devel + libepoxy-devel + + desktop/kde/kde5-plasma/kde5-kwin/pspec.xml + + + kde5-kwin + + qt5-base + qt5-script + kde5-kwayland + kde5-kdecorations + qt5-x11extras + qt5-declarative + kde5-kiconthemes + kde5-kauth + kde5-kactivities + kde5-kcmutils + kde5-kcompletion + kde5-kconfig + kde5-kconfigwidgets + kde5-kcoreaddons + kde5-kcrash + kde5-kdeclarative + kde5-kglobalaccel + kde5-ki18n + kde5-kio + kde5-knewstuff + kde5-knotifications + kde5-kservice + kde5-kwidgetsaddons + kde5-kwindowsystem + kde5-kxmlgui + kde5-plasma-framework + mesa + libICE + libSM + wayland-cursor + libxkbcommon + xcb-util-keysyms + xcb-util-image + libepoxy + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + kde5-kwin-devel + Development files for kwin + + qt5-base-devel + kde5-kwin + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + kde-workspace-devel + + + kde-workspace-devel + + + + + 2015-06-12 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + bluez-qt + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + GPLv2 + library + unknown + Qt wrapper for KDE 5 Bluez DBus API + Qt wrapper for KDE 5 DBus API. + http://download.kde.org/stable/plasma/5.3.1/bluez-qt-5.3.1.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/bluez-qt/pspec.xml + + + bluez-qt + + qt5-base + qt5-declarative + + + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + bluez-qt-devel + Development files for bluez-qt + + qt5-base-devel + bluez-qt + + + /usr/include + /usr/lib/cmake + + + + + 2015-06-06 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-plasma-desktop + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 plasma workspace + This package contains the basic packages for a Plasma workspace. + http://download.kde.org/stable/plasma/5.3.1/plasma-desktop-5.3.1.tar.xz + + qt5-base-devel + boost-devel + kde5-kdoctools-devel + xorg-server-devel + xorg-input-evdev-devel + xorg-input-synaptics-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-plasma-desktop/pspec.xml + + + kde5-plasma-desktop + + qt5-base + kde5-baloo + libxkbfile + kde5-kconfigwidgets + kde5-kwindowsystem + kde5-kpeople + kde5-knotifications + kde5-kwin + kde5-kwindowsystem + kde5-knotifyconfig + libcanberra + kde5-sonnet + kde5-powerdevil + kde5-system-settings + libXi + libXft + qt5-svg + kde5-kio + libXfixes + fontconfig + kde5-kauth + kde5-ki18n + kde5-solid + libXcursor + qt5-phonon + kde5-kparts + kde5-kcodecs + kde5-kconfig + kde5-krunner + kde5-kwallet + kde5-kxmlgui + kde5-karchive + kde5-kcmutils + kde5-kservice + qt5-x11extras + kde5-knewstuff + xcb-util-image + kde5-kbookmarks + kde5-kemoticons + kde5-kguiaddons + kde5-kitemviews + pulseaudio-libs + qt5-declarative + kde5-kactivities + kde5-kcompletion + kde5-kcoreaddons + kde5-kdbusaddons + kde5-kiconthemes + kde5-kjobwidgets + kde5-kdeclarative + kde5-kglobalaccel + kde5-kwidgetsaddons + kde5-kdelibs4-support + kde5-plasma-framework + kde5-plasma-workspace + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kcm-touchpad-frameworks, kdebase-workspace + + + kcm-touchpad-frameworks + + + + + 2015-05-29 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-breeze + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 Plasma artwork + Artwork, styles and assets for the Breeze visual style for the Plasma Desktop + http://download.kde.org/stable/plasma/5.3.1/breeze-5.3.1.tar.xz + + qt5-base-devel + qt5-x11extras-devel + kde5-framework-integration-devel + kde5-kdecorations-devel + kde5-kcoreaddons-devel + kde5-ki18n-devel + kde5-kwindowsystem-devel + kde5-kconfig-devel + kde5-kguiaddons-devel + kde5-kcoreaddons-devel + kde5-kconfigwidgets-devel + kde5-kwidgetsaddons-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-breeze/pspec.xml + + + kde5-breeze-style + + qt5-base + kde5-kconfig + kde5-kguiaddons + kde5-kcoreaddons + kde5-kconfigwidgets + kde5-kwidgetsaddons + qt5-x11extras + kde5-framework-integration + kde5-kcmutils + kde5-kcoreaddons + kde5-ki18n + kde5-kwindowsystem + kde5-kdecorations + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-breeze-icons + + kde5-breeze-style + + + /usr/share/icons + + + + kde5-breeze-cursors + + kde5-breeze-style + + + /usr/share/icons/breeze_cursors + + + + kde5-breeze-wallpapers + + qt5-base + + + /usr/share/wallpapers + + + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-plasma-nm + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + Plasma applet written in QML for managing network connections + Plasma applet written in QML for managing network connections + http://download.kde.org/stable/plasma/5.3.1/plasma-nm-5.3.1.tar.xz + + qt5-base-devel + kde5-networkmanager-qt-devel + kde5-modemmanger-qt-devel + kde5-kdelibs4-support-devel + python3 + openconnect-devel + kde5-kdoctools-devel + NetworkManager-devel + mobile-broadband-provider-info + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-plasma-nm/pspec.xml + + + kde5-plasma-nm + + qt5-base + NetworkManager + openconnect + kde5-kio + kde5-networkmanager-qt + kde5-modemmanager-qt + kde5-plasma-framework + kde5-ki18n + kde5-solid + kde5-kconfig + kde5-kwallet + kde5-kxmlgui + kde5-kservice + kde5-kitemviews + qt5-declarative + kde5-kcompletion + kde5-kcoreaddons + kde5-kdbusaddons + kde5-kiconthemes + kde5-kwindowsystem + kde5-kconfigwidgets + kde5-knotifications + kde5-kwidgetsaddons + kde5-kdelibs4-support + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-06-14 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-ksshaskpass + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + ssh-add helper that uses kwallet and kpassworddialog + ssh-add helper that uses kwallet and kpassworddialog + http://download.kde.org/stable/plasma/5.3.1/ksshaskpass-5.3.1.tar.xz + + qt5-base-devel + kde5-kdoctools + python3 + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-ksshaskpass/pspec.xml + + + kde5-ksshaskpass + + qt5-base + kde5-kcoreaddons + kde5-kwidgetsaddons + kde5-ki18n + kde5-kwallet + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + ksshaskpass.sh + + + + + 2015-06-18 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-ksysguard + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE system monitor + KDE5 system monitor daemon and service. + http://download.kde.org/stable/plasma/5.3.1/ksysguard-5.3.1.tar.xz + + qt5-base-devel + kde5-kio-devel + kde5-kxmlgui-devel + kde5-kcompletion-devel + kde5-kdbusaddons-devel + kde5-kiconthemes-devel + kde5-kwindowsystem-devel + kde5-kconfigwidgets-devel + kde5-knotifications-devel + kde5-kwidgetsaddons-devel + lm_sensors-devel + python3 + extra-cmake-modules + kde5-kdoctools-devel + kde5-kconfig-devel + kde5-kcoreaddons-devel + kde5-kdelibs4-support-devel + kde5-ki18n-devel + kde5-kinit + kde5-kitemviews-devel + kde5-knewstuff-devel + kde5-libksysguard-devel + kde5-plasma-framework-devel + + desktop/kde/kde5-plasma/kde5-ksysguard/pspec.xml + + + kde5-ksysguard + + qt5-base + icon-theme-hicolor + kde5-kio + kde5-kxmlgui + kde5-kcompletion + kde5-kdbusaddons + kde5-kiconthemes + kde5-kwindowsystem + kde5-kconfigwidgets + kde5-knotifications + kde5-kwidgetsaddons + lm_sensors + icon-theme-hicolor + xdg-utils + kde5-kdoctools + kde5-kconfig + kde5-kcoreaddons + kde5-kdelibs4-support + kde5-ki18n + kde5-kinit + kde5-kitemviews + kde5-knewstuff + kde5-libksysguard + kde5-plasma-framework + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-06-12 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-bluedevil + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE 5 Bluetooth Stack + Integrate the Bluetooth technology within KDE workspace and applications + http://download.kde.org/stable/plasma/5.3.1/bluedevil-5.3.1.tar.xz + + qt5-base-devel + kde5-kded-devel + kde5-plasma-framework-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-bluedevil/pspec.xml + + + kde5-bluedevil + + qt5-base + bluez-qt + kde5-kio + kde5-ki18n + kde5-kconfig + qt5-declarative + kde5-kcompletion + kde5-kcoreaddons + kde5-kdbusaddons + kde5-kiconthemes + kde5-kconfigwidgets + kde5-knotifications + kde5-kwidgetsaddons + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-06-06 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-libkscreen + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 screen management library + Dynamic display management library for KDE + http://download.kde.org/stable/plasma/5.3.1/libkscreen-5.3.1.tar.xz + + qt5-base-devel + qt5-x11extras-devel + xcb-util-devel + xcb-util-image-devel + xcb-util-keysyms-devel + libXcursor-devel + libXrandr-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-libkscreen/pspec.xml + + + kde5-libkscreen + + qt5-base + qt5-x11extras + + + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-libkscreen-devel + Development files for libkscreen + + qt5-base-devel + kde5-libkscreen + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-06 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-khotkeys + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 hotkey daemon + KDE5 hotkey daemon module allows you to configure custom keyboard shortcuts and mouse gestures. + http://download.kde.org/stable/plasma/5.3.1/khotkeys-5.3.1.tar.xz + + qt5-base-devel + kde5-kconfig-devel + kde5-kservice-devel + qt5-x11extras-devel + kde5-kcompletion-devel + kde5-kcoreaddons-devel + kde5-ktextwidgets-devel + kde5-kwindowsystem-devel + kde5-kconfigwidgets-devel + kde5-kwidgetsaddons-devel + kde5-kcmutils-devel + kde5-kdbusaddons-devel + kde5-kdelibs4-support-devel + kde5-kglobalaccel-devel + kde5-ki18n-devel + kde5-kio-devel + kde5-kxmlgui-devel + kde5-plasma-framework-devel + kde5-plasma-workspace-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-khotkeys/pspec.xml + + + kde5-khotkeys + + qt5-base + kde5-kconfig + kde5-kservice + qt5-x11extras + kde5-kcompletion + kde5-kcoreaddons + kde5-ktextwidgets + kde5-kwindowsystem + kde5-kconfigwidgets + kde5-kwidgetsaddons + kde5-kcmutils + kde5-kdbusaddons + kde5-kdelibs4-support + kde5-kglobalaccel + kde5-ki18n + kde5-kio + kde5-kxmlgui + kde5-plasma-framework + kde5-plasma-workspace + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-06-15 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kfilemetadata + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 library for extracting meta data from files. + KDE library for extracting meta data from files. + http://download.kde.org/stable/plasma/5.3.1/kfilemetadata-5.9.1.tar.xz + + qt5-base-devel + python + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-kfilemetadata/pspec.xml + + + kde5-kfilemetadata + + qt5-base + ebook-tools + exiv2-libs + taglib + ffmpeg + taglib + poppler-qt5 + kde5-karchive + kde5-ki18n + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kfilemetadata-devel + Development files for kfilemetadata + + qt5-base-devel + kde5-kfilemetadata + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-03 + 5.9.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-plasma-mediacenter + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + GPLv2 + library + unknown + A mediacenter user interface based on KDE Plasma components + A mediacenter user interface based on KDE Plasma components + http://download.kde.org/stable/plasma/5.3.1/plasma-mediacenter-5.3.1.tar.xz + + qt5-base-devel + qt5-multimedia-devel + kde5-baloo-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-plasma-mediacenter/pspec.xml + + + kde5-plasma-mediacenter + + qt5-base + kde5-baloo + kde5-kfilemetadata + kde5-kcoreaddons + qt5-declarative + kde5-kguiaddons + kde5-kservice + kde5-kconfig + kde5-ki18n + kde5-kio + taglib + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-06-18 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-baloo + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + Framework for searching and managing metadata + Baloo is a framework for searching and managing metada + http://download.kde.org/stable/plasma/5.3.1/baloo-5.9.1.tar.xz + + qt5-base-devel + kde5-kdoctools-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-baloo/pspec.xml + + + kde5-baloo + + qt5-base + qt5-declarative + xapian-core + kde5-kcoreaddons + kde5-kdbusaddons + kde5-kauth + kde5-kcmutils + kde5-kconfig + kde5-kcrash + kde5-kdelibs4-support + kde5-ki18n + kde5-kidletime + kde5-kio + kde5-krunner + kde5-solid + kde5-kfilemetadata + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + baloo + + + baloo + + + + kde5-baloo-devel + Development files for baloo-widgets + + qt5-base-devel + kde5-baloo + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + baloo-devel + + + baloo-devel + + + + + 2015-06-06 + 5.9.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kwrited + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 daemon listening for wall and write messages + KDE5 daemon listening for wall and write messages + http://download.kde.org/stable/plasma/5.3.1/kwrited-5.3.1.tar.xz + + qt5-base-devel + kde5-ki18n-devel + kde5-kdoctools-devel + kde5-kcoreaddons-devel + kde5-knotifications-devel + kde5-kpty-devel + kde5-kdelibs4-support-devel + kde5-kdbusaddons-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-kwrited/pspec.xml + + + kde5-kwrited + + qt5-base + kde5-kpty + kde5-kcoreaddons + kde5-knotifications + kde5-kdbusaddons + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-06-14 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-plasma-sdk + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + app:gui + unknown + Applications useful for Plasma development + Applications useful for Plasma development + http://download.kde.org/stable/plasma/5.3.1/plasma-sdk-5.3.1.tar.xz + + qt5-base-devel + qt5-webkit-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-plasma-sdk/pspec.xml + + + kde5-plasma-sdk + + qt5-base + kde5-ktexteditor + kde5-plasma-framework + kde5-kio + kde5-ki18n + kde5-kconfig + kde5-karchive + kde5-kpackage + kde5-kservice + qt5-declarative + kde5-kcompletion + kde5-kcoreaddons + kde5-kiconthemes + kde5-kdeclarative + kde5-kconfigwidgets + kde5-kwidgetsaddons + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-06-14 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kwayland + http://www.kde.org + + Stefan Gronewold(groni) + groni@pisilinux.org + + LGPLv3 + library + unknown + Qt-style Client and Server library wrapper for the Wayland libraries + Qt-style Client and Server library wrapper for the Wayland libraries + Qt-style Client and Server library wrapper for the Wayland libraries + Qt-style Client and Server library wrapper for the Wayland libraries + http://download.kde.org/stable/plasma/5.3.1/kwayland-5.3.1.tar.xz + + qt5-base-devel + extra-cmake-modules + wayland-devel + + desktop/kde/kde5-plasma/kde5-kwayland/pspec.xml + + + kde5-kwayland + + qt5-base + wayland-client + wayland-server + + + /usr/lib + /usr/share/doc + + + + kde5-kwayland-devel + + qt5-base-devel + kde5-kwayland + + + /usr/lib/cmake + /usr/include + /usr/lib/pkgconfig + + + + + 2015-06-11 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-milou + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDedicated search application built on top of Baloo + Dedicated search application built on top of Baloo + http://download.kde.org/stable/plasma/5.3.1/milou-5.3.1.tar.xz + + qt5-base-devel + qt5-declarative + python3 + kde5-kdoctools-devel + kde5-kdeclarative-devel + kde5-ki18n-devel + kde5-krunner-devel + kde5-plasma-framework-devel + kde5-kconfig-devel + kde5-kservice-devel + kde5-kcoreaddons-devel + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-milou/pspec.xml + + + kde5-milou + + qt5-base + qt5-declarative + kde5-krunner + kde5-kconfig + kde5-kservice + kde5-kcoreaddons + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-06-12 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-polkit-kde-authentication-agent-1 + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + app:gui + unknown + The KDE Plasma Workspace Components + The Polkit-KDE-Agent package contains a graphical Polkit authentication agent for the KDE Plasma Desktop. + http://download.kde.org/stable/plasma/5.3.1/polkit-kde-agent-1-5.3.1.tar.xz + + qt5-base-devel + kde5-kdoctools-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-plasma/kde5-polkit-kde-agent-1/pspec.xml + + + kde5-polkit-kde-authentication-agent-1 + + qt5-base + kde5-kcrash + kde5-kcoreaddons + polkit-qt + kde5-ki18n + kde5-kdbusaddons + kde5-kiconthemes + kde5-kwindowsystem + kde5-knotifications + kde5-kwidgetsaddons + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-05-29 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kjsembed + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + JavaScript support for HTML rendering engine on KDE5 + The KJSEmbed library is an easy-to-use wrapper around the KDE ECMAScript interpreter (kjs) that makes it easy to add scriptability to an application. + http://download.kde.org/stable/frameworks/5.10/portingAids/kjsembed-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + kde5-kdoctools-devel + python3 + extra-cmake-modules + + desktop/kde/porting-aids/kde5-kjsembed/pspec.xml + + + kde5-kjsembed + + qt5-base + qt5-svg + kde5-ki18n + kde5-kjs + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + + kde5-kjsembed-devel + Development files for kjsembed + + qt5-base-devel + kde5-kjsembed + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kjs + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + JavaScript engine for KDE + This library provides an ECMAScript compatible interpreter. The ECMA standard is based on well known scripting languages such as Netscape's JavaScript and Microsoft's JScript. + http://download.kde.org/stable/frameworks/5.10/portingAids/kjs-5.10.0.tar.xz + + qt5-base-devel + kde5-kdoctools-devel + extra-cmake-modules + + desktop/kde/porting-aids/kde5-kjs/pspec.xml + + + kde5-kjs + + qt5-base + + + /usr/bin + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + + kde5-kjs-devel + Development files for kjs + + qt5-base-devel + kde5-kjs + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-krunner + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Krunner Framework for providing different actions given a string query + Framework Integration is a set of plugins responsible for better integration of Qt applications when running on a KDE Plasma workspace. + http://download.kde.org/stable/frameworks/5.10/portingAids/krunner-5.10.0.tar.xz + + qt5-base-devel + kde5-kdoctools-devel + extra-cmake-modules + + desktop/kde/porting-aids/kde5-krunner/pspec.xml + + + kde5-krunner + + qt5-base + qt5-declarative + kde5-kconfig + kde5-kcoreaddons + kde5-ki18n + kde5-kio + kde5-kservice + kde5-plasma-framework + kde5-solid + kde5-threadweaver + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-krunner-devel + Development files for krunner + + qt5-base-devel + kde5-krunner + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kdelibs4-support + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Code and utilities to ease the transition to KDE Frameworks 5 + KDELibs4Support provides libraries to port KDE4 programs to QT5/KDE5 + http://download.kde.org/stable/frameworks/5.10/portingAids/kdelibs4support-5.10.0.tar.xz + + qt5-base-devel + perl-URI + qt5-tools-devel + kde5-kdoctools-devel + NetworkManager-devel + extra-cmake-modules + + desktop/kde/porting-aids/kde5-kdelibs4-support/pspec.xml + + + kde5-kdelibs4-support + + qt5-base + libICE + qt5-svg + qt5-x11extras + libSM + kde5-kauth + kde5-solid + kde5-kcodecs + kde5-kcoreaddons + kde5-kjobwidgets + kde5-kcompletion + kde5-kconfig + kde5-kconfigwidgets + kde5-kcrash + kde5-kdbusaddons + kde5-kglobalaccel + kde5-kguiaddons + kde5-ki18n + kde5-kiconthemes + kde5-kio + kde5-kitemviews + kde5-knotifications + kde5-kparts + kde5-kservice + kde5-ktextwidgets + kde5-kxmlgui + kde5-kwindowsystem + kde5-kwidgetsaddons + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + kde5-kdelibs4-support-devel + Development files for kdelibs4-support + + qt5-base-devel + kde5-kdelibs4-support + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kross + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE5 application scripting helper + Kross is a scripting bridge to embed scripting functionality into an application. It supports QtScript as a scripting interpreter backend. + http://download.kde.org/stable/frameworks/5.10/portingAids/kross-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + kde5-kdoctools-devel + extra-cmake-modules + + desktop/kde/porting-aids/kde5-kross/pspec.xml + + + kde5-kross + + qt5-base + qt5-script + kde5-kcoreaddons + kde5-ki18n + kde5-kcompletion + kde5-kiconthemes + kde5-kio + kde5-kparts + kde5-kwidgetsaddons + kde5-kxmlgui + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + kde5-kross-devel + Development files for kross + + qt5-base-devel + kde5-kross + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-khtml + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + HTML rendering engine for KDE + KHTML is a web rendering engine, based on the KParts technology and using KJS for JavaScript support. + http://download.kde.org/stable/frameworks/5.10/portingAids/khtml-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/porting-aids/kde5-khtml/pspec.xml + + + kde5-khtml + + qt5-base + qt5-x11extras + qt5-phonon + giflib + libjpeg-turbo + kde5-sonnet + kde5-kcodecs + kde5-kconfig + kde5-kjobwidgets + kde5-kwidgetsaddons + kde5-kcompletion + kde5-karchive + kde5-kconfigwidgets + kde5-kcoreaddons + kde5-kglobalaccel + kde5-ki18n + kde5-kiconthemes + kde5-kio + kde5-kjs + kde5-knotifications + kde5-kparts + kde5-kservice + kde5-ktextwidgets + kde5-kwallet + kde5-kwindowsystem + kde5-kxmlgui + + + /etc + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-khtml-devel + Development files for khtml + + kde5-khtml + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kmediaplayer + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE5 media player Plugin interface for media player features + KMediaPlayer builds on the KParts framework to provide a common interface for KParts that can play media files. + http://download.kde.org/stable/frameworks/5.10/portingAids/kmediaplayer-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/porting-aids/kde5-kmediaplayer/pspec.xml + + + kde5-kmediaplayer + + qt5-base + kde5-kparts + kde5-kxmlgui + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kmediaplayer-devel + Development files for kmediaplayer + + qt5-base-devel + kde5-kmediaplayer + kde5-ki18n-devel + kde5-kparts-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kxmlgui + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Framework for managing menu and toolbar actions + Kxmlgui provides a framework for managing menu and toolbar actions in an abstract way. + http://download.kde.org/stable/frameworks/5.10/kxmlgui-5.10.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + + session-restore.patch + + desktop/kde/kde5-framework/kde5-kxmlgui/pspec.xml + + + kde5-kxmlgui + + qt5-base + kde5-attica + kde5-kcoreaddons + kde5-kconfig + kde5-kconfigwidgets + kde5-kglobalaccel + kde5-ki18n + kde5-kiconthemes + kde5-kitemviews + kde5-ktextwidgets + kde5-kwidgetsaddons + kde5-kwindowsystem + + + /etc + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kxmlgui-devel + Development files for kxmlgui + + qt5-base-devel + kde5-kxmlgui + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-knotifications + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE5 Desktop notifications + KNotification is used to notify the user of an event. It covers feedback and persistent events. + http://download.kde.org/stable/frameworks/5.10/knotifications-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-knotifications/pspec.xml + + + kde5-knotifications + + qt5-base + qt5-phonon + qt5-libdbusmenu + libXtst + qt5-x11extras + kde5-kconfig + kde5-kcodecs + kde5-kcoreaddons + kde5-kiconthemes + kde5-kservice + kde5-kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-knotifications-devel + Development files for knotifications + + qt5-base-devel + kde5-knotifications + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kjobwidgets + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Widgets for showing progress of asynchronous jobs + KJobWIdgets provides widgets for showing progress of asynchronous jobs. + http://download.kde.org/stable/frameworks/5.10/kjobwidgets-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kjobwidgets/pspec.xml + + + kde5-kjobwidgets + + qt5-base + kde5-kcoreaddons + kde5-kwidgetsaddons + qt5-x11extras + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kjobwidgets-devel + Development files for kjobwidgets + + qt5-base-devel + kde5-kjobwidgets + kde5-kcoreaddons-devel + kde5-kwidgetsaddons-devel + qt5-x11extras-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kdnssd + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Network service discovery using Zeroconf + KDNSSD is a library for handling the DNS-based Service Discovery Protocol (DNS-SD), the layer of Zeroconf that allows network services, such as printers, to be discovered without any user intervention or centralized infrastructure. + http://download.kde.org/stable/frameworks/5.10/kdnssd-5.10.0.tar.xz + + qt5-base-devel + qt5-tools + avahi-devel + avahi-compat-libdns_sd-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kdnssd/pspec.xml + + + kde5-kdnssd + + qt5-base + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kdnssd-devel + Development files for kdnssd. + + qt5-base-devel + kde5-kdnssd + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kidletime + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Idle time reporting utility + KIdleTime is a singleton reporting information on idle time. It is useful not only for finding out about the current idle time of the PC, but also for getting notified upon idle time events, such as custom timeouts, or user activity. + http://download.kde.org/stable/frameworks/5.10/kidletime-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + qt5-x11extras-devel + + desktop/kde/kde5-framework/kde5-kidletime/pspec.xml + + + kde5-kidletime + + qt5-base + libXScrnSaver + libXext + qt5-x11extras + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kidletime-devel + Development files for kidletime + + kde5-kidletime + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kunitconversion + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE unit conversion framework + KUnitConversion provides functions to convert values in different physical units. + http://download.kde.org/stable/frameworks/5.10/kunitconversion-5.10.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kunitconversion/pspec.xml + + + kde5-kunitconversion + + qt5-base + kde5-ki18n + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kunitconversion-devel + Development files for kunitconversion + + qt5-base-devel + kde5-kunitconversion + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kwallet + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE password storage framework + This framework contains two main components: Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces. The kwalletd used to safely store the passwords on KDE work spaces. + http://download.kde.org/stable/frameworks/5.10/kwallet-5.10.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kwallet/pspec.xml + + + kde5-kwallet + + qt5-base + kde5-kconfig + kde5-kcoreaddons + kde5-kdbusaddons + kde5-ki18n + kde5-kiconthemes + kde5-knotifications + kde5-kservice + kde5-kwidgetsaddons + kde5-kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + + + + kde5-kwallet-devel + Development files for kwallet + + qt5-base-devel + kde5-kwallet + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kdeclarative + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Integration of QML and KDE workspaces + KDeclarative provides integration of QML and KDE workspaces. + http://download.kde.org/stable/frameworks/5.10/kdeclarative-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kdeclarative/pspec.xml + + + kde5-kdeclarative + + qt5-base + libepoxy + qt5-declarative + kde5-kpackage + kde5-kconfig + kde5-kservice + kde5-kcoreaddons + kde5-kglobalaccel + kde5-ki18n + kde5-kiconthemes + kde5-kio + kde5-kwidgetsaddons + kde5-kwindowsystem + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kdeclarative-devel + Development files for kdeclarative + + qt5-base-devel + kde5-kdeclarative + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kauth + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Framework which lets applications perform actions as a privileged user + Framework which lets applications perform actions as a privileged user + http://download.kde.org/stable/frameworks/5.10/kauth-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kauth/pspec.xml + + + kde5-kauth + + qt5-base + polkit-qt + kde5-kcoreaddons + + + /etc + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kauth-devel + Development files for kauth + + kde5-kauth + kde5-kcoreaddons-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kdesignerplugin + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + QT Designer integration for KDE5 Frameworks widgets + This framework provides plugins for Qt Designer that allow it to display the widgets provided by various KDE frameworks, as well as a utility (kgendesignerplugin) that can be used to generate other such plugins from ini-style description files. + http://download.kde.org/stable/frameworks/5.10/kdesignerplugin-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + kde5-kdoctools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kdesignerplugin/pspec.xml + + + kde5-kdesignerplugin + + qt5-base + kde5-kdewebkit + kde5-kcoreaddons + kde5-kitemviews + kde5-kconfig + kde5-sonnet + kde5-kcompletion + kde5-kconfigwidgets + kde5-kiconthemes + kde5-kio + kde5-kplotting + kde5-ktextwidgets + kde5-kwidgetsaddons + kde5-kxmlgui + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-modemmanger-qt + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Qt wrapper for ModemManager DBus API + Qt wrapper for ModemManager DBus API + http://download.kde.org/stable/frameworks/5.10/modemmanager-qt-5.10.0.tar.xz + + qt5-base-devel + ModemManager-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-modemmanager-qt/pspec.xml + + + kde5-modemmanager-qt + + qt5-base + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-modemmanger-qt-devel + Development files for kde5-modemmanger-qt + + qt5-base-devel + kde5-modemmanager-qt + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kwidgetsaddons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 desktop widgets + KdeWidgetsAddons is a framework contains addon widgets and shared libraries for applications using Qt5-Widgets. + http://download.kde.org/stable/frameworks/5.10/kwidgetsaddons-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kwidgetsaddons/pspec.xml + + + kde5-kwidgetsaddons + + qt5-base + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kwidgetsaddons-devel + Development files for kwidgetsaddons + + qt5-base-devel + kde5-kwidgetsaddons + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kdesu + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + User interface for running shell commands with root privileges + kdesu provides functionality for building GUI front ends for (password asking) console mode programs. + http://download.kde.org/stable/frameworks/5.10/kdesu-5.10.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kdesu/pspec.xml + + + kde5-kdesu + + qt5-base + kde5-kcoreaddons + kde5-kpty + kde5-kservice + kde5-ki18n + kde5-kconfig + + + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kdesu-devel + Development files for kdesu + + qt5-base-devel + kde5-kdesu + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kglobalaccel + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Global desktop keyboard shortcuts + KGlobalAccel allows you to have global accelerators that are independent of the focused window. + http://download.kde.org/stable/frameworks/5.10/kglobalaccel-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kglobalaccel/pspec.xml + + + kde5-kglobalaccel + + qt5-base + kde5-ki18n + kde5-kcrash + kde5-kconfig + qt5-x11extras + kde5-kcoreaddons + kde5-kdbusaddons + xcb-util-keysyms + kde5-kwindowsystem + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kglobalaccel-devel + Development files for kglobalaccel + + kde5-kglobalaccel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + extra-cmake-modules + http://www.kde.org + + Idris Kalp + idriskalp@gmail.com + + LGPLv2 + library + unknown + Extra cmake modules for KDE5 + Extra cmake modules KDE5 + http://download.kde.org/stable/frameworks/5.10/extra-cmake-modules-5.10.0.tar.xz + + python-sphinx + + desktop/kde/kde5-framework/extra-cmake-modules/pspec.xml + + + extra-cmake-modules + + /usr/lib + /usr/share + /usr/share/man/man7 + + + + + 2015-05-29 + 5.10.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-20 + 5.9.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-02-23 + 1.7.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-09-20 + 1.2.1 + First release + Idris Kalp + idriskalp@gmail.com + + + + + + kde5-knewstuff + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Framework for downloading and sharing additional application data + The KNewStuff library implements collaborative data sharing for applications. + http://download.kde.org/stable/frameworks/5.10/knewstuff-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-knewstuff/pspec.xml + + + kde5-knewstuff + + qt5-base + boost + kde5-kwidgetsaddons + kde5-ktextwidgets + kde5-kiconthemes + kde5-kcompletion + kde5-kitemviews + kde5-karchive + kde5-attica + kde5-kconfig + kde5-kcoreaddons + kde5-kcmutils + kde5-kdeclarative + kde5-kdbusaddons + kde5-ki18n + kde5-kio + kde5-kglobalaccel + kde5-kservice + kde5-kxmlgui + kde5-kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-knewstuff-devel + Development files for knewstuff + + qt5-base-devel + kde5-knewstuff + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-06 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kdoctools + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 document generator + kdoctools is an application aims to generate documents from DocBook. + http://download.kde.org/stable/frameworks/5.10/kdoctools-5.10.0.tar.xz + + qt5-base-devel + perl-URI + python + kde5-ki18n-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml + + + kde5-kdoctools + + qt5-base + libxslt + docbook-xsl + docbook-xml + kde5-karchive + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + /usr/share/man + + + + kde5-kdoctools-devel + Development files for kdoctools + + qt5-base-devel + kde5-kdoctools + kde5-karchive-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kplotting + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE5 Data plotting + Kplotting contains data plotting classes for QT 5 and KDE + http://download.kde.org/stable/frameworks/5.10/kplotting-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kplotting/pspec.xml + + + kde5-kplotting + + qt5-base + + + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kplotting-devel + Development files for kplotting + + qt5-base-devel + kde5-kplotting + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-ktextwidgets + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 text editing widgets + KTextWidgets provides widgets for displaying and editing text. It supports rich text as well as plain text. + http://download.kde.org/stable/frameworks/5.10/ktextwidgets-5.10.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-ktextwidgets/pspec.xml + + + kde5-ktextwidgets + + qt5-base + kde5-kconfig + kde5-kcompletion + kde5-kconfigwidgets + kde5-kiconthemes + kde5-kwidgetsaddons + kde5-ki18n + kde5-sonnet + kde5-kservice + kde5-kcoreaddons + kde5-kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-ktextwidgets-devel + Development files for ktextwidgets + + qt5-base-devel + kde5-ktextwidgets + kde5-kconfig-devel + kde5-kcompletion-devel + kde5-kconfigwidgets-devel + kde5-kiconthemes-devel + kde5-kwidgetsaddons-devel + kde5-ki18n-devel + kde5-sonnet-devel + kde5-kservice-devel + kde5-kcoreaddons-devel + kde5-kwindowsystem-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kcrash + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 crash handling application + KCrash provides support for intercepting and handling application crashes. + http://download.kde.org/stable/frameworks/5.10/kcrash-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kcrash/pspec.xml + + + kde5-kcrash + + qt5-base + qt5-x11extras + kde5-kcoreaddons + kde5-kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kcrash-devel + Development files for kcrash + + qt5-base-devel + qt5-x11extras-devel + kde5-kcrash + kde5-kcoreaddons-devel + kde5-kwindowsystem-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-framework-integration + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Framework providing components to allow applications to integrate with a KDE Workspace + Framework Integration is a set of plugins responsible for better integration of Qt applications when running on a KDE Plasma workspace. + http://download.kde.org/stable/frameworks/5.10/frameworkintegration-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-framework-integration/pspec.xml + + + kde5-framework-integration + + qt5-base + libXcursor + qt5-x11extras + kde5-kconfig + kde5-kxmlgui + kde5-kcompletion + kde5-kcoreaddons + kde5-kjobwidgets + kde5-kconfigwidgets + kde5-kiconthemes + kde5-ki18n + kde5-kio + kde5-knotifications + kde5-kwidgetsaddons + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-framework-integration-devel + Development files for framework-integration + + qt5-base-devel + kde5-framework-integration + + + /usr/include + /usr/lib/cmake + + + + + 2015-05-31 + 5.10.0 + New Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-karchive + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Qt 5 addon providing access to numerous types of archives + KArchive provides classes for easy reading, creation and manipulation of "archive" formats like ZIP and TAR. + http://download.kde.org/stable/frameworks/5.10/karchive-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-karchive/pspec.xml + + + kde5-karchive + + qt5-base + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-karchive-devel + Development files for karchive + + qt5-base-devel + kde5-karchive + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kxmlrpcclient + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + XML-RPC client library for KDE + This library contains simple XML-RPC Client support. It is used mainly by the egroupware module of kdepim, but is a complete client and is quite easy to use. Only one interface is exposed to the world, kxmlrpcclient/client.h and of that interface, you only need to use 3 methods: setUrl, setUserAgent and call. + http://download.kde.org/stable/frameworks/5.10/kxmlrpcclient-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + python3 + + desktop/kde/kde5-framework/kde5-kxmlrpcclient/pspec.xml + + + kde5-kxmlrpcclient + + qt5-base + kde5-ki18n + kde5-kcoreaddons + kde5-kio + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kxmlrpcclient-devel + Development files for kdelibs4-support + + qt5-base-devel + kde5-kxmlrpcclient + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kbookmarks + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Access and manipulate bookmarks stored using XBEL format + Framework which lets you access and manipulate bookmarks stored using XBEL format + http://download.kde.org/stable/frameworks/5.10/kbookmarks-5.10.0.tar.xz + + qt5-base-devel + python3 + qt5-tools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kbookmarks/pspec.xml + + + kde5-kbookmarks + + qt5-base + kde5-kcoreaddons + kde5-kcodecs + kde5-kconfig + kde5-kiconthemes + kde5-kwidgetsaddons + kde5-kxmlgui + + + /etc + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kbookmarks-devel + Development files for kbookmarks + + qt5-base-devel + kde5-kbookmarks + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kio + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Resource and network access abstraction + Network transparent access to files and data + http://download.kde.org/stable/frameworks/5.10/kio-5.10.0.tar.xz + + qt5-base-devel + kde5-kdoctools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kio/pspec.xml + + + kde5-kio + + qt5-base + mit-kerberos + kde5-knotifications + libxslt + qt5-script + qt5-x11extras + kde5-karchive + kde5-kconfig + kde5-kcodecs + kde5-kbookmarks + kde5-kcompletion + kde5-kconfigwidgets + kde5-kcoreaddons + kde5-kdbusaddons + kde5-ki18n + kde5-kiconthemes + kde5-kitemviews + kde5-kjobwidgets + kde5-kservice + kde5-ktextwidgets + kde5-kwallet + kde5-kwidgetsaddons + kde5-kwindowsystem + kde5-kxmlgui + kde5-solid + + + /etc/ + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + kde5-kio-devel + Development files for kio + + qt5-base-devel + kde5-kio + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kservice + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 Desktop Services + Kservice Provides a plugin framework for handling desktop services. Services can be applications or libraries. They can be bound to MIME types or handled by application specific code. + http://download.kde.org/stable/frameworks/5.10/kservice-5.10.0.tar.xz + + qt5-base-devel + python3 + kde5-kdoctools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kservice/pspec.xml + + + kde5-kservice + + qt5-base + kde5-kconfig + kde5-kcoreaddons + kde5-kcrash + kde5-kdbusaddons + kde5-ki18n + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + + kde5-kservice-devel + Development files for kservice + + qt5-base-devel + boost-devel + kde5-kservice + kde5-kconfig-devel + kde5-kcoreaddons-devel + kde5-kdbusaddons-devel + kde5-ki18n-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kactivities + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Library for KDE's Plasma Activities support + Kactivities provides an API for using and interacting with the Plasma Activities Manager. + http://download.kde.org/stable/frameworks/5.10/kactivities-5.10.0.tar.xz + + qt5-base-devel + python3 + boost-devel + extra-cmake-modules + + + build-source.patch + + desktop/kde/kde5-framework/kde5-kactivities/pspec.xml + + + kde5-kactivities + + qt5-base + qt5-declarative + kde5-kconfig + kde5-kconfigwidgets + kde5-kcoreaddons + kde5-kcmutils + kde5-kdeclarative + kde5-kdbusaddons + kde5-ki18n + kde5-kio + kde5-kglobalaccel + kde5-kservice + kde5-kxmlgui + kde5-kwindowsystem + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kactivities + + + kactivities + + + + kde5-kactivities-devel + Development files for kactivities + + qt5-base-devel + boost-devel + kde5-kactivities + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-plasma-framework + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Plasma library and runtime components based upon KDE Frameworks 5 and Qt5 + Plasma library and runtime components based upon KF5 and Qt5 + http://download.kde.org/stable/frameworks/5.10/plasma-framework-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + kde5-kdoctools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-plasma-framework/pspec.xml + + + kde5-plasma-framework + + qt5-base + qt5-svg + qt5-script + qt5-x11extras + qt5-declarative + mesa + kde5-kactivities + kde5-knotifications + kde5-kpackage + kde5-karchive + kde5-kconfig + kde5-kconfigwidgets + kde5-kcoreaddons + kde5-kdbusaddons + kde5-kdeclarative + kde5-kdoctools + kde5-kglobalaccel + kde5-kguiaddons + kde5-ki18n + kde5-kiconthemes + kde5-kio + kde5-kparts + kde5-kservice + kde5-kwindowsystem + kde5-kxmlgui + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-plasma-framework-devel + Development files for plasma-framework + + qt5-base-devel + mesa-devel + kde5-plasma-framework + kde5-kservice-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-networkmanager-qt + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + A QT wrapper around the NetworkManager libraries + A QT wrapper around the NetworkManager libraries + http://download.kde.org/stable/frameworks/5.10/networkmanager-qt-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + NetworkManager-devel + + desktop/kde/kde5-framework/kde5-networkmanager-qt/pspec.xml + + + kde5-networkmanager-qt + + qt5-base + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-networkmanager-qt-devel + Development files for kde5-networkmanager-qt + + qt5-base-devel + kde5-networkmanager-qt + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-knotifyconfig + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Configuration dialog for desktop notifications + KNotifyConfig provides a configuration dialog for desktop notifications which can be embedded in your application.. + http://download.kde.org/stable/frameworks/5.10/knotifyconfig-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-knotifyconfig/pspec.xml + + + kde5-knotifyconfig + + qt5-base + qt5-phonon + kde5-kconfig + kde5-kcompletion + kde5-ki18n + kde5-kio + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-knotifyconfig-devel + Development files for knotifyconfig + + qt5-base-devel + kde5-knotifyconfig + kde5-ki18n-devel + kde5-kio-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kcompletion + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Addon with auto completion widgets and classes + KCompletion provides widgets with advanced completion support as well as a lower-level completion class which can be used with your own widgets. + http://download.kde.org/stable/frameworks/5.10/kcompletion-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kcompletion/pspec.xml + + + kde5-kcompletion + + qt5-base + kde5-kconfig + kde5-kwidgetsaddons + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kcompletion-devel + Development files for kcompletion + + qt5-base-devel + kde5-kcompletion + kde5-kwidgetsaddons-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kwindowsystem + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 window manager access framework + KWindowSystem provides information about the state of the window manager and allows asking the window manager to change the using a more high-level interface than the NETWinInfo/NETRootInfo low-level classes. + http://download.kde.org/stable/frameworks/5.10/kwindowsystem-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kwindowsystem/pspec.xml + + + kde5-kwindowsystem + + qt5-base + qt5-x11extras + libXfixes + xcb-util-keysyms + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + + + + kde5-kwindowsystem-devel + Development files for kwindowsystem + + qt5-base-devel + libXrender-devel + libXfixes-devel + xcb-util-devel + xcb-util-keysyms-devel + kde5-kwindowsystem + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-threadweaver + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Multi-threaded programming framework for KDE + ThreadWeaver is a helper for multithreaded programming. It uses a job-based interface to queue tasks and execute them in an efficient way. + http://download.kde.org/stable/frameworks/5.10/threadweaver-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-threadweaver/pspec.xml + + + kde5-threadweaver + + qt5-base + + + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-threadweaver-devel + Development files for threadweaver + + qt5-base-devel + kde5-threadweaver + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kcodecs + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Plugins allowing Qt applications to access further types of images + KDE5 KCodecs provide a collection of methods to manipulate strings using various encodings. + http://download.kde.org/stable/frameworks/5.10/kcodecs-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kcodecs/pspec.xml + + + kde5-kcodecs + + qt5-base + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kcodecs-devel + Development files for kcodecs + + qt5-base-devel + kde5-kcodecs + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-sonnet + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE spell schecking library + This framework contains two main components: Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces. The kwalletd used to safely store the passwords on KDE work spaces. + http://download.kde.org/stable/frameworks/5.10/sonnet-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-sonnet/pspec.xml + + + kde5-sonnet + + qt5-base + aspell + hunspell + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + + + + kde5-sonnet-devel + Development files for sonnet + + qt5-base-devel + kde5-sonnet + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kiconthemes + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 icon utilities + This library contains classes to improve the handling of icons in applications using the KDE Frameworks. + http://download.kde.org/stable/frameworks/5.10/kiconthemes-5.10.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kiconthemes/pspec.xml + + + kde5-kiconthemes + + qt5-base + qt5-svg + kde5-kconfigwidgets + kde5-ki18n + kde5-kitemviews + kde5-kwidgetsaddons + kde5-kconfig + kde5-kcoreaddons + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kiconthemes-devel + Development files for kiconthemes + + kde5-kiconthemes + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kcmutils + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Utilities for interacting with KCModules + KCMUtils provides various classes to work with KCModules. KCModules can be created with the KConfigWidgets framework. + http://download.kde.org/stable/frameworks/5.10/kcmutils-5.10.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kcmutils/pspec.xml + + + kde5-kcmutils + + qt5-base + qt5-declarative + kde5-kdeclarative + kde5-kconfigwidgets + kde5-kwidgetsaddons + kde5-kconfig + kde5-kauth + kde5-kcoreaddons + kde5-ki18n + kde5-kiconthemes + kde5-kitemviews + kde5-kservice + kde5-kxmlgui + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kcmutils-devel + Development files for kcmutils + + qt5-base-devel + kde5-kcmutils + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-ki18n + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE Gettext-based UI text internationalization. + KI18n provides functionality for internationalizing user interface text in applications, based on the GNU Gettext translation system. + http://download.kde.org/stable/frameworks/5.10/ki18n-5.10.0.tar.xz + + qt5-base-devel + python + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-ki18n/pspec.xml + + + kde5-ki18n + + qt5-base + qt5-script + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-ki18n-devel + Development files for kde5-ki18n + + kde5-ki18n + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kconfig + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + app:gui + unknown + Advanced configuration system for KDE Frameworks 5 + Kconfig provides advanced libraries and tools for accessing configuration files. + http://download.kde.org/stable/frameworks/5.10/kconfig-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + + 0001-ensure-platform-window-resize-processing.patch + session-restore.patch + + desktop/kde/kde5-framework/kde5-kconfig/pspec.xml + + + kde5-kconfig + + qt5-base + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kconfig-devel + Development files for kde5-kconfig + + qt5-base-devel + kde5-kconfig + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kparts + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Plugin framework for user interface components + This library implements the framework for KDE parts, which are elaborate widgets with a user-interface defined in terms of actions (menu items, toolbar icons). + http://download.kde.org/stable/frameworks/5.10/kparts-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kparts/pspec.xml + + + kde5-kparts + + qt5-base + kde5-kjobwidgets + kde5-kconfig + kde5-kcoreaddons + kde5-ki18n + kde5-kiconthemes + kde5-knotifications + kde5-kservice + kde5-kwidgetsaddons + kde5-kxmlgui + kde5-kio + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kparts-devel + Development files for kparts + + qt5-base-devel + kde5-kparts + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kinit + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE applications initialization utility + Process launcher to speed up launching KDE applications. + http://download.kde.org/stable/frameworks/5.10/kinit-5.10.0.tar.xz + + qt5-base-devel + kde5-kdoctools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kinit/pspec.xml + + + kde5-kinit + + qt5-base + kde5-kcrash + kde5-kcoreaddons + kde5-kconfig + kde5-kdoctools + kde5-ki18n + kde5-kio + kde5-kservice + kde5-kwindowsystem + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/locale + /usr/bin + /usr/share/doc + /usr/share/man + + + + kde5-kinit-devel + Development files for kinit + + qt5-base-devel + kde5-kinit + + + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kimageformats + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Image formats addons for QT 5 + This framework provides additional image format plugins for QtGui. + http://download.kde.org/stable/frameworks/5.10/kimageformats-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kimageformats/pspec.xml + + + kde5-kimageformats + + qt5-base + openexr-libs + ilmbase + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kded + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 daemon + Kded runs in the background and performs a number of small tasks. + http://download.kde.org/stable/frameworks/5.10/kded-5.10.0.tar.xz + + qt5-base-devel + kde5-kdoctools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kded/pspec.xml + + + kde5-kded + + qt5-base + kde5-kcoreaddons + kde5-kconfig + kde5-kcrash + kde5-kdbusaddons + kde5-kservice + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + /usr/share/man + + + + kde5-kded-devel + Development files for kde5-kded + + qt5-base-devel + kde5-kded + + + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-06 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kpeople + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + A contact aggregation library for KDE + KPeople is a Framework for fetching contacts from different sources (Telepathy, Akonadi, Facebook, etc) and unifying them into a same model. + http://download.kde.org/stable/frameworks/5.10/kpeople-5.10.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kpeople/pspec.xml + + + kde5-kpeople + + qt5-base + kde5-kconfig + qt5-declarative + kde5-kcoreaddons + kde5-kservice + kde5-kwidgetsaddons + kde5-ki18n + kde5-kitemviews + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kpeople-devel + Development files for kpeople + + qt5-base-devel + kde5-kpeople + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-solid + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 hardware integration framework + Solid is a device integration framework.It provides a way of querying and interacting with hardware independently of the underlying operating system. + http://download.kde.org/stable/frameworks/5.10/solid-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-solid/pspec.xml + + + kde5-solid + + qt5-base + qt5-declarative + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + + + + kde5-solid-devel + Development files for solid + + qt5-base-devel + kde5-solid + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kapidox + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE5 Frameworks API documentation tools. + KDE5 Frameworks API documentation tools. + http://download.kde.org/stable/frameworks/5.10/kapidox-5.10.0.tar.xz + + python-Jinja2 + python-PyYAML + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kapidox/pspec.xml + + + kde5-kapidox + + qt5-base + + + /usr/bin + /usr/lib + /usr/share + /usr/share/locale + /usr/share/doc + + + + + 2015-05-30 + 5.10.0 + First Release + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-ktexteditor + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE5 text editor libraries + KTextEditor provides a powerful text editor component that you can embed in your application. + http://download.kde.org/stable/frameworks/5.10/ktexteditor-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-ktexteditor/pspec.xml + + + kde5-ktexteditor + + qt5-script + qt5-base + kde5-ktextwidgets + kde5-kwidgetsaddons + kde5-kconfigwidgets + kde5-kjobwidgets + kde5-kiconthemes + kde5-kcoreaddons + kde5-kcompletion + kde5-kitemviews + kde5-kxmlgui + kde5-kcodecs + kde5-karchive + kde5-kguiaddons + kde5-kconfig + kde5-ki18n + kde5-kio + kde5-ki18n + kde5-kparts + kde5-sonnet + + + /etc + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-ktexteditor-devel + Development files for ktexteditor + + qt5-base-devel + kde5-ktexteditor + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kpty + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Libraries for pseudo terminal devices + Kpty provides primitives to interface with pseudo terminal devices as well as a KProcess derived class for running child processes and communicating with them using kpty. + http://download.kde.org/stable/frameworks/5.10/kpty-5.10.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kpty/pspec.xml + + + kde5-kpty + + qt5-base + utempter + kde5-kcoreaddons + kde5-ki18n + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kpty-devel + Development files for kpty + + qt5-base-devel + utempter-devel + kde5-kcoreaddons-devel + kde5-ki18n-devel + kde5-kpty + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kconfigwidgets + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + app:gui + unknown + Kconfig widgets + KDE5-KConfigWidgets provides easy-to-use classes to create configuration dialogs, as well as a set of widgets which uses KConfig to store their settings. + http://download.kde.org/stable/frameworks/5.10/kconfigwidgets-5.10.0.tar.xz + + qt5-base-devel + python3 + kde5-kdoctools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kconfigwidgets/pspec.xml + + + kde5-kconfigwidgets + + qt5-base + kde5-kauth + kde5-kcodecs + kde5-kconfig + kde5-kcoreaddons + kde5-kguiaddons + kde5-ki18n + kde5-kwidgetsaddons + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + kde5-kconfigwidgets-devel + Development files for kconfigwidgets + + qt5-base-devel + kde5-kconfigwidgets + kde5-kauth-devel + kde5-kcodecs-devel + kde5-kconfig-devel + kde5-kguiaddons-devel + kde5-ki18n-devel + kde5-kwidgetsaddons-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-attica + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Open Collaboration Service client library, based on Qt 5 + Attica is a library to access Open Collaboration Service servers, based on Qt 5. + http://download.kde.org/stable/frameworks/5.10/attica-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-attica/pspec.xml + + + kde5-attica + + qt5-base + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-attica-devel + Development files for attica5 + + qt5-base-devel + kde5-attica + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-09-20 + 5.2.0 + First release + Idris Kalp + idriskalp@gmail.com + + + + + + kde5-kemoticons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE emoticon manager + KEmoticons converts emoticons from text to a graphical representation with images in HTML. + http://download.kde.org/stable/frameworks/5.10/kemoticons-5.10.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kemoticons/pspec.xml + + + kde5-kemoticons + + qt5-base + kde5-karchive + kde5-kcoreaddons + kde5-kconfig + kde5-kservice + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kemoticons-devel + Development files for kemoticons + + kde5-kemoticons + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kcoreaddons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Utilities for core application functionality and accessing the OS + KCoreAddons provides classes built on top of QtCore to perform various tasks such as manipulating mime types, autosaving files, creating backup files, generating random sequences, performing text manipulations such as macro replacement, accessing user information and many more. + http://download.kde.org/stable/frameworks/5.10/kcoreaddons-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kcoreaddons/pspec.xml + + + kde5-kcoreaddons + + qt5-base + gamin + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kcoreaddons-devel + Development files for kcoreaddons + + qt5-base-devel + kde5-kcoreaddons + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kdbusaddons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Extra modules for Qt-DBus + KDE5-KDBusAddons provides convenience classes on top of QtDBus, as well as an API to create KDED modules. + http://download.kde.org/stable/frameworks/5.10/kdbusaddons-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kdbusaddons/pspec.xml + + + kde5-kdbusaddons + + qt5-base + qt5-x11extras + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kdbusaddons-devel + Development files for kdbusaddons + + qt5-base-devel + kde5-kdbusaddons + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kdewebkit + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 WebKit integration + KdeWebkit provides KDE integration of the QtWebKit library. + http://download.kde.org/stable/frameworks/5.10/kdewebkit-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kdewebkit/pspec.xml + + + kde5-kdewebkit + + qt5-webkit + kde5-kconfig + kde5-kjobwidgets + qt5-base + kde5-kcoreaddons + kde5-kparts + kde5-kservice + kde5-kwallet + kde5-kio + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/mkspecs/modules/ + /usr/share/doc + + + + kde5-kdewebkit-devel + Development files for kdewebkit + + qt5-base-devel + kde5-kdewebkit + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kitemmodels + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Set of item models extending the Qt model-view framework + KItemModels provides a set of item models extending the Qt model-view framework. + http://download.kde.org/stable/frameworks/5.10/kitemmodels-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kitemmodels/pspec.xml + + + kde5-kitemmodels + + qt5-base + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kitemmodels-devel + Development files for kitemmodels + + qt5-base-devel + kde5-kitemmodels + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kpackage + https://userbase.kde.org/KPackage + + Stefan Gronewold(groni) + groni@pisilinux.org + + LGPL + app:library + unknown + Framework that lets applications manage user installable packages of non-binary assets + Framework that lets applications manage user installable packages of non-binary assets + KPackage is dependent on the Smart package manager. + KPackage is dependent on the Smart package manager. + http://download.kde.org/stable/frameworks/5.10/kpackage-5.10.0.tar.xz + + qt5-base-devel + python3 + qt5-tools-devel + extra-cmake-modules + kde5-kdoctools-devel + + desktop/kde/kde5-framework/kde5-kpackage/pspec.xml + + + kde5-kpackage + + qt5-base + kde5-kconfig + kde5-ki18n + kde5-kcoreaddons + kde5-karchive + + + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/include/ + /usr/share + /usr/share/locale + /usr/share/man/man1 + + + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kguiaddons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Utilities for graphical user interfaces + The KDE GUI addons provide utilities for graphical user interfaces in the areas of colors, fonts, text, images, keyboard input. Development files. + http://download.kde.org/stable/frameworks/5.10/kguiaddons-5.10.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kguiaddons/pspec.xml + + + kde5-kguiaddons + + qt5-base + qt5-x11extras + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kguiaddons-devel + Development files for kguiaddons + + kde5-kguiaddons + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kitemviews + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Set of item models extending the Qt model-view framework + KItemViews includes a set of views, which can be used with item models. It includes views for categorizing lists and to add search filters to flat and hierarchical lists. + http://download.kde.org/stable/frameworks/5.10/kitemviews-5.10.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/kde5-framework/kde5-kitemviews/pspec.xml + + + kde5-kitemviews + + qt5-base + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kde5-kitemviews-devel + Development files for kitemviews + + qt5-base-devel + kde5-kitemviews + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-konsole + https://projects.kde.org/projects/kde/applications/dolphin + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + unknown + KDE Konsole + Konsole for KDE5 + http://download.kde.org/stable/applications/15.04.2/src/konsole-15.04.2.tar.xz + + qt5-base-devel + extra-cmake-modules + kde5-kdoctools-devel + python3 + + desktop/kde/kde5-application/kde5-konsole/pspec.xml + + + kde5-konsole + + qt5-base + kde5-kinit + kde5-kdelibs4-support + kde5-kiconthemes + kde5-knotifyconfig + kde5-knotifications + kde5-kparts + kde5-kpty + kde5-kio + kde5-ki18n + kde5-kconfig + kde5-kxmlgui + kde5-kservice + kde5-knewstuff + kde5-kbookmarks + kde5-kguiaddons + kde5-kcompletion + kde5-kcoreaddons + kde5-kjobwidgets + kde5-ktextwidgets + kde5-kwindowsystem + kde5-kconfigwidgets + kde5-kwidgetsaddons + + + /usr/bin + /usr/share + /usr/lib + + + + + 2015-06-05 + 15.04.2 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-kate + http://www.kde.org + + Vedat Demir + vedat@pisilinux.org + + LGPLv2 + library + app:console + unknown + Plasma library and runtime components based upon KDE Frameworks 5 and Qt5 + Plasma library and runtime components based upon KF5 and Qt5 + http://download.kde.org/stable/applications/15.04.2/src/kate-15.04.2.tar.xz + + qt5-base-devel + kde5-plasma-framework-devel + python3 + kde5-kdoctools-devel + extra-cmake-modules + + desktop/kde/kde5-application/kde5-kate/pspec.xml + + + kde5-kate + + qt5-base + kde5-ki18n + kde5-kconfig + kde5-kguiaddons + kde5-kjobwidgets + kde5-kitemmodels + kde5-kio + kde5-kparts + kde5-ktexteditor + kde5-kwindowsystem + kde5-kxmlgui + kde5-plasma-framework + kde5-kwallet + kde5-kservice + kde5-kbookmarks + kde5-kcompletion + kde5-kcoreaddons + kde5-kdbusaddons + kde5-kiconthemes + kde5-ktextwidgets + kde5-threadweaver + kde5-kconfigwidgets + kde5-knotifications + kde5-kwidgetsaddons + + + /usr/share + /etc/xdg/k* + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-06-03 + 15.04.2 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde5-ark + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + unknown + KDE Archiving Tool + Ark is a program for managing various archive formats within the KDE environment. + http://download.kde.org/stable/applications/15.04.2/src/ark-15.04.2.tar.xz + + qt-devel + automoc4 + libarchive-devel + kde5-kdebaseapps-devel + kdelibs-devel + + desktop/kde/kde5-application/kde5-ark/pspec.xml + + + kde5-ark + + qt + kdelibs + kde5-kdebaseapps + libarchive + + + /usr/bin + /usr/share + /etc/xdg + /usr/share/locale + /usr/lib + /usr/share/icons + /usr/share/man + /usr/share/doc + + + + + 2015-06-05 + 15.04.2 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + qrencode + http://fukuchi.org/works/qrencode/index.en.html + + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + LGPLv2.1 + library + unknown + A C library for encoding data in a QR code symbol + QR kod sembolüne veri gömmek için bir kitaplık + qrencode is a C library for encoding data in a QR Code symbol, a kind of 2D symbology that can be scanned by handy terminals such as a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000 characters, and is highly robust. + qrencode, cep telefonları gibi mobil cihazlar tarafından kolaylıkla taranabilen, 2 boyutlu bir sembol olan QR kod içerisinde veri gömmek için kullanılan bir kitaplıktır. + http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz + + libsdl-devel + m4 + + desktop/kde/kde5-dependencies/qrencode/pspec.xml + + + qrencode + + libpng + + + /usr/lib + /usr/bin/qrencode + /usr/share/man/man1 + /usr/share/doc + + + + qrencode-devel + Development files for qrencode + qrencode için geliştirme dosyaları + + qrencode + + + /usr/include + /usr/lib/pkgconfig + + + + + 2015-02-22 + 3.4.4 + Rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-02-22 + 3.3.1 + Rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2012-04-05 + 3.3.1 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + prison-qt5 + http://www.kde.org + + Vedat Demir + vedat@pisilinux.org + + MIT + library + unknown + A barcode API to produce QRCode barcodes and DataMatrix barcode + A barcode API to produce QRCode barcodes and DataMatrix barcode. + https://dl.dropboxusercontent.com/s/50f2g48bhmvyg9d/prison.tar.xz + + python3 + mesa-devel + + desktop/kde/kde5-dependencies/prison-qt5/pspec.xml + + + prison-qt5 + + qt + mesa + libdmtx + qrencode + + + /usr/lib + /usr/share/doc + + + prison + + + prison + + + + prison-qt5-devel + Development files for libepoxy + + prison-qt5 + + + /usr/include + /usr/lib/pkgconfig + + + prison-devel + + + prison-devel + + + + + 2015-06-05 + 1.3 + First release + Vedat Demir + vedat@pisilinux.org + + + + + + libdmtx + http://www.libdmtx.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv2+ + library + unknown + A Library for working with Data Matrix 2D bar-codes + Data Matrix 2D barkodlarıyla çalışmak için kitaplık + libdmtx is an open source software for reading and writing Data Matrix 2D bar-codes on Linux, Unix, OS X, Windows and mobile devices. + libdmtx, Linux, Unix, OS X, Windows ve mobil işletim sistemlerinde Data Matrix 2D barkodlarını okumak ve yazmak için kullanılan açık kaynaklı bir kitaplıktır. + http://sourceforge.net/projects/libdmtx/files/libdmtx/0.7.4/libdmtx-0.7.4.tar.gz + + imagemagick-devel + + desktop/kde/kde5-dependencies/libdmtx/pspec.xml + + + libdmtx + + imagemagick + + + /usr/lib + /usr/share/doc + + + + libdmtx-devel + Development files for libdmtx + libdmtx için geliştirme dosyaları + + libdmtx + + + /usr/include + /usr/lib/pkgconfig + /usr/share/man/man3 + + + + + 2015-06-05 + 0.7.4 + Rebuild. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2011-08-09 + 0.7.4 + First release + Pisi Linux Admins + admins@pisilinux.org + + + + + + kde5-kdebaseapps + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + unknown + KDE-Baseapps: base applications from the official KDE release + Base application for KDE5 such as Dolphin, kfind, plasma-widget-folderview, konqueror etc. + http://download.kde.org/stable/applications/15.04.2/src/kde-baseapps-15.04.2.tar.xz + + kdelibs-devel + kfilemetadata-devel + automoc4 + tidy-devel + baloo-widgets-devel + baloo-devel + phonon-devel + kactivities-devel + libXrender-devel + libXt-devel + libraw1394-devel + shared-desktop-ontologies + kdepimlibs-devel + mesa-devel + + desktop/kde/kde5-base/kde5-baseapps/pspec.xml + + + kde5-kdebaseapps + + kfilemetadata + libXt + libXrender + phonon + qt + libXt + tidy + baloo-widgets + baloo + kdelibs + kactivities + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib + /usr/share/doc + + + + kde5-kdebaseapps-devel + Development files for kde5-kdebaseapps + + kde5-kdebaseapps + + + /usr/include + /usr/lib/cmake + + + + + 2015-06-03 + 15.04.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + icon-theme-hicolor + http://icon-theme.freedesktop.org/wiki/HicolorTheme + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + data + desktop.lookandfeel + Default icon theme + Temel simge teması + Hicolor icon theme contains the basic directories and files needed for icon theme support. + Hicolor, simge teması desteği için ihtiyaç duyulan temel dizin ve dosyalarıni içeren temel bir simge temasıdır. + http://icon-theme.freedesktop.org/releases/hicolor-icon-theme-0.12.tar.gz + desktop/lookandfeel/icon-theme-hicolor/pspec.xml + + + 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 + + + + + + qt5-quick1 + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Qt Quick is a free software application framework developed and maintained by the Qt Project within the Qt framework. + Qt4 uyumluluğu için Qt Declarative sunar + Qt Quick is a free software application framework developed and maintained by the Qt Project within the Qt framework. It provides a way of building custom, highly dynamic user interfaces with fluid transitions and effects, which are becoming more common especially in mobile devices. + Qt4 uyumluluğu için Qt Declarative sunar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtquick1-opensource-src-5.4.2.tar.xz + + mesa-devel + qt5-base-devel + qt5-script-devel + + desktop/toolkit/qt5/qt5-quick1/pspec.xml + + + qt5-quick1 + + mesa + qt5-base + qt5-xmlpatterns + qt5-script + qt5-webkit + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + /usr/lib/qt5/bin/ + /usr/bin + + + + qt5-quick1-devel + Development file for qt5-quick1 + Development file for qt5-quick1 + + qt5-base-devel + qt5-script-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-sensors + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Provides access to sensor hardware and motion gesture recognition + Donanım ve hareket algılama sensörüne erişim sağlar + Provides access to sensor hardware and motion gesture recognition + Donanım ve hareket algılama sensörüne erişim sağlar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtsensors-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-declarative-devel + + desktop/toolkit/qt5/qt5-sensors/pspec.xml + + + qt5-sensors + + qt5-base + qt5-declarative + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + + + + qt5-sensors-devel + qt5-sensors için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-websockets + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Provides WebSocket communication compliant with RFC 6455 + RFC 6455 ile yumuşak WebSocket iletişimi sağlar + Provides WebSocket communication compliant with RFC 6455 + RFC 6455 ile yumuşak WebSocket iletişimi sağlar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtwebsockets-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-declarative-devel + + desktop/toolkit/qt5/qt5-websockets/pspec.xml + + + qt5-websockets + + qt5-base + qt5-declarative + + + /usr/lib + /usr/lib/qt5 + + + + qt5-websockets-devel + qt5-websockets için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-script + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Classes for making Qt applications scriptable. Provided for Qt 4.x compatibility + Çalıştırılabilir Qt uygulamaları oluşturmak için sınıflar. Qt 4.x için uyumluluk sağlar + Classes for making Qt applications scriptable. Provided for Qt 4.x compatibility + Çalıştırılabilir Qt uygulamaları oluşturmak için sınıflar. Qt 4.x için uyumluluk sağlar. + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtscript-opensource-src-5.4.2.tar.xz + + qt5-base-devel + + desktop/toolkit/qt5/qt5-script/pspec.xml + + + qt5-script + + qt5-base + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + + + + qt5-script-devel + qt5-script için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-serialport + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Provides access to hardware and virtual serial ports + Donanım ve sanal seri portlara erişim sağlar + Provides access to hardware and virtual serial ports + Donanım ve sanal seri portlara erişim sağlar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtserialport-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-tools-devel + + desktop/toolkit/qt5/qt5-serialport/pspec.xml + + + qt5-serialport + + qt5-base + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + + + + qt5-serialport-devel + qt5-serialport için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-connectivity + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Provides access to Bluetooth hardware + Bluetooth donanımlarına bağlantı sağlar + Provides access to Bluetooth hardware + Bluetooth donanımlarına bağlantı sağlar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtconnectivity-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-declarative-devel + bluez-libs-devel + + desktop/toolkit/qt5/qt5-connectivity/pspec.xml + + + qt5-connectivity + + qt5-base + qt5-declarative + bluez-libs + + + /usr/bin + /usr/lib + /usr/share/licenses + /usr/lib/qt5 + /usr/lib/qt5/bin/ + + + + qt5-connectivity-devel + qt5-connectivity için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-02 + 5.4.2 + Version bump. + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-translations + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + A cross-platform application and UI framework (Translations) + Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) oluşturmaya yarayan bir araç takımıdır(Çeviriler) + A cross-platform application and UI framework (Translations) + Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) oluşturmaya yarayan bir araç takımıdır(Çeviriler) + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qttranslations-opensource-src-5.4.2.tar.xz + + qt5-base-devel + + desktop/toolkit/qt5/qt5-translations/pspec.xml + + + qt5-translations + + qt5-base + + + /usr/share/qt5 + /usr/share/licenses/ + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-webkit + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Classes for a WebKit2 based implementation and a new QML API + WebKit2 tabanlı uygulama ve yeni QML API için sınıflar + Classes for a WebKit2 based implementation and a new QML API + WebKit2 tabanlı uygulama ve yeni QML API için sınıflar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtwebkit-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-sensors-devel + qt5-location-devel + qt5-declarative-devel + libXtst-devel + gst-plugins-base-devel + libXcomposite-devel + icu4c-devel + libjpeg-turbo-devel + fontconfig-devel + glib2-devel + dbus-devel + ruby-devel + gstreamer-devel + libpng-devel + libpcre-devel + libudev-devel + webp-devel + zlib-devel + libxslt-devel + libXcomposite-devel + libX11-devel + libgcc + libXrender-devel + sqlite-devel + perl-Digest-MD5 + perl-Text-ParseWords + gperf + bison + flex + phonon-devel + + desktop/toolkit/qt5/qt5-webkit/pspec.xml + + + qt5-webkit + + qt5-base + mesa + webp + zlib + glib2 + icu4c + libX11 + libgcc + libpng + sqlite + libxml2 + libxslt + libXrender + qt5-sensors + qt5-location + libXcomposite + libjpeg-turbo + gstreamer-next + qt5-webchannel + qt5-declarative + gst-plugins-base-next + + + /usr/lib + /usr/lib/qt5/plugins + /usr/lib/qt5/ + /usr/lib/qt5/bin/ + /usr/bin + /usr/share/doc + + + + qt5-webkit-devel + qt5-webkit için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5/ + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-quickcontrols + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Reusable Qt Quick based UI controls to create classic desktop-style user interfaces + Klasik masaüstü biçimli kullanıcı arayüzleri oluşturmak için yeniden kullanılabilir Qt Quick tabanlı UI kontrolleri + Reusable Qt Quick based UI controls to create classic desktop-style user interfaces + Klasik masaüstü biçimli kullanıcı arayüzleri oluşturmak için yeniden kullanılabilir Qt Quick tabanlı UI kontrolleri + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtquickcontrols-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-declarative-devel + + desktop/toolkit/qt5/qt5-quickcontrols/pspec.xml + + + qt5-quickcontrols + + qt5-base + qt5-declarative + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses/ + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-wayland + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Provides APIs for Wayland + Wayland için API'ler sağlar + Provides APIs for Wayland + Wayland için API'ler sağlar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtwayland-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-declarative-devel + libxkbcommon-devel + xorg-server-xwayland + glib2-devel + libX11-devel + libgcc + mesa-devel + fontconfig-devel + freetype-devel + libXrender-devel + libudev-devel + libXcomposite-devel + libxkbcommon-devel + wayland-client + wayland-cursor + + desktop/toolkit/qt5/qt5-wayland/pspec.xml + + + qt5-wayland + + mesa + qt5-base + fontconfig + libXrender + libxkbcommon + libXcomposite + libXcomposite + wayland-client + wayland-cursor + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + /usr/lib/qt5/bin + /usr/bin + + + + qt5-wayland-devel + qt5-wayland için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-imageformats + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Plugins for additional image formats: TIFF, MNG, TGA, WBMP + İlave resim biçimleri için eklentiler: TIFF, MNG, TGA, WBMP + Plugins for additional image formats: TIFF, MNG, TGA, WBMP + İlave resim biçimleri için eklentiler: TIFF, MNG, TGA, WBMP + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtimageformats-opensource-src-5.4.2.tar.xz + + qt5-base-devel + jasper-32bit + libmng-devel + + desktop/toolkit/qt5/qt5-imageformats/pspec.xml + + + qt5-imageformats + + qt5-base + libmng + tiff + webp + jasper + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + + + + + 2015-06-03 + 5.4.2 + version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-declarative + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Classes for QML and JavaScript languages + QML ve JavaScript dilleri için sınıflar + Classes for QML and JavaScript languages + QML ve JavaScript dilleri için sınıflar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtdeclarative-opensource-src-5.4.2.tar.xz + + qt5-base-devel + libxkbcommon-devel + mesa-devel + qt5-xmlpatterns-devel + + desktop/toolkit/qt5/qt5-declarative/pspec.xml + + + qt5-declarative + + qt5-base + mesa + qt5-xmlpatterns + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + /usr/lib/qt5/bin/ + /usr/bin/ + + + + qt5-declarative-devel + qt5-declarative için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-02 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-xmlpatterns + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Support for XPath, XQuery, XSLT and XML schema validation + XPath, XQuery, XSLT ve XML şema doğrulama için destek sağlar + Support for XPath, XQuery, XSLT and XML schema validation + XPath, XQuery, XSLT ve XML şema doğrulama için destek sağlar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtxmlpatterns-opensource-src-5.4.2.tar.xz + + qt5-base-devel + + desktop/toolkit/qt5/qt5-xmlpatterns/pspec.xml + + + qt5-xmlpatterns + + qt5-base + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + /usr/lib/qt5/bin/ + /usr/bin + + + + qt5-xmlpatterns-devel + qt5-xmlpatterns için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-graphicaleffects + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Graphical effects for use with Qt Quick 2 + Qt Quick2 ile kullanım için grafiksel efektler + Graphical effects for use with Qt Quick 2 + Qt Quick2 ile kullanım için grafiksel efektler + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtgraphicaleffects-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-declarative-devel + + desktop/toolkit/qt5/qt5-graphicaleffects/pspec.xml + + + qt5-graphicaleffects + + qt5-base + qt5-declarative + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + /usr/share/doc + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-doc + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + A cross-platform application and UI framework (Documentation) + Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) oluşturmaya yarayan bir araç takımıdır(Belgelendirme) + A cross-platform application and UI framework (Documentation) + Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) oluşturmaya yarayan bir araç takımıdır(Belgelendirme) + assistant5 + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtdoc-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-tools-devel + + desktop/toolkit/qt5/qt5-doc/pspec.xml + + + qt5-doc + + qt5-base + qt5-script + qt5-svg + qt5-xmlpatterns + qt5-tools + qt5-declarative + + + /usr/share/licenses + /usr/share/doc/qt5 + + + + + 2015-06-02 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-base + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Cross platform application and UI framework + Qt5 araç takımı, sürüm 5 + Qt est une boîte à outils graphique multi-plateforme. + Cross platform application and UI development framework + Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) oluşturmaya yarayan bir araç takımıdır. + Qt es un toolkit para GUI multiplataforma. + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtbase-opensource-src-5.4.2.tar.xz + + alsa-lib-devel + at-spi2-core-devel + cups-devel + dbus-devel + zlib-devel + glib2-devel + desktop-file-utils + fontconfig-devel + geoclue-devel + gperf + gst-plugins-base-devel + gstreamer-devel + gtk2-devel + harfbuzz-devel + icon-theme-hicolor + leveldb-devel + firebird-superserver + libjpeg-turbo-devel + mariadb-lib + libmng-devel + pulseaudio-libs-devel + webp-devel + libxcb-devel + libXcomposite-devel + libxkbcommon-devel + libxslt-devel + mesa-devel + libmtdev-devel + nss-devel + openal-devel + pciutils-devel + postgresql-server + python-devel + ruby-devel + sqlite-devel + unixODBC-devel + xcb-proto + xcb-util-devel + xcb-util-image-devel + xcb-util-keysyms-devel + xcb-util-wm-devel + tiff-devel + libdrm-devel + DirectFB-devel + libpng-devel + libudev-devel + libSM-devel + libICE-devel + libX11-devel + libXext-devel + firebird-devel + unixODBC-devel + libXrandr-devel + libXrender-devel + xcb-util-renderutil-devel + openssl-devel + freetype-devel + + + mkspecs1.patch + mkspecs2.patch + mkspecs3.patch + + desktop/toolkit/qt5/qt5-base/pspec.xml + + + qt5-base + + cups + dbus + gtk2 + mesa + zlib + glib2 + icu4c + libSM + libXi + pango + libICE + libX11 + libdrm + DirectFB + libpng + libxcb + libudev + openssl + freetype + harfbuzz + libmtdev + fontconfig + libXrender + xcb-util-wm + libxkbcommon + libjpeg-turbo + xcb-util-image + xcb-util-keysyms + xcb-util-renderutil + + + /usr/lib + /usr/lib/qt5/imports + /usr/lib/qt5/qml + /usr/lib/qt5/plugins + /usr/share/qt5/translations + /usr/lib/qt5/bin + /usr/bin + /usr/share/doc + + + + qt5-base-devel + Development files for Qt 5 + Qt5 için geliştirme dosyaları + Development files for Qt 5 + + qt5-base + + + /usr/include + /usr/lib/pkgconfig + /usr/lib/cmake + /usr/lib/qt5/mkspecs + /usr/lib/*.prl + + + + qt5-sql-mysql + Qt5'in SQL sınıfları için MySQL sürücüsü + + qt5-base + mariadb-lib + + + /usr/lib/qt5/plugins/sqldrivers/libqsqlmysql.so + + + + qt5-sql-postgresql + Qt5'in SQL sınıfları için PostgreSQL sürücüsü + + qt5-base + postgresql-lib + + + /usr/lib/qt5/plugins/sqldrivers/libqsqlpsql.so + + + + qt5-sql-sqlite + Qt5'in SQL sınıfları için SQLite sürücüsü + + qt5-base + sqlite + + + /usr/lib/qt5/plugins/sqldrivers/libqsqlite.so + + + + qt5-sql-odbc + Qt5'in SQL sınıfları için ODBC sürücüsü + + qt5-base + unixODBC + + + /usr/lib/qt5/plugins/sqldrivers/libqsqlodbc.so + + + + qt5-base-32bit + 32-bit shared libraries for qt5 + emul32 + emul32 + + libgcc + libpcre + qt5-base-devel + cups-32bit + dbus-32bit + gtk2-32bit + mesa-32bit + zlib-32bit + glib2-32bit + glibc-32bit + icu4c-32bit + pango-32bit + libX11-32bit + libdrm-32bit + libpng-32bit + sqlite-32bit + libudev-32bit + openssl-32bit + freetype-32bit + harfbuzz-32bit + libmtdev-32bit + fontconfig-32bit + libXrender-32bit + libjpeg-turbo-32bit + + + /usr/lib32 + + + + + 2015-06-02 + 5.4.2 + Version bump. + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-04-23 + 5.4.1 + First Release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-accountsservice + https://github.com/hawaii-desktop/qt-accountsservice-addon + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Qt5 - AccountService addon + Qt5 - AccountService addon + https://github.com/hawaii-desktop/qtaccountsservice/archive/v0.1.2.tar.gz + + libgcc + qt5-base-devel + qt5-declarative-devel + + desktop/toolkit/qt5/qt5-accountsservice/pspec.xml + + + qt5-accountsservice + + libgcc + qt5-base + qt5-declarative + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + /usr/share/doc + /usr/lib/qt5/bin/ + /usr/bin + + + + qt5-qtaccountsservice-devel + + qt5-base + qt5-accountsservice + + + /usr/include + + + + + 2015-06-03 + 0.1.2 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-enginio + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + A Backend-as-a-Service solution to ease the backend development for connected and data-driven application + Bağlı ve veritabanlı uygulamlar için arka uç geliştirmeyi kolaylaştıran bir sevice çözümü + A Backend-as-a-Service solution to ease the backend development for connected and data-driven application + Bağlı ve veritabanlı uygulamlar için arka uç geliştirmeyi kolaylaştıran bir sevice çözümü + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtenginio-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-declarative-devel + + desktop/toolkit/qt5/qt5-enginio/pspec.xml + + + qt5-enginio + + qt5-base + qt5-declarative + + + /usr/lib + /usr/lib/qt5/ + /usr/share/licenses + /usr/lib/qt5/bin/ + /usr/bin/ + + + + qt5-enginio-devel + qt5-enginio için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5/ + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-location + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Provides access to position, satellite and area monitoring classes + Konum, uydu ve alan izleme sınıflarına erişim sağlar + Provides access to position, satellite and area monitoring classes + Konum, uydu ve alan izleme sınıflarına erişim sağlar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtlocation-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-declarative-devel + + desktop/toolkit/qt5/qt5-location/pspec.xml + + + qt5-location + + qt5-base + geoclue + qt5-declarative + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + + + + qt5-location-devel + qt5-location için geliştirme dosyaları + + qt5-base-devel + qt5-declarative-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-webchannel + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients + HTML/JavaScript istemcileri ile Qt uygulamalarının tam uyumu için HTML istemcilerinden QML veya QObject nesnelerine erişim sağlar + Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients + HTML/JavaScript istemcileri ile Qt uygulamalarının tam uyumu için HTML istemcilerinden QML veya QObject nesnelerine erişim sağlar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtwebchannel-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-declarative-devel + + desktop/toolkit/qt5/qt5-webchannel/pspec.xml + + + qt5-webchannel + + qt5-base + qt5-declarative + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + + + + qt5-webchannel-devel + qt5-webchannel için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-svg + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Classes for displaying the contents of SVG files + SVG dosyalarının içeriğini görüntüleme için sınıflar + Classes for displaying the contents of SVG files + SVG dosyalarının içeriğini görüntüleme için sınıflar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtsvg-opensource-src-5.4.2.tar.xz + + qt5-base-devel + + desktop/toolkit/qt5/qt5-svg/pspec.xml + + + qt5-svg + + mesa + qt5-base + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses/ + + + + qt5-svg-devel + qt5-svg için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5/ + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-x11extras + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Provides platform-specific APIs for X11 + X11 için platforma özgü API'ler sağlar + Provides platform-specific APIs for X11 + X11 için platforma özgü API'ler sağlar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtx11extras-opensource-src-5.4.2.tar.xz + + qt5-base-devel + + desktop/toolkit/qt5/qt5-x11extras/pspec.xml + + + qt5-x11extras + + qt5-base + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + + + + qt5-x11extras-devel + qt5-x11extras için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5/ + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-configuration + https://github.com/hawaii-desktop/qt-accountsservice-addon + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Settings API with change notifications for Qt + Settings API with change notifications for Qt + Settings API with change notifications for Qt + Settings API with change notifications for Qt + http://sourceforge.net/projects/mauios/files/hawaii/qtconfiguration/qtconfiguration-0.2.1.tar.gz + + libgcc + glib2-devel + dconf-devel + qt5-base-devel + + desktop/toolkit/qt5/qt5-configuration/pspec.xml + + + qt5-configuration + + libgcc + glib2 + dconf + qt5-base + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + /usr/share/doc + /usr/lib/qt5/bin/ + /usr/bin + + + + qt5-configuration-devel + + qt5-base + + + /usr/lib/pkgconfig + /usr/include + + + + + 2015-06-03 + 0.2.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-multimedia + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Classes for audio, video, radio and camera functionality + Ses, video, radyo ve kamera işlevsellikleri için sınıflar + Classes for audio, video, radio and camera functionality + Ses, video, radyo ve kamera işlevsellikleri için sınıflar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtmultimedia-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-declarative-devel + pulseaudio-libs-devel + gstreamer-devel + openal-devel + pulseaudio-libs-32bit + + desktop/toolkit/qt5/qt5-multimedia/pspec.xml + + + qt5-multimedia + + mesa + openal + alsa-lib + qt5-base + gstreamer + pulseaudio-libs + qt5-declarative + gst-plugins-base + gst-plugins-bad + + + /usr/lib + /usr/lib/qt5 + /usr/share/licenses + + + + qt5-multimedia-devel + qt5-multimedia için geliştirme dosyaları + + qt5-base-devel + qt5-declarative-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-webengine + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + Provides support for web applications using the Chromium browser project + Chromium tarayıcı projelerini kullanan web uygulamaları için destek sağlar + Provides support for web applications using the Chromium browser project + Chromium tarayıcı projelerini kullanan web uygulamaları için destek sağlar + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtwebengine-opensource-src-5.4.2.tar.xz + + qt5-base-devel + qt5-declarative-devel + nss-devel + dbus-devel + nspr-devel + expat-devel + glib2-devel + libX11-devel + libcap-devel + libgcc + freetype-devel + libXtst-devel + libXcursor-devel + libXrandr-devel + alsa-lib-devel + libXcomposite-devel + sqlite-devel + at-spi2-core-devel + ruby + gperf + bluez-libs-devel + cups-devel + desktop-file-utils + fontconfig-devel + gst-plugins-base-devel + gstreamer-devel + gtk2-devel + harfbuzz-devel + icon-theme-hicolor + firebird-superserver + libjpeg-turbo-devel + mariadb-lib + libmng-devel + pulseaudio-libs-devel + libxcb-devel + libxkbcommon-devel + libxslt-devel + mesa-devel + libmtdev-devel + openal-devel + postgresql-server + pciutils-devel + python-devel + unixODBC-devel + xcb-proto + xcb-util-devel + xcb-util-image-devel + xcb-util-keysyms-devel + xcb-util-wm-devel + + desktop/toolkit/qt5/qt5-webengine/pspec.xml + + + qt5-webengine + + nss + dbus + nspr + expat + glib2 + libX11 + libcap + libgcc + freetype + mesa + libXi + libXext + libXtst + qt5-base + alsa-lib + harfbuzz + libXfixes + libXrandr + fontconfig + libXcursor + libXdamage + libXrender + libXcomposite + qt5-declarative + + + /usr/lib + /usr/lib/qt5 + /usr/share/qt5/translations + /usr/share/qt5 + /usr/share/doc + /usr/lib/qt5/bin/ + /usr/bin + + + + qt5-webengine-devel + + qt5-base-devel + qt5-declarative-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-28 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + qt5-tools + http://qt.digia.com/ + + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + LGPLv2.1-linking-exception + qt5 + A cross-platform application and UI framework (Development Tools, QtHelp) + Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) çatısı (Geliştirme Araçları, Qt Yardım). + A cross-platform application and UI framework (Development Tools, QtHelp) + Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) çatısı (Geliştirme Araçları, Qt Yardım). + http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qttools-opensource-src-5.4.2.tar.xz + + mesa-devel + qt5-base-devel + qt5-declarative-devel + + desktop/toolkit/qt5/qt5-tools/pspec.xml + + + qt5-tools + + qt5-base + mesa + qt5-webkit + qt5-declarative + + + /usr/lib + /usr/share/licenses/ + /usr/share/qt5/ + /usr/share/applications + /usr/lib/qt5 + /usr/share/pixmaps/ + /usr/lib/qt5/bin/ + /usr/bin + /usr/share/doc + + + qdbusviewer.desktop + linguist.desktop + designer.desktop + assistant_tr.qm + designer_tr.qm + linguist_tr.qm + assistant.desktop + assistant.png + assistant.png + linguist.png + designer.png + + + + qt5-tools-devel + qt5-tools için geliştirme dosyaları + + qt5-base-devel + + + /usr/lib/pkgconfig + /usr/include/qt5 + + + + + 2015-06-03 + 5.4.2 + Version bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-05-09 + 5.4.1 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + + + + gtk2 + http://www.gtk.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + unknown + The GIMP Toolkit version 2 + GTK grafik arayüz kitaplığı versiyon 2 + 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. + 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. + 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. + 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 + + desktop/toolkit/gtk/gtk2/pspec.xml + + + 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 + + + System.PackageHandler + + + gtkrc + + + + gtk2-demo + GTK demo application + GTK demo uyulaması + app:gui + + gtk2 + cairo + pango + gdk-pixbuf + + + /usr/bin/gtk-demo + /usr/share/gtk-2.0/demo + + + + gtk2-docs + GTK reference documents + GTK referans dökümanları + data:doc + + /usr/share/gtk-doc + + + + gtk2-devel + Development files for gtk2 + gtk2 için geliştirme dosyaları + + 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 + 32-bit shared libraries for gtk2 + gtk2 için 32-bit paylaşımlı kitaplıklar + emul32 + _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 + + + + + + at-spi2-core + http://www.linuxfoundation.org/collaborate/workgroups/accessibility + + PisiLinux Community + admins@pisilinux.org + + LGPLv2+ + service + desktop.misc + Protocol definitions and daemons for D-Bus at-spi + D-Bus at-spi için protokol tanımları ve hizmetleri + at-spi allows assistive technologies to access GTK-based applications. Essentially it exposes the internals of applications over D-Bus for automation. + at-spi2-core, erişilebilirlik teknolojilerinin uygulamalara D-Bus üzerinden erişerek onları otomatik olarak denetlemesini sağlar. + mirrors://gnome/at-spi2-core/2.16/at-spi2-core-2.16.0.tar.xz + + libXtst-devel + libXi-devel + + desktop/misc/at-spi2-core/pspec.xml + + + 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 + 32-bit shared libraries for at-spi2-core + emul32 + 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 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 + + + + + + desktop-file-utils + http://www.freedesktop.org/software/desktop-file-utils/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + desktop.misc + Command line utilities to work with desktop menu entries + Masaüstü menü girdilerini yönetmek için komut satırı araçları + 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/misc/desktop-file-utils/pspec.xml + + + 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 + + + + + system + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + system.base + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + system.boot + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + system.doc + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + system.auth + FIXME + FIXME + FIXME + security + + PisiLinux Community + admins@pisilinux.org + + + + system.locale + FIXME + FIXME + FIXME + localization + + PisiLinux Community + admins@pisilinux.org + + + + system.installer + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + system.devel + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + office + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.postscript + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.libreoffice + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.libreoffice.l10n + FIXME + FIXME + FIXME + localization + + PisiLinux Community + admins@pisilinux.org + + + + office.spellcheck + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.misc + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.dictionary + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.docbook + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.calligra + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + office.calligra.l10n + FIXME + FIXME + FIXME + localization + + PisiLinux Community + admins@pisilinux.org + + + + tex + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + tex.addon + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + tex.base + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + tex.extra + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + tex.tool + FIXME + FIXME + FIXME + office + + PisiLinux Community + admins@pisilinux.org + + + + editor + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + editor.emacs + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + editor.web + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + editor.vi + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + programming + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.library + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.build + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.debug + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.python + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.python.django + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.perl + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.dotnet + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.gambas + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.ruby + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.tcl + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.java + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.haskell + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.falcon + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.pascal + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.lisp + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.php + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.ocaml + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.language.objectivec + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.misc + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.profiler + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.scm + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.docs + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.environment + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.environment.eric + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.environment.eclipse + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.environment.kdevelop + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.tool + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + programming.devel + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + science + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.medical + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.plotting + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.mathematics + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.gis + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.chemistry + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.misc + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.electronics + FIXME + FIXME + FIXME + electronics + + PisiLinux Community + admins@pisilinux.org + + + + science.biology + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + science.robotics + FIXME + FIXME + FIXME + electronics + + PisiLinux Community + admins@pisilinux.org + + + + science.astronomy + FIXME + FIXME + FIXME + science + + PisiLinux Community + admins@pisilinux.org + + + + desktop + FIXME + FIXME + FIXME + other + + PisiLinux Community + admins@pisilinux.org + + + + desktop.lookandfeel + FIXME + FIXME + FIXME + other + + PisiLinux Community + admins@pisilinux.org + + + + desktop.toolkit + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + desktop.toolkit.qt + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + desktop.toolkit.qt5 + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + desktop.toolkit.motif + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + desktop.toolkit.gtk + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + desktop.toolkit.clutter + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + desktop.mate + FIXME + FIXME + FIXME + mate.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.mate.base + FIXME + FIXME + FIXME + mate.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.mate.extras + FIXME + FIXME + FIXME + mate.desktop.extras + + PisiLinux Community + admins@pisilinux.org + + + + desktop.xfce + FIXME + FIXME + FIXME + xfce.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.xfce.lookandfeel + FIXME + FIXME + FIXME + xfce.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.xfce.addon + FIXME + FIXME + FIXME + xfce.addon + + PisiLinux Community + admins@pisilinux.org + + + + desktop.xfce.base + FIXME + FIXME + FIXME + xfce.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.misc + FIXME + FIXME + FIXME + other + + PisiLinux Community + admins@pisilinux.org + + + + desktop.gnome2 + FIXME + FIXME + FIXME + gnome2.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.gnome + FIXME + FIXME + FIXME + gnome.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.gnome.base + FIXME + FIXME + FIXME + gnome.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.gnome.addons + FIXME + FIXME + FIXME + gnome.desktop.addons + + PisiLinux Community + admins@pisilinux.org + + + + desktop.font + FIXME + FIXME + FIXME + fonts + + PisiLinux Community + admins@pisilinux.org + + + + desktop.fluxbox + FIXME + FIXME + FIXME + desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.fluxbox.addon + FIXME + FIXME + FIXME + desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.fluxbox.base + FIXME + FIXME + FIXME + desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.enlightenment + FIXME + FIXME + FIXME + enlightenment.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.enlightenment.addon + FIXME + FIXME + FIXME + enlightenment.addon + + PisiLinux Community + admins@pisilinux.org + + + + desktop.enlightenment.base + FIXME + FIXME + FIXME + enlightenment.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.razor-qt + FIXME + FIXME + FIXME + razor-qt.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.admin + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.addon + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.base + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.network + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.sdk + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.toys + FIXME + FIXME + FIXME + kde.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.bindings + FIXME + FIXME + FIXME + kde.kdebindings + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.multimedia + FIXME + FIXME + FIXME + kde.kdemultimedia + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.utils + FIXME + FIXME + FIXME + kde.kdeutils + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.edu + FIXME + FIXME + FIXME + kde.kdeedu + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.accessibility + FIXME + FIXME + FIXME + kde.kdeaccessibility + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.graphics + FIXME + FIXME + FIXME + kde.kdegraphics + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.games + FIXME + FIXME + FIXME + kde.kdegames + + PisiLinux Community + admins@pisilinux.org + + + + desktop.kde.l10n + FIXME + FIXME + FIXME + localization + + PisiLinux Community + admins@pisilinux.org + + + + desktop.lxqt + FIXME + FIXME + FIXME + lxqt.desktop + + PisiLinux Community + admins@pisilinux.org + + + + desktop.lxqt.addon + FIXME + FIXME + FIXME + lxqt.addon + + PisiLinux Community + admins@pisilinux.org + + + + desktop.lxqt.base + FIXME + FIXME + FIXME + lxqt.desktop + + PisiLinux Community + admins@pisilinux.org + + + + kernel + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + kernel.drivers + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + kernel.tools + Kernel Tools + Kernel Tools; perf, cpupowertools + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + x11 + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + x11.library + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + x11.driver + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + x11.misc + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + x11.im + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + x11.wm + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + x11.terminal + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + x11.server + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + x11.util + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + hardware + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.virtualization + FIXME + FIXME + FIXME + virtualization + + PisiLinux Community + admins@pisilinux.org + + + + hardware.scanner + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.bluetooth + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.cpu + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.graphics + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.firmware + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.optical + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.irda + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.printer + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.misc + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.smartcard + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.info + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.sound + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.disk + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.security + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.emulator + FIXME + FIXME + FIXME + other + + PisiLinux Community + admins@pisilinux.org + + + + hardware.powermanagement + FIXME + FIXME + FIXME + power.management + + PisiLinux Community + admins@pisilinux.org + + + + hardware.mobile + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + hardware.firewire + FIXME + FIXME + FIXME + system + + PisiLinux Community + admins@pisilinux.org + + + + network + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.filter + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.mail + FIXME + FIXME + FIXME + communication + + PisiLinux Community + admins@pisilinux.org + + + + network.library + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.p2p + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.monitor + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.rss + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.misc + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + network.share + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.fax + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.voip + FIXME + FIXME + FIXME + communication + + PisiLinux Community + admins@pisilinux.org + + + + network.download + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.connection + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.chat + FIXME + FIXME + FIXME + communication + + PisiLinux Community + admins@pisilinux.org + + + + network.plugin + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.web + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.analyzer + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.remoteshell + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + network.ftp + FIXME + FIXME + FIXME + network + + PisiLinux Community + admins@pisilinux.org + + + + multimedia + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.graphics + FIXME + FIXME + FIXME + graphics + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.graphics.gimp + FIXME + FIXME + FIXME + graphics + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.graphics.gimp.addon + FIXME + FIXME + FIXME + graphics + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.graphics.gimp.l10n + FIXME + FIXME + FIXME + localization + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.stream + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.editor + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.misc + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.converter + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.sound + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.tv + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.plugin + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.radio + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + multimedia.video + FIXME + FIXME + FIXME + multimedia + + PisiLinux Community + admins@pisilinux.org + + + + server + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.backup + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.monitor + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.mta + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.database + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.misc + FIXME + FIXME + FIXME + programming + + PisiLinux Community + admins@pisilinux.org + + + + server.proxy + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.auth + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.web + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + server.ftp + FIXME + FIXME + FIXME + servers + + PisiLinux Community + admins@pisilinux.org + + + + util + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + util.shell + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + util.antivirus + FIXME + FIXME + FIXME + admin.tools + + PisiLinux Community + admins@pisilinux.org + + + + util.crypt + FIXME + FIXME + FIXME + security + + PisiLinux Community + admins@pisilinux.org + + + + util.admin + FIXME + FIXME + FIXME + admin.tools + + PisiLinux Community + admins@pisilinux.org + + + + util.archive + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + util.misc + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + util.benchmark + FIXME + FIXME + FIXME + accessories + + PisiLinux Community + admins@pisilinux.org + + + + game + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.emulator + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.strategy + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.puzzle + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.engine + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.misc + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.simulation + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.action + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.adventure + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.arcade + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.fps + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.rpg + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.board + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + + game.sports + FIXME + FIXME + FIXME + games + + PisiLinux Community + admins@pisilinux.org + + + \ No newline at end of file diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum new file mode 100644 index 0000000000..1051fb877f --- /dev/null +++ b/pisi-index.xml.sha1sum @@ -0,0 +1 @@ +adaffd50db76ff6bfafaaf0ceac969fe4d745255 \ No newline at end of file diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz new file mode 100644 index 0000000000000000000000000000000000000000..310c5cd012d8fa05e79de6c653907206d565ce2f GIT binary patch literal 60224 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 literal 0 HcmV?d00001 diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum new file mode 100644 index 0000000000..f7d30b812e --- /dev/null +++ b/pisi-index.xml.xz.sha1sum @@ -0,0 +1 @@ +ff898eb9439d1df04eaaa14b6b2fa85be302faec \ No newline at end of file diff --git a/x11/library/libXi/pspec.xml b/x11/library/libXi/pspec.xml index 12cc5b9588..7fd91be687 100644 --- a/x11/library/libXi/pspec.xml +++ b/x11/library/libXi/pspec.xml @@ -15,6 +15,8 @@ mirrors://xorg/individual/lib/libXi-1.7.4.tar.bz2 libXext-devel + libXfixes-devel + util-macros @@ -22,6 +24,7 @@ libXi libXext + libX11 /usr/lib @@ -35,6 +38,7 @@ libXi libXext-devel + libX11-devel libXfixes-devel @@ -51,10 +55,12 @@ 32-bit shared libraries for libXi emul32 + glibc-32bit libXext-32bit libX11-32bit + glibc-32bit libXi libXext-32bit libX11-32bit From 384133f5d2c01f6947085b6b18f1a038d7417dff Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 20 Jun 2015 12:22:33 +0200 Subject: [PATCH 007/152] version bump kde-framework --- .../extra-cmake-modules/pspec.xml | 43 +++++-------------- .../kde/kde5-framework/kde5-attica/actions.py | 14 +++--- .../kde/kde5-framework/kde5-attica/pspec.xml | 18 ++++---- 3 files changed, 25 insertions(+), 50 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-attica/actions.py diff --git a/desktop/kde/kde5-framework/extra-cmake-modules/pspec.xml b/desktop/kde/kde5-framework/extra-cmake-modules/pspec.xml index 44adf07510..e500e515f8 100755 --- a/desktop/kde/kde5-framework/extra-cmake-modules/pspec.xml +++ b/desktop/kde/kde5-framework/extra-cmake-modules/pspec.xml @@ -5,56 +5,35 @@ extra-cmake-modules http://www.kde.org - Idris Kalp - idriskalp@gmail.com + Pisi Linux Admins + admin@gmail.com LGPLv2 library Extra cmake modules for KDE5 Extra cmake modules KDE5 - http://download.kde.org/stable/frameworks/5.10/extra-cmake-modules-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/extra-cmake-modules-5.11.0.tar.xz - python-sphinx + python-sphinx extra-cmake-modules - /usr/lib /usr/share + /usr/lib /usr/share/man/man7 - - 2015-05-29 - 5.10.0 - Version bump. - Stefan Gronewold(groni) - groni@pisilinux.org - - - 2015-05-20 - 5.9.0 - Version bump. - Stefan Gronewold(groni) - groni@pisilinux.org - - - 2015-02-23 - 1.7.0 - Version bump. - Stefan Gronewold(groni) - groni@pisilinux.org - - 2014-09-20 - 1.2.1 - First release - Idris Kalp - idriskalp@gmail.com - + 2015-06-20 + 5.11.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + diff --git a/desktop/kde/kde5-framework/kde5-attica/actions.py b/desktop/kde/kde5-framework/kde5-attica/actions.py old mode 100755 new mode 100644 index 6bca2ff70d..f137ac184a --- a/desktop/kde/kde5-framework/kde5-attica/actions.py +++ b/desktop/kde/kde5-framework/kde5-attica/actions.py @@ -4,20 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_INSTALL_DIR=lib \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md", "COPYING", "AUTHORS", "ChangeLog") diff --git a/desktop/kde/kde5-framework/kde5-attica/pspec.xml b/desktop/kde/kde5-framework/kde5-attica/pspec.xml index 1f89ca0d69..3d996e88e8 100755 --- a/desktop/kde/kde5-framework/kde5-attica/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-attica/pspec.xml @@ -12,7 +12,7 @@ library Open Collaboration Service client library, based on Qt 5 Attica is a library to access Open Collaboration Service servers, based on Qt 5. - http://download.kde.org/stable/frameworks/5.10/attica-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/attica-5.11.0.tar.xz qt5-base-devel extra-cmake-modules @@ -47,19 +47,19 @@ + + 2015-06-20 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 Version bump. Stefan Gronewold(groni) groni@pisilinux.org - - - 2014-09-20 - 5.2.0 - First release - Idris Kalp - idriskalp@gmail.com - + From cad3b5c6f4314d7ef7104ee61283a5869cd6476a Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 20 Jun 2015 12:30:29 +0200 Subject: [PATCH 008/152] kapidox version bump --- desktop/kde/kde5-framework/kde5-kapidox/actions.py | 14 +++++--------- desktop/kde/kde5-framework/kde5-kapidox/pspec.xml | 12 +++++++++--- 2 files changed, 14 insertions(+), 12 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-kapidox/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kapidox/actions.py b/desktop/kde/kde5-framework/kde5-kapidox/actions.py old mode 100755 new mode 100644 index 8b093667f5..7ad3db044b --- a/desktop/kde/kde5-framework/kde5-kapidox/actions.py +++ b/desktop/kde/kde5-framework/kde5-kapidox/actions.py @@ -4,20 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DLOCALE_INSTALL_DIR=/usr/share/locale \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md") diff --git a/desktop/kde/kde5-framework/kde5-kapidox/pspec.xml b/desktop/kde/kde5-framework/kde5-kapidox/pspec.xml index ae6cffeea9..3d7d90ce2d 100755 --- a/desktop/kde/kde5-framework/kde5-kapidox/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kapidox/pspec.xml @@ -12,7 +12,7 @@ library KDE5 Frameworks API documentation tools. KDE5 Frameworks API documentation tools. - http://download.kde.org/stable/frameworks/5.10/kapidox-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kapidox-5.11.0.tar.xz python-Jinja2 python-PyYAML @@ -30,12 +30,18 @@ /usr/bin /usr/lib /usr/share - /usr/share/locale - /usr/share/doc + /usr/share/doc + + 2015-06-20 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From f81ff39495cafcf7927c9b53d4697436f259ac68 Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 20 Jun 2015 12:46:31 +0200 Subject: [PATCH 009/152] kde5-karchive version bump --- .../kde5-framework/kde5-karchive/1actions.py | 22 +++++++++++++++++++ .../kde5-framework/kde5-karchive/actions.py | 13 +++++------ .../kde5-framework/kde5-karchive/pspec.xml | 11 ++++++++-- 3 files changed, 36 insertions(+), 10 deletions(-) create mode 100755 desktop/kde/kde5-framework/kde5-karchive/1actions.py mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-karchive/actions.py diff --git a/desktop/kde/kde5-framework/kde5-karchive/1actions.py b/desktop/kde/kde5-framework/kde5-karchive/1actions.py new file mode 100755 index 0000000000..f1da0a0e61 --- /dev/null +++ b/desktop/kde/kde5-framework/kde5-karchive/1actions.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 pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DLIB_INSTALL_DIR=lib \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING", "COPYING.LIB", "AUTHORS") diff --git a/desktop/kde/kde5-framework/kde5-karchive/actions.py b/desktop/kde/kde5-framework/kde5-karchive/actions.py old mode 100755 new mode 100644 index f1da0a0e61..0cf899f127 --- a/desktop/kde/kde5-framework/kde5-karchive/actions.py +++ b/desktop/kde/kde5-framework/kde5-karchive/actions.py @@ -4,19 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DLIB_INSTALL_DIR=lib \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md", "COPYING", "COPYING.LIB", "AUTHORS") diff --git a/desktop/kde/kde5-framework/kde5-karchive/pspec.xml b/desktop/kde/kde5-framework/kde5-karchive/pspec.xml index ab68563245..962a68eeec 100755 --- a/desktop/kde/kde5-framework/kde5-karchive/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-karchive/pspec.xml @@ -12,7 +12,7 @@ library Qt 5 addon providing access to numerous types of archives KArchive provides classes for easy reading, creation and manipulation of "archive" formats like ZIP and TAR. - http://download.kde.org/stable/frameworks/5.10/karchive-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/karchive-5.11.0.tar.xz qt5-base-devel extra-cmake-modules @@ -46,7 +46,14 @@ - + + + 2015-06-20 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From 975487bdd713564e6a7a5107521d399c90b0ffba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sat, 20 Jun 2015 18:33:22 +0300 Subject: [PATCH 010/152] libXtst fix deps --- x11/library/libXtst/pspec.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/x11/library/libXtst/pspec.xml b/x11/library/libXtst/pspec.xml index d34703764a..0c92c541a5 100644 --- a/x11/library/libXtst/pspec.xml +++ b/x11/library/libXtst/pspec.xml @@ -24,6 +24,7 @@ libXtst libXext + libX11 /usr/lib @@ -41,10 +42,12 @@ libXext-32bit libXi-32bit libX11-32bit + glibc-32bit libX11-32bit libXext-32bit + glibc-32bit libXtst From e5bb9007154847d1af31042a77e78b11e300b227 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sat, 20 Jun 2015 20:26:36 +0300 Subject: [PATCH 011/152] at-spi2-core dep fixed --- desktop/misc/at-spi2-core/pspec.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/desktop/misc/at-spi2-core/pspec.xml b/desktop/misc/at-spi2-core/pspec.xml index c2fe7d12a4..519e64e101 100644 --- a/desktop/misc/at-spi2-core/pspec.xml +++ b/desktop/misc/at-spi2-core/pspec.xml @@ -16,6 +16,10 @@ libXtst-devel libXi-devel + gettext-devel + dbus-devel + glib2-devel + intltool @@ -23,6 +27,9 @@ at-spi2-core libXtst + libX11 + dbus + glib2 /etc @@ -44,13 +51,16 @@ dbus-32bit glib2-32bit + libXi-32bit libX11-32bit libXtst-32bit + glibc-32bit dbus-32bit glib2-32bit libX11-32bit + glibc-32bit /usr/lib32 @@ -62,6 +72,8 @@ at-spi2-core için geliştirme dosyaları at-spi2-core + dbus-devel + glib2-devel /usr/include From 35cada22bff1694e78e4b6d16760271ddd6419f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sat, 20 Jun 2015 22:07:39 +0300 Subject: [PATCH 012/152] works por deps fixed... --- hardware/printer/cups-filters/actions.py | 32 + hardware/printer/cups-filters/pspec.xml | 168 +++++ .../printer/cups-filters/translations.xml | 14 + hardware/printer/cups/actions.py | 2 - hardware/printer/cups/comar/service.py | 2 +- hardware/printer/cups/pspec.xml | 4 +- hardware/printer/libpaper/actions.py | 27 + .../libpaper-1.1.23-debianbug475683.patch | 12 + .../files/libpaper-useglibcfallback.patch | 80 +++ hardware/printer/libpaper/files/papersize | 2 + hardware/printer/libpaper/pspec.xml | 66 ++ hardware/printer/libpaper/translations.xml | 14 + kernel/component.xml | 3 + kernel/drivers/component.xml | 3 + kernel/drivers/module-fglrx/actions.py | 170 +++++ .../module-fglrx/comar/package-emul32.py | 18 + kernel/drivers/module-fglrx/comar/package.py | 17 + kernel/drivers/module-fglrx/comar/service.py | 21 + kernel/drivers/module-fglrx/files/LICENSE.TXT | 188 ++++++ .../module-fglrx/files/ati-powermode.patch | 19 + kernel/drivers/module-fglrx/files/atieventsd | 1 + .../module-fglrx/files/atieventsd.service | 8 + .../module-fglrx/files/blacklist-fglrx.conf | 3 + .../files/cold-fglrx-3.14-current_euid.patch | 14 + .../module-fglrx/files/desktop-files.patch | 52 ++ .../files/fglrx-fix-GL-redefines.patch | 49 ++ .../module-fglrx/files/fglrx-no_hotplug.patch | 42 ++ .../module-fglrx/files/fglrx_gpl_symbol.patch | 11 + .../files/kolasa_4.0-cr4-strn.patch | 70 ++ .../files/lano1106_fglrx_intel_iommu.patch | 11 + .../files/lano1106_kcl_agp_13_4.patch | 90 +++ .../module-fglrx/files/linux-3.10-proc.diff | 293 +++++++++ .../module-fglrx/files/makefile_compat.patch | 10 + .../files/manjaro_fglrx_319.patch | 22 + .../drivers/module-fglrx/files/modprobe.conf | 2 + kernel/drivers/module-fglrx/pspec.xml | 409 ++++++++++++ kernel/drivers/module-fglrx/translations.xml | 25 + .../drivers/module-nvidia-current/actions.py | 144 +++++ .../comar/package-emul32.py | 25 + .../module-nvidia-current/comar/package.py | 26 + .../module-nvidia-current/files/modprobe.conf | 8 + .../drivers/module-nvidia-current/pspec.xml | 408 ++++++++++++ .../module-nvidia-current/translations.xml | 25 + kernel/drivers/module-nvidia304/actions.py | 135 ++++ .../drivers/module-nvidia304/comar/package.py | 26 + ...DIA-Linux-x86_64-304.125-kernel-3.19.patch | 32 + kernel/drivers/module-nvidia304/pspec.xml | 277 ++++++++ .../drivers/module-nvidia304/translations.xml | 20 + kernel/drivers/module-nvidia340/actions.py | 144 +++++ .../module-nvidia340/comar/package-emul32.py | 25 + .../drivers/module-nvidia340/comar/package.py | 26 + .../module-nvidia340/files/modprobe.conf | 8 + kernel/drivers/module-nvidia340/pspec.xml | 176 +++++ .../drivers/module-nvidia340/translations.xml | 25 + kernel/tools/component.xml | 3 + kernel/tools/perf/actions.py | 28 + .../perf/files/patches/linux/patch-3.18.3.xz | Bin 0 -> 80880 bytes .../perf/files/patches/linux/patch-3.19.1.xz | Bin 0 -> 60636 bytes .../perf/files/patches/linux/patch-3.19.3.xz | Bin 0 -> 144892 bytes .../perf/files/patches/linux/patch-3.19.4.xz | Bin 0 -> 164964 bytes .../perf/files/patches/linux/patch-3.19.5.xz | Bin 0 -> 192220 bytes .../perf/files/patches/linux/patch-3.19.6.xz | Bin 0 -> 202724 bytes .../perf/files/patches/linux/patch-3.19.8.xz | Bin 0 -> 250604 bytes .../perf/files/patches/linux/patch-4.0.5.xz | Bin 0 -> 154204 bytes kernel/tools/perf/pspec.xml | 601 ++++++++++++++++++ multimedia/graphics/jbigkit/actions.py | 23 + .../jbigkit/files/jbigkit-2.0-shared.diff | 186 ++++++ multimedia/graphics/jbigkit/pspec.xml | 66 ++ multimedia/graphics/jbigkit/translations.xml | 13 + multimedia/graphics/lcms2/actions.py | 27 + multimedia/graphics/lcms2/pspec.xml | 98 +++ multimedia/graphics/lcms2/translations.xml | 9 + multimedia/graphics/libjpeg-turbo/pspec.xml | 4 + multimedia/graphics/tiff/pspec.xml | 4 +- office/component.xml | 3 + office/postscript/component.xml | 3 + office/postscript/ghostscript/actions.py | 60 ++ .../fedora/ghostscript-Fontmap.local.patch | 9 + .../ghostscript-gdevcups-debug-uninit.patch | 11 + .../files/fedora/ghostscript-gs694154.patch | 12 + .../ghostscript-icc-missing-check.patch | 12 + .../ghostscript-iccprofiles-initdir.patch | 35 + .../files/fedora/ghostscript-multilib.patch | 14 + .../files/fedora/ghostscript-noopt.patch | 12 + .../ghostscript-runlibfileifexists.patch | 52 ++ .../files/fedora/ghostscript-scripts.patch | 10 + .../files/fedora/ghostscript-sys-zlib.patch | 24 + .../fedora/ghostscript-wrf-snprintf.patch | 22 + .../ubuntu/02_gs-man-fix-for-debian.patch | 37 ++ office/postscript/ghostscript/pspec.xml | 182 ++++++ .../postscript/ghostscript/translations.xml | 18 + office/postscript/poppler-data/actions.py | 14 + office/postscript/poppler-data/pspec.xml | 65 ++ .../postscript/poppler-data/translations.xml | 8 + office/postscript/poppler/actions.py | 49 ++ office/postscript/poppler/pspec.xml | 261 ++++++++ office/postscript/poppler/translations.xml | 51 ++ x11/library/libICE/pspec.xml | 8 + x11/library/libSM/pspec.xml | 12 +- x11/library/libXt/actions.py | 20 + x11/library/libXt/pspec.xml | 116 ++++ x11/library/libXt/translations.xml | 19 + 102 files changed, 5695 insertions(+), 10 deletions(-) create mode 100644 hardware/printer/cups-filters/actions.py create mode 100644 hardware/printer/cups-filters/pspec.xml create mode 100644 hardware/printer/cups-filters/translations.xml create mode 100644 hardware/printer/libpaper/actions.py create mode 100644 hardware/printer/libpaper/files/libpaper-1.1.23-debianbug475683.patch create mode 100644 hardware/printer/libpaper/files/libpaper-useglibcfallback.patch create mode 100644 hardware/printer/libpaper/files/papersize create mode 100644 hardware/printer/libpaper/pspec.xml create mode 100644 hardware/printer/libpaper/translations.xml create mode 100644 kernel/component.xml create mode 100644 kernel/drivers/component.xml create mode 100644 kernel/drivers/module-fglrx/actions.py create mode 100644 kernel/drivers/module-fglrx/comar/package-emul32.py create mode 100644 kernel/drivers/module-fglrx/comar/package.py create mode 100644 kernel/drivers/module-fglrx/comar/service.py create mode 100644 kernel/drivers/module-fglrx/files/LICENSE.TXT create mode 100644 kernel/drivers/module-fglrx/files/ati-powermode.patch create mode 100644 kernel/drivers/module-fglrx/files/atieventsd create mode 100644 kernel/drivers/module-fglrx/files/atieventsd.service create mode 100644 kernel/drivers/module-fglrx/files/blacklist-fglrx.conf create mode 100644 kernel/drivers/module-fglrx/files/cold-fglrx-3.14-current_euid.patch create mode 100644 kernel/drivers/module-fglrx/files/desktop-files.patch create mode 100644 kernel/drivers/module-fglrx/files/fglrx-fix-GL-redefines.patch create mode 100644 kernel/drivers/module-fglrx/files/fglrx-no_hotplug.patch create mode 100644 kernel/drivers/module-fglrx/files/fglrx_gpl_symbol.patch create mode 100644 kernel/drivers/module-fglrx/files/kolasa_4.0-cr4-strn.patch create mode 100644 kernel/drivers/module-fglrx/files/lano1106_fglrx_intel_iommu.patch create mode 100644 kernel/drivers/module-fglrx/files/lano1106_kcl_agp_13_4.patch create mode 100644 kernel/drivers/module-fglrx/files/linux-3.10-proc.diff create mode 100644 kernel/drivers/module-fglrx/files/makefile_compat.patch create mode 100644 kernel/drivers/module-fglrx/files/manjaro_fglrx_319.patch create mode 100644 kernel/drivers/module-fglrx/files/modprobe.conf create mode 100644 kernel/drivers/module-fglrx/pspec.xml create mode 100644 kernel/drivers/module-fglrx/translations.xml create mode 100644 kernel/drivers/module-nvidia-current/actions.py create mode 100644 kernel/drivers/module-nvidia-current/comar/package-emul32.py create mode 100644 kernel/drivers/module-nvidia-current/comar/package.py create mode 100644 kernel/drivers/module-nvidia-current/files/modprobe.conf create mode 100644 kernel/drivers/module-nvidia-current/pspec.xml create mode 100644 kernel/drivers/module-nvidia-current/translations.xml create mode 100644 kernel/drivers/module-nvidia304/actions.py create mode 100644 kernel/drivers/module-nvidia304/comar/package.py create mode 100644 kernel/drivers/module-nvidia304/files/NVIDIA-Linux-x86_64-304.125-kernel-3.19.patch create mode 100644 kernel/drivers/module-nvidia304/pspec.xml create mode 100644 kernel/drivers/module-nvidia304/translations.xml create mode 100644 kernel/drivers/module-nvidia340/actions.py create mode 100644 kernel/drivers/module-nvidia340/comar/package-emul32.py create mode 100644 kernel/drivers/module-nvidia340/comar/package.py create mode 100644 kernel/drivers/module-nvidia340/files/modprobe.conf create mode 100644 kernel/drivers/module-nvidia340/pspec.xml create mode 100644 kernel/drivers/module-nvidia340/translations.xml create mode 100644 kernel/tools/component.xml create mode 100644 kernel/tools/perf/actions.py create mode 100644 kernel/tools/perf/files/patches/linux/patch-3.18.3.xz create mode 100644 kernel/tools/perf/files/patches/linux/patch-3.19.1.xz create mode 100644 kernel/tools/perf/files/patches/linux/patch-3.19.3.xz create mode 100644 kernel/tools/perf/files/patches/linux/patch-3.19.4.xz create mode 100644 kernel/tools/perf/files/patches/linux/patch-3.19.5.xz create mode 100644 kernel/tools/perf/files/patches/linux/patch-3.19.6.xz create mode 100644 kernel/tools/perf/files/patches/linux/patch-3.19.8.xz create mode 100644 kernel/tools/perf/files/patches/linux/patch-4.0.5.xz create mode 100644 kernel/tools/perf/pspec.xml create mode 100644 multimedia/graphics/jbigkit/actions.py create mode 100644 multimedia/graphics/jbigkit/files/jbigkit-2.0-shared.diff create mode 100644 multimedia/graphics/jbigkit/pspec.xml create mode 100644 multimedia/graphics/jbigkit/translations.xml create mode 100644 multimedia/graphics/lcms2/actions.py create mode 100644 multimedia/graphics/lcms2/pspec.xml create mode 100644 multimedia/graphics/lcms2/translations.xml create mode 100644 office/component.xml create mode 100644 office/postscript/component.xml create mode 100644 office/postscript/ghostscript/actions.py create mode 100644 office/postscript/ghostscript/files/fedora/ghostscript-Fontmap.local.patch create mode 100644 office/postscript/ghostscript/files/fedora/ghostscript-gdevcups-debug-uninit.patch create mode 100644 office/postscript/ghostscript/files/fedora/ghostscript-gs694154.patch create mode 100644 office/postscript/ghostscript/files/fedora/ghostscript-icc-missing-check.patch create mode 100644 office/postscript/ghostscript/files/fedora/ghostscript-iccprofiles-initdir.patch create mode 100644 office/postscript/ghostscript/files/fedora/ghostscript-multilib.patch create mode 100644 office/postscript/ghostscript/files/fedora/ghostscript-noopt.patch create mode 100644 office/postscript/ghostscript/files/fedora/ghostscript-runlibfileifexists.patch create mode 100644 office/postscript/ghostscript/files/fedora/ghostscript-scripts.patch create mode 100644 office/postscript/ghostscript/files/fedora/ghostscript-sys-zlib.patch create mode 100644 office/postscript/ghostscript/files/fedora/ghostscript-wrf-snprintf.patch create mode 100644 office/postscript/ghostscript/files/ubuntu/02_gs-man-fix-for-debian.patch create mode 100644 office/postscript/ghostscript/pspec.xml create mode 100644 office/postscript/ghostscript/translations.xml create mode 100644 office/postscript/poppler-data/actions.py create mode 100644 office/postscript/poppler-data/pspec.xml create mode 100644 office/postscript/poppler-data/translations.xml create mode 100644 office/postscript/poppler/actions.py create mode 100644 office/postscript/poppler/pspec.xml create mode 100644 office/postscript/poppler/translations.xml create mode 100644 x11/library/libXt/actions.py create mode 100644 x11/library/libXt/pspec.xml create mode 100644 x11/library/libXt/translations.xml diff --git a/hardware/printer/cups-filters/actions.py b/hardware/printer/cups-filters/actions.py new file mode 100644 index 0000000000..100c076853 --- /dev/null +++ b/hardware/printer/cups-filters/actions.py @@ -0,0 +1,32 @@ +# -*- 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("configure", "localstatedir/run/cups", "localstatedir/cups") + + autotools.configure("--prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --with-rcdir=no \ + --localstatedir=/run \ + --with-browseremoteprotocols=DNSSD,CUPS \ + --with-test-font-path=/usr/share/fonts/dejavu/DejaVuSans.ttf") + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +def check(): + autotools.make("check") + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "README") diff --git a/hardware/printer/cups-filters/pspec.xml b/hardware/printer/cups-filters/pspec.xml new file mode 100644 index 0000000000..67ae9e2eae --- /dev/null +++ b/hardware/printer/cups-filters/pspec.xml @@ -0,0 +1,168 @@ + + + + + cups-filters + http://www.openprinting.org + + Marcin Bojara + marcin@pisilinux.org + + GPLv2 + GPLv3 + GPLv2+ + GPLv3+ + LGPLv2+ + MIT + data + library + app:console + OpenPrinting CUPS filters and backends + Contains backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc. In addition it contains additional filters developed independently of Apple, especially filters for the PDF-centric printing workflow introduced by OpenPrinting. + http://www.openprinting.org/download/cups-filters/cups-filters-1.0.66.tar.xz + + tiff-devel + ghostscript + lcms2-devel + gnutls-devel + mit-kerberos + fontconfig-devel + libjpeg-turbo-devel + qpdf-devel + ghostscript-devel + poppler-devel + + + + + cups-filters + + tiff + lcms2 + gnutls + fontconfig + foomatic-db + mit-kerberos + libjpeg-turbo + qpdf + ghostscript + poppler + + + cups + foomatic-filters + + + foomatic-filters + + + /usr/lib + /usr/share/man + /usr/share/doc + /usr/share/ppd + /usr/bin + /usr/share/cups + /etc/cups/cups-browsed.conf + /etc/fonts/conf.d/99pdftoopvp.conf + + + + + cups-filters-devel + Cups-filters için geliştirme dosyaları + + cups-filters + + + /usr/include + /usr/lib/pkgconfig + + + + + + 2015-03-08 + 1.0.66 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-02-15 + 1.0.65 + Version bump. + Hakan Yıldız + hknyldz93@gmail.com + + + 2014-09-25 + 1.0.58 + Verison bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-17 + 1.0.53 + Verison bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-05 + 1.0.44 + Rebuild to replace foomatic-filters. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-01-28 + 1.0.44 + rebuild for unused and runtime dep. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-01-18 + 1.0.44 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-11-02 + 1.0.41 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-16 + 1.0.40 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-10 + 1.0.39 + Cersion bump,rebuil for new poppler. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-07-28 + 1.0.35 + Dep Fixed + PisiLinux Community + admins@pisilinux.org + + + 2013-07-01 + 1.0.35 + First release. + Marcin Bojara + marcin@pisilinux.org + + + diff --git a/hardware/printer/cups-filters/translations.xml b/hardware/printer/cups-filters/translations.xml new file mode 100644 index 0000000000..7146f84d16 --- /dev/null +++ b/hardware/printer/cups-filters/translations.xml @@ -0,0 +1,14 @@ + + + + cups-filters + OpenPrinting CUPS filters and backends + Contains backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc. In addition it contains additional filters developed independently of Apple, especially filters for the PDF-centric printing workflow introduced by OpenPrinting. + + + + cups-filters-devel + Cups-filters için geliştirme dosyaları + Development files for cups-filters + + \ No newline at end of file diff --git a/hardware/printer/cups/actions.py b/hardware/printer/cups/actions.py index 1655420abc..e62d0fd502 100644 --- a/hardware/printer/cups/actions.py +++ b/hardware/printer/cups/actions.py @@ -32,7 +32,6 @@ def setup(): --enable-libpaper \ --enable-libusb=yes \ --enable-debug \ - --enable-avahi \ --enable-gssapi \ --enable-dbus \ --enable-pam=yes \ @@ -56,7 +55,6 @@ def setup(): if get.buildTYPE() == "emul32": options += ' \ --enable-libusb=no \ - --disable-avahi \ --disable-dnssd \ --disable-gssapi \ --disable-dbus \ diff --git a/hardware/printer/cups/comar/service.py b/hardware/printer/cups/comar/service.py index cc3baf190b..1f8271d078 100644 --- a/hardware/printer/cups/comar/service.py +++ b/hardware/printer/cups/comar/service.py @@ -12,7 +12,7 @@ PIDFILE = "/run/cups/cupsd.pid" @synchronized def start(): # FIXME: After avahi before hal - startDependencies("avahi") + # startDependencies("avahi") # Load ppdev and lp drivers if wanted if config.get("LOAD_LP_MODULE") == "yes": diff --git a/hardware/printer/cups/pspec.xml b/hardware/printer/cups/pspec.xml index c1e11be0c2..b3d8a96b97 100644 --- a/hardware/printer/cups/pspec.xml +++ b/hardware/printer/cups/pspec.xml @@ -21,7 +21,7 @@ zlib-devel libusb-devel libgcc - avahi-devel + cups-filters mit-kerberos libpaper-devel @@ -69,7 +69,7 @@ libusb libgcc libpaper - avahi-libs + mit-kerberos diff --git a/hardware/printer/libpaper/actions.py b/hardware/printer/libpaper/actions.py new file mode 100644 index 0000000000..59eb984ca8 --- /dev/null +++ b/hardware/printer/libpaper/actions.py @@ -0,0 +1,27 @@ +#!/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 + +def setup(): + autotools.configure('--disable-static') + + # Disable rpath + pisitools.dosed("libtool", "^hardcode_libdir_flag_spec=.*", "hardcode_libdir_flag_spec=\"\"") + pisitools.dosed("libtool", "^runpath_var=LD_RUN_PATH", "runpath_var=DIE_RPATH_DIE") + +def build(): + autotools.make() + +def install(): + autotools.install() + + for lang in shelltools.ls("debian/po/*.po"): + pisitools.domo(lang, shelltools.baseName(lang).replace(".po", ""), "libpaper.mo") + + pisitools.dodoc("README", "ChangeLog") diff --git a/hardware/printer/libpaper/files/libpaper-1.1.23-debianbug475683.patch b/hardware/printer/libpaper/files/libpaper-1.1.23-debianbug475683.patch new file mode 100644 index 0000000000..36135d0ef9 --- /dev/null +++ b/hardware/printer/libpaper/files/libpaper-1.1.23-debianbug475683.patch @@ -0,0 +1,12 @@ +diff -up libpaper-1.1.23+nmu1/lib/paperspecs.BAD libpaper-1.1.23+nmu1/lib/paperspecs +--- libpaper-1.1.23+nmu1/lib/paperspecs.BAD 2008-08-22 16:49:16.000000000 -0400 ++++ libpaper-1.1.23+nmu1/lib/paperspecs 2008-08-22 16:49:25.000000000 -0400 +@@ -40,7 +40,7 @@ c5 162 229 mm + c6 114 162 mm + c7 81 114 mm + c8 57 81 mm +-DL 312 624 ++DL 110 220 mm + Comm10 297 684 + Monarch 279 540 + archE 2592 3456 diff --git a/hardware/printer/libpaper/files/libpaper-useglibcfallback.patch b/hardware/printer/libpaper/files/libpaper-useglibcfallback.patch new file mode 100644 index 0000000000..cdf75c627e --- /dev/null +++ b/hardware/printer/libpaper/files/libpaper-useglibcfallback.patch @@ -0,0 +1,80 @@ +diff -ru libpaper-1.1.23.orig/lib/paper.c libpaper-1.1.23/lib/paper.c +--- libpaper-1.1.23.orig/lib/paper.c 2008-08-12 13:20:48.000000000 +0100 ++++ libpaper-1.1.23/lib/paper.c 2008-08-12 14:26:44.000000000 +0100 +@@ -22,6 +22,9 @@ + + #include + ++#include ++#include ++ + #include "paper.h" + + struct paper { +@@ -110,6 +113,27 @@ + } + + const char* defaultpapername(void) { ++#if defined(LC_PAPER) && defined(_GNU_SOURCE) ++ ++#define NL_PAPER_GET(x) \ ++ ((union { char *string; unsigned int word; })nl_langinfo(x)).word ++ ++#define PT_TO_MM(v) (unsigned int)((v * 2.54 * 10 / 72) + 0.5) ++ ++ const struct paper* pp; ++ ++ unsigned int w = NL_PAPER_GET(_NL_PAPER_WIDTH); ++ unsigned int h = NL_PAPER_GET(_NL_PAPER_HEIGHT); ++ ++ for (pp = paperfirst(); pp; pp = papernext(pp)) { ++ if ( ++ PT_TO_MM(pp->pswidth) == w && ++ PT_TO_MM(pp->psheight) == h ++ ) { ++ return pp->name; ++ } ++ } ++#endif + return PAPERSIZE; + } + +diff -ru libpaper-1.1.23.orig/man/paperconf.1.in libpaper-1.1.23/man/paperconf.1.in +--- libpaper-1.1.23.orig/man/paperconf.1.in 2008-08-12 13:20:48.000000000 +0100 ++++ libpaper-1.1.23/man/paperconf.1.in 2008-08-12 14:34:06.000000000 +0100 +@@ -48,10 +48,12 @@ + .B @PAPERSIZEVAR@ + environment variable, at the contents of the file specified by the + .B @PAPERCONFVAR@ +-environment variable, at the contects of ++environment variable, at the contents of the file + .B @PAPERCONF@ +-or by using +-.B letter ++, consulting the values controlled by the ++.B LC_PAPER ++locale setting, or by using ++.B @PAPERSIZE@ + as a fall-back value if none of the other alternatives are successful. + By default, width and height of the paper are printed in PostScript points. + .SH OPTIONS +diff -ru libpaper-1.1.23.orig/src/paperconf.c libpaper-1.1.23/src/paperconf.c +--- libpaper-1.1.23.orig/src/paperconf.c 2008-08-12 13:20:48.000000000 +0100 ++++ libpaper-1.1.23/src/paperconf.c 2008-08-12 14:13:33.000000000 +0100 +@@ -13,6 +13,7 @@ + #include + + #include ++#include + + + /* needed for GNU/Hurd */ +@@ -99,6 +100,8 @@ + + const char* progname; + ++ setlocale(LC_ALL, ""); ++ + progname = strrchr(*argv, '/'); + if (progname) { + ++progname; diff --git a/hardware/printer/libpaper/files/papersize b/hardware/printer/libpaper/files/papersize new file mode 100644 index 0000000000..f0d03c8312 --- /dev/null +++ b/hardware/printer/libpaper/files/papersize @@ -0,0 +1,2 @@ +# this is the default papersize for libpaper +a4 diff --git a/hardware/printer/libpaper/pspec.xml b/hardware/printer/libpaper/pspec.xml new file mode 100644 index 0000000000..704e8ed20c --- /dev/null +++ b/hardware/printer/libpaper/pspec.xml @@ -0,0 +1,66 @@ + + + + + libpaper + http://packages.debian.org/unstable/source/libpaper + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + Library for handling paper characteristics + Libpaper is a programming library for handling paper characteristics. + http://ftp.debian.org/debian/pool/main/libp/libpaper/libpaper_1.1.24.tar.gz + + libpaper-1.1.23-debianbug475683.patch + libpaper-useglibcfallback.patch + + + + + libpaper + + /usr/bin + /usr/sbin + /usr/lib + /etc/ + /usr/share/man + /usr/share/doc + /usr/share/locale + + + papersize + + + + + libpaper-devel + Development files for libpaper + + libpaper + + + /usr/include + /usr/share/man/man3 + + + + + + 2014-05-21 + 1.1.24 + rebuild + Kamil Atlı + suvarice@gmail.com + + + 2010-10-13 + 1.1.24 + First release + Pisi Linux Admins + admins@pisilinux.org + + + diff --git a/hardware/printer/libpaper/translations.xml b/hardware/printer/libpaper/translations.xml new file mode 100644 index 0000000000..c71061e17b --- /dev/null +++ b/hardware/printer/libpaper/translations.xml @@ -0,0 +1,14 @@ + + + + libpaper + Kağıt özelliklerini düzenlemek için kitaplık + libpaper, kağıt özelliklerini düzenlemek için bir programlama kitaplığıdır. + Libpaper es una librería de programación para manejar características de papel. + + + + libpaper-devel + libpaper için geliştirme dosyaları + + diff --git a/kernel/component.xml b/kernel/component.xml new file mode 100644 index 0000000000..7adc4a6762 --- /dev/null +++ b/kernel/component.xml @@ -0,0 +1,3 @@ + + kernel + diff --git a/kernel/drivers/component.xml b/kernel/drivers/component.xml new file mode 100644 index 0000000000..34152dc858 --- /dev/null +++ b/kernel/drivers/component.xml @@ -0,0 +1,3 @@ + + kernel.drivers + diff --git a/kernel/drivers/module-fglrx/actions.py b/kernel/drivers/module-fglrx/actions.py new file mode 100644 index 0000000000..ffa5251339 --- /dev/null +++ b/kernel/drivers/module-fglrx/actions.py @@ -0,0 +1,170 @@ +# -*- 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 kerneltools +from pisi.actionsapi import shelltools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +WorkDir = "./" +KDIR = kerneltools.getKernelVersion() +NoStrip = ["/lib/modules"] + +BuildDir = "common/lib/modules/fglrx/build_mod" + +if get.buildTYPE() == 'emul32': + Target = "x86" + Libdir = "/usr/lib32" +else: + Target = get.ARCH().replace("i686", "x86") + Libdir = "/usr/lib" + +XDir = "xpic" + ("_64a" if Target == "x86_64" else "") + + +def setup(): + shelltools.makedirs("%s/common" % get.workDIR()) + shelltools.move("lib", "%s/common/" % get.workDIR()) + shelltools.move("usr", "%s/common/" % get.workDIR()) + shelltools.move("etc", "%s/common/" % get.workDIR()) + #shelltools.export("SETUP_NOCHECK", "1") + #shelltools.system("sh amd-driver-installer-*-x86.x86_64.run --extract .") + + if get.buildTYPE() == "emul32": + return + + # Needed during kernel module compiling + shelltools.sym("../../../../../arch/%s/lib/modules/fglrx/build_mod/libfglrx_ip.a" % Target, "%s/libfglrx_ip.a" % BuildDir) + + pisitools.dosed("%s/make.sh" % BuildDir, r"^linuxincludes=.*", "linuxincludes=/lib/modules/%s/build/include" % KDIR) + pisitools.dosed("%s/make.sh" % BuildDir, r"^uname_r=.*", "uname_r=%s" % KDIR) + pisitools.dosed("common/etc/ati/authatieventsd.sh", "/var/lib/xdm/authdir/authfiles", "/var/run/xauth") + + + shelltools.system("patch -p1 < desktop-files.patch") + + #shelltools.system("patch -p1 < fglrx_gpl_symbol.patch") + #shelltools.system("patch -p1 < kolasa_4.0-cr4-strn.patch") + #shelltools.system("patch -p1 < lano1106_fglrx_intel_iommu.patch") + #shelltools.system("patch -p1 < lano1106_kcl_agp_13_4.patch") + shelltools.system("patch -p1 < makefile_compat.patch") + + + +def build(): + if get.buildTYPE() == "emul32": + return + + shelltools.cd(BuildDir) + shelltools.system("sh make.sh") + +def install(): + # Controlcenter binaries + if not get.buildTYPE() == 'emul32': + pisitools.dobin("arch/%s/usr/X11R6/bin/*" % Target) + pisitools.dobin("common/usr/X11R6/bin/*") + pisitools.dosbin("arch/%s/usr/sbin/*" % Target) + pisitools.dobin("arch/%s/usr/bin/*" % Target) + pisitools.dosbin("common/usr/sbin/*") + + # Controlcenter libraries + # The other files under /usr/share are common files like icon,man,doc ,etc .. + DIRS = { + "common/usr/share/doc/fglrx/examples/etc/acpi/events": "/etc/acpi", + "common/etc/*": "/etc", + "arch/%s/etc/OpenCL/*" % Target: "/etc/OpenCL", + "arch/%s/usr/X11R6/lib*/*" % Target: Libdir, + "arch/%s/usr/lib*/*" % Target: Libdir, + "common/usr/share/*": "/usr/share" + } + + # Emul32 package don't need files that belongs to /usr/share + if get.buildTYPE() == "emul32": + del DIRS["common/usr/share/*"] + del DIRS["common/etc/*"] + del DIRS["common/usr/share/doc/fglrx/examples/etc/acpi/events"] + + for source, target in DIRS.items(): + pisitools.insinto(target, source) + + # pisitools.insinto("usr/share/ati/lib64", "arch/%s/usr/share/ati/lib*/*" % Target) + + # X.org drivers + pisitools.domove("%s/modules" % Libdir, "%s/fglrx" % Libdir) + pisitools.insinto("%s/fglrx/modules" % Libdir, "%s/usr/X11R6/lib*/modules/*" % XDir) + pisitools.insinto("%s/xorg/modules" % Libdir, "%s/usr/X11R6/lib*/modules/*" % XDir) + + # libGl library name changed to fglrx-libGl since 1.15 + pisitools.domove("%s/fglrx/fglrx-libGL.so.1.2" % Libdir, "%s/fglrx" % Libdir, "libGL.so.1.2.0") + + pisitools.domove("%s/fglrx/modules/dri" % Libdir, "%s/xorg/modules/" % Libdir) + + pisitools.domove("%s/fglrx/modules/extensions/fglrx/fglrx-libglx.so" % Libdir, + "%s/fglrx/modules/extensions" % Libdir, "libglx.so") + + + # Necessary symlinks + pisitools.dosym("%s/xorg/modules/dri/fglrx_dri.so" % Libdir, "%s/dri/fglrx_dri.so" % Libdir) + + pisitools.dosym("libatiuki.so.1.0", "%s/libatiuki.so.1" % Libdir) + pisitools.dosym("libatiuki.so.1", "%s/libatiuki.so" % Libdir) + + pisitools.dosym("libfglrx_dm.so.1.0", "%s/libfglrx_dm.so.1" % Libdir) + pisitools.dosym("libfglrx_dm.so.1", "%s/libfglrx_dm.so" % Libdir) + + pisitools.dosym("libAMDXvBA.so.1.0", "%s/libAMDXvBA.so.1" % Libdir) + pisitools.dosym("libAMDXvBA.so.1", "%s/libAMDXvBA.so" % Libdir) + + pisitools.dosym("libXvBAW.so.1.0", "%s/libXvBAW.so.1" % Libdir) + pisitools.dosym("libXvBAW.so.1", "%s/libXvBAW.so" % Libdir) + + # remove static libs + pisitools.remove("%s/*.a" % Libdir) + if shelltools.isFile("%s%s/fglrx/modules/esut.a" % (get.installDIR(), Libdir)): + pisitools.remove("%s/fglrx/modules/esut.a" % Libdir) + + # compatibility links + pisitools.dosym("xorg/modules", "%s/modules" % Libdir) + + # OK, That's the end of emul32 build, it's time to exit. + if get.buildTYPE() == "emul32": + return + + # Another compatibility link + pisitools.dosym("/usr", "/usr/X11R6") + + pisitools.dosym("../security/console.apps/amdcccle-su", "/etc/pam.d/amdcccle-su") + + # copy compiled kernel module + pisitools.insinto("/lib/modules/%s/extra/fglrx" % KDIR, "common/lib/modules/fglrx/fglrx.%s.ko" % KDIR, "fglrx.ko") + pisitools.insinto("/lib/modules/%s/kernel/drivers/char/drm" % KDIR, "common/lib/modules/fglrx/fglrx.%s.ko" % KDIR, "fglrx.ko") + + # control script for ACPI lid state and AC adapter state + pisitools.insinto("/etc/acpi", "common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh") + + # not needed as xdg-utils package provides xdg-su + pisitools.remove("/usr/bin/amdxdg-su") + + pisitools.domove("/usr/share/icons/ccc_large.xpm", "/usr/share/pixmaps", "amdcccle.xpm") + pisitools.removeDir("/usr/share/icons") + + #LICENSE information + pisitools.dodoc("LICENSE.TXT") + + # Fix file permissions + exec_file_suffixes = (".sh", ".so", ".so.1.2.0") + exec_dir_suffixes = ("/bin", "/sbin", "/lib") + + import os + for root, dirs, files in os.walk(get.installDIR()): + for name in files: + filePath = os.path.join(root, name) + if os.path.islink(filePath): + continue + if root.endswith(exec_dir_suffixes) \ + or name.endswith(exec_file_suffixes): + shelltools.chmod(filePath, 0755) + else: + shelltools.chmod(filePath, 0644) diff --git a/kernel/drivers/module-fglrx/comar/package-emul32.py b/kernel/drivers/module-fglrx/comar/package-emul32.py new file mode 100644 index 0000000000..7a1f8a79a6 --- /dev/null +++ b/kernel/drivers/module-fglrx/comar/package-emul32.py @@ -0,0 +1,18 @@ +#!/usr/bin/python + +import os + +libdir = "/usr/lib32/fglrx" + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.system("/usr/sbin/alternatives \ + --install /usr/lib32/libGL.so.1.2.0 libGL-32bit %(libdir)s/libGL.so.1.2.0 50 \ + --slave /usr/lib32/xorg/modules/volatile xorg-modules-volatile-32bit %(libdir)s/modules" + % {"libdir": libdir}) + +def preRemove(): + # FIXME This is not needed when upgrading package; but pisi does not + # provide a way to learn operation type. + #os.system("/usr/sbin/alternatives --remove libGL-32bit %s/libGL.so.1.2" % libdir) + pass + diff --git a/kernel/drivers/module-fglrx/comar/package.py b/kernel/drivers/module-fglrx/comar/package.py new file mode 100644 index 0000000000..5bd3c93c7d --- /dev/null +++ b/kernel/drivers/module-fglrx/comar/package.py @@ -0,0 +1,17 @@ +#!/usr/bin/python + +import os + +libdir = "/usr/lib/fglrx" + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.system("/usr/sbin/alternatives \ + --install /usr/lib/libGL.so.1.2.0 libGL %(libdir)s/libGL.so.1.2.0 50 \ + --slave /usr/lib/xorg/modules/volatile xorg-modules-volatile %(libdir)s/modules" + % {"libdir": libdir}) + +def preRemove(): + # FIXME This is not needed when upgrading package; but pisi does not + # provide a way to learn operation type. + #os.system("/usr/sbin/alternatives --remove libGL %s/libGL.so.1.2" % libdir) + pass diff --git a/kernel/drivers/module-fglrx/comar/service.py b/kernel/drivers/module-fglrx/comar/service.py new file mode 100644 index 0000000000..a8ff970a21 --- /dev/null +++ b/kernel/drivers/module-fglrx/comar/service.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +serviceType = "local" +serviceDesc = _({"en": "ATI Events Daemon", + "tr": "ATI Olay Servisi"}) +serviceConf = "atieventsd" + +from comar.service import * + +@synchronized +def start(): + startService(command="/usr/sbin/atieventsd", + args=config.get("ATIEVENTSDOPTS", ""), + donotify=True) + +@synchronized +def stop(): + stopService(command="/usr/sbin/atieventsd", + donotify=True) + +def status(): + return isServiceRunning(command="/usr/sbin/atieventsd") diff --git a/kernel/drivers/module-fglrx/files/LICENSE.TXT b/kernel/drivers/module-fglrx/files/LICENSE.TXT new file mode 100644 index 0000000000..c1ab25ebf0 --- /dev/null +++ b/kernel/drivers/module-fglrx/files/LICENSE.TXT @@ -0,0 +1,188 @@ + +AMD Software End User License Agreement + +PLEASE READ THIS LICENSE CAREFULLY BEFORE USING THE SOFTWARE. BY +DOWNLOADING, INSTALLING, COPYING OR USING THE SOFTWARE, YOU ARE AGREEING TO +BE BOUND BY THE TERMS OF THIS LICENSE. IF YOU ARE ACCESSING THE SOFTWARE +ELECTRONICALLY, SIGNIFY YOUR AGREEMENT BY CLICKING THE "AGREE/ACCEPT" +BUTTON. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE, PROMPTLY RETURN +THE SOFTWARE TO THE PLACE WHERE YOU OBTAINED IT AND (IF APPLICABLE) YOUR +MONEY WILL BE REFUNDED OR IF THE SOFTWARE WAS ACCESSED ELECTRONICALLY CLICK +"DISAGREE/DECLINE". + +1. License. Advanced Micro Devices, Inc., on behalf of itself, its +subsidiaries and licensors (referred collectively as "AMD") grants to you +the following non-exclusive, right to use the software accompanying +this License (hereinafter "Software") subject to the following terms and +limitations: + + +(a) Regardless of the media upon which it is distributed, the Software is +licensed to you for use solely in conjunction with AMD hardware products to +which the Software relates ("AMD Hardware"). + +(b) You own the medium on which the Software is recorded, but AMD and, if +applicable, its licensors retain title to the Software and related +documentation. + +(c) You may: + + i) use the Software solely in connection with the AMD Hardware on a + single computer; + + ii) make one copy of the Software in machine-readable form for backup + purposes only. You must reproduce on such copy AMD's copyright notice and + any other proprietary legends that were on the original copy of the + Software; + + iii) transfer all your license rights in the Software provided you must + also transfer a copy of this License, the backup copy of the Software, + the AMD Hardware and the related documentation and provided the other + party reads and agrees to accept the terms and conditions of this + License. Upon such transfer your license rights are then terminated. + +(d) In addition to the license terms above, with respect to portions of +the Software in source code or binary form designed exclusively for use +with the Linux operating system ("AMD Linux Code"), you may use, display, +modify, copy, distribute, allow others to re-distribute, package and re- +package such AMD Linux Code for commercial and non-commercial purposes, +provided that: + + i) all binary components of the AMD Linux Code are not modified in any + way; + + ii) the AMD Linux Code is only used as part of the Software and in + connection with AMD Hardware; + + iii) all copyright notices of AMD are reproduced and you refer to these + license terms; + + iv) you may not offer or impose any terms on the use of AMD Linux + Code that alter or restrict this License; and + + v) if you have modified the AMD Linux Code, such modifications will be + made publicly available and are licensed under the same terms provided + herein to AMD or any other third party without further restriction, + royalty or any other license requirement; + + vi) to the extent there is any AMD sample or control panel source + code included in the AMD Linux Code, no rights are granted to modify such + code except for portions thereof that may be subject to third party + license terms that grant such rights; + + vii) no rights are granted to distribute the binary form of the AMD Linux + Kernel Module made by linking the AMD Proprietary Kernel Library and the + AMD Kernel Compatibility Layer binary compiled using Linux kernel + headers; + + viii) AMD is not obligated to provide any maintenance or technical + support for any code resulting from AMD Linux Code. + +2. Restrictions. The Software contains copyrighted and patented material, +trade secrets and other proprietary material. In order to protect them, +and except as permitted by this license or applicable legislation, you may +not: + + a) decompile, reverse engineer, disassemble or otherwise reduce the + Software to a human-perceivable form; + + b) modify, network, rent, lend, loan, distribute or create derivative + works based upon the Software in whole or in part; or + + c) electronically transmit the Software from one computer to another or + over a network or otherwise transfer the Software except as permitted by + this License. + +3. Termination. This License is effective until terminated. You may +terminate this License at any time by destroying the Software, related +documentation and all copies thereof. This License will terminate +immediately without notice from AMD if you fail to comply with any +provision of this License. Upon termination you must destroy the Software, +related documentation and all copies thereof. + +4. Government End Users. If you are acquiring the Software on behalf of +any unit or agency of the United States Government, the following +provisions apply. The Government agrees the Software and documentation +were developed at private expense and are provided with "RESTRICTED +RIGHTS". Use, duplication, or disclosure by the Government is subject to +restrictions as set forth in DFARS 227.7202-1(a) and 227.7202-3(a) (1995), +DFARS 252.227-7013(c)(1)(ii) (Oct 1988), FAR 12.212(a)(1995), FAR 52.227- +19, (June 1987) or FAR 52.227-14(ALT III) (June 1987),as amended from time +to time. In the event that this License, or any part thereof, is deemed +inconsistent with the minimum rights identified in the Restricted Rights +provisions, the minimum rights shall prevail. + +5. No Other License. No rights or licenses are granted by AMD under this +License, expressly or by implication, with respect to any proprietary +information or patent, copyright, trade secret or other intellectual +property right owned or controlled by AMD, except as expressly provided in +this License. + +6. Additional Licenses. DISTRIBUTION OR USE OF THE SOFTWARE WITH AN +OPERATING SYSTEM MAY REQUIRE ADDITIONAL LICENSES FROM THE OPERATING SYSTEM +VENDOR. + +7. Disclaimer of Warranty on Software. You expressly acknowledge and +agree that use of the Software is at your sole risk. The Software and +related documentation are provided "AS IS" and without warranty of any kind +and AMD EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FORA PARTICULAR PURPOSE, OF QUALITY, OF QUIET ENJOYMENT AND OF NON- +INFRINGEMENT OF THIRD PARTY RIGHTS. AMD DOES NOT WARRANT THAT THE +FUNCTIONS CONTAINED IN THE SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT +THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT +DEFECTS IN THE SOFTWARE WILL BE CORRECTED. THE ENTIRE RISK AS TO THE +RESULTS AND PERFORMANCE OF THE SOFTWARE IS ASSUMED BY YOU. FURTHERMORE, +AMD DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE ORTHE +RESULTS OF THE USE OF THE SOFTWARE OR RELATED DOCUMENTATION IN TERMS OF +THEIR CORRECTNESS, ACCURACY, RELIABILITY, CURRENTNESS, OR OTHERWISE. NO +ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY AMD OR AMD'S AUTHORIZED +REPRESENTATIVE SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF +THIS WARRANTY. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU (AND NOT AMD OR +AMD'S AUTHORIZED REPRESENTATIVE) ASSUME THE ENTIRE COST OF ALL NECESSARY +SERVICING, REPAIR OR CORRECTION. THE SOFTWARE IS NOT INTENDED FOR USE IN +MEDICAL, LIFE SAVING OR LIFE SUSTAINING APPLICATIONS. SOME JURISDICTIONS +DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION +MAY NOT APPLY TO YOU. + +8. Limitation of Liability. TO THE MAXIMUM EXTENT PERMITTED BY LAW, UNDER +NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL AMD, OR ITS DIRECTORS, +OFFICERS, EMPLOYEES OR AGENTS, BE LIABLE TO YOU FOR ANY INCIDENTAL, +INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF +BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND +THE LIKE) ARISING OUT OF THE USE, MISUSE OR INABILITY TO USE THE SOFTWARE +OR RELATED DOCUMENTATION, BREACH OR DEFAULT, INCLUDING THOSE ARISING FROM +INFRINGEMENT OR ALLEGED INFRINGEMENT OF ANY PATENT, TRADEMARK, COPYRIGHT OR +OTHER INTELLECTUAL PROPERTY RIGHT, BY AMD, EVEN IF AMD OR AMD'S AUTHORIZED +REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME +JURISDICTIONS DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR +INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION +MAY NOT APPLY TO YOU. AMD will not be liable for 1) loss of, or damage to, +your records or data or 2) any damages claimed by you based on any third +party claim. In no event shall AMD's total liability to you for all +damages, losses, and causes of action (whether in contract, tort (including +negligence) or otherwise) exceed the amount paid by you for the Software. +The foregoing limitations will apply even if the above stated limitation +fails of its essential purpose. + +9. Controlling Law and Severability. This License shall be governed by +and construed under the laws of the Province of Ontario, Canada without +reference to its conflict of law principles. Any dispute related hereto +will be brought only in the courts in Toronto, Ontario, Canada and such +courts are agreed to be the convenient forum. In the event of any +conflicts between foreign law, rules, and regulations, and Canadian law, +rules, and regulations, Canadian law, rules and regulations shall prevail +and govern. The United Nations Convention on Contracts for the +International Sale of Goods shall not apply to this License. If for any +reason a court of competent jurisdiction finds any provision of this +License or portion thereof, to be unenforceable, that provision of the +License shall be enforced to the maximum extent permissible so as to effect +the intent of the parties, and the remainder of this License shall continue +in full force and effect. + +10. Complete Agreement. This License constitutes the entire agreement +between the parties with respect to the use of the Software and the related +documentation, and supersedes all prior or contemporaneous understandings +or agreements, written or oral, regarding such subject matter. No +amendment to or modification of this License will be binding unless in +writing and signed by a duly authorized representative of AMD. diff --git a/kernel/drivers/module-fglrx/files/ati-powermode.patch b/kernel/drivers/module-fglrx/files/ati-powermode.patch new file mode 100644 index 0000000000..a5b4b731ed --- /dev/null +++ b/kernel/drivers/module-fglrx/files/ati-powermode.patch @@ -0,0 +1,19 @@ +Index: work/common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh +=================================================================== +--- work.orig/common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh ++++ work/common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh +@@ -4,10 +4,12 @@ + # Control script for ACPI lid state and AC adapter state + # + ++test -d /sys/module/fglrx || exit 0 ++ + getXuser() { +- user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'` ++ user=`who | grep -m1 ":$displaynum " | awk '{print $1}'` + if [ x"$user" = x"" ]; then +- user=`finger| grep -m1 ":$displaynum" | awk '{print $1}'` ++ user=`who | grep -m1 ":$displaynum" | awk '{print $1}'` + fi + if [ x"$user" != x"" ]; then + userhome=`getent passwd $user | cut -d: -f6` diff --git a/kernel/drivers/module-fglrx/files/atieventsd b/kernel/drivers/module-fglrx/files/atieventsd new file mode 100644 index 0000000000..b15a79aa67 --- /dev/null +++ b/kernel/drivers/module-fglrx/files/atieventsd @@ -0,0 +1 @@ +ATIEVENTSDOPTS="" diff --git a/kernel/drivers/module-fglrx/files/atieventsd.service b/kernel/drivers/module-fglrx/files/atieventsd.service new file mode 100644 index 0000000000..bc82882a54 --- /dev/null +++ b/kernel/drivers/module-fglrx/files/atieventsd.service @@ -0,0 +1,8 @@ +[Unit] +Description=ATI Events Daemon + +[Service] +ExecStart=/usr/sbin/atieventsd --nodaemon + +[Install] +WantedBy=multi-user.target diff --git a/kernel/drivers/module-fglrx/files/blacklist-fglrx.conf b/kernel/drivers/module-fglrx/files/blacklist-fglrx.conf new file mode 100644 index 0000000000..c3c4be20b8 --- /dev/null +++ b/kernel/drivers/module-fglrx/files/blacklist-fglrx.conf @@ -0,0 +1,3 @@ +# Advanced Micro Devices, Inc. +# radeon conflicts with AMD Linux Graphics Driver +blacklist radeon diff --git a/kernel/drivers/module-fglrx/files/cold-fglrx-3.14-current_euid.patch b/kernel/drivers/module-fglrx/files/cold-fglrx-3.14-current_euid.patch new file mode 100644 index 0000000000..2bbf228274 --- /dev/null +++ b/kernel/drivers/module-fglrx/files/cold-fglrx-3.14-current_euid.patch @@ -0,0 +1,14 @@ +--- 14.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2014-02-23 19:26:52.215995002 +0100 ++++ 14.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2014-02-23 19:27:59.320999596 +0100 +@@ -1761,7 +1761,11 @@ + #else + + #ifdef current_euid ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0) ++ return __kuid_val(current_euid()); ++#else + return current_euid(); ++#endif + #else + return current->euid; + #endif diff --git a/kernel/drivers/module-fglrx/files/desktop-files.patch b/kernel/drivers/module-fglrx/files/desktop-files.patch new file mode 100644 index 0000000000..a08c8c1455 --- /dev/null +++ b/kernel/drivers/module-fglrx/files/desktop-files.patch @@ -0,0 +1,52 @@ +Index: work/common/usr/share/applications/amdcccle.desktop +=================================================================== +--- work.orig/common/usr/share/applications/amdcccle.desktop ++++ work/common/usr/share/applications/amdcccle.desktop +@@ -1,9 +1,10 @@ + [Desktop Entry] + Encoding=UTF-8 + Type=Application +-Exec=amdcccle +-Icon=ccc_large ++Exec=amdcccle ++Icon=amdcccle + Categories=GNOME;KDE;GTK;Qt;HardwareSettings;Settings; ++TryExec=/sys/module/fglrx + + + Name=AMD Catalyst Control Center +@@ -44,7 +45,7 @@ Name[sv]=AMD Catalyst Control Center + Comment[sv]=Möjliggör konfiguration av inställningar för AMD-grafikmaskinvara. + Name[th]=AMD Catalyst Control Center + Comment[th]=ยอมให้ตั้งค่าฮาร์ดแวร์กราฟิก AMD +-Name[tr]=AMD Catalyst Control Center ++Name[tr]=AMD Catalyst Denetim Merkezi + Comment[tr]=AMD grafik donanım ayarlarının yapılandırılmasına olanak sağlar. + Name[zh_CN]=AMD Catalyst Control Center + Comment[zh_CN]=允许配置 AMD 图形硬件设置。 +Index: work/common/usr/share/applications/amdccclesu.desktop +=================================================================== +--- work.orig/common/usr/share/applications/amdccclesu.desktop ++++ work/common/usr/share/applications/amdccclesu.desktop +@@ -1,9 +1,10 @@ + [Desktop Entry] + Encoding=UTF-8 + Type=Application +-Exec=amdxdg-su -c amdcccle ++Exec=xdg-su -c amdcccle + Categories=GNOME;KDE;GTK;Qt;HardwareSettings;Settings; +-Icon=ccc_large ++Icon=amdcccle ++TryExec=/sys/module/fglrx + + Name=AMD Catalyst Control Center (Administrative) + Comment=Allows the configuration of the AMD graphics hardware settings that requires administrative access. +@@ -43,7 +44,7 @@ Name[sv]=AMD Catalyst Control Center (Ad + Comment[sv]=Möjliggör konfiguration av inställningar för AMD-grafikmaskinvara som kräver administrativ åtkomst. + Name[th]=AMD Catalyst Control Center (สิทธิ์ผู้ดูแลระบบ) + Comment[th]=ยอมให้ตั้งค่าฮาร์ดแวร์กราฟิก AMD ที่ต้องใช้สิทธิ์ของผู้ดูแลระบบ +-Name[tr]=AMD Catalyst Control Center (Yönetici) ++Name[tr]=AMD Catalyst Denetim Merkezi (Yönetici) + Comment[tr]=Yönetici erişimi gerektiren AMD grafik donanım ayarlarının yapılandırılmasına olanak sağlar. + Name[zh_CN]=AMD Catalyst Control Center(管理) + Comment[zh_CN]=允许配置需要管理权限才能访问的 AMD 图形硬件设置。 diff --git a/kernel/drivers/module-fglrx/files/fglrx-fix-GL-redefines.patch b/kernel/drivers/module-fglrx/files/fglrx-fix-GL-redefines.patch new file mode 100644 index 0000000000..4131c0c873 --- /dev/null +++ b/kernel/drivers/module-fglrx/files/fglrx-fix-GL-redefines.patch @@ -0,0 +1,49 @@ + +Already defined in mesa + +Signed-off-by: Thomas Backlund + +diff -Nurp fglrx-13.250.18.orig/common/usr/include/GL/glATI.h fglrx-13.250.18/common/usr/include/GL/glATI.h +--- fglrx-13.250.18.orig/common/usr/include/GL/glATI.h 2013-12-06 13:46:50.339162515 +0200 ++++ fglrx-13.250.18/common/usr/include/GL/glATI.h 2013-12-06 13:51:18.621140440 +0200 +@@ -5367,7 +5367,9 @@ typedef GLvoid (APIENTRY * PFNGLTEXRENDE + #define GL_SAMPLE_MASK_VALUE 0x8E52 + #define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 + #define GL_TEXTURE_2D_MULTISAMPLE 0x9100 ++#ifndef GL_PROXY_TEXTURE_2D_MULTISAMPLE + #define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0X9101 ++#endif + #define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 + #define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 + #define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E +@@ -5385,11 +5387,13 @@ typedef GLvoid (APIENTRY * PFNGLTEXRENDE + #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D + + typedef GLvoid (APIENTRY * PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield value); ++#if 0 + typedef GLvoid (APIENTRY * PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, + GLsizei width, GLsizei height, GLboolean fixedsamplelocations); ++ + typedef GLvoid (APIENTRY * PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, + GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +- ++#endif + // GL_EXT_timer_query + #define GL_TIME_ELAPSED_EXT 0x88BF + +@@ -6006,6 +6010,7 @@ typedef GLvoid (APIENTRY * PFNGLDEBUGMES + typedef GLvoid (APIENTRY * PFNGLDEBUGMESSAGECALLBACKARB)(GLvoid* callback, GLvoid* userParam); + typedef GLuint (APIENTRY * PFNGLGETDEBUGMESSAGELOGARB)(GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog); + ++#if 0 + typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source, + GLenum type, + GLuint id, +@@ -6014,6 +6019,7 @@ typedef void (APIENTRY *GLDEBUGPROCARB)( + const GLchar* message, + GLvoid* userParam); + // end ARB_debug_output ++#endif + + + /* ARB_debug_group (KHR_debug) */ diff --git a/kernel/drivers/module-fglrx/files/fglrx-no_hotplug.patch b/kernel/drivers/module-fglrx/files/fglrx-no_hotplug.patch new file mode 100644 index 0000000000..9dea9c5399 --- /dev/null +++ b/kernel/drivers/module-fglrx/files/fglrx-no_hotplug.patch @@ -0,0 +1,42 @@ +diff -Nurp fglrx.orig/lib/modules/fglrx/build_mod/firegl_public.c fglrx/lib/modules/fglrx/build_mod/firegl_public.c +--- fglrx.orig/lib/modules/fglrx/build_mod/firegl_public.c 2014-09-09 17:10:17.000000000 +0300 ++++ fglrx/lib/modules/fglrx/build_mod/firegl_public.c 2014-09-23 23:18:51.342432159 +0300 +@@ -1093,6 +1093,9 @@ static int fglrx_pci_suspend(struct pci_ + // directly here to allow suspend/resume without X server start. + firegl_pci_save_state((KCL_PCI_DevHandle)pdev, privdev); + pci_disable_device(pdev); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0) ++ pci_ignore_hotplug(pdev); ++#endif + PMSG_EVENT(pdev->dev.power.power_state) = state; + } + else +diff -Nurp fglrx.orig/lib/modules/fglrx/build_mod/kcl_acpi.c fglrx/lib/modules/fglrx/build_mod/kcl_acpi.c +--- fglrx.orig/lib/modules/fglrx/build_mod/kcl_acpi.c 2014-09-09 17:10:17.000000000 +0300 ++++ fglrx/lib/modules/fglrx/build_mod/kcl_acpi.c 2014-09-23 23:45:27.016475868 +0300 +@@ -840,10 +840,12 @@ static acpi_status KCL_ACPI_Slot_No_Hotp + if(tdev != NULL) + { + device = (acpi_device_adr(tdev) >> 16) & 0xffff; ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) + if(PCI_SLOT(pdev->devfn) == device) + { + tdev->flags.no_hotplug = true; + } ++#endif + } + #endif + return 0; +diff -Nurp fglrx.orig/lib/modules/fglrx/build_mod/kcl_pci.c fglrx/lib/modules/fglrx/build_mod/kcl_pci.c +--- fglrx.orig/lib/modules/fglrx/build_mod/kcl_pci.c 2014-09-09 17:10:17.000000000 +0300 ++++ fglrx/lib/modules/fglrx/build_mod/kcl_pci.c 2014-09-23 23:23:32.085208398 +0300 +@@ -306,6 +306,9 @@ void ATI_API_CALL KCL_PCI_DisableDevice( + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20) + pci_disable_device((struct pci_dev*)dev); + #endif ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0) ++ pci_ignore_hotplug((struct pci_dev*)dev); ++#endif + } + + #if defined(__x86_64__) diff --git a/kernel/drivers/module-fglrx/files/fglrx_gpl_symbol.patch b/kernel/drivers/module-fglrx/files/fglrx_gpl_symbol.patch new file mode 100644 index 0000000000..2030b9eadd --- /dev/null +++ b/kernel/drivers/module-fglrx/files/fglrx_gpl_symbol.patch @@ -0,0 +1,11 @@ +--- 13.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2013-01-15 22:33:27.000000000 +0100 ++++ 13.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2014-08-18 20:05:44.327520475 +0200 +@@ -250,7 +250,7 @@ + #endif + + #ifdef MODULE_LICENSE +-MODULE_LICENSE("Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY"); ++MODULE_LICENSE("GPL\0Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY"); + #endif + #ifdef MODULE_DEVICE_TABLE + MODULE_DEVICE_TABLE(pci, fglrx_pci_table); diff --git a/kernel/drivers/module-fglrx/files/kolasa_4.0-cr4-strn.patch b/kernel/drivers/module-fglrx/files/kolasa_4.0-cr4-strn.patch new file mode 100644 index 0000000000..7bce698bad --- /dev/null +++ b/kernel/drivers/module-fglrx/files/kolasa_4.0-cr4-strn.patch @@ -0,0 +1,70 @@ +diff -uNr 14.12/common/lib/modules/fglrx/build_mod/firegl_public.c 14.12_2/common/lib/modules/fglrx/build_mod/firegl_public.c +--- 14.12/common/lib/modules/fglrx/build_mod/firegl_public.c 2014-11-28 21:02:10.000000000 +0100 ++++ 14.12_2/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-03-08 13:30:42.565275902 +0100 +@@ -4468,8 +4468,13 @@ + + if (cpu_has_pge) + { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0) + cr4 = read_cr4(); + write_cr4(cr4 & ~X86_CR4_PGE); ++#else ++ cr4 = __read_cr4(); ++ __write_cr4(cr4 & ~X86_CR4_PGE); ++#endif + } + __flush_tlb(); + +@@ -4482,7 +4487,11 @@ + write_cr0(cr0 & 0xbfffffff); + if (cpu_has_pge) + { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0) + write_cr4(cr4); ++#else ++ __write_cr4(cr4); ++#endif + } + local_irq_restore(flags); + +@@ -4509,8 +4518,13 @@ + + if (cpu_has_pge) + { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0) + cr4 = read_cr4(); + write_cr4(cr4 & ~X86_CR4_PGE); ++#else ++ cr4 = __read_cr4(); ++ __write_cr4(cr4 & ~X86_CR4_PGE); ++#endif + } + __flush_tlb(); + +@@ -4522,7 +4536,11 @@ + write_cr0(cr0 & 0xbfffffff); + if (cpu_has_pge) + { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0) + write_cr4(cr4); ++#else ++ __write_cr4(cr4); ++#endif + } + local_irq_restore(flags); + +diff -uNr 14.12/common/lib/modules/fglrx/build_mod/kcl_str.c 14.12_2/common/lib/modules/fglrx/build_mod/kcl_str.c +--- 14.12/common/lib/modules/fglrx/build_mod/kcl_str.c 2014-11-28 21:02:10.000000000 +0100 ++++ 14.12_2/common/lib/modules/fglrx/build_mod/kcl_str.c 2015-03-08 13:25:11.568396701 +0100 +@@ -169,7 +169,11 @@ + const char* s2, + KCL_TYPE_SizeSigned count) + { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0) + return strnicmp(s1, s2, count); ++#else ++ return strncasecmp(s1, s2, count); ++#endif + } + + /** \brief Locate character in string diff --git a/kernel/drivers/module-fglrx/files/lano1106_fglrx_intel_iommu.patch b/kernel/drivers/module-fglrx/files/lano1106_fglrx_intel_iommu.patch new file mode 100644 index 0000000000..101654c41c --- /dev/null +++ b/kernel/drivers/module-fglrx/files/lano1106_fglrx_intel_iommu.patch @@ -0,0 +1,11 @@ +--- 13.4/common/lib/modules/fglrx/build_mod/firegl_public.c 2013-04-16 23:29:55.000000000 +0200 ++++ 13.4/common/lib/modules/fglrx/build_mod/firegl_public.c 2013-05-21 17:05:34.726681102 +0200 +@@ -93,7 +93,7 @@ + and they use different config options. These options can only be enabled + on x86_64 with newer 2.6 kernels (2.6.23 for intel, 2.6.26 for amd). + */ +-#if defined(CONFIG_AMD_IOMMU) || defined(CONFIG_DMAR) ++#if defined(CONFIG_AMD_IOMMU) || defined(CONFIG_INTEL_IOMMU) + #define FIREGL_DMA_REMAPPING + #endif + diff --git a/kernel/drivers/module-fglrx/files/lano1106_kcl_agp_13_4.patch b/kernel/drivers/module-fglrx/files/lano1106_kcl_agp_13_4.patch new file mode 100644 index 0000000000..d39c5aaeb1 --- /dev/null +++ b/kernel/drivers/module-fglrx/files/lano1106_kcl_agp_13_4.patch @@ -0,0 +1,90 @@ +--- 13.4/common/lib/modules/fglrx/build_mod/kcl_agp.c 2013-05-24 16:45:52.236740084 -0400 ++++ 13.4/common/lib/modules/fglrx/build_mod/kcl_agp.c 2013-05-24 16:49:29.283579408 -0400 +@@ -56,6 +56,43 @@ unsigned int KCL_AGP_IsInUse(void) + return kcl_agp_is_in_use; + } + ++/** \brief Find AGP caps registers in PCI config space ++ ** \param dev PCI device handle ++ ** \return Positive register index on success, negative errno on error ++ */ ++int ATI_API_CALL KCL_AGP_FindCapsRegisters(KCL_PCI_DevHandle dev) ++{ ++ u8 capndx; ++ u32 cap_id; ++ ++ if (!dev) ++ { ++ return -ENODEV; ++ } ++ ++ pci_read_config_byte((struct pci_dev*)dev, 0x34, &capndx); ++ ++ if (capndx == 0x00) ++ { ++ return -ENODATA; ++ } ++ ++ do ++ { // search capability list for AGP caps ++ pci_read_config_dword((struct pci_dev*)dev, capndx, &cap_id); ++ ++ if ((cap_id & 0xff) == 0x02) ++ { ++ return capndx; ++ } ++ ++ capndx = (cap_id >> 8) & 0xff; ++ } ++ while (capndx != 0x00); ++ ++ return -ENODATA; ++} ++ + #if defined(CONFIG_AGP) || defined(CONFIG_AGP_MODULE) + + typedef struct { +@@ -272,43 +309,6 @@ int ATI_API_CALL KCL_AGP_Enable(unsigned + } + } + +-/** \brief Find AGP caps registers in PCI config space +- ** \param dev PCI device handle +- ** \return Positive register index on success, negative errno on error +- */ +-int ATI_API_CALL KCL_AGP_FindCapsRegisters(KCL_PCI_DevHandle dev) +-{ +- u8 capndx; +- u32 cap_id; +- +- if (!dev) +- { +- return -ENODEV; +- } +- +- pci_read_config_byte((struct pci_dev*)dev, 0x34, &capndx); +- +- if (capndx == 0x00) +- { +- return -ENODATA; +- } +- +- do +- { // search capability list for AGP caps +- pci_read_config_dword((struct pci_dev*)dev, capndx, &cap_id); +- +- if ((cap_id & 0xff) == 0x02) +- { +- return capndx; +- } +- +- capndx = (cap_id >> 8) & 0xff; +- } +- while (capndx != 0x00); +- +- return -ENODATA; +-} +- + /** \brief Get AGP caps + ** \param dev PCI device handle + ** \param caps pointer to caps vector diff --git a/kernel/drivers/module-fglrx/files/linux-3.10-proc.diff b/kernel/drivers/module-fglrx/files/linux-3.10-proc.diff new file mode 100644 index 0000000000..ce4871c065 --- /dev/null +++ b/kernel/drivers/module-fglrx/files/linux-3.10-proc.diff @@ -0,0 +1,293 @@ +diff -Nur common/lib/modules/fglrx/build_mod/drmP.h common-r1/lib/modules/fglrx/build_mod/drmP.h +--- common/lib/modules/fglrx/build_mod/drmP.h 2013-05-15 09:26:23.555752577 +0300 ++++ common-r1/lib/modules/fglrx/build_mod/drmP.h 2013-05-16 10:39:17.496212055 +0300 +@@ -901,10 +901,6 @@ + int DRM(stub_unregister)(int minor); + + /* Proc support (drm_proc.h) */ +-extern struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, +- int minor, +- struct proc_dir_entry *root, +- struct proc_dir_entry **dev_root); + extern int DRM(proc_cleanup)(int minor, + struct proc_dir_entry *root, + struct proc_dir_entry *dev_root); +diff -Nur common/lib/modules/fglrx/build_mod/drm_proc.h common-r1/lib/modules/fglrx/build_mod/drm_proc.h +--- common/lib/modules/fglrx/build_mod/drm_proc.h 2013-05-15 09:26:23.555752577 +0300 ++++ common-r1/lib/modules/fglrx/build_mod/drm_proc.h 2013-05-19 02:16:16.584406160 +0300 +@@ -75,61 +75,6 @@ + #define DRM_PROC_ENTRIES (sizeof(DRM(proc_list))/sizeof(DRM(proc_list)[0])) + + /** +- * Initialize the DRI proc filesystem for a device. +- * +- * \param dev DRM device. +- * \param minor device minor number. +- * \param root DRI proc dir entry. +- * \param dev_root resulting DRI device proc dir entry. +- * \return root entry pointer on success, or NULL on failure. +- * +- * Create the DRI proc root entry "/proc/ati", the device proc root entry +- * "/proc/ati/%minor%/", and each entry in proc_list as +- * "/proc/ati/%minor%/%name%". +- */ +-struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, int minor, +- struct proc_dir_entry *root, +- struct proc_dir_entry **dev_root) +-{ +- struct proc_dir_entry *ent; +- int i, j; +- char name[64]; +- +- if (!minor) root = create_proc_entry("dri", S_IFDIR, NULL); +- if (!root) { +- DRM_ERROR("Cannot create /proc/ati\n"); +- return NULL; +- } +- +- sprintf(name, "%d", minor); +- *dev_root = create_proc_entry(name, S_IFDIR, root); +- if (!*dev_root) { +- DRM_ERROR("Cannot create /proc/ati/%s\n", name); +- return NULL; +- } +- +- for (i = 0; i < DRM_PROC_ENTRIES; i++) { +- ent = create_proc_entry(DRM(proc_list)[i].name, +- S_IFREG|S_IRUGO, *dev_root); +- if (!ent) { +- DRM_ERROR("Cannot create /proc/ati/%s/%s\n", +- name, DRM(proc_list)[i].name); +- for (j = 0; j < i; j++) +- remove_proc_entry(DRM(proc_list)[i].name, +- *dev_root); +- remove_proc_entry(name, root); +- if (!minor) remove_proc_entry("dri", NULL); +- return NULL; +- } +- ent->read_proc = DRM(proc_list)[i].f; +- ent->data = dev; +- } +- +- return root; +-} +- +- +-/** + * Cleanup the proc filesystem resources. + * + * \param minor device minor number. +diff -Nur common/lib/modules/fglrx/build_mod/firegl_public.c common-r1/lib/modules/fglrx/build_mod/firegl_public.c +--- common/lib/modules/fglrx/build_mod/firegl_public.c 2013-05-15 09:26:23.545752925 +0300 ++++ common-r1/lib/modules/fglrx/build_mod/firegl_public.c 2013-05-19 03:07:10.236552522 +0300 +@@ -583,6 +583,202 @@ + { "NULL", NULL, NULL} // Terminate List!!! + }; + ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) ++typedef int (read_proc_t)(char *page, char **start, off_t off, int count, int *eof, void *data); ++typedef int (write_proc_t)(struct file *file, const char __user *buffer, unsigned long count, void *data); ++#else ++#define PDE_DATA(inode) (PDE((inode))->data) ++#endif ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) ++typedef struct { ++ read_proc_t *read_func; ++ write_proc_t *write_func; ++ void *data; ++} gentoo_proc_wrapper_t; ++ ++#define GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC 939750305 ++ ++static ssize_t gentoo_proc_wrapper_read (struct file *myfile, char __user *buffer, size_t count, loff_t *offset) { ++ int is_eof=0, retval; ++ char *start, *usebuffer=NULL; ++ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data); ++ if (PAGE_SIZE<*offset) { ++ printk(KERN_ERR "Trying to read beyond 4k on proc\n"); ++ return -EIO; ++ } ++ //printk(KERN_NOTICE " call with: dev %p, func %p\n", wrapper_data->data, wrapper_data->read_func); ++ ++ usebuffer=kmalloc(2*PAGE_SIZE, GFP_KERNEL); ++ if (!usebuffer) ++ return -ENOMEM; ++ ((u32*)usebuffer)[1024]=GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC; ++ ++ retval=wrapper_data->read_func(usebuffer, &start, *offset, count, &is_eof, wrapper_data->data); ++ ++ BUG_ON(GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC != ((u32*)usebuffer)[1024]); ++ ++ if (0 > retval) ++ { ++ printk(KERN_ERR "Proc read failed with %d", retval); ++ goto out; ++ } ++ ++ if (copy_to_user(buffer, start, retval)) { ++ printk(KERN_NOTICE "copy to user failed in amd drivers proc code\n"); ++ retval=-EFAULT; ++ goto out; ++ } ++ *offset+=retval; ++ ++out: ++ if (usebuffer) ++ kfree(usebuffer); ++ return retval; ++} ++static ssize_t gentoo_proc_wrapper_write (struct file *myfile, const char __user *buffer, size_t count, loff_t *offset) { ++ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data); ++ int retval=0; ++ void *usebuffer=NULL; ++ ++ BUG_ON(*offset); ++ if (!wrapper_data->write_func) ++ return -EPERM; ++ ++ usebuffer=kmalloc(count, GFP_KERNEL); ++ if (!usebuffer) ++ return -ENOMEM; ++ if (copy_from_user(usebuffer, buffer, count)) { ++ printk(KERN_NOTICE "copy from user failed in amd drivers proc code\n"); ++ retval=-EFAULT; ++ goto out; ++ } ++ ++ retval=wrapper_data->write_func(myfile, buffer, count, wrapper_data->data); ++ *offset+=retval; ++out: ++ if (usebuffer) ++ kfree(usebuffer); ++ return retval; ++} ++static int gentoo_proc_wrapper_open(struct inode *myinode, struct file *myfile) { ++ myfile->private_data=PDE_DATA(myinode); ++ return generic_file_open(myinode, myfile); ++} ++struct file_operations gentoo_proc_fops = { ++ .read=gentoo_proc_wrapper_read, ++ .write=gentoo_proc_wrapper_write, ++ .open=gentoo_proc_wrapper_open, ++}; ++ ++static void *gentoo_proc_wrapper_data(read_proc_t *reader, write_proc_t *writer, void *mydata) { ++ gentoo_proc_wrapper_t *retval=kmalloc(sizeof(gentoo_proc_wrapper_t), GFP_KERNEL); ++ if (!retval) ++ return retval; ++ retval->read_func=reader; ++ retval->write_func=writer; ++ retval->data=mydata; ++ return retval; ++} ++ ++static struct proc_dir_entry *firegl_proc_init( device_t *dev, ++ int minor, ++ struct proc_dir_entry *root, ++ struct proc_dir_entry **dev_root, ++ kcl_proc_list_t *proc_list ) // proc_list must be terminated! ++{ ++ struct proc_dir_entry *ent; ++ char name[64]; ++ kcl_proc_list_t *list = proc_list; ++ void *tempdata; ++ KCL_DEBUG1(FN_FIREGL_PROC, "minor %d, proc_list 0x%08lx\n", minor, (unsigned long)proc_list); ++ if (!minor) ++ { ++ root = proc_mkdir("ati", NULL); ++ } ++ ++ if (!root) ++ { ++ KCL_DEBUG_ERROR("Cannot create /proc/ati\n"); ++ return NULL; ++ } ++ ++ if (minor == 0) ++ { ++ // Global major debice number entry ++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_major_proc_read, NULL, NULL); ++ if (!tempdata) ++ return NULL; ++ ent = proc_create_data("major", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata); ++ if (!ent) ++ { ++ remove_proc_entry("ati", NULL); ++ KCL_DEBUG_ERROR("Cannot create /proc/ati/major\n"); ++ return NULL; ++ } ++ } ++ ++ sprintf(name, "%d", minor); ++ *dev_root = proc_mkdir(name, root); ++ if (!*dev_root) { ++ remove_proc_entry("major", root); ++ remove_proc_entry("ati", NULL); ++ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s\n", name); ++ return NULL; ++ } ++ ++ while (list->f || list->fops) ++ { ++ struct file_operations *my_fops = &gentoo_proc_fops; ++ if (list->fops) ++ { ++ my_fops = (struct file_operations*)list->fops; ++ tempdata=(dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev); ++ } ++ else { ++ BUG_ON(!list->f); ++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)list->f, NULL, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev) ); ++ if (!tempdata) ++ return NULL; ++ } ++ //printk(KERN_NOTICE "name %s, dev %p, func %p, data %p\n", list->name, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev), list->f, tempdata); ++ ent = proc_create_data(list->name, S_IFREG|S_IRUGO, *dev_root, my_fops, tempdata); ++ ++ if (!ent) ++ { ++ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s/%s\n", name, list->name); ++ while (proc_list != list) ++ { ++ remove_proc_entry(proc_list->name, *dev_root); ++ proc_list++; ++ } ++ remove_proc_entry(name, root); ++ if (!minor) ++ { ++ remove_proc_entry("major", root); ++ remove_proc_entry("ati", NULL); ++ } ++ return NULL; ++ } ++ ++ list++; ++ } ++ ++ if (minor == 0) ++ { ++ // Global debug entry, only create it once ++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_debug_proc_read_wrap, (write_proc_t*)firegl_debug_proc_write_wrap, dev); ++ if (!tempdata) ++ return NULL; ++ ent=proc_create_data("debug", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata); ++ if (!ent) ++ return NULL; ++ } ++ ++ return root; ++} ++#else + static struct proc_dir_entry *firegl_proc_init( device_t *dev, + int minor, + struct proc_dir_entry *root, +@@ -677,6 +873,7 @@ + + return root; + } ++#endif + + static int firegl_proc_cleanup( int minor, + struct proc_dir_entry *root, diff --git a/kernel/drivers/module-fglrx/files/makefile_compat.patch b/kernel/drivers/module-fglrx/files/makefile_compat.patch new file mode 100644 index 0000000000..defa3d8d8d --- /dev/null +++ b/kernel/drivers/module-fglrx/files/makefile_compat.patch @@ -0,0 +1,10 @@ +--- 10.10/common/lib/modules/fglrx/build_mod/2.6.x/Makefile 2010-09-22 09:15:33.000000000 +0200 ++++ 10.10/common/lib/modules/fglrx/build_mod/2.6.x/Makefile 2010-10-01 17:57:21.057820899 +0200 +@@ -66,6 +66,7 @@ + -DFGL_GART_RESERVED_SLOT \ + -DFGL_LINUX253P1_VMA_API \ + -DPAGE_ATTR_FIX=$(PAGE_ATTR_FIX) \ ++ -DCOMPAT_ALLOC_USER_SPACE=$(COMPAT_ALLOC_USER_SPACE) \ + + ifeq ($(KERNELRELEASE),) + # on first call from remote location we get into this path diff --git a/kernel/drivers/module-fglrx/files/manjaro_fglrx_319.patch b/kernel/drivers/module-fglrx/files/manjaro_fglrx_319.patch new file mode 100644 index 0000000000..1b7eb0d889 --- /dev/null +++ b/kernel/drivers/module-fglrx/files/manjaro_fglrx_319.patch @@ -0,0 +1,22 @@ +--- a/firegl_public.c ++++ b/firegl_public.c +@@ -4820,8 +4824,8 @@ static unsigned long kasSetExecutionLeve + { + unsigned long orig_level; + +- orig_level = __get_cpu_var(kasExecutionLevel); +- __get_cpu_var(kasExecutionLevel) = level; ++ orig_level = __this_cpu_read(kasExecutionLevel); ++ __this_cpu_write(kasExecutionLevel, level); + + return orig_level; + } +@@ -4833,7 +4837,7 @@ static unsigned long kasSetExecutionLeve + */ + static unsigned long kas_GetExecutionLevel(void) + { +- return __get_cpu_var(kasExecutionLevel); ++ return __this_cpu_read(kasExecutionLevel); + } + + /** \brief Type definition for kas_spin_lock() parameter */ diff --git a/kernel/drivers/module-fglrx/files/modprobe.conf b/kernel/drivers/module-fglrx/files/modprobe.conf new file mode 100644 index 0000000000..d0d42f825c --- /dev/null +++ b/kernel/drivers/module-fglrx/files/modprobe.conf @@ -0,0 +1,2 @@ +# Fail if radeon loaded +install fglrx if /bin/grep -qw "^radeon" /proc/modules; then /bin/false; else /sbin/modprobe -i fglrx $CMDLINE_OPTS; fi diff --git a/kernel/drivers/module-fglrx/pspec.xml b/kernel/drivers/module-fglrx/pspec.xml new file mode 100644 index 0000000000..1e3bf1485b --- /dev/null +++ b/kernel/drivers/module-fglrx/pspec.xml @@ -0,0 +1,409 @@ + + + + + module-fglrx + http://ati.amd.com/support/driver.html + + PisiLinux Community + admins@pisilinux.org + + ATI + ATI display drivers. + Fglrx is a driver written by AMD(ATI) for ATI graphics cards.Radeons HD 2 3 4 X series are not supported + http://archive.ubuntu.com/ubuntu/pool/restricted/f/fglrx-installer/fglrx-installer_15.200.orig.tar.gz + + desktop-files.patch + makefile_compat.patch + fglrx_gpl_symbol.patch + kolasa_4.0-cr4-strn.patch + lano1106_fglrx_intel_iommu.patch + lano1106_kcl_agp_13_4.patch + LICENSE.TXT + + + kernel-module-headers + + + + + module-fglrx + + module-fglrx-legacy + + driver + Kernel module for ATI display drivers + + kernel + + + /lib/modules + /etc/conf.d + /etc/modprobe.d + + + blacklist-fglrx.conf + modprobe.conf + atieventsd + + + noDelta + + + + + xorg-video-fglrx + + xorg-video-fglrx-legacy + + driver + x11.driver + + + module-fglrx + + qt + mesa + libSM + libICE + uClibc + libXext + libXrandr + libXfixes + libXcursor + libXrender + fontconfig + libXxf86vm + libXinerama + xorg-server + + + /usr/share + /etc + /usr/bin + /usr/sbin + /usr/X11R6 + /usr/lib + /usr/share/doc + /usr/share/man + + + System.Package + System.Service + + + noDelta + + + + + xorg-video-fglrx-32bit + + xorg-video-fglrx-legacy-32bit + + emul32 + emul32 + 32-bit shared libraries for xorg-video-fglrx + + xvba-video-32bit + fontconfig-32bit + freetype-32bit + libXcursor-32bit + libXext-32bit + libXfixes-32bit + libXinerama-32bit + libXrandr-32bit + libXrender-32bit + libXxf86vm-32bit + libX11-32bit + glibc-32bit + + + xorg-video-fglrx + libXext-32bit + libX11-32bit + mesa-32bit + glibc-32bit + libgcc + + + /usr/lib32 + + + System.Package + + + noDelta + + + + + + 2015-05-26 + 15.20 + Rebuild for kernel-3.19.8 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-05 + 15.20 + Rebuild for kernel-3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-24 + 15.20 + Rebuild for kernel-3.19.5 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 15.20 + Rebuild for kernel-3.19.4 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-02 + 15.20 + Version bump. + Hakan Yıldız + hknyldz93@gmail.com + + + 2015-03-01 + 14.12 + Rebuild for kernel-3.19.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-01 + 14.12 + Rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-02-01 + 14.12 + Version bump + Ergün Salman + Poyraz76@pisilinux.org + + + 2015-01-20 + 14.9 + Rebuild for kernel 3.18.1 + Ergün Salman + Poyraz76@pisilinux.org + + + 2014-12-08 + 14.9 + Rebuild for kernel 3.17.4 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-10-19 + 14.9 + Update unoffical release + * working with xorg-server 1.16 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-09-03 + 14.6 + Rebuild for kernel 3.16.1 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-07-24 + 14.6 + Rebuil for kernel 3.15.6 + Vedat Demir + vedat@pisilinux.org + + + 2014-06-15 + 14.6 + Version bump + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-02 + 14.4 + Version bump + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-02 + 14.3b + Rebuild for kernel 3.14.2. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-04-15 + 14.3b + Rebuild for kernel 3.13.10. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-04-11 + 14.3b + Version bump + Burak Fazıl Ertürk + burakerturk@pisilinux.org + + + 2014-03-23 + 13.4 + Rebuild for 3.13.6 + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-03-09 + 13.4 + Rebuild for 3.12.13 + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-03-02 + 13.4 + Rebuild for 3.12.13 + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-01-17 + 13.4 + Rebuild for 3.12.8 + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-12-17 + 13.4 + Rebuild for 3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-12-14 + 13.4 + Rebuild for 3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-23 + 13.4 + Rebuild for 3.10.20 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-05 + 13.4 + Rebuild for 3.10.18 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-30 + 13.4 + 3.10.15 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-30 + 13.4 + 3.10.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-30 + 13.4 + 3.10.12 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-30 + 13.4 + 3.10.10 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 13.4 + 3.10.9 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 13.4 + rebuild for kernele 3.10.6. + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-07-06 + 13.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-15 + 13.3_beta3 + build for Kernel 3.8.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-06-15 + 13.3_beta3 + rebuild for Kernel 3.8.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-05-26 + 13.3_beta3 + Kernel 3.9.3 + Osman Erkan + osman.erkan@pisilinux.org + + + 2013-05-12 + 13.3_beta3 + V.bump + Osman Erkan + osman.erkan@pisilinux.org + + + 2012-10-03 + 12.9_beta1 + First release + Erdem Artan + admins@pisilinux.org + + + diff --git a/kernel/drivers/module-fglrx/translations.xml b/kernel/drivers/module-fglrx/translations.xml new file mode 100644 index 0000000000..b4d3bf1f61 --- /dev/null +++ b/kernel/drivers/module-fglrx/translations.xml @@ -0,0 +1,25 @@ + + + + module-fglrx + ATI ekran kartı sürücüleri + AMD(ATI) tarafından ATI ekran kartları için yazılmış sürücüler.Radeon HD 2 3 4 X serisi ekran kartlarını desteklememektedir. + Pilote d'affichage ATI + Controlador display ATI + + + + module-fglrx + ATI ekran sürücüleri için çekirdek modülü + + + + xorg-video-fglrx + ATI ekran kartı sürücüleri için paylaşımlı kitaplıklar ve araçlar + + + + xorg-video-fglrx-32bit + xorg-video-fglrx için 32-bit paylaşımlı kitaplıklar + + diff --git a/kernel/drivers/module-nvidia-current/actions.py b/kernel/drivers/module-nvidia-current/actions.py new file mode 100644 index 0000000000..039211a9ca --- /dev/null +++ b/kernel/drivers/module-nvidia-current/actions.py @@ -0,0 +1,144 @@ +# -*- 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 +from pisi.actionsapi import kerneltools + +WorkDir = "." +KDIR = kerneltools.getKernelVersion() +NoStrip = ["/lib/modules"] + +version = get.srcVERSION() +driver_dir_name = "nvidia-current" +datadir = "/usr/share/%s" % driver_dir_name +libdir = "/usr/lib32" if get.buildTYPE() == 'emul32' else "/usr/lib" +arch = "x86" if get.buildTYPE() == 'emul32' else get.ARCH().replace("i6", "x") +nvlibdir = "%s/%s" % (libdir, driver_dir_name) +xorglibdir= "%s/xorg" % libdir + +def setup(): + shelltools.system("sh NVIDIA-Linux-%s-%s.run -x --target tmp" + % (arch, get.srcVERSION())) + shelltools.move("tmp/*", ".") + + # Our libc is TLS enabled so use TLS library + shelltools.unlink("*-tls.so*") + shelltools.move("tls/*", ".") + + # xorg-server provides libwfb.so + shelltools.unlink("libnvidia-wfb.so.*") + + shelltools.echo("ld.so.conf", nvlibdir) + shelltools.echo("XvMCConfig", "%s/libXvMCNVIDIA.so" % nvlibdir) + +def build(): + # We don't need kernel module for emul32 build + if get.buildTYPE() == 'emul32': + return + + shelltools.export("SYSSRC", "/lib/modules/%s/build" % KDIR) + shelltools.cd("kernel") + + autotools.make("module") + + shelltools.cd("uvm") + + autotools.make("module") + +def install(): + + if not get.buildTYPE() == 'emul32': + # Kernel driver + pisitools.insinto("/lib/modules/%s/extra/nvidia" % KDIR, + "kernel/nvidia.ko") + + pisitools.insinto("/lib/modules/%s/extra/nvidia" % KDIR, + "kernel/uvm/nvidia-uvm.ko") + + + # Command line tools and their man pages + pisitools.dobin("nvidia-smi") + pisitools.doman("nvidia-smi.1.gz") + + pisitools.dobin("nvidia-persistenced") + + + ### Libraries + # OpenGl library + pisitools.dolib("libGL.so.%s" % version, nvlibdir) + pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir) + + # OpenCL + pisitools.dolib("libOpenCL.so.1.0.0", libdir) + pisitools.dosym("libOpenCL.so.1.0.0", "%s/libOpenCL.so.1.0" % libdir) + pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so.1" % libdir) + + pisitools.dolib("libnvidia-opencl.so.%s" % version, libdir) + pisitools.dosym("libnvidia-opencl.so.%s" % version, "%s/libnvidia-opencl.so.1" % libdir) + pisitools.dosym("libnvidia-opencl.so.1", "%s/libnvidia-opencl.so" % libdir) + + # CUDA + pisitools.dolib("libcuda.so.%s" % version, libdir) + pisitools.dosym("libcuda.so.%s" % version, "%s/libcuda.so.1" % libdir) + pisitools.dosym("libcuda.so.1", "%s/libcuda.so" % libdir) + + pisitools.dolib("libnvcuvid.so.%s" % version, libdir) + pisitools.dosym("libnvcuvid.so.%s" % version, "%s/libnvcuvid.so.1" % libdir) + pisitools.dosym("libnvcuvid.so.1", "%s/libnvcuvid.so" % libdir) + + # NVML + # Provides programmatic access to static information and monitoring + # data for NVIDIA GPUs, as well as limited managment capabilities + pisitools.dolib("libnvidia-ml.so.%s" % version, libdir) + pisitools.dosym("libnvidia-ml.so.%s" % version, "%s/libnvidia-ml.so.1" % libdir) + + pisitools.dolib("libnvidia-cfg.so.%s" % version, libdir) + pisitools.dosym("libnvidia-cfg.so.%s" % version, "%s/libnvidia-cfg.so.1" % libdir) + + pisitools.dolib("libnvidia-compiler.so.%s" % version, libdir) + pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so.1" % libdir) + + # OpenGL core library and others + for lib in ("glcore", "tls", "encode", "fbc", "glsi", "ifr", "eglcore"): + pisitools.dolib("libnvidia-%s.so.%s" % (lib, version), libdir) + pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so.1" %(libdir, lib)) + + # VDPAU driver + pisitools.dolib("libvdpau_nvidia.so.%s" % version, "%s/vdpau" % nvlibdir) + pisitools.dosym("../nvidia-current/vdpau/libvdpau_nvidia.so.%s" % version, "%s/vdpau/libvdpau_nvidia.so.1" % nvlibdir.strip(driver_dir_name)) + + # X modules + pisitools.dolib("nvidia_drv.so", "%s/modules/drivers" % nvlibdir) + pisitools.dosym("%s/modules/drivers/nvidia_drv.so" % nvlibdir, "%s/modules/drivers/nvidia_drv.so" % xorglibdir) + pisitools.dolib("libglx.so.%s" % version, "%s/modules/extensions" % nvlibdir) + pisitools.dosym("libglx.so.%s" % version, "%s/modules/extensions/libglx.so" % nvlibdir) + + # Exit time for emul32 build + if get.buildTYPE() == 'emul32': + pisitools.insinto(datadir, "ld.so.conf", "32bit-ld.so.conf") + return + + pisitools.insinto("/etc/OpenCL/vendors", "nvidia.icd") + + pisitools.insinto(datadir, "ld.so.conf") + pisitools.insinto(datadir, "XvMCConfig") + + # Documentation + docdir = "xorg-video-%s" % driver_dir_name + pisitools.dodoc("LICENSE", "NVIDIA_Changelog", "README.txt", destDir=docdir) + pisitools.dohtml("html/*", destDir=docdir) + + ### Note + # This package includes nvidia-setting and nvidia-xconfig binaries. However + # we have seperate packages for each of them. Nvidia provides tarballs for + # these binaries. Don't forget to update these package with each NVIDIA + # driver update. + + # Nvidia-bug-report + # Comes with our own nvidia-xcfonig package + # pisitools.dobin("nvidia-bug-report.sh") diff --git a/kernel/drivers/module-nvidia-current/comar/package-emul32.py b/kernel/drivers/module-nvidia-current/comar/package-emul32.py new file mode 100644 index 0000000000..bddedd08c4 --- /dev/null +++ b/kernel/drivers/module-nvidia-current/comar/package-emul32.py @@ -0,0 +1,25 @@ +#!/usr/bin/python + +import os + +driver_dir_name = "nvidia-current" +libdir = "/usr/lib32/%s" % driver_dir_name +datadir = "/usr/share/%s" % driver_dir_name + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.system(" /usr/sbin/alternatives \ + --install /usr/lib32/libGL.so.1.2.0 libGL-32bit %(libdir)s/libGL.so.1.2.0 50 \ + --slave /usr/lib32/xorg/modules/volatile xorg-modules-volatile-32bit %(libdir)s/modules" + % {"libdir": libdir, "datadir": datadir}) +# --slave /etc/ld.so.conf.d/10-nvidia-32bit.conf nvidia-ldsoconf-32bit %(datadir)s/32bit-ld.so.conf" + + # If this driver is in use, refresh links after installation. + if os.readlink("/etc/alternatives/libGL-32bit") == "%s/libGL.so.1.2.0" % libdir: + os.system("/usr/sbin/alternatives --set libGL-32bit %s/libGL.so.1.2.0" % libdir) + os.system("/sbin/ldconfig -X") + +def preRemove(): + # FIXME This is not needed when upgrading package; but pisi does not + # provide a way to learn operation type. + #os.system("/usr/sbin/alternatives --remove libGL-32bit %s/libGL.so.1.2.0" % libdir) + pass diff --git a/kernel/drivers/module-nvidia-current/comar/package.py b/kernel/drivers/module-nvidia-current/comar/package.py new file mode 100644 index 0000000000..71d446b906 --- /dev/null +++ b/kernel/drivers/module-nvidia-current/comar/package.py @@ -0,0 +1,26 @@ +#!/usr/bin/python + +import os + +driver_dir_name = "nvidia-current" +libdir = "/usr/lib/%s" % driver_dir_name +datadir = "/usr/share/%s" % driver_dir_name + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.system(" /usr/sbin/alternatives \ + --install /usr/lib/libGL.so.1.2.0 libGL %(libdir)s/libGL.so.1.2.0 50 \ + --slave /usr/lib/xorg/modules/volatile xorg-modules-volatile %(libdir)s/modules" + % {"libdir": libdir, "datadir": datadir}) +# --slave /etc/X11/XvMCConfig XvMCConfig %(datadir)s/XvMCConfig \ +# --slave /etc/ld.so.conf.d/10-nvidia.conf nvidia-ldsoconf %(datadir)s/ld.so.conf" + + # If this driver is in use, refresh links after installation. + if os.readlink("/etc/alternatives/libGL") == "%s/libGL.so.1.2.0" % libdir: + os.system("/usr/sbin/alternatives --set libGL %s/libGL.so.1.2.0" % libdir) + os.system("/sbin/ldconfig -X") + +def preRemove(): + # FIXME This is not needed when upgrading package; but pisi does not + # provide a way to learn operation type. + #os.system("/usr/sbin/alternatives --remove libGL %s/libGL.so.1.2.0" % libdir) + pass diff --git a/kernel/drivers/module-nvidia-current/files/modprobe.conf b/kernel/drivers/module-nvidia-current/files/modprobe.conf new file mode 100644 index 0000000000..b84fe20d0a --- /dev/null +++ b/kernel/drivers/module-nvidia-current/files/modprobe.conf @@ -0,0 +1,8 @@ +# Blacklist by default since nvidia* modules have the same aliases +blacklist nvidia-current + +# Fail if nouveau loaded +install nvidia-current if /bin/grep -qw "^nouveau" /proc/modules; then /bin/false; else /sbin/modprobe -i nvidia-current $CMDLINE_OPTS; fi + +# Load the right module when requested with the name "nvidia" +install nvidia M=$(/bin/readlink /etc/alternatives/libGL | /usr/bin/cut -d/ -f4 | /bin/grep nvidia) && /sbin/modprobe $M $CMDLINE_OPTS diff --git a/kernel/drivers/module-nvidia-current/pspec.xml b/kernel/drivers/module-nvidia-current/pspec.xml new file mode 100644 index 0000000000..cf38dbfb58 --- /dev/null +++ b/kernel/drivers/module-nvidia-current/pspec.xml @@ -0,0 +1,408 @@ + + + + + module-nvidia-current + http://www.nvidia.com + + Marcin Bojara + marcin@pisilinux.org + + NVIDIA + NVIDIA drivers for GeForce 6xxx and newer GPUs + NVIDIA graphics drivers provide optimized 2D/3D performance. + ftp://download.nvidia.com/XFree86/Linux-x86/349.16/NVIDIA-Linux-x86-349.16.run + ftp://download.nvidia.com/XFree86/Linux-x86_64/349.16/NVIDIA-Linux-x86_64-349.16.run + + kernel-module-headers + libX11-devel + + + + + module-nvidia-current + driver + Kernel module for current NVIDIA graphics driver releases + + kernel + + + /lib/modules + + + noDelta + + + + + xorg-video-nvidia-current + driver + x11.driver + + libXext + libX11 + mesa + xorg-server + module-nvidia-current + + + /etc/OpenCL + /usr/bin + /usr/lib + /usr/share + /usr/share/doc + /usr/share/man + + + System.Package + + + noDelta + + + + + xorg-video-nvidia-current-32bit + emul32 + 32-bit shared libraries for xorg-video-nvidia-current + emul32 + + libvdpau-32bit + + + zlib-32bit + mesa-32bit + libX11-32bit + libXext-32bit + xorg-video-nvidia-current + + + /usr/lib32 + /usr/share/nvidia-current/32bit-ld.so.conf + + + System.Package + + + noDelta + + + + + + 2015-06-16 + 349.16 + Rebuild for kernel 3.19.8 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-22 + 349.16 + Rebuild for kernel 3.19.8 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-05 + 349.16 + Rebuild for kernel 3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-24 + 349.16 + Rebuild for kernel 3.19.5 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 349.16 + Rebuild for kernel 3.19.4 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-02 + 349.12 + Rebuild for kernel 3.19.3 + Hakan Yıldız + hknyldz93@gmail.com + + + 2015-03-31 + 349.12 + Version bump + Stefan Gronewold + groni@pisilinux.org + + + 2015-03-08 + 346.47 + Version bump, Rebuild for kernel 3.19.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-01 + 346.35 + Rebuild for kernel 3.19.0 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-31 + 346.35 + Rebuild for kernel 3.18.3 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-22 + 346.35 + Version bump. + Stefan Gronewold (groni) + groni@pisilinux.org + + + 2015-01-09 + 346.22 + Rebuild for kernel 3.18.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-11-29 + 343.22 + Rebuild for kernel 3.17.4 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-10-19 + 343.22 + Version bump, conform kernel 3.17.1 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-09-21 + 343.13 + Version bump and added symlink for bumblebee + Mathias Freire + mathiasfreire45@gmail.com + + + 2014-09-03 + 340.32 + Version bump, conform kernel 3.16.1 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-07-24 + 340.24 + Version bump for kernel 3.15.6 + Vedat Demir + vedat@pisilinux.org + + + 2014-06-15 + 340.17 + Version bump for kernel 3.15.0 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-29 + 337.19 + Version bump for kernel 3.14.4. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-02 + 337.12 + Version bump for kernel 3.14.2. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-04-15 + 334.21 + Rebuild for kernel 3.13.10. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-03-29 + 334.21 + Rebuild for 3.13.6 + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-10 + 334.21 + Change module name. Remove module-nvidia-current-userspace + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-07 + 334.21 + Version bump + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-01 + 334.16 + version bump + PisiLinux Community + admins@pisilinux.org + + + 2014-01-15 + 331.38 + version bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-12-17 + 331.20 + Rebuild for 3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-12-12 + 331.20 + Rebuild for 3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-23 + 331.20 + Rebuild for 3.10.20 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-21 + 331.20 + Version bump + Richard de Bruin + richdb@pisilinux.org + + + 2013-11-05 + 325.15 + Rebuild for 3.10.18 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-28 + 325.15 + 3.10.15 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-28 + 325.15 + 3.10.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-18 + 325.15 + 3.10.12 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 325.15 + 3.10.10 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 325.15 + 3.10.9 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 325.15 + Version bump + Marcin Bojara + marcin@pisilinux.org + + + 2013-08-12 + 319.32 + rebuld for kernel 3.10.6 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-11 + 319.32 + rebuld for kernel 3.10.5 + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-05 + 319.32 + Version bump + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-05 + 319.17 + Kernel 3.8.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-05-26 + 319.17 + Kernel 3.9.3 + PisiLinux Community + admins@pisilinux.org + + + 2013-05-12 + 319.17 + Version bump + Marcin Bojara + marcin@pisilinux.org + + + 2013-03-06 + 313.26 + Version bump + Marcin Bojara + marcin@pisilinux.org + + + 2013-02-19 + 310.32 + First release + Marcin Bojara + marcin@pisilinux.org + + + diff --git a/kernel/drivers/module-nvidia-current/translations.xml b/kernel/drivers/module-nvidia-current/translations.xml new file mode 100644 index 0000000000..28509a6e6d --- /dev/null +++ b/kernel/drivers/module-nvidia-current/translations.xml @@ -0,0 +1,25 @@ + + + + module-nvidia-current + GeForce 6xxx ve daha yeni NVIDIA ekran kartları için sürücüler + NVIDIA grafik sürücüleri daha iyi 2B/3B başarımı sağlar. + Controladores de kernel nVIDIA y glx para rendimiento optimizado 2d/3d en Linux (Para NV3X o mejor). + Controladores nVIDIA de kernel y glx para tarjetas NV3 o mejor (Geforce FX o mejor) + + + + module-nvidia-current + Güncel NVIDIA grafik sürücüleri için çekirdek modülü + + + + xorg-video-nvidia-current + Güncel NVIDIA userspace sürücüleri ve ikili dosyaları + + + + xorg-video-nvidia-current-32bit + xorg-video-nvidia-current için 32-bit paylaşımlı kitaplıklar + + diff --git a/kernel/drivers/module-nvidia304/actions.py b/kernel/drivers/module-nvidia304/actions.py new file mode 100644 index 0000000000..043480d88d --- /dev/null +++ b/kernel/drivers/module-nvidia304/actions.py @@ -0,0 +1,135 @@ +# -*- 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 kerneltools +from pisi.actionsapi import shelltools +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +WorkDir = "." +KDIR = kerneltools.getKernelVersion() +NoStrip = ["/lib/modules"] + +version = get.srcVERSION() +driver_dir_name = "nvidia304" +datadir = "/usr/share/%s" % driver_dir_name + +if get.buildTYPE() == 'emul32': + arch = "x86" + nvlibdir = "/usr/lib32/%s" % driver_dir_name + libdir = "/usr/lib32" +else: + arch = get.ARCH().replace("i686", "x86") + nvlibdir = "/usr/lib/%s" % driver_dir_name + libdir = "/usr/lib" + +def setup(): + shelltools.system("sh NVIDIA-Linux-%s-%s.run -x --target tmp" + % (arch, get.srcVERSION())) + shelltools.move("tmp/*", ".") + + shelltools.system("patch -p1 < NVIDIA-Linux-x86_64-304.125-kernel-3.19.patch") + + # Our libc is TLS enabled so use TLS library + shelltools.unlink("*-tls.so*") + shelltools.move("tls/*", ".") + + # xorg-server provides libwfb.so + shelltools.unlink("libnvidia-wfb.so.*") + + shelltools.echo("ld.so.conf", nvlibdir) + shelltools.echo("XvMCConfig", "%s/libXvMCNVIDIA.so" % nvlibdir) + +def build(): + # We don't need kernel module for emul32 build + if get.buildTYPE() == 'emul32': + return + + shelltools.export("SYSSRC", "/lib/modules/%s/build" % KDIR) + shelltools.cd("kernel") + + autotools.make("module") + +def install(): + + if not get.buildTYPE() == 'emul32': + # Kernel driver + pisitools.insinto("/lib/modules/%s/extra/nvidia" % KDIR, + "kernel/nvidia.ko") + + # Command line tools and their man pages + pisitools.dobin("nvidia-smi") + pisitools.doman("nvidia-smi.1.gz") + + + ### Libraries + # OpenGl library + pisitools.dolib("libGL.so.%s" % version, nvlibdir) + pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir) + + # OpenCL + pisitools.dolib("libOpenCL.so.1.0.0", libdir) + pisitools.dosym("libOpenCL.so.1.0.0", "%s/libOpenCL.so.1.0" % libdir) + pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so.1" % libdir) + + # CUDA + pisitools.dolib("libcuda.so.%s" % version, libdir) + pisitools.dosym("libcuda.so.%s" % version, "%s/libcuda.so.1" % libdir) + pisitools.dosym("libcuda.so.1", "%s/libcuda.so" % libdir) + + pisitools.dolib("libnvcuvid.so.%s" % version, libdir) + pisitools.dosym("libnvcuvid.so.%s" % version, "%s/libnvcuvid.so.1" % libdir) + pisitools.dosym("libnvcuvid.so.1", "%s/libnvcuvid.so" % libdir) + + # NVML + # Provides programmatic access to static information and monitoring + # data for NVIDIA GPUs, as well as limited managment capabilities + pisitools.dolib("libnvidia-ml.so.%s" % version, libdir) + pisitools.dosym("libnvidia-ml.so.%s" % version, "%s/libnvidia-ml.so.1" % libdir) + + pisitools.dolib("libnvidia-cfg.so.%s" % version, libdir) + pisitools.dosym("libnvidia-cfg.so.%s" % version, "%s/libnvidia-cfg.so.1" % libdir) + + pisitools.dolib("libnvidia-compiler.so.%s" % version, libdir) + pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so.1" % libdir) + + # OpenGL cpre library + for lib in ("glcore", "tls"): + pisitools.dolib("libnvidia-%s.so.%s" % (lib, version), libdir) + + # VDPAU driver + pisitools.dolib("libvdpau_nvidia.so.%s" % version, "%s/vdpau" % nvlibdir) + pisitools.dosym("../nvidia-current/vdpau/libvdpau_nvidia.so.%s" % version, "%s/vdpau/libvdpau_nvidia.so.1" % nvlibdir.strip(driver_dir_name)) + + # X modules + pisitools.dolib("nvidia_drv.so", "%s/modules/drivers" % nvlibdir) + pisitools.dolib("libglx.so.%s" % version, "%s/modules/extensions" % nvlibdir) + pisitools.dosym("libglx.so.%s" % version, "%s/modules/extensions/libglx.so" % nvlibdir) + + # Exit time for emul32 build + if get.buildTYPE() == 'emul32': + pisitools.insinto(datadir, "ld.so.conf", "32bit-ld.so.conf") + return + + pisitools.insinto("/etc/OpenCL/vendors", "nvidia.icd") + + pisitools.insinto(datadir, "ld.so.conf") + pisitools.insinto(datadir, "XvMCConfig") + + # Documentation + docdir = "xorg-video-%s" % driver_dir_name + pisitools.dodoc("LICENSE", "NVIDIA_Changelog", "README.txt", destDir=docdir) + pisitools.dohtml("html/*", destDir=docdir) + + ### Note + # This package includes nvidia-setting and nvidia-xconfig binaries. However + # we have seperate packages for each of them. Nvidia provides tarballs for + # these binaries. Don't forget to update these package with each NVIDIA + # driver update. + + # Nvidia-bug-report + # Comes with our own nvidia-xcfonig package + # pisitools.dobin("nvidia-bug-report.sh") diff --git a/kernel/drivers/module-nvidia304/comar/package.py b/kernel/drivers/module-nvidia304/comar/package.py new file mode 100644 index 0000000000..b2d195538b --- /dev/null +++ b/kernel/drivers/module-nvidia304/comar/package.py @@ -0,0 +1,26 @@ +#!/usr/bin/python + +import os + +driver_dir_name = "nvidia304" +libdir = "/usr/lib/%s" % driver_dir_name +datadir = "/usr/share/%s" % driver_dir_name + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.system("/usr/sbin/alternatives \ + --install /usr/lib/libGL.so.1.2.0 libGL %(libdir)s/libGL.so.1.2.0 40 \ + --slave /usr/lib/xorg/modules/volatile xorg-modules-volatile %(libdir)s/modules \ + --slave /etc/X11/XvMCConfig XvMCConfig %(datadir)s/XvMCConfig \ + --slave /etc/ld.so.conf.d/10-nvidia.conf nvidia-ldsoconf %(datadir)s/ld.so.conf" + % {"libdir": libdir, "datadir": datadir}) + + # If this driver is in use, refresh links after installation. + if os.readlink("/etc/alternatives/libGL") == "%s/libGL.so.1.2.0" % libdir: + os.system("/usr/sbin/alternatives --set libGL %s/libGL.so.1.2.0" % libdir) + os.system("/sbin/ldconfig -X") + +def preRemove(): + # FIXME This is not needed when upgrading package; but pisi does not + # provide a way to learn operation type. + #os.system("/usr/sbin/alternatives --remove libGL %s/libGL.so.1.2" % libdir) + pass diff --git a/kernel/drivers/module-nvidia304/files/NVIDIA-Linux-x86_64-304.125-kernel-3.19.patch b/kernel/drivers/module-nvidia304/files/NVIDIA-Linux-x86_64-304.125-kernel-3.19.patch new file mode 100644 index 0000000000..416fbe2ecd --- /dev/null +++ b/kernel/drivers/module-nvidia304/files/NVIDIA-Linux-x86_64-304.125-kernel-3.19.patch @@ -0,0 +1,32 @@ + +Adapt for kernel 3.19 + +Signed-off-by: Thomas Backlund + +diff -Nurp NVIDIA-Linux-x86_64-304.125.orig/kernel/nv.c NVIDIA-Linux-x86_64-304.125/kernel/nv.c +--- NVIDIA-Linux-x86_64-304.125.orig/kernel/nv.c 2014-12-02 05:58:34.000000000 +0200 ++++ NVIDIA-Linux-x86_64-304.125/kernel/nv.c 2015-01-25 19:14:21.009109856 +0200 +@@ -2026,7 +2026,11 @@ long nv_kern_unlocked_ioctl( + unsigned long i_arg + ) + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) ++ return nv_kern_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg); ++#else + return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg); ++#endif + } + + long nv_kern_compat_ioctl( +@@ -2035,7 +2039,11 @@ long nv_kern_compat_ioctl( + unsigned long i_arg + ) + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) ++ return nv_kern_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg); ++#else + return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg); ++#endif + } + + /* diff --git a/kernel/drivers/module-nvidia304/pspec.xml b/kernel/drivers/module-nvidia304/pspec.xml new file mode 100644 index 0000000000..19b8a467c6 --- /dev/null +++ b/kernel/drivers/module-nvidia304/pspec.xml @@ -0,0 +1,277 @@ + + + + + module-nvidia304 + http://www.nvidia.com + + PisiLinux Community + admins@pisilinux.org + + NVIDIA + driver + NVIDIA drivers for GeForce 5-7 series GPUs + NVIDIA graphics drivers provide optimized 2D/3D performance. + + http://download.nvidia.com/XFree86/Linux-x86_64/304.125/NVIDIA-Linux-x86_64-304.125.run + + NVIDIA-Linux-x86_64-304.125-kernel-3.19.patch + + + kernel-module-headers + + + + + module-nvidia304 + Kernel module for NVIDIA driver 304.xx releases + + kernel + + + /lib/modules + + + noDelta + + + + + xorg-video-nvidia304 + x11.driver + + module-nvidia304 + libXext + xorg-server + + + xorg-video-nvidia-current + + + /etc/OpenCL + /usr/bin + /usr/lib + /usr/share + /usr/share/doc + + + System.Package + + + noDelta + + + + + + 2015-05-22 + 304.125 + Rebuild for kernel 3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-05 + 304.125 + Rebuild for kernel 3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-24 + 304.125 + Rebuild for kernel 3.19.5 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 304.125 + Rebuild for kernel 3.19.4 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-02 + 304.125 + Rebuild for kernel 3.19.3 + Hakan Yıldız + hknyldz93@gmail.com + + + 2015-03-08 + 304.125 + Rebuild for kernel 3.19.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-01 + 304.125 + Rebuild for kernel 3.19.0 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-31 + 304.125 + Rebuild for kernel 3.18.3 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-13 + 304.125 + Rebuild for Kernel 3.18.1 + Stefan Gronewold (groni) + groni@pisilinux.org + + + 2014-12-08 + 304.125 + Version bump + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-10-19 + 304.123 + Rebuild for kernel 3.17.1 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-09-03 + 304.123 + Rebuild for kernel 3.16.1 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-07-24 + 304.123 + Version bump for kernel 3.15.6 + Vedat Demir + vedat@pisilinux.org + + + 2014-06-15 + 304.121 + Rebuild for kernel 3.15.0 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-29 + 304.121 + Rebuild for kernel 3.14.4. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-02 + 304.121 + Version bump for kernel 3.14.2. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-04-15 + 304.119 + Rebuild for kernel 3.13.10. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-03-29 + 304.119 + Rebuild for 3.13.6 + Osman Erkan + osman.erkan@pisilinux.org + + + 2014-03-10 + 304.119 + Change module name. Remove module-nvidia304-userspace + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-09 + 304.119 + Rebuild for 3.12.13 + Osman Erkan + osman.erkan@pisilinux.org + + + 2014-03-01 + 304.119 + Rebuild for 3.12.13 + Osman Erkan + osman.erkan@pisilinux.org + + + 2014-01-17 + 304.117 + Rebuild for 3.12.8 + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-12-17 + 304.116 + Rebuild for kernel 3.12.5. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-12-14 + 304.116 + Version bump for 3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-23 + 304.108 + Rebuild for 3.10.20 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-05 + 304.108 + Rebuild for 3.10.18 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-10-09 + 304.108 + 3.10.15 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-28 + 304.108 + 3.10.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-18 + 304.108 + 3.10.12 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-11 + 304.108 + First release + Marcin Bojara + marcin@pisilinux.org + + + diff --git a/kernel/drivers/module-nvidia304/translations.xml b/kernel/drivers/module-nvidia304/translations.xml new file mode 100644 index 0000000000..d9e6aa09f8 --- /dev/null +++ b/kernel/drivers/module-nvidia304/translations.xml @@ -0,0 +1,20 @@ + + + + module-nvidia304 + NVIDIA GeForce 6-7 serisi ekran kartları için grafik sürücüleri + NVIDIA grafik sürücüleri daha iyi 2B/3B başarımı sağlar. + Controladores nVIDIA de kernel y glx para tarjetas NV3 o mejor (Geforce FX o mejor) + Controladores de kernel nVIDIA y glx para rendimiento optimizado 2d/3d en Linux (Para NV3X o mejor). + + + + module-nvidia304 + NVIDIA sürücüsü 304.xx sürümleri için çekirdek modülü + + + + module-nvidia304-userspace + nvidia304 çekirdek sürücüsü için kullanıcı tarafı belgeler, araçlar, udev ve modprobe kuralları + + diff --git a/kernel/drivers/module-nvidia340/actions.py b/kernel/drivers/module-nvidia340/actions.py new file mode 100644 index 0000000000..a43ce97a48 --- /dev/null +++ b/kernel/drivers/module-nvidia340/actions.py @@ -0,0 +1,144 @@ +# -*- 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 +from pisi.actionsapi import kerneltools + +WorkDir = "." +KDIR = kerneltools.getKernelVersion() +NoStrip = ["/lib/modules"] + +version = get.srcVERSION() +driver_dir_name = "nvidia340" +datadir = "/usr/share/%s" % driver_dir_name +libdir = "/usr/lib32" if get.buildTYPE() == 'emul32' else "/usr/lib" +arch = "x86" if get.buildTYPE() == 'emul32' else get.ARCH().replace("i6", "x") +nvlibdir = "%s/%s" % (libdir, driver_dir_name) +xorglibdir= "%s/xorg" % libdir + +def setup(): + shelltools.system("sh NVIDIA-Linux-%s-%s.run -x --target tmp" + % (arch, get.srcVERSION())) + shelltools.move("tmp/*", ".") + + # Our libc is TLS enabled so use TLS library + shelltools.unlink("*-tls.so*") + shelltools.move("tls/*", ".") + + # xorg-server provides libwfb.so + shelltools.unlink("libnvidia-wfb.so.*") + + shelltools.echo("ld.so.conf", nvlibdir) + shelltools.echo("XvMCConfig", "%s/libXvMCNVIDIA.so" % nvlibdir) + +def build(): + # We don't need kernel module for emul32 build + if get.buildTYPE() == 'emul32': + return + + shelltools.export("SYSSRC", "/lib/modules/%s/build" % KDIR) + + shelltools.cd("kernel") + + autotools.make("module") + + shelltools.cd("uvm") + + autotools.make("module") + +def install(): + + if not get.buildTYPE() == 'emul32': + # Kernel driver + pisitools.insinto("/lib/modules/%s/extra/nvidia" % KDIR, + "kernel/nvidia.ko") + + pisitools.insinto("/lib/modules/%s/extra/nvidia" % KDIR, + "kernel/uvm/nvidia-uvm.ko") + + # Command line tools and their man pages + pisitools.dobin("nvidia-smi") + pisitools.doman("nvidia-smi.1.gz") + + pisitools.dobin("nvidia-persistenced") + + + ### Libraries + # OpenGl library + pisitools.dolib("libGL.so.%s" % version, nvlibdir) + pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir) + + # OpenCL + pisitools.dolib("libOpenCL.so.1.0.0", libdir) + pisitools.dosym("libOpenCL.so.1.0.0", "%s/libOpenCL.so.1.0" % libdir) + pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so.1" % libdir) + + pisitools.dolib("libnvidia-opencl.so.%s" % version, libdir) + pisitools.dosym("libnvidia-opencl.so.%s" % version, "%s/libnvidia-opencl.so.1" % libdir) + pisitools.dosym("libnvidia-opencl.so.1", "%s/libnvidia-opencl.so" % libdir) + + # CUDA + pisitools.dolib("libcuda.so.%s" % version, libdir) + pisitools.dosym("libcuda.so.%s" % version, "%s/libcuda.so.1" % libdir) + pisitools.dosym("libcuda.so.1", "%s/libcuda.so" % libdir) + + pisitools.dolib("libnvcuvid.so.%s" % version, libdir) + pisitools.dosym("libnvcuvid.so.%s" % version, "%s/libnvcuvid.so.1" % libdir) + pisitools.dosym("libnvcuvid.so.1", "%s/libnvcuvid.so" % libdir) + + # NVML + # Provides programmatic access to static information and monitoring + # data for NVIDIA GPUs, as well as limited managment capabilities + pisitools.dolib("libnvidia-ml.so.%s" % version, libdir) + pisitools.dosym("libnvidia-ml.so.%s" % version, "%s/libnvidia-ml.so.1" % libdir) + + pisitools.dolib("libnvidia-cfg.so.%s" % version, libdir) + pisitools.dosym("libnvidia-cfg.so.%s" % version, "%s/libnvidia-cfg.so.1" % libdir) + + pisitools.dolib("libnvidia-compiler.so.%s" % version, libdir) + pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so.1" % libdir) + + # OpenGL core library and others + for lib in ("glcore", "tls", "encode", "fbc", "glsi", "ifr", "eglcore"): + pisitools.dolib("libnvidia-%s.so.%s" % (lib, version), libdir) + pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so.1" %(libdir, lib)) + + # VDPAU driver + pisitools.dolib("libvdpau_nvidia.so.%s" % version, "%s/vdpau" % nvlibdir) + pisitools.dosym("../nvidia340/vdpau/libvdpau_nvidia.so.%s" % version, "%s/vdpau/libvdpau_nvidia.so.1" % nvlibdir.strip(driver_dir_name)) + + # X modules + pisitools.dolib("nvidia_drv.so", "%s/modules/drivers" % nvlibdir) + pisitools.dosym("%s/modules/drivers/nvidia_drv.so" % nvlibdir, "%s/modules/drivers/nvidia_drv.so" % xorglibdir) + pisitools.dolib("libglx.so.%s" % version, "%s/modules/extensions" % nvlibdir) + pisitools.dosym("libglx.so.%s" % version, "%s/modules/extensions/libglx.so" % nvlibdir) + + # Exit time for emul32 build + if get.buildTYPE() == 'emul32': + pisitools.insinto(datadir, "ld.so.conf", "32bit-ld.so.conf") + return + + pisitools.insinto("/etc/OpenCL/vendors", "nvidia.icd") + + pisitools.insinto(datadir, "ld.so.conf") + pisitools.insinto(datadir, "XvMCConfig") + + # Documentation + docdir = "xorg-video-%s" % driver_dir_name + pisitools.dodoc("LICENSE", "NVIDIA_Changelog", "README.txt", destDir=docdir) + pisitools.dohtml("html/*", destDir=docdir) + + ### Note + # This package includes nvidia-setting and nvidia-xconfig binaries. However + # we have seperate packages for each of them. Nvidia provides tarballs for + # these binaries. Don't forget to update these package with each NVIDIA + # driver update. + + # Nvidia-bug-report + # Comes with our own nvidia-xcfonig package + # pisitools.dobin("nvidia-bug-report.sh") diff --git a/kernel/drivers/module-nvidia340/comar/package-emul32.py b/kernel/drivers/module-nvidia340/comar/package-emul32.py new file mode 100644 index 0000000000..25656c573c --- /dev/null +++ b/kernel/drivers/module-nvidia340/comar/package-emul32.py @@ -0,0 +1,25 @@ +#!/usr/bin/python + +import os + +driver_dir_name = "nvidia340" +libdir = "/usr/lib32/%s" % driver_dir_name +datadir = "/usr/share/%s" % driver_dir_name + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.system(" /usr/sbin/alternatives \ + --install /usr/lib32/libGL.so.1.2.0 libGL-32bit %(libdir)s/libGL.so.1.2.0 50 \ + --slave /usr/lib32/xorg/modules/volatile xorg-modules-volatile-32bit %(libdir)s/modules" + % {"libdir": libdir, "datadir": datadir}) +# --slave /etc/ld.so.conf.d/10-nvidia-32bit.conf nvidia-ldsoconf-32bit %(datadir)s/32bit-ld.so.conf" + + # If this driver is in use, refresh links after installation. + if os.readlink("/etc/alternatives/libGL-32bit") == "%s/libGL.so.1.2.0" % libdir: + os.system("/usr/sbin/alternatives --set libGL-32bit %s/libGL.so.1.2.0" % libdir) + os.system("/sbin/ldconfig -X") + +def preRemove(): + # FIXME This is not needed when upgrading package; but pisi does not + # provide a way to learn operation type. + #os.system("/usr/sbin/alternatives --remove libGL-32bit %s/libGL.so.1.2.0" % libdir) + pass diff --git a/kernel/drivers/module-nvidia340/comar/package.py b/kernel/drivers/module-nvidia340/comar/package.py new file mode 100644 index 0000000000..6ad85a4f72 --- /dev/null +++ b/kernel/drivers/module-nvidia340/comar/package.py @@ -0,0 +1,26 @@ +#!/usr/bin/python + +import os + +driver_dir_name = "nvidia340" +libdir = "/usr/lib/%s" % driver_dir_name +datadir = "/usr/share/%s" % driver_dir_name + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.system(" /usr/sbin/alternatives \ + --install /usr/lib/libGL.so.1.2.0 libGL %(libdir)s/libGL.so.1.2.0 50 \ + --slave /usr/lib/xorg/modules/volatile xorg-modules-volatile %(libdir)s/modules" + % {"libdir": libdir, "datadir": datadir}) +# --slave /etc/X11/XvMCConfig XvMCConfig %(datadir)s/XvMCConfig \ +# --slave /etc/ld.so.conf.d/10-nvidia.conf nvidia-ldsoconf %(datadir)s/ld.so.conf" + + # If this driver is in use, refresh links after installation. + if os.readlink("/etc/alternatives/libGL") == "%s/libGL.so.1.2.0" % libdir: + os.system("/usr/sbin/alternatives --set libGL %s/libGL.so.1.2.0" % libdir) + os.system("/sbin/ldconfig -X") + +def preRemove(): + # FIXME This is not needed when upgrading package; but pisi does not + # provide a way to learn operation type. + #os.system("/usr/sbin/alternatives --remove libGL %s/libGL.so.1.2.0" % libdir) + pass diff --git a/kernel/drivers/module-nvidia340/files/modprobe.conf b/kernel/drivers/module-nvidia340/files/modprobe.conf new file mode 100644 index 0000000000..a71180845c --- /dev/null +++ b/kernel/drivers/module-nvidia340/files/modprobe.conf @@ -0,0 +1,8 @@ +# Blacklist by default since nvidia* modules have the same aliases +blacklist nvidia340 + +# Fail if nouveau loaded +install nvidia340 if /bin/grep -qw "^nouveau" /proc/modules; then /bin/false; else /sbin/modprobe -i nvidia340 $CMDLINE_OPTS; fi + +# Load the right module when requested with the name "nvidia" +install nvidia M=$(/bin/readlink /etc/alternatives/libGL | /usr/bin/cut -d/ -f4 | /bin/grep nvidia) && /sbin/modprobe $M $CMDLINE_OPTS diff --git a/kernel/drivers/module-nvidia340/pspec.xml b/kernel/drivers/module-nvidia340/pspec.xml new file mode 100644 index 0000000000..f44312f8d7 --- /dev/null +++ b/kernel/drivers/module-nvidia340/pspec.xml @@ -0,0 +1,176 @@ + + + + + module-nvidia340 + http://www.nvidia.com + + Pisi Linux Community + admins@pisilinux.org + + NVIDIA + NVIDIA drivers for GeForce 6xxx and newer GPUs + NVIDIA graphics drivers provide optimized 2D/3D performance. + ftp://download.nvidia.com/XFree86/Linux-x86/340.76/NVIDIA-Linux-x86-340.76.run + ftp://download.nvidia.com/XFree86/Linux-x86_64/340.76/NVIDIA-Linux-x86_64-340.76.run + + kernel-module-headers + + + + + module-nvidia340 + driver + Kernel module for NVIDIA driver 340.xx releases + + kernel + + + /lib/modules + + + noDelta + + + + + xorg-video-nvidia340 + driver + x11.driver + + libXext + xorg-server + module-nvidia340 + + + xorg-video-nvidia-current + xorg-video-nvidia304 + + + /etc/OpenCL + /usr/bin + /usr/lib + /usr/share + /usr/share/doc + /usr/share/man + + + System.Package + + + noDelta + + + + + xorg-video-nvidia340-32bit + emul32 + 32-bit shared libraries for xorg-video-nvidia340 + emul32 + + libvdpau-32bit + glibc-32bit + + + zlib-32bit + libX11-32bit + libXext-32bit + glibc-32bit + xorg-video-nvidia340 + + + xorg-video-nvidia-current-32bit + xorg-video-nvidia304-32bit + + + /usr/lib32 + /usr/share/nvidia-current/32bit-ld.so.conf + + + System.Package + + + noDelta + + + + + + 2015-05-22 + 340.76 + Rebuild for kernel 3.19.8 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-05 + 340.76 + Rebuild for kernel 3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-24 + 340.76 + Rebuild for kernel 3.19.5 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 340.76 + Rebuild for kernel 3.19.4 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-02 + 340.76 + Rebuid for kernel 3.19.3 + Hakan Yıldız + hknyldz93@gmail.com + + + 2015-03-08 + 340.76 + Rebuild for kernel 3.19.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-01 + 340.76 + Version bump, Rebuild for kernel 3.19.0 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-31 + 340.76 + Version bump, Rebuild for kernel 3.18.3 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-13 + 340.65 + version bump + Stefan Gronewold (groni) + groni@pisilinux.org + + + 2014-12-08 + 340.58 + Rebuild for kernel 3.17.4 + Stefan Gronewold (groni) + groni@pisilinux.org + + + 2014-11-13 + 340.58 + First Release + Stefan Gronewold (groni) + groni@pisilinux.org + + + diff --git a/kernel/drivers/module-nvidia340/translations.xml b/kernel/drivers/module-nvidia340/translations.xml new file mode 100644 index 0000000000..28509a6e6d --- /dev/null +++ b/kernel/drivers/module-nvidia340/translations.xml @@ -0,0 +1,25 @@ + + + + module-nvidia-current + GeForce 6xxx ve daha yeni NVIDIA ekran kartları için sürücüler + NVIDIA grafik sürücüleri daha iyi 2B/3B başarımı sağlar. + Controladores de kernel nVIDIA y glx para rendimiento optimizado 2d/3d en Linux (Para NV3X o mejor). + Controladores nVIDIA de kernel y glx para tarjetas NV3 o mejor (Geforce FX o mejor) + + + + module-nvidia-current + Güncel NVIDIA grafik sürücüleri için çekirdek modülü + + + + xorg-video-nvidia-current + Güncel NVIDIA userspace sürücüleri ve ikili dosyaları + + + + xorg-video-nvidia-current-32bit + xorg-video-nvidia-current için 32-bit paylaşımlı kitaplıklar + + diff --git a/kernel/tools/component.xml b/kernel/tools/component.xml new file mode 100644 index 0000000000..eb141521d1 --- /dev/null +++ b/kernel/tools/component.xml @@ -0,0 +1,3 @@ + + kernel.tools + diff --git a/kernel/tools/perf/actions.py b/kernel/tools/perf/actions.py new file mode 100644 index 0000000000..0fe89766b5 --- /dev/null +++ b/kernel/tools/perf/actions.py @@ -0,0 +1,28 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +shelltools.export("PYTHONDONTWRITEBYTECODE", "1") + +def build(): + shelltools.cd("tools/perf") + autotools.make("JOBS=5 WERROR=0 perf HAVE_CPLUS_DEMANGLE=1") + +def install(): + shelltools.cd("tools/perf") + # Build and install the new 'perf' tool + #pisitools.insinto("/usr/bin", "tools/perf/perf", "perf.%s-%s" % (get.srcNAME(), get.srcVERSION())) + autotools.install("JOBS=5 WERROR=0 perf HAVE_CPLUS_DEMANGLE=1") + + pisitools.domove("/usr/etc/bash_completion.d/perf", "/etc/bash_completion.d") + pisitools.removeDir("/usr/etc") + + pisitools.domove("/usr/lib64/libperf-gtk.so", "/usr/lib/") + pisitools.removeDir("/usr/lib64") \ No newline at end of file diff --git a/kernel/tools/perf/files/patches/linux/patch-3.18.3.xz b/kernel/tools/perf/files/patches/linux/patch-3.18.3.xz new file mode 100644 index 0000000000000000000000000000000000000000..f1c3bfc7322cc084da31d137635684da0f3a1f80 GIT binary patch literal 80880 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

FuH0#*S8KP2e{^nYh*5jeo+h-^ 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 literal 0 HcmV?d00001 diff --git a/kernel/tools/perf/files/patches/linux/patch-3.19.1.xz b/kernel/tools/perf/files/patches/linux/patch-3.19.1.xz new file mode 100644 index 0000000000000000000000000000000000000000..105dd15edec9a9dd89765202bb6388bdf6c37e39 GIT binary patch literal 60636 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ǃt*)Q!Gad{vKw zfJCohBa}Gm9x`P@bkRQ&E|_p*eSrj1+kyW4u$-z5_z`^HR^$|KF~*|Fw&nx*4=SdT z)7K4hJhw6#fH3;!y0?$_{$T>x3CYt(1~AFwl>zp4LT$;tp}Tv_`q_VErlQAM;-)>_4| z4fAB*`41$NI&Si<-#e44+NzSkfcS1(e(go~WV?{SB0ed7;D`pN8CtBlDoOtN!IJ=& z7@Ac?OoJ{+_wg>Al!CjP`Vh105uity0gQMF=0{%v_#HcBjl9tE{g#rkQ%410y9?D^^+UuzfK(*2N9;rq<*Rh?T)gy1j~b_U?u)Ds+)K{PLSl>;NX-xQ&nGqi*yK*g56I6MjqlkVw-3@VeL1i>iL8!q zj@rTA6e+0bXW;M!{nbqdza5eU00^Pp@~X6_fH%4Z>s#^WeFKHaa2JAp$=oSZrfAcr zCMz!!mz%ya@R0@BzRL`_?p}wHec=fA!Afbs%qB@F_A=8?SL+!ras+tWOio&WO&%;2 zkc9=v=opVED{+wv?8%|TU$-|7*k=^pxxIn@OzpgWl%$!{IuSc^&^iYTd&ZHR-jIeV z`A<%;D!>#JTBiOJD*V3~VL9B!h469(8}~s+$qlyD3eSFzOPMz_76(W zZln(85G)^BK)8nXa~lPCUrh2_}}0+|V+fv{H^(a5QP<05ds?wg|rD z!Dkxg;JHKA^hQNY!+`ji(dcUA1ZOj-G#{{VLbS$nvHWT=#1&)tj$GQ6RO;9VyH-gp z>ol72V>*2d(ZFq7yz8V|qGUSJ4q&2EG`$4QeYY4s9XDQJdN*qp)J^!Lx)Y7rueHVC zmnO<;1Z^mRqIoiwL$u==u(IkfS#!fbdIb@J#%uQ>8k`G|vbM1joe+;7%zkUHS)bim z0{*?n1NtUjGVIbeE&$LdLjZnuTfh z)EX#7Rh-OeIaR<`f)3p8^CnnUj5FI?yx`VoeazO-wGc&-`rJ0!306VzWSsH%0gx@x zQl8+m+zW>Ucobfq11$6~PE~{L^9!;?xR(nYUARo;n-(%~RTES~$BWnSd&{D!DM1!C zKfQdr)-Mxn?(j?5+zz2)GDDl9e}FxNV=%H&Ea$Y~T%$`6&^tdIMbN+I!q}?&nhg1R zr-zyGr;O%(O9NzRNVAMk_tdr?&k6nzlS3nEXg@H#6giyLr`yWk`SdtBbVdtO6R{MM znq=>dkIKg`zQHd7p#NpYDygXK%u6iAcT+5pLO_=ZsH4fvpaTDr5D19z$cy(1-MkC6 z%AQ%9(UL;K-${;OVH|%!OTfHRFt}STPXT~{)FD-coAL*!CHxKF#hEsSJQmR(*rxQ~ zRSH`LXh4s}91oX+Al<|CMHRFQgQBu<4=BV=&C|uA_0ic!_kI;P9qppp`-(ZEYX}bg zlGrH?BUB^z1IXod-T2{rTd@+Cs$Z=73Cqj|;bR*$5p*YQR4%u%OWvl%$b7jnyfYIf z%rGjz5RMUhH|%2>U|J}Ls|&q$g6$Db42fVMRHKKQyYmJ+Q5-XnGyTLMDhxyxWzztB z1HUDJszKSF-iQjfG8EUZw;M2y3{O^&=DyXk?k_1!cON_G5N43Z+f)+ip{?p<8O z8w0Oy)?a9<8VbH*a?<4$^3y{oZuCNB-w}H7ld8a^I*RpGJ@*^K$(CqL|IjjpA-CI? zT)3Gr#)>lh*0S&8?5gvE**gXY{H+P%W!2|?upT{F_L8oF94rSHaL!E8`XaNVJF=x)LiujY*3;^(n(Z;CJCmpQVyQ}LQm%dZSqcjFrodvpQnmX zuoMbES^R8HR}GWjlzYybW{O4F%og9aJdJM- zxg8Wm@neNFFQ9R|^%@sozMb$VsG9R!2qN>qM-p%h1~w9&v#zq5PrxsTa9E~~v&IMc zQpcFNUi5jX$c&yrvD0lXva=PY2224}$HzkWcJd`tjD-Nc4`lOD8gl|dMrWnsdJwq| zWPKKNw3U4o71!DOhiwuRI;0npTOEW6CW5#-eQnJrC%e82PD+#7??aB$^bidlLc0%i z*^Y4BUra{3By9lfM20=JVy`s0R5q7x>&_6DKJOI9R6+$bS<>^5tVS}*T@9U69M}`y zxyRhSA?zRLYnDK5?jbalfL=HU3+!h@;>z|O0mJKI#_^H)?#I$q*BLc~U+x+=gEdf( zkl=u8RdsSpl**B~prLbqaw{hc7*l1NfybN0(HVRD22Dq$|5iqZ5o}h|; zi%9E1RRp>e)t8S29IT!5UA6>TB_c~V8YkvaJ6aT=6U=>-B;v};KadNW8sIfd_xmqy zn^vmuoAsSYk&B@KEtO;8Uc{&Hb8-y2NDig_$2jZ;OU{FxyAVGm_YC4=Efuaiv=5snT;gKDar} zzc;{+Hk7se#r59kK#36s+POAOZ|BMB+(Qlk`ngxR#5LC?4ystaO$=D0#ke?Som75n z)0u*DC=R@GTAR79i@CrHyiE-2|1H7eAjGttV2zZgrd&6bwW%;fscp3TE$i~mrFG0Y zpZyu_$}xtFSp2G!&a1J!umfdqf%s^}rkS?ghK3B?A}p*HmV`qXZs~wu2Fml}C1w{CI7mboB_!R8ZtS zxYHxp1_pRicE4`1mS`uvoB-c4dTw;P*Rjm83u$)9`_>w*Qb989PF(HQE?(!2U-v;p zGJwFT(E^b>^sngU{hZ=nUTzQach>@6Cy5w=pX zgoeqSNH`7T(3KmqB+uD0f`=ihh8{6NP$lylg!yZn@IKfAA3H%k*Byjz!_tb-Y4eqs64N_?+xh}SvI z26@SZ#UStBd6H<>{#_DwzbhZ=^7im>X;=^0yR?p_fTbcP;1acsEC;%1EUFqi6>Rg) zY%x!-Ntlk`EI*!5ZSt6u%5S3%3Jeim=iu;*(bi z%*tmcpGSie`N_HMjUPvx1WpEU3tmx%6|k|TUJ(atX-ZT-{$SKwdkf2JBALQ&cq z1u^`<1s8gQ!A2-&a4UD;!u(C=Ih^7he4b>R4O%>EOZ3|yAwK~+eVEkKAV+ z$3tZ^sE0z(lGgaY&M7Nx-PPKkD@AMA!#G&PTk1SFsrM4Y8ZFeqD5+om0hD%sJB6r> z&9WsG+~i?SLo+D;CWSohmRBp(IUGOI)|k2tP(S6h$*T!~X)rnVpBTH^n|71%zqZGV zDO9IA|Mgi$2RH3>2h@7r8R>uY_Ie4zLvVPdV|x$%wFH~2td_HLhTJJu>UTLv21uGutqqCRyx{9K+H@Bwd% zkk+RTvy6_LEH>!Vm*A9cw^cpffsI{6Q3zkQ@?ah#bZHSgXhX;Tt>F1?_pf;!%G@&+ z2AH#8 zZgr%GfA){nsk{I}Z*Scvq{*x%anc(qBVsnm4J-t$F(o>Uac3mZG^|t>VIo zEuHE4Thgj5u)o?5!3`2pEoa?Q)P}N`6=mlm(F}G&H3>R+Ps^@AE%X%cf2=B&Rb&!`!4E~x)3I- zKd*YV{o=4|<^O6Xzm~hz$*h6RB(3;qL?%>@$!bQ55RR!S~`TpHud4!zEFIvU_)pVs2_(_DNx-J-K zRr(NWlJHg_@{Vljto>214!nJL(5tB)W4_BVYstD__0%5y;34zekwI^?_Ea zLN)I8%36)DV~~sleDL-6gDOS3GfQt;q#LOZ7&+SurdjTnBl+9XO8e`*#&kSw7_K#B zr+#DKa$co)AqnOB;k;TPVg*3W`jT3c9EJ>q(~u4@Mm%8N%Ce zHexd$74*gDts<|x{X=Zi@|i(X?N-77GOxc&3f=G~5-Uf3pot!_mcjCB_5W;}=X5$V zq`^+_#EZ2bxzPxZmgcacc^>b#tCNuaHAE!I$zn1q<#vKHepL^KoRbw~SP?Jm$F(E_ zQ4I0i;cWc2s(S3wGQyN95yI~w$Hqz~UopP>TdH(V+En;DhL_=l|(ohSaOSn%8N_1Yz1Q+>X$Z=h0cO#4m*}MdP5!{8$5A z)ibn`8yHUm7NJ*Ak*8$-OyGY2-&V}OS1g6n5nL-yi2;=PkQ61y{aLD^;$IaFzI0~| z>Q>L|fqNKf-1Y-7pK}i@6{UJU*fQ^|zx+vfto2$7f%b^}^(G6|j0?FF~bSyWpXA<|O1c z&P`?X(-B%z!c4kJf%8pp~nxjo3kT-Q_1ELUW1VF!r(kfAKlF?j`m`14pKB z$;XL2xcWkkh@hiqw^Jhkna}6M2x|`Y(TIgn8!KB#nM5Ub$SwHhH=H{Qah;IGqe}#` zykNt6oI$i?6qQgCWHPgO-=nLTZ18$cJgQf3(ZW7Ht!x)lj}V^H^{Dl9m#=p|%>VL! z%{l&F5=_{ zYc$b!(4L!W`k}%+_BHK~kKhkt7lE5nSfU;6Z{oQTA;~l#*Yy z+JN5_9yDBe7}(sO%r_4iyvoOoE2%)WX3OZ{Et#bDbv;hUjCiGYngg0u%qvu{n&e+z zeEeh+y`Kssz#<02tjkjq*iCo!9_f~?p1#psYU&7dq|`=`Mm(Etd>sTZFbbT(hnKva znHA37p78Gp{AWq!T3mG6fF9-bCg8qF#XhRY`kmGWOd3!8WN_)g_&e7^C;S(An!ds? zKe!HgOteu4u)=GIQ}Pv@N;iQH;0e?CVsyQfs_uJd`{tCo);>hA^YHx!Ta~|qfZTg2 zUut(66fg?lBjE_2aVu2)!9;o_TLt1@wic^_!RXm=Ou z36xJFuW2JfCs}new`FJv;1a#-fr$;{x_bRp3ZIvn??id4+-LNc8*E-7zlB+QcM;!Q0CAE_{{aX(F7d~o$gu5*-1RYIMC^@D)x2SR zs#htwLt_9(tz%no6_!-g8*3~GZMPR!sFhAob*W@x{Ogo|FA&d|rponS-el-XEoRNkZ}l<2_25h8-i}&N)8{KdZtgf_SyShqJM$I0On1!LsxZE-W~1 z&pqytDf7pBR+oD28=#7FxMxftLnWLHKpqGp;h>e+6X+AR2hrAhx;n^85sOZDd#2Nk zTLooZ;%GKnadrE`u&+EaBJ^5+>NnT>~XxRZTj1KS_e4l9etLQym>F{-ngF{Aib zxrptI9O4gZK+op6v?bM;_sM1xP$-&#uVn9ESL80KMXjp^edcLWmV>5gfo@4H=lZwO z*_+-~K-QHvWRA|1x|8r1K^0IH<00o}5ppzkdk%)#Ot$d+8=bumHvn|E2!7f)4m!7( z3Y7`;^eArDZCU9Sm(mhZI>$D5jEDhq62xomagEGtGjs!q({u_z>8l8qm9R7PFXW-g z$ARHlXuOC^H(e;;41mw8%RSjtEx7NDmngSI{PR%4q~nf%G=TyWe???!+KX<;vJhYo zIQ&z}4C7LhG{&fg^{`UBYxq)Gl(VSPM6bkz=bL6Ku0kT9!WXFIq+Rq==Tby4lZ8%y z6R{=Ii1S_=zS^9qzsZkVhGU{PLLs`1$#EOinW}W}r4++Ijb`4i1E49A3@L2eDT1oe zJ1E?bm6Eeg?EP9lZG~rVtxr!F8%S4Jtin0r3kzSX>ly52cO3neHwt0G`Mw`@ zKq2P%OcZg!yt3Ep)6{{%n6roT!hFupar&(WL(4)X^tHLOWy{wQMdIArb`YQ%SE}bV z-&2QpaX{PK!gqpo=WGq8oj(#0SXFI=VX&X!H!31Pif6oAAOXY?wk%MoTVi6052W3! z9ndY=x!K7!z2=^U$*3Z72MVo11x^Ph(QI~mI>Zy_#_+z0oHgT z+~CFi%-7U|$0a(|haF)xnvkn+=OH%Y3`?Odkes~P)>fO(%QFUTo|3Gx^v6xMH|trg zQHNzs?ddXIpPpY{KR`Sg>C?&m%S)WX3uF5Euq+NPkv^hX;{xB8l{T;KR176gAU%T* zK&f`eML%#(qbi~r)ntYlG#AoZ4EI$M;#2SSHrj%K(IP-P?Q>q!S ziU;Q(8d;;fzs0B(FE?)+SZAlbPJPQr)6jTTOz&cI1*?7dA3gu}Px~3BeJHMlQkxEg z(R;j*<5X8bGFS9j$bI@w*0IPUckhU$<4eH?RyA_9V2XK8&To52!<6h&yA|L76DzIc zthkfbH_DY>hB-aqH0o%BTVtc9iZrg|uJrA1uG35(*-3_c&#{>U%U8yqHt*(eEVi9K z82pr`MC6~7VJoN`z0YWokim)CHSvpfyaZ~T*Oeiqk^WvHJ-sB&i$_LxJtD$GH%Q{3B(L ztQ9upkzRy(At9<%8IwX^?NkN5F4p=bz?$xE0eX?gKuQHkH9BmL@#tT_>lDhYlLe56 zcw30p2gB!pb-;wMBlC{%Ns%M6Txf$P&yrh&V>sOZOw22?P`CB$e*?ySqMGOOoQZU# z0n7yKIkCp9Y{j`uBR?rKVG(G->h9R&;gzcRnEE{pGcG z9IU0u12a3ghbmqs%O>H?mg{`~NjVxQn|&9l($+CDJe}|g2$B1+jB&jDneNSISVzN+ z1YKmBU&vI(Izrz z(@3Nfh|5hsiF!&MYAH^c#w0u}c9(F5WlfZ>YutC|m zFZ=-(&M95Y3HQlU6M4~0|I75V*42VjW!zC`*s;nVd*z!%HFVK~V3yxQe$_IJ9Bj&y z(tVlm7Tw)T5*9`z7h>lSY84`(h>tPG;X$Z)fc#&t#SN#4DUvVw!K~pV6=F6srI->S zq%zhcLCu&+k3y!r1&;-}>Zld7cx@x?zSbYG+)G<8*M-Ptoe(p&ngb7h=f@fhh?KAP z@+x@ft2iiK#v@O$ZC*`@V`?wJ4ftOBq7#qVWNkPv+JTJR_t&vmYLk=k1kp{Q2sD;I zAZl&9Bj)cg7nPCFQM8v|2vMRW*t!BhjEmBx`nDc|Vx_WvIhM}4l%q(lfH1U~G;~$B zP3a6*jmZDgo%@Brq(qA0QEl6naz17QW6B1>-8}$({;JBbQi(3isWRI8hbI{q6gMXp z_wBJXj6_ZCi(YV_KpyX6K6T*mc1he=D-0m|&q8+@0CPR*>h5al-Y z#v8gwtj%!E{59%J86PBw1z@%h&9=vMpCys$^J2|w1m^&#RO~6op0r&}i)*^iX178{ zNNxEU(;8fOPRDV6KY5il`1>&U1|08d@blyIHHdc$-jZD$S?kVJKT* z$}x^r!pdpjGSPvgdTN)HHzM^ID<6%S(ZFUeY<68`Kx4lLsFP=HBbgA!G`@Sb43a(w zWSVuMW=%GOK4quM86R%ypaY{NOTTFZ8ai33_TEJ~ISd$qj#xT?WL!P!deEiEfs=?JMWAvqzfVIR@H@O9h?k#g z?aCk0dxwUObrzeAYQkUTa=Gz~R5C|90>@?X1JTYVw#@9|@jC_umA_M9C?Q)K!gWfK zH1u`I$&M&Wb^X4FAvr!QK{#9~`WbNg@P?w42jm)l0#4Thm%b7X1v-B_EJzqV;LZSX z(rrpxi1qcf(NxvbV6e>Bqz(SqwR~}P=JNtzWX1(`VorkNogZtr$KhI}2kM#BpNOWN zTo1&Jz$@Mzs8c9PeuI+X#MAKWe+XipcHCt(-++uNbnn4`TOb5rYgqXXD?N_o#8sgfwGvTubYP&_sdM zZbSB`U;3l1+k&gZGIllKs6`l{`fVK=gbpqS5C=QW!&?X&7QxrALO?=`C7YT_g%PNc zA8a=V@to>R&H5DAb1sAn>|GKcA%bZVyT+Cvq4Q)*|Cm@c-dHNt;1i^w$7c`|FuIZs zX$ItOfxzM@4@mX-p8ibLbbW$QHVq(Qa%bw&_WMe;*XXqIoWcUg=w>Df)ykFmfd2ww-+QU;3oq3iLhhSJv!H)ZfBZ^>*Z|?j+`jY>3%oISuI! zh-O523QOj@i?>$5+7ywxt{1JnYBPwvcA=U6-j7SU)}oOn_ENWR*za_qXkha;TFfPv z?A^eYcGE_-iViWmTuI}lo($;M1~%IM2S^KjazqY=_JVzS!bMdDE#uiVA{b)y_fL7s zyim{TuT8cmrGTLfz`tOy>Z6S-OrF;46n+^*E3ipbIFiu!=28mZ2>(4;<6%ADm6n}0 z#emBH0ZUJIe$IxOKYcI@%cPRc4Lu8(`xh^2^UB3|j(smdb!coMy6tf2RiMlev`RMx z<%b4TC~ESRG(3Jt-zs{Nrk$9bQg6nT)akxl9xak$bjiZHrGaQk8&L}U9zs9dSMK>< z-oG+;=u%;XyVA<9ZOR)MdM!8qNyx4sao!qosZoQ%oQARte z;-Bark?=ZQY;Ol^!LR_4QMODF*4`~cncSe=NT<^@ zvirQOYomp9ssg^i(U8Y07f{s&1wFm#BARjT=#W>XTn}anGOT-m8)fXzmCO5tnkBMf z=afKFga_DNS6)k1=iyQQ*S~~J*Zpp$irkp<8e*BjB+N0A8=y@Cg-Sk~Y$gU9rr+=Lea1JO{#zWQ-ubf1IOEF5 zlROZ)sV-T<`!l>-G1Yu){My6d%Kd>_K_9>HUeurUN6gB~8awl*bUaj8)ee;nuwYW4 zkf<$3H`GTYo;6<1!-_e#t&z}4xC`e7y9T!OJnaHy@C(vZk>vGig9y*P7TsjB316@+ za08L$btIT3G5uG*sRRF0gHwCks_B51^vHgvN7_Ki6=#B;`~Y$LjV>THW~3)~^jPkx zaaau~S>0dhp?(=C-}nb{{xX?Jl{Stn+)5grCWYw7@;DM*F*%S)TaU+r|2ZB+DCSx9 z*#A418|%xUUaK?tJMLC8=aa^g)Opd|lIN4_jF8SXweu<>cRJW&#M=&^rOwD{lg4Rj z?pm!b1Z-+sH3%;1_f#Gt0oJZf%{?y+8_PI)dJb+T)d;T9%55=V{A+H) z9@me}*m$rl+x* z&Xb=ybk0h_xOx~g#7R?bULwat4R|LOI%2>3l*&d+?U+$&5cBaxsG)a#0p7}R@g_ol z)?xxSp8R(74f<{_D$We);|47 z;EhUjiHH7-p$Bm0X<2_o;TNgSIIij3y7+dm1GV2fLq&mokg0_%*m$(M;!9Is%^6(8khwW9n6j5`Om|>X@pcTzo0y>7$OHd@`t6Sj<27bfD*FE6->zFmS%#; zALP@%oNFblHeCzRUQ(e6a!bRO^SDJl;>TY?n=)LDw=`^f-Ld_M0vw@}=4kd#4Rk{| zsB*~8Ip>h-;=~nvyZQ$Azpu7!rtZW0;Od@zTs&B_2I&8LThj2>)-fv4EoJQFylk90q4Htkfm^+CHTp0_+kb1S zhak{8nc>}1PjS8@$nn?u#%pT9^|Y!CFl&kv=?IBGkAd;Uy=y+v$Jr0>#j|@ZXA*G+ z`+jkah8u_1NBWkiQq;6dKIn1Yn4i51}MU^+RpOQK|HXrcR9tfw3WoC zQx@b-(?me7EB4?Tf0KQ`Y5}B@pMI&~XjH)SjheQzw<}>Wf!l_q3c4TJUViJ3F4)=> z^p%L~2I90Q#=m zrEx7sv&>i2<3Nn{Dx+-b)J#kiQpldSK=}y9OsZci(G?sy2dk)`aMghdc(B;J#ZRy?L%_VOVVjW;6*#uuEs8&X$pXtz_Ga;^QFdrpg z!)1eD8aYik21H@cnu!L^UGG%7NrOKQM4O#vFW)_@I#15I_vap%<1GB6(ytK~Ao2^K zn6dU5J>U((*t|B~4%NnjE^IarZ+y#@OWDlGr>!be2*tRh5Fr1}aJe!DW*fI-03v}x zQ5GQ=3a=@SHosV+a(=hzb`h;;z7NVdLSW%z-p5;sG>V!f4I1~_`F4irn6{yGQBxopp zmn_NTy=VEI2?~C~AhW9k-NX<-4Ff)15!o4&*+cU^hFY0Nx-{O3tl&YW2kM?b}W94f0mEg#EsUl93%YBy8JFw!%ps-c3%auY%R55<6L>6 zvfx#BN7(I${j`r8P!`H%GN6zhx|zNs{xX zq4mw8%%xxfe;7v($mmI7Rn&4qvq|rsNe!OD1mam#cWuWdQ)xB|9d+{NA=pyLUHRVkCaUf6vk2MIAJ(8HGJGFGozwCen5P2v}yJJdStdZj0DW zsE1RK&lA=~DAl}FDlC(2H`qbI+iKS*6wufI!_aRb4V=}C*6dh&DH$bhL#l{yxeK42JEp6tq?7v{qQ;+DvWKgjp?G`Ce9End%p3eH13R&`!L2P*bu9)=woyxkQY;cVcQU^r^Dap_C)x~rb;z6GFacd z4|5#WRM1P}EA;4kIsJ@4rRL0Ex7hJmY*fWBk(kIjK3wyAIh_v;tPzj=QBfb@r zpCe>bn2?&RFvpg7ncZVJTwTb{Bu&{Um1#4YP#m>a^u%l9O#WOxlW7nOaZq&h9kfUM z(_s!mCe-5Zb|qNndE+*omIIlm760Th_Gogs-vuiUisy|Su|Xy?A)kE#LD21>`rnKi`7UViRpfg49$u&dx}B>HD^KmgkMS$clLcph$zQyQ^eIzTa2I+f=A<10c8~psv9HqS&~jIJ;g(O8yv-Dt7r3aPR$hEt}<_0h&hW zsMQ^$R1@EtRR!CC+v0IQotmCYkc3pi?7(EAOtSJ?h*0dx*q<`V`l?AOC$D_p1h0*2 z^x@mOuq!qoRCo@hB{?{i9?CmM#yynbaT@oQBW?#gS4)&*0j}Ti$M`x&7|^>pbxW`& zBQwM!#96-Ynvr1jLzdbBpg--?Q!p<>{pVqUp+8OJuO zQa!JIm;!s!BD)-5AB|L6iG8|@87KRKNx9FTAqFEy%o$WD_A=~`>ktk~bZ#E+^W?yb zM7qrv(Z(YEZb+DF0L$wi)|RWdW2+tSbHPZXx@SNBwkE%b7E)Ye%hlM1qMzD+kj-q- zC8sR@kE3aTd|u@M`B6u(jUz^!p4!1qZ!gU=Q3q2S(R-t{Y^DBh;ds+hz4j>g;}0S#J%~t;|A|Cl8G-Q0jRenI)+Ey{Jd+6SnYfYRC1mw zm@d&CIS!((75zL*R%bA;DpTgdyFS-zN#)z|x?_;wKl0l(Zy!Ln~X~!pvP$kXN^W%`AaUkV|EsPEAW5<-DhBW~?8x zF06)ZBRIMVXgWs(1O$@9G#f#de*l?DB~p_4tX#fQ0s(|F1Mq-99&BuV8qF>dscq zH<=)3M`#W1?%ld@$=024q^WOpU(x4qnY~9FcQw2PU~;TEkCi(dY{Tw>F!P--h)jGE zR=n%f<%V>@E8s1(Wl3}kq3reuf5T$RgFt~-+IcbyCnZXaux39Ah>>#aHyXQ%$X|J1 zM(}!R+B+V4@qupjCfn(T2&HJjVs5|S;Q55{C@A65Miv!Jm=wlBD#uPwp~R*r*#a=-nTkPy>QJEZuD%t{ZLdiB%4eshscvrAF6S*`!=%YujJT*Q(uW16qIR#An!vS8%qEmMjr=0 z@-FP3XB~eDoGwnQ2SK z)R(wpjL8tW+^d>v1D>j5_s$rd zJlmynH)E+ghB&MnF(+{$ej=1@fS^L>KH26A4s-rx;)Zz=^+@jSYFq32Aql;kO; zb@X$fRma=pp=T0b)!M?&i9wRi1e+QwksDv0s1D44)F+~B>yt`Qsl_Bd*`8qk0rXSC z7Jz>BaExNXSlp66LMc#TRdX*DL%{R_^0FTF@$4hrk|p0sFJS8|#o~^R%N|?&_I;w? zfE9z+q%IQ_?Ou$bq&tqyi|hPVAwG>Nd<-&sQkIB4?iLIpiicDx3n`VYR4QLv2kw_q zyKcf1Mv^dT>kwy!hODWlLt>Ekyya9t`izBL_j^r;t~WDu`%V$ z{a346TUX61rU=1cuc9c!)1pa|8kA@UVB|Y>^{z0zA8c-0SLvZg`x;01D;=Pgq+LI% zHI7xLF9gr@@)4O>0Hp13Ttz}TR+pa(7Md#7{8SiHXn`b^ zKTG4()SaBvbw4avbAT7Ru04{NBB}iaoEL2k_azZ7qlvT|3gp|!Es|Y08O%NDm0EC& zwj&i0sa0RS-}?q!=IrAd8=tnz+-?{5M`UcO&VItoM7nc^yqEK_z1crC?*y|nX;vK%9wcWOUf+V^>^Yu9?4|gSw9)N z+fW0c7*C;|+BK3YR9VH;TL^*xOea}+%W2vp?>MS{$9`Cn z+abP#g2s(Ggk}spwX@KyjSXhCAHEy0dkY+9pC>ha+?x0XY7`DdORBCefy>&7#@VvF zEK9eTLO|^q1bM|KsJrUmY7mdSOyJ)_=-3okZ%P*-Z0`k$GH#a6kKiI(z0NV|D_}yl z*^rNT*xB|cH?xjP4ixBX|876I#VUHO;QF-3v|#UO z5m@2>M&lh6<_&d4dwS>`@&+l0Ou2)D#t4ANSb5(=TAG)Msz&xQ#NZxL?;+v>@a)|s zcC1cnDab^#K38s^4^x!ARM>fmm~^ODe$c))i!&!(jk|CF2_2P;6dUU?;O=MV1#6>s zdj9X`h{7l?aV$$>HaK(wnr==3-XM=za<{u&idS?Wp$9pU;1t-s1%ae%W!|<|SaSi< zBBeRYb8%|v#TSyxK^!EKK5MS-7f;RwjlC15pAdeWHft~pFl^r;C}s`y<>fBmiMx{I z0&IImtorY(9%Y9vsMP%YE2Tv-_1at&RoCOKRC7e-uRTb5UP~586zddk)`r?s$J&0< zxS5Wv@;N`1=on+|c5SCC^j05hj+8&uhDyaZhLEJ~bs*t#c8r7h)$7lOhUo^4kHUtf zEmB6}Q^wn?K*OZ8C$v~tmDBvTqfI#P-a`O%a1+N>GtSsl&Wu?DX_s61_Ugu0<~}+S zRY1F+$);UZ4JO4OC#(byhXdL_QTNFr++A4kWOUPJfUs*@1HtQ;^3v_b4zhgR{=fIP zb$X^0GYEZyk6}@(g!-yK=@lg9j6UFICp3@mL6&fvA(fNF@k#aiV~q*<0J=ut@Rsyr zVdTrk%79;RjIZ@CQT(bX1p5zywnRBW8b$r;bNM%zZnR1J3*B64OSQLuh?8O_Nmd? zDz20#fZN3Y(>!-cHZZg{CaBp~kd;|?+G3LqFNdoyASHS`=xhONER@q+t<@P8Z(I>H zNZOP#)~u#+qtTdSEgsEq!k>GD7R!R1p79kFxd`qNHr?NbJM9M0@k2GMQ%2?GKdcQ@ z@Xt}|dx0YX|19H^j$U0@WK$M%r(8l%qi*@q_bm$WdNc3Pq*K_OX%(`?Y7MKx_@M{p8U5EwD*g8dnef4CkusOqlAJ_3$4Bw_cYj@ug*unKOVo`|Si_yPSIxk8 zh98^r&!GLI`OCTlFGMgD^aC5<3n^)}Kf&DE667ol%n>9-OyTQ&ao(`tNj&{rJJc zB~W-y)Cm2LFc!)s9~aBPO+KYYNv>6&L5^} zTa{8szJF~Zj{Syslrds5%#kqhcq$mTZxLT-%i5BpKJ+gpXs*k#K%*=1TGGL4^ZBu1 z36*6}sTBvB70sM?K#!>A7?2BqE+wk)_K>fk@h$gek^e8zd$V)J5fm0fB!+PT$JI2QhsY~9RKlYY)QHYwk1*V` zLr=R?vEi%FCI>A$K;4V^U4KKVhV~F2ExB}_&TYG%!%=gUwv&joNgWI%Siw+!A5ph? ztCRV7`UUev(U93lYI1i5vFA_mmhY*eyY^VVXowl&@GMgr!n1*n;Wg+@YJ(AZRPgk_ z2rv~fSzz|E=ui^fImc+8 zG2NCh9Y`H1oQ4LHJJta(@wZI_FZr&c&|y!jh! z1AowozmRj`#V>^YOFtwM*RO1{dX+yX-#}@+W z1A2P*HhxYaslOZj>?>0nyKXRtf`8bv&Z5$1RcSU!e$rlaKX2=bb=9g$&@rhO!F^RI zM!@Hg;Fo#6^O50N+ntTsJ_ru}o7u8K05?W}2ZadHjUlScAe$X?@Ukm3P%CG)4S46l zgpK>a2TPgrv!M)xt3@4gTpdV1=InV0S>l}yA~)ot4a7Z%g==6LLD^(4Lj__6FR4QI z?&^m3pmUFGho}j=}Xx3QYSJ#^6IMfm5Hh%q1v;mdcYIpCPiHdB6 zvRTR-74c750ExBc7gO01W9V5>kb*jCaP&-KK$kQK6M_`txgVklccr7PJ8B9!Ys#aw zuiXP@YXxF5U%DVagYT(vdsT#W7RMt%V9Uz0!cxWx7b1>Dkdd+n;=bX%6;88-Ngy1p z!h>#fGXx(It!_eT5rkp;9KqaDaXv1dXQND~L+kli{FGi1g$kLH2+l`8c7;vgXgm3m zx3x{}JRiGF6eIvDU1a3h!ZqLFwa_H;juBbc^z=W;2wVAqOWM?LZ~N!xYrCh0evoYF4fR);**lS+w1_Rb99vbeyi~GJ5STLJLrAPrii_j=Ok- zNEchFPH~y#(ZgZVI-B&pPmxzmCriM*1Z+82tIpG6o3q4Ck+*BR#eIbr6QR(d>06CD z%W4=hqe&OLbo&629yJMC57bXz{RjrU?Wk~kbifWL&UlJ^X^fU2tYX=td6<%@SXLdR zG|Y(GsEgz8D^U4qCI8XC+>uAEf@L&{xSCGuXJCkMLtBLnK<)8mxd~7GOB9Eik)bRz zflVj*KNGl^?$U+Neda(LUb&El&>ap1?A^hrF)%}xb+oUY1L~hh{^Z3>*nx7Y(dg!N zEp=7QK%W#j);twnx{%cR2Na{!6g_5ZY;RpiNo=d?>9Ab-xo5Zt*4&eqBJkF>V2JEi zUnjpSs_K40sHJq2%VkBJ~oy~%T4 zz+sGOLu@Gc<#C~?yRV&$hlMIzz@``bil%`gxB%V#V^cjGfpInr7>N+W2=)erVjC6; zd*sXI&!|=f3y1lQwJ$U4)1D4U)vZ!!t4PeB<(;}Mhu@O6R0dez zDru@(W#>-ywLu%ApT3fAOL{`dLD5ir<+1-=c)9FeSv2;cpj9(5Xoy6@PNd3@&Dbty@tF$fr6A&y6L1T{9;i4_nWXvw z`rFvcVO&9Hz)tHn5pYL07Tc8?zte*_%B>@P-~QKq3yZ+X$(Pz$(^|-Y z#wC3>J}8w|?g$q&Pe(}>;pWn;{*|yZmUxeZKg`%qflup-ZAKwe@G>Ug4?z3h@-}(e z=8SDDcv9+o4et5fpN`i|Dy%tPOxT!#h_lyz;B26InA1uAy?A8%GynN1@51G593;y&z|86>0~U}aHO3As&b8UqR>laruj@yF6AH%J z0*!b(4GArBJsts@OP!<19Z*AfSD^csN0q&GRLj%Y2NGHGp5_!NG*1k2 z-U|;`O}Z?WAOVTKrgn$+Cb0Zy;skB8q%@f)o*`?Z2|*TYjYxn$LK1Ng5NxokziWQ0 zv~x)hQrp+A!q>bF#bZ`boplWax`{yDGLS7X+TR-|My_mf2Wj?SG7_3Y2_ zJqJva_-h2V*tOaVCvhHb85QE(oJR*9c@}eGIz5Lu+eE6@VY6tRyWd2jvJ|tDRmrM= zsz7{f21pbZ?2*WAh4L`fWq0oJImhpnrJ5Rw-&vULn0VGan$@|~7;R9@?BZ%t@Oia+ z&H=L=yWfyK2W1nv{o~YV_@kKp2=RHWSiCF5E4>)SWMj<6;%w8)z^b!#ymTFZu^et| z3!pIsfF_irr2cG7P+l|V+UT=_3=f@|)Yr2B| zCA=|j_8C9DCDuQB@Az$Wql%ii{J9A?%cnI^gvk?_7g_*B=`0^^##tEk-Tnih!z}yo zNfJyR?%+;u7w@(lv;C`XZ^di>+F34uF)a3QuE1sz)mH?J>B>SJ3@JDKJH`aqkEgc6 zN=KKx$_PFec3}s0El&G3YRsYG2rO0Ha3fZQe~{sX3<%(}ro3y<7zfrG2VmLQ0Q6vU zBlq0K(qjpm>h+tQUqnQBAzLUx1Cw`OMh}xiPRKc1tJD>k_B@w<%WXl}>tb?T!*v>) zXGZRHJ)7w%KQeGa@CHr@#Xi_`JceWQL^=weQREz!^p$ZcnlWKK!t@W%+GvRlig0m2 zEYFeXlO5}ISZL$Y%%$q&AAMe#F^5W(I$3`JU^pF=qJIK}fDiSZVtqD;@;)osK+fC8 zM$TtZ@7zK_;UYuK8cXozK2Fb9{jDm9Tt^r`+d(!YlX=u>t=C%Nh5fFhi%Y^AMUP|QD3Qeh=LSFboCWyB*mp3 zd~ggRXZrr4-`?*4*ko*hULd(lN)i ze`c9GRh_S?maE2y4C0MT2#y`!{l2P6#H1`NdEX!o+N;^k{=%A}_Q!QEssZV`E~B8T zsE;mzcz@u_#Ufs(NY@6FG%~xY(1T6I&o$st4Q)x`wD`aT8Ck>yhZ)RSl?h65loKz$ zZOWQ4UutG9B~U#8O9uuY;H3UzhnEmf6wzS4(_j!CP!A48sr2vGhc?$c-C#`G=jGn2`fH`4=-gtD_NC&#e`iG4V-`e>JMFBxA=1+izHQB%rQ9A zCj-Pbo zTnWH!mjh3-2EY!DJn0*dL&ckcHUxI_gKCk8BXc+Lc}30eIA1PL32(zLuqNITRz&HL zeAy)u?kM0lQJSul_S=UOv%S}>_i|m7l(_215aT%1OzKs8Nhc_0-#lc=o_7P4^=Z8S zKGpU2ssa}B)3JD3?Sw8XLCwTCU;167BH44DwF$!g37y)flQJ=6K$GGvI8b@dMi!!o z0jH3NI$wuGFv3iVXWXuUiE#y--d)UN74zh%}_+GrX-d==OQaVMJI zxPdptKuWE(>6aknx)o6)4WB~>u7OR)vnlG8WKR?BIu{-?N1A_F>ovVvz5vk+pqS!2{Vgvv$VbkUkBA zmeq@>=F!t$ByGXjC%v=}dwDy@6OdPYdcqVebwV2h`o}VtgMfPCe#cEHRjJE_g<}5t zk!RKN$poax*xVt4z#`nM`&uNLNqLb5CdA3js7Ks9o>-2#Yd3{N7`{Lhtei@ztkfRz zUP7PsGZi-`_D;uv-5`8(@rW5SWl_xoZB`qXvux9QMmen45uoO#3)`IlXAPW|ngJ9a zukNC+uW1_K{R{Adg~NDDE2c+#>}Alrzl~9;oh!!`W>hOd`!lx<+N3;6Emb``A2+dogX$x>tWE)gp6MQ17)RVUsn>YR&zF^Pf^75 zCx^QxwB}_Y;&;`Jg#liq-cV8u+@ zvaX*KmU`-m-djwo^=f)-EI3M#r-;b|!J#JYV&x27na47a`dV7@Qu6r+L5~}}H7fvf z2Xmj0D)+Cju^j*W>U+`d1ksXsMRM*jjQi^F5<^y4v4)Own%fBb9;EaPF(rKfeid`i z>Uy<*zuXp3=a7$+m!AuqNUck16!uWql4sLnl$>ZkgFLYp_;WdD{t+|e0lDT5#%GOR znviT8FiLM4%0HUPvvu_NBf5eWNq%tQksg#PasDt9#qTJd0NcReW+|HK+TPHI)KrHh zV}+$twou4YuqqX$@!V=&z}2KfrI3W$;Bx&w=WySQ&|V2~wNUG~lD!oX!>|_44rNd0 z-!I!RaA@PB1e&yS3mtpgU$$nqHo~!WtLI{h1n@sPM}}rhgu4#ff)n$=V%8}72h6tu zQp@~dq(;!S_&DOLUfJqilr)e~(WqQicBYfwu~nN?F~2WRC@Ch8v1bNGTX!oA`^rOo zbInvf;@oz;k=|P7kz`Tx&UV;zOuVYBbump!4(UPaglL$LjknjReynIK8sK`F)lx&$ z#~>{R;KQ3Kxr2 zo-vo&mN_U_c4H<}=w8uqHINbadw4D=d_-PD8z3m^56C~xuhv*6tAK`=YEwBE@+lUT-G52IYMSvq_;_)tA7FK7cd#j zqRAtCz|UDO(M$=WjA>mYugb?FVx?A*Zn1%BAr1Oxd8Bu_!Y6?G9E_kCkt%^Sn(SlD zKb=%jlXjAF2y%Vjdlx~-zzu;~U6~_j`z_=fmbJYaG+eP!CLw7D?Tj z?b-%`WW#731(qUMjhH}nyrEkcn!}o+G$ukV33K4|3g2D_|F^*Y*HWAD?YwuC*0qpB zwitn{Uu8poScVcy|ERacpS}6cNmc)-U0CW;UJVW*=X~a|DpI*mFk3WQ5bCCVQcT68 zwFMfJRd!VJ9Sr8<)~aYh{$zX-^ENC{z?H{G2E&8)v(<)Oiz7V3IQ8c0j4{xe%2%rGEe zY9hASWekltz9FjRKg0*lm~w}s5rHW@-U&#w|CZ1|^+*dTmE|i5($upsI0aGM&v>ES z&9>eaF2F@-Z%_P5m2qFH$%!fGcC)cE8M%G5L*$^f29M+(NiaqeM1fY_R0>yz3^R7HIFYOzn^%>{ZQR z^v=MOS-IVA$Db}5L8gm;a9tk36d_;l$7~j#g3vA~yh@QC6`5mA_UUsvQhWL|OqA;@ zQ#T!(|2nIKYVGUqDpfu4n-hl2cu`?_CSRyD#xd~v1!pum|4yXVe99SQ+_84=8$Y_sR150tot3xQ@=CVJOv?L`rNC(26criQP4w2%V|rJ-9$jqTuUWEa0^ty=%6 z$cU_AB;ror3VUWWkthFjF{#=n{~LmQN5Lr8gP&?`OrledBCi3wR0J?cnV~3d6YOj& zOuMpqwcL&eA>=#->Nj*L@Nx-2EXi3G4B~931i>vM9XV+az_9JYT%VI)bVfdaL&$hp zB7JNAuc?^EoHW{ae8@Iod~nlWfDp`Qxx9e5k8SDnW2QgpPGR#At%rx_|7`k$thC3n z4^pg8n9D7$6NWi7yo0HJ{qg*FreUSd6->PEYJ(+mJVC?%g;J4K9|7A}U8z;e0Nb4=E+mT^D0!@qmc3iK&qjeLn=a`lbPVC8cgcKkhw)?lxy4m+OaM4WG~XR}3j02~ z+kQ%40HMcariVLf(AMI36^^PBIn@8H4v-jG$6oLDiFj$HM+{^SKuV);>DWF_JoIO; zE)A(&Nout?P0Kl*7Y(1yK2KE;hvr|Mm)h#pAOmP@N^cY(V>g@uFn&q~l@c(Ur+$Tw z_l#``R7D!2&oJDJwcBH+b}%^YmI#6ejZv%3Pt8o8yF<6*Fas|5rsKdJ{C!CY)Ye%7 z(CwV;7f_IWzs!5{FCW>$H@R?TCfyvk%46U$0i)z;TqJnp3p8JkN#)P%*my1Z8ToA| z|6Prgqpko|>0E^QC82_O*2##3jx?F6j(A~byEUff34_q#v5;Hu`iSWC9xNczAD}{2 z(RTDMU9FfjL)ErH=yxf+iRr@}6%VSjz|#GUrRN9($HfbY#nv1uSeu2?Ti1r zry9uKGn(mcCV8tgNupB4&>j`v@?(x9s7uwRdRxJh#^{6SHVpl5W+P(?cUEsYkwr-} zYkE1nq3xx8E758sgd#tvcg~PF%?TqO0+H_Yt+)?jiq*)HtsD0XwGv<6Z;S<5N3d?A zoK!vht>3dUt#I`zJTFIT?UtB#rY(j=yYt5A_>r1)IDiT8o@g&Zkbm=zhb@DZU2OTq z*pSS5|61=<={XtM2BA-+>ns^oTZOC$YR1N4SmTSSq5L|7 zc&M~(V~ZaC1aHXrb5`@1p@fvjk&Q3V_HwqPW9|NULATyCz9GP-9->$D!i5B}_yz2h zh0Fl=NW56z<`K>?zFoug1}0rOMrDRC8O%Y}L3waPp?5=lQt2scmPbjC zwB!957ADRv)HO;aKr~q=J;T$j$fmr!WK5mzn04G$jpWPnFl8mXm1;aQl|_96Bd-HM zNik>}*YjoBxd|ie_Qb=gC~k=M6&skiv1}kjnK?n5utG*^rG}K6Pd4CLZ5le96!W`C z&enLzgNdwfDm22`o$>VMy<(`)RQ4(U*UU6k8U$o0SNv1P7|n>^GLTMJX9;IVDahzK9I?C;&_Z0Xljp1$Yz~{I!(8D#))s35Qto@8zP5DR(!##Kb;IQ$$r}LT$Y(72tlS+S_A8$`t$t;-6DNDRbyPSOTIFaJ>xP8Aw zEWd??Sy=sj(z}DvCgQnI&y{GJCWC>@$8L5scbO@$8U0rY3O}9$j@Lh7Qf!@Si0zcl zzQ8(4Tx*<#aj2BK>)kk$S7LmQ&t|`=c#t*U9acu$&}&#$ZSx@GnLjObM$$XQOAPl~ zgDuW(+5A!p9PQ}UAG#UCgr^T#rN`ZyrU`^-1{zAlTFI}FmTN=n%{wF64#1_S3T*<_v>2$XxhHn0xyXQOo6*#8nH^7dP|?kkfW zyD|kjn0R)*1iXA^q2R07VQz?h;z+AmWDz~AwEP6 zzdsRmq`YAaO=d{~PyC2JR=!v%%l}ShuW6g|iOPqr9cnQ@NZAKFks;PU-wHcU0(}IJ znedw#8bo$^4Jj<9-z7ZIJ*9p7)Jn959DZt%8JHUs%P@)wP0=q>Xl_ZtT zT=7NGonqNr5Tc!u-3HLCOA(t@YCQrM+r}wivxWk8u6)=j8HI;14T;0TukbFUIh)uO z>`NMR?#3r|YYr9q$E)igL46dIV>;?*A%e@SDEHJ+&w5GUQd+nDHo`f_LPZ@F^jehS zU?fj1+m3ULcLNI0IW21pYtIbTw2*w{7f8Gn&_1TyeWMv%LJ6eBkk$0tyA}!k!0E3&bdKsGKs8+bF+9Q0p!LBis;@v%Yxo_=7C>k1`Fr)SCbb%a$faWnU)a zw^|(@@c{`Y)Y(Adgqw$)?@tB$9+i8|V*oCdFy2H#q}W9g8Hng2>Nte?Z%N~N3x-So zG6j&Ke#b_KNdIhx;Nht3;MOMCUdpS=FzA0haBykLG9(1gzpzeMOMDI30j&Jl**i#y zJFRQ*0PRSP<9`h>N5WlhyW7_PW=zrR&@jF@d)RvRsp zi%O>pusFV|X1w;$h>vYZM# zbiQ+)t&B>uBm^Qp5i@BB!`Fwp135*202J-1xOfVfFqIZ3RQ@lcTh09+=Y^&_kqOlp zzYVpM&{_7LPd$gAXyuooP;m3EOiALA$>trGF{>U9o04b4I_3Ly{=6tPrmqk#QC6OF z@H+4?BR_Lym5()(Ke@Sb`&&zZ9{mJ(EVjP`kkQmsY}q^32^Nkmeaf0Eiq%jEw9UJ< z4o(npGy{xY${$w^H%GrI+==t=)MZLNoD%fzHTOjY(L`|bluIR9V2>Kq$j$I@68HHL zCd?xk3$+^_@wm1hji;sC)A65M*#GF$N`ep`<7{}`PcC-EUVti~hpb6dIncJnOO42%3S0?uDJ0q<@Vde_~*6X=T@v9q@{a$DRaarRyO5d<0_% ztuJU}l(?Pa%bRt>CAM^KQ#iNThVMW{V2$BdF0>7kFcVpDqbp62FBubpFsOr2-A5Bu z_7ZIl8hf_SMI^Cfp`oH4y)L(KF8m!b`8>9;q*1Y-#3*b~RrONmdU8o1p0D1F&}&9t z^Jh3+j0|!vQ2||*PrE?VnUGPKQWdC5wQ;}_bVrI!NZ7m&_jf4)DJzRu8TOe@=SaZ& zpmW(_ujm!N(bET0n)Hde3vAmc+d0_`A`ycGu3&q`%#P({}V7`EVHv zAA=@mfV%|=Ip3mIgY-$_(x&I_f@AL86Yu=&7qlrOtiU&GV|B6rJQ9HQgfU$PZ5OZ3 z?5ONW+d7K7N~&AHE57)NZ!EoVEvcBvG}-73#ouCfexo|~ma=DJeVkjky1x!C&WkaS zRK=u)90gMqr-9)$h;$$}hjrT~8uDKPJ`__LLh|AJ4NyXXT=ff7-J?LoXDWdOP%|p> ze;K(*xxvhyWmN5@_Z)3^I~ek=lk5va4hWH}ClS>^o~7G4l>?roq&v0p49bZ`%4&NH-AQ z?%KR@1kaP3>~_;p)R&+x5KZEaBep=;O|BV@p`{Jq8S1nrbjAD6(Rp~E)z#2rYpeP{ zSAO^$i10xAR>3Qs+*Q=oxjWFqLZCLCt)jUc@I4C{e%Inc?Ym#!sh8Hrm|VMPWB0AO zI4MAZQn$eF%IIo7(sm|R(m6Flu4@q>5D)f6!kfmNKQe&BX~V@esQ(%@XnhVfLpA< z6ZYT$*|+@D2%M(dNi<(tFl`~7T=~sDGvOl&Q|_BGntJX3&8{ObhNy8)S9eGHu)CM0 z5s%DJYqSY#5eXSQ;+Y!6)i^=gyD>ftBl|rSCGU1@2t5}XA7|*Qh87BSUgKy8Yt+)x z?UnF@PD$F;L^Q3uZ-iNZpoFD}Kc)4HvXP0|ud%ALlkmd26obon$KvJb47`}H$y=U= z8u(uycbRTBVS&-S;zfBcp6QsnKa?1vZ4RZ&dt!=nX`?Z!Ns)%M>0EyT@Yl98Dr*@vzG007rEh@d`r dMpOU+w%G&wgboUNP?)jAXZr#G00004Sz4#E;Vu9G literal 0 HcmV?d00001 diff --git a/kernel/tools/perf/files/patches/linux/patch-3.19.3.xz b/kernel/tools/perf/files/patches/linux/patch-3.19.3.xz new file mode 100644 index 0000000000000000000000000000000000000000..2b27eb0f9db3137046b66f4b5d10f3f812e64ca0 GIT binary patch literal 144892 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�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%0D>s7HWP}f_)hzcbRt~=m=qACk_DhR^ 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 SGQtG0#Ao{g000001X)`7R{M?s literal 0 HcmV?d00001 diff --git a/kernel/tools/perf/files/patches/linux/patch-3.19.4.xz b/kernel/tools/perf/files/patches/linux/patch-3.19.4.xz new file mode 100644 index 0000000000000000000000000000000000000000..ec0a8590e1571cce404963d3c5d7db1486e2f236 GIT binary patch literal 164964 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%0Ay4mm)=;l!$ESnBSLyxJ+)gHnqA;8lZasEr z7N5%_BCanguaVp=o{9;`qn6j9dD*wPT$l*7+kDa-**r=f6(8zLV`FZOasq&-Ds~uF zACyftpC=~XWD#dHs0Ppd{BI6}n2met_yA%80(PHg`{NT72^#(izsF8i6@*#8(AKs~ zW~xSYtnc3r*-##@t*OYX9|E+a@8gZui);Nu4M6K^Gq&j4XH22_WtZPWk;)W@LIV;D zv)+llu~1368?qoTnhl0^zuB&p^cF6D3NhbwbVZm@lbagRO8P)$)b)$>tU#)W9jAAx zBH3H9kD8_esU&sUUkVZd>9@iVYWHjtQw&0H!~SK5g)JR|=jJ_CHS%GUsfw-7&9n5q zEt|RXdqGdr{wX%`Wqs|*c1+xV-KvG7)nlQimEaU3$?7x@XbSG9c*gR-V05%57| zpys;`mv#aIK_};Mxa?HgTT*QW)B$eMG4q--^*)6v-|s2vBg$i>!iyMLgx}ejM)Dtj zEcyR*wl&^ZmIRuCCo0qZfKf3pmsy(t5lJ&n?4E*WsV`|78sTKk8Gr5s>y_x&ufQy< zF+3h1!wBkOl8t|WMgFjfwf%|aV3o?|b^kzA)c;cY_fs|IO4?})BTcJ=_Y+@oI3yL|tKQ9+&Ib z0!Jd>G$Wm6>Z{B=VRX*|z^L}AY9fHeZ@XdamA~W0A{ERB;ouo2=d`8Wk1cs9h_^nY zXP-rbVd7p9Z{$sO_AFMAFUVJ>&%G$ya7RT1I7Fb=T=uj?;xr+W%Yjjf9pzq8B87V+Jp4T?*@h{C0tcvdk0Khs9uBEIJZVj!FsVZUYU!z zYOR-NF^(=kfS9puLtTWF4VtCHp#8!~@|1?zLwPe~L&I284N<2nkX0{>D#lvo3+%Y6 z&*8D$CjG{5CujU0A&Aj63!e}=-2W-6HEym~ieOfr3a0amM*P-=T8Z~ndggfiT_=T- z`c{O}CPRPIqvBQ9d0fVDIy)h` zVmfPU-gKrR&K*3h{mSfeQsaTO8y|`@Ehqq%*+^^23=D+SVrV?9qti+P(K?ER{$a?~ z2zkAR4YqG6)XP&4Jr2MO8X>3p%ESit_-k9o&(j6S9y!w7KYh&E1KWEWVI9lQfY2xb zZCfFgQLl;uCW`sLEuosQ`1H!}l7EF^HA!KM5s`Lm0Nj0hsAIXsn`PkBteT^RA_m6In^@uc`TIgXES2 zJ3N}QxUd)aC)0pUWML5Q_9NG!yGI($GyHQ{arntXm$ThkpvaF02GJJ?sP_r*M`o|d zC%3)gWxnfYHL@2?42tj9EBBwPi+b%D&6I?n;@$ULsg)F?B+vsSmEiLIbT;((kGH|0<{S-aBO5Rq>z)@X` zOTJFdu#5h`E1_KX#&o2S-1;iLQAQHgaiq$y>)XyOqgGW7k&Y<0=X?cdy=MaZ_(RDm zO!SJt^X5y0;G2{@bj_I=zb7 z6K84gF8$fhYSKkJRMCl;waa=kT`4g76+keD>hP1^DG5J&^ptHE2)CxN*bW`75)cYY zPU@2Gcpj;9yvJ%!3CjAnBC2-b+NK|EdmGJnKiL~INc`A(R{V79IVAsMC|+;R@nav0 zy)jqD{i&#Wr@O8i*c&fc$T3;@X;{Af}(vvk8v zufS(DERbb{ABzp2G?_f{1CPu$!rNTSKu9A9&1ocu9M}0IyGg?9z<~%(hiCT}=?SSf z|INwg+p}PYS3XfNx|WtdY=~E;T`XQ(@=?`y3@IoypqEzNa{s~Dj+|Q&FA!-|C_sCS zQ&eY7{#3qKW_?m!_Q2P$XUf&>(Mdr1#(CLjXXZQZ~dpBlvk1D zb08rxLRc11k4)C>pzLdyz{F~>ZVy{f5y6KZmxn+>2L~Uq1>}`9cD&lPW#9TGA?5uK z3Z=X7y3yR#8!)*sFTYAi(dM&TITCufP-w^Qv&hXSJTcu&bw!MIC|X5531Y2$n`a!O zmDYagp7WFVx!0-NF1Vem*qZjC46N#NTJ+ zo3O!~ngERVdR_xJd6(-W7pHn;Qmf;QH<<(r2Gq|Z0dHTWHZ3sZV@fA9>+_r2^)+fo>WL0*56F5%H!aW4p9q52M0P^%W_v+;XOwx{|47j~ zvC)|nBHx~DB4kbwN+EOql*a01s+gNOXKBW5*ZLE#j%w?$GiaQW^3FbfCx^YA<@oqd zTfa7Y4uXf*0pE_Iij-Z+qHx)1s>rp82w9o?0ngJ-L9jnq5~*=ve(R1CvM zsyBoRmxKjf&)WT5q|b}pW7w&wtDERltyqyI^Z{Jd4vTp(z!Mdr?BR6uhBIV?q6}A6 zVWe|s>RRFi($+;e{zg^3zLT4K>DK97BRWVn-@yK2K9QABx2Jh56n27Z2%4rL8WmeH zyJ?PS%Qr&H*nCv8TMBq8w`piSX)nY=a=o#ghH=aY(PlVG|Kmf`c~%QD>aYwvaVE+e zr>g@Ex!epe^z)6O!(XO8^JMLQXlH+^GbD655|ANmXE^l=-(8pvcj>dlz=eZHEYP$H(GvYS2-*(LDul%p6p&JZDBR|% zXY4M34&)6+SMrOrQvV%ARJ^gTE{AlSe6jpby=z<0eJq>9zFGLMhe9t7R4{%RT?BBv ztjZci-s@F!yPX%LAK9Es%{*4=*o_OTLC<;@426H~K-uLL;bYlW@Q-<2s$KeYiNLP+ zy?`GK4#PGf8=pba@2_Q&d4^h8A>RkBBk0G3pj`&uX4Uo#tK}8EX4NZYnsqS2Qz?emG9w13@|nK4iRh zE135BW4+*BbB8GN$c$HTaq?xIQmVh^ZYrY`-p3L zY$a+*`6Ziml%)sdA9U>AjE5vIOFmFYoOh)r%%UoBFfEw>$f~PTt0wfGXX$;x5-o9< z3Ns}`juT|CIMi`oW5KA(B@JkMOQhtauO7-*kF2sub4w&UeMM)_2Ots^!DMKDiO(=m z_Ch-1#=n8qkex~j63trEwWx>y3Iz8^t|-Qf{6;VYbeUrFnhYC7t)iT?c-2qK;Jx@D zCFUO;s$N2fG|AEaoe_i6&}tJ!pwcdWh78`0z4d&Jx`_^9OMV>(f7MMs4aOM2WWgG3 z=cCu)Hkk(4A1Frj08b6Lu18;G7Gp>8*9C;`2rI_PQN5(>Uz&)e>rK}!x7saqIwwJS z6=QJzX34pndH?RO*>)owO~L6Iq8*P1S7|T#l2T}%wo&=1@@TO?)?zG>uj=s((+AYi z<>#5B(}`CPynH3d23t*bvw!CS zwl)nyWSLYoB6G7?nf*nrkSj2A9LV3LKzUwp(I3z<55q!r@`k7av=$ybnuKbG;!d$b*xn5;-uG>PFe#F}Ns*3_r)9WU`*VT!wItJn z(|*^4)A6?OhAN3V8{@jT;o&j2viT53Wc{|E7O`IrDBXYz0YVMJIPt0|6a7mpbC{kQ zWrec>prpy5*ZmWuI?r>q5K*Bf`K;-{lUYWPr1gpEX2%)#JNGe7lRa=!Xcp?tU=>xT z2sQ26iSuIT+uUdK4eT#owC^GuwqEO=+th=*(^AYG&^ck$=KPM zXf<7D@oMr_i-vFoy3Xr3wtu!{Cxn;iM3AWm5qSJj>>P0o9f(eZh^1ktHmh%NSXAu| zoOBmNmyfkuF#y}1OyutJcb+){{#!766KBb~7(;U*T>P-zhXe24zkB~B5)?zsTJWf?$2tf`htPQY?k@uvt9 z8BG&iThXG%R%U=Kv3zhBv62jzoWR#7Z4PIo9$w!gT-SrJ2A^g;V6l`Id%i9|?rVp9 zg=6DCoWHMi3^+wwOut&#LEqFqlH&~^FQEZS1b3mPX7ruS=;>qXH2LCnJptO2LTav( z4v&O(9vCf2td4pgb)a+O#EsN2H#>lJixY*2L5z?N?Nj z4U7@^u@7+!68NyM(Z!*xZUzIR81{3=9g;+l>#8U6=)IMNf@4nd*fHCFn~P88f~q8A z%IBFP5e;;bP6j&7UtC&U2I0XGZ@A&2q=K_+(yvdGV<+9#Dvb|65a#1!#=umZ6ux#L z8|DlGN+zVt_w_!5lQD1nxOYj__urT;mn0J$FcoH+g0S_-egONqOGZ2?>h8jV2C{dU zKIm|jSU#P4-%#_N==!}%eY=Jn29wR6A=YB>W9$>*U9y#(G~KDG>V~iA;Qg<^O)h}Q zorgYR5;o7SH;ds`rY6Qt=n;$KWs6aNptR^8$ntmzvLvbKP*L8wE(t~-x}5du-894& z(ZE9996lg3^rtBA)=kq!1Y1c9@_GRQz7TDerpXvm_19$Z-0O%D@tSS~lz^xSZIC1SI^MZ1qNcQQcg zm|4mIMXnL!u!Mgof^@!mlmX?x({spE1zG9c;-#^9@crG(9N&(F8Vf<`2H>Zkip2?o z&NU^0A;xZJBxSKg!iFzQ!8v$`hecgY9YWq4x?{4fxjy{#d`5G3Q)bn9SjO+Gs08j| zF^g^Z*+kKRL$YB}52?VBlsKrXQOM**%wupGx@<*h~DnrM|U6IIZRt+Hd%S`|AdQEnqByG)>LfswSizdfy4 zM61XD@yQZ&FuxYXZzna^yy>N%@4buN*Xq+w5Bff55I|?>{c5?W)=-&SlJ*O(zS-(H zKWL82&lRbZ3f*u&31xc!Ej=o$O5=ds%6(s5NpDKO|HHglDHqt(0InLajGA)dMTtLd zif;P&Y=~huZ%M@3Wvww~=C=3>24t|ix0?94eeW5zsp7zn?n zU4Rtk=4cfYRG=KQk1H5qHF^>=Pqf~OU&?SI%-#fBf?G}NMQMbXmAGHnnM#bIKR@e{aUJNmjXX zHoCwTyc;v+yqz{6qr3LNXsDS2IS+q)9@xOK0iNUF3+xePXi;3LB7j!eGRBh$$HyM{ zMmPo29#ZDoK$3i~Z;lw7suvHByMxFxz_GD+mR1o)ysa_C=|nzG<}Pl#JJvd`S(Ci?A)i7B$UnBQ(YT~WjtzHxQd*te8^R*g;xGw!AGHjom4bm3te}O#uOQ^EWmA zgnM=Ty+gL_2%dm`Cw>$fH~0z9fz~H=*ZFi}1h8LzkcU&xy!WJ)>}yJe`{^9N zZwl4;m#E&r+o%bSMctpVXvazjQkSY0m^+qT?U1yu-v#M!depZP4<#z>x-Pq+e=sUK zTl`HOd;f}HkG@*Z6tU0g8q3sbP5RMX@mq0O9veUR%ujT@Jn0WRB@dmAhWeD8=VIU< z+1B$E>R`kdAToPq<|%9SSoQIamxX|k%4($xY=PKzNweB)wYx7ZOd^7mLjtUL=5{PUiQ|;e<7Y36CByGFdW>|t{egf@O%{U`ML&xL-)q2xfvz=1#j(Er_fTui!JHRUkkQ83v!~; zoifK6qAyZ6j4oeg_L^V^Imb@;h#6vd;FD5@QI=QW@f4ooWj_PZMwb-hdu+;aP?6+T z5hFXJO=B^%v&z!L=4!W~$GG)zbu8rsq7yaj4zG zh+PM|JzOTcds;|}-ag1VSko57e@HL*VB(6Px_oG6bo6LlOxusHGqze!5Nvu1%xcUV zXhSzJ*yCUq%NIi}ST)aT9f8DfdGh3fxQt%zcyO299zS?t&eztp6-}uuICTZMQC3Ob z07qs^;p6nL^G;1lpVKX#7B7bB8lL$@&sTK5F|zZB=)W&wFy{~qTLW0{&`hLf5Yw0a z*P!)ooXoFGyhnVzPQ^E-RNSRUL`&3+5$Vb$ta6xwBJ2*%`Ner<01s`b(qEXvsShAL zX#y1&p#W34xvN7l^}bNsLZTN2HX<==VU!T2B)W}8QI}2GYnCEijyd{fnEUt-+0(MF z*E;1_SKPS!6!zuuD$?c(Z&G{BE4aN)cW(pWoKyhQ6s5bB>xWPh3#QX!%~LX`5^U0j z&tPK-5@>+>uK;#%e1~d{O_ccytTwJEq}XE@YXs{xqAz@`IxVA)%g|v=Yi9WzAzwr= zJ!XFirTP5RO`eGjK+5X(%+(`nMxuGgR&+df~jMi zon%LwBpFggRzra8p(S{zytrEM4mlP+gE(2Rb|{N{7WcUit8y(gaCx#|_{NLvY65+e zo#Z6PO2>QX*PCs`Trn{A)ZwZ!9b-A#a18PCiu+#`snq)#Xui;5mX0{#2{2lE>BM|c z1#>M|YsLBml(YSgpZ$33DQ3G6H)0!l?5XUGt@~(JojA0%y%BqQ3Ofo#a3vuT;2 z)%H1j^_KDbcyB;<>P2u9po4UvtKwnLKlIECBet7)eOv3Q-eN`Q;M8JaA$EqZ8SsdW_-LAxqbbb{w5cFU>(0xz4-NNs9PJ8tOLVsiz%>whrwM6P zO}`Fxs-yAkJ_zr(g1P7$mk~#=*sWS)oCXPU&cgF9hkd;3z(%LrJKFk}M6SnwndT3{ zd-?a@uDE4lxlwBkkQ!-E!`s%Ca2i0kTpFlg0#&n@WpqTx0aE9V1upKG=F85X6+xuo zHMAgdiN-7QU0rLyxQ@$%Dt)p9;MdM&_8}w*&BMUR4JlC+0sIeS@mM6yGS?4Vs{|jO z1R=IW)3*z83&*fH-CY~x8dg|;z18LnEv_=-<1SvN%MWleY*oJ!a0`D%wyii8Chr^&haYPbF47M%HN`F5QA*WXV2Io%CMghcNAoaI3Qh|d(;&k zH~A+mz1tpfKYZXsrw9aTpph{99~B3cMe&p7;-cHcZ`r}67)wCneEO##!M3;(OL#;x z6?qj(9kjvVyfCQz|CDOg=;7>03LJCR!R>>9n*9u^`S;-Q73`|ZwkPOV#U9~Y=lolZdv8_nF6d2^vLK0KML{Y&}qHJ z14P4zjV=gI9)P9-SB<^IM?OYwM;>!?LQUyj@FRub-74Xxm}@9-hFbsQ=&q#W zq}FQkoqz3MFWRJ8>Kru6g_Liw}kb}h}= zdl{?)!w7l(NJa5~`VtV`zvdVyJVua7Lur(E_|I;^4`gXrkhoizs}%uR`oORoj|z&y znZDx1!tT3T7x5$_H5-U?qaJZ4jC(n`+bW|nTiFr7ESeqo+n>?ac`hV*b&fkz@3@+y z1snP3|4*;akOhL->cDTT4!A>Wv^TbYxIg>R$EHTx^TrV`Aq4p9g?jv*>zlAeGH(?Cw=|A)Y;m?2J28XA zCt}gJ?xh^|^-Xz#iqt{%Fz~c&m0tWBL}Yh`ka`pRI^b!BR2Phh;erAqT~9KOng7P` z8EfV#G*D(Ej`xAc5zc>ik+@ZMnaBCZvi@Sq=(N`wx;KFl4$Z2V5)edGtOAC1ZZy5- zG$0dPdrD(ZQ*^<%f!qeDHQ36$^~wvZ6>QRnHx&)7Gt6)aAl zk=+|$fNhNun3FV{LGP)b-xjYu6T`0uF~Pm^CjQgcfSnc|K(l1{eH>DEtMIw^8XO z$XZ<=#>rb>N0j{EDU$O56HoESCGu!p9KaY7sgS0#;`tcD!iz&aTLaFzMS-^UOM`YzDlUJ> z7wIn?(4tu^GY&Z(pDSu2y1c(?+!Xow7Jw`_YC7pkF(l5?Drg`%HBqoEAjQKEa}SUX zZrb?XMQ0_r$NHlS-0s$NS@s69PCiK2OUH2sQVG83>LH z-$ToQAtFy1fHuov)H;O9@Q~$3?En@^4^Qyn=eCZht~A4q@tVouC}*@@lVl52N&9JO z0=f@~9S3Uz1vM@RI)Cc;FV!x=yT|VxgO;O^8ijUS&%J5z`MJMof*0~Q+WC@Y&gnif zgM~_R(%zfDnn2d3%+lmX^I9Ufzk6t|OJBe1TkPfX#CKuQ(EdJJfZp0)pM_7siajgH zAMH1?@I)_jOi&l+PUX$S5j~Sh7 zT_a>Ud?T0Ijf3#e+6(U!wQoh6-dWPOZ|C!OoqHD&`1bcjosAZ}GX_{ zH$(fr4X_rR|5zyDqFv9Qa79X&lIGxb^mr(Sq)3h&LrZ42&1@FVH3w0-)fqCl(tg-F zNbU@M+5?17>#XcB0f1ITbjx1g&QewUml1nd#*H-)UhNiV)mG|PC6g@S2sTMdIi>~W z1iw?tu-cfW!DNzN^A+u+x2E=tUL3KYX34A#&1N9cDOfnkifVoZq)ALg)GV2Aw9})~ z&#NLRgr=~sy_dmqg3;lvb!@{naAZp49^rq=wXi`6YbSdrUE1g}l<9xfk~{zz$~n+a z0^ni5het@qs`$~b{&M(=?8+1=O;)!r^28XZM7#SjTp@0-3PLcwZk+$fx75ZMu+WTC zUc*tdJSrOb-o&>(X>db}UXb5Bc9Q4DZxU}KH*ApR@YWlM2!ICYq@0VOI$%qK`3YdK zp0R$Txu4V@`-2?(RlGnuT`cd=jA;||^cCPE=0cyl*b9rHy?*Zj>gQ!PE*KmL7yYnv z2eX5nsABS!wjD{$jOUKU-MvZ4+SxE8ac93e@_)V<)LD5&(WCoZ8e_x0oX!zqYkLVv zi=?C>()2l@>+}#Z8q%5;+TQTLd>%q6bnZHmgO~25h8==mOO$pIN{f)S`e8c+qSQJ1 z1}uhFZ~3X-Zy0c{Jw}Htai2UG>Z!*HBGu3=7I}&Wyq--}lCQ+jbYx3I)7$07_wHIl z{g$oh)nTI@SSSRDv&v%1AVG(y!&QX-_b9ajf%*vt_dka*tf**PJ$L5?cO5!SAldqv z_0Xe=<&Hzipu@uzDHm$qouX;>NAFf~8x~;F=?=xf!uWBQ5UcghS1gRf3(ZuW{Lykc zLGFVkE(rlPR5W5zuVQ0ePD%>wsL2seiYI?aBEkWd6JR*Ed$EzSQrxMi{y+)oC=2o@ zYfhJxZJloFU5n!mx$mk1W#Ha0ZQgxf)Nwi zrm5w@%`yBkY1ewm-&NXXV=xrro~;a^9%9A`hyz%tUFGF%^Xwj+KL&bvRI||7ePxk| z2AP8Xdp^>u(lM`VILt$1wH?u0+~x|Zz005J0UHOiNI|ZjaFYTBO$x|19#fM7QV9Nb=>}yK-2ld z9-RH%16HDq>HbB$`F0@rR?sGwnATtKM9w>Sb4mkgT%@!BA0B$Xm`GjZBsb31>WR_}S4%`AGgsChh?#7T%s$oxhgu2OW zWA)GFBcLpvLX9aM5s;zWCbHCRg!=7URc@41s~CDy3XYBUo`}S&c&v`$s$;@0lAobs zO_ZmP^Z^Re`8!e02GXkn@@`n#OmwQ#X*Q9J#(>U@)xR-FoXQx&(UXbR0^uyQz_U=y zIeaK4tbe_+IBl2&D%=$Hj!Y`7(x>-7NU{In|d)YC^{O|dXm@o z`)*V#f)U+-5R;+I(A%LKkf(@y*D8RTI0M8p<_W>2q#?a9ELj=E#%rt=kgQ>Suv?PR z+P+TOU#5z!=En&)OThwZ!@r1QfV|fe(+G5~ckoKn6Y2p3IcIu)94YsH21BF&}r9_Dq!g^^+pEY0@C(!`bd%D8D4I zdMppwY#l?T+(m^RFMM+;&P0{b3~7>RSQbT3xcYlyS=5M9@LYObZ7&q}6(tz36M=si z(KZU_+n1nO)qLsjl6X2IkGZ5KN~pNKBbw4Z8fxzIY!i=tX`%wV+I8eL(Ja@EW6}Bu zq#~S2h6_o?qFy>Sjn+z%l*7ir)lj+IIySCUIK0pUS==z_YKX<4qYlbp&*W=W`!Mpu zzVg3~3G^Ph-QAmNYe0z_zgzD`H!uA@{<>2?to_tTFZ}#HwKTiTmL=cqH+6!}(i2f5 zx+N{T37&Mr5x83|z~YaHKMP^B)kZg?F9L-N9bc9FL0j{BxV~Hq%yiVl)~ZjTL|&+p zW@c5$zfTR!eYCADo!RNLL&19 zvFlMz7D}<5*H1_Se0PT4gA5Xy86od!m}HuLO~8OKLxgzm#0vkSN4gsGoedZGv@og0 zF>E$T5PR@k{Gc7CVVbGR7RVCDdDQ!ENLKNyyon<09Q-c(M9$Pht5FHv+Ci)WN5B8_^P5)Jpywzu3Iu;DDbu7h}td_AmR0N0=LjcI&- z9*6FZ3kY%Nw}o{VbbwU(XR0SxAV1JlMkmMI$@!yA87D;~@2>Du<7A}uI%H8Cdb5d_ z{2$8&A@qYKX=o`S4oPx>qBQuKMgGLunz)i|f}JMfarryc$8;2tQ33 zRLb4UvDw6CbC6!#Nda1}5!x(=rT$V|4xru;Qt#8@BbOQdiNGBBiZgZlKcK5(UKL<= zjyZpHR#i{y;ZO2f1?(*VLu#ktke}TB&@Rs7J*vv=s_bsM%j+aO(-*+ORDRk6UL*<# z)-Xk-RG47IWV{jn!TIm0L@{#RH!N}GZFbV>KhTZPK6>gZA?@BUUHc`7UrP`dV~-+` z7`VN~iO!_AL2C=c%>W58@^DpT94nKT!rXbW{}5H%Da+}g{gw=zziV1Br<{G_J?i^6 zXz87I&yw-Jq-?J0ct?^&EF63ac4Xk+QYzKC6_mQ0;cm&3O7_QL-&>s=+rO~COMV*6 zE%zfkfbuF^>jKb-UIS#k^Tw`35vIL^=J=t;vp0gxbOq6W5EFL8cyg0J!v6bk)ShynBsba}gcGHQ9R$0D! z9zh|J=}Bc-%j*_)qjCuU&@lUgdB5U1J)ZGWjf>58mXmU5`OGzAMMPQHwHnN43zJGi z4`}|QHM~*8!HPQHE^J%r6qn>Aj=F7*(~sW|*&GOEl#bY?p963#cyXrHDUhg=m>MCJ zJXVF=yTJP`_E#|&s~W@!T%riix#`zuxv8Om1T&Ie@Ox2L1wmpb z-t)zcZ`x-ZG6MGqycA=Yr(;hS< z!S7;l6TmPDaEVv?=+(PaElUP^$oLbk83q;W_C$Uj zWE3XloYq_6)@HtPq(L7CHk0Ds9NRzmIa{8G%ahaD@8Lb66hDp}PGEE%p~Azg^nKBY zAAh^0HrdN4NeYZ!$1;e2g8WCF0?qZ?s>715oqDc8(;itt1s9p@yUzVSMI*}E6(tgI zxQhXNJI@G#?}RdU*aW=GW-c&Kr$2BuBitOriVl2%?{FN(r8jxJTUd&}>g_a$-wKt5 zIE%(tfONmPu@D`XJ83&r@7+U4xizcH3INpgt>|2p-~EsLNo`y&jO*d_Z=}-P2XH0l zqI+?5N`KWY1k0w~OWO60^x1Qla=e4`wJUeyKf;Q;p_fF1^4JCr>R_%xdiIKeQKaa5Mu|{ zov95rVPsK{@|pZq2~m<-mOgzpGRt_uu8fB}< zlg?Ez&^wSAkPheb_ti-V0GDiE?QOj-IToy2FEb)I`U$Niq_?d`nfN8{bMQ~%!v%A` zO<%l;o*6}SX~?I+5@LqyuJ`ETce?3}9TsolYZ!Ar@0l}*wyVyUa@XvkPUz6PlaI(m zC4t*gZy=X^LL5PH(ueCBJKy%X5fTqzv)B;gxSJhu+85gGIQdJE_2F-p|7t|0EX-WY z-MDu*Y<`j;JvKwdc$e!A2*=cCdaB?K?OI@Ane*?1`raKhy!%h*exc}8a)!@#xdlap zrZ=oJiC_&chje{k;1Z26vp%L*z@UO`pXBg4HkePyY^3~AK>>i)gpaTBOUU|R@joaq0nZ?UpRFnOmQtiVl|kwqe|qs zIdkNm@mxU?6qsj^{3ZP6pPD`*EowQyiR(v}rHC`}H_2_oTBF$MEo`(HIiFS%x8MD8 zKBtG(3WeEEH!7Dizn%N(99UbitaUa`vKBuBW!klWJjK z7i7sTRGNLZME$fk?+8g2ae@~DaE$5s65eF9DrvgOB9;<H8(c)Lrax0Iymg9x)Wq<7k=r(YD3_a%JVMuiX zK``mOVk1Uqa6jb9UMEmo&Kr9_MwU0e1j2CR3GwFblLeq>4XU#T2WZHMW|mu0l0SxhCol3X!`6EhI5~N&I7q0sQ%y8BC`k4nrH*s{SfN7F@#); zriuc-=AycaAV$}wx4iR{nu1W^N$^<1LftgV%Tt>q93%f6{Q*cOcQ5(9bB*J8RV%%> ztB}7Pt$84|oYQnaRJkNIFoLnebbZTsZ|I)g!RT7Qi9BB~XPgmr=YLDEhyXu8z`ulf zt=0qDA*`?YJ4??ccq+IM2f}J)nsZ5=yMwqQ$t>6ZGZ0#9tHupejlBC%lJ9OK6-%ai zxt6T%BA%dkgLon9ZrCUeU>r!^o`6Ll!?bnWSiiN8np2`#)gU!Y)Q(@NU3=2wX#Nq+ zo5P6X#kC8C>@tTC6<8xS1qZ}^ew#(a^yT^jQr@DjC=UTGp2I%GZ|b0FuWTAdJH8vd zUE@=WbtvtcZ_?z^fe9>4Vo=Bz8q%@>)6=3WHI@Fs$bj`lu1 zW2bU4xkLU=+Unft>BVien&?YP!Jn#hItb9XbQb-;@PCG~lVBef$Xn=kX6{Bl&FnIBiVS#SgO27nWQX*dS_XR zue=)YHb+Z)*YCz<$Vu^7p(+o;p^+OhDFAm|St?ULv&-G>^RRENiLaPTz3FR9RRz8= z-UtOu%&3>bS*nn;3|yIrmohr&M>+{)Y=N$b!9r=OiJ`po$r%9?TA-EJ5+#_ zU40+;S)8Uz-%14%ei%N7FmbR`QI5$XRITv;PdY-o4qD3HIg71B@4?w1u>GrdTx$UC zp&u876|-2vi^&jVdn(DY(!?326Q^zoRp_J6&hm34QerVl%q6MdZ)7cfQc4Xx+_zGy z>UUO`_t@e>PWgBz@p4b`35zD0wFdtZ>9AgBJX(vroz~um#HY?H7}Z~8+0HC*egtb% zW<=|JQ!N?tu(m%hO6a$o0F6kD9Cwd^+nV|tA*`yiWiL@@ z4((yA@tLOAbjREsSRup#$=;=2kImSRNV9T7X;!nJrfDWmEi2SPeT94?%EaW)09imk z`G zVZo++*3_HMl^Amb1IL$9m86F;yo2*VmD5Q6#TI(G=ip;b zL)L(q=f=uem}*SF4o(w&O+*}VWiI?P)vM%tjdX1l>#8^^IQQ)F@W8hl57IDPX&VZO zGu;q5+g|0R|DalHa5o#gEs-q3h+5AlNhn+7m`nA_g#i3l=2by$vb{KswmZ6gl^dlv}X%xkLYiCtS&f$+rn&9bgDL zAud@R=ApznQaSLU?03VP^w7B(ybS0=&1@Rd?X zDx_Y^rh)E3LRVD9m=Cfv%4bbNvpMb1-qU5K?aF)y8e%E%LBd&Io7*WQS&$tK)&O88 z;NoDZci$+qHM7g6C#ed-B49PWQshx=nV@!bNN{1cr;$a!n5O(Tz7CNoeD0wXc0zxU zPiZD`SrTw%;dZH1+3}>I9~){kMTi_}1qVj@bXC+S!~YIc#{Gs&oV*L5ar}sHDGaRn zAYRk!y5l9H&iZS?>p4xa7db6LlKpaNeZ|~%xsN@=Rmf;0^BTdj4+}kCgeCL1Q-b-F zfm!JQ6E>I6C`=7UZ|VJFqf)K8R5rVA$*5Gapm1snHQ)%77XizFQTgCCaGo$Bkr#$vG^3q$L%aooV~`#`{nM2> znn)YaJCWDfDeCKcz_adW7KuLt%>!gg)rw2iZ#nFG)fh2Uv!Afh1}5SYWx{v9bXSX^ zR8|JYPUrId?|RFTBIz~lMu!KY0X@J~8xXA8wR_LKu*3jo!{D2{oM$<@|2K3Y8wUlk zIS`Vsf;+byb&Mg?q$NPVcLeko;cmW+$ONa2*FLGXgdFUdX^#Mp)vRsZmkJ$Unfp0* zeE-oT3lMZv*Ys<(?UgJX&d6_1TDkoFz9n75tTRP3A-erivKheV(cu$rv-g2iqs(N7 zKya?fR{wazB-%oc-3i#8@_nojZ6>m1Lex4?Jb)XH2*~Wolla1dPydBT!O%qdieq}U zpMGbbrj@2wOlCG78&KUtsREFjqD!q|D1EN~r_ohHn180;uBLObg`__EG7MkhCs~B+ zfpvJM%h(an-IY!A!4$kG$rVf2A87oKc;Dm{O7c_{3Bt2fimd-+MiRcFKGDxpWjAi7 zGTAppV~p1o9o$?h%O}WPkd4JKtp_+hTho0{`{jOmU30QXh|i+ujmnY)aH&N%E z;3d{Pj?bQB(%ZJ-`n}@3Y=Uts?Srl43vgL7#BXrD>>=b>CoC@TRYd^I|Lid7GyHks z@fJ?;RrbGg{C6i*R?SuO2TJ6zLZgg@wT*}TJn_g8g}8q*$R8=}Qc45<3snC{yX8|) z(qESyI-`O(m8*b7AS+CJ{}*i=m#!hoHEln6K8)UgnpH{+AymryY*MQA12fe@9K%oZ zc_`qZuO^>Es`wof(&Yl+iO#`dRu!8%ry|lEjHMfAukyRdlBrF`*29tm{LMek5TuQrD&7Vln8kQ;O=$T z!bl0%n->ZKVoyt-GgdAcG#wVn?3nSi?4gV&k|a7;b}B z?{j<}9nQD7%zsl<{pZECNZtTB>l*eS6<~3H0dt#2SsEQSP&%@;XjH(0MXxmo*HT;efvgnVF zsj@m;SqU1%Eh5?fRF+?K*;R6VL)tq~eW*tu2|xbM>-<47ygVrHqQ$6Jas{F)&0 zPY{=~9fdgtomA*6UfTTzVoWVMUqAZzlrLo<(WS{>TQfY*k`w;;LTegnnT0gY0qHie z)XQ~G5_eMZ#de_5snA# zc$^**s9HHmoNLhhce6rQO_0>93zexDc+O0uDP1K2AS{b)(R7`g*-s*Qv$O8O6*8cR z>;W3}#Ak2f@GV)^TJ~+1#L`vWN`^X^8L_lhzAVD_>R=eoAst`JZ_Uo)8UHr|DgIQT8c-bE?ja%RXQB{g{wr3(v?0! zJ>imUozP(YRDb?btkylC&g@Y=+)7!B)fT}G!V&&;%9*0|;K^uczQSHXCWyjVeO9U} z*h3Wpj^JYh6+FdM?~Vr^fKg{;fh?Rr@vxeyT2{@&b-Wc@36{^E=+P65rD88z6v$_B%xZGf%c5?%3D1s< zJt3naT51t0bLtwm=5TIZOY#%LOZ7#TO9Mej*K zm=gclsfLmX-ZO;c;7C z0W(?g$IYC=_u=f#Cm|J9hHF=>5Rf*Lw>8gPr>(zd`$j;U);uoi0E6{TUkCUa4H@oA zx9i(K_ZSm;V^}#Y7J@l{ClgcenQP-Rx`Oo|KB(a(o-tjCpfDuacs#s75BKE;%6EWd zw1h^>+(P_+&e^OoG>Sj-6dK2>KC3I$eOeE3Bv223OPW7S=_i7E*G`d3`C#0#q9i5X z8v4GLqZ#T76-?|eVjIq3c{s9}kZ$18v$}%EqoY~rVKgRzzFVHIIBSwn=`s>PxZ~u3 zACV9#64%jf(|k(71^!q1oqx%X`^GQVyL4*Ocj5iaX%RXpI zrzcd11z80{2zJim6@Wo^&1ig9#)YgNlPB1Gk z)MQ)LtKVjM6fX^mmYX)aH2u9sI!9Gu9-l}8E*Lwj>sHl9V>3q66-UO2rY9+lBJoMX zlD1agM%b6sU%-JY(Iw;t`zo|C^za2D9&|<1SKy$YxSIhep&o7OK+EmJKq9b>$_Lsh z>Mg?`EJ8js5lZQw^8g@;r4b* zcKQj~}6`Uno1C8O5>tegqXFeC~L|-&)=XcU0`ClP< zLvp^stJae?UH%6ZGle$Utw}qbn>r>)8>s!U{mpt3$|ZlJ9Nn$YVaM;zd0mR^frDx3|B9k(OBKkmDpId&i+7mYpY`! zq=!duFo;tM{}XF*vK4o&*y_9>qoCklQ4%c7|DLb4l3??IBNP6)=?`aX6tkX2`d?V# z_Vq<9!0LE9C6bH1K%qJNX>=~K8D)=CV^Qa^UOI)umNY!gK~dP?#P^C{V=#QOYhU4o z;jRibEC!bxlz{$!AmKVZQ@b+tU7EwNm<`n)PCLn4UK&XfJ4f!8B1iAjUL9CyWC=q) z@@!+U>z!f~W8*GeNnd-X7*tSb6UV(#^EMa-*#u0CoxnN5l{a;rrV}S(=4_Zn~?ZY1^nuPuL$n7_dewf@DVCH<+x2Z zMfaz+3&!ZQ6spoQ5SR=ukxPtlcX~8&3r8(4Zr07N0VFD0Ti4w3D?&MHeWG6-ci5`2 zsJgaXnd<-V4(H9Az8#Yg%G|1;x6qPePb?Hj!+IGz-E zWr4ynBV1x#S*z<8yEHU(xzZm&UQ9erDOAx@}b7QN$W*Pb+ zwZfo-28>A?QG5e3M!|sN%w_Bh-C;bUfLRgHFVV`zOk9bJfhFx);C~d!0=F5>TbDro z4jwE-T>%7aGj36g1Pg77kGUSmmF)))`aelrIU6yDKbl<&xsmTiRuvDDOeHVHp}aXk zX(J)4Dc$S0k&|2~26NUMZMgMfgzP061`P4*%x%)C@U)m_8cT5UAJSb6rs(LKqA1Bb z2$iQ$t6y=hb%eJbPl#aliR{&$Bhus%n&ybQ{-~%X73k4;K_CtBxS&oT@&dm8U39a%%Xd?>$YtHU?0rg?RP)4#Ip36FccMirT3>I5F**lT8_ zUlA<7>4tvoEmNHhDm?N(z{fRg3IVrvt8Ut9tcao$_>pfdQW2T#WxUTPogRsoaTF7M zDk>^~Lz{!WEX!I3x5*C--jx{nk!+P32u3!t6iN3}$#GyytagshOik`p6Ezc3G zw*L;^-@>=}Fc5Q|9xXfK$_}0)h^ROoj=B@SV{Muq)Ceb1g&gI{245bR7K4#|#&@`MQ@&cBUb09 z;48qyR41nOyc$>2PVI8Sf%6q5yGclRC|E>0y!IqVz{{KZi*up5cYxFSifNEo*5T^w zh{l(gE~*3|)^$w?pK-z>3@36@=Wn;Ack8eN+R|XAc{tX2K!`hh^)I01-dsv!S(i;* z`0Cj8xh~ky;|lBdl|q&Jx%ryg_%uh5{*0;aa5}~zi1Mu(zOp2dm>C)Z+hZv_XWE4i&{SZTM_iYU=!Lf3GD{_f+3 zkU~CY(v9?f<Do1oRjP}rT`WT}!bRewPH$(}V=+*x?UYOtQ+6-z%_hlneIbulS5v+sRtY{F)|3p>&DM)>-*q{xKK!>B^crS$`Jrxs&v$UoL7V@Uqv=FeJeD89;lnTvzxoJ zGP7&NgvuyT=ZX~qjT>LT1^KfD%q5=b`6Z4`;{lCK~Vit=nW8uNn0@KUS4FyS(f zcckp~XKQ8IGHw|5X~3M8-ex|XL2 zWzn}|Pp(vuuxm0RdD5}}WPN!p@um1WMLBo4b_f8~lU%iRM^RaE=$z z_7!oB3|W`{ew_^tFV;_WvH}an9TBgFse7?(T6ajLx)qR}WB5JiU5T0lEWmE8z*@8j6mx zsLfq1#*6G6V9yLrHa4 zTONoox*!r!(~U*JYOzNICPLp(|7N+a-N#vSLtV2w?Bn(Q_^GvAf&km%c+sav`CFgd z7wk$@=KdWZe*4TzB)@Mf30cE2YAR518FJnqX~_JpNUEQWe9{eOKT0demu?L1=8)r< zH8WM3l6CC;Titao4g*7-77Y-Ad~1Dmb(c2#bwDka-*=tazTEJAVj|!sedvGStiT&D zuBJN_IG2*u(~ycfPG#fX_8UvyVK_8_I!klU&PD}D}mo2Yc)~pd# z3(s*U>5qdvi#tbB!f{VYDTiANw0`*UXzO-mKXOy=Df

R8eG5QYVS2xPe%?vpd=HaCAi1d4GKQn(C0!JlxYfeviX|7^P7|RSetiPYBxwQxz??4oD=Z!esqlpdjfP0lsK@-NPTI z)cw@kS-E5@6RK5dS#tj-0f#ryQ27ym=!B!M3`Lo%xhA__dhOKC4NsFjpP+?f8HG6I zBY=nL89pKEW9uhq!z?_ur!dWcpuC@uUMNNOhaogRW+&Rz4WCK?=E&9elJ%+$B^IiJ zq_z-Qm8_m11iM+(fW+U>-F@>`-SEC__+DVwb z+d3?B1*%`~MqWB?8ef-O>aOZR#fiP}k(=$$zk$7Xo=#Do+r)~n<&aF6H9{D2@u3-j zi}`WN>nw2AuPBv|Bx_Llq_Sb>eGsPH`6nD~o#R#BjI=QWIfwyBE9sI+4>l8w33u7} zZ7GS2?0&PjNh^N|3w+dtvL`!0{;+;&vC~`z+VYx~b@>1*^O`+L6nZG#Hld8~Wi>Sy zW*_#Mqv=T_Y5{3&LXt!3gH@$M*^1H>c3`rQ?>n+g9SJfsr9wFvY;S=wW7uz;g7&d# zuW9p?rXMj<3M8F)%@_zryKnOQ@5?l#VYQP_Lwvj48IDIy8jTkD5n3^3Gvs{eAzU#tsp|yH6JBtRp3r0Dn$>Z z7le6Kq~$tg>HKGqJr`reb&jKXzwt5rLIUiADXi&{Jtj?pgMlfo_fQO4rVYah{#gi*=eaG&dh)37wxY^r>i4K zE0=y{1{npxOFt<{WrOJ6drNLw|MuTb2Tt*Z+S%Bd0U^9!*saJW zAFkEEc#Ie2{Jg8n3Q=^ao}tnVP_Xy4u@TludqIVDi);S^z>g)J7W5jp`m~P^PiRI5 z_1UErQedNFYD7V3=rPWIu&iSKPN#D0occ2)oe_C8hyV6M6X)x_w{Symeh#yBEoO>+ zlWZt-tKq0RI=GwFa%Rb;%3r_DF3{YEBkC!_OCmF#TJ&s*%+MWLk6CHgqUm3)LsoMw zz|XXS1!2IZzPo)F%{5y}zHkR0(gsB7xf6SlHkw0RzS|HP5GqL1xa)#J9r&jw#kD0# zlSl&K#)GWY1-i17^%ABB{CN8RHZpoN|8WXDaZSb|#PRGylQHwJ(bk1?#RL2o*qzj>gf)+-fze5z_0 zBGWYtMgvKp(3qw=FomBA@-r=^Wl}KkRh}rT%@d9BdvSpp(T)dW0=L$tow2heX=OBF z=J(UzYk=$j(gopBFg|zBF+zBB)g_0gAd!^_{ML!F_k$o*hacQNAijLcr$>Fm_G^D7 z(_{5{$2xfPW3OP}{q0;l$dNq#d@Lol`IXM1saz03*(z@JHIbAX^Y^^Py{1~&c2D*OUB)uupEVG zAq*N6N!rxCOxNHayWReV8#4fpBpT#hX3IhmhPI+qckSz{PD_BOTHm3jS^TJD+23X+ zFz`X=H28#lg1wZZY3Sg9FpaVbY}u=p*5r1UuK{iTas~yqEEGfssGnmT*Mv1 ztC0+_y0&oo)GY)oaa@&ANiqMHiv3}$#JrF=Nho>_7Z3S$!5*xwwj;X8 zJx~h{W_v-j#}r2^lUzkoQip(~Veq*7*8mdeWHSRLDV5IE<>i|`P9h0yM|-g47R;>7 z9CBN|UtD%BiQ!ftarIKXglB1a_@>uIEAr$cY9|rO)8hJ171-iUg5YZc7L(#+BA)x`@MqRRK6qBB0aI7*93Q&K163uRTh}wngWzm2xJ|Wr5IyL z|AxfHa+8stb(6%X&p0c8H}X&0x}FhCSkg5MDU@$76T=n0kjxq1w<9WVQJkHk{`!`h zrIO70UslE8Lwbd4LWP~l;aN{i_LRtcni*fb8$FN61%U-_IB#zz(F2bSovJS`W#{E# zPYN-zn4qeiSwg%ih$Q1e3ap+z!_Yc(@DfXzr{dLRX3^jEtfG&j)q8*R{S-lV-$-R) zwx79YOmF}zuG?m%+y?(irS@L^gag2a6#^j_@HlPy_nEo-0D9)5UK5sw?I)P5)u6SA z;s>0^Sp=6tqX854u%YKsoH?N@+5hd)S#p6ohG#S?_hn(VL=YTtT~EA-%|Zn~!ss z$poB6MWS7=x_ol%mJ%FX>4ihBw2-1leDd(DE-LG%*um`{Vn5-jjA7tIq^TK>65ZAl z4yX;F$Eo9b?#WQUZASK*U2Bvd5GK9Q6j^mO32xAX>pl0me>#FQv_=-f?8qP}rrqky zy&rfVZK4#>_l# z#;D2|Xz^#)M}v6cu(Z89vpgm>Cc)ca0H4l18#LuFImS2 z6@tX{jM+q>L3y|jTBnC4&ctK&c&~9J{C3`G#7YL)H&VZ@rlM9r-cD#21coi98%hK% z?qL+rh?*799#nRl#4-g|B zm0y#&z?OA3J%b4ptG@k!N65(SD=(@MncHd~MD^G95LrJtWRu0t8XH?OBeY(-f8d?a z|1si2GJqAg6(&RN$2qhd@GwuDh3XD8has;2|7YAfKubU&+3u6swDOgDbrMlE4QWdH zE&r3yD*G0dj;}*jOr8LZ9>jB<43p=M!JwS$*Hm!^r%vkk*JadVw1!aVX;2aXbw%{ zoRDff(8e=e-@MSJw9hmRS}l7Ya4E-CLw_taH^y@j!MfL#=uU<;j>77dG?RYL#^+zs z@-dvS$s8f}a$t#_4cg&Ffg!i}i?T*_`mPg}7s@~~cm|AhxCdrO!4C`<#JiSrgGbztBk-|d~ zJxJ-pZPSp=t?e55{M#724NWqVBFwL!oLzD$*A^x365>8wee}fU=#pFPBV)$DIR|}I zl~-_96+G*EBGmEgG0mN8sA6nk|L zeTu3t6B)X?uCz5$4}SG&7qKVvWvP7riSJLB%Iw8y*vbw3R8vUbhb@7XT6e-|0HuQ# z1YgcKh2gyAa>S?hYpw{Cb;=P-8ZHrL_`(inujbp8E=FO{f>{GS?uHtYPJva4jy(Kd2I9U(WWCz zcLnK8_Jl0s+%boD4hrYh-GfDt^Y0SOC1WB>_zYzq9Y|?&Z$j-j(WVK7zB!x-EAQc0 z@ZM?pNCD8?Bx1_mg=1RHmAN4~UWu9S@DeWHe>e}2#2+BHXbCPQx=UygCV^4yiV|^r zBCU4ACFT+YASYEwpBA-Am|v(ftB{I(BwrqawgbrlD$vL>fq<$3W@#Ikrbi?2;BGvS z7-tB09R!0E1+@~Jdo)HYt#$JDXz1xZ$AWaSENM{V_q$rzT&-hvi&o6%yc0=_1Y2$zU?OyGVvQmZ3iK ze?U%T9y;vIn(bZHgN-Ss8hn&me+1!lRRdE+ka^t>?I$d>gcy#RRST;)Fz-hiqsva@ zLJ@%R|uOn;Y+#^Gt%=JB1!3;U*pDtzI%YJa`J7B7DdF`tHN0>W? z%LO!(@LXY-)S((Jh|+1WbHya8bEU-{s2N>}w1bt?tYam8NY3~^k!X5> zvAWK!Sth{K&n3~3ij=C+kBwWO{TEeV`*_JO`@;)DGoa%@JXoOzxB)G=i)&M3tG|>s z2GgxY@)DKu0>`sw8GHH zD~oAZ8&mD9zj|+1ALYo1e$PAGdXfE-)=;ajj*Uy=Cb>TKwX@?Qi7!0 zCHKiq$lyqN4aC+Up#O;aaMh?WomN>uSI${L3MNmXifE1sD{uWZ$~Gt}bnn(!b_kK? zK+QVIXGHJl3b%(Wx0F4Zv-%F2T(HKiF&`pZ5D4>Wk_S=P`h3&BnMpG(2*klZF_UVP zxJocH!UclBF_H{nqIW*~xjb5@`pOO#Z0tPonFW`;$}q8hZ68C2+M>sS1rysfAbPbW zsZ7Z1ygnb{RYq37gtqV6J24-1y_taL{w@SUMjA+M#r$WS`NclNTNrpx=787<+E^lk za-Iq=J7)9R&3qb)V6sq#y4+pb^lr#>VJG}(6j%GB&!hS1fTXiN^D7sH zkAjSV+~@>+-j-5g>BiL-=$S&g0^V3Rc#0Lf?}wcIgbJq#mRAUHy#6H0&*Q}-g$69w zdpai!!5K!!Hh6zSzX#h{d$a?Vp|T;DuVqcYD3Ku1zzGZXnKg6=nY@SUKiNj3I9 zO<^t>rpWM2^W{OZtckrGi!mx95??$W`!c6QRvw_%7+?%ki*Xj*nvIrrRmdA@+V52o zYqAI~cr;F3E)^UC{OpF{fGM)_w9~1#gQx@Z+0?@5`*;@@A#iv4@^!}Tn5}m8sqOd1 ziK+psh=@RkH6I4^J0Mq}et#|*^>}vVg>QeprKn5_E$b;Q>Jz;1f}H8n2F@_ee9JEd z3>k4T2a$#2P$|6+#gl&};6JwVW*!?Tl(W88muE;FSg3K0#^44=<6i3AM<|~= z)Az;gHAwe0k0rX&xyR`=2WOep6ycf=`bxH`%JXMnxzaYWTR} ze-o^2bhYRPg4MAGY4=WPBAO*<)Z3(Y^FdhN>f+ME$tbJ? zX<>}~v}SLF$2D&>M{aM@HaQ-RE7Aur7oTV$hBoD_rsyAIG6}tgK!52}l*$vC@i`!A z5BXX@X7Q9tu@rnlf$zmCVVfx(x5eb&eg`6& z79z==dw0u^r8dN`oz969aSqlIkGkD8ftCpDI)*Mpdir8$Du_q(K-oa#x<@TRSB*3c zRu;12QMrw9$C3;Z-+5=v^-doGFfCKWDLGWp1P@3uV zBeeV40ZjMhh`?B=i+4XQj6}eObf%K~Q+NVyV(qjJWzxuz7w6!v%%d6UL@7^gQZCf9 zY5}+C`jM~JJFT5h9w}bm1W7f-pO^b1KJ`$2^Q(!rf@`bf&~nTHbI?f=ZBpBNu;kB8 z;GvV$zXr~%s?=G4MyTQ+q?zNTA@yr)#f+ENpS?Cuso%C)>2tM|xsgfBi#kfHq8lkd zXh$NwSBfOpTsybzK@SO+qu;` zQpL_uo&S^0lidG=;@b!~)^lIMam9aX(&0^)qLeJY{8 zOzQKo5bLKq?Ca5&0y19qN82nfC@K?}t&A6h1*nJSrr~|B( zXtPKN6&t6Z2jk!vlp9BSmvz~oK6B&@^X%+fI|&l{i|xl6-&3Kf zp9y7=f)oOmICTsBScl9arO$!J$+LFwr@|>*4WtO@&$@f8PAsQNVG13wbZEGY_cBaJ zyTm?#hW_CF6$bPdFDJ802Epj_@twJuDT745hyo&;?D2O}*`*eCQAt0TOR?80?@JUH z2wxj&>LDdOL#zgl+;bXL^*&f6K!@ulJdLR`L7tN#6H&d7#*P5#F@TE?z=vpLvzPUT zFfA^gYXnm`Mk{_B>Vd90x63T)l-Tf1B~Vfjx-~xcUfv$N@Y*-#%M7gkrM*u)HkGdj zTI8ttt?1u-NPlR7B~lJ1c#0y5#oMu2(g<-`pXoL~@GB{OV^)+O%VY-TfN#7*L7z!O zFqzcEy|b+)6OJVqxWknAvSW8hH9~93B*FS2Mv@$iad^Sb&(k<)m*<7E>UXx|SwwaW z8Mt%kl8hPLwr-&BxmX#1-^)oxB0I4^=`7nJ;I|4(hpgUZxCRD)c#h{`3(M4PemGMU$t){RfGso zue}}gT!#;X;Tj2+S;aEZi^Z@tSYVmtkOq;|;jR)EqGN7;!82xAf@-=J@nZv6f$9;} zu_kJHBh*Tnp;x>{x)2HJO`j}|L61dr4Vg+XdWMO&ebEjZ39BfPXx|GVYzylGWU+51 zFl|8;|5)_L2us21H$11s5AF4%oO{+`?%*Y?;1rSJqbTuMtufd4ZG}bdB&lhnC2=^f zw9=s707NQYUnn)f1?j+Vm#DBQsu?}N#P?NIDUvz7BFBmXMDl>9toJKi0C~MF;KwZs zE(3qTdPS_2q|9lzWjXHfV@+AwD7dZ*`f09vx8_>Nt?YA-ppZo)%QlqG@CzhaW=1sT zg0*G@Ue_&-^3b1PEf-Q}ZpC3A^q~A6EBImt!ACWN)veJZUn_ltz@zoM_c)_dR zi0e#92GEX7e95x=EWH0;Dx&Ax`H2H;gK%kJxp5jw_{>Zg6V8=2Dsw^LlyEg^mMs~d zD^WI*lK6qD%vK+J%E^(|a&uOiE$me1T2ck`8KcJ=6w1+F1HOejju!32AZYzuvuHch z=euq$5mi~p_N9XU#a&JJKku>u`VFCDy~iLX=y{~|ID74uT>IPfVv#G>N7evUY3(A! z#~Y!u3K0=lyFv^<_R*;#YF5|VLaC7-rN*H8;f#!(A7K3b;rZMMlUp-!mn)|1jBr*p zG~zzTeIX>cmn5sMPOXE5B;SE(6Ngav5=bbx%{y>>y8lgU^*fj_&{e<-9pD*f_79Oo zf=2UJS2!c|6t8=KC0orsd+a1T;S-$KY3*D}?MRIRT3g3^s@i(JdCi$Ab~15X8Bl{( ztd+9^PK29#Nj(R}Ql3f5KhYmQRlafPP`b=MvB(h$BXaoi7k)>G zsS2E&218M5kWL4dk4V@P3Ad5*yJ-a7X6kt=fLL5?$H=^+UGWr-B>^kl2Jl{2LCTyc z35Ud2yo|H-L^&9Cx4SC3z)EI!2;aBDi{a=keT=#pg0%LO`mp!_>wy68k~7Lxlq0Rh zd7frIfCl1|(T``uh1yNl&e;(m!={IA#PXCSG(Jhb z4VhKqgn-X=YxleHQV*FGLJ~&GueaoYb_Bktkap>&9AyPlKT(a5K$Ua)Jh2VWCnuYp z%Ddp7Y<3(6D8y;B?~z!Msi`cTwWQjyE}~+u<(Y3wuv;#Ifk|J zEWpXApgLczz$)yCC~8KE~Gng2Vr|CS+AmQXN6usGP1T6Ql0^Z$x0 z`uSKxl;9%xCCQUMcbU5ezhfLa#UU73=#>FOvj-n$J2dEr+I2Nl*WXl45h{k*HK7Dr zCYatnj3mYto0@(o{m~h6I|u8ETr=;CY1XFLeu*;S_?p2g#>$br z&E%9l(rTH{3Pb734B`UT`y5%!@wPwC9yj*TxnFVC)N|OA% z&FW-h9x3T;f>;}R#OPvU*K=Ih7(>wc3v{k}pE$ri0Ys+CSc|~v>{bO9J4B8LaFc*e zR?b--jZq!zJeofFowpi(32hg-fziP4 z)FR*g@#0f7-+Pss;l*Va!KgqN1H?HlI`cY-kNtpazMOUol* zi;6Rezp$EGRgDEx)GC(wQ75*EqHolqo!YUbQZg7+2H$?cIm!nQZapE>QBK`aLhCWAs~i z)(nn%laQ|$(1lG?_VSA?;&D{s__7>UyDHCcy6jG|qPsa8t`6H|ueGaPwOai?=id)<- zoh5Xgjo1J2j#JVF)~$7^X|H&AFI;;|NB7-Cy&Ned%*+4YZW((Zdef=Jl<(py{8*L} zdShcpIFlub!Y@a)p^V&?wGe*s>Pqdm$^oX1vd4A5w-;EnqvKicAN!y)j19|G%OF|I z!jDXN`?DMgA_Y2Z*N2U9gVcmd>WVF@Sd|CXqv#v1$8&(4m#%*N3iWsUa03-4if7)GhvRoOw$oMKb65U{$*gtgX|k5IEZ;)81z zxb{t4bUxq{dSX#UeW>kHRyE(KB=BCmc{t)mM?zvHw9L#i`>4+nL(n{?Ex+d>hw%in zx>n9k$_|&e5;(e=A}Ho<`0{`PQ4dPme&DCb@1OW?YvXs4M?1a`g!vmB5*%iYPOpKC zHZ6a`Mf6x_Q+3eV#>+gv-s-%I!>(A3K+~dyScY@(ULn$_a4=lW3{F*F096NvXw)JB z){ji6!pi4Q!~B6g+v9xM*0txHhUH@L2CLOl0n&&Yv^uFjq%T|=VZ|c6m+1q1<_{JX z;@U;#wt0!96rs9IoB&fmtiSWz@_v;n4yL)6(@^-?Y+Y+pyU*n z$Tso6iCp&^=*OD>q4@K<2-cI1ODj91jsgF_QB@~>teOP6l9>}V`i0Bsj#Cd#cU{$M zct9W|>(1Q6$p}_hE8QHe-)ri88KF4!8J8mOdj;b!hv@)qfhj%+&0IBU==XPjx=Hft zN(qj+j8FOilpd&L)>vuqcisH|*fyzoTOak}ncAsv=rM21( zga?QKYK2%dFpmmR4~g0Hxj9J`;ayk5qgp%5@u>6xbZzbn3!l+^gWpdL>8hcwBOLMe zYU7#6(AxpCO~@}!9Ac1BAEwka@WR>e0$iwGyA2FUCgH#~mljspVo?Dxc)AQ(0mJY9 z_a~zAwY@N%E#Wr&zl;f02y~}0j!yI1v2NoElEqTm2=fA5sj~x!?u%U6{8f%+EWtlN zAh~?{vYvNkBdpXT%jz9T2)yo$QAmZ1Tf`v zc0nA0-OrTA;PdBMR6?QEfxxt2@jF}(kyjRAAJJh$#pe-rY70kAc`T%x%!JEg7i<~O zW}!hrk7Qo5{B!>KNwDc0tn`of$Vjnsw#98ANX*^P{sQb=#fr__vu7KQ~Z+_JLlTq;n$sG3HR6$RV z_e`ZN_nAfEjO(tG$JY2~)jjMl;g+eOZ5Y6oedeMfYy~14jit=4`4YwOLX` zPYz@9md%e1^5~zcX_MJUC(U)-^ST~!B(Xo3xUYsKBd5%TQ{6Pc+czu?Oy)N3w{3z# zlL`qBDxH($tUpZgWc2mem$X{gh=8qoaZiWfiF8&x7U#+z*mhG3(Auo&ENER~B2{h8 znvb4YRTwO<-DczHyZfH3L?^-Msj;mw3+fRA9LIMPzQ)Z;5S1byIC$u?k}PryPCwY} zz(#JripPRT>dIz5&jD85Xh6)bR{P08(`VSMraTQp*}o!jyd=Y-htrXqPGH%q!R&qW z?9-J1gWRRE`;-Dqtp$~`b^`F4Q{^EM=f@?vUrYp+0`^m-SYVEGdINI z=?egKcj4Br@1`-xq^iL|8@3udvjV3O$pSF&-~a_o5>c6j(fPJ1I`peUsibJEZrkoh zauJHL8Mvs&6)kQpH0KzwNhj}XaUO@og!u(Y-V;r?o+UR{a;6*SnAuB%+kqD`^dyq| z#c?UJ>)oVZP`7@5mOvG(7xQLZaFmzdYDo$UF9fyP8+Ez*9u1Tko{y0XLp~lr{9O`) zD7zo4dmU~zZd?2l0*`;_0<05#DotkjY72Wl&bg@U=N&(!WIGq)LH^|v#NLAZl_#iW zb3A#qK%?fK$e1DrU&^j!N>a`=w|(-YT`OcOnl=97h-aD^Lfu+(TqUF=8xkTfrXuFg&l6_4Z;h%sE>Lzo zMk#&1I^4sn(agF-NsTrpzDXeyE$C|?ezTx`CaI09V$CqSzt+K5*iM_UW|a8A*A}d! zd%xGfJof_@Y z-zo&x<=IKzbw4V7Oh>PuaemgU=RLZ129Bl1^#1aem^CJy56ec1o|}d;Ie%FNBTC~D z+Spzp%JusON!t1(13e;Afwd%X$MW^+t>RfGn* zYS4B&IaXPMTj)`kmWTZ!w4;f{=p`-W(^{3}9fSOk>tvJ05e5)o(#NA|@ZswVwxAU5pMX4UA%-V9N$|-#k90ETNWd+Gtdf`Jyhyhi z%$KAvXZ>j=w1BDJrA5N8ct}w{*`dyN(E&YRMAk*s3Y<1+`}DUPaji&|{uUZ2zmZP< zJ z4swaKIvcCwJ}(qm*hlnOF8tFe!Pu(O#3_9He!frE6NPFAlR5P5LdCzHM16}#9@!kW5DkBEwo4j#`9CQll-WUZ7~h^bfqad8hjpTDxjVF@QeM|8X9GKe6xqW|W#!@7TGb{0P%O00etNN1A(meLEX!N7o zqCmj8u#&J%1RSz3*(ekL=^urpIY6ybL#kN}{)C~#)0y$(8cogs3LebuzaTwvF#oE# zDYb$Fl;5RO`{KtXSC&+V-MiMfOZ(UP3g-M%mI3-}$s9|txHRuZ@E7WF_oYyW(-a7h5N*f}r0*lW=aV=+s&y0Jt0<~%6o!=U=} z9DwQ|gcl}VJX`D9nh7GD%ED{S7Iw;&1|j$bLE&74V!pFDN;0n+zu@@pMoIBonG>u- z!<2^AZ_`LVetcUAJwMCCjciyc9+=*p^y$kMf7Yg>hT;z0m>R|R(VpZ9dhB8ijlkiS zq5`y8zL8RU)obpiXGAmMgwawebHeLtgU@Gg1Ssvorn&gl!Iwsi#KA$AdxvABq&Nf; zbC_w5khO3FQ@#NpPeYsKs#E)AK(g~W`rvJ1fvU-M<5?zCO}k@84UOui3Ondogpx9^ zWvQfSot^V%C~oI|du4XRK#FIOg%Gx3JG)wGg*$&lBH8*23arGG+sPV62~jpf{)<0m zP;i`q!o3Gi3n|cvpS5%XRN2eM-G^Qh1&r#;i1BKP$K+3jojQj^Di`=k_96`Fq<4lv zOfB11zr_DDWUxE>a`bHXQ`x3pM^g zd|ImQfJ&|}-;Q8$>We?!czYHA&~X#vg$nh)2;*&z19Ccgi*9?&TQG@l1~ni{@)3Pu zJ_Z%FSP+Esm6>AWj?O(B#drI}>X+FxEPuX9g)Il5!{K)c>BZWWDlBS*E%NJjgtcO; zhISV(e)YMMu=97|m!;w&$DIJr=pOX0&?{)+l;DCg&+TA;YG}U;4Kl9UL7OxTyhgo> zG8Prt#Q~QsM03IMol@aH&P8w6tsT)0U=;lBK2s8l?!-VP<G47T|>UJ zYH-_oGRIyj@PIen%2ntBz8Z*zd!-=Bp!{kG4BRv?_pRwfn$;>^&Yq}g?d&Aajp(Z3 zT5kX}2T!*=D^t^SYmhoy5%RYm2iQt`9z{o#m9v0aZ9Y@@=t=3Nce#TG08oRLt?3UX zdR&_qh(X9BXB)8p>$q8IN+>O0b9`83=NWqIta43N!<;CEelomx!VtJiNe<ik(b$7rKeyrC-El{Qhl2XP4Eq2fzfZqIiGwXS*`g z5w`-XVVPsf)i@zX9iTeC3CkOL^PHIaWy+81#Z*`bz>-?Bf|>yeSaW8-O8Pnw&G7tV zfZfX9T_z-RaGsxF`zQ=T-BQ6_kc2FUetX&%^NWuN~H7UFCh}R-^#SXo%pfn2IMhW?9-tESeySi zOqG;t^jhI8-wbfTadB@sB6g2??()kG8pXVl0&7Oh^o5@s^SG!~r{=9-I-^*_-dp=z zJL$1+B7ZH^Kvh*<+W>r90isALPTnYL9>nwRR9Cq#ibs#(C9EMbzJE^(I7$yMv|5J@d%y{c2Z%2-!&lc(NJY!Jezw`)l{ zG+{IMW;>*Ypq}mUh9Ovr9KI*g8~N@5&1kCL>Y@`>8wB~a-ske#kfcH| zrcP>i!pTc?xXtc5sUNTKSOHnCMyd%om^AqPLFf9+ zQ#Dz^Jmt)GQdUr{MhG0?;SL1L_h}vgYrwN53*h^nt&u5{#C#KZ^4n%SW)q%J;ldP& z!ZRpGPFP*JDvC}Ph}W4##NX)j_-rs>mm)2{|K~&nx9@e|C{b2pae7Bm>JKB`#t4ze zQO`lf94-2gNvAVsDLIhRKpv{KPt{toRwp$WxZ7a+=SUnE95Mbcs9Off2=3d^IHBV)6-|#OtIXeyB*{et)f`b}Tc70)a zP*V=7@+IjaY8@Yip#lbnPNQTCX2G!;FL8u96ThR_e#9bc6$q$;YC=KH*nV% zGNlxO$`;7s)Z)>5b^FZ|ZluQ|q7Wno{uj7I2c3RN^T3-Dl8`Nv$^7~!~gI`1wxH<&Qd5J9{I7XzfEfpq{7=jSjZtxSB|TvPNM7f_Ft;p z0Yx)o;BhLQl`X(pvB+d1hAZlySZ|rQi`&LxzAZ>(Ociy|*H#R3-Y2zV73_c_3&Wh2 z7(`Q0TeN-C4f?O~?eW7H4r8Z|Z!l*~$4a{PwYxXc=~m_<(G?2PiBZyHbpxh5ldybYw7a6m^u%G%TU&~X0Fvp3`fGKHsjq|7U z2DPhzl&e{(5jOykyWuw*abf;M40M_#4PD?;{impBZ_g8M0d{4;lt;wg$T?q+m;#K_E81fg#?J7-YNPFEfE0%^}e^iOc`@F#T# z#s5FhCf=-VT7JgdTC4U;Gr-2@L1A}o*%@_uU_Zz-X zt9DmE)*wm|9{xsTN~eW-)U@6_!GlOM1$Hs`w~2sb@iXJEYQ}2?oOFM!RJOJ`51HLX z&N9VJ^h2EKIZ+KmMX@dfToDo+Y#8DvpSPqUjw9+v0a%2Ipol@B@1*{C%SNe0e<_bi z-5Q{@tEnJgJ%4XM8e&TY7o!VjYn))>N`?)Oc5Xa^KOE9H3C*s}1%NI_d4BbmE->=w zMDHzdLEEIzMbeOq6E_(bPA*C2KwP$SxM5fdqon$3W7e4q;4@|ydUtk3 zfpJn4wvNpNvV6!{I7QOvI`r8nDkgL0443)dW?kZuU66wE0NZ%hlr%YeKgGwQ3D^+Bh`@ZwMBk1yz=z&R9nH`FlB*N97*L@;OKz6(MXP(l&d99ZDQ&{W+% z!2Nv{HOd6KqK&-cVL8!Rssx8_wFe{V-Cx{irT&s`C@wOgJ4k?`t~J_D$$f_9Q(w%f zhc!AHl9KW}z-szXE1jhsZXU^z$J!mi>c$8%`^@*N2jV5(y3ed@MFqnr{)miV@+ie5 zBJ87{>s>ZNHJHyAFl8B8sc)G)wcm5GEe-niI>p4@kvF+#^?t&5GatZ=EcQ;1G+`K_9y=A=aC8{>9`i>^!^hJy#->XfDV>EdlXXL_jlcNuksY} z@t+Zsb(qhr=7YzkGkiBQM+(iKZU@9Fou;Q0kA6LaeiF^}k#Iu0|AskEip5Yd0{bi) zq$lP&0Q`jFk6M~9E(o#=ER%3t=niOK5S__nY}}~r;3=0|@Mn~*qqMYoAKbIWgfJA+eVvq&ABhFG&9=1lZyS1-K5$y_PJU6J%@|qhsxu70qHh>Zr z3JqTtsuuZ&ia#s7KWpCg)7ex9s3Q<1$#)NxdgtZcxZjc4R=dJ0q3TYJb?|9VLdt8| z7O@gEprM6Akj6l0@sEdCkQ{p(1pH_D)F}+7g%!-Y|4<$s7A%`F_$uLW$&7s`Cn|{g zmwSCo#^pU$zBF9mLz>oyl2_+4H+Mp%*#ycj5wEHQ7WaZuJ2T$GBz9n}O z#WIl(9Zq=*n*{LjAbZ{FqjB(QVBG=gQUjltH1&a>t|5L1VKFDhzG%xy33+OSin>46 zc~^LiQwUBh{OVU6S$;lR9E>z50BxSpW`Jukp&$>bfrG({pZRhNnHfpYQYymQAy6w= zt;z+?AtbN}Ih#U(v*hc@Tseh}es}NfC@zX1fMr&EvAOuGGwNt~YVZ3ZVRF!@N&;ds z;V;k%^jhZub)}?0yn>xomj!y%4_&gFFb+0~%96|sCv`A~NW@mO1jzNZ7=*qLe3t>S z^RWy9PjG^^Z6}O+Dh#PyOqX^Fbz1ER-sdYAVR8j-LVEIP{vF_6&E@AUDzYfOJKg2b zV(Z(gtv>NmTHH_W2s8h%Eawx$bo7@i%UI*b_>#&vyl^$So(dCLf}V`FROO$Ls;MQ1 zos@)`9_<9VruFr{GEmS6KcW8$yLI)`87;A%@-y9>Gb|oo2BCkOEV^fKMx%Ucc*$yGOZp5b5?3@GH6EekI}K{<=?~4xFrcs>qBmxXU4|KP@Fr!L z8pw_0sbOIp8T-cKzQK-fcI|Q!9x~RJUe58vj$OwnFoI`*?a(JR4}Ze#AWs7( z5k%o;TP)blRjzN!RvBu8$-F%;H=a;8P^mVT+CwSJK_*A4W)bhhbP}S#Ce$>XfG}JD z(m2rwdh$5Hx|W82y3G{s1w_oWFm|g`MvsyeyhLynC6?T`Bv|P#UDXvjv&V<%w@ZI^ zs{48+Zvl}%Z}J=kXsy_WJhdoZ?SW%6?y)=h{0h6$qm`6-Hp2L2P@g65n$@YD#zFNv zv?PZm+CCM06C2a|>-WUVS-xH{{#~mzwR-{`yPB0rg+aw*76^v=!{bOMD~DWo2}}EH zG6icxXY8)lU}*Qv_A=bY>eEJt_uJM4=oz%(4K7FmY(4SVw?RonaG+Wesf2m&{pzKW zP#9kXgf^}#Af65*OLi#4LJXXgNwwYXUEUasp^M8uao?g&gKQWmzzVK3<$IrER4A9v-!}>@Zuh8q9^{1SD`+vw! z7XBx~yiVQ28`1htJh6O~6%Q4{PyLzVGE_5X6A#qjRx0`lflns~6t|l<1!f^!RhPsi znMS7hw`EX;3pp5#SJ$?AB?*GxB`%-e~o-s=As6+fMSzwAuf>0W#duK0~KDSN)NQ z{|2TwW>#W|hniULrPnxBNd~J^{yJ$YRUDWF7FVA7l*MxX1bbe_phi8y*F) z=Zp>j0^le;((j`J!nhQ@-06J5H)KJlz>7rg$nRRwaP98}M)xNOs0%IV&n)|rY9MVP z5u99G<2fxsf6f6TP@CLxAYeLRboDe{Gx)VUUt^%FCC(yicdM&)0tl={G!o~rT(wKa zK;x=)=x8_F=*)i(dpeI-MUMn$k)QSCSSJ7M0D zCt5=yKk`>T7j{z7!PI7Iz+rc>u{^<%gSO79&`ym!mE7&N=4J(`ie+NnI>qSw-5+UG?&aRSf659wrjc1@E)|iI%v(NxnK*35KK}8y> zo>D7sTJ;hG29Shy0`owD#~9}qFtoS zLx*wvUYcROE=MDNBuL*0AJ%yqSR#Ip!Igq1_VnAeeH=yxLEfVqDC<_}uQ_@NxQ<$3 z(ngQQbM_(|;a3xO3p8M;<_^A7FKK3wo)u|FzP+Dugb?ev{*<{Fyq)J$`{0D6!6uU? z6{HuJ6Hzid(kTNwKS@uj{(=&<GV*5HdRi%)HiyeH_5xCjKrC>n`jn_(DVJ>ZrxnFy>#dtBG#18H|u2-^L zZsJRjuxrdS@nyn>W&1#K{Sllj%2Vz4NxKE~ZV0f+RlLtopSz*ou}cRtC?nE>f0J?e zn6Fb!(LR_8a$Rm#=V|&(EeW!hn9$Q47oyDFLY`9-yFRyS)QJm%#?dY;xkL8eNc0q<9h}U4c>vO9*Bf**d5Yc z0y?Y$%+Y?zGrk(Kq#Mc|Mzwrtyi_v557NRwj-Nz}6%rs@O6oNyQO;X>Lwzkra^7+8 zq7C$6tn4~+p1+rxr5LNG+Ticqzqw*zz*^Z{vb+W#$5V+@XEiFpu5^3I=u~yO1SME+ zt``XCEfs!_BQe3BBf!4cwEm(bQbJyT=eyUbteNM&OdmrSE_C&M^wVSoWcQrQ#CMqt zmrpphAE$mSC3@IHx7d8^_$Pg2iy;l)CV0MZv!0cN$ycV2vl;O!-{Eh?;5b_Ig3qOW zJNe=Wa=b8#L9l6tw(=@@)~B)4)mmGRNPT>YIeRbv>=HqvTh>Aa^B<5TqL7oE62(}h z&oS#%lav&(fdB4-vs@*zJU@>5js=>T>a|XRZ3&SsP62q9J0?U7>WADvNnm!O)GjxM zmo)Up8&}u(VV=D8B`*2qQ40VMRO8;U; za`#6VLBN1v*;0!wx2ufhYXXzexI7Utr$@+P+6kJQ(ekK$%m1e}B;fuBGl+?IpbuT7TsN4vb zIYH@hM(U|9K&xgsz&)5)8d2f$U&}GS{Ue}8J`7x2DSbd`FY@e#p_2)%(3@6evixy7 zkSSw2JgkBU->}H1^~whr?|W2=EGybYQ)#G~s${i5^{-qDJg&8{P8j8m9KYDMSDfdW z8z$H19DjP4HN@0(1ESdlAb&5*XJadp^SyBOjuWk#Dk>=wZT;1P!C-%@=5;R9TDqul zDi#wV755XW`$MyJ1^>oZ?dS?;bS>0@nEj>Uz(n^p)6 z{o4#+A$;X%mtjsq<`pS61QoBnx*KoV3haW1FkmGsjF@ad$cU|M*(jOzpQj4>9g$!0 z>!oBmN(}=G)8CZ>()B!_F0s`CiPWR;e6SGyO#jVF4H>^3?uueZvUD^+ej4*#Q~_*B zHov_Q4Zf%Ub3{0Ry{gOwz~Eyi)wkoZBYa!feLzM+_wbk7##W`3!ZF&&=AeRz;irId zUR=NHCMz$zepr{^)Nbj6pFS0SjyQBGF@=nL3coruZxcuoulANPUNF-JBQoOcQR+`@ z1s+C&VeiQ|AhgJkEwJ&e3q!?l`C-m1#yZNO#PfnMEi;$d0nASZ;<)`v&}_4G5#{DE_#br7zuxlOWXRQig4^h*#IRw{oK#G&L=2@10~?BlkR#Uw|zoM%6r zJZfRIFPq*mSz#wGkDyz}<6XEAsPC1q7mH^GYOx7N4=Zy%f#nT5UyfJc^!ldES3N+B zM0US=dlqdIC#Qc0ZJX0gO3UIffGYcJ5`%Q*wiz-G{=$G^3jkS`6GViej zn|597AIKP&%nRK5Su&-tL$>^}!1E`)%n$K_pc!bMcN^zrrkfq}Bu>^vVgaX==}atX zf3TycMf7Li4zgw=?^dHV#t9`z^T#aSdyxQZ6F&eAjA-hO2#%<1k%Itfb*8Wq_N5If z9z)aqBRRt{{CIbHLE-#@a&*cGO#r{;6pHqD1cK54kiM=Oj6WK@X?JIOX?1R;L*e;0 z`ox4Msiwn#Ke^~SvsyI9bb5|>4$Gs9_I&2D8;s`1O|K?v z!&YNyBU+KTJfeVXS1$jKI6zM`aALryy^u@IRcz*FnL-SR$#k|DtHOcAY>6N?2+o8 z$OR{kE!X4z{kY$+?#f|+F>#8xaRn@`8{~2)k#7Ul|0Kn<$ex&#`Gz@-$f>wSxuxb& zpyDB?ZisLTwpejOau)BdlS95AXbGEA*;q~U$09BDaReiCuWe;x8Jg+ACeVym)YaXt zPC*EX;*oHYWaFN|&nc6`hK8GUiU=|LcB+D~Zn2*ax?<3qt3(7CebIkY3_S&fy|nN4 zja|dTe&zln;Fz`wm&P}0agd1hZ1pFAi-j-IWg#{vJqNYk9PZ9kVw-dg_Zx%k7UV*) zl=#fX9D);<;|kJFi5LJ=f+3#^D+D2;&E?p-PfOnP%VC*J$BZb&q3C+kO3hwt>F4$?b{%`Y7j`qSk~bMdO9CitCli`Kb@BldOsKc8tR>y_ zWDt2d3RgEhPOommbGZ;2wyL9T5vS=i@N+f z=i+Yt)S8&J7{(4zl1obgWCT0TN^>ThCC~lb?IJ4cgBG3Fk(EW>JxTi80uo*j%_Y#> za#|K;JnqAg9R{&)t^0h0U=UOOlQA-%!9@?p%2EI>!WA!=O`~X#9Y+7yaH|w6Bbl4h ztK90pk4g?!i6r!e!V_mXsN+W9uDeqT!OWQ>hcdh5x{p5+J+y z00J2UvCk@AwA*P;%7!x0pq#m-u7_c-p=nXdLFm-a-d9Q{@3M4CXWBeYhNvl4?!Sro zEzw@e@-X~)(X~$m9dr|uT=t@2?=Tx0q>*y1oi?`^sL3WIv3SfU@e<6w#j|tN`WT%) z#G~0mv>n4pXf;}DZ6cGyu_PO4Y5PeSRM%O&p14T)rH`;ySb_N3eSrm^GGr$=Y+3y( zDx@c0+H;sH*;o?ZP(S=SQALtudn~gi4Eb~bMs&& z?r2*Ys=^Xi-(T^mV#aayEEsrz_sY^^G7u6m7%iPg0Rx4sCccOt@zKsQ7fKLcr%TY) z(7#1sdX>JUy>av+z=J{Fn^R75Tl}5-X2Ou~!dM>Wj~Ku~2+<3~Es7K`HS z7SX?rai(mm{dni2xaq0MydFo4djTp{>#r8VDItN13NN2iYg&0l3!&8Wo4GE3$r@hA?SoiiGLfdWVbNl8q4E6$XGr>iL=e3WOF~0T^U-~~)(xu$ zal>{WcMk3be*#|cgL5daoHq97)VBjlHdVv=e~(Dp>whGWwYPR_=%mf1s9VOfmWyB z$$SEx`_Uy?90Y2Vt~8Ub&i3ZJC)wYEjmbbG3BBN4Z+Jg&Th#pmBTx08EHflhudLfX zQ+-!yN=^am^#_=ukz`Wg=~aG_HGxJ^NUv<|_(Y^3V{OLnz94XSI-Vr@|02k6OXT%7e2C=8&A{-Jv6K z1ch`x@d1A&)k;Wx@6E6%l`ri8-$6tc{cfj(Rzgfsi%hdgoogQ?;ZL5zHRSyfYPcZ7 zZa@4R5sPi05UUBS7d}nmHVf!0>Dd4XDJ`XJb)KDwu#fB$^Vxd>9yzC5*6jPpiX3PBA*} zYa7QT1~8|}+$dub+frQOufhwIT+~nxxVRsA(q%h=FkZB}ii1@cFf00=l~!oHjO{cH z6E^-}aG;c)k_H`CA{snjKCc^WllZVrNZAQ9lZnvZXJ0qlxNGqBr*Q^Ia(?RMEgPTuX`xZq0fLR_6yR46;h|y zyMFn#Z&oKvtv$)egAz6LWQs;f!q~w{K%%4>D9)$?J*v(z8f(E8fWns65C+6nt<0EJ zAxMBDht&1?^>bmn@Xfh{1k?2wu{iGcmJ3+S(R%$!lQdQZnGoZEf^?M|LA=AQ7F@gV zM42HaSozob3{yH=HB_82)kV&?sl>KgghcW4+xy7utO^JMC_N<|X8Gh61q!5CO;6O% z9ucbJR(BUnaIygigk0)A>1Ur`YcjDa0lBilmN(~HUb;7t`GYp}5zd#KX3OTa)hQY@ zl{Dej`ZnOmM(SY}cx85z(KjardH^&xQb)!8iV<)C_?4eFj3+w5$ zjg5B6E}(6&a(rw#ZZ!zeX#2+2_yE@t^3+E_^CW@%W(T}X&|hH6h1&7c@D;dBrq)2} z6dP)jjiJm@RgY_L>@(Gu#9o>=4pNpwv9c+kh7~a-GP~&vZ`j~#t5=on6Ck=0ov@#Z z1CVW>O%HrGp@(oBi4p)$kB6i`HvwJ=rH_HwpsCQT8CFvHD*=J9hzP1-e)BTm>lh2c z5crk*Zh3PRoh#q%m+ZG=VFV%|{Q*M{hqHvumU%R8(@@K7*@56 zCsqr+!W$jN05xGT49%5Ch#twdSO^9XcSeHp$>;PND@fH=&dgWb%C-H!9p1<|6y>~NL%Ft}2pNG}%_ z0#X7224JD1*|YKDhb8gfjV8w>v_u#+Z3(R@qcoXCfIr5hHscd;1Z!`BG#UP*XRD#q zmslqMr-&8kqdpN^;AZ}}BE--C6=WuOs)w=NzjajbC4P)Ah?{8YJxMn4G)@ERIAM!7 zkF@bccTnl7NSO|JxP))8yyiTjdES`X?->QBLFzIuqE)hRuc6!8IbY0ciNQUsgYdHT zB3NlAAoM42ub-*&Q!!oQJuqyzLo7yPM1V{k^Yk=1KP1n?D)i zgqB`9&E&a$gv+IX_NTUX*qaV{s-huxz;?18VGKSPgBoJxWyZnywvi16x}?)v*WF>O z=RJt8S1$+Rb*CoBHYWOo8@gEi);Y*SNxG9~7&4;tSulyFPFOYob+AKFN~*R*xLmq% z?vG}lyTGo}I7RRX;N(NZ<<@olDGma*pZvzt!xt-sYcMHOyHnw6i(`*=#EtJss%k61 zP2f8lG-y^eaK&kaW_=gOx9DD9o}mCA)xA z!(jeOxKQXC0Li?I#w@Ax#_A&D{>Ns9y}V5m63N0WaffBY0tgj$8E7g<#JJRF9mqfS zSWS+`ln?L(@`$RkJ5DBEQqy664UDjl9wy|)W&woe9Q9|n{8*pE zVi9Ro3DSp>GkON(B7UfU`K%5%hs*BpU2J@_kpVMDQv zNirOYm#(}QJ58C7hsx*VEZmjKIrf4wgd869JJ8ZuJ5UBZEoqD(AsxH%2HIcDBn242 z0W3~gdwwy{{zV@CDOgcIh7%$6~nN*+myY1dP9m*LB&C^I;B0N83xXpAT zbyOK+KXb<~_qB?k$_KXqz^I2yN8ygI&_qsF-9i)wzE#}x@Ve$f6%}=|;{KVdT;wgL zAC~eAG-em{X6^9tirwlto~8>e6{9sd39t|fv^2wyUrZ5&uft?W9t^4|B@eB@g77iD z?D?>JXI_rKdUO?l#F-TH(rC>nYfL&R5PfgE6abybRn`Oc0UV^tmBf&%<_!6z{H_%N zsTequxS0{^86ZimJUCkmeIy+zO03#EPMfjy;xkd#blKy&H-#bb%~mii`* zfXp5b7k&{@^^fJ7uSH+tduOY^@ z_G(C;2K{Wf;ayw5Kv%8;H!rfl0R5xh<3-1L8$#%n;313Eo(?V7g3+0;qYtMARhJPH zPLrRsXUBc5EdBcK1n(_~-*~Hf(Gwk`4^D+~C25R0vhSdsUqfSk!+Ur^gQBXoINudY zzGn-aQ$M#l8DGT4iM{|3Re2@tZc(|wb&3iY2ChF!%SC#a67-&h+F)%c9t!Ud(ZXsZ zfsDEQmYv2&zL(*2Lw6^swEAVY{Mi&Xj}(e{%bKTq$}&7CKo_Scf1}u;m<#=2yw+hW_A}+$&Yt z8HC){IRpNFq5NfcvW~EAZs-l5sc!#I#psZTmDkH`-vMChSaM=^P3!dCpSp@n0t*6j z9~m-SG*mpZX&L!S##J>Me5Cnlu#8u$!og9Pt^R0BTAxOF;aW&$RH5>fHj0Xsv5|>}SqbEM!@k3BO zH0x8aTuQgbW~-N>Ku|tO1iYng@iweSZIm1<@W zUVaebe!_2ih`OE6p?yyWCN|+yVIYxuc)e82Y7L87LbtdO$umI^dZ0$#@lSgY!qm`eP(NTy5Q<;V*2&i<6@vEO?wJV}y?JS%6DxADy(rW!kB^;9#rdk=+YdyxFG0?)-*g!wpjlaO53 z1OtQ>T$?mZOIyd|mWOq#vBv^tUYih0uflO~7u5s_tN9St))`I_fMunll%g7#1q~`a zHNyV*;%K$gKBIFT<|Cme3XmMMo*`x$ZJ*yKc_}jD2914Yux+35nT74ku`2~$5o7j( zmVu@7eB42?l_2c9pWA8++E`GiN*_bQ!1{Lm*_tqbEyt~x8) z=2!SLR#bCzq(3jdcd)Gb(UG)@XL|;j4;+d+Y>OZHnrIha&7$Zqpv4IkPEN< zPJfC4F)ILkTOuB$ic-3oCdE{R_tG0LZvF-Ww}c?zjs(3~MLIJJYPfUu*PS zKP4sM>M)Ojfw*vOsz%;f(igoPZ<7UTr)5Kw&+LI~D_J(n1HgEZT88=j(JyLXt1zhm zj_ZMwKw1w#HXkNJ43T9@UQlG*g}1!u5?a1@2POb6?%vKOkiKD}bXZr7N&R)WU=z>v z(1ex}+vUTBPEe(Qc1$=bxOMcMDYD1vpSo|>&vzTa7;axRkP)v`DM5|u@wtjZq+v99 zRk7Dd0G~X3o$%N1;q!Y+Y1y zw{B#p0JYgkaopnmqfdj4I~GTOaqOV%h2@WLajp|xE?01g@}l)8eXa}oa?Ka^t8teZ z4b)K7RSryA{k+IE4iho$A^)16Ao`hQY}kSQF&{hws?Qbr z`2a6K(7!uXGFAl?Kw>uk?u*ekR{E#7YQ4hBK~T#6FSiJj)MSCeNI;M7dMy-Ee^Yj^ zUTG4b>Sa_lWj^HV>YP2a^Dg5~C#}qP7Xi*O?}KUpyaCfb^1|GYD)`IA*^A%HPGDWU zOPxeyMe~NHhJOQ0Lvry{ppR-+oVr==T?s`aog*YuC5g)+zxYS2QXQD=xpZt@a-aU4 zQp05H|ZDw3OIMy^Zy26tJluZQ`y6(utZ4M72IDE{W?VoJ|@w z(}=$K1avmiRi2H|B|4+gaiY#Z`Uf>sL~4!5b^r9bL-8e+Fl{OT^<4o37FT=}UpLKLPj zP~O|GPjl*Cu1O;AxKXe%+=on*HI>XAG%F@5Y0f9(=_gHQVVBl{l2~E&r5N{6HP|dF zf-V&? zxamwDpm^f*nO8|0Iq5uX(EbWxWX{+kVN-fksw5L^{X*m`qd_|{-il8XQAW?xvI`eG z<+Y;Eid|S%M>+)Uof<_3b~*AE;+=MlFiLFe=IqNMwK!=KclxELp5LcfpL{)>!0QqC zV_B^!#||(0Of@j|RamrRzPn0X%KRD&CBA9Zrzwu44WZhfezr_dXI6yDx)Nu&Us$px zK)t(@3aZg+umKj?EG(mj=>6Mm#I>O6ouZNA-ik$e>?&rwm#m;tLf9+;rkSUOo-%?pESQ~3m~ zhn?kf^?X7m#^4&fB^2B&Q|14!Fi<{YeIX7&OBt$WItm2^QUTOE7rSV@-2F`EH%sG* zlvTl2!UP!~VgM2coYE@9aYSwnRN86+EaMU;NYD_7vlQe^&d5lDPEyMy#CbbgTgbuU z_T#5eQ5*>i!c)JsGC0}f4@^cQpgo#Zt1AE-45qOQ9wIo1ueFfUn=J9xD*~kJsq(;X z?mwk$%Z2e8VRVgx2;`!d>c3U)L=^;&%&=TkZQ={cgGkJU&qAE9Rxg?*b*bKhQnZ-i znM_SDEwT^>2ORuqRDyntcrr`P99$X;PwyzPN5<8XL~yDjEv`72V9C(m>W_Q$2jBPT z^iVYZ)I$S-{=h>NCHkc`!E z3F7(q*qyIKcZ(q1!Rk6`C6dsp42I9@ve%%(d7?j4kb|k7IE>f=etPOMz4@$v@_JX* zP>1UX4pQ{V{|dFNTY9J;S}$^0S;5dw*I=W`xR)2eh?Y+3ACwQ?r``7Ug~v7z5yI#e zvN>bKqij48sE(`rVYtA>>Z^C@>j+{a9O9!^rNaMADI8bt!1PAB?*r6V;8euS(!B5b zb9Fodk$6tCDobICmY_S@i$7K?^f#1~XY;h3Gl@$$*_adzJ%ro9#ZmgqOb-bdDBNJq zpMKK3&EMZ=MIpWqYVaJe{mkee9!7O&GVj30US*YWV(@YwwU^-gCSjz}f8tVx=R}VA zXD!sp5EKB7NUYtzKy|oVH8jD7jq;`N_o20MGUSoPmoxB;-6K znFag$u{IDXwLvgZPKUjoa5df>MQ68PY1FoPwcw8YnEgjNt~v@Mh_&L!R=$_8iW>M( zJx$}H4e0xwb!3c@d`F2g-=ynW)Hk$@LZ;5n`UO;GUmw10>!j>}JPw=n7-cI;(cy-H z+nLD>)1NDn-V8d*1Gcn*d@*rgM8_h5ej0cbiJ-B8+1zf;2K=nG_O^;VXmKIpCl=`qT_bmPIb2k-&KZlU^BPHBRW)*pk66x*hF@&obrLc@~HX0S#27w z`ZQ`(2b)FF$)8qg{%h(8dEiMRs8Q5`uYGMn?1htqEB@l##hY1xSAFtcjRl{aR88jS5E0QCezYa-Dtq7h(hz~Q^;FWQ1k0A7 z=aRkLKC-w|zYrkX6NJm!LGZD=Xk#btKIpwL7AYERKE9vt#H27ZG`+CqN-tnLl%%cc z8uIMfrU%5V5{iO?+qJ+cTL}n!HseEeAP0YhVRD&tI8$Cwxat0u;9|#GkGlKQ(M-^S zel;iNsEK+Z_2S3>=V&2mx70*Y`GU_70mBB|*q%bfF)B!BRB}PocxtHWrl zQDLBA>PgM=n>mGcC52w=h_&u)H+2iuBErOmZ$zPJtYo`okG>ALNELWRf%W;#`Vn^V ze!Oe9XB0AV!Ki3zt3*+;#U9+%Aym#4XX*ihyP9u!g=#B^#oBzmXIM`Isls%rBL6wB zWn%1+xD}W_I6&x=!lChLmgf2CnY)lb>>}$ zu5Vj?qfo!>xLoGchG;O!-SF1{k|`n?uC5zW#|HVrAnD+N z2xWIV9>m>h2dh6p6&}g`o7g!s2!@WrYs-{#g@B{xT#qP2#KC~ASE|#``ZJSm`XSmq zp%CBPvf(wh5^wxBWua_0W?r*y2?akG(yMSaZMxmVtrJY_wFh4FAVvHO(WxH4AM^VT zH%*y5b3oF)+14oQAJMELu%L< z_xtX_?-OnKxUm5lJ?+faK+$?fFYO3lak;8|;cat6US6iupxqD481}3G)=R<3eMT|Z zFZCf3A3EVT&UEI%MR3xc`Q-nrdx(dscIBZ7Uif+}!YDGf^2FK$y8*J3sJbokayJ`g zC7gL(z}$20hd^sVxBbURw;HLK`mj7CC&FuF>`e~=bYnu7DkgZpA1v5!5|He97aW!1 z0b;bgT-qmNu~=E%!|#vQpQUYedW!tF(KPkoi+VNOcNwXczkQ&Qj9HzGdB!7@R+~Zv6;cvQ%xW!>WS%VWSJRsA#;{o z-Mx$<9#R##LN>#a`E4hZYA{hv%?dHfcd% znxMaCOj7nj`R_#wWji)Z-P;Nhxot~Qe*-v-L5NKYl$`9s`qyOVxT_KAM3XQRZ?=2` z(-iuC3_f^tlHn_4k+^U;w)jQ`Wg!TQoTk?Ce=}s3|HH3(A=!5 zy(!@2e8@uO3v44zxBgzXoorb@q?QEtDT|x+LFe&OO~B>03e|mxnIYLCb9`&tTR>Mxm z=bJ)k5s^6wT4tq%7vJXkkrh22^nq7finUB$g9Hj_#Rfxw0FD?$f7YM5`Y%gI? z;=uM{WqL59&`1x0n0Dl6M8^!bo(Yb?$cg}+21vO!chzuJur_t07_hpIwz zepGCzy+p&epsUV_iZ_ZP$FR6}8>2&MzH7(z^YNfAIQrszUcnst`OPR=^e)-WAfup~lK^Ym?dOr>|!A~n(u%AP>Xn08Q@08w#aL&>7BNnyyT*8Se z^%rnsDzL<9Md2$rTLulK5D!b7^#QM84cm+^IL)9<{QY}Ia#On60?U9z-V}LLlH`-U z@g94?2ErPo@e>u4_I6IP?O+ODe2c1#Q=|9%1Mu8rHR_k}qWr1E>Z&l$Alh64eL|1_ z90EKl>M^JOA-n~?@^TJdq$hdQola^A{1&iUl3%V`_M1N$XY(=&uy_3?m`Ss-j8Z`= z*zgm0-58O*BI57My>2oZZuP_6!PzLO#vDUL9MOkYuCxhv4n)}`WdILn{=u19N+T;; zvcAZkv)cww1+Ae0o+5NWBs|gBgx`L{zH^xgF~g&=~Npv4gs-G5GhZPZv99e zGve%0-HOpLr53(12-hnE)tPa5n0{f??x3X-Lx>3zCJ2*f(c%`n{3h-uo@oP7TKSqags-&Wn=gPnpAKUDK~9f!Y1KjCUm{g(j}*~-w#p` zK}Woq`+1Vod=zvx>Hl%%)|O8c^2@Tp)b#!Y4Pq5D1Ams%LXpFt~%wDo8Ztd`UOg+ny&eW3Dt#|ay!gpq7a%FKRoQ!QQ zgVYw%VmVrP7yN1Jf@#jWoH_6AN@qXd%z72NyS9>x)O{Sp6(KrD;hjms4tkr4HuBXUuRiF;^Sc;PJ=iI)t3>Y z99nU1;l)_;or_*KWD_ho8NU&v%XWtiv>vVm&rZttXRba-7&!?BoI>`UV?dimB*{9&TT+RS^cq||5Q(a$R7U<{NW>ka zghI&*PBPJg(rdfj%;=l-PLqo@=D-*yX)c^~wNAY%thNxI20W0BA)?@d@cn#!#__YH z&74sDL7I1La-J{u5P$2#cqQwwk$FESZC4R#$-?N8C4r9LB>D!C2}VK7R1-w}kq4gpdll)s1i4!*_niGM256KFe>cjFM^7@N#TbM$lbB5+dOQHWs|F^SV&xvXg(ev zcC1I1DYUBDm`rY9U3au$aMuzJreFiM)C7BXr1hPT^2!?`o>> z?I%)1b*+9)iMI=)(a)WTL;}-S%97lp!s{oUsLDs3P^;UCG3L}{6N3I$-59*kkE<~q z!GEL{@r^aqd>xt$G0^|#Vp5phAf6Jk3C7%+P-U&3X>O`~Ah`El5Y}~&!)mNww^4hx zmm;zw8Fe6!D82rR;6Gs<)e>xv;d~STpTuyEzf(7TO0ruP4hx;5A2Ais5fh_ncDn^| zuR|ltSN9@MizDFxvvlc5!P#BLnTPEsOek@n`JYQ)R!mg9pVAgVNcD}V>uBx%-v`qQ^VzW17f8@ zSkvDUl82hQv^g4*$ok21VIxRQ(>*L@@vN!-urgK_n5=~^0T&a1QdQ4}(P+#Fi@s!l zdnPK(w<$O7MX?PWqgz$8U;(^q-i_uroP9qrBEFQ*Z7Z=rl3`J4;oUlQ9aiTdkOQid z1?0>n*_DF(VCl+B7;O8%Y?NKpZ%qoUl*ip((Ut9!l)&vbyu&!9O}F#IL@5nSqzv*0 zSWR;uhsh7Z%I-tDnCE9|E>%p_ejR~GW+CCnpiJe%R@qGt?0y@BQEV_>&us%DHF_r( z=g}vAx5H(ny8M;uogMdoqREicFzIfS&cE|_N6+H17NP7lUVm+!R(R~OB_#$Smr@^i zYWJ(OWtSzE0r=mAv1~FW-pI^ZyyrA!k#|e5(8b$?6xyqMLfD@jjcVwpp=@zq; zmwe-36ZluYpe8xeD{)0;SP~IEd~na z=h$Ut>0m&A?gQWa>rMr`m-#0O1BMmqq{`x$r}$PC2=a*P}p$D_OmAZ#m6k5A|jIJL{QxorTVr@M4;hr zZjDd~+=^5-5q!m|{Qw~Z6I|fM*w;FG$Ya(W&Qai(^P+mFy8+>GGmwC*o(f4v9^U3F92w+|2UcEOC(L<4JbO0q4s%g63R#csEO=wqR(Q zPX&l06KnuZd>+d?UOp1`g_Q9^x;g_e9CbX$U57lGiF_y*gTLtluj|WSC==^yQc{{w z8Hq}qHyA(8n%;K=r6t_1li`s6Tkz;>$L8^h9awdinpZszUag5DywU zxcDud=tUiZKgeS%y0VQvLV~U`1g+eo!;cCQ3X+(=$-;xXy;F1=`8Z|#b+cV+^#vW5 zUa|9gBm&r?_8A;e?AYdLz^%?oVk^9YbMyCd=fK1sY(n~E?F_6`H>_HnbWFe0K32ex;%XQv?T@y%^n30I z;ZeyWZ8c;X(?UZ&#S^b~Wts-Ig#J^b*DkA_u zNvn9C&)jhoo~IS3i3_4Ag%Um9bhtDThQ_TZ6N&~iiQ=NU@Pslu!x<}>E`}Fxt_zPL zOlu045N2;_JND~PW#Wgw>;m(;V`x&Q2FWk8(yI6B1>-xt-xVQ4FSBeq1UkCBx7T!9Mwg#Us`rOWj zCHXzA3Y5!Q0&Z9J*yF^WpmN+!#aV2#hs<+sat&}LSrj9r!}*2QKMC}UBZNAJ>!PI8 zw`f|YRYQ4=pNO~dk)~j=0FJ=lKn!vn&~LvmE^t-Y%iGZ!+f22anlesR9h3YYYcRpfhFnVFyE|3Ul!)2!B^jDtSdy=0l>$jbC)9!#S+ zjWx}4kIlX2DS`|j)q@QS+K>fj@tsamR2G#GqZ@nY3b!`^bpv_(cy$ zeU=i5TjOQhnAVMUyWnn4bBD0<=k!!LVdQx6nGm4smJ zU^SdwRr<48029N?73+0%f*>r;QaUVmuzk>3D&#AhK1j0LAtxs{Ojs|PkqnV771}gw zeudj>f`fJ~e|W%Ku@=-t+x~C($%Q+{%@Ytqvpgc7?5RIah6`ysU-wuVObt42Tf8Q0 z#Ey-4GU3pZ?#ZA3B2xmlk&cW2N4aM?UMb5^g*rAo$-Afhpf&BhT1uOpVgnw+#*-E^7ejPp%mvGCH$}|Xtl!luTE0cTnWFkK zbu{3EtY|0fdv#|P2W!BJruD^5yHVL!icc8-+lsPR!v-EJjKb71$(5ZGVnw#W$K4vn z5k7id6@0Ied9K8>^O&p@*y_JGHK--tez2LVjEqB_rM4k-`dH9Ka2^z}Lk=rBih;0d zeiUohviGf4V5NdNN{RNq8MM2(HLry!>!gjM?fRAI1Ufu_SE<`HT^CXVEu9d_v-!s$ z*VZ@bv?c%;j`=(?pD##m@=`ZISG_dlFd||GNWSo;L=vdKh#K#cmcLEJXwbKD_EvC; z`QABBLSWKhNSt7rAruRFeSR>n#e->SPs7;R3FxmIJTBU4LV`yX^6LhLw_Dv0rAURO zlNpcps;>w|xTf;>B=;{}NsN5?8DkDQolZ{MGV)43y33=2+96T>gCb^rvZ(WFgY>vg zLczs^`-p_utH|Ut4@c8Cqyw4D+H*aC74uU1N(P}kj$E-?-&YFQYwcop>-jFI;_~c~YXll1&hJ zOLiV`vnI9Zriqv%Aoubec~cH9bKvl%ccfb{bLVomg|mg5vCxmlR7^)Pru|~$CwlOh zC1%D&a4LQ+3)TyHso7flpO*ldpcclN7Yg z1=%}N0}f1^cUpGY!t4MdkE7XtZd*c|7HQ!@_Jc#U^ER{KJg!uCy~|drFg+3Gjp)5V z!1X{XmrjL>R%Y*XOsJ^`M=nbODmfTl&gdy~g*TfV)(X-(qrSO#3OYau68L(tI+0y< zV7Ih^xCg0GRE0`tbEL-Y`q#bR_|q*G|M71=ici8oLHc%)5fa~6V9zA!KJ!R&Bm=U% zcKN7Qvsq|)i6zQv4CrIa6-MalHl~HqmdgPI%Z#yim$rX2tnAy(=oqK{c14+mYoE+F zDbo{qKG}){r_1OU(?@@BVbg`aHC$Qb`02`V#D}(6mP1{zZymLQ1j5^xHaqb580}eA zQ#MKWyM55(SYvRIi3U)f&kVGeeDPHrni-|Qd#_eo?b9lHzwVke=KhOCmH;W}N`sI-`TZgN*Rv9vuC$>}l@PZY7 z#0-#*V~geKYase$!Wk+ZO?QQ1u5ai$$dNu;P0gX`FW;lWESEv$E|>$qY(wOz_wBPs zkJ)Q6W4K3)W7&YS+J6-sYu)f#z0zT?w-|BLkJnqq{J_kIF zRtzHes+#fJze}-Qq*9Gj>_+vhHR}|liysLM{@JKYkzmrKc7XAA^{|3GjxE@pHcd_` z{6yV6S>M>&{3>aF<_IvMsm z`HbST$?4EpZuNhMalo6rX1g+;CK4>Vn;VGvdDA*s`Uc{&P2G;QKG42A{-8+beIB!$ z+IULkhC$Vy4Y29>28%az1}jtnX*GvMKcWKKPOM_05niCC`gab^O!%;70n^PnDZ}A_ zB)kW@Wls42G&{FpKxx)6FQ(-4IrGK8^0@Y^003Xf~X4hnkxV; z-YiDDO^Nb8(2M=bh#4THhUKn1xy$v&Bxw7PP#Sqa;#ZEJ2LG71FpO?+33ob5G5Ewv zjT{5A&z%=60ctu0soNb35Qj}AuRC&_f_nNcWd)w0p&L`Ay$!wwY5VXyY%?unGR zS}=6|xhm#)y^@hK4uzTw6**#`!x2G~%iPItOvb8uT5*YKwUAi|5Ma`uy;}dTadILTTK zd;eS!!!_u=JQcWQT{>ibKD~vp%6ezB#+o{lupBoKi_?|YPb>H08>fuB1bF)BUj6Dj~t2CJSLO*S{i(<$6px&=tCa5$b@9 zOnuCPGglqh&A-A*Ex>dxZ6TkF`{&KQAxj=tFl}&YSk0ktG&c5M_JRF4Th|)V!n7F^ znP-iw7$Y3gzP?3c5UEfY8W1|vyb73c*f>P_B#7x@W-LWK5X-;Y!0g%7Rbc|}f~dPV zU3wbk)ec@=gfF-tqro%Ko7Ts%NI%*Suiz*{V>vs}BP2oF<0>gQQRg1tf5yR_hCCcN zizu+yxx(_fafmL+!IO`?+Wo$)!4rl1>yu{WDf_A+7TjL6f4Jdl1F746bG$}wo0Mnh z^eSggtamSl6PclEOvZD-cv*muZRN?!B=vl5 zu9CdbU~Qwh>Dq`>`9)FIGJF_|TviXo56*^jnYV=ET8qfF(_g@*pZ*zZoWH?_9x_}v zL1ulBGvQ<`B^D75?Q|i{w2S+Y4H;3B(-~ZoL>B@}y-Ta=50HKzU)^*drud_%YkR3W z{##8EzrZByh>Wu0gY1rs01-0WFBq)^UvZ~Y4AR>gE9e{l67B6hFMu75D%wf zlj?-@XyGULGWT}PpzeOy&~?M-U)E5XK?-&A+h%|Lr~8et(PEAGaWC^h{55JvF?D=x z5(!S?>n&H1VFaD>kyS8Q7EN`U(O6=MommoS$qYkdu5&$*{`A2*F9P7AHkWRB9gO3NlTQV35NhZ-PGhFbj~Qp)}df6xGXF8TV<#^4m$r` z8}e5)W2LBpKu)y+x+|NV|h9%ojyEb`a$7cLxT0BYI6yH-(Z<`2$lONpYkCbk_u94;ror%m&&-^F66wAHQlMav1kWpm{~C$by>B9&0=xPF4)@yJ?5ECo{+pLaI6ZfzC%*97VF3bG;8P>&q?xa&|l`ArE(r9NYe8>qiO8 z!%Ic}JJtVjr$_fKN`l{muog{U%wPM{Wj^yPywiQGD$rNo?Rv0&jQdc+tIK zjO~B4aHa-yH3-YJEbr$Hb+(k|Qxcyb5rFzaCS3MIEeq`PwMPObwya#fsE~hD%c*BJX3GCFIm$jpo4Ex^J7BtvVR zyT>k*%H;IE^@5U+$dLCuASnJus0zmyNF7~rh56LJ`ELnDPv_7DkkFzj_yrY70Tye- z+*d|DmJSY$RA~9CR7ovWU9;V(uig!a7~v;1gyfO!B~rTliJq0RWaIh(JKj-C zRRRNT6m(NPT4TW9Z2l^&v|70B!%6XNjDf&Xw$61r)Pj%4G(&A`+YV>%s=lgUxxybe zdPsO}$hGuo1~ji6xQo3)eQHqFo%fxiLR z&wmAh;QAQ!h?!im-E+Rp%OjrG#Np`< zTMhzHgEzMANUScNa0qF~B!Hhqlz}#LQ!Wr=MwQf{XOMsujh>&BD2f_%sAPR4;QJ(-hK+%Y&njSBud6i&OAq@0Yn`}VfBA8f3^nlyanSUB>-b zv+S+>H)NiCw4ItwAJ0YK55?jO=kG}ZA^?^9lmuJ)zS^<}og95k+RK{CT4{nY#!vws zPeRT6b2K_Hwopc)y?iU2%l5(o&Q~z*Plk_R66 zUCn(L>=jtYW$`p3yxJ`ieJ}OqP)OMR?2qDQaHxtg3zk_ML83R z!Qe9*;_k32MOP?gj^ODjMJ{IE3w7W_i8gHDe>%^Dz(q7Md%Dkav-HX93K?vEhme24 z{I574dN?^$vOw3&&CCC-PlEilITQB})E{Szu>DYt3yQV7$~r2lyc;wtC}AeYUds;t z5asBCPy1Bm{w>znkRO4kR1D!qqYH5jy=_mEr=ElZM0*$9=@b47dhM^R{Obr{eoWk#1|U%8;vEi9 zIxYbx%r`)`(man$<#m2^lFVr*nup9jXf2@6QJXNkTe9%PwWUy6;yYU{9Meg!$w2q8 zc6I!R)u*1<7r`5XqRnC(&^^|;lvUWV-kbyVcNh=W_JBkpQ?Ot9OWf&# zFr(XvZHWtUWkO;9TiSc{w(#Q!3!6SAl^|K>XidLJH44l2c_hyZ zzq$3poaIY8;g!#Xojsv~fK7~JL^@!N?|Moqrh}i=5{^LdNHOAjT^f1d!j$XR`%j$& zEXSz?-HeEnq^j~!4-bKNFFHv-9J-mJ2#P>?^`}_k_OY94;FsOhJSUL2zJEqE-n5c7 zSFF6&iy@k+H?U+PFQ(;pseXImPv;nOl&59Mkpw_&Zp7ilFKt3nPrm!5d66;?s48#D zaDN6`ZJjCN?e4ZL%%3xmCz(k~c&gM~j>zMV*%$xAq~=U!I^aoSN;(|EVVfdX3OB2(2w|i)T*^ z9Cp6hL8HgBo|K^vtpd9No=RAqW`Xt1=R+W-haskgy$#riTN`D~tT$32*5p|W`4tE{ zh_0l&^v=ih5TsF9jduUpdyMP!bE|diW-#iv&^X6R5|?W8!7RO)Sky2h+Qf(og(WHgn(f3avkaEaBd#rOSlyASX($5#fg2@f4{~b3OvlhqM z@*88!3^avw(#n`2c5|vd5DwpO$SjPLh1-!gXWwsIHSJ7-aR%=(r~>x|D9aX`I8R9p zL3Yh8AwpEpZTD>d#8QDlv65v83ha15psP}IJUbOs%Py9vLt2%8d zIhZmqBwY*IrC#Gua-SP{$g$P)f}8J?6i^B~Sf1CjhzcQ*JpJBnVV2g(+3%1qpJ_uo z(O5u0K+lhDDl=MJuQzOp+1OD1RV6aZR`T^jZFToz;$3h8lPV)Ola7H728R-kgoGEW zINt12=f;lU;Q9I?!-feMX!+C_>Y^*wRK6@+Rg%n*GafOrqrewlE_h5b(DVQ&Wa?`Q z)_+Lw-16zn>tEBUqRH5UXASlq6LDB_>AihVtDw z1Bj~_YlXO#lQ@}MGgj@w$;)S&4|kAKdrlQ<(7Faf9_6P;SK!sG%RAER$?p%qN-9kL zFY-B8E$?O0q$BR(%t3j*4+%UzA2 z-kZ^2Y`u=gmyO9^#$n%keOASriJ-93^*1E)sm(}eq&7C>?v&G6t0JtXaE?z7i%O=V z{FY>hf@G&kU^}5%L+*k{Hm1IGvwj4!k%=4G|1fs1VXP4?1fXKm@URPsj(Yj5wn@Y* z{TO22qn7CuyE8(roHs|8|7Uum3KZ8qo(~M+OljJYriHL|$jNW_uH(RfSdsHjx&Mdu zMgTiX>J1(Q;=3xU4siAgah!8HaKWFU9Cw`x z0m?IVtwFiq6`F7aq{X67{wQM{5E-IP#-G+rs+C)KW4@o1_151xG;i!eCznW#pI2J- zWhw}AE~ZK>EJ6^02t%IEtx1jgZ|IZWmj@;8KOGS?yIk4lsA7{W)V~b}viL#X z7@vrcq>Op4Ddv7+TH*Yv7qZ8sb0~R5X|9_pywv=yzp60kjEh0EL z7|B_*kdO(Q&G>2+AIiD~dU0Y)d++S$SdRUrr|Ov#kM`Od9nFH$H-`Ovg;`7SittiF zC0~6@Mwm2Lua>#JZ!K437J8&?UiQI3o!(h2i3l>&@HJj*RcBH@ci|sE6^+Nl1qcq{ zt3k4Az-ULg#ND*fNk;Y=aHYqKs3SMZ9)3wiT=Jp?9)q1?lcoEHhvf9JMeW6Zcl% zcaNpyAlOzIXqc{56Gawz%xexO-Ewu4|deI7(6=~~@* z7oq^)#Z*i=yLTu+{pgz@kMRK!$X*F|IH+f{Vj_rt4EO;WrnJOe8dPUpST~!z!$bF=ZbO$V0WYK#*5a92ZFF(W2^hR6(z7YKu)puy3VTf;;hrV&X z61BdXmaS7QUT}OU5*4KJksG*L)ctjuR;CB(bo(5j4PW&-@6RrTd(WT)XQNn?OkJ(B znn0#<30HNTBG>(0r+#OvgJ%7-+`yIsd^;~33eo}~8KDbDT|uNCv9!b+an)=+@UL>j z8`=HvI#a4dwr3ed5*eym=r2fVcT#P6&EI<5QwpyYJMaSw<9}EqS2<8^GL?S3A8t8Z zta_}U``#{BPZ43ar_mi^x*a7wI8Sl$3w?|C7O4jBB}qquHPOy?XOZEROw}C~vNN-7 zp7{$hAK`4tUKdj;yt{DQ0n2xbJgqj$>HQO=+lHvvP6|U>0{y*ZW)ey;ooaD-wZ%%+ z*s!JuTzAv1XPjt`a0a=SuR4#Gn1NRSm!I;-|2259mb9UUr&C&bvH}|3sIsG;9W$1arpRih2lZ z(=#=c)RTR<<0XV45iY(rsH4u#`+)skvkutssGH^Y$>YH`wdv!^Axgy%wt1EX;&7&C zi)ESU0Na2q!-*Jv{JH5S>4+KMhd*S!0V;dyk#{a#yX=_+B65 zpb#0Hs1?oaoTv^=Y^f(eGoSKqfJj5El(p(om_)7}Fam_o!capNzo-LPM$E~U5~{FI zh)|j%z^-4snr#9eSt*?&%~p6ZL(ETqQ{S4>-99^79mNCz>KNAIG9jhDL=jra{WL=C zj_z=)X&7YlbZ|KeetH%d*@b5ja-0cm3ru@FIlylbgR1QC%xoePL|o_^kJz;_0y((@ z0D-J2 z{PP87&iWJ!uuck?v6tSFt-ZrQ@Z($@1dx5Elfxh?g!JiqhH3(@)o;u%x6QHnp&3v4f&d5lTpe>IYY40ztmwH_ycJ2z(N+u zP$;U~PIp=N8Sc99rbX;1wax3kYz1HMf5@|?`F>2habmN2v<80WZ%r6&wqpjEBilBJ z5ck9sSg5;uTifl>{bQ%JDc)IqPFGS*sv}+)eHPVvn>V0kj>VC;ddcLHYTbLYLcr*Q ztX|@E!_DS!UpSD261)O}==eqFce1!2yo*mSZOME;y8_>4{I;nBB@idM!e`tCdhXoT zP_jmb&P_~8SMlFM;<#g z@W-^Lq@$|FjW-Q}4)|5m?TQ@)nr^#%H||yK6FC8Sup(LkZpbc-zq6iLn`57BL;N2g z{;Hm|=>KD&hBV11PzRlDT4B#Hj~eM!9JI~NoY=`bnkelawlpj8Hyb5UX=RNqsu&es zF@UkuH8BiZxx)RMLfQvx=#f3&Dm29;v-qV9?zbQOXib^`Uyi{Mc{rZ2wOl>{UbV}F$Haqxymk6J#wF}Q`VD3cx~@Q$=P&J60! zUhJO6#ov?9*-a4qhtxf+AiA8#!oU|PfYhy6{VCCFy|LQl!HQPuXHpN>PPu!;M!Q%$ zwIOM{Q)LVPa>QnA3)xeb=KAIoW5w{l$eFONe>ydN*?ak5dhgYfn?Vpl zXK7c;D^}ktU4DK=!5Z78Mhi(a-xl`*1py0`uh`I4L1on`D00ZsF#e(T-$bD=e0tku z-P4AW#%5upk4_^+L1JexQ_(`nf)3D8KRR+8fMQ~57I5+6441@*4g3Gi{{1(v@=lc@ zP)sT9$RhJmc0+CWhcr^Sk)Zp@iO)=<7|}9Cj(+fo|CHfolV5AB`GixYZ%-7_Il5#x zxN|i)J;YLczScLMDn=>;4WlAp|E$7DNhDrLL_g?(J>evp#DXCc9)|dIeTLj?MAUKt zMfe-J@}9{vY!9EIJRuz8Sr)7Kek|g2H%V2lan0Kv%R{LjL1`>l4%S*LL^|+#BeMv; z+t^glg8K=&X_h~jdpi6!q2gi7zrU=`Ky!fU;CVc1mXA2f_W+-`;L7f?P1#vnt5(fBe-9 z3L+^D@BK{{w&-Ffo)ugMk^isgQg69-S(9vU=BT(Yh~UVAuU1(0pA@0^sebRS+5dnO zx79v%FqsSFLzDTo40FL`>7!~uqV2hBv^T4e0t3Rx1SpQPtfRvEOjJ9oo^HnMYh5Tz zMBKDu)}cI;xU4X~Y=o)7eL$Z}wtVA6vODs_#ceX@$MtYHE}HJW*oHumcE!{G3E+n- zZq7OA&hWyCm)IkVZzlzqkzrVGMooN0RzBSZw;TO{1eRz&y0OW)NAsI&cW^g&BU;MS zLeUDkCr133b-r-3S&KbRmSt#1bW5b0K)uVT1Uh_RfxRUe2ARF4lM+x|7VX9&EIAmj z@54}fi_F50g{SMofM4u?6UmZWR&6uqs16;4$c$Q;AGKy^0c6Ni++uPwZSAs(YT-)L z<9d4>1G7Zab|D&)l!(c(nQkC$Q9CUHGo-RjeIc22ER8K#E@pGE@im40v zi$xyvLV&6fO*02U8M+wrL`mFAZ3N|uXk%x%HZHR69 zLn;Y^DD!c!8JrDp(08rAlJ25Jfe0%pT!+~ddwzV1Oi=e!YO-(LcgpXLz5Zio zzNrpmK>D80!*&z`DFks~-;4z8-#)5AZgp3Kfj51=22XsT8d;GiDc;B^ydsH;Lr2?+ zC-b!j-O>grT!WTzAcp248kp4)%a0wbRDM7KKM!bY7avU~dmO-cBmi1*BQw!Gjn#v)LA#xw098IuS251aowEbJOCf0P*0`yqews49NuY;pJZ= z9^A*pI2*D~;+CJLLA68YtOr0rk>~;^oaa@}EzdF*x;J@Ik0L11B3I1Gqk)QDNDS+h z%Syr4Eo|IB(fC@3OTAqVe63h;XAaOUZ8E~z3gW#~(V#Pm=FD)Oo4fjpD4A>b|JjE~ zvLnMcp^0=*WI#sK{MjK=tUtT}(u6yD7VS`&`R*M2#)J}spCdviX;^uy;=iiVh$?x; zT(ift9L=MtTzE#z>%LzIqC1w{j^W4))QKnt2&shE&Jf{$1|{FzElejinmRA=RzHi| zpf+X2;vNhz5=yQMF+Z+M-t())vQm&*TFd7szZ|LCPz&G#E_@ps;g!`oE0=R6aN1$E zwYBqq2q(sve{e#~fXg3Rb1g1wrwZ1KM&tVeDT}Ib+IPJDq6Ckrcup`Nwgu*hSN$ep zhc0oIK-xj~x}GOsw4ZB-)6B7)fwl>y)VDdE@G8UL7e~Ro$RJSVWjY|e?tofK{{aN9 z5JPUWHiEI+8XqU34V#ev_$j8S!kK@4`-e^*pi5ID+&pzUPW)J&(C9>GG}mxkLB#&-2hE-yM_%CmTJ zgsqsKlafWHFwP*Av9W7K&h-q*&1i3;C|Qzo7c54tFOQI5UPD3Q3~48-q_XrbJv1p) zPkQ?x9~iI?q|X~J6W~OJyGqj3ZcSR^U1^G~#hPvQU9@>FO|hN7gpKS0NX*EMG?7vL zM+$itphSAVX~#KpGqnT1_Fo)9H+>E=;~-S>(m0D0)mr$V@E%{@#hjPC{D zUZCXG8XD;YMRG3z5drL_K=Z73{c;rLyrU<6?Xe|{=uX8O=|8JgSbU#`f zpCNumG+2d07#i@TDPU)7f5#R=Xn%mdWXDQ#bo%qtS{!mz*^X!2o$r)f{Od!=NA8n# z+MBH0Cs4+OQXQ{oqZq@afI@3L&iH6TZj47?OZshT~Lu7%?&ndFZPDl?SA?sa0K zfebqC%gw94Af*7&5ZV8=MoLHRd&=cBtS2($B6}SkLYkga!uaGykIxKwU+Gb{VNqBq zo)6fKsAQ&{gHjlwltX?Y>->HMjKRVY8z$if zz#ql{X2##mr-wpAE`tBO!9do=*xt^jD+JtIK#J@MO+t3O=g`4A2p8fw*}QDm%ND1W zEzQ0q`C+f$yL#?!?Ep-DBZYXIWoVUy=e>hy2Fo*cJoa_YfmYvAmDdn@;!I5vpi(3Z zW?6@K5AKcH$7|XDa;^pp1ftnK7W}4fH-ho2GOvqgNaUjF4Jpm~K&wJ^4)s;wW{zw9 zm8@;-Jkps_-vlMo@Iq{Xh65z`bes|z*C#Pq$3)6Kd*VM4w)xNHvR|%9gbl#v20L?d zORZ3L-HXQ&5Ab|qpXmH(D*)KgcPZabj}p2d&3X2!qV$hy0v}}YsQtgJ_jm;XlZZZ3 zZ~R;0qe~#e4ekP5_S_gnxb^<+j-{3IXh?cS@Yu!*FtuWt7c%HwJ(Jk=E}93M2AWN& zO3=0^(M>zve=;~fNZ&@PnK&f(UZZR8_PWX7l)YL-b+V{xSp?boD?&%IVQ<}PhWw1@7ZX9U~Nbr;~{B2Wpv>!-$MEK?nO5?#; zQWLJ*B$gwE>u@OKs* z2|JNKPt5JD77n>(GVLu*tef$Y75(Vr79ZBE`{T&5coN-QuESJr zdt9OKjIi{nZ14k8jSIcjrBLs6Qmjbn3YTC-hZJ*(ffZ=AvqAtWR_m%a+Yx#u7$FSK zeB}`HQI>^|Kd{ukF#@V-(VWJvam0dy(V*w%8Hm9mkSvK>aWpKX=76^O#JxsKVug59 zr+tQjQud4w+f`t@&}ym>t6Wm5*}@tX=N_IS4WPQUw#%);6)%l#3sioY_nig|@_kYp z^7tr9Fs_44vxSC?-y`e%r~rg(up-J9K`OB>7?#QXq0K(Ygyi{ zt^G6PBw%?Yub2gZ0$-BSY81>;-OUWd2T|VYV70>vhN)-cDmeGSLK}?I${ozrZW#XQ zeRVWZ$f9zBzu}%Bi1{pKuU7?`9W0=OsZJQ~!76VS(O$piypzRs={9dS&^bSL|^nSD7s~)LHCk_96Cv?w83c<*{Gz<~Y*l>SQ~K^hME|6ZsKp z>5dCZjif;X7%lc{gm^!u4if@%L-5KMoPy4KtsgTT4dzCME70CG&X{bP$pCqV3);7S za4pv+QZ(QkW4y{m^%HDW*XQnrtOKZLiq{2fW*7k-TMa#1V1ejSac@%P)}R~i zY4htKv8EZ=^eM^(|Ag3j5Z-7A_!Zt7+Mo`5AI1JWDy7;wNl|E5nBT};WmPl8MszxD zqXHpC2p=bzTsF=U*&cyqjLg-KP{qcz8S4`iol*Xwlk=outn;FVh!)zIt0I%KEn-ob*5bEu^0}!|^LCxn-g!TVy)k8X z@Xye?)c=^<+gW}Qv)OO#yj>a>x7V`VjKCX7uOqu9S2aB78H)~5B07jmLvmi^j=7;S z8xwG!0Ho^gEA6WQa{T}B^~Y} z7gx*(bH*sSnUL4j3(D8s6O&ZST^)8u~bJ+$SQd61s5 z7>Iy6r@{+EtgD=0hN0(4nG-b+;j8)sND+O8D6I{Eved#FA!Ajd+4^txsIWp~-V|UZ z7p8x$KGVc8LzX}Q`Q8TOi<#yN9e=HCdTN8z&a&M^&kH0HbZH%j5_PH81p&&Y-y~VR zU`@0lhC`Kb>rA=G*f8b?8|Hq5j`E%2JnWt*0eJhZX z`8=WDN(jspJYc$O`bM81)Lh?xp@pqetm&B~o;pETvY>f%3Q}D_#?27-5$~)V=VwSAGFNP9tz#) z2ZKn2Z?l}^1?*$PXzwfkQ>t~z;4Tk|OKn8rxx~cX#5%~n^R5X1%{fSU>8SZ$C>y?BGi$}sqh%OT&j67A7|J$g{=#NIhqRp z#l`tWQxP+0vss9|VSLgIolAVidN`6aOLTXCo0|1FL~zBz?5MOR7A8FJ>@9 zWcw7jr|sC7=82MiEbveKw++kj+oZbOLc9zLQw-Jew}a9X=j2FK3CoTM$GhWzPbWD!!Q|P)moh4o zgK_5;6v7umStk8Cst!L&sWRAOd`aO$0j8P`dPYnh?UgWiT^5Qz-qQTce?G&lT>wA< z06`eT+%Na*zP2k%TqJ`Vd@L{u6J1S2&07xbidFAyz@yj2XP^jLX7e>0(RGVv?XpPM z%%_AKcO373H%Asy-9@Z6vtXg)7l(=R#AHVlnlq6R0q=i$M^6AkX)^93gw*n%lY~3l z92Kym03dyv4oXmP+GJ;AkNi3+TAeL}cT2Tpi+*f)Z+%2WDlBiQf~rnzS`141*I3e{ zLG3jw`@W)-PWy8}@+O?*#6gJDd#@X>5?GVO^%|>T-`awcK%M6aQ$_A1t7b=)+>N3y zH?d?7DDd#_YF_>Fmt0rj&+t&HBd|GZ_AHtFk~1#p2KXf&ozehZ3%9fk%)_nsgodlik<|9^7PlFD63L$q zqXkZnigYO$+O-hO1_h9uJx+F!!g{6c70>guG|vDG{WfvzX|*C-QcDk7d)B&h07)aU z?$A%Er@|1F<&G@4c8p+eL0YhO@BxFK#ls{Ak>iG?{}lj<1X);d*y0n%Q7d|gUir2y z43;dVjiu&7p*HA-?`smff!Im8`twS4cGm8wpT;i0&L6Y{d^@k)SiidxUm!>0$K%+% zm9#BE=(9cvz4W><-zW&fx7lSOk~3^s=Mq{)NH_8~MbBCb z2tUmdV7hpd1ai$IMh~#&^99u9ciey|RTZ5ZXv_VU5DrlXV_h{aYP;Gc)P~a3mUo2L zhRO9}Jg?Ol?nON>?$06s(Zk?@`uvBW)K(eZVn+j6@KDi-!m7RW!$J&;oGD1AYvzVk zljbqC&(>=q#7a3mI#0=O(0ZkVYmj~>1#!_ zULgQjW*T6rp7MD(wE#;H7s@G}BmA@>Fi&|c(0fNUUkd!2fqL!MczW0vXCch&E%twd z5m_oh+bm|aJswVMMqkTDhjKGs%>My;W?bBvp7R%NHtI{C*XcTqfenR5&0{Y?#56Sq z){1lh+R*ttC5gC35nd@9EXApbp{-@mg3CW%T6|V$zn3#V z9}tu1*H%N^lD*OJD#M(6ABc75ByJVTy7A^K+=IgaKqnTKOiT?9amSZX4C;LkK(amu znV@@#wcBMcnVG^NEKO2>n1SgTYk2zIi~Vwex6R`&f7D;iSA6IguSh{AURUuP>OEc# z_@aH?onnH>=OD8wRrOFxF)xjL=S2L&#XTUDj8!xItN-@0Mioie1Fm%jpPe&rwAj{H zxXZf){t9hQF#GyG!ajNCh-M)MO-$>j%Mb$9B<@1xCo2wx?|+Ork7 zSwGgF{i2lKg_HLzhr1A$f;Dko`7>MT2-ZSQMrg^c^?rE$+rhC)2aGPwE~y`KAU*uS zbnzHUR4n8jQ#&2Z88v9F7Pc@6BaESM8NAlc(+^`4^3SvLguI-u=(ZdI>HYWCngU|N zl@vOyCWkrl`9CQUriK?!hsW#qgS-4B8E3es)I^4wuwlw+AH@MxN}?O3oG-ylt+)Ml z(5fLyRRu_+h&p)EuijvnmQxw3Z}`QCXUn+FBoBf(m^Gve`bMV=`i*_NgPAVDW52$l z@$24;Giro}aivY2h3Sfy4`f*U3Lyv_fc<#{9Y;c<^te9@Qsmy4QWymimhVWe#WW;j zyffdbQM1=9yWRSzMth-uOr_2!cD-cxR&273jI(U?J_n9^Qr|~yJpJ=vvjy4lr%s5K zI;f;YF;#vBAW^35=kusy_{jYvC)}-_op!l&_j!v9u$ack-4iW58k)I=jbQ=IUns>x z1OMr}N^-q!n`#)EizQI9A7?ydUIHOi^J_%7`iVB=PsRS#I_%jXr!MomixpkP>T>+h6_cx4eRTWA$O4tOyO- zu4*3^>R+*QAdp$mBn%U*($pH@RDPq|6U(C}Ckb|4DQXvm*IQGF^!QGDh!c$Qy(m?7 z)C9pQMe8~CBT6`8!7**~t|maw@Y2`gL?-18`=78`V>bnVHKNm&tlVD=L?aNVYCPK=~1wVv^> z)cA->av{UXYKQl{x|>>$S9CUU2wJR`{4EHEYdS&@nGp(F-x#qu1tQapinC`qoNjX#vOAk`$%!re8+x>+QVUwH ziJ=}Vk*mqnrkk@($kQ7XDgsp!WMR)QG;Z+!q^y#>u5aw{){Q=c;G!Xg6Of*W-Z4`7 zqGqbIf^zvml2zw~i{q?Um{sseW_h-#h4@YO2Oi)ph(*|2fo@w)T0HSbxNoOtS|CQ0 zlkXKiRdgj&+lJ<61?!XlIzQ{9dh`s0P_gez2M2is!;sd6P_36R<|y53L2pmDk8zQO z0;@LA3eXTYVDmq~!WtYNBUh%AaED*%n+$b{z!sUDkMzrUY zMqIiZw{@(^JqyN75-&U$XHTxkTi_SD{|C z#OQA}VPQ${XU-q}^-8cubcMGeS7Qiv8uZy0T^4p@!kcEfGj-cVARDS;L#Y583;Imj zv`dPjzgY8l=17+kDBISi#EY!h2tUoU!Y_1_0D8QedQxcUYy72ZeqfbFC-H~u{{~ic zlq#U+|LK#ED>n7>U$G%V8L6#%B1Wh77vY+C&-o5*OC1WAs9Ra}8>;)~yg4Kh6+Aw% z2CBkz--B{qWL{$l6W zt6lbfs6OI;EzN1Z-fa!p!baQ}zY-1{HE4!AeHRENc}J@EpD#vwaWyjk3cD&(3Rm$m zF!Pc035RvI7{Qgs@jBNY6U_cuX zF+!;r%>ctD>T&e9=vvoNw#oKlQCM6J4h=Z4&!nK;&kS`0LIYlqjOeP4Qq`_NuicQi zqAh#CjEh-f1T%Cu`$v;S(yd2a(t>XBw`60`2G1Ztv)OoCWA?#XF9-P7pNGV)vJPcf zpLEr*(^M)hPcm$Wy##EI`#A0z%|*r=!-lzxCD$;dC`X`wyd!CvovRH^s4rb6`YxtP zf}azS*Imv@7w6N2Da;zlB@Jg?Zr!)t20je?b??&wP}c~+9_ff9L~bgh9K=Gqc@E-y zzaZQMd!-ZC;fmYLe6s)y$eC@fD`^h4WHM*sLZ)Bfxpj3pLsQ}eVCUYjMC=&hz-m9s4@lAE(N0PRb2kw#5Vi-Zb5J_Oe$%nLfi_I9;`&Z3GnL0hfS zuIeIEUeIL3>b(^hmqBjUIEf6`_DfwhR)2H289fAVy8I1kfGW1mMv%B{IZJ*V%jX-5 zjSgVNbE%yrM4p$fXRNZTP8{5o+mlI^oxVD$5nlLa9mt2Rq_KNrHC)fl&lcXvjw~y= zzkkpK2Rap-m7gfdfRK%anIF0(_BTqjvi&VRbwdl7xSz*;xYfY}%p%O=80an1A3Dna zGa>>E#qBpBa_*2b{Q90b)eH~~2cZOdca^@I>EZRYzlq*vN=e$mVI3L}ROiAF(drPg zSZy|{V@N&F9F`R+VZ(-o*PQbf=dAR-O9Y-N5<%JO)QU5wKr@C9M+9shtmcu)^QM1a zhGd4Tfl=ow6ujml%zC}R#c%3vHpB~c;~4WAc&Awu6IE=28S7cbK~`=VB<=4!c)I$x*r@c{ISng} zu0TtVy`~fX4MHNmdvKdGwpT<>DI5u(L96hR!O>Uq&z z^_W%&y&zP@gq)0MH#5F8j)lxaZ*p#7KFT;e0L-oMSDXZD|l2`=%PV4<2v`Q?E)9F7V!9g+g?t%hEI#koP^{u+L(azW5Lo$UT;3eBsD7M} zefJ~Jv@x8graIp02iz%nB)tvCRG@?`UMF`Vt|*q*Y{afHiE@~eKg0_+O^pKL^A&qK zlxet_+kx>zOgu9wz3TuyHJOOB_lx4*|8K4Jobc9CfhRw83-fqgf=Pg*KXnaDGQ{?+ zJ>69y1gF}Al{Y%!RTk*FFoKh!f+@IZ{{vBkyCDExzaiXJBN;&jixYPs$casHOXny3MzzuS&?%6x%K+Ek2{HxK4_mv(=zrRKpdIC!o%M7!%bD=K#^$E zBSZNrWm2W>(l@ONEN4P&j^`_K|J5}>@49%_rm5!N0&qw(dsxsGwn?kO0dnk)g68}8 zL90M4v2qxn?soeNE@}aq1b-j$wXLpFLNkGE{N1(F6!o8SW~Uv!!=f8aD+shlyDe3^ z>O*DLr_i_AYg-N;Jn{9*4N-%i-&5olghx27(gs@IdviUJifUD5k*!*&9u1{Eqa6y% zdu)nheU0CZ-Bc|57_=F(LUb)hejQu&N6D;y?mNXg+kUODG&aD+rRzmz!=TKA(>0=f zU!?KQJ3Yd};;OvxRfMoWXHhf)M+~UFvu*U<6Jcm-h^C0J+&LfW>m1$aDJv1nA0(qU z4P{ZUUF$6BQ`w6&7AlHk3cya{Kw3D&n}CUAHrv4FFC=XVL`+Rw>-Srt6mR3d@|_C! z^b2q@)96D^YdHOD7$)4QyCGoI0W1HOf#lFmJ=jxwAt@sQz%1){&ew)$Z=_mvO9dyM z`rWe8Z@I@=e`S?#m_FXwz?q@e4yF3W2F7$gc&*8sX*qrdN_U`~am_zk^j4q>*D3YPD%?45_C2^>&8?DMG$ zcpc2`d=isZGH$Sof^H(XSa|g(Tg&H8yH6*AlJK|jWYPX_ckC$$jmKpPeyG|Co3g$O zqz>_f#9l*D7#@QRd_Z!>i%_S|A^tEl|JI$+QT%t2MeeNK{l0Eeqacq1fOCJvW|y?I zl~XG+mV6Y*;jIC@`-!cKzYPSC5wxySeQ9`5Ds8_JJp&EWApDDpGixBB``7eZRbSxm zIWJQjd;DDWttwt{R|cNbB_YK%v$g;vXnIlU#|`x1mv!LDLG2$O+vsn~3FFxah>efu z^J!-B**~6fU4JDRsk-;~h2{R~m2Nq%q&-|Y_=TMPq9asxM5ePGGFd|SwjrH2jp_7M z9mfYyMv0$UWa*WxiaA;Td++U!k(q)Z0;vjr0kT;$gX5JY{{uG7?Hg*FA|~(xN4cb6 z8-xpH!o%74rTqI7#C3PNvQKhQ58Xe+UjG%8Ao`-OVFn5yG(5jX>m(y{hp6kZl&W zC#0ek%Dp*Xn?WMWK-pZR#xR9T^Ut9#=weOU05a~{q?dM|?2Ft{OJ9EWo-h`_<6!~o zu*_cYn58JA`EcEUj`onX)TYS?iHJw=1i!=5m2;ATe%!6sfZffaqk9s9?0%y z?f~3TkXToaBn8dEHItN6Oo%^vZDbSfW>YVQ<%vX$zhc_5LG#goXr^T4^vpZPpwh@*_ zzJJZdTq)v{7NsmZ&&*)AmlEZ|n0rgUNymhGS`Nsk6qGtDf1kwkWu8yzOm(3_^C#P9 zP>A5DC5Y~ee;`K!)%0M#<^2sxUIy_TxFKu*R2Ww+L!hm+@DYQ2br6>h0}pv@h^btgIcwlDgl5avK{Lf=Zq{IacLXVM*aGedPHd> zcL_K)yF8lqj_olCyuPpW=tZ;rYGZf6x|o;o&(u}4EY5(>m2lTtm|__893HR4=Bn-j zfoGWu1!fhS`C#ylU31t3YNNMyL_rcBKZZu9&N4fepDd=gR-R?DW~d^waaQBnQpG;nAB&p2_wi4OM5JrYkiOp*9DUCddGe1p4wiZg4xq93)-^W1npaB7AM`G=?QNl36cZt)M-R$!jG zn=?2h9z|`?pP_l$yY~L#>jnGx%h`;sZgqCbMsH>B9%eMRsTY8($x~7-=-WV_J_JD?~uE zt2B(z%gup|OQuw4#O>n%4UsBzGJK;RS6XZ*V2aBx4YOC9D)foV0>)JUwRTwO-xw^F zVxKM`t<^Ac;dBOSz~;IrzHMOTX6|%OG4{@LDh4TGLljuudofie zmglJU=QsoL0ifR=D}8k}*F2uo=OULpSolc{gg(FomlwGR{nNVFg7cY z62EZ$O?4@W<8h;4_Axn4?(%ZXQbm?-KO>QV%MHpRiz>3|cu)IV!I1;5a5fI{C{DG6 zTz=I?^<14dQ?YRV@~1uLdc-r_I)ObeDO7_k^!{)GNQnTbfC%*LqdCmL|BT|L^B`_c z?!IBk7aqB}Pv3pIa!pMF|5h~vD{w<`3(Z#v52qEd$l1zjSF2zwvO7~nKuQ1WbwvMH zDf```SQqeL2LQ#$1qZGh!wT)-D*}&yRi}ccEXW?IFA=lvh~T8^4yPA~S!4;()mFZX zwjIdh!}SZ9CA=g&WVFuU-iAf{&kZAhG{{kaOxK*&-07Bn*ae8TWNs^W9Awy0BrPMM zsHX&PfEsDOtv&y4eBZj+r2MssZZB{6qt&(#);?_cdnrRWM{s4yOdZd8H#D86K>S+| zGJRaz$(4zZ3VmC(eVGJ{;YV6Vay%tf-V1EZ^MIjkvl&B@+ncw?_fe{T*Dd2@8Zgu* zISkntebHn|(pSrK7y-(zfyRHK!1IBm|9|sLh>4=38j`#J_HCTb=_xq7NqU#b>cFcCl%d7)T7x+I{zX zGcRkB( zEa??#tIzzj7h4)x0+p)h?E(I{^Yv-C=%u@34s&^O@rJcN>zs4^+*TQ z-`|K3M6hj}@qI0$*qx?2icgly$hd`SGvxJdylM+EL?pd#h)wj&Mlh3>3kI}vVu2CiiL91k508fT?vWyd zWo_BOHq~klt~R#$nupwgj|v+!bXyEx%HcLbAmHxSlihP*}@ z`nN7XDxEWwJkvAnpm`5+V4N{kqiC=zu6`45cV2>|s8hS#mvO_+6Hk-eFfEX4iP3BOh5MY~k-%VRC?_girbjQ8Q($J&Ko%>N_ z%I(fh=Lht7DOcXX_z_F36+@T$PZhJH@w|-ZZ0+M7Sh%_p?6dH-aU}168C@V>Sxr#z zNO{_U$dw;r93Olz5n_00%_{6%hBZWW%_(AMH|1JH5wryZT#-MqVEjg)w4|b|1LY{0 zH(kee4#*z=1aavB8xZ+M40ARV8=TP^*7?%8XlSJz1`O#_|F{gN#=fycOu`o;^I-=vHkCI2)C*!kH>?=<^kVX=We)dgQP>vRH5l z)NnnucUqiM-cJ@2mx0>Aaw~YsM|!}xf|1B96=@JW5d!Q)wGQBg(t9$Mms!p@!q$g^ z01Y+^ zd46pv2@6`hEwayezTfvW7Zv-88Vc2qxok1+Rm$QwQhCb5_-(dRUQ)3Huefl2Hkol1 zK$1~X6C;kQ+>~W34F7A%GJoIcfzX99Y+lb~3NbHSYlXAX{=A{xwa=lZhzQ49J^CQ3;0LpROk&`J+VQIhT3u-% zsH+?FGCKXJry8z%bQEzls7rEWQV-^Te{z^A<-9KKLAqO$Bct{CW7HVg454Rh4ONm~ z*04ZZu}uU2Uj`Lr+Jrlm7hpB0yWWos*6Zv%ia&dsHH4S}`5y&I3GZWbb<)*gg1_e3 zwOp6rE_>^HgNm#js~w1p(GU&L$jL~#0R^)Ah4TF2!M1w79z@brqgc5{O5u!Bq3iIG z?nVp4VTSy)Y0uB*C#TAitE`ZjcHzVGtgf>s?dpRwES9{zI{e3m>TMBjaytB$U7ufe zMX-zG2^s;}6klOst`;yZHq$j{Ur19*YOCwiYe@TiRzzM31^6zhEf|zrMpf(WaEaF( z@?UOuPZmC&SsZG@gm@gqbVYW2 zOPB$s7uJRkMXr#M3kJg?Z78P{!JVZWtg&$klY=5oC62P0^z0XbQYfYDWE27p4vsH)MG7n2T_M4ib`M(yn=C1z@o1J5$wFsF$ZJHgGmTAur>n z?+3)Ze~PT}^TaO{tK`TUAgZ!?WCXo&x4*NbmA$#>#A9uSJ$aSlly7=g`shJ)8=IDk$(%Y`lFn8) zq8uur^m>L>^82+wj)B`v<;9AgmVBCB6@M{;)-HA}1TDZM}GeFRAa^9LJlqG-I48zW~-82({!1bK~?d>+SBGsU7r{(Y)^G1 zZcn%tvoeUW63iGdU&Tagy>sVcbVnYypWnmj3i1!|`ko?M<)(;p^~^`dpC>@{@n$Yv zG2$XM<(<;yJ|lM|GPZG7TVc8wj8m+fL2b2-P0hC4)kN!mn1;ZrcL9&sM5xDzy4Qm} z|A-1_Pc4UhUIl^_{~Ogs5onkSbqlNIpZht1QpV)D_6EaqHLy7l+i>olz-{ed#i1rM z=pbjFT}Ucqm5;?iHl+~N@4Kg-Js4Z96@660IMXDE!$vHk39vGKvEcVKh9g+(>Yq-P z65d`bcyAmW1-<+#cmQ*njz=<~V1_|u8nEFgHJ+CpgRg|b^jd99EUq4!ELP^rI8VvQ z5=a1ZwB=r{A}`(}(30YUVk5+jsYS~7R+`hR@n{pGB(Gr3V0i`BWm!%b8_F(GOGa^? zG(uOjkRUFF(7gGa0OGM1zHuWM{$8aOGX8YVc^5K}8~v_NgAS@XznLTk(+{LUN(9IW z3k>QNd}72pTA$X>&ot$jt5!Z;=dmWjwi2q3LhFu(rg+v$Tr<2N&yWC=3wb}fi_jHk z$lo86dsB5VdWq_I7HNb13{ixq%1;Q%Bt^<1VN`+i5zNHTGgI=%-!;YR9}tuzfufQZ zbL<3MHHwl@Hxqt@4Vif$2u+_b%WzB0NtO(9LwIain%XSXpuAII9@C z;ClXXW?E{1H-l1z%ll3E&TikmFEA<>qx69Q0Zc$*XBXg4np`z2eJOVqcK~ti95Z*R zZ+K-;?dl(ODwpDffk#AlEC{wP355ca;c5L@#*@~tWAs3f7t0rE+BtK8V zJPgAf0fuiFZDb3lKGP}C;B53zj%S{kMFgrr;ffo>nZP#f=v1vyTn$43tVj>dqFnu( z`iVU%W7wE8h4(BAErsGM;BcL8dj8NRM3HmHX}q01{`X~`)#0B&{0 zIS}C!DP2eZY(Ks|?paIkciq+hyMtcQMQAtGKy-ihpj$hr+vqMSp*b`bLD)uDFu36t zL(C2{7xtwC0nn)lg6)1-lwIFTFx(JD&B=?+`bXJ{NCwKuf3S56q?i!gTmiV|UqO^G zeB78m4%$bZ^!o!;-3;sP2^Fkm^c*GDZB1De z2%Ur>0GdIO7s%u#p%~|TTZ;f6kA9mgv_E&l_Wd%lo#$xUzj^JCA)fprOwy>DoA>H5z*DH^FzKag_FrlvQ&7s?eZpZu}^x0 zj6mW(%X+TRW82xuG!R4 zg4MLz@pL`jw&raX^AJydLEN}fp)9c7X{-h$MF4#1tfQI_{DUH1*tK#K$KnCU>e;j( z*&5bKC|>Uf6vYa$P(a0)07wmuzXG$d=IX&b7vCU{7wAs=7YqQeWf>n4$jFp-^p4al z!+BrKn8_D)bh-5s37617AK1&TuS2SIK4oWh`+QiY5X6h0l+yt;?G|yz2fo^)8aM6{ zk=X#Bp6w-ny;SASdS7v4j;l%`LRXRTU1MI{Dv%g^bhGR@6VG=pGPZo0W`m*ojPZ>~ zU&=7k{MB>Se}wJEswD9{yL1JzQ2F-0G+h3WeUD7dc@n4-Uh^A4!X;gJl?-?F&gkX9 zf;L@NOyxW5T#z!-k)JaFH$ce0SQ=#^K-1r1(F>Obf5%sDtOPVCXNifCBiFd+ZeafV zs8#q-h~A4s)Q(C0YHeQ@Hza7Z46i!aY7i-)FoqVB7hPmK8WOmy@dXkp`VHd>upv*3 zC(b$@Rc!X_-d6O>w=R-o3HhSaAGEE*@~e_c9tvXd!*|^}!piy&@0Wqc{W(qJ$Crf* zdC1M8G_nnk%_B3Z5&d%}j6|pDHgwD}#Rm%;B65O%?+}Mg%OpJc<^0Jy z41?n-ah~Wl6%xpAbQfXhAl3*BVhfBQ zL(D=s#36GRzGzRRB)-qubsY+= z5He<&=RV&Bf~Khi2rf|+ht2bRV4&*}!#-v#T4m(G_C)GLQ29ox0TT7ni4mf#hv&8QUR-9}OM!Z4g;uIN*Z95~j3U z_JEb zO-zkBCYu)Mbg$dVarqLrK30pD>7EGKBoG9F5T>iajlo+EL!%*M>g?S15;a8kMXbW*h-E&!EWO;bkRWX9B=FESrITX^qRuw@iQ= zNP|U?{6(H6P@3U1Qkrlt4D-m(3j1?P)`m*stosGUCPYhr=Pd*)IOux8U|8HwSu9Xv zN&Q?yJL}yng|MH$nWCmJhh;a6LR6R$hC`NhmXrNPp)H)@^eV*P;NOF0vJb+ZeQG9$ zb9ZN!Y_1m^3z-Ns3b6ixeT5Mju7>@XxtM$G!?nP3qa5BgS0Ib>`o&j_&2XQI5TT`j zZgI4YQlT|Cl4d^I>G`m>Jq`zLjea?wq(elUT;DMxH(sQHM% z4MNU@i;E~h!JKNq+GGbS%-YN5PL3sqemMC#?#Oq|a{~4su_K8bU?)zeLQLZkcld_U zv5xbBscNW@zn&KLpk75(z5zzv{LeN-vN&sRmIJ-rBvl*Gl(sric$SJ!v#I0Nt;SKz z?zx%MXH@{#{dlU!F`4FL2c$x_S-Hl%u3Q6^9Cyqsv`J@tDLMi9$90`p5TSLmF_=~M3Z=r8DW@eE3ooOti#rKI z(OCg<;+Y`Vx{CHW`2$W^jTEhfW}pNJB`L)IcJT`{tn+*?k~fdguY@!_?{<=dW~L;M z$6yfE#)&4oRM3Js^o+8K3tC*z5d#}etkmRtiYEtD+$J97s8&j5=8CWnHuK~&c)5Eg z7~&i&m6cC(8-eK?|Ds~_rt!fb<*EPaEvyYyc}zj0&v}c56Hx?jo#9Awt}6jWp`?;j zIR}VArceS%jydd1Mo!U+AJBXV%iH6mg>)v>G2A#msVL20HDpN#u6$RT(#}p7{kvZ( z!N^#+9Qu5K zaxzb03FV*6dFcF zd-Z+`(FUCZ0VwO_;&p|pVBactcYV79@KqCL%z;^W)_h2CKhAW`TakrH6``Q`)pHk6 z)C>ap!^VKdH#~7?gZ2wQ^Rme#$^)x~-3Lyn>fs2MT`UzwzmV$L%CAmVV|{bli8wiu zUIQ!4xc*6oyVy6gCc8ot^@@UVm=}}%q*p`KM=TH(g543-xQZaWxpVUK<_Q*8hA_L$ zPl;Ap#|E?O)=^Mw&zgpS60ktWoUfRz-Wg(VAf@b?^TN)KuXP&uc>9>ZK?q| ze_0<3F3`Gu=+5Tl5vi~0V335Ef*ZlJ2}{z%MNNJz3GT&M>HZV z$gRRJsLUx&S9?;&oP9CjK6#1wP-E!W4d$2=SZkaBdV-SqafIn|8aLL4k#DDP0N7IU zs|7YKen2^%-mj;wSL8M@M}3-Z2y(le_6Ud=9&NzSE&;vMHAQxJ*=8F$$vOrqW^N!Y z+fxsPl|F-Xs~hu%5_vB{Rd(IP4UaS9H`YfM!~GrTAP2dMG-zCLq2mW%)C@gJv(fsZ z(OSWez(G2)Ht8Z_s#`(f=U(ztUO62CIl8!6h^P(PU%f`;&PJ_7(nGxliui5T?ZeH1 zKlDePQ4eqbww{Se{8L*o9|pCDj?NsFnte!r)&>p0&+9tLAILm9xz4`8=WMWSFGeOT zeg2p*tDRfaw3=#2_4K$Hz5A>md!x>WWK_ZX87N=ugeNqnIv8Wb5U7}U$Hyt%Py4J> zzps`{rJv9^+hX7;$B=V>_w*zl!KGNOR!UfkcPy9fV!OJ?HuN>O`|6?OJQ!rL%+j11 z5U?K61h6XpiA}k{WFbL(UV>DF&7Yb0)gFBkZm1pYenU27_O$nVjegmEO}3 zO4?HQ%JgpT9DIsZ)@l^HXM(@bu4o{?M0O1bFTLJfi&%jsB4As4TNoE<4h3A-+W2?( z1#AT)o+rP&;=7SC$I}1$km74C#EdNoevkrW??I~!#yj4j{2f`1)*yD)+^qD&9n7t|Noq3vq((S!;NOVvzR@yT9ck zc+WdXNau|-u6W!^zL71~cJWk9J9>k`*XU{_3FL%p6NCY8PoZS2jDuHwHX z6RD~#pPb+02a|uo9E(xlYRO6t1$?eIYT}*s0BsE%W7cpJQux~SX8zKxF)>1QqHrR40y(+U3bs!jQ!5> z6*tIHN1tFLqPdq&W1|x)Oq1nTtB5wVh!i$RE%i3Ap6b?(x&N=Ns?`doyH~zCj84)c z(lh|Cz5=#z@Y>czVQwZf$rgsmr8)|P`xgiTH>fkqHxT#rSkuHPykENOYALwpfgw-> zGR6}Tqr45G9hhG4D&i&r(^4Xn-ml2b963$Ky8CF1wx^l5MGZPwNynqWT1z?Msfp;Q z-z3CiGt6k*y{3*&Xwt3;qmnHO*~h)#(d{0Q0@F0Y_Xf+^WL_iH)4+ml>{o}E!ujUf zHL{>(XI9D49E_^~2RCFz_~KWu469lB+{2mEm8AD-N$h>mK{{_fCAh&;CjfrCN9B1^ziIJp5k}u z5a@%t|W|MjbU5NlikQr+d`RXp3&1;1j_J`>fIl-s?3g?5$(@G48WuW9U3KwxzAb}xtPpw? zwEABK*-uWty&6+!O||R%AlD3O(qyiXML(x|CgSKg_J_;$v{fU>!uJ*}be$w}h=u$n2jic-0(!t@d;wfDg;`JF6gn4t15or*N^tmzE04LRVe)cvoGp4S`7jnQ#(JlaBl z;%j$1z&NXM5CrGkgww*)TJ{agXEZ#K_0f&A$?Zz zWbOWWQM*_C$7>0i)YT~V4|$++ZSPL4-Yq|bQ)?iPW7JseEG2D>#L^q2GzJ`kJkRq# zTDZKEhDsD~nb)t=01`~25ul+|x33!NDLn+R9ZC0SFsGE@Bcm&9cMK`T35LL?)=OBQ zs!3>zcHJ);cEF~H`Z+}(6oTzF{D8N*TIykOhs`@)-i&d;++L{05a=-@Y(xKNdhMDq z*Jcig<4t^|rq;YU)Vdw#tVy{%t5XN0E;+N~r)2%$=%EV0yOy~!7)$)EqVSJe-(Amx1@2n-6VTiW%WbP$}cAIVfz{LZmkl9wlF&nIdN9vZ8yeSfbn(0 z8P>xIED?hB0U9qKq0fUa=>JpIHIdRcK#A zkwii6;ujR;O4&5d%RfmA)C%a5-~FhLO|~Bl4m0)V4kL&g*_uM*;IDv9d1xM^iv15t z_Duz|EQs75zSe=4i#7YI8{FBYfkk?W)&cA{)3{ppiCkEDAiWvdU*BLB{MTCRT)2D3 z3Fh+U7CtfX+ci!}TpX_N%lt?~@uL3fi&=KxSPDyWR=@{s;4!g^;9F54IU`2{aVifH zce?BxNy<3D;iy7ZbJx)%Q$ZIj`WSp;2B3X3c0=R@`vgAX-kbH)arF+Qru`H1$#6sEA zb>__c-DQFpMV?zdki)%6?z9v0EA&kecvHSjvYB3yg7)}Lfs(?WYtypUB(4%l@y=s>Rmir^a6~z!;s0UInUM@?X$j z7f0L43Y|+lAX6yFHDzBAcP9xvZgW*D;cpmJ$Z1@3&!h3=*`ut{?>hsDH@}w;3Nw$N z=UR}W<`eIj)6428hjsk~r{N0eFxtQq_wv;sJ@k16ot!@5^e~Uh4$W^LB{oo8@wjWj z2qXYx7H8tgb;9%>2=?z;AadZ9)A!p;DY^7+0;3|rqGI!VGDD#CYnsL!UH5y^NQg82 zl)C;&8QBjc@#L-CPuwQ8BMH7rXjKZ%u?u=75vizm1LL*2p=0o(X0QB5*LPJNPV7#Y z`y7P@>jr&&OcmB^^ihr+yCkpF*go(1UQnD}o0gu{2CZpm8{k6LSdL_Z9`pVUGp04* z`D{do0U(EK=iC=-D&V>}U-8GU-4TZtCc@kzrr)g$fCjNqQ4l!)KiYMFo#&f*>RjPL zxBJ>O*Y=Z&WjD$;^i-bU@T`Ck8w+$>KOgXr18R+s+A<>%oDmV!>Bo`&vsY#nxoaQv+_|9B|{ZOJ(Ext@ni#6 z^#*)qpIf3ugD^;OwRdw}F2SQ@0@2F^&zrMY(z3eb1cGviEgJ;w^Pc1R7p0>&BJ@_P z!3oMGXj*PFUQD)vlA1s@FuldETI-;$cplWT~P1JN;#Va&8Hk~%-USOVzeOfgx zj+-C=8c#K0WzTT7RXw9He4mD4TosCY{-bm)fql{Lbqd|DBX3lV7IM6}eJE5c-d-fh zDQ##37Xgr>YS z{EVu+_iGXE{~W_rBS^TXlBj9c&&==(rp8nK`nM&c7b#Q9hMmI$)J&)3q-ijp2`m%# zittw-jPyAbJQZQ&e|=EUw>9RL&+gGB;KbKhDF1Fw3LWKOL3YiY42MK&FpwQ zX`&eR1njN3+Oc>Y$xZ*8fNX*&+h+RSkyZh7zMU^`qJNbP2)mDOb%QjOKHz%8&dUnf zsmlJBR6StI++IBSxu}+_r0tbe3wh*zk%w6a4TwUIIayec<=>H7;%^KDSh{-5HhCN1 zqZH&F?`dQ`BskNei)kk}6U7+OAi9P}9G&o8GA-ko7(6_s^F!4}idtmDSZ|ts4BU3j zSBqaKZRYAPt;TGBRT&VK=_^-Uo3TuhBX`qgbF<@T6o!V&F{MoQC{L|A>^Q@5G{ttb zab8CsG9OK6VQgQeLCX!B_KBciZvT-w)H7kUoa#n9C{p9=>0)j{3Z;V&R2Nc}%!N!E z52&2E=ZIA_gqiDQwU<*8c)KdBh(Z~NRd}u^L^|T^ST#{F%gs3}qV$>s^fwKzuX)U% zaGvg6z~xH_yx>EsKQJNaA4fj%(fEuJ=`h51IKVl?zlZK1Sw~g0(Nf)C01FbXgGH!WFTo9z`W0^o1Q-FVOozdU*Mu3@4_DHGl3dF9I?|ok)Sj2P8PZ z!llyo?m2rZ`$q^3)SR$6h2x6PllLGZchkPM-w|F5p@jGim&Emb;KOS%3DVef*DDX^ zm*pRZi~I^w@%UFd+FOM$hmnRR0`gSM>3s<-Q6{5JbUANtUgVtOhf63kw?S42F&YjB z0FkQ33O3)z;xf#13VpUZc=m}+SP35-2L@ncpDb!y;0Pb-fd#V>tUB%*u{74m8Imd#?%HLN`|}mLYiM4s;*0H zC2U*w?x^IhWZEQjA{hM$xl#YPbAr)M!I%%fCta{kkB7o7+Jl#wc^EKW{88fx#N&0L*E_u{evyQ`Cr~bho3XFj1kd!(#lh*#kO~_ceG1Z7 zYc(q)>>jQ$0G7`5u)&s%sqCkcuNlMxD*5l440ph^W2r7XYn&gr0xhiw6SjnBAO}!w z6nT=(1`2mP_42#u@Dj@ay24+zs7l@d;!*orl@%rWkBS>W*?8cRU8Njx`17qaMm1w(u<~VeA8K3k5^s zd{&+1!%}a(kA=hoxos#oE|iNTH~-;d2w@;&i`}?}sX`i?;BHzR_2SzFUHje1XRtW? z^PmOi3XAG?CAuf8JZr;%J!9y^OB|QQ4dGjt)xd7jWTCpnUMN@*Z0hdsyWu;KQx^HOwO8e?5eOr`wx;KTSb>ZszEgNlSP4LC#Y2Mbv{|$*cB>q;_4D? z*MsLG9G$%eG>XNHYdyC3Ol61&$m5|9^6t>YaQRbwuQVR^^+Ft+U^5C+lO799q6cCv zLEV*PDvFMpI`$M3WUwdo$PYiSfxYOiMnyPVxzY%sIb0)oX~`&Ckm!-L_vH%QWPd!Lkm!^#I&j8;NqDE#IE|lNhmwt)mFfr=?&X7 zzFK1^L%6WgdTwz?FoZxc59*=zyd2BYD|pK+pIes2uSwDyTHd`ebl{Wmx*^9o@@O^j z*g!Euskpz?gDkqsE9W+6#NZFaLoXNs*|rV14RGDiQAN9}=nK18_=+^UKPc<(%?i!Q zLcUOin~3>RQ`K2Ac9^FM!a!@6iz_;bD2y{KZ-GvW76*T4Orx`N8vq!|De3AO?OB$%lPyXfIMB2P*{ zoeLOIkBBzzz2UWaa9!XA&we~#g(i(s5>V*s(1|iriCEuvws}iW^Z;Qbha@5VU!dfJ zrzN#rzNVfhsDfC1=>AcW)r!!VG5cDRAW%Q%%2K-8-k3bNws34RWp)}J4U+RsZVvD=kGnt-ZIFXuceh`pQ!}rs}y742k$Jc zxOysCId8s6NQTfUuwkNUtnKoXV6scbgMILUyoVj=)mKU=b@sbNf|6x87%Cs^lb9{< zVldWqdHVqO&9B@1ll|O4u`l9G#qi!ZbVuz!#PyJNb8e0wr09?+EMh5mT2Mq$opxpY zafMh}TQ2S;l(K!{Vk&=BGA=~yM-W@6$wfI{9}^Ws8=p5FFB=AW2;370V%)pqCLE~_ z@RPUK98C=uvVv3uTbH~`*x5_U6Bm)O1VNrs=p=F&{`g*!R0}HqJXfq391|D1*jwGW z)ocfGB^3lfO9tfm|2Dnr;)x(3391eMmHv+J`U;r3{W z2iA{70=HvxgYD|iaCnLzu>+d@38c0OIn-%|kwx8ofN_*u`>^-fhyHlFrds-sPT zTz9HA5Vs=N$`XBxsR&d5sD?97A8fNO{DzH*_Yi|yAmo+-n~2j``9qJ4NDC%^<7!#j zdC0MF|{h>EU$NTC&YI`Y_;xbg6kbY^Kq(20VhMkh%;RmC)82lcDIpJ^&CT) zMB2nH_Euy#f%^vO260$e_Eg4vsLt1J*AlP^99=s7L0+DQ7n&>G$C$V*_5RX#&+)C~ z+w1-&3PZT9du?rT-w{3f^8>5r*^LpB9Rm4O^GT9lXIhG*|6~(v6+JGV04 zS|gO_kPCf*`iqd?a|c3K5roL%qKS#!v|$qkehaM~@{f>l(${pB)SK|khLC2EZ=!}0 zL;@231H+_sE#?oSSUJW(jkp&+Y}Che$^Iadq3=-q>-<#r*}Z{Np}pEMeh6rN;I4(f zn6Cpb9+A0g=_yls!j&0ezGV1InhZUTdMC4?xgbN{fQ%q6ZMLWl7$d=rGl69Jid{^? z`SYFHA!=)5uJY&ju3?Xcc6ktAb__=^kR2WR<=1q)d(T*c3XE|d@s4GqQx|e6UpSDX z>(TjWdCt5knfHoy0!f^JVPBSB*rP}dKQEE)`pM~9<2QVKgPi^1KHoLFc6`tMOWn{v zDa9Ej54F|Xj0UHygXLJ=Yl#~ z5cwLsYYW1lrxD_aAK=%n!|CCA99CeH5b3k)dIi{7g&}+XecVlJ#HGLj4=&j1A-Pe~<}x}g zBXCAgqYp9q_Nf~g8~vQNUl4D>+!m20{ut_jjU=#gSD!al5sb78nVn01e;0{_)yBUX z*zLlYPAuw5EReJPD{2#s_Df_?(GyUOG^*GNC_1EpABthf91TJqS4hk3f=H<}?6TK1 zw5$M=69ysPMEN)uO!~F#xITtkA%HOLBNLvUq~Bd{5HQXzSKJN?YQsO2E8t}gXZ^|w zwj{kXlTt>zXutcN55=AcW5%XOocG={G0)8m?oDfkpb_ha_4)>YSRu-OR)Oo<*$){D ztw{ISQ3JT+i;kwv8`P;X9?#~;5=*wiHE{ty!^tZDk1i_LJh|JfUR_Bw2RC%P z7)nZJ-2O&XN(gpdI9Fwps~H=@1S(3Y{^cC(H6-+qbXP3o<2*=Vdh0NJj*GP-7a&>X zrfjiH1BQp#lD9&Ao(ulGD@Fq*ct3qz0rfJscgo-=(_$Q8+-WFyG5+2Yn1J)pCYCQn zctP++gqQ4TY6Z^LF8D45y{gFc*`r-PRoK17@M!lJ{iY>d)LE{4xdhP{=CtR zJ(6H&az$b?f_YG^eOdwVQsiVO7=E5lCBy|)*8jD@L;cI4OjFpcPP7mOcXCF*Y`1-^ z&y=wRp^X>-o64QE@G+OS30X-WcQbxx?sC;_I%u?5gVq`%B{8xX94ZYL4+EhQ#DA3I zTDBGLn(FVlGLf8#Eh=B3-`Ju?WAV#gV($8vQz= z96PSxBCtHPIl^mnfH;`O(1NPZTw3_5XwZqv0a)mb&EGZZNQ?}@Bl_k&ujjn1bvh&1 zN}-vYzeKAz+sg&=`YS1BDV2>h{h*d7dxu4<<-o>ArI|6fBsN=K)M8CSj_2?w>jd+`SZjL++K{-B##bqoE?Gk| z+=ei=awAQE%X=_iZg5MwP=4Mf@knYFWQm+CmG-QX)8T=p64}Cz0FDc^(nVmxY2z^yB&48n)eindh#AOW)sV6BKe5FDnd^=S zlrWf!_TUw6Ff4ZTw#-|)!m6SR2Z)($22@j8!f!Te`Z7dY~y<_CtiIp>v=+# zY9zh+pB<7A#;yecn_*767d_m(4Xu)31UNyCsRi*c%)7RgiGnK)Jc|1f(x{-{X^uWq z%&dz25+t}oIJ0Q2EZa0LJonU!&&~Z55U>p_Muc6?$6(A(9wEb}kpJ+BtvJ1R z?fs;tBtgd8TQ8r^n=n`C#ce9o>8(d*m~xH)54qUGGk$gOK3 z1wTl7Ko`fJr_v>j#S5`WaJ?Xlpka1)hQtX8KFLhI^jkH!uzfpTs*>mY=R)jI7=60i zaqj(i7f=Xk1*cpo!o3Js|*R?3Cvnq^B< zM|CRwSs8TvV6)@xea{x5yY%7$kS`D`syzS` zXQ0NvUGC;pNs%Q|#VlrL_2f zrPl%sRPR|4%K9$iK6gcn0~T?_W>xGcx|f_OaR&A2t?+}DStD?2g--9T0-O1X2o9%y zv;O%oDJyc1W7=+tR_eO}H5}R`ynpb~YN+qYGT85g7*#U=ex2B~QAj!jbPR*yM85?_ zY}Uooi&;Fn$nK}wy@!>!iwn#C%HySZi0jLXVL0s6%^E|1Pwb%DIw4i8?EiD0;kBpE z|MzPz--~?mg7x{dc4-~Eb?6n!6rJ~D00tak8drCo9mL)wHR^zA>5bH#b=u^sv5@e|GA9 z?V{NRF;RdI-NWJ)L3@EqPmA^ZrGUMiQT=}854;kfSM+D6&{7z}Es#>m<^cSO%Tpiy zvD8ceF6$wufAp^_TjFDv>xzCI0dlP>+rHc>iNv&tJVukEeDgN3Zy>i)=h<)SRD4df z7gZ1emtYh;y8{@+Cd$llYULnVZHcl%og5MHGpPp#7`p~yK5uN}P_PRgaC1W356q1Z zv&tf2(1iWM>303YUZH8FtnLcYYx`Co*=u866rOFo_983*Xnc?QrDYbK4{0$+(9K^x zl8>;OyF;a<&sIJC|92~Nl=3ehgd3e<8dc;oMu zacem=IV5hhb)q2;E?T!yVpl$ z_Ak>&RD>x2`Hn1tVt52oT~Ca!)gA8DvyOv}JU=ynbIXvNIk7gJID?Feg5<+#XSPpd z#<251Jj#UnihB3ncu!GCQ>~nnyay{!K1W~>sOg&R0<`bC#@Hyl`@L3Wp_o{bj!B@A zU;^DMR`89a8uXg_vH2g^^ARx4~D=LO04F{WCIKpYKNSl;ZJ~hVtNqSP6I?_K(#H zU@@EJ-4Ea{G4szb8U0*01OC=_<{NV7e~rL3y9sv)U3{;Q{9-*>t=i9^FIYzwLXfKi z-n)Jc9ws%WG>jp$hfz0HgGa`J19sw?L=Tr2gLdrwn;lv!BFdoW$Y~n<8YhlG@U9mP zR}DJ`RyMXs=L7ZZci9DJEG0@&P3m)T*>N|{4SYa`BK*%SWYnCAvWY}&UKa4Rjvt1n zQJwz6g0u0*IK!|omGmaZ?>N4q^9n7OjGF+ipiGQKN()p28_Do6{1?5bjZF5`RV+C+;Oq?@Zy}`>6bm=piuA>JZmwzzWW_DIvegEdcWkdg_Bq#ST zp-=jeo#>GpJnPMb3t&{+mH3s^JhNv;xSiKdgqd-uEfA72pyXjdvRuydiO~sF*$-zS zSOS4$4u2xqbS|Y0a#2VqM9D2=f7Ja*-j{Rg!sHQ|IO~3~tGH+$4msp;(#nU|)iU`M z102g3LOa_?szcKlZ`_7j{7q&er*BwJ@Gxks1t+RoU@q+sf*%jkuK-TJ0E;94)McMhFEto^FwXUK@%t}4b!PDM zg929FT;V&B8>YbzL>5w7!#H)xYCDTG_%sclW0AuI?)|e8FuPbH2#@NzRMGLCd+n`< z>2$;%#C+>OfZ7&s3jaPo)y{!4#0o*H^U#j*N|tOKok$G0^}W>bX7y4SoKAH0v833$ zzpgJyl7lb&5v;t@mn*M9q9(V)&lgCJSSeDtR|QRS;L!wO9_7um<%<`<2n7dp;_{d2 zH)nlBseuxroL2@s)Kc}FINf~c@r3h?~ zPELS@MfoHn;7EZYM8oGq`6K{*p?<_Pd<)!^_Pb{+H{I8Qfqxq;^ zK7%`p$Iqe)(frOB$4*ZSHy4B_`k(0h zIe&p|+jW@}yrlmI0f{z=^w_AwiEtd+9CA$=p&ql8E`5cmi=Vbsc&DCTAYC1N$5B$m zr|!CN`2Eaz)i%;yft!UvM9usulBT9D&=jYK^gOHl5P0En*tpk4&vyMYL`^~D0QyDe z4EzhLE7YzhNH$9-2B8W;s3%t`%(~xavRup#PXRuNr2 zB%HJ|vz&p<+f6=9887Q7VPhFC`-OES2)ap%<$+J~Xy2i5-QUIvsS0r-mCkgUut~PT zPj-A-b613qm*XHCmzqHQ)$7NgN>8m#iTk(452ID^EQP8Pi!e8?L1HGP<25x}t~Q}_ z>U*`|$aG)EbAmQFa>=1<&~hfqwi1x>P3fORAfkJtCU*2CZS?KPnU9g4W#N;SNwVbb z!LvfnBv1Ueyx+;b(p43$F|b6R=yoD&)9rgfMR4ekwvc-u z1&^qN263W{@8w^6^9iLpi|yur<@5ROc@x=e6NB+^|8ZZ?zx9>WK9GCG{~L!|K&mmE zlbG2WgC>?B-8uGG%MWw!c{KZnW90?RSLx!-bZ5aase(axVQAh$v>WhbYZui85?f$< zqkWoQM?mj&khnt}H18UY>VrX!d2p?#&8y`kVZ<12IhTOcEV{6$%U>0fND7VTR7(m; ztJBqrf~=huBw+LQ`k)?R(@@zS8N9@@o*ehiM5b>7&Z99FR9*6w>BJUqTJdM1qP}w= z1ki&|BeF;waF`?DC%o-mOt_RG&C%db3b)uq(UcoK*qa6v3qa|H)>?%Od0X$e-$p}y zo3%I+D#Uztcq4m#2LH>TmIM1$SR@AXRZH-D^A)z~!CkoMovEoWvWUj#!TO=gEKrI$ zA#))^CL2T=LJ!El);Ht68D=hHipxiWC;6|p+BLD4`{IZnfx*3v%@kR%mI=@nmvfL4 zzd=L8ysV`$l;@bcVp58}lNw=#EY}bxl@#^Km zlO5l&?$Q37-i9prEQB@RrCQGed^D<4SKy`#1*pYKLv76#PNAWX3S@a!I&HxciZvmd ze2%bjMp404eXeBBLi@Sr$~K?%H^oo1VxcT`a0H2T(v-cDm?ha#I&t`n2$O=#S@Yrt5n{*W zU>-Vs!&3~BN=D3d)>y?Zbh?|tC$lxeGMDi=7&lXxxfg;BigwTaXsm4#VrV=;}- zbZD8Al^@^)ZX{=C?b@zvQawCfZTY=X)^H{srgcb`u*^E1l~Unn@ZgP1wwo+540zPd zWo*yTrw7}Tz+%1l>C!Ei7Y!s`vtUlAf@IRFXNeGE@tgta<)Gh0C;{H>zqZw+u{skqJS6L% zd5WgkbOo_5d>S5OQU(Da@x0#vn*Ca$7;t3%(bzBk2Ay+Q!D1%f$E~Itt@QwVn#*s` z#uz_dM^=Ou7VZe#c+5QTHW}mR38nEe4FFSpf|WS!`{btQ4a2Dkx2cDOu!|C>!?Y-y zXFzzTUKwx7IbYpG!dAREy$&Qc0K&r?jU!tL1tIINjLn07%gK^~o{7Z*qkrq}u zEQ15>mmEJJyE0*XF*4$kk82nZ$k;U=55&YwLDY4EkX*$;0Vk+%HOAqYIGEVMMp&~F z_4E<8O-ny1*@LfaIc(ozqfm``%w^QvT!AvNl<-C<_=hA}J!nx_lzH0RSV0YaKRjcc zTT1~HOWHk3#pL>Z(|1Q1w3L{I(P%vueFft1Q8!miait2fJK8r7W88?5`u|j9fRstI z*0?!Mu*Bw|j!X&2a!#}*9khxnAVk*3sVpFUeISQn`IkmFbhDHX8f~i|ry5zzVik?@ z&~a}Jr!LzHG(-9jd{K8_CYpo!cCt#nnbi+X1aM!_I7&yQ?cWCemW{7a5pV|8G$pVG z8y`_+7df)4d&zM&Me*UXu)SlXnT2Su-{MaMESllrqsz4=ZkWpTrRxtUq+XhwrwGoF zM}BtRZJNKCc3@OW$rINKy|TFUzULR?5=UJ$;=@pPe~Rot;Ou^Nx*HT)(W8N_cC@!w z+VeXtmF*rWgJ&CQSc)TE>vW*)2rNUwTVFqUjOg*86VmI+JL|?AuoI3h3X*?-|Lkc1 zuh-`Mc7KQux3~r!A$q^yZ2RKWeu-qqLHoYdjY3a@RC5l?sL4;DI)DxVf>-O|$$dzq z_pXobo9$Fh)w{^B<;UDc<5V&c>S!Bv`hR!0x8znfmvfwlq9>o4jR6|B1l35YY!Zvn zz=ZsB(aW+lezCZV1NQvHzH8~8Y_88+<#6e%!#UF~z5(hR#-@x|cSf)6vn~*qSZmCd zU`pp^N*VRszP1N(gjlIZ^U>7u`BAbRR{}E{ff_mV@^F-9aNHyJ= zq3I=lSa`?6zuA7BK$PYS&neC?KrI4_d9n{dZ08Ooo7aQ8% zNCqfQrH6KJ^P{W_iQGs?y^)HpHwjd6b%lmmk|#Z4sV$;Q#~ z?Ut1b`fe7vYr9A4`JNgIv65&VLN2&(EZ3EgW-X&JJ%M^%E&p-9N5qYoeCXK#@aavp zbEnoAe0*Tk59a7)KYRIio~k;4L+D5kUK2Zh25}EeDWd%ttiFJ8Zc2O*CovRYFMzde zgF0I)Y$ZsE>fH*oyOT$9NY*H;X5%iSSR5!BtFF!?Ir(BJhTGh95yEB$Csz0Jg{!Pl zs((-kBYADqwn5fb+G7gsEJHh^!5iY~-N6R9& zR@;-9Z#BjuiUSf8Q7%WFmMh=Gvj6q!-KYnAvQ8JK}Fm43or`3)Awjw_x`cPL?-e{TO?r|`EVr%=6zBb%xK`02< zlTMf>}F))F90vH%%!V#Za|Qslm=X!FzaYA?Id8`WC9mpFu55b z?WPqqC0zJU&3LLd7lJA8I8m^LBi?HPhyV zw&@Z|0KPo(lpzWvlvb}?ne&jJa4{nx0~lpRBo}Jx#8+47D(5`5SGN(oAi{hu_0hY- z&ILtQRwv8E7;&WgG)pWu4>Kqi%4`52+a0;c1UzBmFVv*J6-tqfQNGRTq1bxTx?=`x6oRkww( z5{BI4X#_;0na%|3uFE9^iYkWr*N`~dt)={BML|fs1Ctvhm}2Zoy{GfHqpDR(#!8=B zde;3p89IikHC_z3On&^t`CYSdaSB<3h%lDA(tnTrxBht)LzL=K(qic6TVB(c=^(kw zCXn)daonwL$p|G@izRs!ul%jEDD`s_D?M@QHB=u~`B;LpCSQUm%jn@0#s;sN2FmQ zE6Ey}A?|+oL?cS4vn#IEb&kkulc&IeUJ zkQ4^2);wy6eW-)Nd0k;+-a%G^>fyW^Dzq3MY#TL*NnVJ)nt9tGE&mhxeg+U|?Cd8``_;S| z!WTGQ0@B#5R@$nlZU(o;{E(&Y7l#iciotw%#B_Y!cY3-9=MnNKE6-?xsh8gwFyIP( z<{1}eL9eJXoeoy10rS7!2r$j8W%l6jR4_uMrm4-wzno;k;wn74Tt|aH112SRJ>oW> z|3}X4tn0)%cXPUe6H>@hu!F&o5B_Z{xXJY5zK4jEWVOh;O>3ICA|BF(mbr)p@%h+f zMhcGAo3BFg>g*eui>DWaCiY1tDyaomiEWH*CSB6e(?L5Ld%Ow;gQ$8k_$@)Z*$8YI zL!3BbT?U`gU1J7?5I!{-;nMgth4?T^C!^BPVpS0J$7{WqgMz57XSNUpqnW_l^a{4x3;BIG%pVbP+O{PWAb0#;S`^LHalF-*EJgIF%fFCLS9*K$Z!dY- z8Ppn_@$_9wwOudMu8urf#Vhu~AAubA3^K0tbfNr|)C=yiU$P4j$fbz1!=9bWqdm+>sY$3Xl zPE=ciHRkOMafVX|ZZ492HdpVv;6uWU&_$dYgtQ6>GBu!J1KjfQE*e3Py=l(q!t#yQ zo}$+)dcpXLrQWf4V0@0_lMH(qE>Qoij6%!tY32lbX@-CpjTi5|@NO52gpjBA#&t6v zn9I~R#-t7ICBB#i6;u(|G$X(CnhUt2azffLG))20s#ZyxDq!pmVuBqm00(EL$Au&rc43|>zy(Vf0mZ`Etu4%>4Lrxck7bRh`7qD?S8U?N zc-2jYCc~>o$I@`JUHq}%j4Y%ahlRa-BN>RII7WqmYJA35K^UPG1i&^P3lkcbkQI}6 zCU{!UVgSAe<@QyI0FNvFzYnq)Lg@6-9mNU*XvwUBDmKi8qx;L+A6b-a zbT$m!apoG9Sa6B-F*>_eaaRmll>KI;rBQ`f@ex))lC`INz_RxZ>Swvf$P>v&K9rY3 zTh+;3rAcJq(1wX{6?fIV{~b(AFN44UAOHl?iGm+L6^ARz{Z#5&mx3fq1lXfp_6|z} ziZDDV2XnIaqi46&8iYttaO@FwZUq>#-Jq7!+ZQ=9KN#`W4af&YmOF&wJ7mosCp!=eL0p7ioLSGB`r1M7?6?DO zy5b#0*CMyNOwqgwOphzWmpQPh+(VX7Q}a=$7R|brV5(95Yr|gr2?}^U9L^_VQVb%Z zYb$+reO-3It?k06I%0ia3J&D6F+)IDPjx0%b69H`$PEh$W}GIwc^$n0U`Q3BUaGEZ z7P91p9%+xCXvF6(jY+~8y!({ysA=yDdIyvqD;^IS(%}16}NB$W0>?) zETtIV3bA``9?%RD(un51=V$h~x>a z!WfjU>$@`zwF%o&(L;&86C44EfmmgFE&xA{umDC?Q_s$L%2W14Bo8fNmlsDcT%>bX zL1j{zj7Ppc=VOmG*sExaN*0NTQ*A6{^YrF9O_9B-%?FcbS0nzNntR4CjxRNyduB1K zAyz2_B1~_(5*~!IpD<|TbnUs)jG#m24^NDmlfDLmC+|c7@%ti#ss4b^L z3dO@QYEAEZhV&&4aj>eo=4-VKPf#IAPxhc!r=91sB{|MCTQ5~}OtBu5(4mBUi`Uo_ z6vm3QVSzWJ)>tEjsLf$A9aEaEy9_2&A{I(XXJqL64LN67Owwo@PeeUQKu=QNkGxbTwE$%^5NH>knQpg z+glWeW~q??=}Mv|8vlRXV7)FQX>G`Y5S^)jcfg3!i7owB{@ndD_7Kfu&OHKbS}iUk zX26_W`%S_p#Y+9_yp>R_`hpH{@s3PV-#?7P{QYOH-IW;zL#~lmUsQBX-A}W`8*j)C z)2{ru6cXTZj4*YA2neJUl)y{)P;(Reu#=f`dZG-j6*3L&4pmze&Z!(ck z?EmO&K{mylPzS8G1H23)6Y1JT8I?=^TK8OY)zDYVw(u;KTcNo~O`~ z$3vK#j`RPD=@&3m)`Uf{j91SlTInvtlo4Ii_h%NtXN?eJG!ifz-yF^@4<=sS> z7!IQMDP1sOGL*NxMe!9e;ZKfF53n)ofXk9`AKFBA8~Z!8bHpZc181V)0J&(poXp$5h3%bTweSF~6 z98<*p+r0Q(t|%KYsPXwUK>z6k9_{X0z*t?y)fRrx&giJp>pK=aPBxx{vicMeuPR+9 zG!JS43v|x(78{&RdB&PC9`I%f_7Q<1`nW?~SDIQ?pB0fULgyZ6R~Z0!L0j1%2e+$C z-F&>Xk%vKWXqjJ}v)LZV&J%`FRy*}h6av-78Ygor_U{^37Xw*nyCjm;N-X1XJTqBM3MU?Mz&$n8MESC44rquvR9_zys7YV>gyk@3XEH>1dV5YSKfMu&!u`{g+y%)IGo`*E>!T_b6 z%*z5f;f#L=qU>?M^6jxUIe&O~Q)b9Ao06`)b8qCbn>3=IZO-ehhRd&o ziU5ZJFdgslM@ym__=KVs-6$431)@4es;N!(NZetsHA~505edqUD-N17t?RZ^0UmHsH_ zI?}kS4$cAAN_Pmf13kRDBqenvJIaF_vaV7-L=-hDQb*E_=WMJWYryA(e`0TX7@B*u z1#ms!U=9RJg2C9_XG>*Nh1@jRk5t@?iF0F?o0}klOHf{5 z(|F|_-7~?$h*E7d@6>4jyf3XmW+9IW31S+ms#R~iCQjT_D*Ba4 zPAGeu@5}~pVtC~9`=O9ED6v%7u_sGPR%wH(r}ZDTFz!+fKe$iQ40#11IX!FVeUJcF zoiwt>4nCAY7VQlqCr-rNW64b*4XY68F1np&7G z2RJGc?I@J^h3D{JapGnvi3hC89PC*??|B~cG7l6`&-?jYYRG132@ODcL`%N1r;?Um z8GOi~o(mtQbw6$_^FMMj43i2q@3g@wyoZy#d|RiJ!RV%1Wg0f_`=EoX z(cjP6HJwmHOM&f9*P6Vx^}`O4N%gFYc>9U~5yq<|y<7JyfGD#1GO(^JyEo0IVHoOy zEvDG2a7R~>m#j0jZmUPJxQs!)OX*HT4Or^4KggpqVOdX#6Ai&`$Hl~T` zhg41$XX2a1YgWC7~b&ky|@;5&3*l54*UA&0)8rSQ*m{i&$ioxsIb zuJsaCTp*@a^2Z-f4!{0Us?a|Mp#kC1?}8GaNMQC}(~|u(p%}csG|?VpQz%xkbK>4T3#^f2o1>%UzngEt$9*Hf zNr?Ha|vgr6*2hIzpXaWrx@RW6PK@ z`$j=T4>zRlNfaVSn#_y6CffK4rHV&iNGf8yAIA^UPPt->YH7>t_u5S5Gerlq{m@Ld zrAnQpmbq>D`eWmn#6Ay=i&R9H^3hfNU30 zmf*t;+0<3U!uB3NWTD%P!hA0fJ_%!4NphfYaPi-ol8;VuMXxMP4o?4z!)elPC)u}Y zq<~ap?ysY#dRWW$rPBGrac4ENV`Q;=f~DJ|5$fhHodnikUis-QRQVZNDh;Y~JwK2? zacQ>4RDUpB$i_)6suQ7tCD?V$5v>{}wEzp@BvVe>AEX03j6$&NA!-CU5Ymc6v1E;M z@yVa9@+DC4NQVD)aO?%k78S{Q#Qzt+qcl(}2UhfX6^0aZQuj=Gp-LG4l!O=88zh1Y zd9%v0`et^;egRn?%+qPaGQ-RMe4pDnj_{Tr>m)5)I)H_)HT}{JWBjapjuZhKI7BV^ z8Dc@$!N{2)7KFm`fVUaJ%lAR1~R5=se?v zQa^7D_R?XBqr)4xX&4+ytF&M90M*N7JW@DN4=wIk)#j0`+4-<_nj}z&K^ySch!ZsP zLyE~s+5g6*M@u|(Vr*$yb#5x+EDSjh{iX0HZ2JcQHJS8+4APk;$vEJ6$BISnRKnRtFA;-s%|m`SPi2Yi?7xC!=`ZC4D1# z%ru69LbC2X-awf|SMALx{I!(5=|vw88sNZuV+NlAO<`!Mn9aNVcNyL{Ti>N>W&f2P zhn%xWY8@C|kNW%cHN5?kR)_IwX7Dp#kA&?tifIj~ep6p3Khb%<$8iOChi%iQ17VNt z1oID+rbmBJt>yM#c!@wXvd6Bb*8+zlYhOh1Ll`62iybM~wm;0vJ1@qmQ<@gRq9W-4 zpX$4nCkI%#3=(VmLV_X=B7C;WAp~ie>?3jyLeiWc6YXTNL(1_xRf<@QZn0j@`lMcF zQLhZgbNl6fQgXhbC=JZdN-E>p9B+l~xs|76Bm**c-08TB%wD!P9s|8@hIW*l!F z!K|^ae#dCc3w88e91?3{vfbj=5Tk{{{bH>G0YPFsyXlnlBmD{z4EgCM2ckX};2dE> z+ijBK$9rnzJMTx7tP-16+_=&Hm4g@Fh^Z*-figb&_Iz8{FJV%mWcmPh?kz0`UB}&R z7&DKsxV=K#lG1;#X2{?_O`}G>=PW*};C(V~P!${D>@M79$r}{rqAICH`bKR$Iyh)y zg*iDi-CS|tt`^_Q#MUW_@^3rE{kzb!8rpV|qRZiniJF*8dpW}%&Xt=298vN@AGw+<63baKuRM$>lW}>i` z4u)^H?G3DCg=J1i3K;&#dF}?YZ=kK9MIRl>Yi6r`*@Z6|CWEFMzCrz$1c0Vu<4tWz zr0?xr-R^3_BX9fkVOlrf^xuXz$ty)Mri%}nu(0l=N^XL+ejY1n+*gl@oqB-o7N-G# zn*tVgLJh&%g*~A=K*z^UYtU76D6f1Sev9J*&K~BuL#ZHQ38ZWEHpUs9BjePe!* zZAe1;Fd(w2ib$x&Zj`Qf_VrG9zNFA0ONvnmvZxtd0;kFrierNks;Q~` zMUX<~lp`H!VE9`6HG~xCLG0P+5$EL8=a^J&XltIl1kTzwb?1on&(W)o4vJE~%2J$Y zdH8&Hjo7I1zqqt|2~(ssbn#mvFp?drR?PP}FUBuB>$jSqz(P z1pH|mm9VHCR$h2LbJZ(Cnfe|u0Cs%1j#`M_&;hH|pV;7&ryi|Zb_vV z6Xg7NYOeNhI6RdwvEOMe_OmuiK2}%HFv(ewwQfp%%U%W{-n9my=W^%1K#!6-|AI}! zxl*=fN37>LhEMd>&aj(owE(0gUraLG4EdYaY$I8umvJ}W8=f9s^A)b8;$_K>E7fHC z3KQ?L4%x>Vjw+Wk?ZM9g`y?a#c5r#>5Qg~urc!b{(h@QqI)HZD*4=PM(N3ia@t&@J z_haT}E-oCr#b{mslzt4N2w4Czzi0`hXxr zr0NH8AEqjs)}Y`|z>Dw9YkJ3noaHGU#*Fz4+#w+c=t%*mXHuX`B0RcgSkHDLl@NRR ze)RC6U<7IU=Wx{iROB(@x@{wx$~W>-X*dmNT>aG!Za+H*pCF8vqP<(w(#Q*IZ+^S& z0>if?<{gAYa~vE}R)w*P2r_ZrQ@uS~C15dC19H5}oIDe)@?Zv21Bm-{CCj zKTa~4jbl?6B1|)4L=LFkyVW*8wQBXHssD|I6?Ulp(WsfiHy?$st`D@A)PH20gj5!g zq@W%Bb&sS-Sr2aQ#vS)zdD?=DImYSgQZ-=KsVk30B33~32mURN6-KbH)J)lYgpsN0itMDtkZBfek4$r+I7xPdqJ5T@qG~Sa0jRkMBSyJ=l z(;_%TPCJ7kACGE3OAg7aQR%W;qOObw!7~VUOWb5=kvDVZrC&>s0tc-TopYY^rmRz- zP?~Or8vOT?t3|u0%3?2B)*)0(_{PtjlyLIi6G+O@<=(Vr0Sf1?4Nat4BvmJI?id9Q2avE{iTQt|6i1d`(&RoB+S%#(x zZ(I2iA(DVTW%BTJZL0`{jv-#`#Nx_-^RWp%rbKO;41kn2$QGmP!g|Jz7&q_5)%!#* z5@)$JJtmQlrUd+4i|W5#(zGOKp%gzh{H4C|?|kIR<-Y( zOP#<}V|+IOV5fgPI`xl^U4q4(*mR_K9GLf;9wo=6$4_Mv`{%if`8BA^r(tcr$A-eS)ryS ziPZ4Ar|;_eo$%~Hg8Co9%0NC8Izb?lFN)H?u_wg5np_k0`U0S}^cqGS)mc>O$qvU( z$S4{+!v$>KQMKuJCYMa2FL8422~U86chOklBm7g(VrPU5&zF9}SSFWe*L1NcyDHMm z^YO5@H4&XhTGn~7>B51aUi_WrHS0J{lV1Etr}nPJAE;UaIveoDs&;T$?|LURYDUVa zT#uVyzzBYe+mImSH8;r-I1NuYW`ZG?#+s_?t69s8jo5&-UGdE5C-Ghl|K72#6Ip*A z3H21_;}L)$Yf9zzne!88bNu~g){@86<&Fr4)DG z8AOYn;EOPAMaoxSHiVS@mj&jJ8xJW8xg{CEBII|aq4COg`;b(KhCaD7FF;0Jzo>&k zf2V_8RB80!ObKmuhKWQ%LT7P#xI!g}cHtxr-iHDn_wG=<>3R|oVc<1svUk^bjX7z0 zO`Hh_&V9=|s`@#Vj1F7?k*a^|nK;39Xmt9GjS9mf9%?6N%_dT&)2c1{hZJFJPB!(L z8lZZ*|DaP4@wC;o;yt}M>WDK%2c8nZ7FK)BYHmY!);sX1tcFE#gY@vhVdJp1t}>hE zt2Q|{Q6ca^y^m>W*}oA{cT|MRgTq^ZSnZ zm&c*V^*p-5x~oM6eZLUyQakJ-v&LV70OAoTJuugLoc_QD%|um8s`@mg0~I>HF%+3> zs?SOz&d}L{kgx$Xk?#@!c2tpLHbSj1=iq}iwt71yua)B~s|2H4#Nz*CO2Fkmr^4(~ zjK^qYT+mC97nU- zB(W$dKV>kD6FBAaZE$ixO34eSu7pQrNLc7eTy;FrFOFg}g8k@EE|s_4_-kdx3`rIX zAOZZF<|BOOZEa}&we+ajls@<7!}0FbM{i=2(>(nvN$_ar0E6J+vt;3B`XFzRNeV>= zQMetO(Y;eM%N^eqRomA^kg>EYSaDrFVc=>l^H)R$>zU4Cej!pOl>G#xvX_1gQ63(& zKlWcW8$A6 zjR`{8o4xY%ZPA3xUr64BHCXzRV&owvKyRwl;b%c(1Zy1(?mNqXo&JB}IH`^*@4Quy z<@nm}X7;LR%EP-|SbLqP9#v%vob8Fmsvcf+??eTh?kFg+5Fi=NXC4=rUXR4mH2cIN za6QH5{@ft%XSvBscX0 zn)E;5{V>AeS6jm+!%x_Zsuh|1M&FhiYy?EpMaSMyPmZlj15oOSDyNKSs52Ml9CI?| z)l@fug%v+m{ea(h$GbV;y2~wB+iq}pxha^dh{Y2zYe*m^X~^c^(7f2?1&Y+B64?G0 zixz+_Vc%FIwm_<>d|R<(9749xsy^6Tj}JB{2SkfN)N(6w!se4at5iCeDVNX;qtPV} zCd9#Q06%8=qi1eV3>xu4jfLkLi;)mPm#UP7ANtr2X_#_VL_E-*QNNnI;b6vs2Gg1< zAh>Wq6m?MPr*|qb=UpP>Bk{&~=o}{BpW+o7lVD z0|dw8_zT20ve)9+W-tof9!ZGbr0=|?g!NS;(oYT@UPL`AK6-3{1ZtkVEN2rP`|YAj zj)!9PE=ltswf`rCDBHs`raN_{Dc}TAvOxH!Q6R`d=Wz2oH4S-8Fu2va=3tnJ^OB?g zdSi1(6MeDJE{m+}z=F>-5FPmWcVV@VTS9O;#Cjr7TfLI{0F-{pq~V=PYL^xL_26wK zw~MF?V9*Wm6v-bG%2hmwF~&CIvA7-LeXMSvm@>hE!(r-#uNjLHc@L_6Iwq`;iRWM% z5*QwM@MR&VipEDhXBx)cTP5a6_s~t4$yM$da*+B)%jQEZ-CPi&b=eJrjEv}3-o=rD z=h4jpj`PpL8QT#D72K23*6OMAO7UO&!bitoJ<_IgogHm|%@TJ$686n8+4Ru{6METQ z#poV!$cN;*p^NY6sHJG_Bn|sB+(l$&96G6Y!VKrBU#!|070sqw^Is5Z+v_Eh?G83j zD|rR&UQj)Mqw-i4e{LekAJ%imoht#f^;06{Mq&LP^a$V~wtmr3#J5-Uex&t4hV?f> zQyXA4Yt5}Dm8+JJ_@wx;cJMghah6uVnq5@$)LH|8eK+0pOU}+m)lI^a^vd5SV>ptSgkFSTwsXbA0qNLCA#EfA9Shxj&@)kK1ARHVbRfb zEb3r#r-~@qWx}i2yM9&l3FQx(g%nMUK2te~h(RT2>d)tTq!AbdU~A&V%}}@n!Rem= z$77z_^@mC{k#29~6L@l_+?Ji$5>pbd1!w7EVRfEX`l%L5dJi2oc_M%EuaLmx_?$nD zDy~GYc!Fthask8UV|J6-k<8?|`vs(*Isy81Bv@--ZS9yvm260g3*S4PnJ)pV93ucO z2GK}h8*7MIc(zDS5dbgD&8Fq>TGxT*k%BN?auH!i8puqg!C2Hxj`9)Kk-5AbEM8o` z1|S8R93P#iC9eE`>md$ES63>C;~)ts$cSCUtiTuJu?uLPYD{*9IvvAV{&_l#+nk$A zrYRmN;NhCMs2t?dD*>V0b%Hc}1j!>Q@!eB|;Q^V9KuFNmu%KROo(GaR><`Q9S{VZ<> zIU6@9Bau$f<$0r`*UWw^IEP00}1SN zJ%7WZ{$8h;oAy1Ky*yDeQAJ-GH02MpW^MyFGD%;9Ztel$@A$MdS&jIe6sh-6WfY|) zADQHi02nFUiXlxv`{#5C0&>+KzvacE9rAs1!O00E6fK0iuWNEipy;fjmn0^&=(IrA+>Zj!y1Gbsy>*GeV5xe^Bu9u_G1 zdMt$iIWZ??dq6zT+~((ErG#)wd!8!RdMvZr`Uw{URLPvlf|D!8FtnSAEkjpxRP{+^G=QiGG9LV1y=Bp-=W`r!}f;CG4E}%2N z)3nhe4*g@-ICLu^o&}?+@0MOl=1;1Qw}hrS92zi!_1sQMmG{>ByV$0fO;nLIB7}$w z(rnZWPdP%DyHP&ai6`oFWJkMwcE`5&?-sXpic&7nz@F=mbjs@!R;X_i(#8A80Q83I zrGLbqEFpA$D>41M&P;=Bl&S>AD*$)OOfpmgPI>7>vL97MD)Jc!?UK~cAu>kdN+n$@ z$~4}^EvpzU-|76L>u^ulvV+H-+kn|&EDZgVN zix<%ToL;TI@;!z(AWN597DHlfsf4}x$H%PUHEI)Bg>6yOWI!r=k1I24A56gbx=%%q z9*nR9LfG|T1FM-fBY3UaNsKQcPP+~GqQ%8V)1LF(Sujf|z;kDzeDI>(usD)!Y&&_~ zx)g?dV3t(>b=kF!$K=8I)Ds5z6y3mTY&gABc9K-bsGcSAN;6Ir!J4o&_fH{?Dxub- zO^m+m5*a`J`qr|$p%ZF1c8$hbacs1>z^_8QNhB5E+w)Y!E0?JFBKDFGBU0B__+LK3 zo5U?C8e+wz?01{)dgM@Mi~fx)A)2bw*va&vT4LCUuG&3+JM~z~TyE)cV4^|^d(f9l zf!j|~4DpYL{1+FNH9PU5SCr~b3(ZF1v#IWDqy+pdla`)^S870w5958;jKcjS`3Uu! zX9I!7e3#mtrE57+;U?K@g(NzvdfUVy7s&B|9~)NRowI%)sB1x9j&qYGod>gF2nx=1 z`*l@!R;d>D?=Jz^5mJ3@k7FNcN+!-M0*LoBYXvR#?qKDiZo2zG9=%Run&BrtX<|Mh z`b;i zlw=Tiu2B+5-AVT9YLwRAfL)0dKUv>49eHXM_AdgRS0i9?d`(y-=Lv@_j8}FMPH1H`S$uRd)k86FY;5{ z!>oFzd3zrG^@225ZUHHXvR34-0rM$k5#s1)+*p>l2CU=h3PIIy{!3gxNj$yrwVsQz zkPrANzg2;2;?0@JmMd%7-{wXp$N6^DuZEA^j>Q09yIK9&`~s+BA#d9Z=0hV}0;YL$ zt|>E5=dK!BR7x%yH)z&vi~i)g$5_Aq;Railf|%n&><7l{nCP?UK0v-7PS!0`Y*!{od zwOvBFoz2QvPTDxZWaJ4jIcIU&kkDwOlh$BZhlpgSq(Fs>I^=eDyo#y?sj-fa-C*Wt zL^I{ksXdu>lUI((zRR`a)WvqpBeI``SW1HIEdChzBAveKGpMvQrQ{cs$*D~LjGGR@ zWn4GZ9zx1As-IqQT^>O6=s&4l%V^0KRi%u>yjb!5woC-!{v8f>1=1t*pL;=F8nxam z#b*P4!QrFNO;(WM>mPgRrTg$_&KBA;%M#$FNa=b_*EbCy`0?IQG*T)b?~5qgoMZ9F zaHN0aGwOMzzSMLotYh4r$zf9gjmmJ6lY0qmv7gAh<08IcwI2TzQ+;`98Y zhjgzgF|eN-#?z^?JeF-IqR|gXcIu=CjiCQE%p^AA{D?w6>pQQ5*A1Z?%R8@){_LqLA?~E@s-ln~HM4iW*x`4MaV8%}y3=3(OxxID z`8!7BuQIbjREnE|*?155_Tzs9Z+<5BM0%U`8btwp?@}UrRJ~kXd z`pZ4M9CT5c*jWZiuXv*+#7Bhx8gtc+ig@(nycnj}6vU^RBH-ZrItMS2O8ZUI6Xy!5 z`5n3Al_du=0`KQf9QR{s zFu$I$6y}{EXm-^|*5BmaivA3>3-|8o?4uLSCvf+|NqA6uOpr4$tlf!?)~jm288gL7 z0A^JIEsg8CeViMKFfBLFQq#jXIDc`+!0x+)62l+ozE-qUR-9Eo1k!9b(j5-q?Y#}IyNKw^Eo4CySRU&Vx4Cm=q5i2#qteQ$5ZK|248EM z4O+Q({6dgjp<3&sv~0EZ`&kfRXLT!yzb4>B&1wfD_oTP+Un?Y*J231rk`X^^n7gTJ z2s)2XN&BaWs9};TF_wI&fYH@tK1j_O$5J-()_xN$MgwwP%)D9~4bv(=zZsO{ZBFI{=!mmt;cikI~9J23nVjeWa2K3{$WLG8QJ#d(?BgyGK-7l&E(6 zt4A)$*qe)}o12~YhiZFl#Mh>|b;5n=F!#A&JtYt2T#La{$nt4l_G`-7^Iy{0^SwX6 zm(#LZfsCUl2r04AS$PS!KORE1duT?Yth&`IWy?VT^VDg?lC~JUaPcVOOAASrNidLT zIDQUC%XzUoYxw7VEAF&jEYZoWN7*_7v|so=Z6ZNZb}Be6&*81i39IDmI< z<7&R=sL7K(26VlfBd;8lsxzJ+5s9C7Cn!k^|GN}{ENt}`bH(w#&szYK?L3U{%2Mz1?Zo1F>f6#F8 zCu;sPg_p0z-_UV}enKVFT!uc6Dw<{>`LVstI6oosWle&-$lyLGBs>}3`L8^Xh_TFO zwXRu(Mh3*XO?rs7qkROIn4DF#@Kir2Fy>lqLO2zZb&VdM%;2Lrupl7-!hDWxgW@yW z3<-uWJO_}n)+lo8IuV}jX!R{Fx6u2&>-ytWZ1%27*bi=Keb8;ds*x$NE4j8wA!~FG z*>|!SC_Cl~I$j2s17@z1!c>1GFW(wBn~J~gn2dq_xUWyu7L}mUA?X=Q33<%zCYx&c zo-NgWL3zz141!-c_)VosJi*BIqh(_z8BK*yE5hC8KLNj2m~a42q!U8Gax3EKlal7+ zWb!|)M0t;$9HIQg4^OwUYgJ7w4{tRwAT66_n#Q`xLpd_>-fg1BD+RhlK*Jvv`8soS zR^@G&3MCxyh2$wbP$5Bu9QB}{ini5(I6QF|s<{Z|6hB<_z2IF{)`l)wWo+54w&W~W znt_KDX2_uTZqQ%G12W$f1EcO&t(KN3iVBCiNUM`znpTPf)`Lu#Qtwp}#dxGPpfGo8 z(t*&c6`*e1Zj`(?8$q4^*HAVhw?A6j4gK=IDI2VH7#B9U`J}<0COh1lB59jTv$s|; zTQKr{WD8D$z!T*v4MnR&6Vb08UD5mGqCvwAOk>bya>?wdD*Zo^*ETKNbpQ=QDnytbsJ)835C@5k^+{P=)Cuy#+FU{=mE(84Mbup#Flm>z^YAd)~^l zR60Gl)D9A!NdEVhA>E+)i zNI^%X(8&{s7h)wsp5HPCcf;(~&RE(jP>f!AcrwAuFjs71!ds*?waP~Lu(Vl3jA*oi z@lx5Yc-qWS-9UPXRlZSkiBnaVn!(R%3W5SM{Ji#saRoNvm&>`vR(doPmTtq0A%4!! zVeEYyHnQGrfM~I^+qk5*{_c=p)H<#~aCve5xK;VZIyp5ER`H=0q-;r0c-yaB zeAr;6d>j#OWc7J8;PxebDsHH%#gCce%41xzFdq6Q-8&Typ9B`MHlBVW%y0{HwSmVk zzNM?}PJc0G$%dLXSVa1OS7(#Tal)qU8dQ6x^LT3AtDeQ%NizwYp$_Uzc$D8mA8A^> z`VtmeQVmR#?X&u#fYN$AMvp!!B+TiUCP!0TXUw0pChbhV_k)&kAX!g8n&7?VuEs>l z=#S|r!E1!KPTUXtO+wn4z?@s4_X_7p2Lpix2o5?eiFQ1RS=PM+=|FoyMFtDj#G_};=u}y6u_}Px4vs7>P@Q1k{UPpTXy? z=kUh|8%!ob4xtq>=Jj=QtA$x)OhFN5rKaEf+e^_xiU;DHM_q*#3HSS8cT*oz0 zYfyr3+xu@c$o7>pEzNV$0`qLZ&3c#$Te^<^1t6yYhMRh`hj8^yZcduq(qsaK!WIwz zC#%8X=HQ7T`f`4u&LonflA;`x-7i^i!q0IZ>>%9vCPPQ1^FV7e`Ui-xRITQGu{PF!y{kFM6&5W!Pss%aF#A_}= zv-@ua{6ZZq@ywR87;F(!<8;*lopFS;%t`(+hZ3#Zr+8q~-)eEzzY`G1oo!QJJq)5EC>2w}Jv`Q@mUn z2yT*S*{FaAPc0+FJudu==189zB?RC&)t81`1jT}_`E4xt z9JWC&0h=aX>L;d5JdLERL-5<+8%k%~(`qkC6iEetKOwjfCg3i0azDsi+}b4#um;8R zNuySv+nd$z)I8E+0EcBDS#~%1eGxnN{AFLUE5ahz{$b#A%}`884D89=y{@u4ohF`F zm2J?4qJv+*YQ0#>MR}g&!ebA@eqn+nc?!43Cs(0!b)qCIO8t)7LtH`6%oz=M#oV2f zIsC%qh-&f=&t_NLmu~{2Tl?Xj<>zI+@JI!B9KKY~RSrFzrY64&_HD#XBX%?}A9}FI z#EZrBLcO=4|6d!7Q+oZF7_%AGzYO_@Y>s=jFvTBJ&X^E92pJK`YKVgG#d4Ikk7NEN zx!nt8+76UPO=5jk$;@4oJ8GC1jeZL@I1$XtlOafEKvqmHU?VmaHNz#^fYY$&c^}QW zm-$2)Me2ACEg^tx$jQr6IKD`VqWtK*4FErzbPlJTUa2;BU|Z|;y2DAmzUH4rgA%^I zq2GYI>Ue2;BPM}`*ct=113^7Q4-?5e`V{xBGmPv3#@8Im8odEq66;X_`B#|%A0Y1R z)iUd0Cq6Zqw8F@M_}Q_rPNFTvfLu*kY(LMWT=^=kCRx~Meuky2wT+Gv5e?KVl%{e5 zz0+xPoxp|=V_@9&0d|mdBi|`Ws=3i=kT&d%Jfr0|T}`>kJQOkPN0T$&R@k>YEd^x5Qf$g!^{#A=D2u22_ z%h8ar4_-<}#IWy`2}xc_72pOIlzwGVwBz*{Ap9(>h`Cb!-O6ZX%?fX=EP! zB%WAP+OaDTAY8-gzE$Zx(INg(p}xcuildV>Yd5hiq$N^jjrTEOj%acYG8RbrzCAGS{miKiWOa36E}vQ`zI2HOCBln(&x( zzluH|_%J&^kS@Gs)QVx$jS#sBo^5!pB%vP1rlU|>6Hw%tzF4D*!u|=lx1X^YPa*zl z>z7`gCdLdml~S60+dd9*Wre}aB5^4=fMZ(X(-~F#6E~&2h@skULV`RQ6-V&ti-AYV z#%r@U00k^N@rOTaE}~=&FcseeG zPtPZj?Xk;TL>-vlb>pfN|kR?vOMx zA5~brotVycS?6m8zXXkTZ*ekwtD(-s(`IXc7p9--=;?PQjtsc55aOI0M2MH@{I*{i zb%CkW^Sth>U`Yrmz2i-xbltdRY?R&bdltI)o=EwAREgaw)?t$a$rJO<=~1-*xki7y zkt~5s*j|y0XLrIDp#u|PsNpQ;eV`ih+z*L}SmrC0kjyQaH6G9PNJcRa>q=;xVii1MJr7zOS)D6py4MvBmB zndu*fXSFLE^pjIo`{ONuB{XMv(jAm;i6Q6`0)DEO=e-?{) z)RD0McjF#=AXqn(f^rN4@xywEZIWn=xBT*e%SuOLWK*(|diU6*#7d!N!^2D^DT z=~A}6=R%^Ah5J*hZF%FUU$o$U8FNQ!gS{R3LQQY2LxP79G@|Z53~Uta4)f5$OJ2ab zo-Y0D|EYHh*@GEmH(9Z=rVft(53D>lWcG=@NL>nT%PRpYx)ucqzyc|ps?SaGU+K8*28KXs<4k0)tKO03d|xYKcTq2={4Cl%Yy1-5t%fA? zy;X|Ahl|5apK3TLQ)&G0K_{%M)$Z?fo16O;Ta8KX_#Teip$)TE5E7(6!A*=z{W z#YWAfgX!N}N0mZ_;Ayf{68Y`Bf=K(eO9xgo6INT&afI?IRfPwN1a!x*hke!UALL^@ zdEPkPw1$tGp8(zhfE|RXRQoyO9oi)^GpD+9anoA+1Zch~Y8G<_;1tFuc4R%p@YAfY zJ2HlV?gh4KVjm)FuNRIWwV{PVCbtup#~OqE{=XGZPy%Sx_`us|cio)02(i`HS=lN< zLzD)KA=)jN3%RZtoNER6Oh*~nCu;Xr*@o;Nj4D0f?mSh&{Frh0(H zmWkredh7&CZp$pSnHPG>-*#R+{h+2bT*pE%qIISaMcop^`5aw@rW33yK%zP0yN{9R zuTZOpQ&6Wm8OG?QFIbig98={arK_GJ{na@tQ!dJtTGSzU4Nh^+>GjLvGuNMC<0NI6 z4ao`;Zgh~?h40%l_3FZ;c{cHvc0SK7n7o{R`+Vm^c}N>t!4U&se-0oymN1|ur@LJX zZfiLyF1n~cJ?A@~!Rb2v;OW#R2F0PHKZ)*pUx4*$K7+Szb~Ic2XS>TyiZe3yQ#@AE zna44CV=eZ2koqxVBng{JyB$!8n9)JX|4F=vCkP(J^Jkr`Immy_dAVDiXxV-PW@xy< zov(J=bNP@NuVbF`%buc6(N?(O*4QcWm7*P8s!9(f0P0f` z##yKg<)@JT1B>7!R}Ftuo7yXXl`_k@>$ecR3X{_c=NLZLbqs%vlJ^kvFz-+#Ovy`%+hDThcO6Ug&(9) zt41l-$2C%e<2l$R=~nOW43#|#la~Bmhz9i*hee+tNa6RBi+GPr1bYE=5vN9z|8AjZ z5$R}BG{fMlHg;(6y|wu6pHr+cuz`wck9jA91j(Pp_1Gz+5y9(uRw~aQW3^qBNyz5~ z);mNT_L4%IGh3p)LU(B*ZmRa)!d}NI;)BDmGH&yI$<0%k@^CWc=};zUq3eTWZ83gl z;PO}N7stS}$8`FrJ~7$%Sjh@7JNW!Uecln)pCn*eM}A5hzlMQ2pE*A3ES?S5q9(xO z4lP*2pWI;0c1E3-XV=2_6kCVfRHDuXgoB`_;h@ODOB`&`rw-^5!DPfE=DV|zAR3^< zidS;f6GrJ-^`Sj5cL@w5BZ=k=Ft=B##C`9xmOGjdJ>ZG#wdh$ulbutaWN3e~k*GL! zBm7T}x?qP95rfG)NX>m59j%KW=-={JeR881(M3cPV$y6MhBD8;=t!=-)zHR84v=*# zV2zws$jKdjmc?<9O}4?*{{{nBTR>&~5Bbkf7-*Ow{FdzZW%NudR&V*Pk0%tlv%W^>ls6>GtNHw)ve#`xyqx1PqleNDb;E&Y z@phn_U`ibb)_Y09tpyDWwCUMr1l2`NF%C*NDm)YJe02h%h^Hnbh9_nXTugzG!15W( zLjZ*mu9v!?e{B9aK?)=>#w&Sbu^4jPU1pxD7Lw zPw>u-8S&QMggTp_t4-95&)(iFq^5vwKFoI1>;5IN)c&croKo%AU`E_db)=Iy!UFnNfFXVW{a zNDior)E8=lrr;)PAO!{%{|?JFfuz)Ukw#39vFu~3a^#~D9UFptT#lE=_BQySsGN5a zJ1T}5*{vKw{Sxm1N4`ohyVC(VZbMMS|E(d}#Q!}prQ0WYvg@$~eTib{>ha4Mkz8e= zj)8sASab#|@4z>60~LgfAHPyL)2z>GP=hx*jQek8Pb@=}dH{&44~VWl49_P|U-uqN zUslI|?$F}c@HT``c8~4TaD^6l-1;gh76IwYGxe>UV{I7RqSVhKnz#NoFu1zP_vqR@ zl<~TRurMUU%}$y5ToI>=!8%4*K#6_rsOr{Em1xPJYnNW#UDh$Ukeg=sbZ!gyyATlD z=P9qe2~;^N?bA8@rrz%Yt98{AVGMRY`++q{Dz zIf$#GQ=WVea&=$DdUY{zkaMuy#C4akVJ8kx78U1*wt)rQqMaPfgg5xQ0ANPJftxvW zTvYwVJ3!#Dgah2c7%<6e&|c8md+j{i*|zSwY=#=JwZ9>J8^E|pst|xfO3jFlvM|rE zx(w(FRVxkIbn71Qgf(Jt3M}+|m$D*3Ks+(>cu=h73c|9~P39fp+`-FTzLd|`s(T>z@B%JaaruTov;0y>O&L5irgg_8r?UL+P_%GM|EsVVLzI-i^hr_BfwtHrTW zEXPQ`?p;+ez;%B4apN%s*ecA&z8Q66gZ||*=t<^CY4q(kTf5#Z@fwmMmyw5MuxTGr z3~B&l8Vo&mDns{=orxB=tYOm=%lt&~-4=TTlwEEC0Rzuc*eshPd)#ZXbx~aBH-E!Y zu|`3+g!X&Uh?vRytPF+LK;7bw>7b;-jr@JWyjC%hi(=|D-Lw7V>99 zbS=?rk6AXU^=ibe955iG4m-cgC59b^SJ1{~M;+L}EF9VVmvxd)c{XEdF_L*yZfIEk zLNuNGJ8V0Dn$~M}COYj5&^k*VM|6%kXnqUy@-i6oNm7_=UMW!`%D>)_(f~c{<*zM} zfON+hD5%J6iOvHmM&4fXjG5X)r=dDdS|pJpIY}5OnPi^LFf?&kFq20G;v%0?oXi+K zrd92!Jz*HU#}^%muv+bsH1^Fa)p?qFmcP$vP8e?t)R4G{YP3`(K zxP%#IBibdd`Xu<#&7Q`sy(cDw%|X;VOu1B>!I)iC*=OSWZVu;lvL-;^RpaU!sUSQm z#XahJpde3X^OQfV+*HK)zN@t1CqnaFQ)Gl}NXSwi7cn#Y_b=XjRXD%H3xcSzf`NYY zvV<)O4Cvl~aSVtzc9O;uJwVdr@jaENx1E{dC|KeXg2vM1-Sa!upg7%;On-NtjdJ2w z&B|*hVB~kZDB>P~nvQrbx(rj^UjED}VcB1F?P6<5<0OskMg7TSkaZuFK)(*feG$@e^v{9{4m zJ$0TLOqoT!C<_xPj=SRbq8b}0+T~Sh_K=8#q3W~npGwu_GZ-?NC8M{Kg;P*Hyva9I z+o*5za;swhgb^mf2%qoHk-gJBjhDf;mkBvz6G(dcqFt#Jl8O=LiFM^{ptadfXMX9G z)hVs*olC+@6#s+TAG=M%U`Y<2$kp~)Ge9WUupJTMbhaKMyXzlW*Ik>M-JPLFFAlyv zK3Vai0`@uP)U>?^&LA%!; zM8uokE%mzhFxDzwcd_-WLM0U-m(o0}ANMzlwx@#My;sy|m!h<+LTOX%OP3`UcycF- z?U*EEcbFwlz5gKLwW>&bMe{lCd3+4dW6F*{Uat6?8mEF;D;-!x9&am<)C}a&vGY3( z{NE1}sp$?#OxnqaFR`Ez`Msu~MEiR*2$ym+?C1943$}g{3{QS&+2ZQkf)f6y)FY)B z(Tk|?4dG)~bvhv|SfI6>toIwMkN#eMhr_D83cUPruuP#a`6j zzCfZY*@z^DA7O$L-Sij>aJ)(CDl-J_PiJT(RX{JKGCcd8e;h8U&T2gpWMQvw#LbK~(+cIzDlfv+ZPo1~KR+Vr z85n)&$(b>%JI#Aqwe>O!XEP-4ut#a>oxeSoogHC9B2fQQ%?-V<%+y#tg)WgC!3X1H zbUTGIXwevOnv@pzE*R?F(~Sf)$$Yt~zY=Foz2-FS`x&#Kl2h_{)521ms~Tnleg6_8 zpW*N}T@ZYDKK}Uu*LUWJ6IJKN4n!o;=$u;ox=#)4gx$q@Fr#^gNcf!8Pn%s>0X4WI zviX-#z)s`lr2$L@Aemjak>O)e)Z9FC28o+XXhUo9zJmO5NU6Rr9(#+Q-vNTZEffuZ zd*h~b;X8=*1lEoh{6YX*er(v-ot=?zj&-9bp%IRyPiLpcGYxXYVIP*17iiT2(r6^L z6ENgUSw{W{26)99hlPH7Mk-TxlVhjrefzV$OTo0RpNldbma+U(95Eq@U^EN%#uzxd z*DBh=Ewk*;%`d|7(8U=}dh`Ip@r)GhCgpmq!gYgP2QdKI$fVl3_(}&VU>T3B5tS&^ zHuO9k!>k&$#WwlsZFf&;Bm(~h7J=Ot0+*?3{t7-jd}uX5x3hN@U+bXgTf^Qs@WLu?c{|KT|os+8S3UVje?_Yi+5RCZMJ-_c>?n%)E zl+MoSZn6K{LyXAMoXQAbhV@*CS6dWYRcUL?Z})~sm>2YXs~}-_+tE0h8^}o9=Oe>e zYX$Y%V^sD1Y5s#i^E|sJL=N(a60tzb7>Z;LQMa=rHz+(<-+udgN0B6fH^6#^433#h7i?04;542{Lj*B0<$ zRDC?Nv}bE%m$7%h3C2bAu+V-fKq*?8-NOE0_N%1$eDFA5WV2bON_4&5cqPVP8qHX< zVcbt(ZCW9qA4XSzq}jViZ9DNQP5ZgPPR>D2 zkxVSKPuZc1e*>DBrU^23$tT=GSlx0vYZXsa7j%X!vC^mSaXqYq_?0I9KsbBAe0ByWc@ zV1j}6pej<`x%X05Z#yM032)@A(No3)(XcH=2o%#RC7*t*t@r?nUeo6hh>Pl&kFkw~ z8_RR2865z6y*!(VVcGz-!bw_m2*v>E@&bhw2p~5mx)VRbsd*8y*<{i4ulnGHfw#5@ z5E765JafFr1fqm4|F-WonneG^OGh+cOt_+*HunaNUmNuN2v_!Vk{4gSIn_v|4~QzT zcq$CiP)Xbq%b&7!;6pxJ?BIYkk~4$1HEtV~h<81qH5r@x6;NOt`cczUg^I{`z!=s_ z4E<}6dz#D={OW|~s_$@0y=(%WM{}U}^nX|#0xLvaX0acldUMm9--PqQc@C1y+s7^i}YLd$f!RmPB*BHyjB0E-mYC}gvK3yaL^DzYf9 zB~yG$JtFhnnbRRjncsO>*i;$c!L5^SBbY3`nbA5|qkIj$!k-XI?<9^i8&N}3Qb3@!U97>w=d6L0O=3j|$|BHKKe?BTL11}#N;ClYTz0nYpY`<-1; zq83PoHE^_$6ROHmAIj?=e}MxM*fMP2vD9YD7U#Aon4o*N`LS?h5RKi@P+=@NV7Rh2 z&~8Qj^#7Ku*xKU!v^F*X72^hHjtxfXK}XBe#pZ*BCl`0ly5S7M1yy3i-xX``6nL#P zprm9Mj@Os_^gDw`S;>e1B-9f6_6O&Bs4Pl+uM*NPoF^s0x{VgXZG)bn>9H6``i2>Fagyf>Jn z^3crgA4=lm7*Zw7U(eJLw^N2@onZPOTqRUez6FqJv|Oe}Ow<#&MZs29IP_3LaZK(Q<+a#Ps8O&)?f z&jz-b3=s;?g_?70zwtE(L6Y4)6^+(^Y#EnM9Bv9Pq^i9c(ebmrWkn*_GgQaKMwuya4cfInipPh~U03%%0m3u~@AI==#PoCiK*Y!YFYw z4D_`wG&ibyz}P1ng{A7SLyQ7xyRobLQ4gc35QRqbwq7L|e{ZW1T;%^x2yDuNUx%GM zU$>0Ksz&g9lYLV{2YSnjqy9SYipREMA5n|Fl@Tlddy); z=S5P^4yjQ8_=@K_HTL7em7$EL&xzi+q9myq)I@pI93AS*F`iU?l_gmTfas~a*1l!w zx(;9R%lmCdbK<)l%{>3VN7qj%j94q4BY`jf9iPlnVTBYEyjj!J&8LaiYGy88 zJPPz-`z$kRyj2r2lb*_fSPs|6#ZQ*tbe!g5)olEx`A!Y(%d^^5ix5FD|In z7A0^d)y>kLQBoGgQVp{Mjt~W_TL&!ky`o81K&UU7{YRiA+(||mR zZz5~I)%kx|UX4nFVB&6d6wAlfHVwVQg?{g@Soh9V-%wiuHR@_7FS4iysP-;fSangu z(qxN0YW+tRm6Xr~u}W9(yhy-uN}XHuOn%8?!!TJB4l>WAove`vaeG*vQxx!8JE!=zVSA%>GCU_1Ud$OTHC3r=r}GxY}3v}fca?oDW98PG1KR< zEF~?KowL=;cY;2~{Rs=~#P~dj7?NhMgoOTy!9mj4s>#({td7qv|pjE{u+eom< zG_UycX--NxwCoR>B2&2A_K;)^=KzkfG;BrwqA7uN(_l~7T?ohPAS^cD5eEKKb8uLC zA7}GlyE~_Df4a56biG+7UBh;fP4PO5tZ+3l{IT-vRT4fV&|ftnwE43rjghdLGo$0@ zVYignJ<9BFWCJ#7(bnC6{5R$~E&wOqxPmW1#lbQWQkwe+j!0vQnv}dpkuqqOI62+< zW6&>UCa8u>L#wXgw90LoH)yV%`%by(aiZ)`z0jU$g_;O9M;t?djL^!xAXVD-G9~vW zG?!U|E9BW8*}s}s#c%>D_=PFF~Gk!d`-v9DNmIj92YC!cBY1Qdb(1g~f0 zS6^|C!WBCDdvfG{^Zf8=Y&sxm{k`gLwsyo9Amh-+sMzz@E5c>+m{9YzY!fHd_H5H` zi&bvSXd)AFbny(i?FL_EW#fpva#qE(O1pe|n{PGaYcFwTJsOOX?h*+v3CW%=3IWIx-g#o=_kL@X&^ z-%ytez^>*WOx_;3&V2|E5y>ztoomr(7Pf(7)rru!9fpbNTD3RTF-%=|uH1A5hr3Un zXs_@U;sCg+hC*3zjUWm(sDwexkb?wqtJ_yPf_)pe1FfF%4w&VYtoh>60g8n5XVgI+ zc%!VBh3bDT82ZfzN18&Y0Cg)3rt4iH$11b=<99if8 zqalY{w#gpPi^sJ?)RaX88nSFj%-^)!oZU5BPyFNhi;gCCCyxk9rb;>aJ z)C|RO1qU~@t+tGm;V!qYS2;M*FfGv*HfI8U8Bma-Zq03Aym(BM#Zo!#b`UA&Ua|Ru zz^?Z~u%h={a^u1unu9P7q`0#1wi=ct=?LjbPWuMqP##Q=5S*FMHbCg`IAG@XP6v{; zvt`xY(Xh>g@FZ&VYcd0^p#?1jyEer@*}Avz!8#Ae4jSRuSKRb*CXWPlK(`e9gC7wft>D~94o1tQ;C znJUY#g2FF8Ln$Dwzn)6_=W^&)FXPGyjT1b#e=8Yy@@z3skw^;0#N9{)v4h8c!P@nW zaB*jcZ-w*JZE-D+e(4b#d&^jI>2ZT>)ZVE;@id`Rjqy!d0mY&T^)!D+GUguj^2lb6 z^F@b3SY21qiQPKz$Z~48z&`@@-Ff;6Ye9#MC7diHQ8G6%taCP#%R-BefuK+>tzt=y zTNG61j=$4)nCDRhSltFiyID3=q#v0&n$j^n4hx!~6tBCYn*Gka{yy)Lng^0Y;%4H|`yZ!dGoqekf^8sIDy0AS^iiW(fd znoZh=n1X-&Wey^H-972#lV_n}QuFK|)aHy&NNtmYc(C1Kr!qYJ>+&$yf11=pGyxp? zfK5F*Gc4W;8ABNA0zG;C(qfu^tj2EB*IUI^w_O7*lwJV7%>;O@XzA(v^A{(4su0WmaA{bSje^5KkBveZxlwA@=A3)aMBHL5tCsFiloQ{9Ncg-dhoTk&{}8C zq)UC@n0K~kt2#$#*aqRDOrUm`aMbvuoawMyCUqTUfb&JkLgW%RQ@#vU^^I0e?O?lQ zTRTueb7XD;jn78M75Rz^oDrsdFI=k;SBHNG+0-QJrWqfbn- zd}@$x!NG1@8hIeIeUkXYx%UsMNPI_gBxK+zct@OYNx(iz^)3|y_eVf3t8W1^B-6B% zfLumOqWD!jqg9DLj3Ju1A0qZ%bwZA|nbw>dHv@s1@2I?P=mn=P{ ziNbDZUAydtjH-HNrHbh|e*Nn%{fY|#j<*Ty}&ZFh?_IVnL@K^eZ zP*@ts(w`jD_-J5U3;$N5Dc5)csUzazuLU^Xj{rwxD{<@HO#dA9LBKQPs?yVY>B-DY z{cLoIAGxw_aOpAJZR~xaapE7`p$m+9)S`n3O(~V2ZQ06J1s$Eg)Ccz^fU=u!@S6}J zsnka;M=Tc$wODWC){3@0;JR#J5JIQLPzGQ&d~x=+qlK5#TkvrRC2{WEvL&Wc)}AU) z<)Z*RRg&E>sPB?#Sr_9#Qc1}f)Mq(LvQjS9fp`@vJe_il+4Qx-YyQ0Wv%z0${>YBD zf)Oh`EAUxv)aA9QFgaL)M3Vbk)uPe&Wj_5cMS6F+h*(rq<8T8B6SwiGm)FnkXJJtP+&qa%8h43psXm#R zkKfM85yi=-Xo_V)-_EEHjsBn zurOCHOK4pZb$9-K#fNfS%US=B58B&6pzwBgXq!F8OTcN*gwDCVKOZV!N2Lz1ah#fQ zG1s8g)-o&cx@;p;96jHDzCM8PVcI!sX241e|(9dMVf(T1lhbx)iW;F{#|ZPtjz;I z0>`dc#k~(YBsUTsO!jC>|8jI=b3ks0S4dswO9JQV=+X(*m@V(%UH6eDJ3Y|Nttj6E zgx%dWI6w@B(3k974KcCsmSC>@Lg2cu$;UQO4iC-c(lak(n2EH`ra5p0G8*bT8y_a| zwsY8sizx(;T(7G8I`&9`{h{VOWL*Vk-yVGiksPrN_P;06e>CmPur;6YlRt}`uK&5~ zBx~xT&|3EdnGXE9o@`!1O)n_G#GGonYg+iY5bI?t@Ze%G?Xm)pmdrA#Aw%Js9iuT! z#`>gp*$+CTMQ`UJ=SS)m5mf~qN^XXglAVaICbN5$)hFYt)-JbW6Ss*Z3@C$T%JsQ2 z11_=SSqRy)XG36}Lm1WJw;u?|c}C~vf6jbq(FR(dnazuKR@eJOgIp;E4|P0*wZS8v zU&FEl&%iI~ymWz@)46i_K2GgB#JRvRx8z&AT>XyASd{rE#u%{AQ>%pl&?9ve;3BFj zJ>+*1CAr8(bYt*2m%yEMYC2~(4u1)IZSro}{cha*EBGHgEzIAtHQq=k1&Z34M|E~l z+D@6k%?nBWU4vG9!^JD1GsCYi#c3Dj1FZkJv*EyMj@T=;=L^0(arA+MDVl)c1MYd7 zL2J#{uQ%tDUlIQ$4vUafFtj88xgn{&$0ti*KVxN^qPaS^L`6#GP4(iYlcCkX{Wq41S?HzEz}M7B?>*v6qf} z?wBLw%CAMzkLwXlfO|8C43@ z$Zx^rN~g5*A>|KKyQ>*gO2fVC_hT`=8)Uq-`(VoQQ6o<&b8I+CXzNcxf3vUrLBUIe zkI=h|Do(*XJz#w`eTYxrLVs)k8vp0$;|{d2ED9PH+w)_xU>{o?4;WVEDlkv)na@hk zm(cCwO(&;uWt0G(moY3S=NQ%PX%s+c)RF1$sq0odn z#E~)MCpwYv+VIOvzMtpm4qHhh^wQdy=-W6uLA8&yS)$h7jLUXVgW%vw%r)Z=L`R*P zcy?W6e92}n(gHxuA-hLh)Uf^U>FkJHpYIx&fP0i*7qzjL%q5*)R&0&<@IB7mH(Xkh zQSic&&(FiID)t2Vl%S9+tx#g8^-gL%vTQV0I z+NlFa1f!26d2MrC)4)5NJ&i-U-bcUHiPk|16qO6`#ZOyA^wE4L0wH&LvTt!(-IS2Q zNHvYmy)CjrCN}1P_F@tYcn20MYfIJNU2*YUzd-w*>&$MP-%+dcjB6D9T=I+fyrOVR zSdgm)NYVi1TNYhj=Z^rKP<=N9gsd%VE{NfOfDo*4a3aJQp6^M%yYg~8bgqtk5or`5 z!rcHelLm0w{RUk>{p-6VkUvTOoot=vTy91-7hX2#yRnL9LO0up1R-y$@*BFXSwF-? zi{uH8>Kz2T2$!n6JAdf}HCBYVzuh`Y;#90(Q8{A@HDD08XV0~B)jUbYu`33lD}Iba#E6?dl-5*D2WGOgLhIL^M%H{s&iG+` z5RTYI%q&*{1?lx_3au*e6$_Uw?b_L)5z={G*Ff- zN(qhYN(U<1*Vr!}s?WBi+dwnUztHTJ#N~;TkY|M5vgMTfwx+6$l2Uh-N4}YzlvQ-Y z-Vn%R;nkf&hq?3&u0g6lo-WrNrDFOdr-x?>RE-j%Lr=hp^hGz0KH1IAnhnzeIyw8| z@+)TQ;>{7lU1~L2F;kirN+slNv}dJx0Dl-Tow`;KM0U@~frZr3da<+*xI?(~$yJ3u zb7>?po`tN;y}|M0Pw^f7!MNZt_FM z-WE?&6?fA{J%#xpakXg*5Ru**U_MldQ-hp~BC?Qqarb$WU|bKqeG`y)GFKOKAOk%M zA2F0p6GFyc!7e6dpermOep3Q$7<(Iw)ihI&ClqvUBavj7pDsUAo$Vo-@94&5j}#1n z8BZNVXTLKIiU5+6UM(@ zsC}Q5@T`i(-8C@N4$sqsx#NDxfSPxQJG+3-zj!wYso7A9mK1`+0;roCtbnjG#$xv` zoUZezgnNg6li+WBld)DwLu^?2EA#>yOUvlAp(o<|Dtq$14h|O!S^}Zsf?`PW=AM6Ca!~5P zL$hi6{M=Gm|L&wrMM#>j@!ZUxsyIx5yEZPGd1nA8N5zc4FV)(t9qlE^uI$h8bM(@Q ziu8%UFF^btlV2DSi$&_iP+yHj<}opelO3jRty-*%>j4u|cgGpB@wG536mvkVk2qVR z?jtIYAGe0;X>9{@1{I12v*G;Bf|E>$znc|ll1az43r*p<0bf9SuEp^-;ybVrsjkXx z9#TtrVv3g}O4Tj+S0Cz|%f|zxinh81C;b>Wxtwg#xj)32l5(UQZGF)aa|6j-8sUc) zSnlH1=jT~=`fO(Tpkr%t*PEq>(FgB19t4}MX6;2=2kW%=yD^gyX_3?~z$1)=B4>Rq zS)3RL6AZRau-)P#J$t2^Xg2tfY*cDAKlNdb@f@OFMk|}}ZUsNg>5h^%5N2wPwMH?# zx5EHqlF*e1LI?L1p%gQi99~IGvVV)JM}~+r(RR7&OZ-QZwWT6lb+s&wr~QIA)x{ss z=yCfG+^5L3b>K$EEU5(yV)3$b*`c7Q!DtQ{<$L|Nh&%ZC2Y2pV{{$AZ^k|PPr5o1_ ze{*Z>5jwKk%EiwEx}Q78)p800B0A!({jv&a+2kW~tt}0p5MqKv-Zie&N6x@`BNeoo zoBBFUx0|w@Eyc%cmQG30ho z6CF5!DrxG*f;G-a*2~+h^qgVC+iG?bb9&BikweVM?R(@ogEAfq5@kuajr069@j;hQaxaPq z<_R%Vm7cvDV9FOb-qz_I>U{193`oKhlu+1>SumS&h=RDTN*1eC8w!5B9V9zYjh^?o zAR7CG1KoNl?EsCneP->B#{N=WD~DTWa-QRpcgpzCs^yz76q?UT;s6e3t6_lm0KIZw zx%t_@PtEqRiJ}rzOQ%wC?x@M9VbTxvaqWeSr zqx_NWHD^{O5Bqb{yS+s}M)qyUJwS7J5Zw_N}Z2>XUL5O~&{^nj-gTqK1{^z#fcEM zE01HJi3yI*TmQiF>R*aL@+342VxWFF{h}CiP%o9@->NkforX`_q%gS8Nc%|UAi8W( zY@v4V)HfG=_iSKy5ufAZWlCU8C-|$jA<_kUqHiZDq`e!JzRytIh9IbFnGqMSf-q)!`?dJWT5{q0lP-<>q}ttCRR4s7fH0YtDG= z!wzcLdSq)$Gu`aDw>HrThEGTY(9ljX!J*UnAubs4sc3Fe^SXM3eVunAS5d#7wI>;K7ELptLfAg8o|)I}T$ZiN`tDDqP^+ga}5*g)~($En7ae+N50U zRziKZwUt}$`jVcbanvq7+b;BlpT0HVD+tDkIpTc3EsKRBlv5?M2`os${7m3AXTQ{;vHU?H+IR<4MOc@PY zHgAJ~sml2&yom7;lds%_->f?u=suRgmqC5P44NYVk$Hgg+Ncohj@(6Y4=*$uJ#lR( zVIA{7S=a)MVup*L^#~#ta38U^;(p}pJ;R2P$Tw0wyh$^Vw22+3II`btdBR8#SBXCt zk8B!a?#o7^zFXSpvd!}1#8&-kafq&HFUdF%Q^TaaeCdI?I0`p&u~7d_mbNb`ajW~x zaT!z-?9mCuFAj$E1apqacfqU(Hlwuq66z&T=Zz{op0zK7z-+r z|6LH>ZByezbP&}b4U=^mmt%w6RbLHlSR=-7oXj|Tk-}wRbsKcUp{bt1a)T>}0i5VV zH#BSi0dk`J`@L~_nc8L%Bo}s-ASOo=M&;p56ETZn{`$-=MN3*W0MruxuCXf6qlJI> zJdLNScHS$bI+JTd?^Z@&#GY(ieHJjcu=fo!;$BqP9KSKIBW}#GB5lv#ZzA$KwSwA`xAAG?pcJ$eo;=u0Iq^(`EnPehsSU9*mkCG@zW_|-21i~RgL=Ru{|GS<%ohet{(gE zVvd+`u;u(VLv`hKtZMh^DQz-bN1223E7?r~m{0VGT}KW8Mho3bomBU^U39PsZsGec z02ocRn-<+yc8tz!cX8fpraqTgIti+Ts_;sTaE1=f%iv!m(0TsC2TAy)ec=XI?J6$Qnr|^95nRKP7Ydtp z6l$TMdXpz9Ml#-CHNDBJf0%=1D!`%rVc!dYHAP;CkOB98<1|va*aV8MQ^_C@P83-p zN`>+PO#-t00c>pTfuyIA`Yl88X-Qq&Mh_|`O9&yz&!4)q-p*r6cE~fIU7n{XL7j4> znJx};ecF#RiV~Jj2n_69Pd0aPvTUV9Q$&iccL&nEEA8?ZK|7=Px8$wmo@@&~Afv*M z>(~RBmMr zdisinXSUq7SJtC?I=bYQ$1hJM_%jHk!M5oyp=9sfB)x37wR&yxbo)iqowYnE-3fj0 z#cI3*1@aW^xBmPNyu4`B@;r#hLdI4+d3OKZnO>OT5VpOKZQHx_a9|G_7*N(;Yt)MC!g0i`OlE zC{qmuP+m3!0dt23X0%*?2`sf8XIfqh;l9X2-y_=9>ll!`pdXbwH`vr~NeROI5q(hJ3QtGS z!4;|pXZW)T&B<2$p4<@~sQgF+7=_}gH1m=L=A4a7Y8-;x#VvB?;@c1qWdXMK<9{yo zL6PxUuKs(kypc#rY_|R2-H@7A?&*5{U9gxBM@VtQ{qCOy{!AOS#6 ziIIUc!K#^Sk*NqdNo`6JMp5(Qp+>{rTn4O7*8-df$#bN6W{Bf9Mluk}#-LP3DzkdI zVQu1{9L6=l3RyAay>bi|{INo@IS#$uYHYG)1~b zgYkk=8K(0~_O+;KD>7S|#_KJAOr0Ch#3h;N?|>W}%s6FzI}>^-(kHBHbJO}u$G{~0 zziTEdE}x3oGEn3TJqWQ( zZG8~M$Ov9&+NQ@J?X)a$WxT3;;b{{V{t=W3{{Y^ypYs*sg*KgYo$Z)b9B5jT!sN&5 za)?;{Nr_2o_1u0rg$QYM-gPqJY%oMdO(NWSF92H!6yA|r^7gdY14?$b5~>0fuI#h) zKgv>2+RPPQ|`00I()3@}+5d-xgIlJXcphLq}Z1i1@3zUuv=;}|Z-TyuL1 zYenbh%<^b5&dAd6Y?$M0Hl9cg`$x`KI--5B(~KS?#s`?41Y9#ilDY@vl3ZImRT~jN z#qPBUK4olAe+bT~(Eu9YveJ8<47sYj!c+fY3HDfb`e`oyC;z4XUVsZ&H9gonH2DE) zZnxi0z!Y--DGL=2JZVv8QYXIA+R0@P(v(HjAp)Khbd04?j4Y#B2%o)t?SE0hj3>fw zq#()k9XdB6FjOM6mg%1yP)`Z$kq`TPTYN(5Aj@CM@9%0n#ePY|<>qhBZ{CdM%sGQT z?j=3lrB8!&t|y#|*+K>#))R|FSsA8+HL2&!Q2tWc-wAQoZ+CYgwj2bF+(7`tza3my zb$eUo7vTu%_0`1TncUk&ua`SiEa_bCL>%m|mz`nM@f7O`$`ZsprV- zp{(+o-asSE2Az7@h%9l6G!YX3f%W?8S1la;|KmtEwC+GHQ}_qomBq$O3`2bFUuFZ;%Pg2<1PF+ckPR9D|_}aA8Se-hsBWT}MOJ_8YGS#FVa` z8^3q3?dbu(N9;B!P8Y2->TLRfzDl5DYE9utc3}Az0OOV|V2}c52^l8m|KVd$t$WMR zVYJGbGpS-Z%MdPB9*VPVVj8vY-Wb+VUPxC!&&P!@fs1x*H>Iz#qz}Ae6!7Il#xL2NV2^dV4CjXuML#y%(M5HtNrOo z@n}#t>sDH^OIDbet!W?=nOg^g!@4xw?Xsu?{3%Q zD!H*55@k~`)sc=3CK$jj9hMl5^|b}-TM&cafCGGr{E`w+(8CoR0-VEUy*5%fS{j0{ z#{gm?^x4LZO_NEwO#RnoUc*)TmdUCH1EB=@<#KCm z;I?o7+jz58(p4On^QBvETRy$u_Hu*BeYvZRd2P>9nX3DmJmR4Ps?4&r8Sm1X4VQ!$ zaDpC4&Ff;u)}2)K;Yj?VpZ#^$&bwoK52s{6$g3&-|be1 zFy`;p;!dR*YAt+GMgOL>n+O%&68sO+n^3tA6{LA5jPgLdCmzXl-%9y{VaEEHw*4(E z&Gg9k;FVS$k&LbCb=B2;exaN@5AmavdGHh0X518-gb;^jDoa?{IGGoV~2U zVTNTvJcprEq1)C|FG#X%iSi@)UzeI@^(~_5V+&>@T^OZFkD598v0QAblI*sXCZ%gQQ7FEj~)u9y3M#@ z4NSN``ug6#AczSnDbNB%pWEcBp_nDPC=z0MKpn&nk|N;W9!mf2-V<-)TXbTK=WLaj zOg>xY!r;g1;!o=dp}`4ZmFhqBvN45hEO8a@`vB2_F3ykk#rXAc9!qVU4{uRD%@{_; zLWj=g4oh76!&(p9e>AyGM}F2md@;%35>__!aMT79aB3+h8E=0qiau z9O2B%`^3v3CY6503Wp4(tB858q2zc*jg8522Hqcs`36aEv4TbO&I03P)ro7 zbsm-1$AYvpe51Go(TSgri6@__-bl_WuNZ7tZ>(Wl;^11>!XgCM z2QGx?4Bxa2Q>9F;52?*NB}uppHntOp>`lCdc<}}{7 z;D#e$*VJ6XH zkt5e&a~qS^AJb-AR6jxAxYdlD9VJm#*xC`zBmE9& z@jHvy?v_eOh0*cHi|4uJo?%L4p2QTW<#L|*_ zOXf2oKA0_1emeV!l}t?)dBX0x#hHPivOc>|ze<75*IhgKd|yV2I|>c4h6!(75g_0 z*~QIfGAAaYbTC;?M*)=iP|iL{-_xGfCA9*YS>W^^2J93}h$D8KVUe=!_;MbTi_ree zooAtv^-R$9ZrWSpX=}XoARVnocas<4J}-QWD4;>T)xG`-o#UcxqQa25OMpydpRJ_e zK`$za*5NjKZs*7Nq5v+}O~=TqMWwBG>_MKEm8T6tHv#Ck%R!#fG4*!* zi9&CJ+Y>lZ$WrZt@?qF{$WGw(!9iy@JUorHWBthh3%!Kui-+`u#f!hHbkqT8$=){o z@YSU7U??;K~V1~%aqQ$e)M zD8@&Gqu5rgASHmy?4iB;D0lic8cP)rX5Oy33Q>CxYw2KlyCUanq6RFmsQcQ_dd!Wq z5myXVuwML-*O$3?-|l=+ni?!AYQR^*`g%eaduNe1s>!x zDMfiS@#G)EftL?6W4Wl?ot1dc1_EL&3jLHM)w8(!tdm?bbEfPQCM{`}LY7x2;Q8B+ zcC#Ke1{Qu@XEUT=;t(gjLpdT}*P=hZ_)hh;b})+J~w3LE161e{;w^J4|tiO0T#HBuUT^pnmpb;cEzTWc2T9C z0!A;@;Z{A=TR;l>5=QNeK&u| z7_m0c{=%Lmc74`vSX6nW?dg9C>b9Khd|A_@qIVXTfsm>A=F^o&VbW5u3hUZ0vQxh* zo33j%0Pu)-9=IZgCLUyr=yw6!oA^2-DieYaJDdg-MrlTXyXf|nrMT*Jm*gPNDRf`Y zM$C@A~>X~&w;pibfPKUac=ax zid|wKqVd1f<6%e7&@*6HAz~>PrULu*(wklRsRD2vC{{*K~acdr-;& z1bx1>M;|-TB1B||G>6AwUgX`+|CDV^w{s@FlJg7BU3FIe0~I_=lLAR64Ib|N z4NmLL_jN`PpQOZ|REd-_;43q)Vd)&&u3H`?g(1xeV28yO6f9QE@qKaIwwe{rTwMO1 zr&oWc!*R~k!=@9}fW#DDr#rV>4b>rnpe|YLY%q~p?0Po_(VySmJPjELf|58_>czz( zu^AT*=(vV`-Wy*QkGslciuuCIch@X3+3oL$j!HX?2Vqlxla0^!0Ton(c=`~-G8UfA z!RwDeOimaFSkf zI1L7x-^z&CKqXXs6ft4S_#F0wiJdn6O3Pi%`p`Vbm!3ZG|?4S-$y+kqokkq(-syc_eR+>JG8 zXEqtBpdzpTA_-%*Ga`NN9jnyim4nSBOw$O0L(5z&6Uw(ZD$PXF6Qe1_CL(*y^xcuT zv6=t)Oj#}?^7oa#*-+cJ7U8avhu&taIaOz@YSOigbwCyQEWQfP$p5+g{`b8Bo4F_rK^U%QMkAKGBuE zrGvm6kTgJeaO>em5-rDj;vFJ}D1Sjwg@YnV+maD0Es31JbF~iCdOlAChu7{fTcELc zgE7HzPDrk%LFof;ac^AKXWK5B%K>|?J3JXD?whnsv0y|SgxQJ7T&_R|_1TxI1>g?B zrnw#UXag1qYQ|hdIz+BpjGZ4;qA^HS416@6guPIXO{%)25wD+E)SnvGw-*+igdq$w zDz$JGHfDDp%qg8uB5LgR2FN6TRdmv|%GhoYT~y38thl21x*R@CZJ8yt5D%XEb#r6aos;`d^uzKOS#HT=wj%VG=GPN z9Hz-J{l5;>kCh;+n>kdh@fX=)^F?>FfTifgiaPOs4R4JEXaSz0XocvrjQcPM7bU z7DY>NG`xj-hv@!ji^F6$2nWJ?>Z_NJvJ6+t6VsHszv&+q%t2fn@l&dC5lG!lo18h& z+JH(MU&tC22t$z68uq!z=g5~bLPDzuZQ?pypUee1aE+@2yw%+gtv@>>UoH@%WX)$s zb;l;)y2-pFEf&wdyYgV+_k9#fd1X9!Vy!bd7w`aRsH|gPHYQJQC|Rw{FMo|}DY^G; zz82mrl4{Wmo3i0i$WiyFv~|5!Dq}V+uK#?s3QDpO z6`<%K9P|%oyc|XI^&NkDdXWJ=3SDj2wXsfdpi$Tvm>2@1-NVA;ajFV8eun7L3xNi@ zc!^)wH4|YW6R8{wl=Iyh9Q21ZCb-r7n9hmihK&CG&P%R9`@X1-5c%EkbQ=U&IVf#- z&NQtc0jLs3U2plk*Z+OSpG3`5Fx{jWaNSsh>XOdMnOU4bWe%GnV zfx`9iOWui1O?vE<#pGOGim3S>CWF#Kp@ZF!;s-hwCXUf$+Ts^A_V35b?ib=k(wp|u z4n3ne(!95>Y|n>jtfb!vOHgf@C}hySORvGXun2;6zQumSa1~7MnOXmlgB3FQ!^*(& z5WDhn>RtNY$2V9y)-z~;Pq$r1Z&ySWPF3F5=5Qg|8hOJWk6AmVaMN+vyRyv)bo1sD z9<6A0(O;{&1dDjbLCTr&k8W|(>A6xc;@(jE?w{dW5{r)ef*BGi79# zuRxs3R@yC~>guI`HwTI;d99MCo^ksk$e79Sw(!|au))K2U?lp1H*BG@q7teBxy)T; zyB4=fqYOS>7n~D2p<$0&z|S|4QwhrM69s!%@9E}9U&mO`)Q0LkFedNOQ#I)A+s5P; z#OI{qAZS?cN6b*g9;#0i$ZM^ty=}MbHIDVlOQYG+{H%^3=RS{r8e_R-Kg@!F2O+;T z*ySKceTaB8-z2p1l61kzL$VcV8`%aU8}7;|k0RMV+|9uZwI(#~TchyhB!m^9Ec?wD zD#sEPenB}iyLm+ehYsO4;5gcR>{s>%fQ#h2*5A|8kd(z^YIEh-y!6IQ1W@-V_CLQk zxmXC7Q`Y+SHR0%&5^N%jBfh?!vn9~d_9Md}QY!X4erq8DC#7{y3gq);P|yc{*oWDS z6Wplpnc6MCIw{K&o^c1`^uL-$We5!32SF?_~f5($j_Qhl@yJ+RxD*k^q2V91}r(u@HX ztiJD_$=WHg^qE>$+B8|Qp^ktt2jf!mb<$j`G_c2Xioy?8zPZ16B=mZo(4%!dpG&(s zy#f_2dy@4KjoJT<$o_r7F*S-DAV}J75_RW6#ewHD4@_|QnF+*pzjR)nU-^B$u3lSA z*g3P_`Zw!}X@*(olhnmGNnfY48e;2Gw%X=Rj|&a0R$ydZCxM#Gqr5*ueH_YT;w!I$ z5l8nyss$d*O|5k=%OmH)gwjNbb8S5Gu%ZAM^)o@@`FYyGjc&4O`KhcmFe!}yD+r{)0UW5lGFXP! znM~~Dr2*3!*PXAUM-^}jo_;+lB1#XJ)KOFR62fnf)G!vwpX1=Z^@CULof?4;qF z3W48sbH&_Jq}d}Y3tHq#$|Tnzhogh`_mG^4&&kC^m`gVlB>N9eB2fhssESQwO& z!+?n;@tnnLemfwWQLRfWF}=la0$sK(K3f_Iy2xW*$rkjsfx>FeHf5wclX6u}4XfOo z*Se;pM+`aCC9E*j_eyM&@pC*XZY$MC|~Wp%$R zaa+k42r|+xp?(#)lAO#c^bLSpMB~oU_|{p&_wA^K4#d2=ymVZzf&C2;m>hY;5ruhq zj&9ex7PLKp32CRxz-$@q@jO|WtkBp?hl2KZdsO^YAC!jahuqMmXJUY0EDis`tX;02S=IRySS8I$fsnj zL*Na7d05H6?uW}W%<53Y%#AVzJZouV?A{o&1;l=;e#`&hmlzpyd$VVH^63sX&bvq5 zZ`2QKcVJMx`UB`2KcA9TI@7OAE#gyYS% z{P`{4XuSoUXP`9$P#!Qtmf#O7F6Yv@<_>@5X7C6-m3|U*Dw~!B(P%HsB6CdhHnz3! zlE>czI;YfU`rqKDjshiUZpR^OloF`v3b5|#T$MvXSR)c8%$lG|cpQOUi}Mf+E_Gh< z#zWmvyzU__<35qs7Oh>>Vgj`q?rgM^Ky;ODNM=%kb^V3g5_gKW!sc}O&8`2z89&w> z!8=8*{Z9 zGzS3hE`XqooXA$f&ZW}$QuiTzymv4n#f{!AX{6nl%@io0+q`53eHMwqG0g!q7jgF# zAr%g>Xd8ghvN*3aLMF+8Jx zl%L5v)iJaC5~{PkZowm>z$3bLC+ffsKRQ>CbV4{$oD!FVnkpSfwW_RuT6PpC#TeN? zBV2t(ATak*?nlL}5qqfy+rtgV>2#U^;7>2I_QxT-9{QdL#!y>(1O?Bjivo%|+}nUd zL_F7kXaJ-Jhi-bP>_1t8epm%HA0#O(MW6ViG{U!k^};AQJ1zewHe_}}@xl|iqMlER z5tkYIdI!%rlE;Y05^*Pni3Y7c6Wca)ZgzB#q1W~GCdUdra)fsio#~k>z8x=3Bct+; z8*PMRl`%EJ5v$oCnC_2Djs(RR*H1N0D!=T>>TyT8^@J&CLLXp1+3lmEkfKg%{E4Sg zVY6g>$CIHLtZoXRt2clkV~cw`q~y;V;7q+`C5nP|+a#|e&WYJX;aH-;2(-!zOg=tS zD$8bb{?_%doSu66T!&ng5OPVDl>?rOcB&AfpFEK3L{qyLGyH*c)UVHJTWS}I0|D7g ziuWK~x)`Z9lFBV(!Vl<|9{{^eq*n}qM{oE$Dy=>Q$>FgA)`ME^D1H@8R`X4NQEXc2 zO&a>wm$r^2%NR}qck=o+X=<#GQ2l%U)SOc+j%v0f8TYN|U*B2^vnrG6ImQPv1u zpx66&X&4_#R5~T~nI^Hy#4!O&kMt2V)p8i#y7F-u7O`8K4D zk8$2N{TZCI@gv~Pyh|4+#y)7x_^QY<(X`n{_j8D@j5jd+UBQ?41O3TLutnoSQ%&Pu ztgya^87*?C12Y^a{0=Jm$tY)Eolpp=b-}|62TBkS)>^2{Z%fYvn_$LF{85hopCN-7j;}Eg ziXhfsveBsHZIqfpz8`?6WL5akH)gkZ4HO>PBHR5*zEf_KgQ9N_NB&D>Y|JkR$rIJl z#6f;t4DP(;%N!E2C$2Fgz3&T$EaF2g)!9|k^Ef6zYk>+eN=*z+YmLLV=r5`p+F`sx z0S=lppebjd&>4jHlZ`?g!P{Vi%70|DWBvNDb~LEF3pff+(-6gEGd1^Y7`7ftpPy}f zK`X?e58njGvb$(<-~)Bsh8Zg;Qv2!2q?3*)lGamr5WW3B08yu5MYHA4+;|TuI>}K z0~z>ziw`=1cGpih$QWM^8o&~^`8@JE8-jLCg>#S9d$HYhrt8jlZE{vTY$)g6Wq<-` zE&P+8#~+wQN_gGczHc|)5UH?*eVe`Y+9~g#0VpyyD@6~MG#OMja>1-7J|eYjHeoFz zi1GJyrbxo_&zI}0kbV+5OBK~NYp9mRu&BQ(y}_Z|HX{U1vTpqSNL*rvO*wM&eqUC+ zgSe>?{_buNE6veWE89I@bWaZw<} zSycHvAFIHOQt~TT`9*gl(8RvAvK1jh*>BbfKKD5e-IOWrim|Ywb^`xP&`CAy7>ux* zAr+25>SV|Fa!l$i zARdC6m(R*4e8qgUwu9mmjWFWH6{N&)xz!#oy;=F=Q@-8n$fSGsS_q$@S933zPSCpz ztq4FuTt0!JfS*{%Sn1v0*aZl0I^i-lGSvJ@)!Tc_?u_5K6D6%$klBVQ)^DSQ%#MC^q17>nevIk}7nX}%U9u=^Wo z>-ONwLAeA&H@xj9)b=eO-2?Wm}L|lju&^bk;zo78GTm;ZrZ`w@V@eLnRw5Mv+ z$^*!|V0jq39UdEdOo*6%(AYp6kmwjkK1VRb#OerpEbmy2J!w^9?8%=rO6&Bi5tHH; zDY=<}Gc2-7NMNY;nZ|(ty?e|U!#7PMZ8TCq*~6rxT`g=;d{|*qYRucDQhM{NFAnKf zft>zdYd0U32BZq+w7C>%(LSo{96FM!Hqo*~D^!Di0KyjrJNTl@@kN zh4_=G#ONW7#Tc&lZPU~c_}o8V;iVZt*p4#+yN>yC;nm})()G`x9)bxvL#j`wxKIh+ zuGS-vAR;mWc!0A*ZiJr3Mff#0HH`T?kl1TZB4$*Y2%cz7Yd|tHpR41P5SadkgY(Qw z*$k}(levR?AYDeDmlRIq^ev4dQR829fAE1>Qk3YX#ev$msv|+Al-z*CKI7l4sLe%< zubVclkfq4lo3~l`4w(RrFzkiAfCWl?Ew-6}1axa_V4SEQoWg9}97MfCDjn7&9Lo#k z?jjw3p2ZyEsK5buaIlRzRK%VB(LT*_b}y{Blc$F{vK+fvnBE@(kw$!*#1C^xF*TM1 zb_xp&zol@>pB+6tKWwOeeu_|SuEYZ!g8#1R)x~?cf5&_;J~?&3kTUt+)m*Fpqb^Gh=m8v;8vIy$Haig))JN_v&OwByOU=^e!<1r^XeR2OC%uE)OaC1Ea zwsmA-nov8q+LQae%m;k-iSo>a=f_I;eNe05&_8d;-Nl1o>sTQgNFFY>uH+9O16UWcvoJ`2>6HCmgGnt1$yW0dK;TcK@ z;x|s9DNRg%a;Hd)ANuj5M`HtOz>R^AQzh9e5bm))IzMV(|TM7|K#u zB#kVN`Wnvwua0kD;* z_s$WD%{;!(jmRGVUIN*h#+y~=Kq-i&`NPjp~U|2gbYD%x3FgK+Rc(um8L9fy2` zk%eXo3#3Y{Vb2xrKxjE4hVHR}&$%+`_r!3X3xZZxa-nRKwD@k; zxw)xte5L_@oo_TXb@$VpHGQdXEA!ruYbF_#)AKdvf8SPwMj@_jXAtCD>e1 z>UAy$-Xc*7m!Q`eQeb(`61(i3z77ZR4&)N=??A=0`gW)aUBz~j=~3m*dP0w7=0`9$ zbMF|DRR&fhM=K+ByR?34-l>~R#2%O}m5Vxol3_=;1dZ&MF#`N84n_yiWbfXu z&KpEi)IuCB8T=sh1D2cS)&&oXCkECZLuA5Azu9T!ke}ff5J;{PIREwUo`prk1l=!6 zMITMPjW&-1iG89BLjwotmwWmkM*&u0Dn093HU#BLUjBll=~i2Ybm1*q->o%os~?^=h>3FSNymAzoDc=gCgheX z8|GLmx@zc2l=QZ)NnIJmt2)xKXZdPC#d+1y@3<~I|GN*8S+b!F*TkPg9n7yQ&_(0M z)d>mO>&j7HcI$S71{RN4NMCowYap)D@`hcb+1t#5OrggFzi9Wd*=W^EnAO&2X+LiT zK`XnyoYh=8r$zLppYe8j%Xd?nPlLclBoKSsM!6VGBK$9x0oTiLrCxQ6L0a7X1C!N_?iKZ+uD!Fcr&4$BTKnX2%JMs# z;RN6;@7$E9QATEpEpV(^25Lq%dj@k9{ib8M=v#4TH4i}f1w(+OJwVM_eihB>FC|!8 zw|ZDj&JD6`%f{(VD)ef7!h?a2O5`L2rUx);-dajKrx{QSp@Dz5i^Aa`*?lFUS_Ex+ zRt{%<|89eAaTtef>fhc>P7dhLjz4bj*i@T^;;#Wnkz%+nO0gO)ZpONZeRG7LryoY8 zuaC6-Cw%SYqfis5Cpg-}{9HLlh-^tYz|S{nzBHQtq)uMsYi?357-eUFXv-d4YLtn+ z%@}J7)MA5YoU}+@DhDMR2R?}OQwlX#E2CpF<7_21)X-N)+QdUX*C370jvQZi!Y>RK z$12cM2t1jRXI9#GLzDgn>Gt&ORy{B|uxX-XC_GCJh*gO-opmE6Mjr`NWM$5w2KG5F zH+!mU&KBv`c=u4@v~lG6BiqL4imIJ<&x6M?NHqZCh~h zezMh6wGlW)A|@YEEwk8X}Ojt4)^Xdew>tW@OfBdghu&Vq}MwnH1y7;T%SDwpLg-8!vq`%N}aFG;zL>myT*(PPIEx^ z&vkRR%zSH8_cAg#NfK;2WSH*XNQL=7nJJR;(Y%Z!ULf4oGk;julIkFh+qMEPnq8r^ zr4nz2COA_av$ACsC-8A6riEQ}R`qIAm^zDUbs(GZ1Csz`IMJ$J0qm8-|Iy&uZ)X@1 ziBUwHJajP{%r*YLG#U_KAcbCLLr_=3qO@-GdSOsBXftY2tLEeC!ZcF|9|!F?4?ipKS{P8>K%;WqgwCCI|I7C`MVb4aGwKAYRefAGo zUdd*wX|&sm=Sf^lgg_+{wkm58nV>?3?5wO{ dg#P=*WdaZST#*MhLNQ|Y*j*S*) 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 literal 0 HcmV?d00001 diff --git a/kernel/tools/perf/files/patches/linux/patch-3.19.6.xz b/kernel/tools/perf/files/patches/linux/patch-3.19.6.xz new file mode 100644 index 0000000000000000000000000000000000000000..f55c450afb52cec48147667d7149fff3f97d44b3 GIT binary patch literal 202724 zcmV(nK=Qx+H+ooF000E$*0e?f03iV!0000G&sfak+ZgZuT>vr~NeROI5q(hJ3QtGS z!4;|pXZW)T&B<2$p4<@~sQgF+7=_}gH1m=L=A4a7Y8-;x#VvB?;@c1qWdXMK<9{yo zL6PxUuKs(kypc#rY_|R2-H@7A?&*5{U9gxBM@VtQ{qCOy{!AOS#6 ziIIUc!K#^Sk*NqdNo`6JMp5(Qp+>{rTn4O7*8-df$#bN6W{Bf9Mluk}#-LP3DzkdI zVQu1{9L6=l3RyAay>bi|{INo@IS#$uYHYG)1~b zgYkk=8K(0~_O+;KD>7S|#_KJAOr0Ch#3h;N?|>W}%s6FzI}>^-(kHBHbJO}u$G{~0 zziTEdE}x3oGEn3TJqWQ( zZG8~M$Ov9&+NQ@J?X)a$WxT3;;b{{V{t=W3{{Y^ypYs*sg*KgYo$Z)b9B5jT!sN&5 za)?;{Nr_2o_1u0rg$QYM-gPqJY%oMdO(NWSF92H!6yA|r^7gdY14?$b5~>0fuI#h) zKgv>2+RPPQ|`00I()3@}+5d-xgIlJXcphLq}Z1i1@3zUuv=;}|Z-TyuL1 zYenbh%<^b5&dAd6Y?$M0Hl9cg`$x`KI--5B(~KS?#s`?41Y9#ilDY@vl3ZImRT~jN z#qPBUK4olAe+bT~(Eu9YveJ8<47sYj!c+fY3HDfb`e`oyC;z4XUVsZ&H9gonH2DE) zZnxi0z!Y--DGL=2JZVv8QYXIA+R0@P(v(HjAp)Khbd04?j4Y#B2%o)t?SE0hj3>fw zq#()k9XdB6FjOM6mg%1yP)`Z$kq`TPTYN(5Aj@CM@9%0n#ePY|<>qhBZ{CdM%sGQT z?j=3lrB8!&t|y#|*+K>#))R|FSsA8+HL2&!Q2tWc-wAQoZ+CYgwj2bF+(7`tza3my zb$eUo7vTu%_0`1TncUk&ua`SiEa_bCL>%m|mz`nM@f7O`$`ZsprV- zp{(+o-asSE2Az7@h%9l6G!YX3f%W?8S1la;|KmtEwC+GHQ}_qomBq$O3`2bFUuFZ;%Pg2<1PF+ckPR9D|_}aA8Se-hsBWT}MOJ_8YGS#FVa` z8^3q3?dbu(N9;B!P8Y2->TLRfzDl5DYE9utc3}Az0OOV|V2}c52^l8m|KVd$t$WMR zVYJGbGpS-Z%MdPB9*VPVVj8vY-Wb+VUPxC!&&P!@fs1x*H>Iz#qz}Ae6!7Iro{0xwOYD0)24x*f4|)7DWq_XHo{Gm zE)Ix);oE`vfZQRW)C{0?(R$@RRCEDo9PiRh=cIccr%q^Si!5PUXy{p!R3L%Ag`OA**;w}t-P8d}?km8JTu?ckghS{j(7_}`Z(%}BKilS)G)L;vgz*Z{ zmE@g+E#yzl!xL>DHr6;+bx>ym$I_LIJ9b@s*#h5Bk3({mzUu+PAgp8iiI6e>Qp*pw znQyr4rCiLf;_oSU7NED7aJl*~H2uGbzl zA>(≈8Yi)+nWwhRE3$Ev}fMoQ6Id%?Agjh4a!zdz*i|_EvjXvE|BI`k~i0Yh4gj zkFmgPb|nHR#QNATZ1CAEjMv(@crTLsdp%u9mJ4`tlx1MAGsHy@%T=wWG3A&i-l?t|yLDs)#V9w_;QrGc1Rb=)_rIW3ak zQ8n3Psn;z?4pD&t5DBd7!X*-X+J3#7gez*HLLzSU@$c_Ij^6Tu6Ca*vw<{6Duemr!g01x^2CYNA=f2N%*x?JhE#$nx7FAPFxg@gcr3G?p@A6C_DM zVL7@!=Kv(L^{E~q7!VQ%iv)*j%MO0BN(kSekv9{nj;{qddGlr>_tR+~ig|NSc~rg+ zPi(7@@X%A7%VdGkbQ%*nwAEcx#I&Rk9x!3lJ=k2c3V>26XK@H**Bg>dR|kG7qBf&^ z(Z4_D5&_b0gFbKEOeIx8RD2f(7oyF=9sGr-@5?BQRIx~x^99(uBhLzVCk?q_xGQ5{ju=oM)1iZ5eEmcEgeCahv0fM_!Ujx zYkHH@wT*Oy{TFSeG?{s~M6KXef9Wz||pEHQ8wptsm|Z z1^7_Z$NxAC1L4b!`Q@NgTF%zD_OeKH#+UbVn~|uLzDDHr*GUFofv+t&%B8Qk@cr!e zD*4@5Z+m9udb2f7gf6xRB2oG?s)jGfA;42Lh5V@?F!jNP#*eC3Op8v0UguMygHkZ( zn?-Y(wN09UW(kq#nF0)_YC|(k%7-smwhAQckr%DJnDsg^%iBtzk4+unxR3=Vo&9}y zK;J3|6Ie5H1j4xgaMGD+ZaAyFQQ%1Z#y*7&O#}@+vq}VAV8$S0q^bQOzHL-3nG5|J zKDFtbL>AsaIYkK21D`2e$MEA*^%05lz5ex(^*5x|8dbqMO(&BuB&c<8n#m0>+vqc; zcXzl?H%L?U49F+fH2cy>=my~$27tC{2bS4j8u+N01N-w>>*|blhRiJvc=-ds-h5Kz zF{?iI5Z%AR*BXWwWHl@>IGJ7EN*39Q3Fld$fVSEzIJ%i9AIb>uj-ve_9Iuwfjy9SZ zA+t~mOFm^c>?UE-b_z&3C})wX%^P+?uV~`;kN6qDg~3Xc;fXtQuI2DBNn<-;R|9Q%VP!UB|e14->Na?#q(^yX+$hi)G zEc*MEdi5@hS#>Y`*aHnWaUPunNs$~2o5PEKwSv=xqSG82d!%1+917S&b2FbY{KGEr z#zW)RD`ON0Y3&YG8BogzFp(j-DXft zwQfsH5^RG+op7Z|k@Rni&k^6H;(s!18L~F)4-bd@W91)7on|ry4t7c;DMDx%FcbBA zrtwMNqcxSa|Jt%vD}+%A*>|z%lq7!waJqj7LflCE_<1r=tBZmmJIsuRnO$S=^F@(i zZmx?YhzD|TCcJCIP68K7=9n8NF8L~l`8(qq`v2jMuFwZu&V zNKF!dyGjLz+5^eZ5>}0Lmuvc!+PkM6`U1Tt%+5|#`VoV7PNqfCD#f8_ONkH*;YgamLv@O=4065tyR}#H8Tb> z&-4;-lE;-dD}x^GB^hBj0AKnbn-Po9W^l!f2T-X7O-I$_Cx0^WreKtqy^LJ^L+cTt zK}8Eq;=AltWmygolA*#|{1zT*W1s&1t?ZBo8DU>-=%A@x30}A6`?(I#yTQo^kt-`{ zL`0n-NpRl+>y4R!JWQon&~1RXI4Y9_juMT6$EaDe+~|kmT^q-&AP;VCM*DnD>@0?x zyH>lgQG6I?KK?F*HT<4Z#YCXkrzBlgobSWUjruODz9%D;k{8Jxy-i&KxjvQHUGKMY ze5S-vBogDtV+k84L_(1wlEJ^I{q$sEbm-Ej6Dz+mD*1ZioIimvV=xSl{ynMz*ZHER zHQ!|-dXP}04WK*|CZ1ng^3trO?s?xj)MiexnG*M2Tn7*0#D!( zPqljK2`&4W3Y|{>C+T!4y!AkVE~tfTUVU4O?)R4T4&a6HdnH|zM|(y;OsRW{mz%|h zMLHH*ij{k^aOlHg9w^1OD3H7y9W8nT%G^llrj$rmNR_nLEmDd&wC*286_!)b%=%0L z`s4->${Z}^L3XzX9G^sZQgC#$#&cqs7|ZAatd*U`I~5F7W7pD-Xo?xV)`yESKYA^L zwqXprI&A&-tV{_6+Fs5ZmScjbekh7_AA3Mz^;3A$vlRlmZqoQ?opeB5Pa9g1`MM~k zVcmewwZjX51k$qFDFhi*{q*KsHVdx<&|&*)*LJJ*7{5T%S*gR z_;{LeWM&R&{eXf_%eduEG0BVz)qE&XqRr~&n=&hk!D-E4Y3&Pa7OUwEick_j14rYJ zW)-Qna$vvbqxaX0hU=0vmUp85UQM8IW}m^>&rT(8n_4Y_y~O? zaCY^2NVFJ#h(EBk8d5VX1bxb+x!XMV5n97|z0K1640 zH2^sE;Pq1gaVx7hRBe~J^V_dai1C7lJyVQem<2EUhV&DzeC5_QiNjrQeg9cM!DJaHU0F+A8GOzU9FcTDqZf_ zrJHWR;OI_SXu}8)GgrocEQNq{osfR3$eCJx5V;0nuW*94zAbpOn(Mdt3Wo&@)gR=p zUt?G`#ZjaemwwEm8dEFFp}LdE=1bBojY@JBz7ZMuDdpvn7>m{vi%B)Qr=w!EvwP__ z51#$Z>rmrKv?@(yZ;&=Zut@)_>N5u2z$Mwu)-bjBk+Ftpt0SA0lwpOwGiZ3yV0(q( zKQ`%NAR(v(Y#N$#S%ijdmsUS(S&aVho1&9aRL_SAwS-kJW1bpY5k3oqjMvRXlp+TD zKSWjj)im1c(2+n~32yH0WgrqAcc>3lQeg8V}SV5YHdXgq0%m}*7A z30*7rZphjZ&MTTWtw;#xsj%V-RNnqz{$I{&n9Raz+s$4Z?zAE_vu5lvWemnGR0{t_ z;u)AYkkBSnHRnum_rPD?;g?6!U5HS%9ePc{|C1OuP>aJ8R;e`QShP z8ZC*Xe4xkEdzpuT8YN8@ERoM6JOt4u_E*wp!edv^>)2G02vBW#(Dj5F?q_}W@g*$4 z2jq5kuCNRCdo5!UmApcnM+tEch(w@>n8VCb=3r6Xdu21fn))H0L(`%nQFUB z8?tLV#B;Vn)LRShxPd8WSmF|nm!E?nU->G6us;PZCNTfiD@{S(%G7PyFs z+>;VmbHK0tpiGqvpl1y*6t(G+WgY#Y-vx4ZHJdC(s zUVj9KGH&HC1wi{pXnrqAGDr@)OHgkI6ZR_ec}X}bHfiI;h$37eL?G6cLtd02Gq{cY z^R^`l#5C10o^OOSajA1`Oozl7O%lZC4TM}l+1q8}^4H9ee=E}c+g=1D`T|1UK3G53ShxZdVqDGFLQV}R9q9)tm^Q#hyi84qX+hz81m zEsP|3h3U%0%>9|@cpaf7us8DBparT8y!?KPF)yBsJW22MW97mA*oa|L=dW(5na zAO^O~jjGINk)E=-(JN0VJGthSVNIHOr_37tA1O$)z?a>&Z&gApWsEDSK}UOE?|mV1JGX`Kv#IqL6H%#Cxl@Bb zACszf#FDXyOvSr72_lpf7>!5JL0kS6P8 z7Fi|GED%dj)ma8*AP_9gQ;cm z5d8p}XkUgD7HpoglPl+9pSg2T)-u{N+>vh#PIKXC%k=)q2ON=`pMrJWgl+a|E^rOL z>s~9S-E#D{g#|=s*HMYj_WlA>oQ#^3muB0z$WXaR6Dt=dnY?lLLp{N1uhg}yF!%RZ z&D3@cT{G!2H?RdaMD?t$Gvm9!l<>Bd)rt9|R}(OmJXRY=QRR4N-I+Zv_9>>Q$y&BO zwpTacHWs>-1w{*;$l)l6$wMZhHGi7Emb`A#GuTb5^bwk&I39xU^a3?$3l&ToF9?P3 zW7C71i~1^yE#c2l0Nl^J9qoqTMeCSOF|?;U?{}4DcC&rc3cqkgv4lPRYcDWY@tr4u z9p1&p2T)%m=96m@F1bOzzv#V?8wJaF3dZE}_5!%WlRldK4 zLN>HsW0Cd6fRTkK2T^S5*ulwl-_da;rh&lDKazNH_{iu4!7_`ldq(YC#G%AV+9Su| zNs!vlqS{)cLNLy0+GJZcXaC&pgUPfD5dK<)$=!B>9q%u;8v_5#(%XqPcYdrQm$kkZ zMxeiJDx{=|nns&BWl?MSsm?ZpUMaZtH8@8r6)19TP12_?kL8nZxLiq@X?9WY_>U0K z16oos-nbK2@$1_(yziDp!w;vnBq28i?&zBAMv5nbUmKu~?W>Z->J_QC!UDgv5~j@8 z;h~3=6c#=J!G%a~bQ;R@vQ>IDTHpf0(MU~eqMW(0qua=5B?>t44y+q?Qa{%D^-O^o z-~}eicHaMS*LB^e+j3AKdBFsTpgPja6OCgqD4|=h7A!=x1FOKFCw^B5UF#Ckv-DRb z|2mrAgP!jq1^Y7+6gjh;J<)gX+{R>@@p2GP_BS6girsxnuEDMP*OdkP(TLHefPT%lkOrRRvD&D#)U(CR7v#;8K0%M- z+-_0XDSwrZN&mqL_c@kLTo($K8ZGucnL-|K;1MQwtEJk^|;MPUD;(Gq_hN+cg{mm)` z+D{gACUcQXL%bPa>QsDc?&LkQw+75wTWpj606$gU6dE-0(J}J@tYfeKXYWxJ%biP~bKKG`B4@%SKvB z6831X8p?XW)$`n|5p>Q>%!;BvT6MP0=$H_t%>!M!cS(RI8r9GwCJ#SPVsopW>U%^h z+0-cE_EblZ_z2zFN$EG!cD``tF>+|cM2*$ah%&+WR$0FEM z&M_E~XXJ+N2hcf5JoJlNo*r?+VJ+&@luaF14PNKZ-1xmHz91;4PieIWEvd0Q>mBTg z-6>ZV4kkn$SUOT(M+B!oE6s(EX{z{mKeI*BmS#*}xSR;Ra*Pgk82I1X*kCs2sMj|q z1!#p;3B(QOUW2Pl2Q5^5#w2*+a9qWaz9}+8e}adarDkxRH&!gkT$`FiQ!GL<=N#`f3+IG@s>es$JDmnH zXpnnB7|l78?3D@0x~PNe(55Y%Lh(NQ^q9Pvo|L>&sPxcI1Q9FV$CP@l^nF23Za=_+ zeB^E(zHC&O`9)P>ArR>C5*rnNqKZSt_S7uu-$K{;C>cM;NXs16tfi9+QSk8Nju}AP zSU{JxEyCz?fzR3}fGIQvNir6RM2khwQu~oW>PR+8O-3CC9TI2X`$R&iFGvO-#XZAR zmg%bAdIaxguIJGYo-Us7A=X@;Qoa2{FJbuTeJp1jx?xeSbIi! zwk04~&9C*MbRUKjD-RyEOKPGdA3sZ0oQ&lH+a-1K86+q;@7_LqxBjDLu#bTJBa+qU zJ10fHtKM(!Z~ zboG8w4$_d?x!c|vu*YU$G0?)xz8HtWW^0MMLWuUDlt`mO<7%RBOSQ^XqQ^{%%#hdWEG)-7o$aI4HDO9v+lz7F>A=bqYldg|!4n*RJnK z+0`-2heUz1DHWR$=lF*w?T^tzA=%uTJRx&gqwbb-5-GgXf~Z4*opI-+S%YG(bc3=G zF-L0lL1}451bxv1FG9VZk9v0Co3MB^t8Pgv`Bj#Y`+AD0O{D4HL!p$=Ei^8+t*Jml z&*UP?K>Sn+F49LKaO<}PWxOp#LoBsXTK!XPnbf;`c>x^?^fxJB5Ar$4W6X13ASR|F z_ac~Ol_fWQ?4PY}2jT^?GYV2Wk5`IS<4C3bJkc%}t*&pH(?A_R@DaTRqc*n!O!%Tp z)1de*1Qy9FCIUbasMmlR8)w@$YXNt6t6<-ch*0ph^)X;B$_GVT%>ux!JyzK`x2yeC zl}qRC(MPD=n)5lnn;!L60y#VQQ}#Tgtm)#~rY&RzIm_}WL|A>EbX=upm@xo1pT_LauKp{oh zLlp1Mz%k}Y)W&cxt(44k2I(HQf>O3C-Zyg0NGwpa+_Lz|RqBn!VJ=e4d;`omte)TZ z&gu#D9wS&S19I8}41u}F*czti@|YwA{sh|k3pxuLP$Xng0|X1A>`)4w%qBaB?N9-g zgs_{FOV;YRXA25paRNNJl@F=<9uK`vJ!>5%ri5fld*Ty&#g6E&Eummw44nCBPs+1P z&xH$*s_{hd>7I}?>0WH8^z@W;dzC5}Z8n&&sE(t#t#e^IE0StUGxIG{FHFLr>B-MW z6iaH@Zh=Iy`p#?cew}|&UpM&7g`2l(ouLRsf2N5j_so++@xG7nk;Q5_+xG9Rj7%)? z+(S*^PGI-p4y0&LrN7#pWk_2gdd0Ra2}Hw#2Na_-u_RolvDJxHy#ac6JYGC zq{edxy!=rVC(x`3Nb8i3*y@jjREn3E>KTmI-waqHG8WGBd7B{;l<8^_$4lU*Va2VR zC1nDdSG8Y&_gmQ2OdOc4eDC2oa(!7yQToO{O2OoC8^7$gzTMRzJg!$Y1R34+`v{{I zViK{VKoydeOxi}->FpXY(s1(zPD%BfX}3fv4IL#=W;c_`5JSP>@UkusYOO9zXXX7tXDREttuE&-N3q7T{{9Ryui$OH#%}dW8onpK6DrzUH25jJ=brk z|5CqCR%^|uGkVUPa*eqPF{?X*q(1z^(a!V32~#ejn1f{1&4vh~%*ejd_lxrs{; zv9jZW*dcaxTTU|WH_rod!!Tj!e}ParohGJZ6uTrJkb+3}$7#UXL!|FHf^RBaAc1ZP z`Zk9E_*KPljB+p*8d#f9+a0_Mk$YzRiwSUS>(zaHiaNY%LJ1zB|K!xH8+x>J#j z>uP9cDvL|f5MkIwY)K{hRVUR!9{zuC9jBJV7R&4^aJNZD|27F1Ytf{>QN>7r1K7r; zrX-PI4oQW?X)wcHY>U)N(exT+HAl6l(!+y3)Fz0DqWn{6rkL%15{;yeW;>DR8Q3nf zV6S_cnkwn87Q$%bHtFTf*%H28@lu9hx$iT2fw&BKnnXp0C>hLMKV%6qFo;pGF{WI>wlBH3^fi+lkP?_05`d!Rq(GaGBtFC*YT z{3bFe+(Hq)}4j-wW$&URSCN)iVh%LV1v7de3V32nD|1#on#R z`4Nsp-02C?(N4dX{gyr45@!pla=bdErPJSqComoFDGI^qtEih$m+D%aI! zV-jL<`IeUnBq&G<{V>*pUTDuou*hH}2DqLNoxO-oAv%M|I>tYrB35@A6yCRHL-=5m z-M+!#JY?~(YwO@BpLh*8hr$%uMJ=7$5`ZwZd(Q_^#XkfE!KVA=Mf)hRT^))op+9tKbg)xgX8RV0*fA?0#|JeqIGv7@ zF75ePw9s?Xrb=6_^YkbemR$Lo03V5q)kH;s(?h57%~o>b4f_;_G1&S7Co*gtKAUcA zuYgdlXb)Y*`ykrw=M|vl?Zq}4_sU0e<$Q`Rl!9)UM zLsHCBz>^caj)YVHqpn3jvL9G>;*nUH0Ttv)$zn=^Jk9S&_%^~&A20Rqe?Q8_B3&9D zVkLv`l9dWW%vM`tdC;UOZ@U)%^*@tkrQ3&pAOgD9oK!(Uh@OFHJs!K)Vw$PQJ1g!K zB`*@2HpD(9?f!kKwqAfQ89wrEWMh6}V30r5JoQVGFUMSNj!OMcpA^2Fa=b5LsgIf& z{$1KPUBct;HQTJ)#2j2XL`)$eAbeVv_kE5-V2x%}EIunfxq&v=2E{ozr;yfmh4RWE&B*B+URTc;W(RX2Gh}|tC1TD`AGi$bE)oVsNytT_} z=YWc`)aY^wvAiPq1bKrJPv9)6X#Ik99y3l(s++HGqp=*T66$swa)lo&?1EaBC5@{D z3Mqd~#?^BuCc4_zNhkjJWdAH*1}Z+5rBy!3*y^y^oPt7S$4fr-H~C%!#)X+-5DI5iO{GmVCKz4aDKaNt^zVt~dZfX6rQK6`*ZdGuh@ z^j~JLBo&{|b^Je2UM*prYg<;*#!3hL8({Q5dZ(%T*`I7Ao+{RFnDW(mf=h)QcWnW$4&`KrSU2nIaaZ z<+~{HEpynd?13OgsE?!c&O%#t)&$q?QDzFSpPofE_;*0zet4s^rD|utM7z2}`M;ie{liqtIHmT#7`-r8rC_d^z;o!KbtgnvR*;^+9NB20~n+^e-|8acve^{5CVw%vbNX6D~+tn&gYadDJNz{N5?+3b(3nC*1_#JFlmOaPc z2VvW>=T{Ytb|+1-F&$cuv^OxiME(|c(^zXfE9d&P=d21RwL3ukhaUb)QmBA62r`nE z(V;Cs8f-#y!gf;1C=h&xdZKadz_WoBMc}mMyjvkqdJb&ol?~(MVm_SevUW?{8sYhZ07ng$ z&%GJRNey7swk$2|{*xfbS*9TcN;{ zE@atpSD61Y8 zgeD@0Sj^$5QOC(<+BGk-@b;Pj6rmKdU`9V1c<%zddRhngyo+kpBbz&t_#l3e#Hy?I z*P2weJpp$IGu}g{r{IE_N}|KH^rT5;(Y4cKT&PJ@a~{w9#gnvvagd>hlp7U9N`;C) zHC}>>6@q&N?W-=yYj2Gw0jT-kAkYN8H<^(XCt8)Rue-PNOKIF@JfOE=>{b4z`pPb0 zYvA;LOYNV+ir(Vz3KY^=Na4d6aX{2I3#9oZ15ZJL1sBLCx5c+`%8Et?%hH;1ojwUw zUI0tXeSFC^fywyi`g3-TTPJ58v~manj@IhQXze!=cezOK?Dw6JN2%Dn0off(ic$28 zQ(aQ^8at+I8zTaQ$&bEEhqT>&f=xzGtmvRa$E9?T3_72`Hli2e~mbeT^j_Zc-25UJ}BRdVk-q9 zeLn$ygWa@_4=c2;vGS#GpAdxws4!6Oilj=K%@loZ_?5NY1OhXt6$4oa%c^4?RbDJ)``Jh{3z>NLzUr`7H5>#xQ7W*e5dD`dDQ}<&JEK)RAZ1TYYLG_5I}jmhv(iGK)KFGX@pKr zBSTr$d&%MlE2;Txqkvhc1?DCQ;~ltE4cb+jZmJFevqv(TEcxWg-20BH-z_t!ADZkg z`s-rmvDii?#=zooHwj#f?jT38@`f9&eFEfma@cT`jKUsdO3^4;bkP2 zXyAj;Xl!{=vu&!1di2Ut1q)Lie{#+MC$p}p)&8Y{WzC#V%qf{v<$@ttGLqH>_;?Io zG8#5PQ`_X6Oz}dTn;qDn_Vb?&wELs=EkQu;w`bqw2_E? z1Shpphmu_iA5CTeb#VM>wsIqcR?>f}d_!p-g#P(I@Hfk+NRRlsHje7hlY~P>wzSM#6Ws!!#tJm}b@7S?flClmOL{;8GNg z!LgK|lk(&HShoI*79%NudiAYs56tZ!G}=3KgQ4+M&C`W|m3orcmkDvqU22E@(#uu} z-no?E2(Cezb=@fa_dWdxr|U*d@knfp33u3d3l@&h**YlTb$omYBfR6D&H?c@JRJm7 zisqv9f1rMGjZILk-f-YD?PE#7&M2!dJegcy%xg%h2SviO(uN>GrR=j;Pt{$}(z6>N zJR|PQo>V;)qZV49xT*#Gx{bb(vt5aOXy{y`Pp%M9r}jV5KmacVqjfvig)qm}(0I{W z%c??Uq{?iX>+-?<+EF48OXUCp1OM@U02ee0Roil@c5NMf=V&F$Rja{I;}T%17&tdi zy4*ht5bXS+I`n(0EkVQE9Etu7+-D^lf3}G6YJuQOcI|)w{s;ImkF?%T;*Wtc+5P<+ ztayREd8y87T+Nr)85kQ2;sP@OFDS&oZ_Zt{P9=U@Dse+(Kae^}XO$nvjpJ{SxeokU zFF~cS3z)UcLxu9X>DTTPd5V0~U9d@%#NF#sjaBZkveWcPtluM%hIY9 zII~zN(21{9SUX5XG{j26tq=;j6K<5C*hr-pyJn5ep{WlNHfGD8XqmwR)L(abR&HJ8EM~u( zDq$r#NCT!WVeNAcaDluIdfGu%Jjfi2@~FU?@0?(M++%O56zV@IGO={Nw_<=QM?p&~ zR5L(82kl9DYV@N&HRV{mow*teS2=*#9Hel;{=2gp1El(u1|{#Ta;g4lL-u4dpC4F-puektv5DrJus2?DgpuG9950zrq!T?_ zJk0#|+3kf#U{gH%KbX#>0{j~;YL^nM(1Nq8=<{}NojeHu>0(NSbMVsED(DU{I==P7 zTEX}mj@TfDU%SWM`+e0N1il!_4itu4R(qJTU0`B7el-Q*+09X+Ou-BE;j z#xUb%YZq$pU4r3mt_$gr60`9@6V5TME(XKn#QKk!QXkZys21A1=wsWoyd&5=0SH;G z?w6*@tgp|MRm0hz9od8B%qld9F@Q%lw>DIyix?jaybAc;2d!YhWofkY|84GEdb}tj zW)VslM8p*FS&o!1+Xb}K@^_LVk0T_Y{4=D+A&GMD{C|3+W5)S5hef=WUG9W40f~4% z$sRF7_&b*7XMK_*1Xe=F(RMWOw6hyS@YegkG>NFaCug=WG_+)tKIZfTeCg&2-#68O zlpIv?klkkp;3Q?|zqG(2tX?~}D5ETQUR1taHgKGI3$}z6DWiyi#oxq!XVptpy!bf` zG6qG9%M;Hz(b)m6^XtLa3^2E3#4BNrp?}rf+|LQ{pc25W%0+)BjXnV07fP}_S3=Q} zO1ABV^%3RaQ1vGny`|vh^VSW6d5Yrn9asT3;_Tv;XziTcyP=@tIbye+gC51u=aTDsdpGrH|LCi;>4+O5MZGMQaB z$f*j1V`)~?M^L@P1ZW=&Ghd^N$E5hLCu`WSk1=5J%Ev{w8T`;c(N*!mOwa5^b$Lw% zXmC3T1drukIxYo4)Fe%T@K(xCvl{ybUh&U1->>Zak)*qkv+dAOqb8G2i{=Gu;rX9$ zfXFQ`m>tVEICID3#+h5CvN0atgDvl}Yy$?#Z{gLaz!jBxj^8-_^w7i36G-jAaT}vq z?+`orshT!h!uO?ohq%9u*d{DCyNkZ<7dvJ|8B(*f2io^z5j*DbOnv00U~Bm5%I)(K zXl*)1SPa2Zp_sFS*;yvX=~hoyR3*GF^)fQ3K{gb_L@mCU>wW0J(P*j=kb>b|Q5*XG zTZhtYU$IMF!98DE`H7WjW>scq#!QT5hnXalcov8tFe{P-3ubc8Af8KpMa1d-f9w+- zb1Bhh%I{RYkTKPVi7}QpWosFc5#ACz?y2foP8mNL{YiX4n)m=Qnss`*)%5?z*Zq_$mRxp44+XW|_sb=DXmeN<){ z=GKSJIOq+D_3H%+CCLL!WWu2!dmu&oV*4&cWH%*aAm+94fluJ#X7&6VB-z)A2plkbvA_bC+(o~u(OdewR;NU%Jw z@P=%<9>Ay+fO=c&^N|t1Rj?F%NKQK4{mHq*zN6!IRuQ|n9aJLIf)`|5)BGxq_fm%( zjHG9^{H(33;@)ThPXNBFMqeYWIN8 zmi|p~PaB@x>{%N4xfj(}JseIe$o8(XaWXVg1k!3}@7IA${9(?*ry1FlygvU?$GRei zA}4VmF>MO~d3@VSZTih!X^%gin$jFdCn9s1bP%d;HmLAgS2AO8dtoJc`A@hV4B42H z$^!)<uvBl!PS}az{PlDg?w8y@^=J*&bKvB<&Ew~YkW-0tC!;lMfZ?!t#zx%aV7zm zP;cS5@cs3nH~AtuFex5zC-zbZtLRRpgPm|Hn4{Xg3B|qn{s~CgcQ)8(ayf0ywLs7n}V@~!y zn%L_b$&pl?Fx(JpsFUR2Ye8mAsT8wsdNIM)o6OD17R8vB%%?E|)`iEQhvq}8)N{-4 zc)4`dxl^FYUqs-~+R;Ovlnq|&%#^hark_10UV)+Sp9v*3gV=mv2OTpuARo3JI{d4g z1jxt7!U>33ajrE$hQR($jzrqx{D%Cm4rBWP0etjy*Uu@9__K5+xH$5LYa{#W znnva=yt;K##;0!t9M;0#tm5_g(~aiHSbP-mdjf>7gt~~lo+|rb#CB{lXWH9v5%dux zzt;S6^}WN%Jgz`yH?zFdHmm&RQJAz3OCbOhBYhD7eple8fQ~wiKNo^jh00gJ@ve$X zWakSkRi+~YTg1{1nzi?pGcIrzI(F6(D#<156hVDnj*4;8-G(Bbb~J?;ZO0hPa@xEl z$N?x*3tNXP>)GqVVElO(eVO!$gEy3Ex>8^*6bb1$9<2J% zub|5X&+BY_lAY{HL80n5#B!T4KWQj5p_PV=x&NjE&%(uLF0<~z@ zO@Y);f-oi=sRT3g&Cc8&sDldm6!UZc)EY(vnuxiCngBk<$SHuZvDqZqYN)9p6Hnl4 zvdcv&cG@hd`+s(&SDk6%!>9ko6#eH8DNA7rBAG4gcH?T7hv?gj{(R4t@7NF$&#oI? zxx0XgQSr50<@=k6n55HP^-Vx4ToViKG~x`lYJ^T}om62cyODM3clw7HlyNHTjPiN; zn(_~2r+y0}TcSXOQbl)84je-8Dpv<$YN&ybYtmmU{ZABV_oFx*b>Cfy*JdCsviiE@ zqh@`svMIW4Qw2_lc4=|#hMO$$6t^=d6vdQqOi~0ADsr2MY-o$%)}slt0)Ie`?E0Ab z3%QNY!E{MoFM$PAA=~&aSAG`7))8g8coWX1%{-X$*Do3)i7C}Mqg|r<(2n-k)0AY- zDb@GR5T$h> zxLX7`Ojxs#oxYNmM=_dja$)pGKEZNlo@==jn=>H3r_b9U>Ycq5=%BA~th z+;)J_^b*M>CZC3dO$#cn#f|Y)7jG`Q^PFWLd?v9$Y;~1wGS3#tK>N~V4LG`u0;ups zDZLf6h|7E?r%HDG7zo<%MVTqt=4Gy%TPX9ltz}%g2zA}7f!~uD^EciI!8Y5?6~nta zsbjpvFBCX}BBn9y@^=z(uL?vbyx6Qt*c|*RU%u#w61s0;j}gQPHHI#=$ae)v&Wucen01< zu1rC#u$Ut&5{vXsLrV}|E=UqQ4U?_aYW9y-4T8!bC8oIUo&Wl5G46EyL`|RwM72Dv zbi&GX$%t4fHgu6~o1GQW^2tUz$>oJICRn4Pm9#G40XLX;rewL@`9@CUF4IKWxOJ2R zutQ-1L`-Zy{6w;y(CivM8<*$AMFsXr>Gq6Db@;V#gQ)HXo8JPe zd5N&+_@4Wu7lJWhwe%G%Y)w7AJRCCHX42Mv6siNV0U?7HgE4{#r!F&?Rw7>}-}hQ> zK7?vv7O!tjUx-%$uDt7NhxPazxj7zI=#Lw%{9}hN4th-GHtBA5)v>fr-O$Z_qGJHI zB@aN_H0;x#*z~>ZDIg$glp!n@bTyg+cUQTk6JVQrHURRxjzKpfS?Ia9*Ur4drJ#Qq zpeJeTA}>i)Di~A*CDM8A50ANQ&Vq)S1D8qhbN@Z~X_eOWJ-#W@bl&uWsc$R4k>$3P zD@qzk85T@))+<#-p22(3NXSx+Hl|*HR)&^3kLia6g(3SB^l956xqgPktaR9sRX7{# znzyJHSj#yGJpS9DADY~i+BIC**rtc$6D{YOmIkA4DC;21O@2_=;S%Z@QMmIZreMZDP;?kJE{q_YFWg4`c!P?r4rvd^nSn;bP`j+YMcn#$&EG6{f{yB`A4cpN4;WCdu zyN=-<`&ji!Gc1a1K_50_yl+>M264b;_%IgM0OM1chzhhky)GnSz$<)lqO5ns>k#s} z^J_$hTBv_02pT$R|1s6L?OS#B6CPkhKY|`vZ~U~)@Nl~0v5<8u{5seKRA>jSwHFv1 zvzuwJ#&_c=-*ODeKYgjlyP>=-xbmA>`(BBfMWJp&jDHEeYD3X;06P_W4T_+Q9OF9` z#w&I{@pLe)`N{F;gBK`sdy)RdRd^<<+)_?MNl5h&>VrF3FdGo|JPDmD0$LkU*9EgJ z9O;YA8X@Tt?-D%==#Lg(c^J!=uVgk*H|_$36Nyc{E3WW`sC;a<ln?T~`ts#xKA z>ZfGaaN2`EM$g!_F=i6ebI`~!h{{?aH>E9m`0?A~C{w?J7}MZ6X6DjP)$ByU!>dz- zvfV%8+l-Efz1C;S5IsU2+aRZZ(Rux{TvoKE{5``f9W|g4i3*dE2}@#LP?VqEB@LN| zrjQjlVHwCBp=d|YnGsqsGwyj5*1$UbcWYZbHg<7cS%U31Hu3)am7d&>jh!xM9b!YH zO*J*Jl7+6dl7O=THTrRsucwVWeZ|asC}LqJN-)L8#!FnAt-9xdaFd!7uITd9PyfU{280>{*ELT)Ybj@EwrhmchZ#5DEAJMQj(-XlxhByph~G#tZq?&h#=Xmjck(0mpU}GKt6#99w?=bWQajL8gP)MzY>wAD z5V)#bP9p}~HpXXB<)TL*tfva2HZS_S<_#5{(=DjW=#V9u94cfgY{`&- z3$z?|hM3WlR`OE4uPF5s8*A=z?@`wK>T1@LA^b(}3=X@jYvV^`0f}QmW_#<^ z*k1Ie7}gQ0iy>M6Y(oQIh1%@5pE#F&sqle6ve~^@Ki#W@1s@cg=A#{uJl=sBvw17C zwGsx(EJJ*tdbFs12Mjz6?9ooPmwbpwRM!B1)~Dy5^m=y5OCydObG3Oi##^I(N@1OR z;mze_L~+axD~j!Ace)AH?`6Vq1t@aNiQB@(+-tMNsGh&+>~IbtLzRJ;$YCiZFew?U z^S%|;40j*0D+kwqzJR?dL+YY;hoTpro7 z^Bs6I4I%7Z)oz_9W~i&nR|;^3(83u1LWS(Nep8JN=QjcfArwQCw&mcsIx&&zs-}(A#b!okVpa>as#2&OCD$keFnr3d_c6mUc6Z%{B)gRPq z>Jbn8w>iz_X$5L!I=+pS_=!C(`;bqdP@&1onlW?3W%yQAE#D{!-@ody4~yJz$hcaIaOYKMV47$eKd z-nFble6CH?P@!j9;~?sb4}iS8r&41e>p`MhMB6*})ENpDntHN%s?Scys2nsvA~>^( zYAOXqL!6rpMI^A9{yDu97Z0u)qEeeLBJX-ywYL*YA3<*!?QR zcO@+azXM8c_pApz9LCEAmu2l)jR}$!72>Qd)tDt7Ku1Cc+FxC%)a@AADH)~3eav(V zHTqiHJZw{oE!JMqEM+yWl+W?Cb<1ug+-}yohHQyU`Afy8FI&$Cs8-Qv{@8ug3Jjm_ zkCPFzwcw9T?3&;HqM%RTH+6?)u9+n!;Ce38gff)|ip8eN=0ld23FG9js_zutghHf+ ztF-2FV`x$ych=JFh5Y+}K^!E7i&3%4y=`Eu8Z+MWiJ@ING9xnZ7{wD|PcRV6NRH8G zMD<78RYs{}@<3u2{!z>6T)C?#?Y^uA+NG?)W zB!?QjvpC9|)ueM!CpiH6rR4MLo* z4t|kg@{02uZ8kx^Fx5pxS;E*=h9*4iVJt5xEz%$rQ_>~~u^w0_UgAjnSn;f2p}r?& zWV(iJh$`?*SZvWRNJKgrkmf|)sHt|F!*_za5vPk#p0x*{dn2QLf%yp49KFiy<(1PL zMEz8fM8V{>7S#AVQ>!Q{!rgdQU(HA?x|H3)b{CtF9NYmBPpDivOyYlbM4fLK_L$K| zXnWRGin`n8Y>NuofY)BBPUu3@lt)|(uZkPle4wZ$%wsn#5zl3?@c0{@ngTo)%pbq+ z2?^FTC{FxG@^x%EN4L_XiQ?BiKH>}(bogmtiN|9kU@W!M;$frNlPpXng=Ohto6%GP z-#u;$e+tcffA+_@K1Wsk(Fcgv&w=bQ9*=Qa`3E&9)%xUPxAjxp-iJ@LH~#1a&H!SD zuaH`{LUec3o*waOA^`>%Ho02n!PeG4Z6Rh-NLEfFG#>%P6xZE( zZ3pH<($Ww=+5Rc`pwL136)8_)oaK@xMp+MPNr@iydf82x!_S*zZ=}Z(`n0cVVP5$L zwKV=GXVXIQD<0B&MY5#RLs_6dO>!(}ewXvDQIug~V<4T2Z`la51k5*m;2HN8AYmi_ zN-8-EVPpye%VLa|He)RrBWXvoA-b;7If<64)Ur5!q;h(H2+9^!Rkn#kB3aK8QU66~ zHfK-UWsCbNT3{G=Qf~(N@Ru9WPLz6C2K@SPbdj}$(127Zwb+4JjVzW>flnV`fG|c} zi==u)v&zMkT9`n9ixKl{H)ho>mVH3)z#(d#B44EDua9MUq5=}ah$1x(bM|5XT3yRm zQf|)z*tX0x{__Qx6S@0O+He7z|i-`DF$Tek?v^ms(ZE1~=@t9WL9Ch_JJ( zh4PjP%Bnxz!51+&Zz5ZEhaWCn_F#!P147qi_5txgGrXD#0$E-5tCc!>ej$1`JZi$p z$B_g(Lo-eg3Wk=(K%nf$aH#mU^4Be9GP!H5X2gZ4wO`-YrW}vGQLQ(0HNbsDsi>e>Q$A?&3>FV%j zuWED?%H2{1yqqCC-|*;?PepUko`mwUwjC;$oEHa>VDCsK-WHE4z2oW%Bj4$Z9v_GQ zUU=$ZVMU7sBKQ3)Sv}ti3DilXlTad+st6T6Kk1ei(lU^MiojQKUmTR$&0SlS>E}>> z5jKgC)8(~M>~@Lc46cxVfas7+LKSYMtg3MEmnBe4i6DCGS8T7FMbuJxAf(Ro3!iHw zriF+RJN8xFBhVX}? z4TSXg5FW7hrWo^F@I;N-Q@TsSS6j-IN<>iRz{>e>LGW&fCSKVIzLHZJ0$9Llp1a<% z-;3F@ldNr5sXfEJZXNufcN+lEjSt}lY(J2VCZyn}`jht^eS45lVf7p&Ck zr3G33H&tQ$1H2K3S8=gl`f5654_5KG1=ap(i_y8FcR9UIxHWjkieR%1yQ^OqK3l!- zQ^Rcm+Ue&a#t#JH>4bXwaoSK-)0|^sPjpcL|7v=M*rZE+p9*4Nk6W1UQ+z*;X|NW! zx!MR_Ho9>8OjvUm z^xV_>*p!?~>^Gz%x2K-?&bt*e;+H;7R~)T;`45kfXH25+3-!($qk>_w*=VE#3Hg2Rb2*1jx$?i;R^KK=Sb{#(^5yOuW9BNF2dq?nBWJ7#Fm)}SvJKmo zWng=XPhV3rW4I}F^dx6d6riU&kf#%-BQF8wiI?V9bf_4(wcuqe-1&=PpuwEfimZi6 z%@Oibq3?G@D^>@MPN;`HwnYJ}_U<*Hx;=AOSCl*CwbyRv^@rAz*c^rp1}Hv*c=QPu zE+fS=AG_n*byhSBXVVH@L=G^-U?Dtk&MYhC2SfSgSmD{q9FLBtqvwJDdLzn&9WvCN zsjF8o+Ivl=#ibBKw&@)3MV1#GbifRCo5R;!KJs#mK&)6I=Y5Hn^4g8Y=*3Vj9&#j_-2-$SU5#Drg0vGJJKl_$GBalqFXrGToycTpVHIxIRHn-!J z^slE&+RWH?CMAL!8|MWYdl6O@Oji;?5 zex2F&V9$WcIa}Hk8vL4sUZGHoyokK2n~Zw7xzL+YBZ|s#Q{jc6kJgnAZO>_{wdd4d z4Tw_woaQxu6sM@)cq7}CcXbWbYi-;<62cXUTf6H)9eiw@wDB&V{`q;7WEIRTsPuUN zzpLtFfMC7z>XGhg`s1{OOd#tR)n^IWx*8VW(7A$jZ;;8DfH<>PG|(0KZoFgKwe+6C zNCA1@l@d;XWy2Z}poH20bE}Z0P7*~g#q|f*-)5}HS21YhB1y#NqRFQVw(~jQZB|B! zisoV0yTivv9~Y8gh+(dlVO3uA4wuyi*j+DVf>I>RSY3Nh0IONYv})wIhE;AAPn_#LQ@___}YY(mejq=wYG^DVN$Xc=8V$n|AqyY6@b( zZsMtQcj*eS9VQBBMc`t*z0~-prf*1$(hpPFji;<3(q9EYALKT48}j2&46&sHPta$SBR?oXC=8msXe3-pLbq+}J9%6iRv##+tr z{`_(7x2KomG9?N#*zSBfvt2& zplhqQh3S4!$t-o%u4Q5LFAug6ipSan^3Z-MzpTLkvwfU-0+C?GjA>i6BCR37!bmpj zVu=$p-NKNfC7?`#9vWrH=fzwxt5Rr_Jl|;YCaME1_xht|`;ZvgpFhTso-PD3R=u?T zPJ+q`Af{xMCj@EZ7(){Vl3k4+fqgSE>ty#>Mg7tF?-M?ugu=@_%j1WbJ|7N-A6n@W zFO#p^B=SXuT|Zu6rE2_ESgs_1|K`ddR-D+BuY~MPQg%?o*5;0Y)H{5Vp*pmsKqSi8 zuMOW2P9_E0_D#ScH@%5kjT?c~K1a}3G06Lhtuo4|n@5g53{zZ_mu?kAi~Dk}vz z(wSkUu&{`~nf-G-m-RTb+txVN^V3kwqJKYrtDK=l{z+Mx1rB&NxzmurI*^RHAB*fJ zT~_V2Y`p>XnNpeOCxdzIP##s(&4?17KZg4n;bY?si&xp2s3m$&Cd_fQDI%yk7n(%n81N$gtZ)1m*ID%0nZBnGep&~Q7 zFIoBCKRS&N7Of`zVh4Ws<$eKZf_@#*0pw^l`$i^dR`$=SLwc99w9Xs=sX0y(wx_x& zqyl9}dw+dZtZv%!`8fHVe$Y&auAuE!9<2;`j~fPGwVYDM1;Tkr(rJU4AP+T)1F^l` zcQdY-n?SWGebE^hFL$B@rSGO;=^_fWOR*0o49K)&{Xy4!nRBM5g4&{sV7NNjFvDPP zWOzX#D)9tE(^bON92#bZr(+UGj~;8`qTW zUI*%FyDGRm)oY{%c<__6s%ncHxk)bTG>&%Rh*JgzJtC;u{2_Kdk*vD2m}nQ%b>~3@ z$stx*5=@dlS|n9afkf`y^Pik$o<3v>Toqv|J#RQIuAyiQglxL=niB2=8OU_7S~>f6 zcWhE-dJO6#mcPB=ixP%hE{RPQ&Ck_dIz7<|iwb;pUD5p3C!H9-i zqp#T!CiNrDya0{+iiokB&L=f6z$kJ#SAkuUO&cUl^X@xG&&Ow}ZvIw8u_r6&w;z{4 zfPBaikw-f%Sh~)(T%t2)(?H=`e#G7>2Yp%eQ|%Czz^KKEYwu1Z%wB~>bOI^EM#4d^ z8K}1XL!41T&h%J(Mh_gyMUvD{^}mqTBc32H){*`JCwDqUbR{P-vdHaA* zMB)8WJw{`tpHX7`Ayc)65x{EClBlJNGnC9ROoyTsPSyz_)dt@69%5QjAI=^E<*|pz zeZIRhjn&)vc{TfvTBnfT4?5e!gR^wT$(z4^qS429G02LhuVs1<3EZqTzMyg^a=616 zlDMP?jnyIW(wp4o90>6pWTEkFM;RZ;*Ce4yap#A-@P>yz59y8fzSE%agSpNpCSD(@ zM?wg9?IH!=6>}(eElt6(t~x*cnY6Cx==*7 z&z+yQuQvV4?YT6C(4$0o)`r_O(%B=l#;5%(Q>^KOrHMHo!wFsS%EGV+>!-lQtatlF zj3aLT8`HNteU+=r{^GP(j@Q@Hw-{m6=Q7K=il&!_6}14X^l(9gh~_mV?3yO8Hnj0= z@d?wNNlwL?@3ScvP_uPYH~kb# zW41xrS5$i`2&EPm=+BC~7x6#spCZr(m2Kc&9)dPx;%=rcunS8VXRCQP(QhpBF*N=h z&k*tZX#VS_g22Syw=h9@uAvY@ zH;~$Eo>AD^D0_k!itbCN`{Y*nb!PIV<$4&UN(xDrQsm<(`(fkZO#N5OaG!{a1TM@( zFfg*6K8;DIfzV0WKn_PQ1!ndZUj;a{FVd&c1z>0@`{gQN66^AcP<4Bvrw`vSK}vUY zTnZoQ@L}Bv=dTFio+txz!$=^#7{Fm&XsF-cEErswR3kiKY=tujw}d+~ev2?b1~l>J za>Zl;>;^Ad|AnZ+*a<(GYAO%6q#UgA=9n^}#Od0NTcb?*rz#zJp0R0<-QW41z{P9> z+rT}=)VNX^c{ZWPoDF;KDgcHp89tDkjey9u$8NDyMVTtBlPpNx&fGUzPy$%Rht8p% zj)?P2YE8zn*J9(C+kn~fIb2pHD~Tdx)NE3{dl52LD?km;b#pmV#GuL;U8@JP7@0|?Y`yuFCx3#ea41f%#x9st=<1z98xLKM-|>SlZE7Y?b0j_uF|F2|dF1+lAj=n|qf zGln-n_quD8Z3Dy6O$mKQ(!NC_5MNPB6Q`tdi*@DDnA(fW!=G=5 zjnTVYg2AYzMYt!;_7Y}hI@})bC;MaLt`Vug%4n(H9KxES?DHJ3lH`A=*)Vcl8_9C4W z`AL|a(rZB-K1GTVAEfMy`|pY7oI1{Uf_!uknk_Sfk^*5{mCw@r)SieXX@;?E>n>rZ zc-5j!AiEm40?p7|QVXR&%M7L#E#qQ;XQq zYENO*#GwE(ML(3M_MhWgU+h+&qXB?Gcy7ms*{Tak9D8{mmhY6B6X9+PhWQ7Bs&DYF z#F~6DcGcRPeVQUT^fxvRlvEn94YzNQ8wKRecG&q!0#()SG-9WnaO|IMEm16rHq~X- ztRaeQqTZ-}DBq(kQqv4z{p*Gp$UZ0BJ%Bxh4wUn6(=h#Eg|h*Vs{H|8dIDis)HV3> zF3Br%Dj^(b2Y(7wWsZ24)peu8%PgnDc{NUkC|Ic#Kl>D$Xpp{B;dC(Sv?y*j zg6HK;#}v3yyU$|q-ltu~n6QYoco`j;2SnmZrr0Y?VVFvP<^WLxxbAdz%%!huL4f$Sdnkm4?{h zmNRX`BhF(J+c6SnCQjp-5bJ%t-5Q^Q!v?%|QgKJ{>>wj~KPe@q^-7*3`oQAa}03g*<>nRXHxtWj{nAd{%C+I^b z{71X{C>sa0x!a&vhfRCFWu-jq20Z)l$dL5nA^wu9xy^Tn>)RmN69@hKPR8NLJukJ)GjtVS69lKXOvq3d{(NB_q&at?GF906By48-mWU5-zGI0e8Z>l0;}73 zZk93T?#a26F8aU{y3km*Nm;?)J_Zw>8(fB~6Z{7)Mwo?6 zWP1hI{eV<45iTBS|^)d9j!7--<*8hFp7{b8P7rY|tHq%GD<*0ARvyoLURARQNYoK~3#MsxRZs}~QUz8v(YYn3=%XuB8lLzfU zLaoc*#WXhD8bokViT~|nrLta_thYGjt=R5b^8c9i&O_oZk+Hh?zXt9uns90oqbK>9o-mJg;6jH5sk+!^?EyZ6A5dU^AHZ|=v0+$ zTZ(3KHKN5*xFDzXaao7BgJ&%X%By%zz|0d1DJ1&9Z@N22IPHg0qak_$g8s*yrlQFvk*?l9{%#gL-_$ZKhUDB$_b!R%5^o*C z7Vt*ms}x+yoB?gD2<6tnh3S9!%+OW!Fdh)9N>wO!dWv(sms`B>SFHeKJ$3?!ROx8P zIJ#xsprYc1xQbgm-bdQFN>QzYqzWu3COj1)opy+iAH~ynI|)-Y>mlvRd-u~$CbkyK zE;p=+8h=MtNl4hh4#MoL#~q4KuEY<)wfzA9uhQ#C|5ZmS{Zd5uw&uChpRS4aWN?E|aCl($b4dE^k|MI>q^qv`=v(jQvVtCxD{U^{ZQ z-^cNrwgL3bhNkxlFK7s@6tqi@R_jb|0IVQB)>J>=eN8>@XbNv}TR9;HOx>-k3Z`6| zpn~ie7^E%;nRKl0>?CadLM<=PB^U+Y7JMv%bE8$8C*ZsrB@ye(c!VK0gL6Cc&9jgo z9`(IJ%2`12i>}-s0kXj)@o*-t(6O^yQRZNbfo6@SF>v>ZlQJVd)_FwNon~U~!EdCu zi7K_1c-{&m^PQB9AT|sF!U9NU9{Hzq3bc14@5Nmm=dqI3E=>j3*?ueDeHZr&%mIO& zVD)aobMdrifb%2c$%pIpUxo)#kaJI@*Ue&qH z${#k(ugCE4Z0#yCWZDwYbP*ny^)Jf&mg!}-Iv2buKO{c;e#fn@5FC^Us`uU`zZ{&L z3`sL8Wa=|NJ!$2=j{_xcoQfgHn~~D#UKdt#&U(*Yy4d))rQ;KCdnAbTThEP7x%!j@ zQ#2Suj&P5m2BpA3y4d!>xpTD%jn-K~G-k=k>Tfd4v5j-? zL6nsdek!ych$35(g|7V41-AIHj6vI8^6D0-EJX)tyW^iK5kibTp*T5qrItdH8zN-* z%%(mENU`o<^iKLio+t9~qMYMEAKBww5|Y5@rO914hdz+d#K0vBq^46va<{&esmu7| zBjV_~ygzp}wzZw8JGL4<)p>Artn`wDb&jWfV&w@q+aKoaMBD5+N;pGRDa{37V!p@- z7TzEg<397=A<%5PUrg9vI<-N}BFl>(?1<}`dG^oF_TyIo@XR(Jkc{NZAjV3QkKg#V z&io2NsP{gDxd%a}Uw>Yr!~d$h$H5=Cy=_{s+Wt<*hPQ=JIF3Fg8_GD?cXGd65txBy#|L2`i6SAWW@~rmN>N z`#S2=EAVATDqRCOV+vur>PhXD&tf)9W1esTxR&5)I%MejwyFAyMql;KCZUfw^q?Sg zM*Luy7jP6IQ@|pK*mr2atf!rdZC@ZZ^29F}|5m0VeLvvzJau0c^qQ zzMjkleao)0zze8|0TB`NKo=lD1&roF%=$vCna!n$+5a7pQ%n5cmCY1{85i^q;87Rzg6#k~-;%TCd1_oS2p~>yFq6p6RaOgCbm#)| z^h*4=0xEHMF%!sNh*#OPKNIus`F2devHS<#B9sEva8V<|GAsT6RqYYiYj{*f%*kx#(f~49%JK)#`%Wi*T6BqiQ zb1H|>4thxj890|Y9e7FBsP;Xi?{w%|u|Lsd?3o@T=W>R=+vsCcsQypYc-SkJd4M9a(l6@Dbd!()*MdOVQ_LM& zjdeOlCu8}p_fo;e2}2XBG#mMK(t*?~6Ei`kEzq)Ouae~BGNVb&Du$(ELh=OgIgp+W z$-*?W#{|C{i@MZlCCA&I1ZOy_tZ_}82Dtwct&e1o0QP2j*Jv04Q~y!h1FhgI@b%7G z_9;CPlMxR>&Q>^qRt6d81ErM`iPaK6Tb`%SU?fowW6Np#67jD{^sFSQ4~r5V=@*vw zed?w(AMsDGRVbWKfM7+i-kXH2t(Cz$xFf-8s_FO&`<%aMmr63up# z;<}jl@%vika7@M@r%dNQ;dnoPQ}O4{oJ2nyt(*g2SLj}Xe5T}Bx z4_*XIIU{D)^VSb8NN7x0+a! zwfEvzW?Xk_24$cu@@*8i9a$1ESm!eqdkd4Qo?^1OXkK4&1T7>*$kPbkrU+2&@ehWj z492?Pb-@9wqC!5d5dj( z`pYSxtmZuL-gA%Z(siE#KK4U?dw|rd)c1TXSkQ0yVUgrxwkECW-ouG7fY9_y2^(tZ zeC(5&1ZqFR5DJjoVx8dZoy`#0uYx?BG{%bP4bKfs07!OmNaQ9kJ6_Lz2)F6kXni8& z)a(p=-CpH%BT{1Z&^pYmMa)Cbld?op-f+dZYvP#t=qjv^NkX!HI9nWNqf-pFtY6q4 zBB@(hDg2a?y3w;1oJBAB65D$ux$tlJ|I9i`Y-VH7=j#X`jF(qh2Gp-JpD(PUMTccg_Fa?$hpI21vSLSc|*;hr$`9TmH#VO@v;nyoe0JVV~qxz<3MRFuts7XIrEH3ss$Vw zwoS~^lvF@<0@j=pBEr14^UuF1Y7^Q#;4m1es)syH*OVaYi#&*GG?SzdZs~iDb23tb z)&v2+GC7`ez(glZ%03onvC0pPgsRJ(-JAe=PKjRp)43>v9Q+t!b@K73*GHi);R&FA z*dy{s&Y2XNt;Q{BMMWk#;RJ1{t$hD1SIzqELkXBGwJ}-O^4zz7H$YLm7(901PTV0p zdVLvGJ1XYw34{OMNMg@~zo)nBQ7+Yd0?ip1KG+>$W*uE{`3>7m?pS^( z$)$O)H?C*)8y-tFyVaTkfMJ7AscsFBikCZ*IYZ94Su-M9+syR)W`P|A-Afs*_Zw<+ z*FU4uCll%pl(}U;&ksTn|ogO<3J2UEF=kM4!KNs zV9=>ZOTDTnhW(2Pv8U_Uw@R_gW=-Z&KOGs)DR2j1d;bBhiIW2 z!>E6eqvD9g8B$cFvTh{2b2wQFCiaQg zF#B9+iM3eU1Y0bgi&Eul1LPSPi$O_f{=)u;TG!^!rewfjQ^&MdaD$$ZAFdkmc$yB= zpH@^+{{y_>;VpmTY0GxyJIy?8Dg(o1btZ@_ZpMyW`D%Hmn z+JZ9DCiBv(##BM+ju+Ga%>@k^?x_NYKht~54WoPp#ONV}Pr9nFpqBs>H%>YnHH3WB z^XuU(gd1&o!Q=_2aL$Wf1UL29nhzg^q`fM(aA~=1aiXc5YPzgK!T9`JkkD(b?a)?g zjur9*QB6P*Emrs7)(6bgwZ)ZNHvye$4!~l`%^v{LW29xxgP&I}o)~?^Be7m0A}cT_ zVX0IbcGIYN3SLMQZpYw%qTk=$K)rG%$+bTlz-#oDIr564@4}D4q)GzKPXg(xtZyj- zhpIaPeo^(sPn;+y(GYc)`!4_v5JS zcGqohfc(c)y4K4GaBe=h{q2@Y8f9k$Ev#<16umUzqVQvhfB8sTysQ6m0n1ZV~k>Flc z3|>zV0+0e>6(x^nKqURX;8+I&VYTM=LU4#baBq?4lW5db;oa3F~UWglrJhgG#1tIvG4D`q2JiOzCMY)$X;Tmje zCB8?-%qcx}YndB80W9GV1}t8CH}4ECzp4r(j%jYE8qEq=0oMU;U63wyDORluduoQ~ z7P`wTIPgN65d~O`RCqk-_b9 zyYJK;`-TWW3xlMqJXIS_iWKwSK+{T8^eq?`U@Muv5q@Ta9rupX^r=y&DQ8lKL6&!7@bwXbqHrQ;N4EE`pB4pH&-!`o z4aAg;+poWO!0CN=q<%aJW15{`kUKP|&;0zBzVSs0ETx4~dL1Og5gE9s)A_TXSjn(5 zJZBBwVrX6|x}}!1tdNagU-A&Bt2!-I%hAqQQG z0$zL82T8U48~)}X>k?#;O!-tbN}4b2ss)UG8KxL#3)vv$0rc=-(GF#w@V7%8BT{3L ztTv+3pJE$dzBd&|1f)meQmzokr7l}`vU7;2!9zy)g%}Ef#25RXI6`D#%)nng+Hxat zVe`K^AUA{GVufIbBel)(=ciqC=NOzpk2m^)v+cFn!x8;3H#vKZKMzlXXoTgtNcMR{ z6k2p@lb@Hmj^6*2b$ORi3r3m1SUezAKQQhS%BZ7nI+kDgExmn4-&ggMFewR#4WobDTXem^_Z8@f?4px05d?$zY0ZdCCy`!ewXDB`&){= z<$WaIM+VVB_~{Xa7@7XzU)>Qj?wF^K#>N8ZFWPZ263Weo^FtW&vIQ3&C-`@T)bnO*R`AfPUF~ z9??Q=UL~ME`}miQMcKMFLmhz~b*NYQL@=i5q&YY^yr=~R^t9zM_egl(4xsbmfbf7Q zef@>X;GE5p#|_l9GeBR+I+@pU{dDVm^E4kA=wxLb$~ALeRX#p=Ct2ucRO7dfp`}Ai z=M6q(#I7p+#itp5aMvTr*mA1~P@Bhbb(_m)#Cck_od}t={WCW~{X=NFsHCm8a{*>* zF_atV&&MmP4xE43-lsPm0Lk-&H)Iv2A_MN%L-EJg+TPu9=;f>%w^0w6MlLmg?P#9 zD5VP%nox_|1fg%FxtJ|*@@0$Jtrw2+UaZ-*_@}TM`CH#>BT#Z&d=nHx0G8wp3uSpV zDtW)|cc09DM;U%Lm9i@Uhav{N^>@ijPDeb60B;U`sv4-wHYlFh>Y+4 z3?#t5dXmFo5tDP3JIXp_|AUO9QOI(*U0Elha5Nu{>#nK<{z^~RHF!BxHxt1D*qAY% zSf)=%+RLQ5u3zu{#1>tK) ztM>nAkQ9JA@I%j_c%UMw! z3PznPwn}*O>rqn2E(zF?)M@-TU6&t>f+D2~H0ve3b^1)F#t;c0i$oqZ+O|nE@+D=k zCZQFgOvSumLdkLP*-3D~?ex-Nd|$dSAnHGI%{=^UC;$*$(fuS40h6VGFqlP9VE1Fe zdvf39?=w>~(SJyFBq&4ie7X0v?Z?SV_;#5oHtUxCyGPIS>-xQW%%8g>)&k~LoOo|+ z>Ie9p!Kp^WQBhK>@pvPryjLDB%m`zb7K_MA1)qNru^*kwbzBZw*N|nw>sxXaAI0x8cQ22 zw({v+2|z^j*+Z@nZh)Qd-76U11Bqyb8|J-i;5YVxbGhpeeB~1k4%)fT2jV2e^a5AP zB)Bz6j>1%6-_Awl`2n&X4?3awg_HS5)hPS(P}f$fIPIOXRPcl48LtUaH{Y7jqWSf} ztbM(A{^F&av$9$|hD%>B#~mS31-+ymG4LZX#TlahT-THo7(xvjg7)#LC@2-I76aCo zOysbk9*WNs0p242K4ZVv80Ez_4aDmBHp_0*#W z80M11SH$IUF~@6p*wc+|hrHZOa`?izmuPIo=(4XE27O1ow;p@>e3qw6l|(*0tA&Zw z<|AsZo&{Z4IXkI`E7$f6a^QE0vtmB4CR$ES^ghYe)0&ZY9%4~f9BSqwKb2uBt zw|7GhLEu5AI4zb)^XGBbQLsKUkVyld1`^%nJX0H8&)eX9?T8VbW=!j^oC%WJj#W)< zT#An2OT{#{O%zxx#P_aU3aF@H8o`f2yQ(ZK4~C=H-`|t{{p`v@l@iGuVX4@#RdpP( zgJnKbK^R-y?sevx-__C|*@2(JI@mQHv<<-rtcF*&lzM&q)$cYLptu2jSaeUTSoypQgwoc$kJnV(k6CGkowD zmm#>F`#3K~p%gxUVnE4F;WE{rq^C2E!>r&e#Dz)U?qDq*Lk2%NVSVef>ia9259fw* zRsoaVam5ga{C)@D-mq&CJ*uQeA=&8jZ6t%-Xi(qrnCWimnB)mT(1Uj&i%Vh8LlVxS zC@fWRCzWL!nE!mwxJcWl#5Dss$ysuyt|%E%W=np3Mg57Gn8Y#rEl{Ok&C7)9_VG$? zuTy2VXZ-Z9W->Om1@gb55%UH{?Tlx;yH*h?1M@|t-sxv< z+@wzHdUng!^!?q|gc*}4zbvI{(nEiP_iayMTzcZIL^KGWp?O(Ij=lNq zc}WTjKvZG;2V5=HuowQ6W3x#!??(p@@6=;OeA@I+v4`-y$kv;gqUk3{%iAhH>PErm z7cDx^GlF*-aKks|GfkvSBKf&DiQgg1mQO5Gvqo13o5*Yw@%VdJw|kG%{$UGt#W#Pv&R5uUNt7@9Xhzd>YEY@*qS7hz#ha4NfCsD#-q9}t9lW*3z-w}xp37hu+_*H3#M&w?VcYYGWAqZ=PaSKMGxut&_lm^+M6qeVfkz3_TIJP!tFJz9SwDxZIL?~G%Z$40nfaglC zCxTUiScU`TeQCbK)~dx?Y9A|$k}Cl}#@ap^N=le}V3Cm^7k2lfkLkRBuEH~LQQ18R zjjY4Lw8xKjz)P)1N+dbdSGFe8x(*;R23DYY3t(05+!ZI@8m1n>l@+fH7Lltr9tPQ` z2;K%b@T0Q#tRuU{)KUVxn5cmj^Yxt{a!1rxdhhH(#FgUB#+>K;4+2eN)%sH4tCLF8 zLi4qz@g)QHOj@}omz3SM6-bTZnwD6Du1vV8Sk@Cv`8dUV!t-=`TRqM}U21p!_*VvQ zN@;q)!~Zk>zW{zP(vjd*34OK-%^(+|@P1jRL;(MCeOXKHF@zIAL*F&D zsdXC~Q8%ssAzxI$rbtcuvVrbDa+_9N#oVg!1FWg#&zw1J|Ner`;-_<&=CGH5!4EVwIyU2lzaj*$Qe)LN;&->n!e zGdIO{K$x^ZN(t(qk?U&!_ccz<=vIZS4blE%}# zlr^b1=usipYRLrr4*1k5@F$kmJkZR!neNp1b%TDHN^-*H23ZAB#WfWR+Mp^E9JMlz zF1op(E?*#A**)|LXo^u4j7gBT7_~eILbdWo>&B|4lEZY9@#fuFzPqVNaH9kto8h&@ zqXwMKNN>QyX)e38$V8a1q^=e`wBceRC=|L{%QKKL1r$m^u<*nDxl(}@_Pv^>GtkB| za*@2U;zSvg2tHaHNiaUc0DNw!W}NI{*R(OE;2D+;+zUuCdbQH7XFSh@Lu}0-`1k>M zeTkyD)@s3JKjKrOlj*+%C7|$Vqv7a|^fODtR-4XxH34HTW8hgah4g;lGbWxnoTE!# zdbF)GZ|Xz!Hz!#{{0M(*6ll1faVN5~#0L4xLMMUJ4642Xl|U&eg9GS#zb_HTv+_EW zZ2b(iKK*7uc7H&EF~+_FeIXV#FY5zq&2nk!%Z1PY@b}{a@AUhNh#8GO=EHN-%z&p) zt+4-(i5fq~%b!yMfY7#*EKuvjtp_L=ap!+8wJss!6S>Fd%8HYU{_L}vD`uUrdd~$R zq$-Kd$~w5ghk5t;mv5l7pgDQ|&WWE}AlKBNR{glGJrCPL-#QBnnPPsn^9rg0HJfS_ zwLS1=V$3a7DNA!W*E7u4zoBR}CUcP z3MV{c(rN=HVghIak0Fp{DQ=%ZPRdVMh}31D8|#h~TEYF|MHyxSbld1Nkwm~Q$Bg~g z5vpE2;?IVnSnp~zn7?7+tMM9n(6@Cig9GB`6ceJ3f80|^CVw{u_muDJowjHb_vSMc&TGKujo5{ZB7qd>=@SK z<6&R-oH3U+i&zm;*EpUfXve?1)hjpUw8Mko)t;jDrBYe}es?JGXY}|se^2&ui1>s? z*y%2FYc7)Ku$u(%PnBs3rIhecp_ESHP?tWcQ_MngC~eYJgmyzPUqSBTohrmpZgJI`*?-3-4T(@z} zk1uupVk;~_gunMD?0cn>3g?>LLbtMg0*^J|B7+MxwPtvbI)NTrQv9jvqBdtf7SOU{ z&W(SYqnl0>mw_Gm2r$kKnwHNGachfRD)4h<6CZHm7nU(f;g|IYy=3gms59`28we8;O}NWZh+xi;J^c%8&Lt&sfB2$osC66i85U_q16 zv$j7%Pkq`-%r}r&K8#Upoz#BroKyCO@$8AkAK*4Iic%NnM;iO*Foyq5KcxK#!?O(8 z`VBEVkvXB2)ymPn(0STQ;ysKdr2XfS+JGXXE@=;ojM#?~l`M0xs}jg$gya5rVMYOX zABz-!#h*^VMDD$!ephIPUvf{MM~EW!%wQ9(F`Nna!DI|Epc<8SlYs4*O*8phh5Fxb zoJ{$%G`n+}?auTHzC5xK6;rk(KvCMwiN9OMsT!wzY+LZP_#_c-4p0*U;NzeA{em*C zI;c<;A%9bn9bop6{eDdEmopD21zF}-7FSE)NFj`FB>wotIn!e(fuHC#;-4yjD>&05 z47`_*&f=ut+HyO&J;);c!RhVgicaHDAeC#2+T@7;8iU6L(p*{xRR8*pz^w=S{ln?p zF5=^*=Nq9_*6(JL4q1ICN-9<%N4a*77fyF#z1gEyMlefV_cHE)@CFQ&4F`KFUj(rV zOjcsD&d>1*_;^Z7=3#&3?5YDxEF;1kHo%2q#PVnD z7pEx=eyk~KGh^%oc-#qS*a|pwQn_u{b=8~Fs+^#$tj+MZn3%!=eQ>}m)^f{%KOCFqH4fvc z3O|6L@a0Q~C7X7}a1`{BQ{~yxSbW0ce$Gjxma;^v(3Pa`UR?fTUvLaz)L$U4PTyye%1{OD4$X+0f)RjqU zsm_2svX{K`_5DlzcssbbK_=OdugpmcSy@6gi4PEVE`@xIY`*&svv5x_!7*HcbYZ^P z0m=alZ;pA~mGu$OtZjJNlrEj)XYsZqoRcpO2Mnr$5r!yUB zRkzas>P2{}-^dFMuvK*NFIriF@4&GU!=~k>7m4UWPB~EV2QXEv-!#>if zFStTaj1K}}Z_TOj&PS1nPJ3Pg4xtJ_ki^n9bFD~2yF_#JG4TM6L0D zvCS`}S}pdcU3LUitaz#}js(iKXH%wsK6_F1G;LxHwU-lq3xp~1@{ZbULJK6tncb3Z zdHQsFab(5kRwm;m4>o7iis&~S#Us^OIa`y#@pjL}G_n9_$@C{`hdeR8|MsOwp^BI| zvSnI%1{#Fkwh}o!&PX^S5wdMM-Qw$Xqbb-$<*K@?PW+XX7|}8;dqrgyrAFB6h38;f zj61;6p6e)<&*Zc8kJz2|lCDvh_}(6%h%anN>tJ>dtsnP@vptNhE+FykVW%4dWq7Hc z-OI0-&k$GkA@bNrdKlGG1b0rEGIG~1Q0-RxjDyAjjFv0g87P0~6>Q=U$zsyQXG|aH z!OHAwf$0)1C&d=wS4&)t|F3mT`V#u=HAkN-L{HBCR9QTn$dQt|U*VqP1yy?{yt?+-D8rmM zijk3Xe)|;RiChV28FA-@&RWA!`gp+XmnpMDpgfpI_l_sW}VY?v-9-Z@DyDuQ@0;dse|~&5i2rx1s{DWwlQT# zYFa<>-o$=mYPg7|uyQ>m7PdfJx@0Zq(7_e0@iBFumt1kZ$ghYgfg|xk?ji{6 zkI4nKzv>Chn!5<2{0o8mtCvO^64x?XYbPrebus;vlDlSv%7CSWJLP&%G%`vk!fEas z6UL0_Z2B7VtL;q}zam#MvpgcPZC+p`wRRX^dn_GY_xPrmW^u-j0*O?xcC_(UQ%b_w ziDq=7ptuvd(t43MtvgZ-?EDjkqc zu74&83=&+FS0P{ho#_j}$1;N?@bfK%)Wn;m(H-yO?sVjkcdHGF*6;KJ6O^*)KwDn9 zs1uOCjHf0s6-SRys;nhJ>M99?h?HL`3<@eS(xg)q5Yb9;b1?`or(ROxgXKFHIg#md z-sBC7o@h1nqgm_9&{z3jySXE>`sUDgYf= zj(aS&`%%2gc2&|Xk@!%)g-;KB-5XW#*>d`>e(?XM?hY&wX{CN`29CY(?;w!JI(?kv zvO)~2QhxJnT~aFw5tyvAx{3Ry`i7%Rb?o`zj({Y?FHDDVg9&PCzHVibtk^ztZk;JEO~E_esKVbAKSrwZ#tiP?Jw=CN0=@G(h@B zFkdU|nL~e=+<>Opz_qE47a&+euTctu~Acko{7U9N};q?+>XtI?6 z1=Yoc1m)Fm5=iFbq3@Rs&x%kt;u+s+v8454NZ)la=mcAS5k#uwxLp{Lw5grmKfUiD zCt&SeX1zX>=(YivkrZAjN2xwm2n2#0#Q~Z~&NGzX_%DP5GZ-D2!<&@~tSC}B+Yk2V z@4k%9?OJY+DYTBNixBM)HGn_sva$^6tk{rOgfRHk4;mVD@S1;}i#-xBUZQ%MT?3ND z)rLAf1cs;I8#8E2g~T_@_4S`kAWG>ILcS(G4xF%`Ju&tl(cu(jmMh!5CI>zP0Fw+o zFcPM{rvS*(Ms@WXNV%rrC~qf!O9ux+nz207JsRgtGX&^k1sAp~CDnZ{1t$&{9x zKrAr>#PI&6 zd{H%wOCVQVZ;jh~tWamDsE{(%rjj_*T=LVzQftPKI=tMw?xhFEO2Z_ecc z1mY3>OB+BoSJfnE$9d-OAFS<%+?sDZV?nj{k?+CM0d=Xk{{XqQbOSPPaQ7D zEX0xVA}Mc+sSJCci3ru01H&id`lxie=>q!#wH85(O%!^QxxDb$$0w^o!zI2yzi{a` zy=X^%C=J~r(MfALe{Bi>_IZ5o+@v31ME%Wj&a*EXR92200>M|n2>!xNF}x$)CMe3X zKstuNF|Skx)M*0V+L{2!h&?Gn1k+@&I*Km z>4co!hdZ|mtN3V=dONHE7=31M=)OprOz*wewSBAB`5OR%cdBgQzS$kxytZh6p{0Ky zniOT7#O#p{!+8(BB=52<21fjeq;)N>Glu6&+Zus8>&8hvwXk;&;Yg%md?@J4f3mf# zersM-gX=bZV*m3#TlRU(pip!TYA?f&03(pSjR;C>GRy z?X;DTb58wIf2;%|t8_==*mH%N{j96c+INQH31D|8&)KqG-n(-PK#egKlIj_=K@m#s z->&hng%Mx7(!q;isEz?x^I!YEnPO#BY=Lw_qZ=zsO9qQ}Y zT0(&U4QhmhTjAL`<`54zz77~LjrUwiaKz~%aiQptgk(okLYgtPH>iW}NUTchlLKhs z600b*wu)l?8mLCPNw!=9Yu&M}x?YCozb$?7 zTD6;eAi15pX%jTe(v%A%mL6~1Kmi_k5>sT-DV8ag7om$({qDv`2tqw_@RHcmMO1ij zfXvvZZyswDRaj3Nf`wCd8tD2{kkI!T>WAaKtorImHo5sLvdu^d!_#!J1^*Y2^0f+l z-O(}U&AGEMWpGl(k*)+4vVT}sWNC5&B$eslVzq14jL`E^fj+pwAO-uyr$n9Fu1TTi zo6zog;6{dT9YV=q7>VD)lVk?EonWH-1xA#pLWEu=)w0)NjfnK(EIcy0++_Gx#R$)s zvYJ@~X-H|l{SRz&nbSC+mVP?C%W%F8OWM5ZulSo5F@e>j@(wogkt1+Cee=b@!+<^0 zYVFC?CUBH$CFSliPZsdZ8obAt`Gil8v~*&|a#@N2y?CM59AxHkYwFx>Eu_~8N!yfOL%Feh^3v@kl|(8J1YHDKCKxEJ=$B*lgIOly1Th zMS=S%5pIbxE(rJK$Qj-j0{H6{PD8r3&Xc%qzMxM z+V@Jz(nyrrKO85Rg0CE@c3&rubzZ)mp3N$`6Bju&Lx)BjCGk!-*(Ot``7Q*F-gTXyGBe@Y%NkTYQC00+ znK6-_##cOQU2Z=#B0|P2`ez6)bh(p`L(7yBF~OR)JbJzQCGohh+&-=5kXy0p5+fd6 zP!kRKAnzl3zTnQN$hOu6l+n(%m`W=xzX z3lJt!d@+653843k^Uc0dgZ@+P-bww5eq zLaDE=$_~cn+JS!~3m<%;;SdXCj*ZWg19!wha3IXbt*J0zjh0E3&Cxk+{n{X&2zyFW zL?3(yE5Rs`vCXvL9Fu@V>Da*5Y{o=O1~iYD@!jc|Bo8p{>4h#u6~k)M(oUOOYi6;gUWLIh39~IHaakJxDqtWhr8!lsdr@ajUgwDUBP}sAF0n2;~4d4*8k`Xk~&?TSlZ` z2_OCNsEb@DLqdU{iAhsomz_>$Ji_|~Yh53fmcE)$PLzLAV)Af|u zY1riLQiK1B{XU4JY)$jb?d@7}P8AnETE-+Jm;KejmJSX1Ppa&-xV|z3g@#1=qxhe# z{2$;uVPDHm9l^OR>^|QUA4TSl6LPM2Ng^CGYQIoID zhZ0DBHC0CE)W#SR$@af(8L=JqZ2YNUR^uK=grgTL*+BnATqi~{iSh9jYo>-uBQlY$ zDunuULCC$?qCUk>axWEY6!boUPm2keW5~}n;#K&q$my5*B5;VJ{OW$YQ1VTeZe%%@ zOR9)NR?G3sXbA3;vPagvC4M&*zkH`Na6W9`qSBpPZlc|0G1IV+v+W)`3m7B5=mYZ1$HaCyN z=pm4%!oUZpl~s3%GOFzIvji-5|D^os{P@o8)z3C558fQJ{rDBO>oXCsPKZN*ok=u2 zmeg6AQby6J>@;mU|?&*HL{pfY3G9dQa!-+mrx4sZbe4l3)0>bQ`;?a&xF zm68W+@DRaNr!eMJPwT^HaWM>dGQ~FQPKL6T}f>C*lT`>K+I@QX`tl}l}^3c z5!G`w%Q|^Ss)e^IEI0RjM3^O3UC$`x3PvTN^Gcb0@<8zq^M;Mq7RflLkQwE+u*8{t za4}`HW}7iSb5^>E6MoHKSqyhJU=tQI*J4K}dhuloXtAdW}bVF6D+CagkTL z6fZDv)G!D8)1D08C7X=%@gcbYuxGnbx(|?h;Dx~s_Q+fV{mS@1-n;NvZG0@?3H}BC z!&TMS(Q_1Ocsb_*HfmANehU*Udsy?XQqX`qWj|(cRzy=mty^if0i%2yuTjBI0Lps~ zH`6eqNhPD=M!ge)ETjIT&$wCGn)2bYozuhHOR`g9KL<5i)T9S1j7Mt7psGi^ZKpxp z4NVbD9`=txeA24=u{nWP%aRZMan}6fIJ}d=w$I{T9{|Q-E12Z)U$%g9lzkddd z#9E(f#4(F`tE{Dvtrve}%y4I7DR^O@AJz}4k97SN$-R`jwD_3Q$R&ZE{$gKFdt@qN)p)mz zeL;Y;LzKpShrNM{0nHdRv4-%`vybLf7kFiJKN-EPu457W88yKgBjN^Md%~q;N6Z&%a}oKuf+K2(UL_47 zy$GZBTC58lS=TlWCB1>tQ^6;=6}{GGU0NG;xZb(F7M~VNSakO|0Q%oiT%~_eSU*US z8Z_?H(37BICavxUW=XaFfw|p(L5Om^@*a6;?jt0|oYzEc?~q8p1c}&r8-PZ)cBcj$ zDbm6O01T}!2@U~aO>Mkt{#2(sAYsbR^T-i=p(6-2dxdD<3090;oI-nRF7cS1k#M!X zzAV}Izj|FTy0dm_+_r=~a1h%FO=eelIz`6`jvP6;Zbd6oOLy(4wYdq)zn&&<#&gP^$=n z_wU8@31kG$a5f!F341g6M77ZmW}rN;^FPtelgmieDppQ6#fUo`4r2p9=uQ1xTUI)z z4q|SqNO!(d2LFqWTI_{-*lODIZLK@TXNO&dSDfsc^TtW*hc;G7pcO@0yOHoLcEE`Q zcMDku6xxMxSG2@Ep31tvgF^y~6wSk&vEgw!H`x`;Qal@s<>-4r?P`@61@uyW;!Bv& zvh=DRRFGh8dH0||mjy&x>JZ5r$A@o{NaVuWH}WY9Ah7v)0@ZTIWX-oPnZ-eVf(W+Q zlOEEqj<05~-u3vjrRBTtaDr%uT7}3Scl%XzMm(lz{3BB-%+h)M1mp+`g_K_~nsncX zE(3T!m=;>=F5Gs&W+Q+p%ZZchYE0v^!Owql>gFcO4pn^z_NS&Xug~AT-A~VU*8yFE z^P9UmO`-;Z<8<+m&#zt~gn}!6i5lF#8Gw z$p`h*$4bB5GjBGztd1tT3E(1dWsfi=Iyp{;9p|Sgo6+#W$B=*Xu@62xswCa>N?Spp zG>J_nD+3(AlGKelf4>UMzBFNnm0NSlP6)Z_pim5gp;1`ta^qEmJIf@*tAv*&h4U%! z;nO+q4c7XoU1HtczSqiNb1nDoRJxlxH-X$ChgVyP0vScd3PwDh zvz~5`BwtK3%MR@5zmx%yIG!T%5{ajEQkvAzlHO}PDYD;&4PY7`lwLS8L9rT&%3yI) zt6_xT0=Z%S=G)bNUrnB(EVCiUL><7N6$v+r|G)}-(S|Bvo#PY1WcBWcr?U%^K~ddS^bz(ab9 z#21xv7zS07oS!ow+=#`d6akMjq*Y-8{Ibls`>CtpUT99@-1`dT4LvAI`#!l8t8+?Q zmU&&ffF2d(4hZ)#UAS7xmJG8o2XmZ5^8?~zD0SC4S$Mw4d(7|7$Dpae3)bbYyE!B# z(w=GPU;v7Je(&<7MoD&gDGzhTH(@^J4r^8r25CUryo%>;*1yE>ba{|(`nY_?iUh$w zUsdPEx%&|u`sjU9CD30Gn_J%5y3RY5crWfP!eSv#Kb=Ug90rO%p$4s_c%AO*LM9O7 z-2$UbB`@J+k%H>PYq_kWJ`K%CKKuc%3$1H%Ntn6drIG@2H}oB!lc8$K)KcmT-8@SY zES@24&`vu}v~MJOVm=z{?TE7VJu*D)fi5IFckSQp0^oeRM`DDzgr{%91xL67?aJ{g zoOff~MgPuCY)QKCNr4;0mfZ;aNSbP6CxbWtd8R^_EmwEDxXYQm(MQd{l6#;G`2s&I zuUXe5BCu|?o1O`QTx^ajN6&}#1T#o|A9c#4EddDZQBrXEZ8U68mmu@w!U$1OeFMm- zJq0fx@Zrq;56oYDf_+(r>$>!~?vV@vRU#$mRSF#Mt|%hNb)~o-w9FPd#}2q8ggB$e}$lH<~$W2zYuY$w+ zI070cr$UP#J2!`K+OJxt=DNQLb0yQdAiOf{&;6CJ@^E2u&)Zf4L_|Iiv~9|f7x#bm zA+>7Q9vW6SVs5hS=`OzmIlf|f%)*KE3=aJa3K_xTLW&X-ER?7YbKRG^u7u^n9ZV%-bGKDUB2)4xw=F9Bo%4m+>6d z!PcKpXk5F#%`wU<+9p_F{*{bvU8(8*tzk z|Lj52tna&U8tl|csPqA9VW~@(+_Bx&pIb~4XqxMeOtem^DJo+&(=Z?Qh81@*6+k!^^;0cf;O@kxP4_p~z4k9UQxW-p zLe@Rp*6E|5V~GKXgBvTI=UM(p8nw@scxn$LiYaIMg6a{!jqM(IAlHI-1BW#~$O^56 z96JD(s!y}gPw(^Q<&cNakheY(hYs-YGN^wtA`ffCr@ZwQ0A%YY!tUxgGpwzDDpQcX zDE9T6qVC_YJyLeWqwafvi_!X2f^gn9dJ+!tQY>uwD65g-3T8%tUB5aU6RyXX8CO<5 zY7x-WyWC(8NYhQ`{>hnG_9__YcO^lCWZ|!6Vtc`=3n$BS(>(D5rE_bc9=*K zTS9}JFHYKK++;RMm}(;S-!9;6)&xoKOSZs|xkNLL&OsSDH;0FRGI6(KW^|0auWL1F#0M`E{y54sJshq04ibv5;nQrg9N99$ z7;FreNmg`tO_h!zhVW3517yeDj@J)z)8U&vftB5@@R~Fi&H3grT74tf?7Xp&xwvQ8 z?1px=q&MmRcYY{Siv@dFq3=S-8QE6Xc2FAfh>N zmA$UPs!cEAf?22`I9n(|4~Z{p6H5}MWMdjWII*8kI=nAmhO7ipw1k5gwbqBAL#zkF zVbHWF%yEe;w^@6p;|t=}bv$mj-jffcxl4A;4w9?a1G=HekpuWR&D`lKvoNwWfVGA! zW15r6^%sRhunA^lKd&?h;oY>$UD0!q2}H?S*4m(^L~4ptF{*J;8)QZANM8?-6m6fLKAFEGmGe zZZhibck){jFp#_q2|pqH27|Bje32$(y?uwsLGp4(c3{n>67IDCIlC|}U0R5?Cf13Q z3qO`7Rbud{D1`-I`HECzg72+$l4Juf?fc2}7ky{!m3Z)UP~^=X4-vy6`z(=E ziBpmI&fMc+;dB3!W)*NV&H6482e)ufA;%SLV|S_8TNYxN^ss%f8LQY^*7&{dcLHcq zZd%>^ZUHjgal_eDR`yw{Nt*p>Fvt>}r*hAK_b-UNir4VBmhK~cNEm`!#dcU{HgU4d z9y1Aq+|ahNx^#7mL|w0c%}d8vD3X zZVsG8JIAX+ZISC5anF;r3r&u6vU3FJstsK6f=0fI@p$auy^TAMYZm*~C<(lMIhh;oN!uRJK`#Q4OAfpu#+gE5`wVp{Zi^;u0q32py1PcgZNM0fyMDRAZF6h$!C= zo?>VoaF~`wlEpP4U0#bOG*;A)X}1zI;dYh6Z4Ms*UfrAR zd?8XLeSzns-$dxZE}6S7gurlCOug#4!LW8c3$`m!e~;_W^3ple)}NaPnmoRd=djfo zi@Ons^Dq_YK+Rp` z?^rjPLI7$Q1QVP&K-j@UihgAr1TG=*+5M)w4%TPHJ=*=SAU4(FsI6A&4b#yQLeR-ZGb=heb zSVt;6Rkj@wY9MXpM8b8)kc524Eh{x+8+suQGNpR2Gu8F~0ef?Ev>YZnYlT8HNFL~9|koDPH-MS zc64mfj)q~0g=c%VnaA9P<`V)xM`f;_QDw8jHly4oK4EyX4+D#3l`N0NvU1)5cZ@HK z0pTDb8W7u@Zt(q%BlFkVZ&;z=D-u_%{eUyW&bnT=)%dK(RKTqNV&f-TM3;fzPiUOe zt_~jzCsnNxM}p%VxYVh{KgEW44!(^jQVUDyaLMu5$o|@BwCEJZkCOf5%o*^utXakn zJlGeXf-?h_j}u4)l(f5=C})t&yG&6)rZZN^a4#^lq+960^oT3o%ZK5n(-D) z<~;zNqAeO6q0X3~3ogn5w1iEQ05XIoBxxR6Ntu?_nyHF##4e;6^AhiIEB|BVsw@o0 z)$7`n$(Lle!uB|dBZ0|nS?gdpF>s^`xeZ>YgX3O;v(hfT74bAoD=~jn0S3Hw{}Li@ zlulw?Hv*Y6JI}`SyJO-N*lp^y+&CjaY1y$Vr8!nNKU|14bJ4PF+@Y8%?TGD}pIp>yHao_||Oze>}m9lE5nz&LjgZ@JiMI;-*05d?$zr=gchReoR zu4AB8E$u10zYZM#43`1D5#=FuC~aY);RIJ(38p7W&e~zSO3DJ)6a(LZ+H2UAEI2X7 z_Q~e6Rz!3veT`Q%x*{>{dA{ok$e;B{<2e7afLha^|s{g zyiptno$qbz3eYS~$B9lMHl0IcEO;91W?Wasx^F})c_`D7+Idn^96jb89NxJeY;uGJ z)8Jp_WRqWor0uO{8z-j!(mjWYCZUip3FJC?S{t?<3KoX`GT6I14=TVMvYyJGz^I_K zFa59XTZ$_UUd*FAZmA7FKDz2(-u&fT?U*~GA@1`0Rxl1T6`oN52ts?O*f-qXkn zb8&A+ttq`7UT4M$W`M6B;Yz7I`MTiiONq`&-EjlBYfW^Bg9CZ5c04);Uz*v~s4xN? zw^OW~&Vi*W?}Atl%qfK!d4cHa(>uvXi&3TUi~_=|h5`+CX4u ztG^|9ujX{f+A`|*Ee-l6R%SFZ!Hx-j7YX!xO(uTJd`;ca zRb=51Ue|FJx3&-9#RqnwgI``0;Q4sba2tpBO}|jDAE?n}mVEKv3+7&n#GlE}|KEWLEK=>LIR=hqO)KpI6LGNA6Vmo5xIQzb5xNdK-bm35Z( z%BO!aPb@yZ72JJU+@nZ}Ouw_L!8r*XUF+MhVg(r~#ikTf)54MaZB)UJxXXA<@7r>~ ztdWW6Yc%nh`i}-0x~j@h$R4N`315Jg1$n z_$VZi6!G(4)}G+N^s}zj>35sng&S}tOP}=D|H;e{hrlB$;F9@~3wX6Gx0dW%3tJ_F z7NEzMc5X~;-iuSHe|G5nkVi*8`qj&`HRhe1zcG<|$qNjMc z6ZRj=a+t~|zyWbnoHc}@qFek)%&Hko@vZ;{GK~?Q5H@*AuaJF~8hQr)f2PMSYT||$ zLZIQ07siZ`=m-4$doE%+QE6bR(1RpkmT!olp7bOYf-xXDFg@){hHbp$Xz?~L-!Mr`7c5v`XtINd7(UI@fTJH z=`K7#erA$l=wKm+GsIh$Zdzn|26Cv3NIJ*U%#Y48E2WfakAs&Ihja|RGbe&Y4j~yX zXqEr9fnRjOe*>lFXBJnJ$l_DLv|&!c>N}h9ihTf42T?w$Q<|wDlhyyjA5TLYY*-M> zwCg1WbEy~9nVW4RxkRJl8QhkN(0_e^)SHlV2JixwD8H8%hnT&FEnu(O ziyr&Y798=3kOY#r&o~C$dn7@hGOLj-`@Ns2&mqUH<*;>~whXHaF_rk~eDe-&6y)#! z&x-n(py`7mTX7uWy-rP6IGux7Z~DaMD@C;3HilPvQu?)Z*E`8$r1pb1sxn+KR0bz! ztT~N>^`^AkE`>BE18{T~Z?sR{Eza$UrR*NS`2Eacn$3eb$ao<`KlH;V5ErACazvE+)OY8V z5F0#})@_v71=0o4`_iMo=o!D0Q}%#`i@(!euE*Y2RT(9a%vlYA_%=`9?Tn zG@l0In1kjluDTPIs|ZVI@0Uy(t9lCr^Lq)}HP-2GZYCTA&cVAdn+OV|Eo6Ddr65wq z{sd!k>iD5&+X?*rkE?~vTGk{-dJ)Te0%LF@->hOdTi%Me15fmwELHKlA|@QHONR<0 zxrUv!?*cQ+aPt`?w=u}g@)~S`#<`_Fn26IWVN=mXW&!C$6>OY{ty2Ox09>V;db2_R zh-qshL>yu%hjsg_R7q5J2nWHcg%G)E!2_YRe{%qJ7rgfLrhL^GT(IhaJ`$qZ!1>w3 zOpD3*i^M7hH2mBSFJUk-X>dtZ9^z8&=U95nU~2_zX@91{=+o(Sb#CMp8BnFgb_6jM z<8=rN2Ehr|34!LlD+-Z$Aucuqi8d%fp{%;TtXL7%);A;3Hj$8VP{?6-&!&LaRLbA4 zZ;)~hx`KOtwY<(E&nNy&ZLyRYp6+L!G}Zayo`zV}Ah9Y5XoK8jy|MfJP8e3-I)81L z((|ji#R>sVkCc73<>ukrW@-Tg{kohb36{JFw(3EXLL+4Aa0u&;;Dad5wrISr+P+Mo z-k*&8@!!i(FS`xLtHFovpo&$E4)rz0lvyyMMz82trx#a~8x-`xXlUHBPG<;?$Z>GJ zmglXs(FQx>VCy^pe1C`;8b62{-X=m2mUTgn)6 zEZNs;g8lIB5WzcJEnGF97e%hCxcwMdZtUSZeVmSMaVyKdxzMFFr%O6lAAxU;mrJl=Q-O+)ybW$F<;#;neSf?# zu~hm5rPm0Z++y)AyQ&G|{v}&Lwdzf9lqVe)I_3G2^7*r6QH{QRZ`>cDio8I;bxz%i zx5$E$+gbkF;>yDz)DE_>b=f+ebsptBh@o~1&-X2OKNT2-1l&i;*SG&~{^up6bF7Q_ zu+m`GcdDn(PUafuKrA$H+Bip- zloZ;A0&)&ba;r-y$Mrphbl`--2!Cn5%Q!tzLIt=0p^`f7lYNDlLo=35^WFkPn@4x5 zL_Ufd+JmOwTr>ZDVRyGy_<^nZZ1DDhH?oq@(UegO!*B=en_}=N*de+GVl^2hO>3)x z4H5#mXPs2+0b=3bL)`vz&eP;L9ad&s%7JTCF`(rdq+`I&+DR?Tw*Bclt#?aLW#F5LYMh5(T+5zoTd{s>Om&F=blN`s zi>M4yyDD_Pfa0I`{EnCoTq>6|s&A$pUWBr9!5pNlRlJ}h{egh5QNb(w_sj^~;-?uq zApY3c87kQKnxcTb-Sx+PDRG^W`74Q!Ff@l7G}m{)`v8ubMxSkMQMqKv-S>~Jzwww{ z@?VQ+Tf*w9Pq^4Jg{$J6*TUQHTcil{7J`Tq7$|Y4;VCXw?dlxgV6qkwQXz*rfXikS zE$ms9tuTuB8FGA-1ug9U#=L;wy%R5vllhglj=_^?R9Gi)c>e}=(h`#Lahyyw+bRx! zp_t<&L!#(Y|0O6G%7b`5-m*taZS@qh?jc&LoBeWmyl}2IA0DL71T>=m#BO|=UnF~# z_CgqNDvLhKZeiVX<$X)P)m(ogRhGSyQ7oerM0gDeLJ{g_ZiHH_6CP_HQ_W95ZUi#y z52iw>Vtt+dmdH)&KZP?Ak&F~!fC#wby0`sut` z)sH18A)N#?Eve&o#XDe24ngj*)}YoO0Y_ZlP2~7I$WWRu&*1^oSG}!iD)a z=TO<-oFNCD;I1iy@yiHJ#YT~&0D6>_Hf}m15|d?1Y-YzP2s85L1MUTyM%!qWu(#Ls zgO&%@BeXB}?xuBnPm{nv_h7cM+5M#ZZSzxhVJWKwy9_$6*8<-Ca0g#%u9ZN*Ny1K< zx}MqFcLWSX)O320mHV45msSMx1ZTB&dF${kOC>8SgCcw1?IjMO{z|h+W#rqqp-;rg zQq2l>N%DD6{g_#&ofE_@0zpZ}tDuEH^1Pl+8~7=IUcx7)@@Xr(->)I+@vi($=yv?q zOb{k#{x!|*%Zx8B=g`>`T-op9i?V_sYR`RBi1=XUY3=C5qFe(H7F!13T-jQzf*v7u zix2vm#Zl8Ex52$G{hAfSL$0IrtIwu4kp^utyRs!lnLv4}A!wU+^c$BW3QB&O+}$7+ zb;B+xlr;6q4J-F5{=vnxnY{M1q2C4t^N`a0Lx;(WRGz*A|DIzlO?D?b+~>4l`^Yk8 z50FxWoRZe0Q#xEaNR2<-wr)y~*?UtUWpvlcVZFYnlt?r@BIMkTXKv)32CpWnm;yku zbW5J$>v!iMtiI^d{7IMmI6&)RA1Ql*sOl@U3LxP&3g4YpEw}H))j%HL|2}z4e z!!)O0*-d(&aZdoiss4r?>+$EmYrgWltj*1!W0!r!&cyP}igd*0CsiJmF0iE2#@|zs zM@=-O45cXqhsCJ2+M1s}fVN>^bk``0qVmcVJlz?KOn_)qbhki=O_j)dK@v*TZL@AU z*xMc}{DCOz3GipvU*F4dNubt*4Enn=6Ax|GaeeD%m^q}UG#c)j2T24eouITz$7>~A zq#I)?AdGrD37^0PwupJ?NyhQL8rZ^P7s>xgQCn|MZSryu2at_4azN(dZhGNW5Giv+ zY{q=vtJvz&aEE<2KJ3RfC0oFf87?DS?2MrdKY7sVvj@D{cIeY9dCRw-b@1#%_JfSv zxz4`-CoS+22i!|jo&eM`O{C*~sh4z}x3NItKZAjgaP~grnQ}t@kW}2Wd)foE*gHRW zEB3Za810dg1l%$@EdGQ)13v&h1Tm2CL~@C>N^=FxKQi}!H-9_<9Vv#i z-KzX@{-?U=!UDuf|9tl_!*~poB42|1$r8qMX_CVC+PqOI_=6^MN*P+fVv0n&LJC>3 zGD4#*QM3|k=ZW%d393NrnQG71yy3`{jYD)`6rYe+(}Q)@-eueiaNY$T>?XG4VrD>S z1|4P5tZ_Qk=0Sc2$0@8))3Kd|1yomlE>8;w@fRH}YhO_ZL@F(Uc& zSy!Xg1h&(~abO@14LxGg3HpP245VO!2}EkKwqkYHcX+C0HAv15mthWN%`~g;KjdXI z^DM!D9Eh%AA}r7C2;lQ3>o2;atAM%QeaT$Yt>QhsWJv_x@`mE9fQ|g5`ZcXq@h7R0 zB9^J&^g{v>+ozorI>=yPh2E`Q{b0Y%q}rB%XmgXDRc@)S)^MWWo5{g*KsYmk@i%vi zV6jBPJKO{gs`&fF5V&5`F=Y+=(AzNz6Ai;%IAe?UL~R1#BM`6w?Oy_#b@Tkg>Pvx& zV`HKEAFn#z7&+mELX*OLk2>l~;7g~UA-7<{yKoh?x< zh?Uy8pgZ`Kzt_ZXERTIGCxz(n-bhKEsuy>77QAA0Z6`}&`=LZe!rF4P7yVbR!sevc z#2w76Uu&;?B3zcN(~g@bc?k8n3(-F$LxQM`OspD(cEqV$vsKo8OXTxu8$CjDM@{3l z1@qqKqsi?1&k7Bf%M(e0Y+-m)+=S z6YJzfe*SQM?(-mFIMbVD^MiATVkBG^1d3EteShR={W>h2m|2n`Y3Wuh3O<*lh(481 zuepKcc;(TuEj++l4|7lV1qNnA7EXyKUv@Ni#N-&LlUZTzPgOG*4QvuGPZKHeIGTvI zDWE2dLGJC+Qxd2M~&sgzP+c7l6!g~4!G)za`bEwu9)C96tUEu=3TG|o!X`-5;HN$plXXV%Zl6%>9tS)xu z%!;=Z=sfj#I?hIYvkf<oX;YNu#}xi=#2N9w*f~v9@?lFk zoYJ2#=0{!{;Yvz4JE64;m!T|KFmO{|`Pe8a{D^N+ILsuQ!ne;ejIrXFkSJj2V1Q``-0*d z@LNExavrZd^b<6fS^k|F&b$)mR8&0mWU95{=O#{7>OMAOG7&lOI2PdqaxZK=#ZHq3 z0zi28`E`qXvi(dZ9>t&~R_|%wvY*88O`9auIA4YrSlQ&K;JlnpS-+V*^W4z&{Z=T~ zRKJxzJ zQQ1mthU(!j>nt}9PVrtZ6vr44GT8M~M~ww!Nql64-}!jiEuMR8ky$@r$%NGEI$*jH zm8w`)O$3KgHrt3u1=iqckXl+vuNX3Ee#+`WLj9p|0i5c4yY~bw;jD`Fd;fSb=zmk| zB!89mIV>%IpOdPwS>G#h^4p160~4z(&`BmbWav@ zvvwoN5Ws$1Xs%|TaY%gU$+ORYdGeeHM6hQj>Ay=UH6NoODeKXnhtj1eA_I^FdP(`+ zkXB$NxfMGmFW>5kUxglPo`j|=o=FnjO)3K*TNe@Q%`2zyt@3*dmr@&cB4rFtEO&J0 zXYzyw*j$kr#ES6`GE-GWQQj*K&KRv4Av4mt3%3u|Q;)QPYfowvHu1HzN>s-v0pl=lHyxC31G zjM-RG7Ovfp2bG;%8-#7=oNuRHK~vRcK(MlzmHsC?28Ao6%rHC%m)> zd+4as?lcRkEQ5{Rc__T;#d7-^cSY&6@>{k-EFjr-MHf_475!eQNke%A#z-9^YnElj z&%7hEqE6)B{!J_iJR)B&#)wGY0hrk{){e(t#IP=2yh*2~cLQbs@2ftONkF6{z9-{4uq_(0rkJ)j=|Z2U~q_*|8zdEqGrHhHrCtki*e z!2r})oCQNe%6{v0yQR~wkg*2`HsFP?;mG9_A@8SPU3o8?a`?UhuhcxWh7%TnB4K&u z@H*1F{xfqiFSG4YKUpaV%iM8={~@BU4%U_1;5chWdRCl`(-DDm#?AN1Am#lODi}ZE z{KY#ESr|wFWZ zk3g--;W_5JB1foakGZQA)f8?Qwi?a0oNVu>H|sL>s2-h9hT)*sO~#xR>VbW#G~*3L zsv=@%0>Gj~t<%UgtJz?rzG`asZC@oB1$>E+m&FS>|7|OcBe$9SEjb__KNen&4JWsu zykki4hc)u2jyc>$P{@y1^Qb)!)+mym$CjfFuXEZ8LQVV3P9e3TMryT4(mhR8tI8{k zMGkiWVi7^5J{*rtDw+{i+G3pBU!Cm+5?|z|@F?m@H7Qw<`8n0^as}7vugOF@79fK{ zYnGy`$^?Yu!uvNg%DQ0e5&2258FlLh3X15_*Vzpy0=1C9oCJpCQcC}@5^2?$EwVTu zxRLXCe>G4ZH!azPs(Yn1vcoqmT=N5s{iy8-%O^>T@+wECuH#I-B_%TZHJ%tTf#6X% zsH~3YW2CDgB=ggf>r*71RwMcOpN=>P4s=nJ8Z4;=qAb+C7kJj4l$BJ3w^Z?mXrsn0RE;xp--0?d$@2iH(CHb9_*pIx=XQHS}b(+a5Ln3%nXW%-EEylmTFO<(_PxE zB4{1ux3xg)8Q_%>TPcx#-{PEFPJ8fpy{B`IQ$?T}5v?lroF$ViP)HOuiD@Bjpb>Dk zgVE7*Am!Tk*KL7dfXVBSLNd8Wnz9{e_QicbY~RfxjkE3yT7sBWVlt%?^p=}neauX9 z_ecSa2{ue9CG7PKCZo;{-rnw|$%=zS|1{cb)0i^Ybhh=wI>Ch7@GWqn7v?Y5_+Zvd zy7+n#M~5Jwc$CFLUs(`0R;sW{6SVlM_+?r6cM-A6JEO)3^aiK{ zRtosv^x%o&GaEMGOQMMQXyO&`@KYIcPY;;gERrBXi)XP29MEm3rVK zMdj*R@rvQM{56Y?xg`?n9rz97C8cSUO7E0>Mg~4>j0|kr`s>lnEbp^uD13EUl3>^# zFANPUP`p%l9DjUT{sC}6SO>UKT*XC6a3!>|?PB|f7cEh!a1uREPJ8!eU~7$Oj`}A? zp7z8P{{TOG<<+fEYdSL5L5}ns#r2^|N9J*QZm)vQq+OHk4&Q?L=#JTawO*()W9s9J-D^!pkga`Y;lnEA7(>2`C@(Hu(;z1Uh+x4S(9 zyl?^UkjgD+a>6AG^HqCmmf%JgeKnx;J8$8Jae4-nJMtT>CIj!w!NhNXcWp!_ptxFy z&A%p28~Ag`ma=ZV*RMV)=SQXQkX>Epwew>y1nH)8%s##UF2L`nhf6;{bsfax`2Pm+ zt;vF`BxIZld9e!IOJ72K@Zj5N@s5ZVwxqK_`Qf{{frK?P=Y|Oqypxk9Lan-gQI`P{Ar?5g~+BoA1IE6*z|AJxY~xoG;R zO>soymPfzu{+bx){g}=H4&F(bQa1Zl#faAV1+Bz(90sv;<1jjg1barO`m?%`f<;AI zRoiR$4+v^(S_Q#{VT?W5LEdQ{hBcO%XOhu=2q+bl2aK<=5qNiNuWLzy#7^VAGLp@> z9h}A)9TlU43;*H#cc4UkhH+iz;)Nhmi;Mq^z_6~BC0_6d((=sQ7!d%FuEVs32pG{i z-;LEnii)TM(Eww4b;>AS-wj|`oZl6m=}TD@PF>9uIm=f1(|V@Rz6N6yLE4bwI;vi4 z{g9$eVwr>jSxgQkN?IKF4tKUT+IsNt@d>n4(wn-)^awfUEx?d#99uLZ=$JbB`}ux| zEK<+K%Tr(mG_-K!7fg3txI}#E&5$^5Av-S@W5yEmW6+jijjxB30m2aqgCp+_0TGkg zk0#EvJMf_p1}#*OIRxW~!acBCRdC0|`qzkp(YHpY`=D=fUF^sG=b?oxK=?m?%=)G* zPF*qb`@itZpt>61<$$CVnAt>`yRbei8VKc(y|kCq=j#2prhtfFHz{W$2e-wjr8QY- zeL$QZu(g#xC2SMi)sFA-km~HzyD{;Nkbyn#+n@v_+(>imdaO6g3o1t>ehnd3n5>k8 zjI(kc;R7eoKxRzG1%~?0i+4!o8G7HJh+`ig_5w1IVIZlqnrR%>ziHB3@x9L^;*|TV z2>C!kF4O@C)a*dbs+Q_g4TxP4d)}E`spY~F!^Jj-eTScszTsze7%f=?%~3phfxYYZ zDWYKugRN`I6CJbXOx3e6%3A{{s6_NzzPXY_xh_`G6>fo%0BYrR7C6o{qS3xC!uIMO zMzVDYWoX_}IGV8V@@TIfoh@vw`A`Nbj-wTDl+3yc!cTW%W3j*xm{maJkU#LV`+`h? zN%_x@95X0*brP>BCRC`A97v*W)g`*h7p*LqAUe~+YedqIJ)#sp%%XC=-2&S^1B-J0wkw>4A#-oF2#O=6zv&at9L{bZX;kRs3-v3q{>Y zw@7HJ2>F``)zzBHNhl|pvSL8i&%Li$^OT>X4p>jw?eZEP#Ytfq4fu0(VjtM=33Sfv z0!q=-vL(^y`A>8YndZ22`uPd|03GpbkkJxD4O&b57HiAt!Z_8S*EMDRgO*qu!wO#k zV7`uTP|t}65BI*xU|jy@E;__w0-H)hX((zs`P)n-^>R?|gd=gi@cts=OHcH@If0wv zMfiUVq4t;XXsrRd$sV?*4aD=_$Qs$plFbT^Io<-Zu8{K=@;fwP%Nc0lexQMGfU%lW z<+h;Eh8%gc;Un<+^GvDpcI zBZkbyEBYKLY3F_=8^Rn*Ic02AqOaDA!#$JVzY2Dy0-$a@J@)>%W;vY@Qva!hzy4C`*x15T`O6vZ3gRZChXc#Zs!K_3dWdUz##%I*cn)g-J~Xt zgQ84xZhyPOLd0wyN88o-zD%@)VwSM$`+-o=kyBGlvt0&dOH*B%!CNXZS-EN)Reu#! z0*d@PsHzX7KCabL&$D5T<+FYu^yeesr?FC=N0Qla0!HbpLsn=I&$st_J{oxJf{M3v z!aKTi{L!0d`bBx!pF1w9Tlw{mky38@RlyI#*ch?#(G0{=;oF-g z6fJ^o&y+~at1blCFnMW+c9YA4&|t@LSEP=2WjOk8TpS8K=c;J#pz|U%;e?ynZD&HU z?wN|tkHS6oO1EqXy1I0ncf#VF&x}wTim;gHsdUE2w}@G0$_yLM29`#-KmenPT zv$q3(dhk>WySGjy2Tn0vjr(ITcsZdq)k5OmNq5&W$)_+5M00KX50;&dqett!`S z?L7Bj~u7l25=&u~bPoKS8cu zKyT4DFkJ(y(hV8QON@xh1utk;w*+*oR=zr>NTPL&tKfC|YSK5_#GuC?U?cc!>0V$` zCWw)bXOPq2zf+nhKi%xS1*cbcy3_u4Ur1f{oJ*Oc9omnUm9JI+Wf2KvK^dK<>ZM-f zYr!RJ1}+&hR$a+ka2r~+1Nz|c;~S3!DL+|BLhKclN&Zak&2?y6Ua9+R<^TG=D)&J@ zR!Ge*(d^lDxJ`IAcNg|3(FZFazdW@=e(A#W?w51R(RAq1-Vd%e7QZLvzVHd#&;P+MHw3y;xQFLIbKNo#Q~e@h#lUuy z`X2u3eIpj9ceoA1Mg*dQ2#wB*ZT|^tKNy*<#L!=o#G6utpAptvo7if3d5*EfM-J7u zijkF6Md9(t^PyiJNGkI~!6G@1L$7A0)^%PL&VfrE&8#h!*!&TVAAYjnQ6!Q#oL#Sr zCcZesWI=kZaI&s;%nM1!aa+m@eh&)>p6A0JyH@X4o+@sJNewzM^8?)bi03K308Kg}aB|uR{?FKamh;@EwE+b20oJEZ9J zKZ}-#in+-Gh6r|o1x!QY_+lTAaOc*piNbGCbPAQiDB_|xQj|6I_)8;0UwyOiL* zX_#{^w*_=kIVp@O+C;h-)*gjEW<=>2$dd31=zq49jk|WrSjgoX=&(u((AK+6Mlrcq zgbGx*N=IUnEP9jYwcv2oZ@-~GaE1ZhOQv7LftKI4=rbu-*h2VbtwnW~JF#YFir&F> z6;Rh8!_a)o*5~*V7pnrbco4J}*)QzvD}JroxUs?0sXfF1p2V0Wo{iG$tNY1Fh}`Uy zO@g3Gy?(Ijm3jY}Rd5r_9n*AP;MQlW@gCwJ|G0P^W?u%(f-#IvJtgS;=$^StIF{R( z7Y`;$PnBh5ahNvxtR`3w8yU-U`lz5sPcoc`(F3qeyD*B$^UL2OxyQTzd0$a@i5-56 zN63poV&klmPteYb#4iL;%Mr#%U~->7xbqJ@t!59X1GmO)FrflFiZl#Hwn-Wyc+pv@ zoVnI+DQd4VLZ?&GUzWv@?CNwv($uOw&CssZC~J#iDA1%Ngum)Y>v+SOdEw+A3e`(m z*{K$SO0=qj-Ig2xnIzl@!U!z|HkZ#3QS`sO6~7+hz)DV7Z#UyutTPh#9GPTiTOE*z zS)RCZwr_4B=SSv1R+Lrl%5R7|Lq6n&22MRFV;AMpB#_R%_pRur;^4JIR@tp~&U{uY zZaqY_3<8icR9rXT&$V?9jO1n=m*~JG=f+nuM3e0s8i`OGb4rvG+a9EF{q^2M+&&Y+@gmFv$+0R zDr+OhlAY&T9>ZSwD<6d5R{(oGmYOz+$WrSqO4bOMpl(T?=Qe^LAB;>SzB-(J>{(3% z#R|wbVo%E}=Y^}n3$M|i@QF-c8_jdvPgG)g>1AzTiXovon)GT;OSW|VHf37f`~m}3 zk^sW?0s=#6`>ZLx%C7K^!OyDz)&^Kv$U*vLBEj|4CFm&gEF@mHaWR!Zbl$r>LQ<7e zH`nOpaNVsJyenV1C7>V8c1h8gy0H|ZJ^>*`!P=5 z$4QP%wmsb(TIcc|Ef#51AVT$(<4>FPb;ZhVjpXAaM8~xf6{UKphesUh{|A<<&Fxq- zOt7_Vowj5_uaNp$jgOP{arloRwmt+q;X@AnBCgW}n_2YA05eHz7R;NYC$pk{x~4B4 zDGVtzL`c?8Cc1{%tU)z>%r7gJ9hH~3lr2_uB(v%*h9+O*1d3P@6r&ptK~vqd^4`Zf zvKiQ|^@4hd1i!~n zlr)SD;q*!VYjy+%X)S`vi z8sqbmW4NjpVWhx;Su`bQO&a(;5t1_P$=2*a5M_*jSTHbu>z;s1* zm}-0}v-7)+$If;it_!-U-92y6a~MH3Nn7J57Os;_27$%w{^S5HQ#ZQ^M1Ndy)@lfi zSFN%pSYzWvj2;8j`CvIOV}fMEweD{8b5auu6wWB&r{tvl;a<3n=U*Jjwfac}q`W@2 zajH<9_Ff!Q8~cxp3yQ~y`&9jalXymN7@Y|fiH77bTW5r_MF0Fq;1&p2o)+>BoCdl7NLvrxO*Q3*edA$!wAVX;-2D-E+?@&c?>HQLvCsz>vuaSAMqip zM4TMMUh-&{QUSojW*R>eGOBwq8X~xUTzT(+CauykSxOqB4fynF{qu{XnexXyy*r@! z(?Ig(heR^!j-Z~qtYNlf{{qw2qjju^4NQ7+Go!z&UYkd_pcRC7iDF>nGV@}MW()f3 ziZ&1W8kxgF!se=!EzDyo~!fH|LS;A=LkejSqleVR~)u1<35w z=P1}(T;AhSXH{$;1-$M(@FN478Gx?67nVhH7sVgm#UlMP2hbZ<{wuo+fg3LyEzgOH zy&=|DZx6E3fEDQIT0S|!dH*O{%zgh-HKS;GR8?+1b;yhd?g0oAfTXgwp^%|~1ED}= zWAyeGZJZNNzG>oZ6lXH`0rW=>HTZacUNp_|{K$htsrkTb5!+uY+4D6@>PVe&K!}p) zm-{r2v{=b!OF6iw7OXpCJ3?#xp7wPz%-f*^fYw~h{HfbZCu>R#uk(aso1U|Y zInYF{Gb3Y5eoQOA%S7;oYLwwsOb0Z|Zp)ZOQ@=2a=f(u0#UD0vn(a9DJ5K02#CIS| zS7O4!w4cI8m^d{iOicnX?rHlRs?MLB@6iamT{rcLmO@Y(C^`)BST(V44+x=+Y6Nb6!PThti5|*^&(8^=%(>gG>|bK5 zrQC;h$kQ0dbEH{Gm~W@9+>JNCaST~%KP!4a`_>g|;ITo17AHXAhFGCOvQRQ_EGgmL zoHauJyc;*uV|@GLbunyxl{=Z2*=CirOc4J;=>4Jc1!$U&yczw|Pc8(>QP+KNag@=_ zv|O}TtSqdhaA%6cAJ#M-Te8o$hWX;~h!{yP#~=|_3TSUpEhWha=c1)|Eu$=X=4g(kAO{Xwxf z^Bxs_G%Fo;gkcgp#oVl?6@J#K^oMzUTKbubQ91!?qzwFimwQ!QG)KAfj6(J|z;srq z&od}r4X+JZNjvs{`m^J>fqL%^X@BtzZhv5b%0*n!0KZt#g)OKQ{>yDcE(K$Q%j7cy zR!arltd5-UzRn{F@~_<`k)~Azv5_6XMYu$vE^A0$T>FjAwc6{tDFJiYe&>v&Y}nHa zUb3EmOdicUIVoAK=GZEbR~xK)Rd@&h_2|yJL_4&UN%yAt5ufwPvLI@>8bd53yVyt^ z^n>=-2dnW-s+yq*+Pk*7Sz|U7TYNpUNn>{`mhgn;DB}QT~e&ZzI+a zPH5;=yavXBc3ciHh`?VBp7}d@&gHbP>p!2tEhO>1X_kp)7ubD-ymqC?Gt6@IiXPXK4A$r@On21e*`eCo1QVb< z-nfNc!LGbe!5;kD5F1JXr94FZe(7Fi40WrR+dVt2hDJm6Z!-wd3`J&$pDhJx!dJKN z)(k@+KSLZm5dg%G{|PFWIpd>GiTwUHe3F{Rn#ng~Y}=MHcOUv?_AA52;Yta|bg8^> z17HL@WG*g8S|LDCWD)$m4bdwmSlepddA^J@T6Vf0B;XmQS8A()R2>s|$=mQv_C2&m z%9QhFiF=14szo1P*>37b`BKd7Q$@>J+Ios5;>bgw)U|n`j(Z!QY4p)>vl>O+s368& z=+1Uc16vEgN)DIehB0@v+a@f=b-yHXWE1J_>(+y_VKmDQNR@J##y>r4C94WPuMgIm zP6ccx0na*~fi1NM?L+^P@YCHhfY7w!&w8;AFM2kwaTv-X_WlI4&G^`sTXf>=K`J@= zz^l9bFWah4?5z=e%(Dbj!@!uDg% zyf-$=zjL%eT~ceFjZXCqGafsB`R!MF%Bn(~^jJ@d3+%z0yD0Z6r zDP2#QFV9UMufDRc=n)KfhK@SYrvi|pCUd>cZ3O0dK-CI%@--2+g%I&{mPW}4v`8k- z0!MaE;ZZYc|41~;)|&duUQI6{Sl4o2Gh92wDpM9-6eZv`VtyVbg2i=|xX*QX8A%O1 z^u&T{(l(lgeMCA??|qVsa;PYzn!WJjdi$F-DO@WItZ_$T&2hNTVZDl2YAkbMx6*ad z=ki^DEsb}P9W>~%XN#&#u^JM$8)P&F+w%;=QA;TdiX&f*fLhnseO~l70?YSr$o(Ur zQx}1jj<9dWcT{Kdj)#W6K+PA%O@f}Hs825~$7!Uqc8-eiYsoENa*$1F{?;dDl2C?5 zXQClQV45drd3=9i#|x~hwPf~0_OX=ES(~6Ws@s6Mi+Mkg`#2Llq;+9$*7%DQwJ02I zM!4<@{)`3%$i;@!m;8UylbvK$E9gqHV6sI1tI)h0s;p-ZGu%~V)k?%0Us*)kgcN~1muw-w(pu5ScdBKfiH1UseYyCO7yYSb(|se=1xtP1zU5fbIr1;g#J zO&w~t!NWG|%o=D3L3rHCDuxa7fhqg11rlr&h%j^Dr0yX^b$t}3SqgTp=hmap(?gBv zvLhf6lvn%6WkmBDDe(X_RUDY=h%~``;}5CiUYw2i><^V+y^eL9!ANWrN>W4U_Q|G`gdTkw9i+YBQxaj%Yo}*{EyRwLZDb+My|!p(v61Bj%0YQ!K)9|8DrlGu4nn_?Lpt-eqD|u(N-0!1;)Emj*BS zj*AtpEmuWx(f72I>ASHC4nQ##kf+T9_k}%6*BDo!CQ4k$Kt%l;Yt4t&p{;t{Zk(k; zrC`uFr2h1l!K>%3vGmvb@owg&J^Z{xOF1aGG{78$#mb<@sI+?czf6-GQR;67i5o(@ z8v(W703IVKZwvhf=;SH`Q-K%}i9+?lsE|EhPxadhJZi z6U`cl3ZEGY0`^oY;bj(=8M1w4lEk-PZTe8V5C&b9flJcjg2^mN<*!&X$^*m6Rl}m* z1dza}2a)mAA`W~VF?I$l7b}cCdWy$qx#Tk~vqCc*?d!M?#GG!)S~vPp2pEF%F@BMH-pS6%_eD~w0~Ckyq)N0t@Fz{<*GH( ze4?)For+f%flS=w?}THWSlGiToI4fy&~z|_%Iz)Fg?(AXQ<3bTnj*enPUS1`Hc^bv z-sP8T$-ViM5wrr8B#&LQvCqTn0aSe9o($uku9o0Ef-Y(2VFARZhS=mf%)-MtH^sGQ zpKG|TlDr{W8Q2j5^!z9teGXjgYt3G}-lW@(Ag<|UTgbS3txr-6Gy12W6o(WB=t*!6 z1L}0nib;j&pq^znatebSbn+jP$)bBvs4?q!^__28o|4Y9OcxB5cj&1TL*WwK2N{211x%#JxqC>FSQBwZuepLB)V_I>srY0L9x)9HSELg+3cz0h9axlIs8M74## zclq2qYg`e1e28*fjP^T3^P#@}lqB^T77*=B7demwuteF`=VGK1t;6`mDo>4n09rt$ zzp;QL5(|GE=wC5ui9vT38Gtp{9roK6FQ#$o`GCk@N0)}BTT9UnN*_w0;1J$+DlX#+ zw}#>yu$bRF0N%C>NDDpDfBf$i6`vtS(>UTRxq_XK=5@tHJ}#FXO+psX|Et2aC5&ak zr8c+X-e=%f&U-pFno>U6U2A;(_W1f{XujU@JfmXL1Yj!Yc8uEE%qDHt4`AgW>nsAc ze%jo--Z+hMhn7z|zB7PA8mzrJv1RR^erLX+fL@u6K=6ZZ_00~ui#}x2axuLe*K`K8 z2<6&O8nLjd?ph(lH^OV2IjXA`UH&h!=_*VbvCkKOfj$10lhVoDo|bpB+L-=NCebz- zrgPnu-7VUnj0Dx4Xp%C;D?ol2^Gq#T;Vu+<0hB6g)`re+f$`YbeMk{0sKE<8A8UBW z6caVWv{(I+G?u)}2A-V^s{}TqR{_Y7aZK6VhM2iN^3e!}uT(5FKLNvk+_qGVpgHEBAsK64) zX6j=Z5tg3>fdmGS=2LB4;GgAyHA2ArI32Ru$b3`sta$~m(R+1Lrut1MEz-~eC>}@` z0*zGgP5`4rVv~!-I=Q%2WZ-3~Fc0<=iFi>xpG{YH8>^mF?I61T*RNq(RIh%UmQy8v zxi7v{uYzck0DQ097SPo6hptU(&DyzhXp0``liAB903Hy)wL3?6N3PBrn^Sfhz_6kv zx7pAN)lTV>9Oe{|OgraPnu5*PrO#byqMn;r*(OWYAHw~JGX8s#_zZt`7GpsWGV5vK z!+-8T1eWGMD$(1Is(*oPKJzT71DIag<3%26P4o(wOFnlTjk7SFQ>X@ zU)LXpbmn#4ZC;T+88%gGf+Oppw?$PH?Rey|uwJ*J*W>f0MB+&o--Cb;CFO9Do8{;; z`S~?4mBs&$A2Q?V-l#Fd{+XojHPPnk_&{Nt;tX;ozfW-s*eBt37>BP|Z7r4t-o+C{f3PwK^P)J#|EJm2|#`0eU6DUzzGoC4=jey-l;NPB$6f_;i!2L(DgXy?UBnlg~+82NEu;N z8Pn_z#ql1i+<9Uk2JW*!$!p1v0j*uBW!gq7@PX4<9zF-LJ{m-R8@O5{go6+JZ@yFU z0=kuREmvm|cgr(}{h>cK>0ixgABE`cTjua`4~6y1MOPd z{eKUMq@XXgyh_~Y>0h&lvdv=^=me}5H14O|BU|0{ADu0Ck z{W^vz1cx+TA4Q9^&H~QC>LO*EAb*6TugcoF>W>Rs{I%;}Z{*uMO~XVwCK%XdVrCiU zhdBld{?;X9&SlNFFCW5(mA>^x*FLQRmC%77_7#$iX|MHI7A5Xm!+J?|M!G+#oawgQ z_ZrmH1iNA^iWG+5eSSuNae_Fh`X^JkiEve_&x~BoS`D7P zF5(I1nnPRy6wU$63!AaEKoI;&U|k^ZM0aHuHtEHkt7K+%l#?2_yZ@aJI{ywP4(Jc_ zHt6uw-p!%?LeRA?w$r04OBc8K&ZA^NP#pmR4<*vr@kyf{uH|gMbxKNWqEekdh(#{Q z1s@y_S9n4O#^BS3U$|hHQbWnaEE!49TKRZ6YMGZw5;f{i2~9JJdlZDveof_*NwKA zsuq{Y90tE%tnrVh^6+h^zY5ZhFi_phka*~GYZeYeo=Z!^wyS*|IBSa20dH6qvz32V zXFALq1%=9p#fgxBs$a_x(Uw{1>`V7`$51_vyOZcO%v?fznF@q=jqb0uJSU1!0+Z(! z)B#t)Cm)i{-s(A~N2$sNVhCdy+Kq`2!!cw_jictufAGeo`u)onv|-=%eYwj50d0rg zglD!I2TuCBYKk|0IHahzMt+?jAkED>JIt0+R8>jC!K1D#1)Df1?(X}A5EmO?E<6(0XEf6~Ht{s^`=2y)PpIUJvDfDSi>iiCD6-kn9&~TS2jf-S-22 z7K19-Of}*Ih4ZirUkGMd{#ZMi3IR7;1V%5Uuv#6UxuJprDskNCxpgh~k75;-#ejby zfFB&<&_af3B9Nqo1Ie@r;zL1R-!OwZW-FcDNIycA&3jzdgyTy@6h?3k-or>p`m6<& zt9GI^g~+X}e6v1c8XDEV>h^%#Ps%S=hxr*_?#ltQV~T)dz=pJ@Pplk|jLKnfP}9lK zJ(;507BWP#)^PUZytFhcG6btidyMPv@J@H9t$2^)xCH4V0LL9~YdUVBfg<0TQ zq>wA|YD@V*pPYSrPsU{=iw-KiJiP2U?fh zSKe=TF#>_5-`A6-%25&1$~jdk|8l93M}6LNU3_q`Cu$jKn^6rleu|Sr0Fn@(<9AXV zz5p7A;79ndp!_?kwhCG-7ShK9m)a1l)@M<>rh!IECwE8Nk%M@&^rktzQ6dxVh|4)~ z3ZazUR&fmqn^A7kAyY8$TmU2oYxJvs`}ItQd&me4)I+ju7_R&v30Xi<^rto3>ua#uk_(u&~*f7_yyz6y2&(oQ3 z<-aK-;XY;RAm|m-OzW6+%SmR%8MM?FjAvn5#`JEu5rwm-=+BUpsW4$Pdk*G&K4OT% z$Qupv*Wd?L4Ux--9q(wR=j$;P1)dm|gSx(0Hx#FV7q$vWW7JGlKbQYQ0~N40F(6t; zr)`YUyVel}mlFu;6=*bH;mfq*7D@|vhsvZlys<>!yi4GVok}S!0dun5;;eiE;MfoA z8eQ|7Hgr;H`aKT8HO(9b^Rc~IJTVt1yHH`?s1>0z1iPQzD~lbYj*H0;y^3rT^w5!e zIP9Rvi{ZUQt0)M!46V0@sfhdDi%W+=4=pQwn$p)aN5EepBh$e^oRt(&n?4SgSemv_8hEq$!63wa|LW5Sl}tLKg!JO)@hX5jRq`U`L1brJ zX}_f5Ry534@}DHir($^5e+vHs6o)r=(8^I{spo?#r79YcKs;)JL*6t8=&1)Kb=}-zqHXs>q&n;5}66 zS2D#iG?@XWK8;VSC zJ+gHi(j)Kjq%DinsNzW5jRUs#UOsPdWitu;CndjnT4_6kTpRT%qp4w?aM*LZzj054 z*fpb5$LSNKyw7SuU}&)WPe^ZJXsz)hLUA9R#CX>6`X7GiSO4q&fl19O)1|D6Ch-1x>!}sVa^rL+Oef+j*=t6xchZ4tr$u4j6R=7P~SS3})Y5H5r zTV7&`Nc1x9-V2xADIK$tBH|9e><6|@Ow zae02apdwRVbSH6&L6>lG#+jL{U|aQuudWH3ab9559YLlx;H~fxCbWI!pgn)xuhjZ;>^fi|u(5$ZHSADXyB857rm;WW2%7W)z!!0`QOZrR zKHb@Wcy1Q3iqv%=jGZJ|tv|ud9*dc-MPhHI`N|LbAhV$JZn|cVWawGaIX{mOwTdo= z$w@0i`B3*@VKcqif`e<8pGM#v^h^&GchcME(g=SE{Ti&@k*SU*bv9#;(ClHSW2Jcl z;crkbv~=bkW!kNqDo@~8cqQh86ur&ZdTfZuAxqWtNr_A!AyE;JqqBJV*Y-%z3M1Z# zyrF4uAo`~4Po0AKBl&EAN7?_2T@JQ6%UBtdb&E9L1TZOWCyMa`Yqif0SV$ZjK(N#r zS4jElD-I=Ai%hFQkcbnpX$PKtV2fSD6u_k32_4rWmX}chD*dOd>r%b_&hQwfriP-6 zV?T&Fc9#s>wSeCj%o|WFQb_gjWf!&1pI3PFOzQY2p86iwZ;)vm)x{fPp3WZ`WU@^Y zt2Z7*PawywdMe8!E?^<5{5U}56}(?6K;HxWnB0|@7U=7Gvs$Y& z*k+b)N;UzS85>T!a=?*N8_Fk~LTDz4I1~$hu}`i<@GLO(3qF+}Y(%2T<|SOH|9fLn zik@dEg4VMMM;QpSn;&=$oteKi|ESRuAcl6fq=TsMb*#VDqSh>J`?yU2%z^vFfkgQ4Xu|x|Df1oJ_%FauGO5#`9;s zCh^$P6J&BmrC|85&Bv70Vn_1uy@T4W#M%-6)m zA^-9Iy<{SK59YgMDPK__m=x?0s7bd7Bv8@CMJw?(v4<83zosRJZ8xTl--S$sP&KMi zJe)r^fU;((%SU*)s2+yIEI}0$GWmP|kzg`wcb^RhX8~T9d{M(MsTsAwA~y@O6WBwY zpRXD)^j2A_ge=XD`X5XV1QiW5BD6eP)q$bN=Qp`jrkh|!-o`0O5A3?0{L^svP&N#_ z{?HDHCpNzA^-Q(?=QWhT90~_D$6V)}t994$BLqUxVKs&6{&$ihq=>Zd$y;+0{d%TS zj%kFNI#J^=A5u}baTrGI+uyV}3hx$BmrJaSGiJ@r9UetHMwQ6A!>6@JA`4ruyH7>( zbpYfb2IR>}^BVH8pJ4&%Z0>)20>UW*Q>WPYWOqz|_SjbG^Iv|qD(q*L)${j$N{WnB zjPiul`MJ>hORPU>d!+#7M6KCZa+`|rPiC`QoXQPv&_C>&v7{arNIOz>i<6sK;!^i+ zMBagDV7|AP0a(+EuJYb)F}mW%q?4Df{@2(w=w0?k+^ptCVc{o|?gy63Pkr$n4$G}n zlno;H3eFEZAe^X#mV}_j4nw-7G_X`LMs@ZMCq`3CIzj$(4mKG;w^=pDMRVB5Z8b6g z{q|4yPzXnYy%TuO{NJ1wd^AFw{m0)IAo+fyyHbI(4 zlhMoJL7CF**(B*S%{xw{fXW*KQ-KhwkAWifC!jm!bjF`D;7|J%dZoaw6`uup+u^td z{~YWDmis@k&jIoe1Do5n2>moG+oTdg?9!g<@@i^(cVYtn=XE??Sy57X)QS>jJ8M|6 z;TatQDaPFvxYD{QIE*G)`N9LG&#dtCXL)CH^p4Y$bT0+0CCPEliNOq)y1bk7izu{8 z2BOUZglzkKNlJiakBj+&GJ>YwdVW;NB7bzU75{b)_#mEiU-as!w+fvyh!vw{PdbRi zc+kSM(y&l){>ReN+XM*Q-5Tp$ie^hSD={R$3l75@owZF(Go_Ja17nvlTB zb3w$n7JjL_MVPu{-hV1J0i(B&dF9RS_EJzMyvYbo_WBG?F3`sK|m`iZ;}aTge$XR z=KiBW$4h6H>|S-n{KIXBqsQJN^9% z^a{9YMPkf?a3o=IjVzsHV1el%L;pmfp2K8VX;WA-3ea}_c`Dw2{7+F?Tj zb3Ntk7(h;>)DPjkIhfeSfM@x0b;P_fTYuI-mdqqK5AlaSYDt>!t@DFu!9X$u>?zXq zMW#SWN&XGB0HL>e6A;?W@y=3hiXqG^NyP-4cLc)p{j@g-GJO%!$L-)Omq0eia~&3PWapl zPhMzF1I|vEC0X@%10RKnBnSE7^N3BKn?oMJLI$UfJeZ`L6h^hN@1!Hh8=>j}B<_pAO^ySPMmnibJLx zxt(38_K{P2V_G*@bi+QR0|MBpGnD(~41S~+Q0qN)(Q2{TGsIrf*OO=k)SU{} zdLx|$rZmRY&r1bWH@PZ1x>ngut2DVKNg8Z}RTRbNjr$!bQpEd47BT0F)6)br!$2WQ z111Dj7)m(cc=%uRg!I-YLuKvp-ly38)G&pUD1_q1DRBhQ)Q>uol3`df!qVe1+yq=YtgREt{~ksFu`PW*M7-I{Kr8g__-}WB)PXK$v(`qTXTPETf^ZJcsAzd`%GARTS2ne3FIa9*(?I6~j1vYGD&|hl{F-Bl=(D=y-L?oRU7ZJ6Y?)4N5}g$e`2q z08P3Ftc4zHCSrNyOxGj`nI+P;_4B~&2*hu5Bgwu{_h0uK&tOqZqBZuiGkum#8 z;t4N!t5q#ev~95x{y7@Z@SxOB_RV-0MS<{{DQJN5xTD>a=|Xw@7O{PTkYx_Sc5SE| za#Q5rr^DZp>j|2+%EAi~T+D)3Z9ILf-xNqaYJ*lge9nrmM9z`a`!DE?HF|&j&pjI9 zQR*Wi-I{LYl@0u|IdVlzbc-*zSC=z}GVP#Jla_`Z=HQWogjp5*fTII{O(1n|fBrXw zT1MF3)7)BsrI6SLGVo{Fb|sHj*&0!Ih2O$F!;m#A`w_B-BB*2?RUPo|xpmB3q|Q^U zUqor=hb_!7S-hD>!>AwZbDUuGS}wJ-#j=Ls&+;o64R7$}yi*M5mN4u>hvXsS58uZo z&lhrGqp^1O;1-d{+W=bA0DJq&*D-FJNC!(J&q%`62+y-8x%8jN zi$6CIu#%x@n-QHWQTk^(r>SqH$4o=cI#V=DKsR* zJQT?+xl8P)Y`la&L=Qc~AoNjEQP$w2;_ZMhUa4M^{A%Aq0O=ZnTs(^6ri3n_KyrP? zjkZs##P#vXYPVlmELWo6Gwy34J=e<&Pq+z>Hb9lQpXA~L3pS!B-OHjM8*rPdw)~4e z67F+1G3uW{Y(ZNWrH0OQX)?pk{xnEPE^-@~GX2@TNu$k5#N6%$kl05PNPiGIo>Z=w z?*$w?EL+3Is>Dh;xNg}w@=&&}uw)4Bn&R?(ZP**oRn3}(1z*t)VDS9+Fh$vP(#D}s z_z=CI05<7+i(sP8LAz|+FFA~gHb8Fdd2dNoI>BNq1M&67-&Zl^A>0^UY)fm#a*3V$ zbN+t`W`95Y0TdqE+JPjv%c1XGNqwI-bA6^rE7n}mdel>vE{riG*X`<&QTMo?5(j(h znl{K5HyM`v1HL;8VMF$k5qv#i@NYG@(&NAOHa>+je7Q^>f(H$oO?uLe(_aIwD-}&! zsh(4s%T+<)Qhi^~Xkvdrco|VUv+{K51E^6S)sB>4*siQrNEY`#2?4j}pY)KnlRS+} zr>TM*FQp#{gLo<0-r;A92CjRwa~eXV?$lqB1|=k$*RQ4h_!}z){$9CWC3FuT65cJ> z046GWcMti4^90oSV7rndkRO=P5rZV_Za@>G2Li;F7;}8F`4lB^KNxSwF|X65^V9=4 ziB{vi3Id@3@@Xpo<=lfkpNP^7Ko@Hb`y1Q$l{b2mbEL4*q(P9Y?md!WS%7M!VuCNz ze=nCLrG?l#9kVPvBUpn!tplOO`Rp2GP2;4z*?mS70pXBn1)6~Yt3*CiY*DP(W)#p- zSXy3}lHT35t`j1~eDwU#G@ftFiOUm*%JTb5HE0I@EdEu_!e9gI1t{qDir%pX`;gAy zP191wJld-ChOH%h++f8F=0hRG*ypY=;wdS3s-1MlcZDv~vPXtV=%dPaiwMh}S~74> zlL5gcW{$;Hm4O)2yu=F))sEZZFI~?N%+l?am8eM^oWz5JItw72Zy4-9!+iWIC@nz% z$1dr5{o>Mv{wJb&{&XxOOeZwq7WE11PF_nO0B|Im6<#{WC>wDl<&rhFNIpmYoF3YJ zZ!;FT{6FP;4yTol@L%GI{JlW!SBI?X^~SeJN+};lM@rL}+~7NX_-f1%>X6+`he1Ro zDzd`w#y{Ce9kz&!Fuvz?%s^AGh-^(X{U#`&aO&5Imz^6?ha|$T?t3qV1(i6q8xq|b zJYC_(zb;7rzi7xLoQ$8fASCJmiV~q}fu$qxodAgrI;ES1|Ax>_s4V5{j5cE)3~(;4 zq+S~}X>@im)&m+*)pEd<3%ln>1bRKSniJ@ttDyXR+;f;Iv13`R?A3DLsQKlZrAuH2 z$WoKkIJBv$jp!qwQdV=PjXv{^AEdZsD&l0Ctr&1xOfge<@wS7o$l=$Ra`qJ#Kk>rW zcigV8&)>Os!bScSTbvjMRns3SGLbJIa!Q}IkQ%jfz1L8PiJcFg5vkYK#TDdjZOVzFD5bJc1Rz<);*hpsdT4E?h%qj%m~^vs$d1a#WMlm+C#iQ z@V~&B*-5dlhh!pQE!PqTuk#QiWu&x4lamzmGRX6#MfrOUa~s3W+YatsKeX{aD^4TJ zCJsV>STMxJIL;EBRKfNl1Br#+uC3Q0D;!dw16#nyhPc&;X)|;Q*_P3?c{j+s#bv;~ zP|&o(U$|BWZu~jM#OwkOw87*Jp&4$1ggAJ4sSbvmEF;zCe8zfx_S|_^z_Jz|>JY&M zX1GiCf(;ZN^Mk$2XKMrl#i*_b!e=75+)#u~)R+ISkxPL#hJ3X2ONJ{|(RVUh=Q&tr z;gPcx>P_CYzI|9k&?hB>#RkMdm#pvzWYX>QL}ZjOUTQ?dBawP&wee8(f#-GBA%Twi zbOblb)OR6pEIeWZMMz*HdGuq9YXDjO3IK=RueF~)!{PkL#T~n_QdEu;`Q-|NJkfM% zrE-4Xb_aUTJy#-s_zcvF@NyN6GXyUyW#%ScDz*KP*9j2In3{VL!O`PmaoaxJTIVW+ zrM}isxzc>-J{37Ae9`PNhlZyutbC|Ta#_C2J2I>XQ}>Y)Zcyz2SiS8ZU}=3PY)}kj zf-;MuU#C;HDhL}ws|E<;AN2PEBCmOhoRNn49lC-COXB@V)Lr_amn%O~@jI8tOyPtU z(rH&nl6>oO67wdD{gs?z65D3u-2J1JCvr!#pyG(Jgv#2FcyB7ymtso4p>iPHHNDY% zN3SP2$b<#k#*HALY@^jve#%u(42$*0=TCUbdla{fmeJkmSM5BVyZj{vdf4R{-?lL2v1;+@HaYA9(CA-c_p?wr>VWD(gew9l75j!_zG=W-X5RK>pPyJ&txttMHFFUOD@;l!Llkm6CU~n25yzNlydnifCnXwoRWB zfyV{a*UZ4cNbK*xSHq^EKFjNeEVx@<-dzEKUqdrKa-_pga*6$-^|2a(E2tew--Tgh zb{yMvEf=o44eEO6ImHg)I9cNzQ_K#w@45Mh-&Owei+2H6(AFhK^69Xq>A*P;%?-tU zVr=lNrEmX9tR5`7pK=!XbpK|bU2njI0rw#pM`3W~w~T`XW|V(d9DLiuto0b|^=#VVfZ;mr0mM!*N&AT=rodGX zEB_Twjs$*g=f#YHgKrYA{B73kksKA@`JbIk+L>aKT^Tw6JFExjx*L*ZKYVTtc%*4w zD-Wt(0MwN=c)~1{n(Ct&yRr2jKF9rI7ig6oUv%SkN|fHmw)UjAR+K7j>13J|9m0n4 z(Qs+4TDOX1tQnvV6BH;M`-v8P%*`?flr&9^Q4tXf!;YAa^shZtO0MYl(+4;ya}&J) zyx&1*n?xwg(0ec>y!l&M8#~9hC#!g)MJ`$?Zc6vO?mt$xm@sLw28;ykh9w3x+e^Ma zR$jxbx6vE~Nl8@35E@3dw~Fp>l;LQOhVDu4fV&p}v2h+wtVl+1DZJ{MHP@V3V7vh- z#)ql0WVfE^jl?=<@ALydiZ4`VM>FBqb0cFE#ZR*0n_XmOj}y3*QgA+Ak_7m&D6Yi3$m{Osf8v{)-A^X!fq>O(n{yD07m1j+qDBM*I8xzYhxP z^Nop@W8X^ogG~)!l%~hZKhlIm2k8BY9<|4$7h(lp+%@fkAip{A4WH*rAK`zQTibD#pl1LDc{Gz2%` zzSr`-)^Cg92ktDoUT;JM_H_m}#~1W~6Zf_k$B$;k$v`BU8Wv%AX9o{RXnm*(SqVbF zUb4<)!(~M!)YVwsHr!a_M!V^#5Hcf?hO7#fwjP03s3!DrC-z~;hY^$RYg*sne3d!n zy`O2Psr||Sg(7k~0_!a_WT+uS<^zHU+C12ZpHQ5^Cr9k&JLdS<2~ob*OkqobVM&;X zuMoq=aE|dqjT$gk={VQ&P}y@ z%o!tbKiR2F<)vt%8xG)dZ(kQ*Jwi8#kxneU0MD3?Izt}^t4~=WD40HHK2rA75)B1* z>xg6tfeQ2payjj7%KBZ)gB(DYYszB&T*`-j-*$q2mhto8SOihra!r#DK5KxIU7$_S5?Va%JPR3l! zbkI}FSdhX6$%%2e_*NVrQA7Q&biO zazcX9opT0!UyoDe2||=flIWmM7E2_0kmot?WZx zyps}?mJKUSsp)l`HxYCZBRl!S^p17I`pRc~WTr?k|Ml`ABtS3ZDz-$Je;|KjM>kQ4 z{gjOjT+;~R1)M(@%-WK6uYBnIHs*>vYGG@?}r-sKT&zH zv^N`OpnaGS2i$dxvD~tVkKoz-@(V8IGwpb;EmWu7>?{u|hvRmqke9YLPleHK80X~u zJv?p7rUzHJ(^j4F4oleViV`bKi`&mPLdO`qog~Y=T=03>eHsDAJri_=LetFNG2#CQ zUrUC)%tPy$YS^{t1GZmRB?)Yr;%rfs;s~KXBHkee89Zmk!)`I4=N+pxexnZkcss?8 zOPc!NJFi08k?c4R%G&#=ehRr~Y7CF@QE+h3DEFj1qM`<|fVEIt+|hgYG+! zJsRbegMGp(vte%c4$wDAabKIdhPS&C*NAW$Tm`@ z6`s}%o>YUo4&kSJ)dmivL&o41vvYN9+s*BjGs!vJaVqiaq2u>)@<$bAi~fEOWXe>V?P`@NZ& zu3IQpja!7QD4w^lq$0yu4T4wJ#xVT*@q1J^U~ z8PGjCry7UDh~6V#w>PZ$slE@SGo&uY5E4ar=-o<^mz{X_gJBocEp5c?z=(7{Lbt27 zOe6B+dbreP8#!v%M-&L03s{WLS!F^sU07phy%(MZ0k4)l0qCS{xw<{RUU z^tOZQ+#=Ztel@~Sa@nQNFvRGB3TWF)uop#?U%l|%3K6^}K}HF&yKx)d;;Oq>F58-a zN_HrJsnXl#-e*PO!jb}5SKa93#$;cCi13Y?-1TJRXV$>_38Xy+|@k-Hc~ic z5Z96Y5%&kgh~{t%CGUsrPa$e{Fq*3*D@9RhViUL2I4^Y5|1?{~v7c-Y_`|UdIh7G5 z9NbpuaMP5e0jg#j_E;Ga88jhlM7DjPqLReDTE$FD=F4N1`hvrTTZC!i)EuwBuBF*( zN@=l|R@b8-7FB%JZn|_gts^Lk_^Lr+9e>i-=NgeymC`F!s?irJJT{AOrH0?G%rQ=+ z22vYW<3R3v2V9oUi}dmz`_EsW7IavYJ#?+ar;<@YoVX37b$XkfEis_<|MdsG&QKP# z2)y0CKuO&FP9F3RO&^p+jsG#+o#XU`wAvj5Z98GczG}8tr6|S954nboe!K zrC=GFwlP}1rk`I$y^4DrpZfad-F@SKIuVIuff*426pKLy28|v=PPiLP_03pL(aDH^ za6tF~XL93v7u3~fzD}d%?JFi##=3CzRL4e^g-S`%y$EC&`K$x-at@JtZgkI$&D7BR zZq18uCZR<>?^>PCyl+9b3UOu7D*$vbCxuh5=;P)>$i~soiP(`j(#nUa)?;+>E{T+R zL&9S7=Qr(L_?2vAs^(&sAd?*1bvC_voQC5^;NxHg5CzKq7Mh z{&D19&T@CCpB5lTgy@FxzNhq@HABA{1stY)-axt)9tw@O3Ugb+bSoJUFDb3WXQKx8 zVlA><2A*oaDgf;)t7g1g^JQxbIaI)SlKX+RLR?aI#ORlw+JR_pc)H)TW1V&w0!TO% zsFfvDm=L>!mxsC}dKCdCE|xVtf=FD6`x&U&wxxYZam~)%SWRJjL(7Yaw8d=z{eRe; zlDRlI)dp5Q{hS2Z$4j=kPWw`=5wh?95;_0Gqw%7NJMJlFd7=$3wqEkvt3l3cY4z| zQ|It1AWpH~uN4jO)Z`m|9cC{1Bn{($ruRY%vPV-eiMaROhAbDj?f>;6!y2 z-8OYkw<(@1Gf8?!H8uljBhcsQL~~eW$6M3NV2h<7W? zR4Re+NG1l9#A}r%0F{zLT}kFUB(uN!_+fdG&LKPL)L!eCXb5)&}XIL~XL z)^uK2F-9_Vqr#Y$_rkz5rdMee#$_MIkVLX>!Av_`;EQa`;lGdN5_Edal%Xr=M&usiZml6A0C4V#u%_yo$T_xr{TL@C7{z@lK3 zoLT>BOGO~O6){CoY=gm%gaP`UP3u_~-~@l`Phd50c0!TsG|QZq~nuH{wG_?RmgoS*XRC?)=X<*%&dk0p8j`SJn1kr9V;zaSZK z71o_nLeyNDB+W?$tJ=1IL5<8zxm>_!q+BO{|AL)~F7?rRh*>6PTjyZ9L)^jieHVYo z`f(BB@{LYFD`TSKi2W341DYC13Fz2@u%P~;x3;XivSBL}1z=T;U?4?Z1=ewc(xTRd zLKy{n3|$1RqK-rR%~!J?5>7d-@XcvIk*toIs*Hw9?z%$&q8e^=(7uq%Xfwa;wCkqQ&=U9nI%}{}tCrU2?|wfli`yBUGIsolq!z7Q zvylO3_cd{G@hafT);_(DepJt84+MZZ%lJqb`GRU!X2jyHl9+d?ym2hAWSC_3XB9Zv z&G?2^=j^FRuHfuHhu4xh7+23;K4D2DK8*|?utV-)&A+YKv4r)Z$4?gei2d6#oLC^0 zy04QeQO=t~Ex6$aVqjlQDBYQQK|5urT8f>WC$gh-Ew_d+3Uk<)YO>yh1ieyv)ETGn z(|ga*{Dg;?k&?cKk|6~CXi{o#-v}-=*AEZxW;))PE1y0P_)-VMf@Ctr?lSI?-#GIn zP{WwYWxsCK?PYa}c3G5dV0)srJPM`RO*kLX=N+tYD4s;_y#k!1M!5n*FAm$omWVS1 zv(ZBa+Ar1Y2ltI7{EtUEgWVM3Nvf=}KpG%U`=y!YxliSwA*7}ioxdNKyypHa%_tEd z8zUkVd1PvQF9bL8t@>?xs-D9 zTYIV_lP*JH3hUw;6JQM(YI~-Kokn4X!ze%CQTFKEh6$By zA~y1gyE^U;2%W|yb|R%(<3JtMtC$4CM0p}0fqed$9iW=!Wa>fOoA5AU7xfFs zparQJ7F?Kr4b80rpLS(3LX_?2D$W$_(I%8h7CTFS8VOQ+u2iB6fm`FNEo#s=xgk{u zc%$4`u7DE1qRY!%`^6p_^&I~HMzlalQZ_)UAzyv?ubYL`i83(u`x(OGPkq3={(ifB z*c4YIuepg>Th}R-!G=*?9rVfM!zSS zdmvL-jaL{HJ37Smh%xJLvNmbgbk-{j>@nCko5!WXz?o7~&8|zXkl>+!+#!AjmESmuYB`bi+tMnO@0mZC{ZRBgWdI?4 zOFo?GdKbW{T`8Ce|58pD?MW-HE3hJM?o3tHVc}MZJQ5dQ-aW`WuD2~R9=EPmVDi)O z0q2daBF?*JfAfvsfO^S|XZ7B1Rcx0F7oj>2{dh5Zw~LzMbP}i&rEb6aO^(Ub?EVVRhDc;G*-Z!#NN3B31m6{-X2!NxvmVsC zGn#={)cFY5M0)*~m(o`Cfd}~Q)cU%SI#trJP?unueo&xO&CRnTm2FlE%)PD@*^bHB(B&W zI9Nfmg`tqK+e>lP3s~Z7Zcv!<+KE3mM*5=VPW)p2`CgLB?#%A@q>4H^0iGiRQv&^j z26KBHS+&Z;!76QYHIWBYmL(5kXwV(5Ln%b}v%0m5qeCHY;n@y}*} zWG9cA9Yfe7gy~C!GQ4b0(pz7jjO#WWGAsM6CabM=6f9D0a61k%A>CZ~_6(45DZ!1b zwRh^nLm1h{C=7Wyv5#x3|AbAm%?1up06<$q^urE(8(k*zh@QuHpGtwo>gSVDMu<(qNhWR9H80a$FmF=9fyqfAzQN7zM6B_Oy>>r#)<^gE}th>-_a@O}RiH7saCreE`-Av(<*JK2qON4cL?)dI4brOdLZ?#2cQT=XUH~I9tN@&i z@v1+XL9A=i33wA|8$VwG z_c!k;no9;1*9zWT9*oO(D~?Niiz*wMSDP}8E#$a}Vp{pNP9|ktGb7@}s1B&8i0-3u zZBDEQD!fTMUmwG-*pVm&8A%pwinXytLM`oF^;?WB z02*)(U=-2w085*W5~iOb%JxavtJgHrfQlPjMr4*aMw~*5gNx6$r2Q5;gO{9O?J4Y- z4RYJwSy+Y>OyC>Smrr8@ntsXdJH5rwCpN6za6?e|mI%h3hTo#8C-Z0vbCy7~+&zob zq<%qME9cE7SZ)iZ?GNT2V+xutD%eDiMn>+f#C~el;yDAZeGlPKmj3%mEr#ERN@q%7rOWd5qshJlbP7naUMdVFZ8vEo@95j-0JRHsbVveqzAid!kT1$^ktv zPZq4#FZ*1}hp2D0zX1;vX`gUAvi49|7Sc!0$kjeIGvnseQW=^d5>T{N(^pQjORgea zk)w<*205Pz*y$4vl1pW<+FwF&*tIAqYcjgGq{;Ykl-w1R`}?;d^pA}tG?Z9fvLddo zExBmxuS3Ul*^G3~NG&xH2#HkY2p5%ZX;ht_l=^0S66EpCw`p zX5e-Lp$b`^yHpX@)}L-dr08Hag<538j6UpskC?-c9Ng(OP@60}5{sIp$BkMm`*-%~ z6>9&G?<5X5#^mFjeE{}y7i(LUl#-qaajhh`34PWY=yP}h2SJ?3SGh%%S^F-l*h%X1 zxNEU@%~v~qRda%q{n=yv*; zpDA-RNyVQBj?DJc3zTsserq)2F$Y^RU8m|weMK+rY;io+HLDA$ZXal zE&nJ2H7QRhD^rmN1{JC|g>9$7`9oQFw(a8_#5dUfXpK=&1vZ#ca29PV2 z)?ccpTtO*45#~C3_e-v+q1b&xOo7y5^HJQClP8*axP^xt!G*F{#F?zuCfc8eMnx^p zyeZP1WbDgkpY#rfL6S02?3sFA5?9>%e}+~VA@Y2*eGhh1!W;#7BR6pPWp<%nV?>dV zY}B{+8zzCWh`SNRAq6mlge8ui5^Kw439z_2sy(X;bAPDa?ht9Fs?~x~7_>h({r=+uYM96{xmE02*-18Jut+veORF zunJ%MB1pGIHEXb7PA^pn&s`k`0(?R?qubHSlu)-e^2#@`Q{?n$zMUx=IXPL3X?VZk zi0Eosb#_JcibFqq*l_VR1x7@7wr0~`PiFA>8$Q|T_pZ^~yv}b|*d-PKJwU?0_ZCke z_h>LTt@Nm8f?Un9XsWW}+{U%PGb|t2PafASYTF&q!BEEGCTz3Kfc^(d`5uIhTqfZzH(c*TUYiAbg84FxorKQ8r4F#|z8MF#Lv29(YBKOx< zKcn!8!-DV;eupFaj+=Kx$Zafm-^T z1*xe|m$*U4hkPWW6pG)P8K}iF;&(B;@bLiOd>#8ja@RYSXW;#3rSGgN)L0eNy!Pj& zuf}+}YX)u5Jd7nYvVnZ;FYLN6&N8R$g8o6Kz+c6qMxj$-{9n8)6&CrNd(mTCyl|py z4E^VJ{-e&w7r=zoqqTfuxPz%`KY~4&mRx;ZuQW^+*!?9V5jOFTlD;@gG$*6-mAKs$ zbS6t{MLQm9DBg!Zg*u-OH|X{1T%^5{73rffz?!;60dRQ#tvH(2>&ELa7{`9CejXu=Xfp`lt0K)1^n*`i^-b9M-7RZy;9=!{%@H zO1ga^>Zp4FAD5bTR=z_ST6q0cg=i63d_e19hYCQe0z)xNYlH*0O6(~S2SjMl`}ne+ z?JP$^={kqM0n)&>5pOPibZKX=zy9I2W9Gy0`nf&m2!oH@L3^bC*_|+2>Obk|Z!shD zL$z&o91xf4v?YN7V4`*GneAlrrXiOtY5?C%9A0V#JjWaCMS1>Vht}Rn=>Bq-sW&79 zZn^K8=XPIuO5!}RlnYY1hSpj%Kul@n@9hUDWJ*N^jXameE7^?Eqs8z#+uh4s|yl@Rqg|~w;=4AYv%9Z`-Q77*Dqsi5^gy!&! zKg4Ar!bx{PJJ#ihe6n?jWM+lz9!1r9Q7h{%0+9r3H42h6%|r%}&FTbr(_D3TR)l=0 z9}PZrn~-gdLdY#!XV^uanUJxUPkFjl$bBZz#->H?Y>$R^-<&JOD#M8R-@=HizYKBNajchj=5!PcRP(wqA?Ayv%Zrvm8ZwRi=Xzn|YbsVl(0m|_1xoNI=D5VsA z8_@4-)kVC#BeqmOjgYkD+ z7_e;TP6ohLi(ZbMb&(C){~)dVLvGpua&dLjSl(P1ri~6ZF$RbY+_*KJ@qxy{GaT_l zUXVAbvFKaka`Q=hXu|K4&6zOo7CG;Cx9ED0UC?y6%|{Sz zA_-*4h)`l!6zMyc)J%?OH9525fSR%DefTH@(aS*{cE~?+&me%m8rtjF8^Sp<)t0|E zti%){H`vlM9^H~0p211%42;*Chq(hSHTpB?R=)a9U@_us2%R^(8@x*hy(jO;c_A$9U~yFlJNs|6KPCWk zeP(uX>qYwBhK6Suq0fA1Jut8)9{L^;@{x4%WoWnypDf0Dwjg+*yy1X#2k$mp*1Ga& zNHPf|^iC8|HaCus)v5rT2$J~mnkrjPG zGLhGe2@(RWR3NU}4^7WTcZ+ok-l_Sn2=)-Xlzks^nz9c#BZRy=6ux)1jp9X# zYY{ZvlN(mfzK>{G?IR%js4d1DUgjU>w2P1CEWy8XAjOITlrPF(hjZCoLrc=&*d@1)<}&!g^z+uh7MLlzxYkZGXBZh8jVX(xU3(BB?gwyN~gBAmhDnjx%X zlLV6Wr~s}I`3O-fjxD+Py{YzX6EqQj<&jWBGzpQbRm~}+s-YfKCinf#O=4NNS_LGF ziJ9HNP@|eGIQedn3s-g-F@Zd^O25mTukI#pq&~=U$1STzb+Cp1t}jwLx?gNu$gx+G z&sJ@bm)|7{Scs|}vMK$ZOvt|TN78aGumO_D0cGz{#yczTxN_9PXbsfDBf8o;n#%0~ zpOfLpTlL*be#(AaUPy!;usMe(VAC#QYZyzq=<-R8{AWk(eAuKSn%N!@ujKfXer$^; zUMJt8Y#0)p^k$sfvTclNBY&_&P*(!7fJl5}Q4t&}x*OOF@w}lDGN}GgqT~h#^)O1# z0)RRUBdR!x(;&Ca(28u@S2O~eCW0+xDwT5bHR%tJqRQGt8M}@hfD%EHZZBS+2pY~_ zH`ehhhSY***)h3gJ&0^MyNTS(lhavTCbw|F0K08}FhP_bu|k^q&=?Rk?g+SaFIBNg z+y5lpoPp~d`(WmBBiVs*)!E#_iz_P!9P~X3)c30okYFf z7(2NZsE|3YI6%E~E!-Ooxiq0gP`K1yy9Gr$e&eZUFz$TPx@RTI3HGzGJ6 z$H&d}4n9Ci(8~GyS=OY?kQNI=BdAU0_qmLRrK5iU440=vt}OsChB-4Gzahm@vbXqt zj-N$}oGPAfqvRcAT37b3L!}wLd6IUQo*tNvkn^^SlfHGt=flYAg_fkCZvU5E@x4yT zWmcXtN>>|piSkTP9q#~H_71y!K=Y|O57ty?+z^dR-}%zjGECGQ)VHM&CJn4O!P_}` z@uCYD3d#cBxzoPU1w*n!_=uDdAJZ$oSt=11I`U5Wd$X#6EOs|2Q~M)#-AKYv9z|85 zI%E1T`Q|ES)jlN;-{J2@7jX%HoH-@IpJ3Kho(@WW(n8w;`*ZuW9JT;r!6fF2er1y)XmV-wZ>N z)#;kV{^&Wi&<8!|6cch=R#496JPb)KOMGyd#Im-Q&sDCQta$jmI?xZ%Ag76`X$Fhi z@}l-QeM2e^)$@QUnw-^j)+4e~CTigTfS@Ht9+P`g7)+s^y*sT=yrX8k)(a-YVRu{M#S?815*nHi4*$3mE$IsU zjgOXr>zS$~C(FEd1zK8D)7;Z!ukjN@xRErH|Jxrz#!Q!g6%r0P>+Austnu19pHMSM zCc$fNaxd1?th{?f&{)m>uw2-?@FxhzVsqh8!d5`BrD=wyi5}S7H}A6htXw3gg06S_ zJ{=bSms7$GOBZ8jy>jX(pzgJQVeIxZAcxT|MmA-F7aA86EMj$6Ak`>sY|qP$wp0+t z;ky?Y7%1HnSs6H(h#VT!A2%65%xQM= zpUC8Mwb&(!PI!QXN#!#H4Jz%EAzatHs*x3=hLv1z8UrukhQfo){+C?aVFCxW4QY|x zctNM~FGyieXJ2DUuHop_ke7u%P@xtk1zSGP@Hzue#FbKDLbk&{l|0qgW=AJzn!6RI z(r2_KYG#9Aiq*#nL0Z8sMq6*=IU_4iH!S^)=~MMsLC7yVXqi!r_w9Z}q;^D^NQ#Ge z8ZQ=@v!<|v<@~1K28*-uxsQq`_36bK6iy^;sCfp`sRL2iwK4f|TL^vTboj@<&UFx>8X-6< z4(dZ&SU1T5j72!y<@|6kjj`REclkaL0y&9HP~p$v0#1}v{MONqe*1Icy0^*I2{$1 zbsPQ>vN)O{OBx>;QMAi^Zs9;1SMrlzOp2J$X0^ay-D3CygR6p|RNMfvlJOPooR5eT z0(%+)=egBosweiWRUmuQV(N z3gAx9(*rT_?YV#hi6OyAZi;Y+h+c$!p zJO-w8HU(OBE5S>wucvS8oEbO;D$;Ww1P_EYx)?EC5P?-V2qulApT~2B)j(k}Tv3Qv zjn0b3PS&t z)-67A+jMaqnqPWueqqzcOAJbM1{TAprH;)N0XZ^Sn~RKRD60cmpCH7JH%v8L%m%fmNAQ#TT?(_~%uJGZ5o z_6y@%8r4(r%ull6v?pn(nQ%2C!-OJ%=f9pwx#`u{V26hdI>M)oobxYzwwShp>PFC{ zmyk6t(W1lCExo@-l&%BN_C&TGq7gxJT8#+i8-fHml(*9uZW;NY=|nx&yTaJ^9uz;&~IK4^xRERBWes_^QFAdP6a?)uiw4EU%ZX3D6~*%!JaF4qir)Q z?|zM1GiQ?>rje=r#4>u=M0 z?-Crr%R(=m>UvB1<84d;1?`T_m#l!0=Z+4Vnvvx#(YJ7d@O*&NiSHY_%e&={f#1JA zA9e9=(|!_CS3lx8&R3iyh9rBhzckzu7x7G&IUKdIW-$HAwjq6+ccfHKgBdQy<@sFv zYV=UQvMCXPXrE~U8W4wJ{+0A)H%gq4Wq|HZt59(iX!%h)v%j?&MM49Wx5}3mq8S9- zCqC8vbPJ3l*M>5g69;Ha}@*kBtSUzlf2I*FB~KJnO}#HGH(yT*&~N&+7IIh!em zF^Je2xN=~Mm25@dXJs*Pve!0t-f05y8J1p^JmUS-Y;dCG#(MUocm8eL0FHN4q!w`6 zc8m)mIo&xZ!N3)oxhH3t@rUs^`2>^r=f&?ZOspXxkAELG0JLRdLA4}1Zueu!l9|He z#o}u*Na(*b4*tLIZkIKiLu)5E_+w<2`!2gBKejyIXL)XTLU#VPZ^4XQp&*-sv>iuG z@M=IENWx2@XvF66bEQowJ&f;;B0*nAPYJwk0&mR56PSHYgFi*0$8;K8-(=VUu#k_( z7K{Rbx;UfR<@>A%^WkEF3)oTz8YG~u_v>3F_j23`b6Xs# zH8~cEQG%zgG_MP(6GafgaO1aGE==R>RdIZ7bqHQJ$BpFH* z!Tj+sxSjzntvnXhI5!LUE{DY{kUCS9Ox4d24AT){#mB6?TQ4anTU8OR#6f)Hcu;k* zQ?%qSH>2aaT(9F=Z93a!{PzW<#xT`?oHL9iY<1m&{xupRpV;x$OycV3*H7Tr52KYZ zvxPcf%0d3*E|m~T+OOoF>BCFGEVm!_PP=B9D3|P`Y)fvz=7u=VHv!j|onpbc4g-M` zU*(O)KYR_=(!u+)_`B@f0V7saRv;0xo7nHZ@VC&w|4C{DDaCG21}(gl%6Nh11E&YGr)q2(gZaFlSV zs>qW9g>e&=r)d&z%J9@EbUD{UH0e-Lng*bc(RaG+D`{QCgAW8F>PseY!iP z0q2h1keA8}^?q;}S^iz7X_!&XI#BFVlXf{FG?yr#Lroo6b7QCE{4B}aNJ@+8+7N`Y zYFnna8OI0-aI&^*tvD=c z!wr-5r$*&HTdHdwl=WW^t%)ZB-;}Fk^zX=rq7`O))v~za^97g8u=0T>5~DQpD=+zB zqK+@H*-=#HWvGwgJX^Q$^5WdddF6mls}1yvx{YpUN>2DLyn-APFk1Mx82l|$M~HfZ zPMb)bN=461Z^^XjzMtbJstIBP5oyj=giZ#kg3~9nRX>-2&wHotq-Y^^(V~X|4JWUoBrW| z)kD%~ovW=ZE6Qafjt+m%e6HY$y<(z4hkBnj4wv7-C zHE0XJ=i7x(!87VW_ooG@Us~7s)Rx;I z2%U|BhR|4l=~hPvqD(N4)iS!E&wiN1id46hW#%u1~AhRsw{a2yCN~ zbp!{G&s9#Z$M@lY@J5&i%BF|Lx6e$NjvPwlkvGb0#2W`7nJ@)_LRA(AI;v)yaj)U_ zGoQB_zka7!4xDjjk;r}UnK*>L>i9PhhWne`Guq-;EVfPn|90@f=b6Z8c83KwEmuC@ zbrU)$qzoMTmlsTlOOGj5I^iu*4`ff7p@9rXyp6qYBWo!M4u?+QF9}Aqm%273l3m0A z*lhJLro0gk#V)f!5gx*4P?j1I7lZwS5(Z8duOSZK3%F|lHDNsdsrY$I=9a`i@$I`c zbN5I??|`)begWf--_og6II1#qqI;~WmbcZ>3JGU2bEg0$C+=lBw^%FXDUEEuy$koz zAjG?w{DcBYrx2uR&ZioFl{iw1Bk>!{X#{_-7^rzBZJCnKN@gv!^eleJ0*h2^VHax^wV5~H)2TpG0R98 z+{Y>Mi=u|RF2qxrd}%D7S8xYJ%ZaDMnEI{;9EK8nsJv!($|=*)wG%?M3UBKp!%c`Y zJV(7ov6uU)Z-d~up7fnm0w-jGg`gJKX63Ve~WPR$Jr0(ycScj(%| z+>p^XakkDhmBPw4?`Hk%I7A~`jyv+--Ae>uIc6V0z(5hr5~GJ6M8Y;Rc6VAznn{0M z+ODG@HRzxEVo9D^W=wK(^v2A@YN!cVQ+doFtp0NL!mCN{4_bz3O`A6@JSj#fW|Hn- z_P~02yV zUT-}+nwNic*l!04xfYSGwG5}FEmkYQut8@zsSq+dvtfn84e)m$6W7*##O)1)Ntr74 zUTIi5&&d8LgleoybAnZwDLlj_s=igGIYJj0O+Kd8R=5sWxM zw`>Oar*Q^^L8SmrwG~0s;_$Gtvv}kys(bc~-fPWin|v-W)Z%WUYKl07dh&zZe#~QL znm;DC8H`~sUJes|)=>k;*x@}OywXG}@>wxSJCPy(G^|rf-f%}_Dmbhv+U0*kCm{nt zAdC`!Q=Z9vdh)163aK|6b19hqbhx7&LCmGHZeBYsj4Qh%U>u~-!8gMtadI^!I#7^l z4)4Iae9M-7HLjCqf5#ZJ9XK@+W!9@tzUp`IyP3(idM-6yZxh%04~}~dooSF$%#|L{ zFzBIA*}=39E1mB8&A1Fr=e>9!vV*Z!=gt@Y@k%>5ujw)u!~;Q}8YFS|E(4~Fr@aMXxH zcC0UD`KbhrUk0GeFmok<`p*VWT; zQEoTD(fmPaTIi4;AD%1&qjt{gJh`+gJtf!%;zl55AhDZfa#G3uqoRb+CqWZi%KKmq zR~>nIIyez;xOj{Pw)CU4a`U{Lp!v!M>Z!dt$7u3x#{3AlVC7+($ZoI7v}5h`siuR8 zYW_xYI=^X|YIi-Mxt+v#m_FXp>DVOeRT9co%onxlvoeJMF%_h)CwBGD%GnaP z0VW+p%i{m)0Q2%s1dv=#T#zxGYNft@YJBQ=`Su(SjXO!GRE~!l%Q2%eV`BVj= z6rvV4w?X)J4t>dY_%s)V=O`hLNdXX3O^+=H4|UiOl$H#S{Z5GD0P%)RVf;vg>+l|4 zmkU%PAHJ2XfJDk07kWe*|L4fULZPiJO*hc26}reC;&P@P;#HRT#-$Q}{&AsLZhr0H z^C#mkM-wOF0grnYS%~yV>7R4}uy9u$57578Uq7324usR&Ci}9F7p`kgnj(^8KnP$g zGr`nQ$zG))ngRg3*12q#6jM9+F3FZp1zJreKotAA6k6LIcGd{8y`VyB=^4sP27b$+ zQUl-W@8%B2VDzq$`|yWN#AwaM%nOojWhWzluF3L*6S!OC$UbGRlag2zXXoS*rzyW>yFO+A|h?0YJoa)s6GK z1!f_^NDcQ2nza*)V`zHJa2N;^F9CVujjb@>zY*BEl7gY~5~g=}Nd@mQD#32xu|$&C zyF{C11j+G`qn70Qy!eM6kMiC%qp|v{Qkhcf|6ILU5t`%aBu8sU8+ts3yy8VEHmT1# zBzN$`j1vQzK7x;|Rs@?uwSQfdo689w8?a}ZyW}y>wiRjuTCdu-J-d6YLWk_#?~P7) ziKXwV^)kSI29sG_J~Y6Z1%gMW6iM`5cELBku+P?ZmT6hS(I#kUE6uTTKkWUjZXg@} ziEm7Q8xeHKbZr4b*3zJalFj@lmPqf)E*XJay3>mCW2#jXOOV3>X`IorB~dgEs)Z$`^<<}T`o27Yjq1--hBy=d#fgz6Zu1U8`Jj5$X5&e zUu-WGKarOnG3z_)Lmey^HqHSzFzXg4H+FCboD0xGGBcu}qN#gheA`ZjPrSNhz0}wz z#Zd=uR%N+(`$|KSjJT%(0ab~4!&BR@EQ9Y&3(i7(iEp;A!nQkI73op#DHg-Sr{*u*= zggtccIdhZ)NHvb1(ee{o&6+Iisq$qmnY7>#LbWV?`Q?x`h(M%4_l@D*+KOLITGaU7 zanWAN>Ie(9cTN@$ceyA06IzMd$L_I1D<5pVjAE(tm{k*su_~=6zHlCvSls#6}%J3Byaq+g6Sm~PU5Y8F9%ru8cL`K1%DiIek_0}KAio6;8xz| z4^F0D^p|Gqdy$c?ivvQBnuKciuwRj+QiF2ugmVa2qSkkDQAP#wAH@sjXp@f&B;UwGH0$&|aQU2*c zBJNi)5tdee^mOH=&1u!e`Jk~>tNr;lGTlR!fJ6x~Z^-{`dmVA$7E<$Ko$*0`6$UsFBa?PVh(Cc@Ua0t^zuze=MG_{9f=ey7PCj@r7g29P;p7_w^;}VK|c9#R0XYC@H04C{$?B zDs~kQOYo`|RE5d(H#}%rw~YMfT-w_7>OH%fWV9A)QxgHF%Sy|u1Y(;){{Zc-0Biv& zQHCc|d(8D8?24)KvE->B%K10|!bdBu$5odnPz0C$_U(%Y+xpJJPIUD(3H%I%AzCf# zmI~q4f`{Xf_shwt(;Ubb*L$;4K!+WB;DBNZm1CtTz?O&+`y~53g1OkrMy*R#F3;V! zro~uQ9UY>q`PTNzw>(u&9|iwYIvo6fa*N{lwCo4`$U=9GL;w*@QFou5Cp9O$=m=Cg z6x-1<#mj1YBeQYJ9Y#vtu7FG{c^_nC3p=0(09F8+eOm>cAMT^yBX1GR>L^_6+%t95 z|MF?fyQByFwVT>|qv8+E%eCceB5j^rTn_Q0sx;xtMm{ZHJUMA@cuRLygZ~HoZhV%8 z8dK+-P1U@g1nwYOF^1Y~TucamD2O~2#u5Tz!=L*Kdr^kTH)BCC|iq(3Kp!*Rw`7jqm6qs)uxFua) zMUf4)l%$#*Q1%=S&m(B_<3Ouv&Kz55hQ6$f@~2pC!j^El-b8nef*<}dCxnOibH4)3 zwph1ulR+xHu5iOTo|aZPGz(w+@C^|WRH^xlX6p+Eh7T!}wId%}1SKs;hj-!fKwp7L^DmA>9M*{f3HwCr-27WtNxV z4Y&}Wvhm9j?e))*s34;B10LrDIdp$Z@KY5cGT6;M$?mg7X3J= zhrDw8h4Aua=?MWv=JrAE?GX%#OhJlqS=?>SPMpuLN?MPnfS%MKPvmfEW#8-K7xI->kSk~p!yBCgPXwG)0x z$Smn(@&NX#e-uk~a+9{|OK&CqQ|zB6(?&zztD(&^#)X>CLjYVo-|i3T?kwEJhz?=8 zqFa(FpY9`wXV@|DVW+(oMkC!&#KAv0G8H&J64^zw*=-!*J*o(NwJ~J$2Ws?O&JUTH z_S(&BF@eo@R`<}-;KXx+HXtBjthYLFz^xYtDFICiPxrLcOE~B>Y20Wa87s}vw_8lu z+HPK!pWPfbX6g7B`04kG2$9zZnJyhF5NiXR{-~^`MWnuBL@GmQa_!wSMk<0?FHscC z_0Q0it+*+uX=;)GY_%g&}m#fQ1!Uz)gvgQCU9OcF` z4=8Cn0{Rq91Fo{Ug;QlPC8)aya4secM&)j%%=PS)>0!jUT&18;Xuc1p5=?tFB+xZKHqw1#(!hcPNc z-nxu83-e*+3{IUOM`qIryiZ1fg8yGLHj%?mg{7^R%K7oc+ae*E*-p=PvgqfMo~mEw z55qTbd>-{6T*Vu(h0N-#JRn`g`jjgwx&Vc#20UW%!%c&rpI9l8iDdhovIHO4?* z!h@M}T3{xCE!2gp=pX;?r41w8nx#L55LcyZBD0TND!+&or7y_r4zt^61dz!Ek zP@NY4-Trf@)tVLOKSkhNx!L6rE89fmg96lJ=F&H}N*5P146X6egcC5KyA*b1o|B;<%-~ z3gdbb+d9t5!l^$P=x`znJe3e&$YNZt<&k(?Iy~sa7h16KZbeI3!hs>(?WUlk#7bVA zelW`VPSn%0pxm0UicU!oMv-{5(&=% zc)45D{~5O%MXCFcG34(!7p@gIDTaX~&=tY_lgN`aS_%JJ7 z&3{`Qh=j45$~Cvvn)#B^wF1vrOq??FXxsP#zo42GzYp8jwOY_4ooUllocmQB{yrKm ztU+{Wt5aYoM30I6UXSd~L~@9laV4a$2Dv%t>GT*B8#F(NdG`hD;qW#!I|-Ak^%yU+ zTc>PyvaKqWLaF@p&##V}?5oOO>z;g8x54qt9#maq6<~(35yCB9RqR7L8Ms0Bf3^S~ ze$SK}hQH15DaZt7C@*i8I|)@fu3VpgO;_jlE%d|`m7p6SsnwZ27*71(vnmV^ zJ1JxaSpTg97nn3PAQXQaY&avD6eIII#%Xin-v*zU7G8bV*I98b*1G(1g-f4*-pIZ2 z=mO_-g43dvQvLv)SNgA^3=5yRl+Yw9Cy4>fc;j|Jlu^8LyA~v%6kY>X)~$2yp;)o@GJK zMzoU@V=W>r_PdJn+!C0W=yHt-W^_#`z*}{`C&q6X;1rNawQ0X{cc@sZQjBHcHoP_0lSlJ$?YSFLkPcN=PIoWuoTB5jB|@U@VZ-5b~y((Q(NrMJodh!B}v2gWB5 z-d9whAOBaO6{6IPrl1iTAx+iLn)ligqsJ2k%VBY0D(|t?B_q~Jq!#ADXI3@P7ax&? zC}Pv1W?Est5fHhp>qOZtTSo$mTZT(5lwN6TtXJzAsv;v`1~`AIAC8O+l|xE>zX)X0 z$4hup9#>mn zgLwTeU@cA`$l^bXW34hPCKe7Pk8g;bv?nd{VFz`H;JY_fFSfLUM({30 z5>u;RCXm=GMpd6I#eb%wcjA2gFrOs--&AwRxOpY7Vyl`rXxo>Qm#LJAE0#z2bSxR| z+C{~PSCUO|0;XrO{6--SXDpqKto>k5SymS@C&Ti$K&WdBUVWAntT5|eYl_|s$Flu? zt94(F*a1}@%IlP%T4u;2Mxrba4iKl23pj)^q_aqgYC$<*fKHr*{_XR8dEdzm#Jtj$ z@HLxMu4CL(oiMt{Y%)PT&f#I-4FN8z+oB6kI<4EXISLWop4cfZo-~MGzu!xP zLg3(n{4L!bxb2nEblZyoFfcsMDT8E91<2Sy0mkhh+%UK+09_3kc5zG%=||0(A?2x? z?d)pUIr`NXS(%91CVu|1yjTXM8yTG3g*7w`c1oefOorIQ?<>hb)Jed&|C2ZbF`KRR zt@naV``$PftJn8q_EX*0&T=OePBV=a2}-)Cb}4)CRhmWKDQ(a3n`99>GrU(bDIDnv z1Im5r(8(OC|J=Fi_F04{8ns8N_9fu!GHWkm@swjULRkK{28CT;RG0Um$+-)P9Ncbw z7p-3GIr}ed#0#QJ>&>xU@eY(d7mUQ4JG!R@E-k zsk+2#h}M~XL3)(ldhS3;i}cOUk>3X+U6;UnEjf6kzvxtt{06P6UF$X|kf^t*;sU_^AkCRI4YL+xHq$t&W`#ZK7a30 zxSgv#Qj1+Z&+vXf^x_v?;uiWwYj3|mGt}<*_HOfMfwQ#(pv){L>4^{jg|U7_RhWcF zy|<-7)Qt3kzg_HNe?RHV`y8VFhC1>++iG9NvxZOK*ckWxj&)PWivkDKBSGI^zXNPH zzOUQz8k@BB6wdlO;=$3g`CRpB?Zu`QOI`b}4;T9v1$UO*uv1BckK;htTQugrDmz5A zGhuoNu@iQpb^=qx_;!QBO1cd7QD&}1Bf%%6(8WgMDZp1aK(48At4-qobbu*}>1N$< zdR1DddF=_4aYo=~^gy7$Z-F*Po`vfm_E=xYO>l8#Alk!|=&M4q7-GwzqG}bt(-?t)4mXWb5L%vFKtr&1uFO*CX(a^>y{>_{S>`os?pDVC5MYnW{ zz==_o?9H}gJoFN=;513W%v#Ri+gi~0|5dl`FSmfB8L|hV>>qII?(k%EfJEw=f&@DX z>3OLb7pfT_YsM&Dikl&u1qYioZnBC`%S`2lcUr10@19?-JkdZ}{^z|m0NZ*+imTE# zR#43(L{0B0L=PW&?^WM|$GPIuECdJXji3eel09+JNK9xY*4?Ao#AF%MJ3__>@{Frf zTy&(KClUsvEN3-{qP&^z@y$aK}rtg>nI&a+;2iE2( zwtTHRn1NKv{7lQ?cPw~b)IOu<91<$dF3oe!Km*%nxcdl7X(<>Ho40?P!IyYhBcxI? z(${Sz!L#y+ypXm3CyBmN*BQrJgc0KuDEt{(g89Po0AY^NZzu|dnRt@J&xlN&f@q`C zcX{;avRn4W!Fu~S{YUxTf(jWcqflUq7{B?R7w`$auBPo}nsMM*boQ!Hr(0hL+}1k| zXP%}bNL%>48JqH$No}R3Y?vmiGypI_l!%=wlFC4p5v@V;|HcPyh@Csq?i}!YrVid9 z{|V*rjFhE!yd=hdbKi@b?&BrCokoTH=D>n!>pmsQkW~NF9MZ&YBoFNMUg&nQOf=}P z3$2K<9BJi!m&_W0X56N99*94MAT?yBVviyD2}vY z0SNLeBO>-$^L!k$2t&=Ddj z+iv9@_O!zeCfg(CZPxQsVv)hs9pFn0t;9$j?rb5=o3A-B^FYNWu}bPdOSDL*P_H{2 zG@YbyxL-hFo&bT=eK6!7DO2DKK&>YYl5F+S^O$QC?SFta`Tg<(+Q$n&-d*JxKGh@zdGufP9W(0hr(4`yx$BEBSWV7RI6 z4xX?7ZL5}1L)^@rBSSGR=^j{4)xsz?BxDhXh7VEw_`A|8jqAZ5cD0y3s5F38`gBGq4!)7aahqKnK zJzzMT`Qq?ISghLErV;+c(gEY0 z$MlsQXpCcweAk{n95lC=g`4-*UH2x$-fxi!4?5i>5|)c?a|8@_-(PyPeAM*G|wvWHs&!LcOMX$Y&qL{3{=+R zZsel?hi>~yq#~nsJk5lg;aDOfZhd~D-Vt^Ccu8a-p{tzzJY#2Qj~VXz z!<~2o{H~rUH_k`p zgD^ww5|!vH@#_pK6ISoDIH__{wXflSXSg1yIBf}GRt9k|`P9vS<6Z8aNRJgNpEF33 z-%I8Ek$|k0AGUc}h7`sGN*-_H_WY!Y;(8KYMmJ4|h#h05h9Y zhZ0p(3zMV~8xpQ^XulOKjw{QLG>L-0VEpp#A(aD5Nd&O7BHB*WJ4Uju65qKs?GBZ@>|9n^V8_ZPWV0|WR2ZUGB&9! zS8a7-V~`|HqnD03ELc4~8|Nb8O{9t~lW_)=%-$ml;Iw}-n?!Ir-}zV>j<2V=^4;~W12?UFl9#u(hzFfMnGv+le{y58^ieC=R87jl5>VPe7(`gq0D54LbyJgz8P%FieWi4QX=u)%1B5B<| zg+d<(bx|_i*#%ni>jcu2UAv$4RIuU+TA$Z~w%dGvkMJ>G3hLFQtCHQIq%0RoKl=hX z4;HVdyTp};J?Y&>ovzD9{wRy^JNJM8`P^_2n;z~P1+TEW$8yMdi*{jDuF}M$M`2H` zN#>ndp!Wee&g14!&Svirx`=e;R(8V~h4N|mAlJY@gjlV4q)_{t5+=%1=rQ@RQkVxUk`fVX_g{e2o>PIzd+S4~<^Ka8P=lJCfmp^>B zfExOolX~Z(+3M+$?Y-$Li=(Qx|It$hI5>-m`*F?YyI`4Ml*^Md0-~+~7%9 zvf$T+&~n~;!8_V%-wMArErs4GvxI69alge=px1YWRbQw>np09?nVoz5-_OxUcX^#l zEi?)z$qY<`YTtgR5BGI#<;xi>T(ZE2`sih3(Xa2e5mLkEi21L0{P=1})KUbu8a*ZWDY6<+(3t z#gluB3!SJ}@9=``3%4x|9WmnmwK&o8PnxAyaSzdK`BE3Iq)ZWi;Jqe+e8<%{<60C(feN(kDC>&k3e@}}P$WKpmy|;|`&&Z~ z=r3ZRDjWlX{5t6aP|Sr&Ko1hV9tF2DyY3r^9V%w&3!qLQjQY>3 zIh4?qz3J(p@z0HYjAifC0rk!Ny>iUFC8dZUsj)T=v$;X*HymE%drvP3It|CmFHRjs zRd6k;ROd08u>d+i#lM;3CRa;2c;`!x*3B%%F%DdQxXf$F$T%BQU`MPOQARpAY zpICqH^-j#3nEJ6T!Fbe>4o6zCLMHi{LjzKz%{C@-F@`Qd^pgiZ&xmbOfch~??}Q9TSV?@ z%!fwTBO*R}cX24Khp<_*0@VOMU9MNP;=gkSh7Xv>H)Bl83Tx30SATLec|l z!aQ%rDkvO>tBh67cZ9aPJ!B3SF)J}BY#8m`R`kZY7#)$LxSX7)wI8eyM%2UJwbYfm zgTi+k#c8x&s9@`{sSolC~$+ zTS)3P7gfwQRa*o^8nm+ufb9D%mavUIVrfclkwV}I&owNh4-|z&c5tc7`XH1VFd z{IAKuB)sB&zwgGCB-w7|HQ@t=mJTz47gfk}ncja!&;n5uqSl z8>GPlq~1yo-v0Q(By4=DFjx>(A7Fe0(Hwp}7h(}NMhvEmb|3;FS%i1u8|24ZbUova ztR>cz@+~+B*yvTkeLx5^FiNp84sqX7+0@LgC+!6o-kt^LnW-BAneHwo9A^!=W8p8E zup;GIwpv8>~CyD0)!7NoJ_OvS z^Z~SrruLO}HUfTqyzR=A^6xVQnCa|0`=F~t{Jlc#EmG+fYTfCJ?rOCBtLfq)I56S; z)yStW`hs8Uh)>$*AVY>cUwl?y}kps$z&@BrSU467r~ME_pyaz$*(c zBNdyZunyoxGnVf(?;y*umj^{$(;?hKTk0UbTkBX7l*KG%P{DSb`XepLet+0X;3NE_ zEq6yf9U*B%bM=3>#V~+0VFXv(6Igt@_MW!b7t}6+uVwst@J!`p@roFXh2(o&n&Yo{ z`5J~cU;tYTguZ%Tj9emr#m(oS+_%=ZZBhmZCWrv)I81#~Ipoig&)OAKb&WIEImGLn zn3h$U{>vMdY{C81DUKaSeN~v+e0cf-i56)e&~sG^*UkWo6PufsRy(@1-wWtv;yg#< zqeJ(2(AT?XC&E?9FrsiSLOiS7sLYuP`tKPa$s%4ou9#qdNRGkS>VMlBKLr~5C8MR( zb6^x{=-R4mmJe)GfJM9!KV zqMzy|{>hm>uB!&+&VCz$w%%!jG=tX&68{yRA`BI3HE6M1-Vsf)grp6ZixON8O||I;qt?vPRFWfCHC^6;=(Wq61fsE{1nF z8RFsVu!M|4B!Y{75WJim=V5>1h+$fe@g{jyI?Qp(Pu5HH{8%2pxu0Wbp@~PXqa^;d(R2L)@4Hq|B+slRE;8JY>Cx4&~iEQImZmg)WFn~$209E>;&T$WIHXMLpZ3IFGa!l@W| z)yq0{MdeH(7i-bCRGNnQ%^44Ddn?PhgW%9Q0P!WpTZvWQ=sc-~GrWj-!-2alr7^no z@3~A2=bYtb1Tp#LGx{;pqHmuPrSKBZk-16(r5v>TavWaD9e0|&y#fxIh&&K%>CfFlniG$-1OTD1gI?^;&DPRD=pjmJv#;o8&_)X8EO z>EwAz2hnB`e~`iqk<+3lnZ&t1aH5v?X>8*i3((#Fo%KruRTkF0X`>XEq?Yc4LNZan z-8~M5B>Ss5Dd&OZuyY+-C2$)~6)C2TeTfe1UzzZdcNLyXzEWNw*J(JpoCVCCV^OJc--bU7hb(`1H#8>Mvn4^w@ zl04=~XQOB^4xYp26NF8L#9GrD8smR$3QS*Bcz)p{{A}=rc?`eVherji^yg$7p?Irh z%(qW#JdI!6eV*#+I^FvV8dZ38|<_H@TQg)qrNlS zUJ!Z9iy72G6hS{fJ{K{v$q-JOs?&4%QkX^s7ndxZ&qSs3qhmyGvucEsWd^p&cQJBe;s4K`X3U5Gpn6G-HdnkR@?LiJyjoe3 z{rRa064?^)F=6$ELAb~{B44Hn=p?z6BQwg(=4sA2%mvQ#CK1B{NubQRwF;~`tz1NHE=^5J>@nL4>Vc^iB}ndv>|Fn zzZo3=l^1^QL-QG#N>*Ln()0I`DSV$1jOQ`hSJAb=3IG_OF1^SQ7G$d&HlHd6ln#GO z>uCTcu7;08G_X^0Ge`^kfSaq!H~hVf#skX|gct&s1;lxX#ADK7z^t z595qDt~;Xjx@AY%D-{1K1B6-wp7>u4Ay%sZAr*SXxoo z22WRx8f}4}M5t3!ioyNc6sbC!x`4C=YoDXDb#+PVQd+D^U1|POVe2m^^-RWEcNpeJ zD0^KHP^O{aTUwZQ-_9JdvjHPc8QPOBh*q<`^zfS>OfMxhC2;{!78K2sR130asD=bB z9II(UrP~+CTA3)SblcL`JbApHYBUvH_R=GNNdm{7Yxj(ZUPIFeWFe6O}1*PKV~nDMX*4(H;|^O#Tl&BhIeYz}6(*EKzOf(sUMEWym0^A4RtoV!9}>ha zsx?LluQBo2ZrIPxMS;BBg|-bA%)?9FjAlQ3FupX(W~P(_(UgTr2%G7K#=7AWybgJR zLL8B&27TqC$=}|y0`69^_+1MTyt%v`LnT>@GP5&c|JjqvW0EEZgGIo76%3rm-{YF| zW7w0HQ-BJP14`@R!O}Bz7PPcBT|d9EP$;lCi4r3z$Shbz7ksmI|u_8jrLvxdHC?m z(vz2L#U2>5O`Ve{Oy$k+Tql4#>`wV%!0hlPD^rJt+ohsmls1C2o&&Pk&*us4pRFc? z+wnYbXGO|88r-N%FpH;zsT{@s&{4&Tq;f`;8e1Pfpl-8ceuM^()&(MirR;L=3Sjml zOngsqC`7XDHL|}}a1aWdDEz|#4fwa$7L3dLn>MYGXx%L{M)M)h!O$~cT zG2S$0wjuVl$X1Msy<#T{r~l!Jr)`dqb`?Wo%|Co3l|U=iJf_Gmqf!f&Rj7 zoz@SZ6*;qKC;{SbQx}ZkcdP~=in7j$)I-TL68p!ymllC{axd6&PH2M3~EwF7*;#^!oPEufZ^T2HNK2ULsz3o71E^$~+aPsCc> zRkbYYg))Zau=*~qBc`o%BZ23xqZ3x72LAYSmV+Qae2l$*vB+t@`9|42r}hOv$-U6Z zO6ECaU=byJmHsLJuM*;^xfiW4d*ZePn)(X?4$quu28rAPGJX`(%g~dT|8J)Chi^f>r-TQ`u>;e?} zy`2(>g-0282!G?~rba$K!hOsO$(LS(O*=a_EWgrJ=e~rMZxKT6YiQt{ec5th8A=lqRdn?lC6Q~`VG@oR*4*!0Cpr~pZRlJM#pqH zcY#m8secbtPkU2>cK$1=Jvj^%K%4}?yz*2>gwF<3&i=5bcW|JU|zXlWY9 zU`&%!u&|A}qrKUPU(~XVMgpjUVo`|qC_HrG()qL2(UJjHE^31@obaLd8`OfrJy`|0 zV9-NLHWj4>RS2`kxUR1G>=!oRD`~(56$V1#$cM(0adTH6iDzZ9a3qj$U2aGv!|Q#= za!B)To|-dgU$&doRAgW#!6C__r1P4^dG)3d!x49$jZ#OxpJkpx+uEIWJh|tKLKnm_ zQVZRIzwcHZTxJwx2qhG^qsH0;2T@x=A)L5ZtNf))WIT44hXQI6T5p#a*vpp!{&f8; zf6R@C?&nt_bGR%|VSZ{MNMLjd-ka@1^jE4t=Gw`uTDLPvA6@h@?qfnlf6C=S8w?qS zxv5lKKtsQd5pD@^nA>I0EwNWzA~8!$uEYnp)5ANbcknF7tj1qT!;`mFQ1WCds;!kJ zUL)5+=i^T~>v5+}8S-oXMN%Snpp=%c8|H%hnf^(h6!DI_-k&wyXA;;e75TW0VebU8 z8sR>Ek$JCOlb13_9jxlvfH_UQ-0>?%vQ|25FBvjIEdM4kzuWZ8ha!m;5|~y8f z#A9$OA}#;}DtI)`F<-RHZp~bGC2D)ThtJFSzjD=lAozKas7wKDp9%&%rkCbyO#2v8 z)Xn@k4gbpYa?B(!;ggUXPXhPx^{HoyiNc;8ahcdgZsTczZD{0+WpLfE8W zbukJYk5-AQ?fHW@CX4qXi+FHQFn*IACG7yhWl`K*HmxFnCEPdzca|L+C1gF|n@eNH ztcRSruxEFxro)}n!W?loZb0{m*RC>Hc{zWr z;7SCwH5VDm>V2~}WE(^%S$cU|tjyhPE9f*6^sZ*spP<#98hH=)9j#RAESASxKjC~z zJ7fMi@1%jlgh-U9Uxc(TcT zsJ7FNTjf{88dWL+v{D<)63|fX*9?p1gwZ0x%c>mzp)GA2$_I(Jq6`PZVM0jIiMo9a zCLc53vXg6PuyxlIMdN3%BR>msw?mch?Gb#GEj?ABxHkk?`wcp@wyuMEAcHk@!U&~- z*0k~Wib{CJGt&dIUR>M_oauBQ3(Y?VpM3fyX9PbkJwn((L%J~Aaw4SHD_LTo|l2i{dGzAY8Kt%t zn=|0}30V(jIs?ggBR1p2J7FoN*r8vOH9fR5E3$isuN_67N<#m1m6?)_{i0YRZYXMT z%9K!Rzgx(|l`eSQ*ba7t*zz^M-AB7PrBxk>E(;3fseWSq{AlVMk8(Kn_mR2Cbi`7t zyBo+_Ehhp3b_B!uM0Zd6`v6J|&EwF(3mOhs*h#WeQxXE}tXh;*NwzFg{XZ5@akq(3 zF6Mg%w5=3-=&F;46RovIlucBj;)5H ztC4+hgb#nkMh`eH{dggywghJMVmY-iT(ahq9XZSQ6s5)x!&!(#WEiM6*uiDba!~P6fxBhs@F?d{#ck-EKKtSjyOf+$ zsIlq)R+x%pS4WAc*c10w3_^+G37WuDuxLUP`|hCTc1x!%c#Nvw#R{?1(#F&p=sn0f zZR5TTXm~LqI!r``HniF3{)M53YZsT$WtpaSO$YoYnp;rC$%_h18xgkXNR8aG;*YYC z=@E;;kUb;q#T-wmDuw#EKik{oM;8Vdks-Yrl}&pI?4gCO!xI_%@kwm7bujD7@|Gfv z7@1hCOtS+)Mp7m()mF-YIwi%Ro>X$ePo%q-b%Y@2t)eNHH=F;*)*7$QWyP~BVibuT zTx1;V5?U_KM_XAmu}G~u`U1TT$uKEe2yfkwZXICG;wZTGywa2N9-%iaPRV>Xec}<`?B4Sk0xeL(|vBi`#5Ki~lvu6E~a3_&K)HdnpGR9CYXy!7g z%IaiHkttKOQ5<65`2EaXbM2rZ^e}PJ!@9!(^0gsmrycW0%GW^D0J-VbUbfRY#@!9x z0xnUpB+<|jmA!J*J-ba>ERy+svJN0$W&`!!A;cFsF1?Zt-+bQtUzDwg?eG3~=c;(B z#!@Tb_dTi_<1Vu2-~DYtW;bxQV4#|rPBAf?p*q5-bIA5BvNs)}D*(I;Y`onwXm86B zFs>bB{C<)6a#(l}gCNDL)SE2HPr4>zLxk}Qi?4ld149|rugP`_rsnG(hnAmOV+l?} z_+GF5FkO@4R{DlXo7ZW!RmUVE_1qndwtz#9MtTyI!PTY-J84f_*mge%rp&o5upUaR z_i3kY2Op`vtVDk@9gcrS*R!*{i%*VBr`G9Hu(5ruBz9vs#)wcFXl$SCu(pi!&y>K} z#VKD|+1}1}(l}Cd(9Y2yme!b~*aXwik7fcYY!vaQyIHbPu6+%hI0~%^&WKY$g zEqwn%p`=>8wV8C!x1{;R5}F@M6D{rQ!9JWttaKoVI_Rg~(&q31%wbudb%c3-{;T)U(b!?pp{=M<2{9{z?5@`?dUP&D8d>H17 z8B|72ztH|_kR)s(XSdiQO|469HNke!KheqWs>v?JjUTWa4wNefSM44X@Y}!lCmc-i zR7rdIUeQ71+btqC{h}KAFf|rxYvRCbMNveQj5JLwCJ$o(u?JyZYo{Z?Nvr~BoPsg@ zA<~&XQ{%g7Rf7bq^NH;HDh1Nhta69PfbgekKYN@iQD9$cImnqI(=3<}6q0#oztfQY z0>WNW{rL4q;^5jvPQ~Y(0&)PIvGchN0bm#Pno^Wllw7%xJw%&XgA$KvUQewCH5Jfj zE=Gq$-4<-bOuTD_Q9VOqQqu2qfP(Gv&Y5KI>JGR+j$y}F9DyWK4c266Bd+|8a(`&; z_*hfSSxS8{E^@pPQviQD|$O zJa{qj3X>g-4r4=W3WfFb#SamklS2M79POT12 z-NXqW%vwYE$t@_p#FD#p7+TkoZE8Q4AmN+x_2vbvui@8GO<{$mc<|re!!Z2++EFi!t zARYIKhESLj!sw?@NT8F4$rQ21Zti9rZ76(D8h#H%;W2d7GKp^@uo|wwq!o-jmrKl> za{~j|#+nS0Lja(-6CO~Nw=D%U(3V<{7j$62jag%hA(dH~jQ2p{!QzKIn6PynjoiK4 ze776JQOFB+7%>X7XG0u|-WaK_rkyQMX3bNn*+#J=5G(}Q)7sxWBrn;I##gN)&YT=M z%j1VAd7qRro#oBr zJ&i4)=fW^A0%tE>P#Og&07WBBT|*N^)7^lD*3njvf+?F65Yq)rmXn}f7`s;j*8Bu68G zkt-VIQmNMs?lw^&;)l3Q)n6jF&hW!%B<97$<)ANdampfsWh@I$AB~zhvO-Vs)fg>h zZ>`-^OrPdRa3-}pbuFh}n2**f!@pi>Z6U3Z!*pPAQDmsYX08h?Mo&pk^VU=;Me#Iz zJ)n%ONT~7o^*9-&KUWI-Gxh?XWvmW>Ss_hyzrs=P5EkINMb=o`*4SGQeNzSqLFxGH zaL7~+aditSOEw=rp+DEhjx?sZJw zCS5b3c{K#XhkF*WGK2Y5DbL>lKeag2D_TXJ6*`|&KfqV+iqG<#AzCD0)r7>o()BvT z1z^lsBa>#PmsG`t$#`5mQ{hSih&{xodyq*PF0I3}@t69n*hmpauG7X<497+GDDIA$ zLHq9bBaU-|m;?aQnm0I(q2C3^M7-e0kZm?y53}y_gkRj4!`*5bd#)~{t)*_4@mo=) zrs%pWC0jB(yUzQ!-e5ufpe=S=-H4xccJR&1sR+?DyPCYYcIeS`b|5P#tgVU!H8m?( z+p=foXQJE~N*=^nE$8auP1|w#I8{lz_Y!=YX|A_eyf2~=5z*t*LZDg*?`$l7v<+;7 z)+KP0NMwZ1G*;S!g`xYI=7c_74Vl8~gk8jI6~Up0$ko7@SJ!R9j7-&>E|S)C0BP>E zTxb(k>Dp@UV>*SKinx&PL$F9CB*dd)C3h1^?wcoB=AMr~Ha0KAF+T+R^jl$)Je7rg znZ8n{1#xV5e?LxmQIs>{WXKw}H3=)9K7#v|NqzNlNUBElv%_0p-}9y?3{|+=E=i;w zIr4ScfgVvm<3*s6CSn&%T8G8_qDw`k`1lw|2bU3)TZs->)y{AMCHtj)rvazM` zmJ$+&P!)N1rVy0du6ve;`K9_xENBGJz!c3-$iGh#SKdJ}Wi^+*AC)PcIdDGHyorMn z?bTzqF^dbg{#+D{vYe6T-9X^~+a7UPkpC{AD2g!qA!HqL3&_a^epBQ0j2K&bX4Qm) zt_K@33fM}0w3AA^WCJ)KASe`nlbNII~;p6SF(>u#aZU0lLtAe{#f~mA!EaKh%ucQ**91X zkrlftTfF~x1b_UK>eN~DQSe~Ih=CH2&W?<#X8Lgtz+h^sY9}QGqCPSQQOf_Lfx>t8 z#FC68h&5)UcfHE*r~`i2zn?^HU$Z*lAvbFp{c`7kyDV{DRiC)qJEd)NVmn>|Y3o1) z+*rJn%OLL{=xU`2Z-5RlDm4M|ydF9>7&1l2wz>uuK9BaGz{#>Hkb9bizE`V7d`xo-3uxg_M znUf=xWZddQ`GCSK*q8Bixpy50I&2u)6KBS0XHJm*0${}TupNw(Y8g^Bi%0z0iG}j8 znAQ1wMw`D5MQuT{%XBSH5#$v~mUvMImRU;^tk@hno*GkanT`Ad2;M@~!_`nR%#&XA zIjpI?U)CVt$FkE-Vb-5UX7-WA8Z>qQ&68}Xy8De$Ex zrSRE&{sb_yZ1s3-e~nzMARvQ&mdeKzR#56@YDwRXpzc`q&mE|PB9YcXDob$Eq<2@? z-jMG}43t(VP8t6DL2|+HFS#Mu#$Pb;=}!`K|MSpC|E1SUaSD8P5vY%;EtAHV;n3t2+Xw}voXj>6)$|9)!lPdF=hY<#11s(K zOjh_e)QK>s4~adxnDwE&uAj})HXH>J6R#EEZa~Z^!f)cJNhNppo{Zlr06M3Xs_P$% zhSRm~PIn+&&b4r3zB(<2u9U;!d?zv_i6bBhJ3vzK7XUjFl1JpT5Id;a6HGLySFJ{J zH5wi8o!7o6>piJkIdg#Y0{(IEMqHGiQ+tIVjzC4?J#D3bk|KqVJoXw4w4okf@qq!tHG2xlvtL;TV zbM#IWv1fTp95rArZg-s?H+(I}v?c(3e+z;KRz5*SL^ZC?#I(qPyg7QI_;R&$w}BeC zPBPU_QLmE39}=TcmMc2f@9`J-MlIHYi9y5f^H>D_bRi7F+&-kHzvGC#Ut;c^IbiI+ z3Ylb;4vPehM0I?daZR7>9;}c{3OB6YbJLj+j7va0G`z=VU7?mlYqp!ROyAC>(;t#V z>$JWNPN;QcX$?3!jhD+tDd%8vG?bKT;d;pGsp9HFvv+cs3~N+%o$pF2}P!kXjqX zE|<+dO&3%pDbXkd;YX2tU3^Tq;u9zH5qQhXh>u2V;Jl(TKyt^%Ke2pLIy`LM@?L~Fiij_0Fhfryp`=tx)|(} zmB<;RUUT1wN)msrlT~;LUfDvHI$++OB5T&0i6W&fyUySlv8}>U`wJYgW>sf(O4SKP z`Dd7j2!?Jv^bC6WC2MAlv{^*-Q@0qKhk{vSCZV5$OlQcMYH>xlvYN?`hVuGz?Kx0~ zkb`Zd9rnA*0GjI%h$S^%ElVgOexWExgu>xDPwg|?J$FLF)JGvga{djVYJ@~X;`|+K zKX%T=Wk*kst{v{7a*#7Iy+?^u1V=_(?W{4Vf^ao1y-Tr#Pkd|$8Ql-*GJPQJ=Kgj)QaGs*}zZLF~S^copN#gtZOi6uUHw|uAs z5XIhiN#?+Q3$`N3?s>lB;ZbD?egyi<<5VHG3qPFRjCgYsDHm=_)^9CoKleA)+eCBT z5E)|wq90aV3=+*K>0v;1{YY7UBMPb)23XRU&xIK}u-P!)G z!%r)hYQRWpgJ@2j9NvZpYtLP^rfp#(2yk~wN!^_d(BAiuNokXtHxGXoX_?44a>Q&5 zicJid=-l!@f6Ypukk?w6uux=~{hGXGFDlcDKz9UkV)#(3$>~b1dQ)@`E`FjRsk0@P z>>##Oc%-pUQW|!Q4mM5`@5_w@IJ1Mm9ZN3Y! z{iE9hJ&VT!mKn%hH*1hmY40Kx6>k-bFDM%Ez?-`%Kt7BgjV2lC8V!^17L7MmKU} zlviyLLv$BcKqOzbG5<_A9m)7{w0{OQ3*#XT(?n3 zSM7CG0py_)NF&>Si@>*YIc4Hq624;mOiVfDdARN&xXEudehOzrF0u0_`io`}dyo({ z9o1QYnJrf@mrEo&H%Js{S3EnD^xGy#;PGpNtl}ho3$wXobI__r!w5sHS~9D-h;gzW z3f3-yv(W^(C9aZ4*eWs^YLnUJrm}xdWIoOhM#csKZJVP2L}O7Jiux`r4jdI~sbw_Q z<9~bXA$aZ(Hr8{xI9db8dEMENijWr-V>2S(PvA`Tc#Q>}W z0-}H_veG>|B0Bah_FzlQ!7Ys&PErRC;{Yy3t8?8AC#mP{zX$fwp12IgUgOQC#;ZGA zS5zKun`}U-Kar|5tVT)q%&wIai>K21*0#;hjHVW65tY}l!E(7*B^XQHfH?BR3rhn| z5_ov=>mL#jMpF)}I+$>}sSHCBx%N%YbMyWFXk6KW;N7I?mH4eaB)fY+f2jBgU0%z- z(g4W-Hy|9KLjmg4Q)4JsMhyJsOK+Yj;5k^@_FQb&pd_y{9%+5&gyZY`n{Y0U!}OSs z?enN-<|Ei_AEg;D#nrW0QX5~9l+A=F$XY!8Y*A&Iw61aN8iNnL~8m4152tI0Pn_ty-%}H_IwF?sRjY;k{$0YJ4ZK!U58Vtb32nHH{q3eH6+Q`|Tm`)`H+G;p?`+ zRt)mrKN%U`>@F$q3(->;=#c9*#UsHpol<%|-94^YvBkSEQ+j(#A^_poA<)7vsutWk z8EkR*v?MI|c2|{z2Wyr_{kGymSa2KCL;55l9MoyCZnZ;;cB!>C=ii3wm z&3-Vc?rP+V*azX1hfAh6$iOb13?J=rN}!@RLVNXv+2V2PC4#P2e#ZWn(Bw9d*`;*v zXP~Wr2PhW3Pt}?AYjSbvXIE>S4``w{@h!m*eNG3UR7Y$O@xNOj;6v*C>;hX zy+Zq=(BUxd=u{h@4OZBohS`xl(NBOFm}Va4OOgnRUP1!s34s-0!9XLvX-QB8ikdZs zdRG(NKfJ^_ADzS)(U1d2pi{hSCJ7HAj#v=c?Q6h!+VxYqJC%~*i9*vWj z{g&A3ty{zY5Q$Vml#MpV(knC5pQZfgkG)mE(h+58RWstQ1kLN-j&$%{ZT2o_B#svt zF|(vNxPxF#$uF=6jLqT*_MHOEL&sl9%29sD{Dm#2sdQLb&rSwek;Ely2PK~O-OU;d zByZdzhPHA{jWbm1pFd-rm2nS!lF^Zr@Uxw#q;uozNl&N$EWaUtGGhB7#ifw++~~H%r0=}K{{hVGo3n;BOhyGrX&Gp(*O(jKz>jdwryDx8j5}~_{xB> za`nw5Y1;aDpc1M>@;wsGgdWv0(2%K@@-sLw_vJ3iOQRDzvS7XyG@GmBDg8fd2%{|bVl`=+a`>q1zxYBNP+>4=01o-*pXv5>p z52N?!5y79ZYP9{LhKFwX!W7%q>DQJcR7Ef4sPv{Q3uV-4LACI%&qpN>$H z?=2rdP>&m?xRK=Yawh&rm(a4Gj@In!sj1j|IBqm6wd3@LRLi&$UHQ;_P1!$*jO?4m#vRx3 zi@Fn$+j6YP8=1DtUQx!Y53C!mW9u-iBX+5Kw0Ld9G=!`)~%fbIx7U#r3M6O^9K2r)IvFo zqNDeKN}DrkwMfTZn{aYmfFP1>o3>xS?@L+|0&U28GJe=@^5g)AzKc;uyjjpCj&ZJG zKJWy2`Bb(MQxL5bmZIkLL3U4ui z9Hz#n?#RLxAP@6~4dwR1`ZJF#e?Vz-^6A4#8&Eq!gH~f#MhnV-rP>0-*dk3-IPHB_ z-a5PT4XxuO%qd@YG`f{B;$O0G58)2p?LsVkfQ*m<1pp3`ld8`So?lP!=W`hE#1?3n ziH3l&U+H9)jO2j$g=yw`Ba&#S zk1$T!ftR^j4}Mbn9{I8N2&nn&1)>Y<_SNb)5durQ)Z=Vh1$B}_X9l9Ga#@7}Bp@J! zYp>`83YVdNWzXZ5ihOOh2w;tX3d#i5$?=rJ=kg*jPO-KO!YLpTNH`{ok); zt%m{{Fyp8ry|;LPLo-DPOiR~8Fscr*53&}2l9wo><->GK%3bF&Hh}F&q99~u<%1E zO73*S&X`Pg>jY0*%Ei--)qf@J*REDXz?H=cprNzj#j!u&3KB!ArIJWyhn-CqUH@=i z&Z<*gk`mCJgcTUr^!@7ScgXa$qZrZ+3tqQ^Id#r%gl*X+~u^tg#&fiLwAX_<}~=r*nwR>@^`N~JEW)=f|sUTzesm;+I)`6L`>*eGBxEUqT$1rDULJCFd`}8s-u)Dpc%Q#Wk z`RaNsgOFbe*^zn>fNQ!p66F14Y@H4o;KozY-hajH9`{p&Ia}H43tZw$L}gpq32Rp* zs#7T~TEH#hGG=!^_R9$kdverqC6}a>>x__GXl4@%VJ!DsbF-4CMk_Lyom=%b&~y@+ z0C3O27yRGKSTsD-l6eeLZcl`osL~xePKf});B~Msgu4=q%-~=bjAMKl6@Q{Kc7p80x>l5z3T!} z6?!Oi;UW&~P4o}G!e5t`sxZElrXLd_t=Y}^BUYQJX zs)_v=7zvvdNl&=*$8!{le_peBU9+ybV}GY!b_WO1!+EoIh4sS$s=K zQMS39!no8Wch`QBiI_PM^S)Q^< z^w!AfzMs=0F%{blAd7S*)JlA*a)-kc3?eQ7)0YW=67$F!jqF9xPRYnmh`Ip$SKo-# z?@WbN7e6XmR$7(-upEb$HnH+-hoi^8uYqz31qK1ej>UdKX)T?Py|DaDv|){K0aUs*tEn5f!q0=D~-zD zimldS4194Md^-okwx{x@azuaE+U?-rv{|KK2bigM0oM;07eTQnUD3DdcSU~&E_Z=& ztdW|al~5w$k-4FYh&Zy}JLh4NqO-1qXA;e%ki^ygClzm6$eElE@7ETBWxzuJa6dK*wCnNXJ8L zvuSmZBvvxsi?6)Y^ZxNoCAviW$|ho+Gk#b-Ql#+5N8;3|p>Za_i{sm69+5GlJwJrA zvXgf!1jM09PZP!OR_eiQpS?Rd?kQ%!49>N7fYMRWl&RK$Kz@0_^RQ;E{zSFfELQGS zy#?PH&)Vg;zz5jm6SxtQxM-jma6`VEjj+S&ZTrh^F?!$exnX8b7NIz zaINLLoroc`$bsX;(bv*&8Rp?UPh+-o;FIgp3JJI709N~Ll@evCfEF*=%stMa$GQI! zB}X-yO4WOjL@NMq=X++6yk;2Cvkq@O>(ZL+DMXwZ)pPe5MK4p^d;rh_@yVu6SuB&2 zh!>V$h@G`_k(gpvy~biYkix5%I-aI`J8HIaOoUO(kv)Ju9%vnID$R(k9KEx>JEvXW zg$=wY%b6{8|E-nJ!Jnte&5y-Oooal~Ea|EPKGKi%HnkH;UMr%%PU$NxjjRPa8gFp| zCW$}Ez>LyKj3hCJTL&uVL>3wa$PUnHX_lqiST{H674l2E01@}UktZUA2KhjJ0A@=D zpDtH@VOKcy?bsMGA)smC^#$f>ah^umIn@U!@AdG*5(JgK!V;~GLk$jh*GJ&y##Ho4 zKH&yhZwh&nhu3`)6aF4Ea)6^~$>b+dTTLZT$PiCH+$d|%9(d5fF8>E%oA9%zlUm6n z2Sr8O+O>vZ3JMC`zRYV#7OYie@eWk`Z35+iH_?+ZSfRL-;ygxQVt|9J2`5*QUM6!% zBeRdN7fM8FaL<_wJr5V!`{QXf)Br<3f0mO9lcov(np<)nq9Kgcss)r7xfnN|hcyLC zpDNa5MkU^FcPV$VFDHd;LzW%=!2aN*;@!8B4w9a)TZyBu_%{6woR8WJj2m&dws?+- zoBZ}8)M;L+AMqUz4KwG04&jA;#G1E3!zc(iL~eLzfcup+Mlq*fpP!_-KjHOta`14y zMCHm>#$&=}MtjJ?mewKu6iWms+1epSH}+$ZEQ&MxG=3nWY{Fi-EW56*ivF|FC3jH5gkrlks zw~|BzKmgJfwULn*8UD+(f0rY0MT)mL9FlA+kH96qgM)kd17-5q}rml9z z`VTuBQe55!s)UOK#}_Amrt+%16Z|I;*g52Qi>YTCd0*t7gRj4x`2qN8kSmg^W{!ne zMzI~uYe>)L_XtI=B_-xZ%v#+pImnlkiB-yuY4_1PA-ox@P7%WMna!HLv<@?)!@Ifi zt7*M*+}+_jYnB`Am8zYe8L@xWV1l8!&6ja?031I0P7CMV&W#yPGPb!v>*aue;b1N4$$ku zKzY>j%|$Pb(DFLSf#){pwL2rKKNtuD3w@nhm%n$!KL*bA)r*pDIv_P9Cr6WZY?D9C z-a~6%z!4;t&4UBRfxcIH=v!=-xE^*iV2>O16qS$*$cGSv{gs<@8I32o9rAf^myW8C zt31-)S6ro~UYL^3?wi0gW+wYj^E5|NGCjTQs>d4ujHj+Lh=K#0(-JXQ`_FHXABh96 zJ8_6W1FH)aLkYKRSuIzM_`GTJ$?ws?Bnj%fJ-wc|O)+#p*IPCW>Du5D*wm zxGL!*3<5mqc?`zJ0c&-5sHNs@pWPd$I2&dJlT0DQM%jP=z+Vm+a~(S7H2K549+cmL zM~af7tFwfB(VsX$$ik}A&pY+1xit+jbq2EyIn~Q99S@(jz?~*!<649nR~Q>9QZ4>h zQro`k2-4pILQL;N)vA}oe=S5Es|Dh{VrdP)8YPqLII4kNGb$P$OO$p2gx&>EEQ^x| zM|P_^&h}1f8tz6`9h)@_;FeUFz0b!09}UH}N3|Ba;F~#X3S}h~!OZ(els+O}SAbJ6-?C z2O%3OU50fx1DII=5SDH7gf?dH{GH_4nh@;o%y8zj_bjV@FSo?X z*BkuCri|2wVsBAH`l)mChQ86fLnp0jlg@1qZL9SBXp@GK(g9odlhUk}t#S?(G%=DO z1E1PIOcVv>S~wXpd-g8HD?-SXtU=TS$I5@l-cT~it?Ci-FTcz{NRhe3D<|x%!jF7* zZ&o%;@1X0~Cd-__hg)Yj?P(6D{avo5uQdbx9|*Ho7ox8>5_#KOU=K2{F+2lhBSjyD ztn+-qf_8`EX)OHv_LhRVj|8-`|;2o4gXw57j5Q(k;y~oY$}}v7UZ6@wfUb zq$rm6l5tLe_@g$W4Q-|N-@V$RyOeCbnoM6-Bo%7^O1#~!9A#rm&%RbPvAJNKyuQ$* zp4Pp|mqp3>S{AW~!J@&7XivRtIGfEV}zKTSP#wPIw_p0f&G z_o8(p7#b~GcVk@=+o3QJ*Mk-Oe9u=}uJ|HIVgiyouFV-w#4=Fr4Nsn9NA39)RACuW zU6ovseBvk5(nOU+LfHzTJazJkO9c`m5o`M zm#s@GxedkH5T9#0Lc4GDYx#2e1qqUOGhe$A@bD!p< zBbb!?(gv>TNP$vpwlhIY#PgxVW0Z*F2f`$rg1V(@OKTFBHY0Wiu98?<)MNaG@;md@ zw=<|F`X?*0ZixQeEhnFN5Mn%FWO37<$2*A1J$AnirT#jmv1f&?ti5q$ z4U-jn@<~rF)><&RS7`i-D4GYdD07cwX9)?K%|4-nRS_8O!+9@IS1O0P^fKO;bn7bv z8)%hSRh*;rO9O2vf{kjN``4$J)d&+NJTEHVsi2_vEY9!7>=kBkX5K+9H0(y`{XMV{^f2Y^QpLFH zmi4rplk}}jJ?+a+ur^&AbSeXEGKRKUojxP}Fn-0Ye2d-uRDioUHZoQkb{4YtOfgROX1#)W+=?iV_ec-2_pmfcSU%C@Ug%&^DJBo?h_< ziN&dEgji_0)-#dAKqBg5bu~4>JtvZo>a3WkIE$;8Q)?C_>N|zSe!J2*lVY*C2!n*X z7zn11cd90+8;?U)fN|*1HKY-I+k5by7`w$&TPgSJEBc@0F;-^H(&)Al za_L%V&zcWz;L@BTo8HBQyUTK|A%v4=`CvZ*CV<}Z9Cv{}Ccf7ts7XTC2s8-8zS3$f zuko?@egiCS*8leeS^TAO%&MPBM>^zrkuJAaMTE-Xb>Bt2AIma&g|u723nE9mEiH9% z6!p1iY^)d3R?T%x&7K4Yu5S$(5ZP5|jq3Ez53OOWFX0oTVSp`UUP@RPCb5_(Hm29dQf(!=}UbgrWV~5`)904>7_s zv86UndAI8)_gpe6|0@=&%31RV1HJ_A`q87ixIUXl*VhfYY;M5R!iAai%=Ig#jPFw&MfNxgzAUFz z(Ko=A8osFpUOJz5BVU^i0Imqvp7H+1^=;uhW4Pndy8?d}lC_Y9WOrGm)?t8s0Y713 z7Z|2E@Ws4n$J<{QlKag1C-R#J4P~aqU>wc#%A4yX?lY3lp+@%Q)TmD+q}?Mg6hmp_oD%*E>2fFq9VYa94ELFM-0S72W^uEosqb6o*`c+_1#NnW%A5N7;1mnLk;X{Z=&vvtrY>xdRzA; z;O&I$VPIK8IIpk8nT~Cyb*tN?7uB-Oc`=f!Wx^>om+rDCWb)Ko&~M0-|Lv5 zv#C(WeE%e1ytt?clGx!oP90LVy8PB2TSq`FV7SJ? z-Kj%mv%Pt({$u2j%Cl@WV)HTwa-VQ*`cJj_-rg(-^QDMem0aq~Ft?&Tb3`M}l7!IZ zDrkS}7otN`dt(y+RtL@MmK2kz_7aEz7r?eiYbsB^814=2Zj|_rb5ZzJ z#T##Lo?UFt8{;{u&psKK;pJn${hsnZuKKAQr^S$Xq8;Zs>C{sd%h$L+v0(`tg}dr{ zWt=UuAz@ojlP`X8xi~$&0oWYQIA^vl5;CRg06S!Ot>piD53JriC zzEfL;TFx;8*D2j)Zp~j)-y0w0o%ixqd!{FI*L_-SWl8*3gE0}!#1ptTWZ@_ph{|EH z3JJ7o&%v+=oaMPT*TJuXuarAZes%IQihXQC;F?5Y(?yvEbpscusj8iRjYxBS!`q13 zIDnO@qjgh@B}~hrf<&F9)`f^@zoT7bN1J&xek8JF_XVz@hXxqZsmQbn+*YejM(R$1 zb~CUvp%+)&9>x$2<$kBzQ3>+nI$n;BoIM|Oxd26Dnl`A^c#q>B6?4-0*!CsENEd_B zFREWgY{bEgt#ThR9=R3lCRjFZhw(&t4ZJRmayY^*N-SvW3a%5Eh-vf-xDx9ffT6QI zGVfsG^krX!ZE|ymHRJMnbCoFBZADB$wk)m-DR|c^x(RGy=ZlsQ!_n?ehya3d(dGbp z%TGOdxtC+V>y7A`jky>w@5{>^!F4(b**57Qsx%SH+9DW=NOO@HzCxwEqFE91z|W`> zq*|NTJKj-b8kn9CJ_Fs)t$Qx*{`MONzxu*uR2_^8>>twR@-;)%Jy6WLVyho$LP=WL zzK4i;^eqP&Yxx}Z83|`WBHIxx1q>^kq;b<0zmZ^zWciB~aN7aKS7=r5lbIndJVAuF zS|bRbWZWc*N@)Xoum#KPBelvgO}}x+5#_{ijEZEeT+uHUvyG87eI?QQIZwbDqLK#M z8!V1=C-XPzY<+|c<5l0iXr zwf4kif4kC`uB2&CnC6bA47;~uxyupYv0X%ovmpy5rif!0PHt(Usri7ZbbYj*(?(3_ zQqAZJC~L&>>B>Bx1Lb<;pX4#BLzH`up1Hu73m-}`>%JHS&zwd?vKgm!uf?GLQzypu ziH$6I&CV5GFL3Kh2H{H7gL$OhcSu(AG2>ZcI+|DFRnqb>4Y9he_+TgkQW5SkZy~a#(=IryR+);@By+i3rbDLIv7a|4scD-RR z_B&m)(fj}W9Lbu8>H6-AjV!g-ShZUmTeG{F-IfBGXeda$BP6?dfuwW-?Vn_0vRt8ObdkY_vXuCl4(9UQp@mV9)LqWIg~ zIeqcOXu;)7FX=-(Fkb&v1|k69b>dvq$y}MJ$ZTsOxNbxF9}^ymee_4l<5#3Eof7uw z&hg-9um*sKAq(Cpo(&&k#ceB9JI}ekbjhe>4B8}z5j#-Z)aDRqDi^icT@F_HFA!I= z)_hJl#n1=rRypO(U+fD6_9|`H#v%Na8#PtK|2az2%ybyflwBfZJ4{PXcF6yQ7q*^S zL_pt3cA9{V^=_G**v!2~CNYN9YxK*kDz_h8%ebjbZxNO|I$6hnW$ z`U*HXMhDSBZ3(?H?y=COyTr8dLtS8C&@?X^W0c1Q*X*=OcM_;N+9((-kQEw7{KV2D zHFKl?D?}MT8I2lo6uvq>zNI^$URLL*(L!`Q>KcQ~(_3PvjN2O*~SrpL0 zVe#snOVrWV5vx}?naMO z`ZI5={{w(714S=&zFqW)n$>qkKVDs46k9NRD_UPwVw8w-}N|9>%ZYU9f`XLs>22y5!1weoiE3Nzh<0qp+i zc@*r9?0K%5`U};twFlv0`-PdumQAkktw14ku{(PvzCZ2~z_2?D#Ga{2M#a_?BBU7>S=pEjbt(zFVsa=vgQr*JBLcr2t zDAX1Wfj^nAg6Xp4ZDlEXs>m^iAYF@_y&2uhK054O;xci|KxSR+oFlu%W&+t;-ghek z*`Vf}tP1lme=uJyg$i4>2v6GMm1Pv&s5YzW!S?YK>DG4d{Q}}`u18q+=BhU!%pI)t zW$U*ep(}buad+j^cKAJ#4Tr+u&%Bv4=%5};J4B*h`Ef@~6Q!{wd7(N<@zsNR#xLO> zi_6^EGNU52h_0!5GjE?jQVPLDOUMX(J5D^Gme~4gMzV2T+3_ZMx5Sii)!!3rypl&d zH7p2rR2ey3Zf(`OUrUF}6e71+ztR901AFg%<(;>a)VRIAnIjP)PN#3q_j*&>7IRri1WyCbiw9}d!sRpzqQQK|q z_AS#lSA$k^;W@s2ZFY=K~VZJTjD)-)y{yF4o}mII+8ZJa81gF}N2Omye5KC$UPJ-r77r&ZQ^Uo)i+Ext8<6Mi^EOn-zKlS@y4&Cnj|0QwC* zZ$A!(72-~%uya^mL%sVsAk)>dEg&04IL`MCjsY?v9|l2G@+p|a>-%12rm?XU|EjDb z0x^o?D?EknoAlNa!uB_O&?Emd@o5EsBqu*;X|Zbn+sIi+s(FU&-a4_tY&YbsgpuNBv=ghY;h`%6l`BXZ#C0Use@|gmI(&j z9Kj2JL`&_)&ZC-YxqPPkLtjd574`lk_TyuGb|N98t;BlKEIx$ zbx1Zbr%ZTPmp>8xB)JvTU8ILm%4vGAV77yc?>E0;nr>w|m)2M3zzsM*rA>hj8c+@U zlA0z0bb}FMKF=^(?WAL)9crHVeQ(9=F_@2&UuH@i(--gL8v5)5$+0^~dl&D`pVrjy zogrmkS~S%Bni-b^Q1|z+&((3>QMw5-#uo2bSkE*oB4<%HXeY&j588a-<_XNX6^m*)q$0r@dV6l)fRu9z5ibYQnhM_5`gfK+2@xI~m2|GW2c% zO_A8z7IQA=P%X>{Lr7kohM}#{%1nX$cY5{cM%ol5!cyp-DkCqgWyCxZ#j2xzDtSK= z{`+SvW^dTIrclKNq(~O|W=J}U+o^KseJJGaXEMuKpIX7{HTM6F6V9=8DE&ImGD7_s z`Jtnro|=`#04Ff!6ord#lG}iNiRKIq2^QZ`Gs{l&mkK2~X>+OH0;FMVU&^ZLg{tQ# z(X%x8*AsNnejI$iQKpyPK*O+#(1b$B>|Yu1V%oO3we7$u<=)f?cOTp!`@>tQ!8}WP z+!%0ZBR(UG$j*cO=D{0jDn)9&Gz!&!0_N3YaZe3f3F{{#sRnq!=X&+04vzzinT zS-rWaC%ykd|8O1wt}+G|#dWSRPU3_iICDv|aa;Wsn_JY+)nrk_&)qu}r5`h!q6lc` zoPSdLY%jpaV;;ouoQ=1eS~x-{jNGSC8UeH;o>7VrEEC%%n_5H8@a?A+fQM!PXj*C^ zjh|~-Z^CJ2WuRB;`P5l>rjD*h73sRv-z5}-4#tmR%+yira8OWD&|BLs1jHtHCRx1W zL_{bMb$7xaoy7FPwpFtygnRf}|5?)dbSLK2d3Vfl_v$*Iix#jEyLqUt%;*ah*N_oo z)uY5o4>BLSL!<>0DM2p0`EG8IX48rbP5I{hu;QB5+ygh8jru(V-`s+XLcukp~*a;LuapU3~P6`P>q3 z>qyS6aif47ati^if2;gP=Z=FK%|kqGaHREnq~Vqf15dw>6QVd~)Yv|mXV<>Kug;B3jUL&&Jt{ela?rD_C zKIMzjfXb(ad_kK9WpLi-UYkLnIsGb;H<;$f0Hu#^%ANK9WTRTHKbuHG^gZSvL&yuX zCpKSABMe6uvr*syL!Z+^2k<|KpxIa4iIRhM4}Cbq$XG~S2K?s^=kIPwX0So{slqko zwVTN+{o?)7c?bIBD}d<=ljyqG3ODu@zmjkhMPeIWnjpWwHweHUci$~`j|Bc8ybil# z+s5#TPPgI~#)dUpC#?MINwp&0UEdhAN(WrWdVr%W%L=GP}8t$>9%jiB% z#{2653Sxfn8#6yyNJC$CB9NKhxoYarxJ1=qIAui{2b9vDEC$CcQ-52%K+1E`bV%?>34zJfIciIPGeA-Z89E0nQqOjbq*gsV`F2KJ;i}GBl{xnZy7wt9g~?&K!Q9m> z)`hl%1e|fyyeHpA-`8hFIkDtWZH#XMO?3*8;*$e>k#v>#xnW##dD@j`$vNEudkf8 zuXW3^mpln;+tlNPVruM9ipBogU^}_Ao3V50n!f{@J$V6}mT&?f8#f(TF{Ehasvm`z z{;Ep9sb;VZ6!LXu)F1Ul7p^#@XQ#t=$UVX`z7W7TqM)PD$%I$43c`!Dz>I&T^TFIB z!93boFx>jeH@{(-7rxv(F@m2k)g^eCsRox4}tnQ z>iy7IfdFLRi;W~5*mX2)pU7SS#9?tvFm~|4GZExHn7fTgLp?35;CA7x83z_WkAvPgV>V^(p(6I zf9Vp*N=XInvE}7n-c?QSYx&pKq*@u%QW(3M?Yg8H`Vrm}rPo8{gd< zDb4B&cZm8IQpMIIjCHlm*2ILjmJ`dcB!y;zG`|NP8V3ZmRyfDk{zV!;hu|wxxqH<#UFPwjGjvdMS}ySqP$c6&T1XAe86i zi8kZtfjFZo`}urlEF2Jszk0+T*QB+Z$M#yM1|DkGhaSgsvYgvo+xkXtmD+x_J@`A* zK#fUx;KWC`@Vq^@S_C?comj6+3)$0sL(3Uz9fU?1yohFN)4mQ6OU<_S9Ky@rd=)JoDh#qJp+iAQQjxW>3j8hwIk*|FF+D}hAxRzJZH#jlX-={tkSHbYq>)_%( z`W&u7j#jSUPf0OzpE+ftd-1oX*r`w5ug(7tnxw^-b=Qu{x(NMdrY}kGCbtpOM#+f1|#{g>_)SFIml7y}hdu0R+(ST`|=ujhEcuH1mW zhd05h*bPF@%h5@u+82r{!q-s|m8I9f42S)SZPcIBVdAMHBR10_+jHIx20e6N-7w~) z#hjFt$Lm%VhKuHGnNwl)d61TAKEmFg0;;dpg?L0hk3_lHsI3?w@r7znMfTNs>dmht zNf-dQw2nJ?eXXGG+Po)bR)E-K3be|zR>VBATb3OXDvPC~K>7k?vaF%Y{^@6V5f2;5 z@#rb2Hr)gmuL6iP_5n9_Rb^520);XDsJd{IoW*ax1h66BCl8%}sFCj8NmWplp{9VJ zfKA)grcVkxKZ+-Ul?yYTke)&w^T0h9P~(j&*!lzihw6kn3uY?Hgzn4%E8?uK-}E1#owr@2Y6i^Hj+y9M8De z=@@HgZGVyM@T|&n!}j@iVSfJ>yN9T0{yjC*Sem*MHhdqFX{Xm@+zZcoT9`q)Q*H{Y zt*@!dc{~R!Sc$XWKg`W6su8bC;jx0)nXg+=);x{zu7aFSU6y}(3AnMEuK8Pf;=W@< zNnykX#5bj_Axl&itzI%GXY|!pBL_{35@H#EVry4#eu_s(oz&x~=n+!(f=``(OI@BE zS8WM+mp5|~R@)p0a8p^12(VNY`mdaQg3fP96fzDt8Rf>3su3}fH&p@V=(7BZD{J}3 zTA9NKIC2N@ZlkJ{xr6Q74x^-f2p~R}d0RjWwWWAmwew~7pcz;8D-YzLlRV7-et|9cXfHW*7)%G-iI{gJoXdCfZU`ID z>UO>)WQ>F5?xD2<45y@d?yPK_cVGVlO4DDEY5oE+*XKyxdv8|yI`$1CBQ2q@`gy4x zTYMN=;wV`k>I6rv6ew?lM{}fQI^LDt<&Fd_F<37}CaEKvkWl}6a0&NDYc~P`-!^Y0 zA?Y4&87EZ)Gb}7b7!uRd2bX^+5A>bgNH)oVl6t9IBk zBKM&J1%|Ju3UCZTZy0j8oC^8F(&PAAV=)iF6B@F4?}TqzVW_TNoenV$iWg z+{Ph-i18M>CN>RuyF7Kbrm9e#AG&lb} z>5o};?e^|}HA^l2YITOp{#7h9Dh!tq>Yec4OT^`()6YcmMMC=N(|w#eyV}ekL}$*n z(Gd{Y7Vkd%&`t@yT{s`}->|G@-8sG>2wagz);q8AO{0wY)>R)tuwXY%+60XwZUL@6 z-=v75wudiLFlJ09Rf^Q)w!jzBP@hIYtAVXi(gt5aNgpLO@_E$|WL7fU#QcI8gq_N>m|9zrLybyTlFagZJ1Eo*4auj6Sb zRkU=#z{~eOWIB)V*n1)#H@wl(ipZgx2`o}j5$&^DF@)}#_7fGY?vc7IG@jM=zUk=% z=?PKWPKX-B$*5F5WQtb_M(^JiRUX6z#rXB;(UyJ6R!VsS)6rSdo{uBY^b0kXAIDEC z7vnG~b}L_%?`Gsa5&ur`_%L&BgpWQ{L9{atc3A#kAkJU8H$Co7eiMJ}lN^pwa(cy#Qh%O~-5 z;YLmnxW@J$rKVp!MKY zImmOHH!x<}lDZ$&X6!i>JX2Ceyd@vxFwA?8`&il$bWKt;n_uIi2Cza@@mUQJC9UpF z+mWFydu%*|Hgi17-t4iC_l-9gVm59EiZxXlz)yb#%0XCz{W2g?QOF|kkvf?3A{(2& zYTet(DJe_QyADYW0(OnT-LOB}>D`MsP!HTarAo1@?N;DWtMvPUlNwT-&{KzSBLx4N zlZrlel$Mmvn?by3{h;n1?83OcYr30+_veJeS1wg_njz-=AT3Bj(e=W=lr>?~N;O6` z66u1YM?pW%t9e!Aoie_9P6Eg|4-f}2zBCKm;$%>ymqqd{z(!en5XzPxfI0CN<(#te z>rr&j^RJmbteQ;UYw=p6F&k~7I(uz9Jh>Bsai&OkMH4!=WX>7^*Hi{|4!MJ()TqeIGfTEooEYw;{Y>ZQacR{Iw_++{u(GV3U|bfF&B5e0V_%C7a~l~Nm&A#b zpL&CctWmaVGQ-w2(+k$kn&jyG5pA-&qbqfZ!rgDE@l4sZmSmT(zbJ#XZe9Gk5z>!P zC!TgqqiJEfGEbsndkrnO#7aPSwjM7-c%KY*f=)U;J4HcP6J6pyTxQw~qzqpvnW~{eh2)}iE`JfCvSzNdg$T4qu!>(ZB%@G_ z5Tt*EbL*sBbGsJ;7=_74>eA3wsO~khp#}S-zXB1jPMOGXoR=L(7Texk+&rC#mC-8( z+2@At5E!1#flLmEe0MksOyc})-!PR|vs7}1>~}A1+<5Z=x}0R#&2MI+u%s@#LW&W! zM$FO%UN8E=?<+L-_KB69k9n&I_HQW?IC#TDY9n^M>l!_@f zH$&Zk9eu!!1VpXvVFd^@-N*aPV+AWCF)HFpg2je0Q#*f*bZyhg3cPsadLit;)xSMG zZECYefTGBZ^ zOZ|Sd$t}^AN8|k6Tt=GqgrwBD*Lr`F9_--|3$cI8d7>$kzr+fejPXMDS^=z+C{c38 zkFA)F6Z5#Y_aid*a}x8dJ&Abh#;O{=$^^1C3`*}NbFu3HBB|hevc;;tBSz-CUCaun zF}W*2Y%h6D+rZ_8V^PaDF4>u(zFV=1-x!DTU|5hQu>GbAQhbXrP8W)?R&Oo<-y>;*dXj>-O@-F!&JBCDttYXY;sUUWhpB+OwTZo2eMo z4})3~N)q-aF2!7aaXi5n7h`6*19V;EZOM%{{;-G+^n{sF^Hgc)04(0_z(UBLp5U9afV4M5ptEm1OI9zV!*`eAqoC5f=LteUTWur~;7 zc2Y&$WD6|ZQU|HDz9T=AL_yx}ZLGvmhy)-1olO;PXm7FmBBDa}B5zuPvV2W3IwY~j z8P5scyB&>l%8e&8gcH2wYp?UgrgnD_6(AD_)E6kfSsqbde3WW0bNr7i~$T03z3y<2nB2-f!{q_fB4z|5e%A5bi=Rpt~!}Avt ztHhS$00vyP3#t?fKW@@_`R+;Ivu&h|@o8Q&wqry0F3Mq7KdoYAZ9{EM=+{q|^*UZ! z99k$Pr1c90!u0LRU;OS$&mNvMnb4-&KZyse+4(hV5%SI%Y0UMT1Sp+bO?EMhaF1+tTFZO1#C-gt^e8md?2Qy{6Rj=FHqhj%6U144Dkh#D%f|?j#fP=K z4OBH5skAKXCcC8`8XYJC>;%JNLCgV{+G^UN`UcQ0{_=FTZhg!nzLVB{rV0HOggM3(;AEq@Co@a1r{H5M=vz zaViaEea)siTb|+~X_>N9fBUl045E6SA%ZcNMUdY!TW6m9MP4pQ4H*zR6_)B27n9;K zFtC|t(*TXjf`+G@e3y>HiCNyiv)|#XCk$)uU})G79iOpiJPEyuTTTu0H;c6rDOwqu zd?IQSeE{y@hJC#4EjV2mMT^%KwLb`B&DaDlBMA1q6!rwW!~-cyTd#S1e9}k>r)MH` zLx%HRAlS@A@93N8er?q%{YPDwX!N%Gx#X-lYtmt;HDTx%SpKDRs_W3)o6Ol!(Q!@V zAx}vx?5w$~+CwJz`s_O?bokN_*4T-XVbI?Rv>T&?rD#M3YzE=JVS;7J?wJ&LOrjag zp;V7*_Y`H4qIgXLD@3_U< zHo-Z+Z4ykt;SdkjiP#S??9k#K)n{B^gv((ZCm0HEz-212!TSh#!j%8*f%!#K8L__$ zQb*zYU(irPg#h7YxWx^*=4XJA)!7iixoWmZ={$Z)^JhzKer)>jM?KJ;_RM4l%teF# z@^O^&hJlY$3fwJP6c5$7slytqQbuo=smwE)nI`U#vf?YgOAA6|HN7lR(Z^Z0&K>ZP zByo589|l&N7Sn#PxC~p1VL5n^?Mnz0nggYJ0iTYX52GldZr^LTOCZ2;V3G(BiwR?u z>LgpKoh*Ej10k7@kW0U)Sc=>+v+2miDg>y@oo!uR=gZ_lxQ$j6YrG^~X8IsW>a%lt z4qy%N9OAS}i%_D-xyk&C=vLV|WobZX=q{wMij9ALSeU}=e}WP<$(@oKieoA)RHgCt z!FSfsK2v{4n#dcZffTR%R1ED86g*f3)8P6Ortiy;oST8y`3Ip8uIWD6qjbWQD_|-7 z!75pZeJY*zaNfbnE9cXU=wuP->_rF{pcXASkpNO6=A_EBzhZSU%GpZ+?3bS#lJYf#l@w+vkJqxg@emJ7ayU| z+@?iP(8%{{`q zPVgjaA`BelJ>t^_;OYdtQ!Dk-IHD?zcLP^2?j2_lBLJi9y@=We9V+CYT1TD3w}gBI zlH1L|cwsU=5hjN@l?2j)g{-e=FMw=X{OQWayQ9A!rF;sG+9MQL280Q4Dr3l?VN$VmkU5ne55IY%}l7I9=em*jH05?FP z*$=47vOjd^hhQ7XC5feWI^a@KA(^hl0~Lp6V*?x~dWVc1R%N5DLiX?7zv^ET!H^{0 zhX9`ACM3&q&yA9(%i|d*#SzCw4pDuNQhJYm1VP#+R zX>px_0bWo^A{E^T^Y`Lmbp6FGW=-xw(9xdJ^4Bqg&mU5Tr__s(HqCaYtG)IHKPlg% z;*X9|&>-Q$60=>`hVn(qqkFlu0WyP_=j&e*^G#396+GH7y9wPN_gnS_azeANU{o!M zVc_TP-c`hTdSW=OtrZz>dFFabKZ`9B+%vfWPBm8^25L(B6^=}`tjXC`a zc2QS?%eP5>1DEDg_l+mlTwoWm>I9jN@Ekfv5_TF#avTEY@l5wgth`h}JmnJPO=LIn zNYS#1E3(pFOKS%Lj}xis+|FnJgojI&P0U?`+cUMitAt9{D4{n>rp(*<`X5D6TovV~ zhy?wyN`HCzh>bTD+2@Csx4AuPl>hRLRJHScN#Fqp-XCSV?W0JTRtnfOdf*v5Kx;WA zgmAq3YBJhxuj6@<>yvgRLOP7~CbN1KFN-&hBEx0Ajw~M3OS}x2GDsQr4==aIaLy@? zx&P7Ul2}*glarKV`>Jm8^0bIQ^21a7?v&R`C&r`la;6or0wBDA>#MUG4^JNI|EK1D z8`)c-k+N5;6${;h7B4OJo>1(pd+Mv^AF&WdBKXYRJ{{I|e>HtE_lM4);|h$NY}4EV zOnJ)JrXiOD;em;toM0G+d7aN)+U`$&Y*3e=7sKreqHgX_HOSJEmzoOMiHO4(rUQRd zVyjogOUBh&aZQcr$Zzc)R5+F-a*%psNNn05>|e|D@?Mumq(96;Fw74T_B{9*J_%oK za9x$dYPf{afxj0NTI|yw{sUxS5-frnw%s3C6 ze?_v>pB6*##m@FXRt7Fq4U~z2F=P?#>Ja>CiPZ}RT+rRo-QR^CcXbPy);pOgT10uP z>;0!rxwgM{{jg1V3E~N&!(Z{h zTzY%CYV0hv)3ZqWjiUsLoWVlg>6ZFYTCl5V$b(LxIk;h%?s>=RGW8Rwq}q`=5HJ3s z4b^!7p<_??J3L7Wi!hYJ|@iKNMjs;Lurjd|?-jr()hbon>6?oMf&z~S3v5y0vOFq*3EwjUf) zrw6q+7U-u#m14-sOzn~yihW}&3-SwXDJ38*Ag;&@O#fr2^TT9;-XV44IPXm_4FOz- z>qmvCeES?jXc{7c#(X-WTa~L`yrUk2VHvyY?Z-vp zPX;~2aa}~jq)G;fP~CQgb2!fEqpM){03zg61$5}7D9(k8R__g99!DA%-?rlJ{RbYs z(_a0mV}7;Buh}f6&BzMIzsgR3J^Tv9jl$8#OI*NDg;E-=WgKZh{GtC(F+F#e%C!A# z4?z7jTT@)`i}fKsFSIWJV#)y@TO)EUTq4;!5LYkUpJCf<>2QX7Z9rcC0*!iwr@#2rdh=!eN5rd{6b*!$W%&Sp3?VIn;rcB@=r*}DJp>u-Ey6T@ZOSdh?l=A<(Z75mnffy?n>cHm=Gq6YP<=ZXA+whrIfEXQ+9 z+V;o_I|*bhEX{9%e+D&PNpqCvY=hppaFzi7Kg!d5ZEGV>bTJ?D6}Y5+H{}zxlGBBs9`$QG`NHAjoL#m~e9|X$t3}a`(;0nHac9gn+$V1)7+;Gb656ZhGnFi?0L8;(k-(H}GmAsesWFi-~V5a;i! z64Wve?jkak8a^+8qJ(JI?4(W%fp&d2ss>kyf7Wyx+WfbaIh6G!W)<-%;w&6{R%k6Z zPg)EH2fAK88I<0-d1m06oH51YlTNA{N}m$-E-M)+HdhtxSV6?^quJ)NQ99CICMtT@ z^z`>WgdcDt!@P+|oL`SLO?`0;e6UDXuaQ!&EfzCfgkKOmjlz+>WLAw(c=2k&f2^-k z$_>~<-NQKRhO=i;L9bK%Q#0c|e>KuU=63_BJbZ$SK{DhjqULrTp*K*%Po*bOJj^(O zlD{?RNfNpn?kn#&5*F>@0^LuF2s!3Ad_c?LPEPL4hoJDAKeRNMrt`1Flo$9rJoS{8 z3fke4)kI*&D#V2GlIVP|I0i2PncbsJ8TX8(_jMKb%508e9@s+}l*9IhqVy6$NATL3o*0o=E$<9Q+}9oD!#2Z-FGizQCla5SR$`|&M{h^G`3(3@_3AR_ zZRq~AdaidCA}Gv)?#!C571Tt36B#g|i%HFd%5)PL^OXSlo6s=2zlKCT>;LHA77nH~ zly+Wsx*(nW^7+G18$^0wob(zkO*|c$K9bRF@gfC<@=;n3=HCCb;nle=G(VZzqqJUr z0c3XHDQM$g9}XqPL8Os##qX&-F97uj=3AY-RjZ7JjtT73SRj$C#3xr-WKmPnZ^lFa zbBSMI35I7RbZ^nX6@J`e*R@KfLNQcAlDF7qhC(602^U`ykoEU(A43E*MG`B8#dI7G zMa0F$Q2jL=56WXyDeB=<-|JAey2rL7o0Lfg>IW*NBsqH!^wyvsQi`!Z|6F=kt)SmL zC9`$oXO|H(>umAqg%G>Ht~&;S8CAi3)&=P8-K@8l@MbvCDuc^b79+|N=tINy>Iv(Q zvSF~JjN$;tb)0tKNd_&@_2MO-!4tRTfh-wtp~n5BN7yWhgHZ=`21+T}U;waot_Rgk ztKVoLv9Et3Cr&=gEy?b29o1Z^=vCIl+4Rt>oBl9N4(oN<&&2&6>5l~)Vs94@$@`5; z{l{Pk{ot|yUj^ndEFHoPaWErST5dChozi4RD9Uoc%G9K%A&-wdpp2;!eT?zL%EBnQ zt++Ne>_QqaR@~ZcKzgLn|9IJ{d&b_f;IIiX)p&J@Z(l4o%z*F{u<<&S&%5(<+9vEX z8+i{aZ+PV#Ul60?4Hju<>u9LPFZu2!k@8#nqJUC#J78(iAF}%UI(nE`SKwwFE^DlB zoTQ8?$mCW1@MC&rGOa<$7@|%%QX#xpln_Rjr@ zxfYxS=9iX`tvffhsV&ssY$(KFC~ejthC!jT&}(M!blf|yU%dfw9D(E>idu3HWtjBj z+fP)&;tvr0S)Rj_2|CRsc(=!Q1=;UnP*Wa+v{ezG!s9hL+Vf#=&9bGAzv1F8BL zd%!o%ioDWRfKAS^LdT#9=jqNm1Y1--zEx49YK9z9pl%1_0TCqo0;f7K0Kp7Mfujn} zUj;y}x-Dp{G<`aTCy-d=F-IT~=`2f=tcd&pI^{{bfcUI4wtp?oOPS56YwlVohZ=cC z2<07;-VP?N`v`^>;VrxEmDg97IG;ek9w@(Io1yt6EALAW+fW0>>hY%vY{x9}sv8xK z>m&pp+!iB-%FG}SB9&6KHfw@MgQe^K;*;az2Z35=+|BvCIo*YXFi!lzU!tmbVA*DAvk#NNzD z=%NodHmj`uy)}39RFaLEZJ6+Pc$Q+ktHEl3X%~p8w%$y+!v{JfR<%2RpuKdrl4Yo_ zHlIEG#q*g-#q$@Fnfix!>oHmRhRf98z$q1UPj4c6$Ya7BX8!@7?dFQkTW_h>uL7sZ zU3fc8@n0q!DskjAVQ4*>q}+$W3O3;Ws}kwK>;}Fc|?@9YH!V%&&v$%^ecqxoMshpr#*T z*(nVj!OEb8>viE0(B5dSe3q3pOuVr>LnjHvc!340qgQS?Wy1-rl)OZb0%;5yK(0@vooQ%R3qBe-l4#J zHnm*wpO}8wyQh?>_vply2C1JqhOP>bw()?pZIb|DfMSDHql6|ukrL#C$SjECa4kyG zkZCT|?qwuWWQM=a85^FK(AABfF6M0Bk}cWM&*ihNCdhMsO46${+4m!ZcV$TUhBMHX zMQa}azC18)q%FYUIjZ#?J9?SPrcpMzZ|Cx*q3=kh9ro)GG*j^Iwl&v`X@%}aV=fu& z$f~Z@o1-F{q%rIm1%-~M)hgPuKZU56$#Nrc9U1JUv7W53`|~mF4l5hon(>W{+aF^^ zsd_&ZW+AhL!@RVt!`287_){mV%#!g ztrA>Sid#`WOE-CEM6**Whi@*Nw7Jq+q($KOXa7!$cIS-#nE`BoJj4*Slh_hAi} z*aoY~7Sixu_eaD1xX}>T!bm6$z+}SC>{~eDUv#@{bnv6q^26sZx3mjg0N%a^-2i#y zy_#r=c*q93m^Vf_=rwT2|6?_JYIw*{%sL5~Pc_HRQLIjypI{ooL5XzO&OsGML$MQY zkEYGy14LaKK$b^|I1h6}+xfuz3#|m;8ClPX8=PZMHJ!3UGl$1G@yPC9*co4Pl6?u*9sFU=F=>H;E?`g= zJOhlaUz$h{oI*ec1CP zvAv)JgOK{+q-m;Bjp+N#x{5U6s)kg+AoCAJI%HQlj>~fUbWG$3-D@V=RRJv?t1erK99E(b5&{zWu-L>k-(>M9?Zq;+Zo(hj z;NCoSgn%%aYT&XI3}?nd3)g)doq0h`^^}2ULXL%RW{_vtmG-RA~ z-nYWP#^09QJ`e0^rNalCBw?KuG+&3i|Dw>GIoLp7cJjXAKv>|@CG~)FDoKOY8AyVD zW~FRr2UFIz8RThrJ{i44j7mbX%)wTxujQ1+p|^A2temCJHqRCEa7qyUH+f#DE%llA zi##n|>eUsVHu9Wq`Z@kmmU7aEZq7}#7zZA>i5w@1ao#BOHalB*Yphu=CXv{?Yes)hhKNc$7*L5tlds{5)bv&vgnD{X4|jQV4679>p2 z?zE4?n!5(u+^4u(fZ5cR-Y7Rhr7_GuI4Old<`-^%>M#%1dAf*Q%aj)r1>|D>slWfF zJvMTEcFX05HQSn#a`VZuR|B&An730^;8;g7uw4dUtquGEFw^ zIenUIE%3hsGoqXvD_ht4=w9RdL_&BFD%_(9-kRC@e5= zdo!zYkBXaQ1n&V3FEIXXk*t^3+)<;GpAG}_IDo$zaFZkGUBNz5)(qJ_(rsAWvsAVF zRqrh)fzDLzSOAS{`)5m`E6ys|b*Z0BMD<_ZWQAf{>0>eR=rpHm|4Ei2UFcwzSWU*CUs3uaXZ~%$kN|K()TiBU`;1!JM0b{my?lUH=`@@Dwe_vg^BG;tZ=z_=>rP8 zK%6~a`g59*FZ>8!ogz=_>_4*-Ow73*;)B~r?8abgejS_nop!W??COW+9j?T64kbKr zXymHhfT(mjsLy+96AO=FcB0VFL$eP3rS3($jNV5I;ynVV$Mb|uobvzs~j$KY4`6>o1`aGgtTf@DMW z$`ES-mvODN zdK^^dUk(R6LF7YxwBhX$-UuGaBI9&V=xCQ;iq5eE)FUR|Jvmce*zH-Myo`m+g_7eI zW)LG1!2obna-wA{?{id>J;&K91_vsrIffO{ZP6RVH+MC}`ajki1A2RY3zK{hYOcKk zSB$K%%XY`dCCN4x?J6Y3QYDbytd%FYfkDI5`j}u(%~TYnl2IBmFLFB|;QCjE#&~NI zdrctz#O{2qfsA!bz26r)kGgwkQm*{jiBu;zCQBDKvQ11N^0Cz{N%Z1*?{RYw1L+{3 z3o5fUpEXdv1 zXu0`s?xz+|%zcOxn}G2e0mOurQ!fFZcHal(uY?&xQ@BUS?|L)+qI~#mhA2XyzW8TB zxi+0Y6NFkaZs{QrgT&han4!-ZC0tMz%xRL{HlUWAo{r#PJ(x8-IG>dkgrp0-%{bNv zQO0VnwOpPtgOp(<6xU!2E8Ity`LOOsrB1mZ6;=z8^Ocf^fv#=v{hhf(jVXYo%fNTU zCaLcphD<^&2)SaO(aumZF{{W8Jn2YmD`;$zfB5(e+EAgpwiwo1-rQk41&mt=c(IK7ThH0oNg12)OmRUJG&Oj;*yhYllDf5&IPj~sPLelC%v0X zENnwTQ&hS<%aTLN&SC^~4ZO5|CQ>9Vy(uNJ#8m)WwT_nw{_b|D#y?3FhKFnmpAu2iQ7pU9ZZoD>FT+ zGsUX6a>Jdh+Ej9Wp}fCJiJHDXQJvzWw*TPP$5#VVNOfmA$$5#?5r;cNu0C~txYJFn zxT5v`AyMI3wa}g$X4A{2qxt(>sYzAW8w?BGtVu_?C%SRwpo(8Q#_I0Lwq7QIWyF!# z(1-^y%7}ZAmpPO)a}-99vx#>~JzPsb8+1|6yfAeqOd7e|@kYD>y?v*3DdYyEL6)J? zO+>2K2d#-{_0-!e2p)XR@^t}F0y97Kc->*W;meFsh23ZSHaq!o{LDHG)6gYajq;s=ow=<>?`6v}w!TUy<1p%TNKqSQwZpcfMOwc3_-@D7 zj3Uq*XWoD`gWj0yG3VUW%@WXeG-v}onxHT%C~0rxEheVd)ZMz45mY+bUll(H7;`>u zHojHw_T&>X6ptD-vEck`j)g;=-!LfejXs>)Yi&uZvY=_!oqWk#0|f8*^NehE>b(Pt zin5lWcC0R9fM^&O1XFoWv*qIVI`)eH{ddr*ywl;~coMO0w+MpA;OVcVG zc}p9zgd_q>L3G< z;hNeXt+m2_kiB=1KLGs~UscY{pki)AqIr%s_q??fA*B@=i;uPj5^%BCv{nus6GW7B*4IwuSNICBpO(;XUloZx4kX z`o36!$Zra_72u_QVkMIUpRV(;0i@tOMz!K7SVL6@^s0K|*tkro)hj4nw>hoffL;Xl zZC43~g|Tybc7Am>_T7K393U#uYI~YX0ta^={O| z&~C<(B7n)K=AeTwotDI8u3FCxYU2M!WB(TG{Uf#U$em^=>Sn}Z_r`p)7R#kh( zgr3Ed0g|NN<{0}L4y__%!IYF259ezzvU5c5^h2lrc|SE&AzD}ufLcBB8ca+;QJ{R! zeI~!67SqmXB9sc!8xV_TpR0&GKInOjDTiGMM&geX4&XD1S?(gd`(mBv_=0OeK5UP` zXkJ`oOSa)kuHzRLv$qS*vz)`h70sF(Sh^yil^aT@BYEX9hX!{^;rlptZGAZWa)|%j zu7hWdW(|79Wvt2n(=hY#6-48I0UI3H*1NqQTytH(oY3U28JAJFiVVyRy2a! z>YWpWwOcX_UtoYe@#Baf!}N69>(j$HOJK!Bj!GG5SQYGEiED_f2CgsjK2lrfR?8CA z*dVS{DfuP`LUY)>_23m5q~Z2CPH8r33&*_G?FdW}P)JS1EGKl2Ftx}T8amJT(e0k6 ze~TQ5DITHaWIVKQEH5T!&l6TJzmjDCJEZ;Wk31fY2WIrs!$EtIdSte$X@FUtg|U0M zGdp|d+~G`?;!|~!5y>*SZZxSsrQUNbXo%*x_RfVMd_skYCZGYQTR`&iplknaNU4k^ z1n?7$hlDHJp0RfxQG17S*@C|@>?Vqg)%NryP}lg<2ba~WvBwoPKLJ*=myiZatAaA(zWH+%xJZ;d>D*)y!WaDTDY%9%atIOsP;fUO06TsKs*R{(-lR zm6J_6>i)9RPN9r3+^04c64}4o@Aj{bs}qNnCDjc|u81{Vl@q8aaT@faTb6dHPF99|0pQq${QAA2lYv-o;(x$q2Q-G z?+KNN|1G2{R$gb*<^{9$sa~NtQCJZ06Izp>Wqiny8x;l@BdbCw_5qdwVGR2r<3kT& zTh3ug_+a&+W)Agxm!b6qFR+Gr4+1fxD7a_b@@9iO$_sSNKyZs@r@GS_uYI>qjj}q{jx)J+-2r0q*&co7Mh1tAj+8fWK%}Fc1qXc@9jni_p>k(^55OcyufXB$DxHV`8NRE zTJ)5I2Hcjb{*sIbZ( zI>utZ=Ppz6a_x?n)@=%05I4kU7pF{eHWoueyiK~ig@CNleR{L4 zxc;C9szkb-B6=a+X{J zq)SK{vh~~z<)mvxT}l-XUiiS%Zs=Ec_7KgRn)g^55n%HwNZWoxp6c*0bxg5|qgU01 zojKbjZ#yX!Sg=t7+(RpkOl^8xqL)T>bD}tjC zV+OQq?Eh>)>Rl6nl8(n0yR(`WYeBbv$Jpwy9*8QJSb5{OCQt{o#Iq=iUFiXlgI17M z+?FJRa2bqyqU%}d9MEdXRg8h4y#}QECteoui}Knq z*zR$IvD8pMa7RJT@Ll>yNNwzaV(_m@E-Wve5?2)mcIE~wYpC#aM79@(KLM6(wtH4WeIP&DW zIpt@Y6He2V5plTYOs8{rnKq6ROC#l8=F>MqO-D3eC6b||po1ks1hrp`!0D++mE^1G zI(fY)SFQ#6+QU*#!+q$&bsABm> z17gsL2<5%et|7+G7an8(w>TBGl8h)s=9X4rl@u~!#mpM|mr`{$k zfEPV-u|A!|~49tx**%rIp(-RVT-SAzlK*Ns%^AY{M( zk~!rDagtUDpbli1$crP5ow}RE2(M8^#=Df`C+?&2IXTbr}gsG*Y_&6na&lVZCXyOgBDLvQ4lh%dp1}R=p@(& z@EskD>qe_EcID~P^JCe+mC`;lPN$m^j!CB&=v{n>+-I~}+c}^pRW{rL z`g$8X&cQJVd88py<^SedYRJ-2@0K6-ruVb5swJ;XQfl4QKAqH64{A%)o(uKA;KCq; z59g;JA{`ewg~~jPv8^I3RGs^N9EJ+wgF;yDewZ8L1ZaFyp*qSHtwMtbl1n2Lwv;j%-qVbGaHG&xajkA`( zc#2o|!DU}y6Q5v%k@m`3F}31EbfYA8DOOvK&;3%VR=?<>f~*%b-Q?7?C`iX;Y`Q#a zazpnos-FiF(2#N;bWQd;#wqytvz#E0nZ?J?h}JtDiCn28Js>B3c|*<>?Z>QumV_SQ zQWzcqRX<<0_1F1K<G$CaV!*j%gA$e$w2Lz zhhlwkTDkL$AZ@|p;Ui=E@!i=GrW5eP*$@h~X#H{I&gm|k z3g*S~RQ|HJ^K2p?xQ39(MEsFqACkQ<$+(2+T_J?s=^mLAnN^qR>QJH%D6QG|DdLsZ z%i8xghll`N*ZdoGKK2OsL{Nj@_L0==1Y^vn~y z!Ad>sAi2o#!Y8uplAbyX&fC0#;08-D$=ui;%;g<2P#KMD={ z75HssADLQamwx|}zb3|~_>K#~A`3}fDaoK{I-rRdo|9AS=cWfjxC5-`PWZmQrY>l! zF8MM#o2-vvsRN@*|JJ-HPt>)m7M@J-$6MoX2fa2Hcl(EZbb_bi0Id0e>KJ~ z+!|VFX6_B%ETsLDGn6oR#0kSrHX&as^TCvsuGBwZC3MCDhkIE&>xa@tgZ6Qy_xoD( zwZKL)I9R4JGjwUbj59z{G?9OgS8^s$2VhH7*Qf$dxc~TA-)!b%KC)j+SA9YLgQ+K# z-EaX9LS!-UB*dcvoON4pZuiHAD#Y4RaemRZ-M`qludw!T7z-7-A|67I9Y>2W4t8?V z_R!B%m2H8>kjSpNCCf#OP_^qHaZ|;*kUtRP_6pE${@|1UT-k#PK>K!S^>i4V%krCl@ zOu#q8!mdraMegSO!{{=& zEd}n2L=Bf~=R@{&l$IACmM!AMUUF2KvIDwBQSHMC0y~8x&GtoGnH#xS=o+Fp9cw3^?DZ@83xzAH#fLUL{9q5wm!S zthJgrB~Fkz)Ef}n?@}czB$VT!)6>#7nYWz{yrl%WG=M=WHE1M^FGS|+c1rTi_K=Q> zjU1%a?}(uyC`0=j9>)LTANR#97hjA3P`kx4%Ti)gt|XL5hyf9q0Q_!wBgqb8SFEOQ z#qVI3OP?_BmRyQ|e%i5!9D{dA%wD=M)Ref~&~n99j&0kZP@sM=oQtQY&7T#Hakcyl zD6B$m+ksj&VS`z5UdcG&Rl_4Yh!hz6l3j|BaNk{48l~sF2k=hy(u(bPoKWpqKNX(5XF@eL2@b_Z(I43e{QL93OCm1XEua} z?y~@8@Rmo2#9#kzQWxK7yK{i-}VyTv zaaccNv%W4E94l$jQuRq$Y&&=!9Mm;9!qdhXAatNbiW{@&+n~Ltsl#hpXg67Asw;5^ zgpwll)QH&41!$vd#euf&%lS}=B!lUDp>rgGX$md@0SA`1S@>nzHAtU=p_70;EXe8; z2xg|NP6Pb4CNKRjU8hCI+78sLMl*oc7FxLe(S3UfFEe}C`4Gwe@?2-lf~GdgV2rs< zMgnG-TWYmFf|%BVo?1f!A)O_2#l!`^GvnbkV%!Buy?RspcI_GAXa6`7g^a82KH7HV zZX;)T?IOb*al2>a(np2prCtQ@Nj+U5$G#{8~HzD#dM7R8ew%kZpqPx?_F}WXl{eQW)b;WEd zLo(LsZyytO#gmS3w6<{Am7p0=mZ^R>@x=);9)^^aX?DI$ zTi%*sq$FDF5AKYJBz)Bve=*lyqSn&10Nrcw#Se#w^Gmfp(8(3T-kb2T;Q{6yV&pX- zxNrvINiqyoiHzvuAUKBc!Ao-}eq&UGbabmcDq8boDokq^{0x-@HbLXxMVIMljs)|G zSLPrg>ROY45p+H?4Ui_SXX+0%%Gq8QmV0>2s^QQbz_kXgHmAsDa$`pF&WIHh_Cc3@ zhqbtc44s-nNt`nH#3uW&>|hb?GmFLUo&RRWC#@jEWYdixETJ|6W5N*p#onI=qNcj* zMb+}&RL#X;K@-Y3RK05Dvfph7l_x$1ZmhTlmHt?kf}J(nVI*lmf52h62H1it?ar}b zp^ki2dUiEQ{7jA34httC^yheYf)q~yNR&xJHPd5p@BtCz#Bf#ljHWuZ2csp?E2sSS zZaVKMeV@4=eTt6}gM?9#=`6dI ztU*sXjifZCpQ_8wK;X_)#3J6cbvWS(+QiX_S|WATmgi&z&omF!lHRA<`x#!XPE7`$ zhc*4`o0m>vlqMM!80BThAZ;`Nh5SHs)i!gth-T1D?HAl4j89M&`nVCH&W3iO6sk8* zxT*iPZ6OBsh8q5DVl;M3;Qq#^)XkF1YM6WbjiJ;?Awa|pj$C$5ppXHgX$Vxw->fBx z8rV!OJ10cL9~o*98b&zCCU3Qq4X>xQ{$v(NlIJf!9FCS>0aeh}e+uM5Dvqh|)TqYp z&>(VHm_T2Mv!MM+kA2QR92}NviQQfacNT3NpKQ1}7q}z1TMXnU`8lpha+IFBmg&j# zeEH9Ph{R6`-ehuyQ>gA+mXz6AFhQHVOqojMLisy*2N%MWp=O&5yOYHJgGSLBLmdY@ zK!q~O1&xgqr5z}CfHdG=Mlw>1JeAjm%RApIF+{Uo<21xKs$uj z8JFRN{qL>L8Az1dCw~Tiv>&AG^Q#pUK{m-M(_>jO`)sBk7dx?Gt?A_a7?Yj59RJ-R zA#tjN+Gc_}c+)5`nK$)BX<2HSCGEqW3<<{vOV#f<#cjh8CS^1Jq&BOO-8e zR~4J~Ez|_Tl{4Fjg?8~bfT~gXW56;e+b8pe5+%KZmLa5XYK{VJ`m1HQYg;>ae%Nul zayR_1ua;i8+!r3xT2~#L`~>X+Qrb;5XFA?-F8Mx_7j%a1Sd1QaSy9HO&Q`i*0y!eZ zqE|m`S4T9REHESssZd`%_4Oz2)H;c2Yv$fL8Tr;1JuvDut?*L7Yw{@&MKp+{LJ36(UsAHOe+0W{%@QV9Uz7!z_5 z_mF)ZN9_oKzR#YhSMgx0j5aj|KG$kKZCNK5!e?81_yk-#fKQ%zZ|ERYSo|bmr`=V zU#{gf9nA-U7i=BX^Jg;NQOYi3_#I$Yqgq!--Q=Q|sn1Nr1)z2?S@m`Wy(EoU00EQG zH~>7({Q`kU!OeH9paDCm8YB-SLu-fJHN8Z52eZH_Xo8S}uY^j4mg{Z(R}Jp4O)50kHam3Kgd2EM))N?InyDP!#i zoI9pR$pnljL4;C}M=0VU@h|wz|Gj<2dKt)k0ogouKc3M-u&;EOB&TdyHLKt*La-<# zk7hwD=keH!fIbtQ6N!5V-F~ez^?_o}D7joTy)TsU>Ai*Ek~lC0*0|rQe`>{Vb^q8c zN*i)i0rfcF>0&Vte4#v@Jn#HN@$2_lLXYvbgMehA>&8W~mXy5|@kJ$6o>g0xGEXLM zx|LHOoU!)KFqflvljZKc!Gw7O6yktkk{@@u|9DL!-%J#^)?b5?$ z>>Jqwgda%Ig_3*W|34Rg5`+u_khMMq*WaH;;mZnh#MFA+v%FW#e zgzCbW8=Yjva>)!x)m1)B=Gv@V0uDvLGe6i-KzKR>A;x0(?fhNSFSju-#-$DgmJfUe zH5IHF0`<`kVwa|up~bnC#X+>y%(K~gbDmM+%$@wob zZZZ}bJH3hiY3nmZR4CX0qZRT6T^eV~V^Jf3pm9)P)dvAQH6{b@mJ?V_^q4yXPAOdp z)8W=OQDv=;=ewxxH@ABzM_8-)L7{gIe#scuX~QdA(=JB z%y^+ni125A&HA9)XRqA@-bX`_gD#+hryp|14Jnp!QPB+itt+E#7DPa6p)a-yBif9? zGCb3+4oEe$5eAqfCiHW>;}f%x%~1SC*^(1O_S~z&zvmdP7##IhO~1`~Z+0V7{q-Q= zUiB5kZNXEQ?B0 z&(B1AnUq;DiM|BTSe}$Q2z+?&byC0x@H==&33I9)CC)+)f)9V_v{xN|fQuz4unaj2 zWDI0I8->M$L29yG2Xv~C88_Oni@&VsUr1m45wF1}AjM?b=r4q1#Ptde)5ILAcXUFD zCZSoLy|b<-KSSE=gO!+D^{#0Y%#xRQzQ^y-e+#bZ^d~Te>jjFM{VD)36mSQRE$3ax z4BajZx}v$|Uw9z5rF-3Hy#fvv%fDUEW5|yfIDukzh?JVkR=v}!NxmW!6addKYaugV z=_FD64lGgIi5FYR8%twRL;(aQjOig*vRqhLNyu84{?PP~ML16@?ywIe5RpB<_Wp7C zyNbE}YY+`QU`eAR;P#CUt28NJu;soR^pX*;rbLGj(a`K5iyKOgWm4RW6S{6FY!uwO zag%lsyDDd0tynSL!k>{u@Z~M~R7gl1{#Q3soXDu~7}UqEv>#mDjpGD9II$M-99z?1 z$G1X>IS?QAx!U6pWwSZkcn?||b3}K4`T|Zo*d%H^nbWzGt2HpQU03Xjs(Jz@=Y(~B zzM`J{!Wc3HDcZSccQKae;ONntWC_BeH}gn?2tH(#Vq<{!R1P8s}Kh6lyQnu8U!E^hKtv#`0ja@P07r_QYm2E z{(|JSYhe!60!ky-6WQMebd=yi77aLlHFaiWwL>smcUG~lRH$aU=XKg~Frt8V;sg>M zM=w-84?N5-kmTN8RRM5HSqPi45NpGNkqgPbN$(a_5&HMHe=CfKO&4%G|jEUxTmX{l@}qN|JI?FMo+vv zI?$vyzVZ&sV&pUL@o)AosJnTn1|Z_4r2LO4nb|x`FKj)HT@tip1Ij_WfWir+cT!yR zi)p~#-6y=>&C@rNu3Ied&(540dGlr(3~z85f>KA&a~ycZ>=5&-bNE$}2$fx08^Ve* zT2PW}L4YnA1~;=%xe&FW-{6*a3f3{21c2ar!e)Unp|lHdN%W7p==&SZj3&c4M=a7s zH<|8wI|Lt0g?t0K$+}JCPnACv?O9xQ?Z%7wU%O#@<*4y(-gaI7h|xfutiXKlY)3JW zt=0fPK)}DCVGK6i$D(<6hfo31KB&Nk{hiFjK(s9LM}%ICj8*0F8pXzC6(2CYXfOR7Qsz;)60 z=x}QT-eTMOQ~%A-Y|B{VwDVShC0gx=|f+D0(zT4bkz+BaW^vK%&qr$$JZTyBk zA=cE7HITe@l%ylRSbG#$B-(+TeNHXTFJ_=>j-BtyB{$qdjNU|Q% zwx4ohy5NP#T6s4g9J29iK5Ew(>HiAq|4?$pZ?A%H4lJ@#=`1QtS<|Hzx%b0ib(9c; zR}(M;@S~&LEW6SBy|c@|fS-k-zBbn}>E0udQKA^#AkLl(KYWdVxLr4U9lZ$q7{81= zRN6NJ+`Ca0JPCSN`^u-PQqF^1c{8W@x+r~I#qgL!Bmuz7#N3=kcPxZggOSVVN+;NDcC_*X3ROzCz3;ZQ( z!235HKy{oxJwn1If_qrwKB>sZu7AU{)WlR?ywMc3`w0b#Lq%8Af4;=ryvyWH+>%az zIF%>4h#FF~jG~>|;d|+FyLw*iF*pI(vrSEs)$5B~Sr>%d7%WsE3d#|{09f}h#Y|2h z-<6u^xpe{f1mWz@Y{x}X%QON}O86L&n5h)M3+Ir-0JvGz0!<~{RS}v_*JRtuZX~gP zY1gd=U9Lncw3F~|ZoDg+r1O|t--ZADMA4U1u>(HuZvCadV~3e>fFl z5K33Ac&33NFZ5Zd0dyP-O{|lXqFsMy_AV)M2~gCsN`uPFSlYeQCG1=wmmy849!n;4nXn>TzUJEj#)_0 zIpI_k;!?`!8x!mi1$DG035|G8U%zqJO{bM2$ayF`?u`*?)$y9krz8L7ti=x^1FU=b zOjq&WvZ-`4js|GAE}H6n^0@0WVG>2_YGNQ_AO68Es4y4YHZo9%HUFo*_834Orq_fE zQ|5`4xtMpoo6k>m0OS~h<_I%l#E66`J&%$*$81z0v!ZaP9IPeg;q|TcHX7lf-hJU> zNBPG!4|u0q-&km%A8#L`eKhgYz1knNvd@6KI*o~< z(kwf*%VAYKftimy!jn)uiFk#Esl=PE&qF!)?Du1 zVrpT(|Bjc#i@8f>XDvj*h{mXMelh?ZBPpriK^TsOIdhvUrjf2rT$q&UuuLoZ&n5zQ z!UvJ0wg|fl)uXDxt?oWcWwIyDp<=K-mz~<-%;|+OM0}}RrA-T8YbT}@CR2U*ztrp8 z{+a)_0yWU251jH~g=zb8fHY=JZ&m_c?D?8}^;)4GCTO+MmIP?H;o2+z2Cx;o3tPxB zD%tN?lq3_zQQN#_>fxd~U{)3VVFEIvDa)_i8p3@LKu|EcE%>GsY1}+OWrBq5IAN2n zRvr~RXN1EbezM`x`0Az?KT7!5v4uyIpr@;6nk~R7`)`L?Hbrp677pZnW#Vgk(c)oP zmx0@RTou(R0t92oH8gZ2`2ci4T)Wqzj6tyxnqr3&S!RKzrxLxU56Fmt65)1(Sb zR#V8og%miE;_=DER$O&O`i;?h@1FgHZ+AOk&o6b5o~2u}Xm5olA`j=dacsFPRHLQP z%xeg;#N$O>vx|d?(Wg2=oDR=ChrLy78)`52#UgC2-qkMzU4L=*My_keJ_&i%LDwZy zk?h=htu!*}NGX)9{i@=F{`5tHMw8J>jO#hr&4Gov*>W=5#bhXT6_~MWXI0Uz)-jI5 zrYE1$!wnMH+i$aV?MQD-x;GTbw(p852-NvZ=s&f`QF@FC&iv>Uv$`0A%%rfdk|vAd z3@qeBXR09_8qK8yF>7+9Upe8vlMjiNpP&;_T6Id$%%ebJFqu<|{XZa4%xU|iaRH*O z12nPmZ9cJjt8U1PiO(Bv@A2`>Ejce@vgP zA6=~$h6s7VH(!Ch(h}8hmK;7U_d_;Tc~zkbUr6@Gj7_Iz^|lqVBZK#179+Lj3I;N9 z=FB(dx1ht!Ikf{ul-8gv^k=s%r_~Z>dv=X7df0DkD;NfQ}!)MN8^h`3z!em_NAy?vAFQ&@=aBQ@ncc+(` zz~UJ*ShZ52rli){gTji8J|xzy|O5@{8kO%2Vu;v!1@}(i$V(yv1P)i^skt zpUkgE534Ax-~*x}%0Y3DDtZbzss6*hJM88P5n?~Nry`MJ6Td^KBu{NwT=Af$hlX?r z0Bc*Ysj#s6k+3pk`5Lh% zu4k&o`P}9rbiP60eesm>I{#K!i@p;arkR&X`1g^@zr~WNWWnSu(qpH5xZ#>TvaEM~ z{&(XIGA0#JTY2FFFXqr>U1lcnz$u-owTa@UOCI?o%LQ2V!Asl6jIdlluWY|9zP6

fWC=i{2SqAFDxG7MyQc~8e55f+u`p?0@PFV@9;pL{i9aYylC zGYYkfz53>fQ`VIGf#!ibzGbP^w00|9#0_1)Z{)aB)4$Mm`QH4L)06IP@(ugWid|iJjx4 zSxC!=Hvx^xgNoO#g*yt}@q|qw#nyOX-QR&NO3fuR8rVwj+!- zkX-XLe)dEd^egNo4kgQ;XduyEVKXK-3~k4s@u-*oJ|i9Je71cf2R46OK(fdU%(3IXYH_b~f*SA{i4HYiq4}0%}tk%mvLa0TzrGRT(`}4Kpvf z5kFI6gTzCw>a$+0J%cEKvf&0t(OiAMYV#27=AP5mff#?!ZY@&;yovq$kw}mP?Rtr(+Q31mqG6fXCYygAbdFeu4C8p~C+USVDP%#*byWCVFe{Gyq z-qhkeLT&+?hQl+KawnJKc%skQWDaqNNu)joUK~+pXehk+OgUlQYhEdJCxzZxlcy>K zXb$3P#^!KB_I7>Z!BXFqB_pL;Cp9V^yRI0+0C%Mo<5#T1Lk<4G+;EZo6__jl#$8aj zXRN^|kNP4B{&XuHh?kiGk7GxLAM-5d@kKYBELLlj?q|JEH7PLVa2Vp%&-k%4f9S?M zG8sC3_e4nKia~1SE}yT1EKU8Fy)=mYqb4I`EFS=YUpx?|mDlSjT(r_m>AM0l(TMCb zoWP9Wk3kV1cJvX!eEPfV6mVL}y4ZaWb}j5K2qMra5^4$F8CQ;=#(BW94dk@s2*oVm z=!%*iq462-(l~^V?$p6f;q&2#R2eGV6<>3hwrU|p^Z3pxfTTbTuxU44I|K5Juy48*JlrzYV|k;a%q|7p4RVn%H-@kE%_1Uatr{PLB5xgzwGStnws|a{z^097r7n;-D7^&YnKnds!!C}3%%#QaZg zhe6d5e8%Qv66sCr#C++?9B3~`KoET^PA9n@vJ^t|Ri}>^n36e!R%MU=HIb!4a36Sa z>AL0&hAEFZNXNpsmnyX^y78c(QS* zF2#{w52OVfd;UKx!IsA^+9*^^Asqmno+}fGdZF6Q_bq;A(Ft9n0jtJWb5uKUHCmB_ z_BE^neDFg4ty1$-wSxj|hF*0lbNv#{s%orgtmK{DhT80={0R0?R@Ke6ONb1yFj!X? zVif!M4jq~-$10CT>l(doic0Xul>IDK)Xhz5)c$yvZN7BjpEsR{GfrllxAhmllY+)iv*1$f=)!f z1%;odZB>p%Fo+{DaAr)wL~qN9%RVjhV_`&x5{|@R+dnO0CjB`<8l_8XXo#T9>tmvM zj|7mJDZS5UH7Kls^UZQEw=135(jW#dNB_+z5y5*^e-{#P80Pc0>IM5?<)p_;oT)V@txM_fy|rv`#HqU`4HtdlqY4lNvXM zL3lF3Q z4^EY!LRy;j?uogFde-gOFOP{M4kDoYN-B92u;zmO>~P&+QuRfXIDzaV-c=}_z!MDw zYkEhqT{I)sI^O!vKJk965c|-b9DZ_=7p6Tvx$mL1m74V@Q~$-<&1$8YEXLY>0%TtQ zGCm~KajS)v5eYQ`GQ*a$TR=cL5>a8X-IgwvjncFHZc+QCp3Pe_BjW8?`Rk+RHs6ql z5`(g-nXblIRt0=U-}H-bwYBA-`vZ4_d{cE35qZBWl#3;>Q18?knHBvK%IqW)sic9g z&4Jd#pbm^(R~GM`+Le5$R5GCiQ>_fQ6V8{-JjmA5#-q~}Jt+F259>>j;#L-M?eH~0 zCkOQ5;uKR4!D6F|OHyY~%%{|!Ytre6P3|@m1)!YPI#L(Q&oMUuWiC2%>>0S zbCbzCa0kgqPK_p^*7TDk6jrpP!S{Y;KCY;wE;A_sqLs`p^7F&2&?~fQMA=p5tYVUMU7xA8tEeZ_-~8Wefm$kWWp0Iy&?)Km zA45QwB*|&&MoJ_3BtCB(xGoxq>@fd=2-hO5?cEM5pB$}Ye0JE&LHy~#6FXv>O33Y_Ap|r^yA+Nxs5PUm zHI+diwp7<&iut!47Wn_ME>b_o5qvIgyw-O!u27l#6Ju5N^Mx1Loiy+W#miz@r+@|k}xw_=$3HFeU^�&($bG0PlC^|DXSVXHM?5a5 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

VZ=9Lnh7D>$> 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�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 z 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

Gt#eni_SoJQ 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

VvZ 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࿾UDMsJmpX`QV!mBFntTkl+msbpn2DB9Oqx<3zE)4DlK3LL#Z%gn7Ra$4!Qo@} zR1%J+GQ?GdQ9BeBPJhD4qM4Yf)d0}sEWpi z{AyH941D0({3!0M%j-|Y*RNk&An)t zxe*j1WJ!H6Dwy;wQP~SEA;5gQXwHNJ-Vrswd@&?J{^z9=3{ox_;S6zb*)^THs76y)-`jLmpI&sJ*TRIEl- ze09q@)BmvLwmlg0&u0%jzn^wFZw#kX(-+Km{Ol9;0@IvzEC_)aoPXN2aOq_F9_>+7NQGt)iw@f>6K z>^vu!ZkyoL24V;|H63#2R%Ksq<>#-3f^9AYf|nu9w;LY37}Av?*J*tHJ1Ju~Ya}-k z#%{=Z0GMKf<;AJjZTXHT!sh921@BdM1PcDl}h*e2Tlj$pwS zDB6sO9mAKB0X-edz4y*ThdaofT^fz=NOTnQlGf(KO)I0ntt9#zgIZ&Q7HA44Ro$^3 zer{QEZL|>sPDLTU(M@~<(Cxf}tNim%F{8`s*N86;eWWZPM~sc9cKkYY;hv^U>Z`&o zvm31ioh#p%Kv3In7}x+QK0;BE^1W`x!9I6^>yQ5i>yo3_k}- z52lC?4B%1oi|3LQ6!_%+YjHBbync(q>}=XibUx@H>AcZ~tUC<6+cv=#)`qwg=ji}t zX|qShSgJBp__+Y2KYx+PU)<1&l?(0c_n@;zi6zYL22)0VAeP{yR_lsvbs+-nQ1*l7 z=NI)Qjr6Rj0%Rs2Z&`=Y!B6R=R@4Jsf}+w=2uNh+y}M{&2N*rT1On`^+dtCgs{XZi zRQe7)y-Ik{zoj`RyixKu5UkWM{?=RvYfhllockk)^$&eNVv>%pcGgKRO) zzdwpZ-TsPSjk?`mK$$1C9mggo-)2{jVXOBdiEO&CCgXIig*yaj`*h;(S_F)y5W+W|_w|ZM&)yzMwyHwn1Ap6@7tipo!kd*$6EH?F0? zSr)$k5!)xr=KY{9oEnf;SALFG3_YUJ@B|?2_$n3`Z=A9TZ=(EOCGmQHK8#}^&7=5o zvAO&%l##ej_=i|!K0Q@_OtokM8j_gZNc7XD$ZuwXm)uaxmmcuDXg5**Fi=ip*;YkI zhPTGNo4^5V)m`EW?Ki)TGWqM*_^8>=Spt}drTcAQ@ZAlBiKmvPwh0bi3GUD-!U$Gx z)Th^j@C1edshMn5{cgrp%Bx?QbVfk2j$sNCV^ivSd{1wd&ioaonY;%h(1+)IP|TYR zB$Z7{OVnRl`z`6Z%y6*E44|~!te~jcBd9SCk^<1-ykLrJ6*GS74szwEZwEzOVVpk+ z8<@jum^S<+7tFx^@z*RG%{7K(8O(1f|S=9gev<~5@6 zG=STDrGj+0cG0NH8H3c8&i&mK)1f>0SlY=qhy2`M>iITOXm+y2_iJ%cnToabG~%Nj ziWSI?XCx=I>?f(Qf44dp ziM$aqML7`6>kb0L|CPoUDXP$TI_|k`R%RSlKZ)fZ&9^>K%cWDr#%Bn$v;T__H{%!I z=+<+kRGXVa=+`$FYXL39a|^i;h1ih>+1l#A_4O~C)Jk?c0x{BX_2LX${5N~t=va}d zP)n_cV3cHw?7jliiDqYe1$++5u$-$dGP^(mUMrR}fVE9w!UESzoE1J15FKgZ<(kg+j*IDo)7eEZ*)St^Id+`11ZFUD0y+vZ%a-p(rr-3aWO{Cfs%RE=Hb{ z;nC;DA`IudJ6+2LD@dAbzD?}7# z-!4;9=f)LXlIj|tEk%1+JYd*J$cM!do^D%p4ZGbeiAZSzw)K)QZj@Z`5H9wipksw# zKa_km=0vHy#8IUH3xT;h}ET4@0#g|r0+>1 zZk$ck<>ugQ9w-J7s?Qm&XapAY4R$BU6?zJ$jh}P;hR0s?D?0a&xhK_S?*08=fJ=MP3iOj!ZHg`o! zkJui@_#k z3gqYc30vU@BD)mMaETS(HyhV}VU8S%m^r2aer|0yZM*qOO^XeDCMukKa0CDA;+*zr zM#bRsN&hv(7alGWd4&okoa&*CvVYDn3$&uEEg>eOtG}G1hx0-508YlDMMGbJA?=~P z&(_^-fU?U^yfHw#iW2qMIvWED>oVN+z9PcvHA;s_k2`o~XTw!CE=Y-F7-_T~E8s*O zb`*{PsKMyxzH>Q-q)_nDnf8#Lqnj)pwYpHQ8r39wPHfxG#u@2o>T##zxu{o|b%w>^ zh~YiuV%f)(*ZheO%67fm&Q{Xtf7whuh~sqf>tV^ey8hq`?}pV&fQUIxVHex z02%wtc(|eYZbshF6QX;Eo25_>V>gmC!?meCGZ$mHkY_v+%m`cANA+!1flNYyg{5wg zvA33vac|?5XXGsztQ?cM@f!t3O9Uzh%B*N`d}mjK9V`IkUqCP7q^h#xPhtUT*M2f3 zmo@ObDv{6UmE(prZWEj95*h?!ba`61z7Se|VC#B|+WbAIJNC0`dM+06kx z$D5GSZ`6()h0RukdwYBon{bES?y!~o2^R+bXjYS4`;?bKS`f};IMX#8I0{uP@l6kS zV>2Tj$Ob~N_Tm&fCo1~5k)c55G$wCp0jv_gu=xpvbWThIO5+ZT$2DsqewxOBYh*7}!Mv3(=W`F?iQI6HBkuzAB!;WguLIsg75zwlun1r~=f4|K z1GG}lVF0GFGjxSne-Ck0qy-a-)BErM&e|fb?>;bel;putk`(`74(WyZh8_V6WO*=U)|qI<=#&!znJL=b$AoV~5lVxaR~gi56A= z0L;R+U+UP-*Vi5X&(lMOrX^56X&rdbi7jP5cXA8laFV%n9V@5AQJ@rX3Y3Uef+J(6kBpo-7|BZnCQ@ZhUQ?^mDbwKud`w!SEDsws!S^efRjB5rk+LCzje>X^ z=&Xi}1^E_U2(cwF6xHo*r9N79vC9fLj2g05SN+}>ZmjSc=aYX|?U^{bF%|Wk%=6^1 zhTyJE_pI)AxycOBd)*Yjmn6!6-q`8EQwPR35`x4cKsj3T<-s!`Pd$wPT%S7gs z0P3TIF9jhLFf2~Zj7rxh4{T?7dg6(T7mhnMO02|_dzvQ#kXVCdiGCVhyZP0_=r-1nk6whykWi+)ZpQvdiN78>v2 z_N+Hi)UhJ1@n*U199h`a(OWA_<&_!&93FAnQct@t`KCSi9*3%hS0ggr*`6K*uH?We zalxHzi(hcd@DcfcKW>8DDOz2!G~uQOr z^i(M|TMYyBcA;uq^9)0gzYr%yP8)juM^_NdD^iYKg$D3|#v8+EwZ1wz(JXamt9jjL zdO7%_w3R!QRg_R6)1|2$9n02qIF0P1J2{|8p`6R7_~JPr?u0MKxgf~9IEIvR1kRRC z$rsiN{x7yMTS;0bL1^B(5?GUwyF`MS1?^rSsP2{C_&z75jFnbILa*HvVuM@RpB3vt zYc?n`q);SfjTNK_?HOVrn?@}obkjX5dBe!!lEZKR+x`2*PIu3bnMazt-IU7 zIzJ+o5}zlgn-Fz542yy38iQC_4n z$cP~mh~7xl86MS`m(zna0-XSdZodjd6X+0`R_Xi8C4npRhIbt$8$VlcYka;dy@MTS zt6oF$dQeCu=4*E_G^U{l1ZDPPRuf~;p8ZOlyqVylfcIPEi;Z(L0FbRUoCSPs7D(hH ziA%Sg0;7Y`!>n1DvI*Qvw%ge%8sr-UFCJWw1V<^pKAz*jn}up<*ll=eEJmxk>U)Q2 z8NLsg4eo`kiu~Wwh>kJHWa_)3;X**VM7pLQpAhZAw`Q1iZb&^9oroX6u_fmZP zy1$Q+ZflM_dB3lw2dd+VB?u1RLAWi6dCp?pn-BQ{vF_b~O3&rOLu%=o$Kegl!Dx;G z{V6A-_#4-G+<_$-qqRqQ$XcsR);noe`5}p%$Df%t6lB8ycDCq}!-R`HEJsjUCA2Ap zXwrVaw}#Vb6OsKD@39yRLxWqAAp^@XodW$C3goFZj|IQ;UGk!2jt!1PHJU9TTmi<8 z=K2bvID*w)CfgEpc_AMDIvgJu0y=YLZ(8ZxE|4eOYqA&fk)p}Pg=EyJUW=erx(ICJ zmYD%Dj07A$`)7J#cY=JCc3Hm;pucEt3xLZ^2J40-fkHOeI#1-D)u>49hFT*mn!~Lk zNf<=vsqTFG1IJS}oWSvePs>3oaTwkUn;j`J@q-as0Q;Acd_b^YlPlMZ51GQa=YZ??{>vmXCRkN#GHavj~yvf8|x~*z3)kx+AFdVlipEpil>xM^7 z7tR`M`-HQV9$L+shuD?ZDHxvlo4rWF)z*jTQfPf7u542x36kErdoc{%KlX~BfrUVY zlnBk5Dz1{HH9luYKpwfIG*^iSW%WBekmaI*E|KAzWYTxQx!OnkUwfcSWFWFPFXfoa zd;NscncMDr;-~yMvDh+$``gZ%?1{jQsJ|OZPr=dAR&`iJVA07~RY!*H;}guSl2?$} zp9Yyrot=B+mK9hK$mQHfG`GQX%)u@a@_!hdO-8?cPnnZxYboM^xfH_S4c4KXlk*dY|b?reC5Vf z*a~jxirjPis}$rjeLvJYC*EkcBng1h%!D0_Wa21MI)|0~jZj2@*WFJ~eRyCUC}eRhGwc@NI^I9Y_5q2PCN%S$VQlMq5|*=MJf#$B*eBc7jO%XYS9wv0kL2Ip zYGEE!)-TUzCT=^)?d}qq(*)(Lm3m4J3 zPynBKg;RWzYOA#U** zrQUh~2wB*!vR7FI^t=EHktJ`~Y)2Fz&yCS1GeXu+2myD6yK`)lwa20;YRSRx3?|gYiU+PF4=f|UY(2;C$FmCYp8ILgl;K@Bz z|G#wuUhxWczUOu!2(=Tv<_E+!zeitjsNm1GaE4TfnDst3El;*Bs@C8LFz8R@a09d7 zH5Bo3Zk?zH!I#Q%X39?&Jxev?7T_8W>+9i`5&>p=+OYJ>(t0>qJgr17%2Qfyadwjh zhO;Ap#Xw1eI_02kfmef83tWpyhGPoEa#ibA!+H+(w6^R&0vNtJQ0B%f{C=KY{hOV) z;6|FCjpG|rlTa>$$l5Je8hHWNKHm4~%F9utycc^9*X+VHpswiX_}z6hLWdbsdTWz8 z-RM>?HqqaAe`#R9vA`Z4vq4AND9N z)lQ;X!}65K9I}gk2*h1kzH}^B+0xl-u!b62RdDN6A&GB$mM7p@_XLg9Z&gRdQ{$2M zSZzV**GBFUVlB8qBv$g!Vy|;40=t6!u%I%khcvZ_IY?s!*C-XfPt1UV*CR_oIgtqR z7po{%lm<2sCcEf=At7`F^F7zep=kTGuw-FNziTnbQf1eTs$UyB0(C5qC4txqT{G?c z64|gcHbDzP!&B>j6jV2A+|$CxGFoXyY{_NN|3E{}bC>oT@_|1ni(ns&-TJ9Pkg4Rf zt{!-43ts8aTPqiXoj@RuB2x&ZytVZcd^S|S$UwsQnVUeRF>Fq&(1=>Lj5}=At_b^z ze5R_~2Qtu5lEFjyP`8`qrsgc$;I0Vu>tQX-wiYKMjJtY(*Dwr+Rr!< zWa4rZ{9Q-CjBEMPTDoH1gTf;l!7PTTxt2OIrL*hHC%7~^PwRd-h#VeOzHNHrRXFM4 zg801qWqs-Z**vnX8QaVLGPkOc7j!J6CU6b?l>(*5XbP^~#z7^4JBUvO|Lw2@i3 z?ZK1NXmH=SL*Z!&M`h)Q*>+Oki!@N#kU*-+)0cX#p&`5ig9XtWSRiS{P~X>h=7S)vAJZ}Rxcg(5M2g~PoY0Sm=Rlu2~Kz@goII<5Rx$XJ&89w8%S6dWMVY3RW637 zZe{047GkkP3N>Sqzt@Dc?YntRXXI3irtz(iiIIk^t9~~wj|35&o39I19SSdgcR$t4 zmK+^1+pP@ngf$fkAiefk^--2ZwDbBNl$W4rn?w?v3eT?03pr!WEc8<>uCBCNB(!<= zOHl4OU2voy82((o%NY|*&37&4`x}8JIelO$ zC8`Qxy~2^lH+C)8~K=nbX+=1uN={~1Ygs(y2Z?SJEcNSf@Q zQlh4sSB?r#Z=Cw!ef~KjNR0(~?S)}R?JP!kBYy}+= zCTCr*{N9j)L?)E1tSRmV47jaKFT=zTP(fxMUyXEWvQ`KrNRE@Ygyv&=DQbBmSp~k6 z$(BU{T3(~uv4USHWF!}i!^cWO1fWk?vBm&tX}%Qtz@4kowl z3p{CnbkmFI*srZL;dl03)lp!8m%u2K2!_DX8_xi!<~{Np@Gst0pRNTTb-&;Xx1zcw zi6src8OcJ?PtgWhuxHXHiJimW$yjO%n0o;BuMl?pc$D=&rFT9d0XHULm9NTp!p^gu zh>0)*G6_eLs1%N}38dLyVH!rQGk4loTlQ6>P4P_&1ZUCzbhL7A)j*;6xY?H3E3&0(h0Nv!)qXCh5TMI8+AX>I5lGh9@$^%mMWZdLd7g^+4#|`X z7f-BOi=&+h&oM4I@hiE4ka4e^l!qssg|VEymT_pO4+ z?ZUlBFf!vZ%vd#GIp4Pp8oHuLLo0=~I&T9)5K8zfs3)!h-_Qig%3<6rW$N6<8_= zLXnALEP`Iz6+ei_oI9XCs%PV_Vx5v_MjE|*au`U7`k4PgXyBQce`7bGa~UlvZ7os%-AJv{s68|nxU zqee%(6@`@5Zu|9OTyNxwG6mlk8spdf+Xylg4wq6xa6Iv?a8WJ~;*xFa0G~%)k#cQW z3$_Sq0drLHg85VbjGM9L;yZW}86r@lBq3cn9!i8PP+sGYxkEEy87Y>A35J}2_rU|- zd=)nI^0zzZkR}@(J@^GeOr=??h$PwE4?SL6Dntl@yGlzM9~sEa`lT zCrGLT$Gm9*x+st)3_nHomdNx_mnwu9fr5(QA&3DhL`<-z+M3}H^J@`uGf1Nn7KDBg zE&XZ{3>Z#i&Pj}o$`CkC&}}vp(OsM&9GG@BH5@!Fpt%hP=pkV`=#(2BoDS*0ZB+?R zT+$ovXwJ!jyD~+@JZ}6hUdnmu?2yHegHhC#h`uIzs3FYBuu1L5CrJ?_Y>aZD^HvGu z4KgatA4ho)eVlZiIc7hsFQWT?qx6zxk5rXS3cg(zu#`+hMgLju2$o}o6_cUKnsy5) z&W1_QkyafQU~Cq13rW1(?4`8EgI@-u@0o7{@y`n#ZVRdUjo7K&NwVY#4XBPaxct~( zeq;zeGENUM)m7&fSFIZ6hP^;+Ns+_pxo9$XJ&~UR_1>1Plyq99dP_*|Zl3EI3rIwB z#j6CE7ZY(LK_iJfM9Os>wHW2VNqGWugu@VeLG80c&x^;&oBPh-F>h>OU%YnxUz_LCY-&#|KR936_^^ z;7tydJ3!h7VFr4ZX=^T#9 z783=?e^ai6W*yU!(BcODnWXeceHyuRqFX(PR~)5&G&R&J9iK-b4%dwAsAG(y;~Vh_ zaPI<*e92UYhL@T`YnK+;ggs-R`p42j1ExBg7;Y^I78D2LR|nXOXVg|>#vD<}DSJp8 z&)}+)Dg(pX{{6fSYw65&ehix!<Q!;=IS-a@to@+O>~U01*Eg^zFOR(}vfGB`{)XYtyjLgMo2=ttS=BEnFkQJ$&!P z2q8R+6lAWdFJvKKX#sgmi*5XbI^AXA1hpF9)cLnIIWdBVDAk3(<&pW!HK;`2t%T*o z2S~(q5;>wGqK!A-vN-zJB`0L}wyTV|V`8gi0EattA83DlV!w{$#Kp8?-S?KMUV=1%W}S3uCO7PXaffA&bYklzTYAl}1jeXoGW)+Rdp8os0Is79q zEKSx^)oxIiK3gc#xVwb84WYtR`S7Gq$FTq^lyU^fy09zZqPVyfFY4Nnxso{=k-t|E zo?kh7b(7?hw0hv6CX2sr5$e(aZ<_JM1yBi3J{%9XN#Uado7e_Y2zV84ZNmW9*F2WJ z39d9)SnTCL5KTK=`LL5i_4fl&jrSec)+N9LDL zf0LLL5g`fG?BA7v;Y0nCB7;a9Zlm~5EYm@8+v&w}hN^hafm~hG6k=aDoAG6G+7rYl zbP5Xt0C(+KKf8u*sluP|94}=fj%9Yz%*bm@l|t9#X+a$kKhCim3!7xYTK{M4f;XL6 zG(~f$hi@`(y?~e-1;9sJV6oq&V>`1Uem6W6Su?+~0v6kDFV{^zp8xR$2!` z0uuv{1Oz}=p1Ab$;k#B|ZmC9ADXYQs8H_X+ZHs~;Si2%`X?4uPUMlhk>dp@BM z99!)%-;8YU=^=Cuvox_N_=G+YYb6~^3ty`XN6^(gc~E959#xP1NYY8A2V6H2VWnW- z2@M9_?P`pfeN})#c3a@Mc#lk!$?>&BsnPMu>|#3Xzm!4qElu^8g4u?l2)P&ijpsm7 z+d#QwJ!W;=9nOe}$tLp4B*NjR<>qkl>z&ksIbx)_=}q*&97B`|)W#onTHGWQKhf0CuW^|OcT>kNtmt?(S#4We+KviSP$krO9oT?2k3&Ea zbv2updy5d0a#LvwW4gsUF$+Xn6zTQ#IHpHMN-%I55sS9-brP6CJItC}*|+i$l}`bD zTn%SeJYejNDNgB?wW6TEh^g^393hk6k}&xRS=(ZmVD8n^*yoveZq?+^MPDFFMIjQ| zN`>YApP6w9vhOb|P_qj=-v^58fg9W9c^VB?*rjomS2pGqSPz<$R;J91?YCzt?3E7A z_4_jT6z5U=?V$gZ=cJI~;)A_is)<-d11lyQ79=GeSV~cEJ>{UzmE8BeoOU>a&`nt3 zzb<0^7p>RGn1e_$wN6)KVk_Qzr#;3DS?7mId7Cb=$sa^;ow(6Tk?XdSb$@#4mF9FW zThVD}O`tu*^Ql}MW*1~#h|Um4Wm)`itxP%UQMQkC1ow!d`gMv_x5_Y$Npp`SiR0k_ z=Yn64EeSs#sywgk0M){2>fN!*xd@!tR^{(q_1?R0AEm73HwV~Ko84`+wE^N*gnzcf z;MQ)Xwf6B7>`Q0gjI-L!!;B8vN5UaYXs~hj(t|Bl5QlIXn|qPuLpM9()&_cgt+nCK zxa{5r6Sf&mak&;fN)>-o)4K^OFm0cX9TUQH81tx6(;g|O4N-0 z^GNbU=EzQ6MI&muB`Rjf@~WU0c7|~+ZFEj39X zCiJ})Gg|5?ud_d|?B%+3auEJ}63B3?6x|!qM_7ux`;Y~&}&lX^)VO5~_84inaWsnl}oQ8ZBNl{NTAo??_ zx{jshi<^l!n*~z&s4E!Kzf70WkTn1~IF7DilYWiSo!#op{pWqq zZfPP(yE;HYC{uW}jU+Du_Rmz_lUU6{%b+1h)?G4Ikhf&C0nFaM6s5j>>T@{1 zmQezn>e?j)BD{IEhq}mSJ=3u z^MMY~b}e+b3z{lb28x}VgUg14;*{|}t|s{KYBDZgmDXW!YV9-2A~UQ@I8IxaY#3fm zCgyGI<$;g0ZJ8GPpkd|#tCk+%X95w|Fa)8)ZXaTOeeGN7~ z7@+OPr22DxKG=EyqtS(k@toN4RH9kT)@zy+Lvi(~27UZV|Bo4xRWXHh*|)AiuXT}s ze@x;Rm?r1=lWIY}d)_=t?9tnxqszhjB8r~gFj9a|XNuV-htr{0SJk-eG2du4*CeZT z&1Kx#k})t3@**UV^VCsG#ex*xZeHc~&x_2NF5#|T8k=;Xc`O0dutxr~LPCyfxnS`# zI20jZU$N4;Ohv<*j2+on9Ha%bZ3*K|A}5DQt~;woG576oLP@Li1WKF1n+cRuSe#B{ zI*T+L!^Jm9QrRa@dwBdF<479=T+k&^ed9d^l zZoh27!+cgTFxK27Km)1%8D`X+>dlVYJ$n9o9g^RX0J#UiC;-3V!!&v>ubU<({U?q# zNjws++My2my3U;8K`A3;3nT6Acp)kY)y z&;kc}uxhNY)8o}GgVlJlX`J;TbPiO#am`(SY^t|kX6BatLyZkMn1Tw7@ z5Q~fZ>cGd#8Cw(K%E1Dm!Y^f6s2ZJoM7#+`mlz*`5Ymb|G;pmstsjEvreGbapZ+Efq1go zGiGjbTVhmC58f;wGc;tcwi#S!Fl5$(8OgHdA~Tts=fKw$7xN(C!;HEn!bb@e`c$kz zs%f#|QT-~h#BI$18EwSn(;JmQ_pkSjs&-7Y@89%#ep9QYQIar&FnH;X7h*3{Q20=L zYtC?24D4+bglPX2r=A)D8Or?C+Jr@$CXevlN$w97| zvG45-)i5jTTYm#u^!S5zy%XLmSaF|oduuzC$;VE{Q!^pbz-sOTP<^2Yc$7zSDYK0i zQj}28w%LK0G7`p4O@Cl8C}_bNb!oj=)f|u)gK0C1g_a*k#O@tyPY)>Rz!kxr|Vgu|K0CK_qHmBNFbL z<{L|4Hr7Tu-#Xf9EGE{0zZlCbUUGe*jj3?aKrhdXvxJA)m_0sG!VYx%q~G1Lv#w!1 zrVdd4BudNcHEGY4U2ACsCo+DHDOUv>@BqWp_@2%@c$;y|U$c<|*ZEC4j8Xlv-Ef~t zCKDZe&5ay1`>wtamy4FBRERJ9$p^(Hy#(&1OT6mghgAa;WFZW%#}vloE7dvsfatvB zY$w>YDJiEi3J!thx9A^PraOX*P7gAV^z7)QgfbTk1})rY822eU*wQ+S{}w_zEFiMp zVj*I6!z~VE@il$&bH{s!XijkHLs`; z2Ef=V74rZ2!g})5ONx}$7y`l^SGOmyBoyK5O8i6C zlc>A;$OoXV(Y_}x6 zX$ulo>~B!U3YM4c2zfYF4Ma;r1eC&ruzu651s{=S^ka{R^DO`Fxd``dRoBrARR%MzXb?)($ z@q~hBMlZYukEKG!qPN=I+Byz`*^-;A6S%&{Go4!=-~%Yc#2os|7oya|+mw;7pr23c zdc|ithY0xqGmHx6S$o{T<6b^3R|GVEl(V2QmgVUGZI04` z-3BmX%h3PvFNhkt$I;Gw6mh1e8tlxDh8|-HG@8KqrYq8e@jI~%$Bm$VAERdUPx$*j zmi^eG>qnuH@rsd4s_b)1I#OP8Mj5z0T$8XZtS)EKhOa~S?J?ajT?8=ti>%)G+Fbi$ zoP*K@88u5wI`~Dy@1E+P zeZ4*&zt4{fqSsSI7e6Oxo{Qo|W$57;7|&!ru-~8aKtXMO2{(2nN_kI ziWL=0b3Nsw-6G;m1DOtr9~B8xm=$6JFrXwWL^77K5BM_#He*SYoI{(y?I51jjr;?U zi;%W#>neEh@6Y4bNe9UK)SSrq%#$H8!s;d#F$$%9#7(zY_Xm|8tWsO8MY&9(JmW_F zT9ISp^7D*EX6!&?QEtGmo>blHBtjCpELm%Fr2cym(Ns$4uF%35q%-%u3XC(58+`j3 ziM@jD4gi*mvz>;^ge;`ZO|!L(_CJ)}C;nxnJnyu6vmIv6r!l!MU~^h@E5dfLsomp$ zrPW?{5YrBmSZi*$?sPCq(e^Q?TrY-&mu+KtGW9%)#Xq{b;qQWSN8LIq6%;}7H5-9( z%R@$hL|$ZNu z`r=@LIG0CqZp+XESE2umpWg)0-8>V$3y2^-+WtQ^7XC6E@u*1=OF%%p>|=O(Q`&k3 z$@`CC5}ivOgT{pkb{VC{1lSx&ZJh_XUwoB6p9tv+EwQ<1QI_2!a)+#*bLe+{+LcCx znN9R`Q%(#Dw)g)N<%mR9&I<7{sDc6Gh%A7b13X<;z(RM(GwNWX!MCS#KvmsLa|CFr zU#-P+7fUyE?vjDONFiPaL;E&BZqyq!HL285Xh1_#rdN^3lQNgNT z?w9?mg*wAgrNcSmvQw+c=B5Zp80U3DE#^}QK=1~Q9)0-=bf)w4tB@hfhF=9IgK2VI zg4e7P6(ZfeJbUWOUuaIvoyQNkx0ifv}j4n9dxAT2Ll+>CN zH=5|=^+(>&Iz(>(vNu21Npn*p`#RQql|fIgcMKR4xYlH}KXTmlLMh_d(7;&2h-D&K z)M4xQQE=JIi8YD6*GU!n$>2IP2$Y97AY{Yf=c_nDVo~QggPb1M*l4DKodAFdt7teL z#yWaSiDexA#X7BVn3d4pGLJFs3%ba8hC$ASswUPjH3H2eP;;#LxKOdGy`wWr*Lg_2q+c_ z;^K_Kz>1=Q(J1OB6GD?Airg4aBc66}kad`KAXbW;1AIbbplIgIR&U~GtA*@pEMrjg*Jj~%`w?jaFv z7_ttY(xj@L%#qc3uT;OV2seQWC%~ zp;N-uK*lbdcL8rs-)3Nbs6ZBKXb01$#(f6%+iBV0-@ooeb475uxHPkRNe3NK6SK!F zfFHiKJ07-Q`44LE01WfoQ2oQ(4!m*{a4o>9WbIY? z`N=!up_BLKdsEI9Jq%D$uYA!5bme6YG2fVET+8Qy21mjS(_{UuoMH#Q(Otu}OdIFv z9Vs_X_$e=>Y%t`OM&b|Na5~UuhR=bWNQ+N0qa*9uHt>f56h2Y)KbH8M zP)mkCe~cc;SOZp;3??^}#5V@3?xHJugZEgye|8cJhUp@+`I%=~xx~X&5zKHVDKIn1 zM338e+6jq7NA-q1qjJgl5ylVNiMCXOjY+s)FbNoaVC{{d?hW|BT_ zvbH4EsR|mZQ`8%*tEnZ3E0d%}T#n^%Y8{7Qgxn%It?`YNKkC0;b_=lY83H>%90sbJmoAu#0+ zjI;P3&=`>xWaKbu9Ky=&NhPh25@j&e4=*|pCPEz~6MWWm%R-ZSl4n~-LA;;+e%K{O zq|ySZ&otgB8AB^}2sTt=|?!%lX7we(u{2kPt^Jr0+m05zrVh4iZPwTW(&7>(0&}pI$xz@_D(-Wp1p!qcDZm zrBED+r^c$Z_H;sBGp3LGM&%SOVs%qEP99Di9TBz3fPwmv+p9oa@3hll)#7sCEQnZ} zz6NYgve;(R)#T}|A(pM|wzvU=mz4dRz?N)wCmf2GO;MK4w7U@A*A}7b{KFSPPW3uL z@qV}H4pb&volOX4P-`yU|Ey1%14%R(viPSEv9j`uahe^lNVTwl)OGZ-tTcbJ7CTY* zx*j{@AoGV-Q|ev<1K}z6J4?`7r2@I{*u)hW2>>mkp7YpaRAmD`KntArbyZ0yVJO?2$7rWFzkv zLPQ7-3W4b$ZjHRmzJEE~fno4C?A>GbVVqo>qvx0Yx4QUpl+YyfpBN5`c#SIHE$h18 zGRL~1f;4M3o1PWr*5RR0@KjL|R=ho87vY@f8qvFBwT*uUrA}BAs{96mmCq&#Jya`2 zOTChBHpz%~uZD!)Ggb5g*sUsf-(+6iQO$Y#?LPtC@2Wj#%>oN~R;11$tUn5#{^zRP zQ8KYdC!QNtTp)?>0fV_uHSbSm-`9)5rpOnvPDs>h$9cid@?UDTVoATmoOgFi%ME0c zWpsaD=(=vj+QRN%z9Aa6CE{{tcw&f8`noO@gEoi_RWR6t@wSBC?6eczIh1!it zb5Q#Dr&ju!jH>`}_O7@Hs%D4LvJ--1);fr>$-l)obpRH$vyeKjWS1wS*Frcq@mkG! zTXXy5leU;=lIWWe2`rY&BHtm<_Y$Evzpj1aovU7qq+@%klHP!Ge z(Y*`h?MedF!Xmb$Dx_BW!a6vp*^q3}W$m*j=D?AtID(A>Y=(!*>jY&ML}c9OJO;b* zxyn1f!e#rFN~evC5e{c=)@%!V^JtQ>tMWC>J5Q#RkeFu>#VFKUfW&%9fz_Vb(qXB2?zMWMAY(5BV ziM^Zum6-dP5{jAit`?Q$GneuN#_sy@5H@&D?nKf#kDNh@66kTQN6vL8cX(u~{l8bh z9xp6WqKWokM!bFzx7P0pkq{>!(%hjg1cCgMQ1{%~WjQ()FZSly3kTBLF_LJKrX?`L zi0IiS1>opC3$+wrr`7K*3X^JG)8+lVlATT!MxZRLdFiGe%`<=>XZVYE=_-{T^8~m+QntPj8X@O<8$6Z9+?KYQX{3q$N=XkVfv?H2XlD zf6s&uErRi)a4L1v-zO|DIUTZ8TSpOqMxaKA+NBtcO1^GKMtaZWx}Rh_h;gy4e9<$BHVD#DV%X+J$V9NkDv!J)>j&0}up|a0ZacW&TQnV=RVfJGv72=v zMs8#5yD{`BaP8wy50McJ~2L07|~LX{h-YBn{pvt z7%Pt$%ZN@Ck9Y!#KZ6W)BnKAR8kGOqS(Fhk7&S$aO_&ydpP&^9$mJ~7lzC9;j){d> zjZtM}aJSSwA9k+C=(ByH2@Z{mejR(ZM%C-jIXa$OQv6co(1=^{uI-4GK-jOO&%W7#bT+YVu6Sn zw+lDHnyX3Zt*Jq|P>evGQ&u=BVg>CwXdl0yadn)8dt1524}YpffI1qyF6(mQ7p0-l zzdRv;D~uPO^RsLsU&99n7pi^HmQrcD!*S0%(4~eVO zyoK^KNqVND3$c$NNgQ=JLH`_O)23lb=K^q&Nwn_!m3QTHmfwcXT*Qh_wW)>txFk>A zo3*&ulkg*<7XDhVI=3HJkl;+I)JFobb~3ij90`(53a4A867OUS*n(ocidtABkaflg zfS&*;5UH*4_A_K(U^Yx`=hjV5*_ekYV4UslAmznBKdJIyp5v7au%B~oMJ6A=`61xz zS4G@6l3U{Q&4$00TPAW!C0%NFP5pr+9S`tTWGU{stWOj{vmar=$W&dVX6|#CyY^u{ z!17c@16J}!3o(zOAX2w%2yOrQpXre{5AMG{r^Q%Jv1_9>u&IFeqCRTe#o`A%Wbx*{ zxz5urS#XK$x!wcxac?9gD^yh$z2X2=Fr7deF<5B_rfI?df_KjTH)8y2wX7CQ7T$YJ zpmRCKQs8Uet~Nz-2M51M3A?D{L4*HLN$$|^V`uz)H+_hAu}#`ZQR^~=(zz@zG^B|r04Xv=4$k$6e`(vp_@Es_OWg%t!OkNQBYl1_xG}Dh3ZCRwz z7zf_$K_Zg^tF(L4TS$mwKyUicJpg4JCkXHAU=o}Vuo)rwhi?^o?`43~u3tR;B+fR~XkH`_mDRZO4vttqLpFv|~e4#xO&BF6EWHp|&4; znDjfeJjw6vjz3HP{m#>samdVQl0X7|Sfyc78}75%3+FNM#!JnM&`Sx$#*Y!977Jo6 z%|pN+D%Jnh0zTqUjV&R4H~4V_H5^bTGt9{@?2_yBluK9=D@VbBLa>)%){D$#LFD)n zX0GpJqu7bw?X}g4$z5<8{p**T{fOM^1%)zjI*K5nR``OWCMpo5#8BBd6oBJz6PYOQ zRrP;VC`#;#{{b>1n>*$tIWr^O3{X*XXb)|g}1$`YxgCG1p&Z z!hIy2PeK|<;|wC+0ae6mIVLv@>tzMWwTmfm7i(N?Ht)#h=yweS%i_1qL>qGM)namr zl6s@i6qu%tm^yzlbveq;;HAoubTWOom8&NFY#2X?!>r&;ymMW^?_8K^Oxr}ocsPbt zo>L~l{1Sx=A_F;?q0I@sm}sph@D|nQxC*rMHJE2sxnagCbukBw@|t_QBs`(69~lc0 z)0a*(UTZM%pGATA!IuzEH>9OF(O3DBi*3l%@{j3 z(Epmt=TT2kQ^Lh2qOkY1mqZM27)rfw48SAnC!|ETLH-G-@c(|FCh43h*Ez&}YSxD? zt$C!?xWTlCMj2zpgyOMbfL4~^(W8WP#@`~FF+2g79ex7tE%-)+Fn&wyRc9hupx$ja+PtJTfvmI10~NaLPX{C+!6C6{5w^C8R?d)_nNLn?!dlqij|{H-VVQnNEm)V*#7%98 z&UceJ=QMj<5uOq}NK&67nhs1+ zt9~)50q{JHPK8Q5E?}>vumWvqSdErr|Bg7n*jNMRFG`t0(dVBzFcx%v1q$0yu7zkR z!ph_yx@yE9ohD^T*sI31&cu4?xap{>X3mDWz=j|C&=&RSX zKt}n;Y#^v{82ETc=wSVzerQ3F>^jYM!eNMm2Ns6gcag1FSU+MpO&3G1e(MWqIojtFN; zyJtg9=S(}mB;gTSu8&w$!D#fNXI&|F;gr13oAG`M*(A-hj?HxwL{8 z|8MK1gcdzP-gdIajbVDWe3MwpyijZ(_SinQLNKyRo2Ep=Q8a4Jzq+!wZ0Fi?gy$6J zK5^X+ZwIaLqsOrVpGI%}+;HuIHUF>7(JoZvaDQ-5zhCCm={_N7a;`_7nXhrAdZQSNHGe*j50elDPJ1_#!?BTk4 zTW-i|*d{mm?oLafNw<+J{N@aD?dZyhFVV)pA_9s(%B9N{1bF_xRuaq}%9iqnBfavO zD5F;CAnHDuq4qPd=lms(__6m;mL5FieIoLqHogti>OB3=m4r~`4D;tpOB7CHpt>U=6ELJ0>zk zK}#)yXLo^Lt|&R%5o)jAvpUmD@2N1bNfi^qJ{Sfv5D9&8vW(J8aswjf_x1CvWApph8$;e|JyR@i9tq&Z zn^+>*2j{5aalCe}hztNcBN)XAo=l8bQOH;~QZ4Tco?E|NgMSmDneD zs8bk`9>>Vmd$}K7SS{QPQ325QTzPKZ6W!ph?PW4`Rx3S->a6^_ zj=xPf@Gcxp{E)79Z+L)YO*m=13~gp!5Y*&a^xKHmIFNo)v&8_VXVBDDLY+2Gb%7Do z!IW>_+7I2E&)Z0?@h#*gy2^2{(dGc4B2Zd+qp5pAXj{w+T#jD3~LU#7Q_OC?m*lF3QA$W^pq)K#>m%;yAppJ*4$S;xggu@@7PFM3IdU zkTJxz*gj9B)nE_ZHp@CJ#C_7lnp&;kN;Zeu^6|5_G5-X?MR)J9q`=7mm8n8LQakdu zVo^u>%Pd;}YnTR`*b+dP?n!2G$c|P9VN8%G zKkU7Av!kpQe)%+0>Nh4EY_}0vzNtIrWb9(*p-~WD$)DaZ!^^rCoEe(spu?GQ-hH4> zVK#Gzvt4niIv3|p)jGb~xX_jnGwka2YJ0fLI^mJ%2*WVayzogCqVdC+TD5TmX7tV#O&|y2$1!wyvdtWR|P+xXU2wTT5@xPD6r>eAr2HRrG zax}Mc40xz4<;@LIQ-h3azwv=Oo5s-m)%O$eNzO5~ipMdktfK02@# zxT&{~?7%7qMUBrq*p+_db4k~LzCPbDA+Z)V!~ua^9wYM7`NWicLQmg_>}glt?NO;~ zN)@4<7aZ&X1*`_Rx(jd%4yKQ9N0d&&Itx5+Mrff5U5kYMFFkNyPKx8AgxaqJLOyFk z!#K#8rYthtOkW!rZCq+l3U=$Qv2}iS84@glz=}=i#e}yX=oa%>m_m|LI4}5z3}cd) z9I1vW1$dVD0~YU`%Bmn8wC6Hp%kf^!)2=K4M!l*Gf1r&e6D=IO5;2kv>S7-uFemGE zzc}1c^bBBZTI0_{RB4;Ng04#{@5qTborM)SuYwvwuvRFJ|8osvJZe7t&aOhBz#$l5 z_APzRlcr?R*@dK=&t0`jOYSlMWn6${WNxV};wBB%*Yg$i0b^*oB!)!3d)}B;&pVof z7K;Oc{CgoSuUnzqw9~$mnQT7i0L;5iB_zy}k@0;&8dt}+kMmZP6b7@b z#kTi0=Xg38Ku}T}6VgR81fK}czEv4@8Hbq(ClYjvv4-L{4zDulIvks2S0qH4tcTb- ztg*(CVYnY=-OU_w)Z9pOdgo^m`)Xn z7et&cwLx_@HhNs-^@j~WL9@%%vI%k8#bApH_QWG7ex9F}Vg5vQLAunjq2;`N8g#%> z_na_G3a_bn%3YFamf~C%t+kIWyIG(#IiPUsOBnGx4a`sc3a(dy>1+(fooW#b?Bmj@ zxWWI*CgMoVczp(d>YLd@5+HU9?8c7hdg&`*?-(Dm6lz<8N5xiUa3BT6W{c;~{OC9D znm3CK7<@Zds;R?rR0=8KDNniE zQVADk4coC5;{#+PTfpeO8XpOy_rIfS9ljG!YlBo#OlhZKA3(rQ`XwL*Ig`WhUc)N4YWI-?^@i45vsDL?`UKNPuGm{Tt5T3qxene=N7jf6#VwLS zqyS!P8jhfW)o+VfI8n8rAe%8q7{%UKPi2mcp}EuMLw|m3xLG$4E5P6*i!I~@VH}nW zdti;P^AA~;wti{)_*fns7!94l@n=#GkdP`+eke$1T{WY-HHwWE-kPw~ja>}H^MI6* zPkvTMqSEtk&0rqKycUX>`E)+3o%iVUkctZuS)Ey*U2l8!JnjCBg8xkEQ~Ut95Da4d zLmhK(to@tI(@{ym0MPG&pY_EMgVajE0_j>`%05i(&{`z&` z+Q&F1D1tP-3+jnM9Kpoy^nVI-f<@4!@KPY}7erTd>sd0rdhqk=LCCM;(l$mBpWGI| z1!fX)Y)?S;5PNCQd3THFB#o}R+=DCCOepPDr%|JK%Cf0;jIgWD$qfEN2ft8|52Nuu zc=zy6BdxhvLr(1ZZn+uteb=7A$k__5Z8_}V)4U0cM-|aGk`%=VmScspB5=7Qj7? z<`5|WWrvVMkw{HEkp~scKx|z`fYo;_3qH+-+jtkxc(ymR41agw^@4!TU-{lrL07tz zun0t@8*FYTnMR(R1tWCAj4X>h)YF^a_#g9<+`yP9rZ{ zLD*qY)#?;VPvVS+!<)b?!3>S0$sTGO-^<9u8kD8x7(8}d>(o`7qe=We*I+o1bpU)O zeFM^-;mV_?p$0`k?W<^?F`v|^ys~>FDN-PRTzmt{+p2Vd zyDfIzH}nDEO1kdY>N-)$0Pb4Yr;Gch#iYMC}P5Cl}Ehw){1w*rHuh zMI$tqNFk+%LzL6M>?gge8sc<4-&^cou7?Q)u|5c zQTD$pv6z5=t zdW~4f$!Y($T_Rg&)A6$$%doH7@ zRQ7K+jSxDTqiFOK=Y+GrnHzGr`qAKggdn+trCOd2fBY$KaUplR&g>6F7YqVuA=ieR zoomIj1sQS-)XB_S-}^`%(dmix4ewe&$yMA3d4mWn1_)L^;5c{-z^X3Td0XvyyzXh~ zn4ea&Ic;hxm!294;bwHtodExN68)7st&vC&8JuLtpamQTtfU)&9Is3l(z6;T2Xcwy zBL3a?JfJRvkHkx6rhx1t%q6T5e`wU~%aVQt%U~jEbBeF1h*NSv7!QLSPzkn%Dktg; z5%}##a}(u-KYeO4Ety(e(I3;)%H2z}sO#;DGuH9mY&nV#cVTyIYYjvMfpOA8`52RL zP(}Ew9}1vOzw^M2vbr>by2~bFy$U)1OOvPC(xb!lvj~$5# z&IYA;={>#&vbBFdSK?I55sGLPXNlAO<&@71ZVub#1t#^-LrwSGG^uBKup!1BqP^6T zgC{l#ql(giUEQct(_=ih4^c*cqxev zMA=eCnZeSMIoAwJQ$_A~W4oK0y0=$(e9G4&mH;lRCCQXl{S^`?15EmdBY@v9A>)XRsUTA8H5Y~50O+w#ZgX$ zD0F?zb@0h)-PP&dvc@M6uC@JH)ttST*^;j!Qk)^`Gxb{t;< zKw0$J%)eMaWJ|vcd5KBhmDHI~%Fd)Kcw17+w@oIGyVOwYx|4iElq}XVeW-zrDWdO6 zl>Y;1vJx>7UOik_oH#2ym8z*rp_V%w;{cgI%lJf{qgN}9h>tQTqH;xI^v|s1El3Se z`#kT0o_Re)#L;(u4LP;7RQgI5B_L|tq>ibD2L>ro zSY;iM?}F2GuRxW?ayvEQ!<|Q5(xK$_82}3MP^23V37Uj@O=9@~VfIjo8e@X}S4{!* zogSf|8D()qBods>RslMfmTdmegE6H~BnZiWderGDKyc0jE-iBIFagM;Dz-uYRX!@gLMeXJU&De) zYXFtVkI32`*Hy#cn}O^bTVonbL7xbCtwt6#N4bZo|EdIy^^2RrL5_90ZhBiS?VF~& ze#q!j<)_ckea2mMqr~VHA)OFHkFv;{6gtx>_RdjA;-?x9=PtJoDzQodhhH2C{46p0 zF%QolEX^RFQ=Ktzzr9@e2}*jIZJ~r1_!(mYb5Ct79!yJOzv|K|3as}_TS`H0YUed2 zVYxp()WD|X$NX-%fX%Ua)w5G0_4v=LgUwn6QQ%hd4NaNGmJoeaWilfHP)08ahH`D= zp$1IX^zexk<>;y^yF6M@J5iVTeV+5(5rC)MEd6KJG@+-}&qr4D1}BQE1(~x-QRGo= zhDkn3L8bzjESO)?2b;=9FgB_mXp*VIf<+MY4kcc16p(J`rw9zY;eE1eRN*`c8X@dU z$BQi8k>CDV^*a33#^cjM(eX@Yn_|LMgL}J$?VSW6{RT!HWJvS( zxL$MaX>qLk7EmeIulSmB$Y0qi6- zfNa{qb9dn`>RM@AqACD($xMib)c_Kgip`kh(`jrc!^W8=dHOX#7}u>D{%J%srdTRL zuCAX!dq*n|%l0lLz)+^Dnli&MrwtP}1%DdsG&fyhC%CX^z459SIf?(ha9}zWN&N6Z z@Eb4QL_s^XE)-a-gnsOVt!6RRZF5;DKvIaXy0=gfj_whI36eH$&2jZt<7ES`3-B3! zn9hb^3B}}OadzjczJZtC(8YZPmR`i=&0JO?5x^YJnu1v+WSmS=gt1dw1x=QUvM>Pp zAbtm`)Vqua;jRz^P)y{s+Yf|!n_q*1b`6{RS^DI=5jQrIso`NS`V@%=xWM5-hw;FrWqI{IkC;QW(Z`+(9ya?e`~P|V$BgkE z&=Z!WfKUyP9L6v?oJ?N4ExPnBJl43g3NL);11bBw2HYCzirj8gg+&tDw<3Y?4-G9t ztJpzcW5RgF#GH=ynPm_yhP5^~-I;Q%dqiNQ$Ql3%IdW0d@&meea~~p!I#KPySJsh1 zPe0W%qfwTJX7cXT7~D{(kQq~6bt@Xpx=b>$ujj`ka7CJ&GFNrk1r`JT7RTRD4zc^v zyR%%c0REvNHq$)|!4=8I^M;dQ?AwR>gW&6Vb1T59vg)il(Twe2tDZ zolM}t{J>cLAZP8%s*9RXk=w)0EcYF356&Ya8;!t8s7dvm;1@&Uwe_tR8p>g|wBo11 z$ns!3BXnZM4zPW#aH_iKKO|DWm!VQHS<`&jNljw)iAJ40B^hJ&S)?6{SE}L=Fw&*6#-f*QK9@!NDCyQn zf&39y^(#=b2v2{wZ1b`j*W9rfz<@OwNNCvI+7>|yZC^q{)>tF3B4Ew&QVpJq9|cm- zw81FQMVJWa)R&VE2EGNpsZInI?wk}9`-gi661kRi=)*+N=-~1%_$){}CkQJe9hQR0 zBl^;X)CAdGsOP?R8_MGm1i%4;?O|+l;@u&oIJhQ9m%#Asm5HD9Q7V>x9g#=;)X7Q( zB#SxUJMkMx60|b63U%jMZMs(#KUA8H-yZ_iUK6_Rr(S15gpiI}3&kTru6P}tez#eb zPIIWji->zcRH4YV4s&I5F+O?~V$YwhdGa$~s5Vin^7`J6$ap>W&77aEAB#;(Sj~+2 zV5J4??3h- ztnwNHRnt>pXWtOAv<^xVc@K!RFEX^Ry)s9!^$O%T*bX1L^~|_?8aZER$^LItcwzcx zJ6~7?4W7p zEf=t6p7PO2oe!$R{|!E=OCXT1F5F2V;Y?o~-`V?$3HD=KutwE#UXy27>q;;f&63-t(fC zJ%*Qrxh@x~6=htGZR{sD+QjX;CCb?A=JS}S3vW?d$ap4>V7y)U>5}^IHM|Ss|k`UeO_b%e4Cd8#~vWBy7U)C1=2J^3kwZy<@M&$2OZ4 zlh4+y@HmXEck0j4bcDBVb(2jiIOC*ubVU)I*aY=(CvQb;Q^M;>xn;OSI&3`od{x9d zmbLLd+I1oeNR%mOQ12Nx12`q*83rIFqlS{73bTMaMM zJ$Vej64oMddXulCEZRmv#xxYvMGsNw9NB8EHDQ;BCww8rTCEZ-a&i2rPKn7G>}pU`P7HxtBszg;DXdWSQqC?4oQIqFXj?2@~3 zmKQ}TIlgS}X_`h{2o6l=Hus_W|BY!9t=jARohjz1&?qEIgC`(2tAjCE74jJplLwA2tNDXGjSa3$boOL?7}Zkq+-@HWV%H zHsqdMq6geXx(z{hN(u&n-c>{fc^XE9J+3X%K69JMJ|wh!86k`UL1zZcR06;Hr{n=5 z3BNdGl~aaN#^hqc``F9C4n)Zy9mWtrDueNEX822YuqGOP2`XD{MgkiG$}fVZx1c-G zTHI|!hZ-hrDEnO88T`PnpB-MRl~o8aDV#Px&_w%QXDJcyKIykXRcOA9XUU{2#A%Iz z5%vS}#3UZ*!{oq8-h9$EnkJ!9ZjDNlk}$@hN#w&R8QX|xl}#;zpDhHtv=rkAIsgnK zx@sB>@R5g!XieCk0v_@-O}s!O{k?R_h}~{4CDojQBi}!b zM~4XbdthayDv4JS+q_7@*3@4Lhrt!=ck*o8-Vy>7tsMjNTfG&|{_+-G>9pAWi4h$K z;K4`fP@sg()i_LG%umb&wmLkitPSP<9 z-zRu|H)n#*@c+Ivogb{p!V$Yl<(Zwn9(OKds0iOxeZN@ymIA8oT%in%l)W{~%y3S9 z>=}^S-$NXYw5?_PqZ;o^o|{f$vKCWl&|YJEWiSiuK{X+m^!(f=zlQu`i^{@RvUdU4 zdNa|ZaE|EIHi!z7zz*6hO(#3>?4b_O7h_un&gDK_`E{2lFIH=%lJMQKD0K=Z^kyB8 zDMTD_!-|OQ0HT`<(>4DxoGocCy)T%ik*ZCqd`xxKl{F*nA?zRweywDj&XJ3$^+Nd% zYe@1|dh7=o^8WTwxSE;iyBASR^hSBNNihm#6=+i*fXK)h4@#jX|GFa}lSJ;)0gaJfK@4KI74mTkZ{D@_Ph1IbRrI_o`fD`VjC9`SeGjRj*Qm));HJajvMkBe$J z07UMIZZ@A0B5$dzI5`;EC1O34u;;jT6>%Z|&rRASi5g0UR2Mg^dX41<4(qxpJOwoR z6`MY*w zrkyWd7p*H3fv5>OT)Dws}w;T!kl=j>2s z5$pPczy8GSbmd_D3dFuaP>4TOz%EfA#EED#@H~|%BB+a5sy)H_TO9&d5g3@ zF2aWf5(;t?)-&az?{~sM)8R5!60`jX#$YOsQjdYJVDa_WZ(r1`NaS?7RnWX>i;pr` zB58C%oq^u*MR_UyMu{ZUz~pMI-dS;d^Hj;_+IZL&jn0+%WdrU6gyXF{7MCa7PlO}3 zn{K=FPr3wNc7F2tFQIto*|UaB&~gT4oDXT*tc;$)f2sz24R{%{9c##j-QGRa8|dut zu7SYxTGV$9%-au#Usw0ymc{bG2uR%BC9VSo*n7w;>7VP$tRBj#T_@d z68lxAx3W2_v?N0Nd>z%5T?(3CvL~Ij7*`FCx=_bA7dQ}1#ReiAP6~0*33{_!G+jd8 zc`O3bX4h9#n`mrSuoF#2s?v*TZ#1}qA~D4OLs+pZ1pa3OHlhE1p3LxX2^3rrrD1~g z>*vn6WR24H7R-E0;(BTeN5ro37;eL6_wzy0Al?mckhGAeUla1SCCW4PD!miEdl1F1 z(~YY~Ar;lp1K)(fj^&<^%g>?1gBL9S@TZakTD$}8X7Xl|JhjXJNZoP_s25No$ObQ^ z?bI7Xz1~cltAi)478;Y^xm~F3t_~UhVyob7PI;>u(+OOVPpm?&bz}i4;L&EQFmbg+ znmPGkH?s$JK6PBT5|E{ZnUzkz6n&I;Dgaf`vC6HdBSVJ^Xgc(T01rpXWPJoNVI!ga zaULSc0`~xLaShqfymj<@Yi7J-bvLtl@?SH` z1pfYP7P7b{Z9Hy$8g`C(`KG$(`r^qflMd9}vTC4Al?p(hYHAgH67MdpAksyo<9#IN zF(k?|9cOhH)ei41yjN<9yv0&Fi>>q7>5)#<0TK8$8rVmp_jo>SG{!yDJ?7avdwaR7C?dH*p#mjZXGtk*Q>_v}44D zwMuIbj4N51YPqSzi^1HppSGi!+T%spHGvquJH*p~^ywv`gl@XnWJDOr&Fe%>rN6M0 zFAP~-5ewF&jm+CvQzg>bFk?(l6Y@hwTNZe|ng|r96Y&i}fWNn4C#3TD$ulw~WBMl# zH%TdjInfb)-TJHoD)ZEnn5dkPUdH>%f=;l`3 zY4i9;=1J5T4HDMbt_9a$_EotDqQvWbYffXjGy0&UettssR=Y5|X64VxI)JVA?E}iU ztHZM9E8hY7NzgC88FZ%zJc~?A#}lmlsi}kRsblwE`cjHSwfP4=bMZ*{0)?4aS?LOiHfY;j3t^utCHx$lI}>bG1??K z_!Xs~;#g?6mUz$0e#L~?g6UQ`{a0Nagq!kH%TTGjyzLRkRgjkwsDH$K`6F>G*A{o_ z!d9G`mm)KM)}Q}<#e%cTCJr?^8LA(%h2}ofNyOV*MlGlw}4LOG(ToPiULPxZv<^p6w#&yJfFrsZBm-ntowV% z&!wWE4?`F&SmYPg0Q&NzDeC~-YTx%)i|mfaWCc__&LUq&!(7ICzVlswfwBsw!zJx? z#Bk85UjMLQ+bsg-cEmLD!hd&!JJPw-_F6S4;N1VPe4wO?guE|G>DGIjabiiJ)_-J@ z(wNi2mTZ2F^R3L)HUlQ;+?k*w;x!4Fh_TlDajQS%ja3)tFm3bAASO|lHNe#o1p&4j z?;xjE#Zh5y&vjv2PRYoC z!zDixJ?ouP{ZKqFP|K^a8Cc}Ij?f46<<=@IO7Sv+3a)7cWuO{Qk(Da!74f?fY|yqrWJyhR8tsRkLsaf`p*1jpHfBi3zYQ9N=d9p`SZA!R?G9 zOmK>y+{q3yJ$l8qvcn^{qFI7~KQn6LrA87eHw?JT;6e!?FcL&to8HfJMfL!@>F$QQ zq;5OHS_6Ynp2{Qb*>7eiX?(Qrcaivozel^3w!=&DWSy$0@nbMMYTb^m8;9Y7t~rf6 zv}IR?E;RMT(yl+ z4W0#R*Tn?@_D;TB+%nq#iU7kN1Z1_3T;*OPt# z>3slrF^rUqAw2`uCotBCdz(vx24~Xjmw`=EDHI0iLmMaoNNwR6Ebw%iC7*2#yQ~l4 zFyPciC-{Lc7l3`~y>h*o3NIh*qr?~$HH9V;Hb9x~8A#!oYNF5#8kXxP;}AqT{MupUaIS6OLO zSJOQl#VqNcqCvHA{^>VyS`AotbxKmTMoAnkA$8qn(ht=HU%ID(S0e&q14ttSG_Swq zd-y15d!8>T`v(?`ey4Kd+Tt>n(pO8sSc*ad0zTKfEtxDlZ`eDS$zfZa4`Snx@FVys z*cc|FPUG{F?^j#gC%x~E;j79>?-_X|5Cl|@I5mnHug-64AE#we-0X|C8k0xoT8ug7 z^OVgMZ-o7`oOO}NPS*g|jX1$YNLg_GV2QGa%>#~Q@aN&gj{RaeAtF!twe*zDq<ItnQ+Mfgs5^6scPf+(QpyTOHoTy6)KY8tJv6Xg6>so-Oc0xVon z^&kgc1Z!adMA2Gan|;RrcLMV9V1PeG?Oaz@P*;9YVt$!r&dLHP*n|V^Q1^+bFG+1@ zMVe5&n-)&*JsRRzwICQ81h=18LtG}a#9CT0>$`-CW_@)><&usz6IAPAF_p zjdH`saK1Q<(so&Hj-KA7u4_OSq@XTG5b*T6y259lZ{iWKqTL8#t+@tvjd5UwcFl~J zwA25Ely-p@)xNSv$BZ%SmC2{qc;+`pa~Sp~YDZE{Xb3?l_Bla7{A_4XLA@8%;4E{z zjw~by8dt7zcu9Y=45K=*A~>fGcX2n=pETt7kr+q&TDh)iYe5PCLDmZyYutQVb}R4M zIcC%aer8Y}g|LB#t*VtDDxt?@)$&8+u0VC+Fdk4ep6)@6oGL#D)Ki+n@-esN z*lz^F;d8hZ4UsIADS47V7bk5U+YdG`Wr$IIripU>o+RC0_DDJd3EuDPS-q1{jws<8R&IuO2Cu zBpzmiGMO<*GnVIWLu#%~JH7O%d#rJE$3rpDsD4LVyD$b)1U_kF0u)S9Ca%rY;Wxy~CDo&0?Dx-t`32D)c9+c2s*1el# zuInfVDf~}feH=T;0}nBH11F@sXBHW;+NA9t^6}gx*~TJvPb^?5FG89EVt)sDN?S%3)wB z76{f&+41%F=`p*#1+ft!6F)dE0#X*%)nUc(lfEeI^zMZF5~0_7oUR@qmufA2Rm(i4 z)n!Lnat@z~IU{o^8QT^!8MKQl{|j!1FBITA^=CfzP0qQM`lf0sU|2|>&Y5)Jexsr3 zBQjnt@=NPD!-o0AyOU}^hyO{Umi+^UZ81>CZ`hJX>_OkT})7o$ZDp}JzTIPR-GvzLsE|JZ{>*uXFry;5(P zqE7Fll^AG;)fd*G%rd~1BF$!n`CUV%vS?zR_; zY@W-o0Z0JsKr*>|T(F-bc`ujL9R0j#W<#xetY@I+|0CNq7w9G{FNPi@18VxNRUss# z7p@~q%f$V(B0Z$Q*P{6JYc6u(AnJ;mb< z-T49vu^|K18QxwY1fmd*25VnFtNyfz{$=xLywi`?qf%WQl-GGkdv=618S95e;XBW5 z#gv!3^iv!LwoI_M?%YyL&H-nd1;I(juAI3Xp3<6mI#NhZqHB`-zxnl$yjULWgqQAB zB1)t-4D^BQstDgIb1Q*zKl*P~}jy{tb@T(dJ1ix9^+hb^0|_ zP_o2!T!umps?e)j3IQBZt7w9B?2b7v=orf1{|3p;#-?e$0rPg~B;h@rgJ#7O6?!OZ zjFmL}75AV%k0m9rY@+-HZ}Irb+9}3VbiJjl2By9aMB_#1Fl;OM;vOp4-kyj|qw4$A zzDF*hH$Nl(yi;HvoQ%7g(B6EGG*Z;=arRf~m+&=mLXgvVhQM^|Fav^p5xjfyWlHre z?1c{r<@EtlXB8LJw3&7Kl( zt*ufxibnSay??UHY`c>~E66rB;B5omwCTnAYR3z18G8!p)%WVS7DiTem8rI@fl?4w zi~P9(rJp2cy!6I~wKM>d#VMl&{iOKb`G1Ol1XyF$KBx{DlyBwT4t&6nrqu+@COm?!b;JL6AJf|;y0q*%T;B`**}d-3QTGBd&2cIQYnL8*$YVJYqKQRbMLi@Y z__CW~*Of7QH&0hT;A(gt|97_3U<#|d3-AleNuA9B;B@QNj1Ij;eJ$(8VF(}r!WAtF zfOYr;F|B~rA^O}@j8lH-#0A^XugBkUnUSxU3uU~F&DdTFYOgE=F~`1S#KB${r%>Gy z%;%>*Obo~=NG~9pRyU2l3Yh6Nc*sZB@3i=agsCvfu@PntW@#DOkhh)g(Wsvl@2Q0^ z2sio;0MBK;LHBmrYj;A<$>6D_!N<^CJtm8tU_mq4COy6rfrt+3iDCTjFsW0GS6A1o z5&35dFh&f5kLXl<;2Vd*A}U~3HM=PEqzeOtFfs1f6N1>i=MDT|>Tv{#F_bJ_8XEB8 z_NZGM>j=}3SCgZ>{B~ld38yu%E+*xbu2xwOWBOeg3K8)G93w{3-`B4^ab=5-J=x|{ zM0Qk41A+_2|CPb*R&*uq?3Xa5yae4URlwC1t5}QC7mv1yarQBUw|CQ%vln(_8j^8s zKl)^KDM_^fPh+-0^L<-oWd>b+2}EM`Sww@tOvvzm7A_lR4?2#w97$eA1Sy^Znz^s! zgXi1<9~H3|@g6oS|9sswJ@K=#&fA771xt0rCq__|RJozJUvu3-QrNU_wF_0%Wp6-! z`e;PMNs7>Ic0gPK^Rmi5vCeG{gD3Mv%*`~ERKwn)nts%~I8<7W zBFPX^*SOU*KFHTH>Z=qGBB8^ca5w|?hHIRHeLHU|jOz-%F{%1pMbqt;88$zI*V*y; zTzHS_bWtlRIhrj3n$K~9_;ATI#Nb?$b2Kr=!Wz?wHY0zh`DI1^Y0?{uD7{w&6V1Mo z4PR*l8uSMb)Dfa1=g7fK)cU1Bwri-)Pn&mp35*MoLD8vjR!(^+Oz9icV39(GwLl+k z8vhZ`ZU@vt0#6vQpL*Xx%A8xpuZ(CkL%%>orNVH;_ggv!SJ=gkUkJqk_`oie&BX{S z?Gt?HnuC`XAhU-qyz~j?(KLltQXNP?KW(qiv`V=*(ks^K++8$g1%Jv}-XmqGbEe{o?xs3JcZZB&P=h zWAFOK|J7QN{57+_oOf&0(K_V~$G%}0SNN9%9a(BiCNI6izoSmv`T@u4d(qB*z{kj^9D zE2~i*yfFchXOMBYW-k_&vb@W9_m&U8k9$D}cK=+CU~f^E`Om|os=dGqqh%FSHgT{{ z(sjM@05?8J@x`xM#I_UV)yx2%!6U?_7Tdtn_+5Kd82LGM|u`YVXHc-uwg6%}8P8%Kh zz0p_4Ly(k_D=8n_5w0WX`>+_9QJTnG8u!X!ClWLDpSb7GRdTC4<;>#t4O@t?&M-n; zg5qv0G64(B*%yxH?G}XBEHLIW9f*|;KPwFnyN=p5?a-y*WF~g{h3HTC99UsVq-aQ} zRkAlmFmvp9WQboI7nZe`FSnw`~gtN=*N_|Cftne~X^ z66g+a44v%gAP_6Mo7gENqazXR61IA$bd_5KPYbIWkEW;8k&3ATr4d)Rv%Ql+y~Ko3 zvy&4j(Q?Ok6cp0ojo=J+JG1TbNDEOda@bVxH|MA?gLG=lXVk;-f!G9_<_}S##>de| zjH;f2z*5%S;rENINfb!-B&6*mbSoNI{Et`!;lS(2(oDg+$6rr96)vi{i)b?$oZcP}Ci}NH#f5-(2 z3-gfI5DI~ePd>vwVG-EdlT;2L3g7Pl_t;XJ*pu_QgjehF*>DY>t7AZ1iwkU*$n;k$xmL{RL@MJ{CaAJ6f8BOVUlz zJr)@fj5{rL4uzI4Y=(fl{-bq6WLGydkU$^|d3$VYPHemiMKDMkvC#zEPh5lIBfIYh zsyZ1TnCeYSr4r}C%7~(0Gj)GuQ*kN@Z^o{{GtAE{kWFU9h}g_GEh7L`yma&bd7s+5 zzj_bDAQ5Pd1zZ=!T14-XZ!MC~L)uIkSQ`CurHiz%qI}&|#riP-vt{poCZ;8idEnuC z8O#4ea>C`f{%d2Xne~^obYz~aSc;+dN|4@{O!|tQe$MaGL?}OHny<2*%$p1buJHu3 zvH%G(X$#>*$g$62+zoo#Nm2L6tv(C1KmAuty>&2;hwwtb-1}ORzp?F}!syp*5~RN* zBa&ssE8Lg+hjsJ!CEp`{hCh(UjV<>C3V1a$z3-Eg(!m3IK*&4dc#zbVma;$9KYd7F zi#$Ke>-FWGQNDRt7V)fR;3Yw#()MB{<2SgPeNZ8!4n^hCrtXH)%d0#3EaQMUwEDL+ z0UsV<+42QeTg~dMp7ORGV#sjtLbD~RTFHQhWleB}oeOq?ca_5B&%mh=J!oewY1 zJla$UjLp=4DX3k{_Wp?fK!n}IL4*(vn;p4TaIW)OkrO>EO$@`<1_|Ep{+PWxXhS(g zxjqo~olcjwZCb|*R^A%m8Fy?_yzBn+f?4Z%T7VQ+c!0jkrnV=EyBd$)1QW}qdMm?C zR=KgiQ$^yuOnKJV5D{A=nYzR(v*kXrY$l}iy@u=hTp-<wsYw13=qIm+QR0y z3#N^TG$1)mOrRavoy_I?=(=33*P8zcf;^KSzpjQp^m(V@{$(LM;mCRI<;384^$O-$ z(a52|;2RNKphiL+GwLNQPVsJBf^P<>4L`s2Y$0ikG>TJrqakFNqw-nUumLitPexwA z!BfqD)b(;+e2Y<@u%`{Mbu&KhehirlEk5cCX=E*d|eY;%nf+ zKp*|948H%L-ll{@SC<%MdmRa=_5v4=Mz~EyHDwjOF&5P9%Bm$A3cQ0^wDx^NW-}q+ zSv{}va!#)P(t`WAT_e}AJXz^8ctOnV@lenOd*@_ z(_JwQ5{L#)u-Vl3SKnWcb2LAH!3THnT-o4Un!m`rMsE1mRq?Dj?y}__3$6ZA$SfA>wu%!7nB z#2uHGJ^9<4p#ie^4*hI8Lw;q$gTDo~V zj$diq#Tta#5p{_RPQ6_JH*jE89kcQVm{hd5IakDO3l;^)6)&aK!yN`IE*>GLVs;|k z9uMdEF5vbd-Qf=CG4PANBLhprjcR9`1Uq`$g0O1o~laq@NbBRVpXOxucZXwrf$$y zntW-;18+4qhnCq7wi!q~DkmjKk<#}#Bn@5Vq}0E%zwPn=3z;4x)sqmR6N0UY!dG`i zY5tI?o9+xg&3xyF1azjUdMPTvzGQr)S@irk7K=@dBG%Lf(N-`# zs_*n{TDIFsw)^SZ%@=pmfZ>@XZjb%&Ai7^tC;vpf(?$U$X z-w=;1B0A&Gl3pb`ADr!uOjZ!_#(kNa88E3yeiW%?5zCxRer4gKtJ^|PN^I%!YKVTK zGK-fjRh!Ht7??t#wx@rjzye#@Q=%`y#b)>f8U-h2gzbz0NDv@>eh(9!DtMkf(yw82 z`@@tNEQnkKbKvZmv+U5$r1kdOu1V_10T444M4==MFjEY~7rHLkdom^+i0!*z9TR(c zF~ZrJE?*FSUKCw5ddd+~x7jH8fOu34jdidsyTVI&WgsE_bXfT8Z(j0uP7QCDe*V@l zsr2_+VO~plXzOyEiUPdSGRHcCQs;X3lEO_kbBz_=&*p&H<{)VU148oRh6&SdwCHOH zX9PP(!x&iI4uK=-O0`btb7ugVTYSI#FC!w5{Qv|LTK5VPQRg%Vij4XyWesW}inerk2Mf8xb_$pt&cT@SC0RoifeKxKfeUJ1lKl5AVuYNi@6ElFGYI#?FfEU zdHr^W)|6&*F>@*zA}<%PE9!bGfJw(s4T4(_CXihFAWSBy?BZYf-$^j|G}mNAtp7b% zJq4+KTxoE}{=ATh^ldq4tdrgYEptl$p7l32LB6r$_dNn5S@-^NyD~q&4Jqt4jPnMR zArhDOg#5~(Ljy9Y3N{T z&UAoXk~RZ7)fhP7sMlO?gq_s#689q5 zj#=vAd*wC61Kasgv4QpjinmTmh9m}#bxEp}6p+jeQd6}@^ zic5FnQF1hPfYGRJo!{m-(<)VQ(rI?M7w*dZBeR?luyoG)k6NgF81cka^`MSxg4m@C zO2nd2nU}u&-;8j)W3q4)^hhYTH}jNXJdjSN$stJS;dmF_!&a355B2;PAbLs5SVEhA z_#NR7G)rvMHXN_i+#hB z%_;yaS#)ERM&U24`D1;BK zc7B7UUGByYsbPR}YE%w*cok&U0I8}+Hz;u;zT9*TI>dI}5zbF94wnhS;GcX(3ezR^ zMZK^dxh_qn(0>bvVmsTJrrHiwuhYF^Vi^%fq#pD=g-`L}@ul{`9QcQ-^I(rdNpz=} zc6YniSSb-JA_YNq9rGE2u=QXjFXAaO3otP3xs3)#yp}U2 z2^jDVKr#}NZzREuOj*+79wME(tBr2C$hi&XdE@a=8y4YS+v$bgS;+ZKUPk#eW)hn7 zIV}rj_*UrwtJ&PkqcT=+FNdW1$C@`0Ua95U5XJxtNwH0#`+t_12+aX zJ~o)bkHJFN{l`Ujs-}4;K0W!;X))oyc<*w`!*)cigQaNdQY#BY#d_JQ~nuZ^cCKQPV zkLq07RpUzIb2)_IcHe{xhj+4OFIF+k_4b%JC-w4bg0hGx@%OG7v2PW z4_+(llMz3HtwARE4=Ic5Z#e>lA6xn`0o{}}P+LZk3cm1Ln>Q+ep7gxhjYyfA&7dR& z`(tKoOo0qvX1th2uXwdqWv`CNPm$?wkvn&F8&Hd5Ej4H>yw%_dMLO?f(TGh_{7C~p zT3Fiuq`>I}4=Jf?$0Bt-&|$QcKIpNeW?TfFaIS7%Hd8QqtpYRuzI!ZUH5Q1e=XwwCOYZ0Fp6iK@8zd2&WAu!Ln>lmAh zs?^JBAg|xd5rLR7%7e3vzmIt!Gia^S?4j{?!xNVx<#$i3=yeQ{`V>2A zL(?`K%p>(B2hk|fFIWJnY=xvOC4}z7ndg9$T_>n!Y_Cb!cmW&WgoEz96djgMKjWR2QRwKI5TWGkrtv#?Iw{a( zP&MRp#xsTe{QtNu^@nQI+{k%Mgs&67LqmxJzO|M^t?t6s=K>d!1*`(&vU9`54%`PgnS9d606@@t97?LaANX>NyNgj;tm=P z<+%J>?5K=*RlHGZxOX#)(k%1!A&iSCelwtAP8K^^JQOEm69w>EVY7AGU4kGShUobaz)oJm0!` zh)w1Kh7tOOc#FErbeDuD~jWJlgpFz$=M0<|3_kq_0bJV46o(7zB@bCqZ&cAn{8o5Z zjq|Rpziy_2j6}_;u>FIwnz~(kS>!j>Y{NygsRrQ;SP>(Se6OBYq7uzH3H{+vTBLtH z>xNLEHNTR>{I#@!Bym=HABfReMrJ-^AF4B4nzR&+e<|Wf7#?r7#`}j6L#2?Rf2VpV z@aoe=f_FxBvSBykm1?Q(Ejs7VgN}!*ETV6(&&@j7FT|&;h79VFxh&mUl2%wn9}wp^ z0(Q2uNj4)mE|%OSz0Yg1S!Qm}Ru^>002DP+xPnlE!xt|6N1c+em3Ws*!7PD%R&BhuoOa<_KZ7KIWo3}( z=h9m+)SKX{3kn6zf^Oo$Q)cf*L?n*kyk{m=l|KNio2kP_!$z!?G35ttyHb4QX&fLT zKcsLPQGGw7_sEaeFN@#6U-B3F-qoXT6zv{&57>C)Q%#B$DBzuwR|5*^3ZtLk( z-|+DfFg~DP>ccv+{p#rRD+e_t;bzb#)k{+TF`$mqitqo|teGF>d2wU7GJ)h`c(WXv zr7F@~{n4Ir)n6#TB~z@!u4j+6wJ2+-IL*#<(>y} zJN2Qp{rSzm8Skc(YFjFn1dE0x&t0aDTXC! z&k(IA9Q0d6V$vg=>+?TdU_&GNe;A{^Z+%OPucuo46M_7!CIh!RXltnEL2zH|RT(@c zHg|6w^T;rm;uD9St)KD5xj&vZTPnBSxd)oDg1Ie{Yt&E`g?KeX4y5_@TI-8A4^6#$w3^H;m%H@MzKXt%X5CvJ*_@fq0#Z~id3@+KVQiUqMN{*UbD zyY({#%lhZc66vNM=1n_k@>B$ZWxq^!a+`iRwt!%omo^BiPKqSIr`k9oUF;)9e8M=t z{gyBbjHpT7Z;62u6ak%8&-t3Wgs zmNZsz|0v`o^uJO9>rHw6{cHcFyYhXoXmHAt4X?pO<VeS+!i4}}DONjA;#Hd4&<^WN#dpmulK+9Pg0h#wnGYMJsNZM(_X~1FPewNzdMZZ! z<>Ka_Yskn3M%~$XvHQx^r}{P`;V3L2TnHqK^@l(mPYNFu0GS@6s_-<~6ho3VpR~a+ z9G0-Niku+t*EI@St5P-j<&zz#FH1$q@a;D9*%aBdy7~Iod?;u{5lskl-RsE0nD^YF zpBou6iEIG=d@HHbtb`==Yz40}qogRS$#l}-Z4c@klYul9_{0?3X!BTi;>{qdf0imp z?nRk$bnIF>h}r^?9rQGtoK5*994zMfa#v9@>?HlHCmJ3q9V|fDdfxL6!`$0|7hb@7 zEZ?5+ZsD zJn=u;=RxqeBzOZoP_EJhNp?ipv>9q?{6;08v0xQU_hSn2Zs8&$p~oEJIm3)^84{OR zEJzu%9;mj&|6_7LWAaH_U_NwB<0T+07 zMYnFZ69S$H*WYJnMyYT>^4l;LZIDn4Da;JW;OtliVmf)kJaTQi@#@~w@*O6ClhXfAk0zMj-W<+DGzHJ9DTn_l`yq%G zrrU^-RDufxo7!{P+J5#%u8xmps3fZJ$)^Vn$1BIq3GU}62RXqYDB{twCvqrDMX9@C z|6HhmSk-w$I5)1nK&ItfPKbYE%Cb3+&XQwWc3b%totl$%9kGYpGzE{Y` z;TQ&Oa=@1r5z9gd@rvEGXXIDCE;Z1zc64?c0=h^$$xu%kgDzN+A$fBRZmbwX{+{~Nhl`mC0cg&nGcX$y}8p0YuBl> z-S7R*TZaS!8(=OuWtgTpySbzURL0J5Mfb@5t- za+ZTu(4p!^nE84ZH|L!to9uIg!Fyo)a8Q)k z&WZ=0l()_FV-7#v?%W7M*E)4;H03v)jf90Sn22Lmu$T?JrzIdBvRV`O8y$kW2HR`c2 zTHn~7y*ov;L)A_~|FP#iGj7Hos7W9A2bTQZ;TCT@s*1vFTT5H!xQHmuxfZ$5SDaZm zCpszU6ZZl(YeWU^gWTA7__uKcp#poSlc!k@sLUbHQ}tKfMjiisG*5>0Q{6ZVNU*8f zB1b~ca-}aHQnPT{V?`RNkrX_fjJRf26NlVL+oJ9XpLBY75{ezdzjw028)Q2G`~4ho zoB-QMmL0OmWTOO{A==5AzFUdEt4JT>1x3~RPohEq4A4q$g#lQ^0-zUpt9Ll^@)Zde3NphbIk4C5dv65BhLzD+i!l$tm@Zp|cay zFloj_b;v!^r?oy|i%UU~{JHe=(`2jE3lO#LpA#iN^OHRNdEPQ8U&LuQ5Z+_dlt^%^ z<7M-i{MjF1yl?Eb?NZzz!T$)$Hq(J>zXnf*y`q29KoEtKxYQd%iZl3rJ;uA$*C_o^ zA{&7ATuXNZ3XP{VGUmU-gf|OX#+86Yb?u0Ggk}k>+vtenZKoD=qI%=^3>roM>@{*N zfd_JbNb0i1=|vurFTUcsDUE1n?8y$b_40;Cf4ne&2baY0hqKjkOl`N$89}4mEH8Nl zG5ZThMTa6NqZzO3HWrI4M%>bY5B3Siffa2DL?838fKN$F*u>Uw(|M;LKE~7b~ zdT(U}lKibcf>a+KhAF~nXc**7eEhP1g4*09x*QuQeai#K+J3@cE}detk;`c4Z8#?b z4Q40<-0TyM62fS1-4Tk7z4KJ@3ofmCjSQSnBBl6lu(!%($Bq|VM>+3Hn)yjTIP`&n z97vF}Ng3B1-$a%*CTIt3aTRj#^e8dP2Sv87hic~PU_^_dx}9)@Kv07}116S@O7uYr z;qb2cHlDFJM3(wPv#qwmwShTY2q(_8j8INjmtbZnanbe(LkSFoTR2 z1i%KXM)o*Yd2;s7d})Gk+}bl2;4XU$0jf;;B&>+*m9Q?K2dy6wv;UPqpxdsO+IJE5 zr;O8|I%|-UlimMV@W7Ov`cT)v!2*uegI5zz#;o)u0$~UC5=oqlK&nNfxAQDq;hD;B%VpW1FF6fyT6I~hf zGU4U2KIep4fpw>%JaX^Okd4AC$T5`E#s-cCT2&f0n_ZL)Z2 zsNf023jq^*VBYpPyqXf~ty!2dm|)TBFvu`XhN^T#C5bX~+Kr~-l}fcR<8l$mTUz<9 z6Z&&FyzE)S_IBJqaHan$*r$nZv9M9457>qD+u7TWNxuPr-2HzpQ^k17urKPB@l2C! zBRr5io)W{JHE3{_={gZxGYZIC!E8YBpahRMHdiM|fl)CbB*Z@ON_s~-Rr;Mr4DIp( zi4&GA0ooI)-d(hL?4z3%%HPP(P|PNvgoBiqR5lPd1CL$`h#gAlEwIo`JLo@Dw@J^; zwTbPoxMA#rC-vmqml@QIK@l4ZkIGi$q7$d{>zFtB7H$1P1l(Wn<0$ql)bCQ0Ad=RT z^||LhqUHAZZ>TZIvel`=e8uJ09E(wfd0xn=xGve0w(~{ZFnlOhw`rINqfXc|vgyj^ z7vidVWF1M5(5z4^=cq$DrxybJizp-%fGe9lLw z(KNc!&Cv1oPI?j8%t~;)xg}GEW#{JD7|-guz?Tk2#QBs1G7JvBPD730QezO|4vl=GhGFdG$lX5S&crV96^Fl%!p5*er zF2SOHi|CZ=niHCRO<c)hsQ2h zb8QQNj&XY*t|72SqLVt!#9Y22BsQA8A26Y~qTBWX)h$h}g592iOxi`vdi%5@^7!4oq2f|!t+hG2uu?sdE=?j0M{ToXAEe{x4AmKdf& z75cwCnNeO*E#d|O4p0wcRlzzNHBiGXW(e=4Uyxz<|nQH?)#zuuq| zyH;?}Bg)yZH65=8A*@eSYy{Zzibr*}gtCVNM~wI(WHuJRsp@U3V`O(4^Q^s{SBNqJ z{gm!XlUa(?DCJpPbCxfmc@lT=<9Ne~;il_;63v40thCgVdGS`cQ6yl29V=L=MCHri zKy1`#_^*nkwAHNuWZLLN^c=S~?B0~_=vX!rl|cz4rNlXw{b*=Kd9nl-U+(Z%(r{#k zhPv&^G1X2(l>8@{1cLs_?Z9Tg?BKsed!By>O52DMNuLH+wfC`yp*L1DKUY7Xe@1XS z!}-WEw%uFr6Yn8Dj3-%RqE8vK* zz7nl$kAp3^(fCp3b=dtoHoPC z&MLR_nHcy9qElgJj9(x<;>ykR9{dlk2_q;*guMycIVeJ;>EldHA_oQ-Lr6up1NI_9 zu{69I0G2YK>SSKpJ`g9RDTbMSC|)Rw=T&ehl|Ka z`_sspg`Ln=;waOVS;>#MO;gIwH;oY+ecy!CN2~P597{eHZ?S+vFGT2#wVq`6FQ;wz|Ktk}wl`Utc&um;@u%UC^9@h5E%-{HAY$f@a|r+b!;}ZIbE_-_aK)=7*W0qc8urQ1`a8*7XG`w@f$26!a^i}F>9Dc; zg~y3=>Dc9uHxrGne1!*DU+q5xU`a%p+Ou4J(^5f60$H^xuSnD_W)(a`n(xa9e{3Y$ zkr#LJmD*E&AG-G;vX)oxXF%%oKg|L!*Q^V2x3AIco!3e*pBtpSk>=K0NH6l;p9za8 z{ssWY{}cm~8R%*cGyRTF3HMG{(bLm;xF*@r@$jg(V|yoa<|4+kF&Nl0^Z}v`g^X7j zwlybTbGqyb?YG`GhA;v}g`6w7OCqV5`VM4eZ^#Ewlt@Tz&!mGr+f>}NwXoF_s!ptw zRdmi>RN#{Q4Q$LM^;fsO^q&sHg7V~EVz0q(vPoV}R4lglVcgrnE%9dt}wddttB33^>NOij3%ZpsdvP$xv5KhQ{ ztfdNG3ACa8ws$I#Y+_Z&;0Wkt)W!ljUlr(jQ6PGztssGXusHzn{%j&)hbuUn#!(9S zh+#$LPbcapQArPqwxoRr#-qP8ygIx)S@c%7=KPorW^$_ABPGhc;a|N*{LC9RiC+*| zD;S$gzSln=K}XOybT7lQ>Cf>sH8_#M39^sAbY5`E#2bydWE`LG%oK?k7m+63IARS2 zM|@JE+8fncVZ_pYMz@&;(wiJ!972pdoYb&UZ`NcYV+0XInod2~YXzY6Z(kGG$u>Z9 zvGob3Qjzlk%c&=Jl(|s0w#b8cy(V@6x%=+%(i7#&n0k|zZCZD&c0 zWT@JD=+C|?yq$4Byw$%ceTk}hkh;bIC&42_-_oMaY|7UY{WwbwZvKnZkn{o@bxwlG z=7#-B9|(o?n_N&Gjf6@Tt{xx}a{t{eC!#+%AZuj6DyOu!8E4<+YwlV;d+T!HCXo2# zR~UfgtZ!Hwa98u`HSCzsWx4rebgQ0%!@a;F6)-`DsQrZ73i1Qf$owrsWQ_SEVS1mB zSB_lM9IoLD*xgE{DJKHawEOzv({$?g9)_Ivs^Xi-P?x03i9~8?(aw6Irez{}pe!dZ z=bhM7b5eL~#chkJ^a)Y#yvIrcu=CiOV+0^%Y<`G6r)g&9vEBZS=fxD19i~+ETXsDdMQRdXUEwCP z5mmJg7}mh-ocm^0wy1h`m5Cci_oE9o9meZ=$#TSpX;hn8mls1o5orzhs>8so?@Cwu zQh9Yiy8@>lIX}++SnZ@!DJnmPZrTz&5ipV0t2Ym(3|kzw!KAyAawo>Fr(a3}a~PP> z?F)iZDv<_OcLNb!Kcd2#Pnf*l8KU+Wh~w|h5wyR=RPaW76cHS$;??~ zRBlIkS>VSBVLIY*!3On4OQg@_-F?QXdMKV8O2?8ZyVvfke6yHA-3j%H?XVj&x%SmF39kkgII(lH!1 z=)F^frefT<1H2a?Rkb6RJlVP1=q;mnu5iY}Pk1QEM~42vE4%rtz^zd2*lr|apW z+?XT8<{=4~*YB=ZKcQ9=kz3AQJ!)DmecArlH+gBw;zQE8ZQNZT8zb3cn4_4VbWB&8 zMk~A9=@F8cbSeoM*;>jOZl8!X^2RLzz8|4V#b6R45bmKHz=BFXJ>`OFN78894e)d` zxP8y@aA7904J{DD=n#cq(*-%_nCo2;;>TI@qi~d(3TweD@PpoecCY^pC$U*f-9QA?2Q@cseiq;LQN=*|!TE%&c0KO| z9q?_nvZ|p40pq7mbaC@DrUh%b3(guJhl|6;J8m)sqcRN_zQ;MM3FnfkPJK;`5C8Nk zmILfjw!-agmlpbdyz0o;t}iDxrAa8Ox#h#WXJLH5M3R}qCue4}hGBAlbs=5-o4Os; zNg5aB6`3JMj)3L6p-M-3Dr0#$Aa_<$`-KHCIo=T_g^mu7y6vP{A8DwSz--Te=qNw# zuVNgqGtA(h!eY4l)bkyl)D}=33=+gbQ`}U9QNlIQbr+pecT=$43_1ZthfJseWP{>) zcpH?unM4}qtEkjguUXOfNm+b7j~FWUA=Ia}=2-d!8@Q6Ci*QkuS3!2ghS}m|?kC4w zpxDR29TK&v%w(p%v51Ap7q#^29kSGX|AL-OdGcLR2Qwa+6vW&4eQmyGl%F-Bo5xK< zU}~~d5H59h&X)kt#3i}HK66Hx$)$B#LYu(?TWQwC{ALv<#H_N!$1-#}_fr~Q+;`Bk zW7zm*Qk~C|^08C;W*V$7)uh$R523ir`e>U}Gun^y_Dwpo`B}nj4vxPokjlgE4dSL- zW!?0#+6MzDKkCh$D7eMEo@0{zI#)LGR`o;u`xm%2exb~Hs`hDN!us_IG)5zaD$Lj$ zuur-jqH&}U8{C&}ma^Y5kUleL6m%L>*k90Mgl5_Q^QeTu9)+!*EcuNCw6~_;;ik5E zjAq22{OBW&V@BlV>CuHyfrO}EI3+!LUgySOP zv~e`)GBGgfDm5aCR8vhiS;~tTecE;woM}hU*!7kct49vJU*yR5unS`4No+z)+KTnQ zD|7JS!<}0ir9uJ&0j$Li=$S*Xhj> zkTLw2`jA%nkUN;qOT#q=*gV`fGvlVO$<@1Qg?sKk`ud^~4-l6r!c3(?H0tWpMDbVZ zy)qv~qBd@RkN5r1jOi@7jA#Tx%lxVT|GzC{7Do%lHIlatk5m%6nF67yB7LVsPsr8880iwj z<^49ZSrM524~Tf?y%J_<$hcozs8$FedS1Nd$SwE)PmJL-D=cJb6bzb9NH7RSi^-Mz<8ox+wXK5+T>PB!zx)RU?NJkJRv}l!kit&>o{COfN zWEu_oO;c>Qhvpft+mnp&_ipdqY>NHk5J$V5w8op!hulP-nQOp0(<~3Zt~- zZPpf}4V5TCwnfy&W_Q)4S`+lI+7p0$?WJq42f+dTWEz)&BPkIo(k>n@eb^MfKM z`bPGALKhzw+M=|940WkE89{qVg7~ocxt(LIICT8r{I*WJ)bIB;+{E0sPEJ&e@Qw+D#PV{b zg3Y;eC;$N86~e7tL&i=Gu!eeV9T!QpL7tTx!#NvoaM@>xgSG~0zFqN-$|g3yfiryN zhHnVBY*tVSsG4g{lnz2?z`>DWm3##prCwO*ypqPr#c?qm@Ru%Zwk7gnyr{CXk>lCC zLh9dLh)fZRryNY9u_&QZqCl0dIjUoWI^Z}Rg3?7%Rxq1rje{U$SC`v!{#?x0`XljK z6N(AKUB`I2ty!2;Y`X;H5AJgO7Y8NUYmw(oc4Rv!DzTpPAWsvPSh?5ZRMyazY9eJI zXHJ#Ja8q5EXBCZM@rTWJZwv#BCkyVFm%-x+80`M_e5CLu!iM+YPfLkU>C!Rr0qwqT~k7Fx^r!i)+vpruoe_m$(zwT?g^exf8JdlHCcgwEM?EH1 zVBrF>Vz;<CwiX;D9=~T?zx2E z&*qWzy3guX^`ATc5{0mbOPmYaMKC1M^1ZdRK%y?By$d6SSDMLm8Pj(pIc!pDml#>{ zFE}58Z3CYr-BrX}gWstbSIVNWriOv|eoqW)4@5@FK9D;tmj``qjAdGFa9w2z zH;}!-J$-H{7}dXIchr(9sponBFnA5!;E%w6^G`G<9uzV^*(F_A9*9?Znlg(lZJn!! z%{7toy}`9Cs2VFTJ}E#}n4Q=vDZ!SGwhLZPhXiaUWj>ZcXB!M7ND*pauJ(5ILPoMw z4LP-8#-#Cyrb)G@^mZ&-dSVxkaZJ%_lrWKnc?LdZ3I~FV)ov=WepSEF6ql_%AD;b` z7doDDC)+P2rG9e}Up5L+ws$D!vYBo$)lSCku;QLDJp#niG5eBkR50G z++?bjx zhFo3l0+260dqaL4%7Sgf8AY|}-z@^CmO5y!cuPAUwd@2koD)KSflVAC4(! zzpxPQGGO2)@~7an;yC(Yf(^l5O&wzUoz%Kl6tyyfMbcN5#gC}zsYu!T9WlI@a@&~9 zz=03o=dH4`CkL+Yn(V+(?cAA(!0T5C`=GGEpjp`j^$i$#l0jRReTFzDt@n+G_Z`Zw zLO3H~ibJL>iQH4vk`tZ?p(xS+;DMA|pX0AVRdg~sa^7R+;kYr*aI`+DF|*Iujas-- zn+}5H?r|{k|xR}q8=McOf z(GAl+qv@|oinw9izntm>UE$Y1$+~ze|2+L`h`lQss!W8w?#{J!hs=OR=SARQtWrfs zXA_eOcUQQAnzx>>mtf0XZ2M*SeBc3237O1%4#djTUtMdJyQLtVanUt~@kLoZx~hG=m=^F?inkj+ zi&**RBbYur{Wkr0mez;`{%0)}-smxnPyFXaa~m!nwc9ex`iEt~p-UKYpVOpB^E`I{ zZUu%}0YgQSwo5w8JWq5yEQl+x+pRkoDFJv!vqY1JTBdX>vawCM__B*(QBcm9IKESJ zb#xrvN$NPk+#bIaQUwQt+0SJrJrLn%l;Me0q25I!8XSZ*r+IJ#Z;2}|s2?VH_j-%Q z$KTi-#%*2l{>O-w$}BBt6JBbVAI^gbbIk+YS&2z6ihmm~GOV+_9)$9N1KOjo)s}xB z54$|beJ|kmaCjm}chc$3EkS%Ddv(&|&%B+m8aSdi4yVrss*Q6OJo6N%aS;`kHr80KQwc?#0d7P&i{9rUyn#||AmrKjSB6Nbo~iF?j!YVcl`6)otH{>F8%WUx3K z((qdEo7{2}Z}C*T4h2MX?Rk3sg~g#GHuQf3O3UUyS z;ZBpQ(ADd44p^O-)^)S=t6D7pbrXv*^UBM`Dz^Jnv*YyB^klb?ZNcn?v$G724kwc z+y5ezL$O~BQ5f+uRb6%aPc`WECa5!W-}3GIxB9YOuJC9_tK581Qx>FJ(2s!#FYy0a zzKX3dzZ+y($ge7$OxEW0mA1@t;GF@Hg48mgH9kUm;Ooa{#Cy%IT}7$~FB!Ya`dV##lNqlk}~vb59xl zSu(YenjenLtDxpkdJ*RCLeQN_UR=~lsep+9IU!qmwY^2cs)*fg^>96$4v zU#WFEmtIWtul)@@Rid5AdZ5(edPlS^^tAFHt8`^gRU`0nv|o!dZ%BoxBDy79iGfmw z!4AuLnFyD;V%w&YJ_>0{8>9T0klWN_TNz+29u{G=Y#-bB#4qkNPxeiO!3Cf{KS-{O zL!ce38C_{hl;bQwtf!;Rdp9Wu} z%mFkFl`e%Rl^nua#hUR8|H0Mba)WfL!Jqyz#Y6 zY(BqmRD$Q7xtZ1c!T|@i`M0catsWr72+Ypeb}mfZ$5_Q}ZgPJ#dp2hm>Ss9mral~; za4$L!qGgqe#44(ND%SZ`2z2dnEpRUl|4LtxBkTb$iTy9u=;v5luVqucf-i5(L}fmg zfy40OD$Q{%U;hUoETXvt=Wa8vR0E)0<+Z=lCwOsr1OHB5*X%Iha-Wk6N3LMgBZ-r? z+lZ;UQ1X8s*e@$JI7Ny;I5=SM|{yH|oK~PxII|c_e6Bnd<#~_D;PMPZX zB#{Gqf!%&QcHufD)iMB|`7SB{B6tsJ0i=r;bU^5qUgcfzt{8LqGYz>xh9>a^&m=}= z{61oxRT_BA zq+aMK>_n=BJBnV3mo9tNMzCddbElkS!zEOLk~vids#tUPwM^jePu`DXxY{7$WW*9f zkYiaFCp2Qg_0L?Bb31G)g@LeT^i}6$K_YH%ypAJ@x63`>&rz@JUfL<|%Qk7WTpboM z=jAlbL&D14K0aft8c-lz@onpl=O75@Dmj2uf)bYiMjwW*OyMi~sUV0nhY16iLYB0d z#FSeMrVjr}ouOZL#tn~&z^9V`b2F$GToq>#kU&A}T2&;267bu6tX+K`GwOQc?A zlWuwO5!iqY>=WqQi3iOuagm^qV0tRRGGgnyzyQj&bhQ-`lu11tFEkHJqv2b$T;eeW zv&Cu9;t5s?o=IX^aGu-Y2T#Q?tn&NEd4Lt1YzYGMB|LZIYu{WE(kp&kv7DWp`$N4KpjVJ3!%(0crsN zI;I#Iu!o#Q&$oAb{q*+>H>OV4vgTE9x2V6#Kmyw1Cgd{%ncBWv;Cxn&7E9D59pWUk z>@_S@Ci#+FB-fvuiaY*fnvx$VWwDJN$IFRqB$tqa0x5vW9P^sT&x2)*aW-q~oUAUS z;jGDs;B?O_#(4fF*+{T349M+ij`%4nx5rZ`1nj@LPzLlW#?6}Xhn1=+AOTig5$yb& zMmTN~tJ69=#P2~`K2^c)AyM+Ll=K-NCjq<9G-3HAIfyeM>V<SRYGEc_U=+ zt1)38j;=)drqCISM-k#`oxvySE5pBO*%yydcuOb#s=CliFbctQo5+w~=Mn1(rK>l$ zuyX=$!7I6yhqArQ#-P=vrc^SM@j8NXUM6Zlai>bGN_P|s07#4*H z@J$j*n)K;<>d-Euer+*{xBhjStO-+p9**tc?rVlBF4@#!95@@~7U(ggjs)u{)$7!k zrH&dm@E9Ik{C7=;bEQ=yH>#^`#&OqD-XYZivJXx0F3zgk6_+b`7J++V-T8VH+5q-) zP+f!;RZD|+x+>M2p?8b%>nCf&KcWF%^^d7nf1cIN@}OyNJT64d(2Z1gW2(~O1;na> zhITGG`8;9#tQ)0!w=$r!7*!djE7(Fet2#l@LYzvJC4}acVkCsAUGcaU*BJd} zA4N+ef|ugr56SaSNlcRJpV|+k>gp!%XR6_@( zrA!z0h+SoJzOsl8G~o(YFU5{$F&tSXImLy*T*XKg-i5OWYY`63)t|HINaCJB8NJyB zE9xdzdRMI5pG<^TBoX*5%2pKLizQ;W4-T=06FJ@NK&9HrweVdtkV<|uif`F*_2UVx zE2pF~l!W{hD-YCE&X=k7aInd@*7uQWb+5Ty(}_2`xh-|M>I-{v(jQBj;pmdV<0rXd zj!2P9SqF}q3EK`sm*-S*YiLnSK4CO+npvU~xjA_UZlR*O+|N0a#Z9*Uc8jQCYodzu zIH9%V*h(ORX`T4rf(u3U-Otp@Y z(7tsFbnZON*RvU*b7HP#-^>-`QNo6^{wElm1@9mYnG|9-*=t+@#yeTRczw-GSGE@L z{_Wv*Oku*EHDj8^lbZ8_)pCKHv(dc)|DGy+H1dyCRLa2E^BihNL_1+K!I2% znVVgQKRL2o*f{SJu{2=YNL#5xhHhgd!)JK2;y5v}Jk!n!&Qm|iv2PRvR1wgwkfkg3 zbW=TA2#|mj;+(rteI{<%ZLv^oJ}wFxC>ICAH>19jKV127bAr4BUzx;`MJ3f1RAmzD ze?YNgDtS}%Nx(cB7EVh-rgs$ho3!*B1FJ()NsLip0C63#hq z+fctdmS?odm5aq#^e*U`T1u2peY3+rT-9%&*cGRF(UZsi%uDW28yG&UQ6FIf5a^Te|jLlq+1AOPB>xwhM_NcU+o0Lrlr}jeT+W$Pz9TAx#sF7UUyfG}E zH4E2g356vC&Ci!Dbb~6=EJaC;pJ0U;w(dcLED8CD$jpHYXl22Up!!gvagXWc<;!yb;fl;p* z#4y9vxg(pc`f7u{MdI%a1GR6o+a&}SELB*m9PV0Uoq)e>>BiVi&qcayd3c?<3+qxjHQvV0o)ZUTbZfJUw`=)N<#XhBKm1N5Lya%%q+g~ej>mN3OB(~S zjqMRBBDU9$N?wyJkhG_b_K3UdgiiN`iv-s@QNgr5hUJJE3@{8S`x?ZG;t-$(!Nd$> zhwjfEV2pgfZORzQ_icp$$=^?1n4v)lfTPXQ0&_7UZ=I%#O-?>#L9-C;cE#U0?sb+& z-OA}#c)kW5*&tL6ww;lYusDQ$FnkKY?%{T@duLL1^MZX#gKn3CHC?mOY$xEW@9V;x zM+C7nZkHGxE_q%q8pG_PQM`Ds=&H<%B5BHr47F})meJ~N!%X6q$;TT-@@BWHUe|<` zOHPzobm#&GPs$S+o38M8ymOv8+F)S;9syyDqhVF7*Ggsp1$QcuIb06QP(6W$E_a&P zSNlPYy;Yt1rw?CavrQ?3Hw*Fu*P8kMkmUCWK9&mu5(TVby+1;x!Ep5%GXrtF@$Vea zZ15H@GEIrbo8ikf!B~}Z)CA4*SYpMX+914162xXwuzZ;(kXPI5+tAQ(wdbxCRrc85 z5L&tk_hsbjt|NS#xKCymxKnftXO&%Tj%k=ixHpYk0}UFzbHYvyHj%MYn~x=0L$2zvg1MG(6N}~1{)F!0aCb_YmN0q$;g}%d^Ni4`&SBjN;IO!7>eoDn(8Hr z=CG5L8ce%vz*hI1E_XoCrC)g6^kYcLW!pDu_1dlLs~V&iZ2TNlT&Qdz1AN8Gjs%-A z7a81#qxqL>ipjY6)4&e+88wa@srEN-%lgcvcZLGftTzdtoT5eDhw<#k)>aB$fIUoF zFs6AVv9r$Yk00U_1DO^K+*Y}8;p!&C4ouZpIw6K`ME?iF=x3eEQu3qqnvg7GHRFqsAP zH0A$0Qx+(;F`#X&WFVDF(poAIr_Eke*&PxiFQ$-x0ixr~tH$BJb}!DDj+d|CgR9Z= z1Xn2ntIn|1jR~l7xkPu1Ehls)bVMgttk~E)vTn+iL(6ue}nyeQ`|} z$9&L@dW(F8w)AA(rwckWnMSFZ+k*CV^g;O+fI+9HjJgHl19*q^o?5Ctab`P~95BgU zC5B|Wat2jquk%2|M!O(uW>eYcNM)D%t2_d%KLx7Gz!MhVOtV?wl%ss?UzX1Ow0=;|Se_F2jZX zfoza^D-Q!eM`k1#byZQ#O*_V+?nV1oJpFJ~`uY3PV;4Gc&7NDF=tk_q6lpx0!dlWmr$^jXpJJWcvc+9rVKGYLlr~3`(+OzfII5s>dq5r* z#8InniWf|bg>;jzm9LgR(hrEMO^}hVsZoLq@cfC4>=2piD#Yy!W)!Us$R%y$ES2#- zS^Sdc)c%@5S8M;$9#7y)MCDh772o9_vnX4(w4#4Fv<|MW#!|>Kv=lU+!ZyQcpoG3+RQdKuxe??0U++HxUD9a9beX8*8MLR5yH?8nr|mj9#Axj=4sYS>~bZ zKA?uc!GV%4=K)xYv=Edy9zZ(IbnH?`q(mn3O80xN0on#Ki?)C14?QbI+gh)VLJP=) z8T6h)_ma{96}zyR4K3@x83=he%&}xZBLMS^+WBSQFA$#IgPqq-Kl<+*AWc5&it6j3 zi#utiM9@gYY!HSib5TYAalV}K6MK*DM%3)7H^-)LVToR%GV)tEs{{dOK~ac0_rFPY zboIBLA+kNew8zkNTj3jb3k)B4{DWRZPKA z`2oJX{LY&&*ldKjK}ly$04{|=1XJbhR=|iy&}6u*tX~+3c&WC{lFsTrgNB)EIA#&l zkWGaSG~}}rgqZXq;hhgt{-WN9-t-!biDJ}OV1}=wnX;l?o)DSvGr%SI=ve!3S9O!Z z$(>4%V=0{2Vi}&cctx(BXdxFPp``DzO)MLhE;S>iWVq#%i%_*|NGnWg3sW3(9il*& zet%1=-b;=SN`1O(&4fL14-$iqUKhgVSgIpsSYfQr;lWIKK;Yx|4uKS$w)b?M5t%Lu zfc)s{IIuO@gMjBBP{wf`Wp@>oa;OWn*m;g{C|~)P#dwH_@5iWg1{6(pm>HgbaNSLl zEKGVoLUz@SMjBpQXx76+2JN|Att|0gIv$5sMyd7$&VZ8SpXh{%?}n_$ab8Q&nD1#P zlIqe!L4s?HvdJWSq^27Sgc6`dp3Eze^M@|g*(wggH1M=~dqJW4=H+8~MtF8e!y7Z# z&#jYb4lco-HG%<^!C0w-7T(OOEDit9S=VmXlR<+V_wS5%?toi{tQGwchpI@)jo#pV zOHrnIY)I_r{5e_l+|oi`1mUJr&e}S#N=oC8d%M8B;6rrIYKE^La$=5-loF$NiK}FR z^@XQV@jXqLj2p!cDc6y(#=ti>#8PoVISJp~_`-sk&&k}O*~E0%DCdY8#`yUpD&1Vt z=%G%zJckW0sTAB-+8<@E!pbYz#A$`Mprdipw_QXluza;}fvn*;M>D>Yu z@2no!Tz%U(t>P>rIo5xPut@}#rJ`d+mUFP!JYXAc-rP-rX5K0r^Dap(V9eDQN3HRAm6>b*IW@X^2sz#r<}M2^b$3W}WhgTif3Sp0`yz>zFLIWm zgCjKa8(GoDaPl_ZJ!!?TMfVAMpcx4w2tuS|@cTR=_k^bBiB-*{T}66)7PodhBpJ3b z>TT1axKR-kL`rvF|BSP_0TmJ@g!l?1vr~NeROI5q(hJ3QtGS z!4;|pXZW)T&B<2$p4y*yrKEu+nE=5mrU8s@oT5$bW?7A$H20dKAzMI1v0(qc(h7x$ zMYWd+?IPJBV|3>4ZT)~8Oqc(r9ZjpgDf48Xd4y76Xy7HhEBp=0W&l97c{y(8cDHhD z`bx7rol0HI+!ItCJ2fS&OGnQ!lwCeM2Av)^TMnpbawZD5GeM2xwBRoip`V>SI!5>s z-6y{B7d?YE92*}ql`I2plgAMpYEt)6qaFZ+iVq3H?kVh7{n{T_y#L5X$us*rDYnKJ zx-0RoR<`3>dLlgBk7%4uhKg*ZuI0g`jO~N+FgZX<`Y9|QYgN5u^(xhAmG9|9^jY|^ zku%k+ld49BVxkaM%DqwXlGHEgR$!`E60L?aB66LgRmjF_<}Rzojc+N)?_Filncb@k z-FZ4YudKQrzOF-VaL7JDwP5bCQU_JOpNLz+B)InNh!OhHxj6;-Bbry(V?%luQpHoZ zBmHCa;O;YItoK(A$~bOkVL4ln+npBHt3pJ9W#l0FTQSntLO*DGaCK zFb*8-cl4p}jnA};_S}&k!N!y2mjfad(pMIcK_3zlZM9+N@%y!`8YE(!gzX~eNCp$^ z_ev^PTv+l8`5#}w{Y&QzxWdcHAWtN^wqzm?8b1sa0z*P2EUEY^(*t~@_}gkh@6D+a z2v$)^(l!74pZ&#uS9^a?pKfsV4;c-om@xO}p$K@hWEAci9KYWqpZzC)F;CRB#+1y% zM!4)pygh!WPUBZVqANl++~wYFPp={>Bo$4877_qy2o1@ifQ&H_Fa`(TkThCS%T<}Z zxJD!?$$Ks?)`5Y!0Q7N5vpJUaOf@easR(+J2oe@$L^nIS=kkAc z-PrQ#7e(>oXsDIY?|~x1!`k~WRZ95%NZulRT+3SPHaTj8TLpm$)UH%KK1EU|{wp8p ziP+3|!nLX}7mAtTlo^KwlR|e9_lxFH#|JTLON>$_Gap?uDId*@6Uip?ln#Uoy>T}7@EfAL>I2?a(jv%X0s`?ay*od$|Oq5Jf`ErRNaR-(& zM&*!Fz--!I>C(Y6#zVGgS~&cwmCpxy0U+1-xe39x#FA6-=yyK1@_KXR(;1gf!j)wew5OjvTj?AT^?DLnQ zH$y#cA=VT-_`G^ba$9FpswEz55ABrz(+cI3Fba5w6GH&y1_GNbovY4g>VK0A_kypJ zJFH^93#AX}9M`1aILh}0%pnbSItvOL`VeK4;RW{j5jMh%lwE&^&U4gOXkii6CB?|nk_5^209z>M?z$aMP!quspd4I?heOFl zI|c47IV@Tg^g%vhj~VbBay5WqM-7B7rRGyq9=Tl`zBOsz6OWR69!muIm5n*^4fk7O zD`cw+_ccAlC6RMa@{t>Gf!HtI$KzwH!VdF)ONP6~{mz(!W_*gQ^xQ>VV=6?Ft*xSo z)yls&I%tRlPjqc%*15@%=?KyrG1jJNE{;(bsHJ*9=@JGW*!fAe48}4*VOW1Tl71`G z+x813+UZbPPRt908q>liE+KjdJHC~%OGG+}|6OTxvOi6EOd=t+1p|WZdV$-Ua1Fv7 zoG<|Ld}Lbdv`bBDg)BUdusGl?@GBfq1<#TzXA__L`q)#?n~+8BpaxUQdeb)bjBp9X zZjh~N43_#z?R5&ap!KCfHDY!l{0~mnj`GM&zfCM)=F~Lf-DPqrp)Fo;Sd-WVJtOE$ zTE$SrayP4;hIKD6@h!bUYk!#%WW(U4HZH5})Y zdhLC;4*l64XB5?<*~0lU_dg}3I!4YH|LU0oej`Gr_!9*6D}Q-gZ%@YT$(T3;5jp%? zHr5dwI-W3yx&JxGK!QlTJw%c(;J5xELDy_TtK&@#_@3Eepd~|tZfBR5LGGPbuw+ji-}Ll8u->FEBRoVX z2j)>sm*-ungZl2qkn?HrXKt~o!Y1&_=$P!%uaF$Vf{(x^ z+zBJTg-+XDHr7B{Dlf)yGx-VH{1C%IghY+0r$-{UY>3qqGucgpvL%9JX%~9AUY-B* zx+1Ou;S!1g{Ql2(+UcnwMY_d|lSN2ET*lbw(ASD^k&6k=4|pz+#sF@s;n2Eohy5-Q z9=pp`{uMG;awb)OxL;FYKVd)M`j&cm)#rY{Y_=7@BC7YVLCQpZOnC9Otbyh%p-^hZ zb=kH5m*`9ddeyRM+>q^B7>Q|_JR|^^!HNKBG8S_d&qz)W3)L@}S*21lSo&GqT{p~g z7*7s_eXUu(#4N10+qc52rs>h-6IMh7D6uYewrGS5va6=-Mt{q%R% zj)mwi^Q?r6J{4y0z1^}fL!1DcQ^c2gs|;Y6*WH)39#;)By*_Q}jg8*wP17NZa)VF~ z1oh8Z)g>c)6y5#h`JfPCO%X-&Un9z|w}8836%u(euqDmYZkeiD%QF1TQtAaTnV($J z+^s#43%FuWs(8#KnAc!gG#9dUqO+LUwEyE{O1HYj+aD8%Z|i3u#o?WJ+2j*}tRKD` zyF0pK1J&tc0)YR!N^9zC->C5Q0AxI~rO%x*Q1M8efhr9UlNIp1aF7Gj%sFrIeY_BU zMB{p(;)bYjT;Zv)*r1}sb|q3B9oTPD)k(1?{VKxPG}}f5ge4?b97*41ZcnUv7exiV z#Kmh2H{tC;4#rlzE2nsHTNzSD!R}{qV`2>8Pvva$IHG%p9H0&t@RPLqi@@eC4|ONO zD)Z6r_6b#trMKW?^q* zub5(?`()A+ve!+mF=eJ%bM7 z(PE5wL1{rD8Az+Zcmt?zy;yrDs=Dw{|Iw!?g0*@TFLjdJZkPkq(O#Z=C4tEOMMDLLY5UgR1mB8O6!f zG!gvKFT)Re&sle#bR*_PM@WER1vMSJifBajdpvZ{{{?EL0rDIqz#$XIUi9_|2#y+Rx_VDH3cICf z&2}B@4YDdw=XD3St>U3Z+e|CCI1F*C%GV6uMH49`Mvq(F?yc3JLh67fGsfbsF=U?d z<~nl~Y`lZlc6kBO-ieUZY%fVL!X^t)?qA7JM581?t}G$+>q<4 zL#3Rsr5)~kgpFZcfcJ7?OUB7Z57*qj7JNmx@UpjJ;B*jn)sZ|g-`*3q$n=BuIgvJp zv!yn2ZKg8E`C-MAbKsFN-iph;=zVAnwT&nQ&#BHg{P|n)M5Y)dPxO`5UxVV%-J1?u zerY9i&-*1|R>Oc4_d0r>$;VDp9AM~pA8{^CDoI1FsL4cgoV+d*)V;=1tuU{Y1yk_r z16G&;4|otL){ne7?uhm|V2nUbGxr29-_QYP3%x?WZ*Y)Nh-(ABwF-xZr(b@D3lW1T z7)PB!U~FYhJ{n^A#(y<0=kfPD@4Es-+USas0hz{iP1N{ElAMFE;MIg6R8S&4HCqEp z!y8ae82ckaZn}q?Q|)@7H%N-x7L&L9GfLR;r{?L(c`NnnBd=PIZ#Rfb zsTo4=w9#~amx~bOedRT;WB{tnL)J_oFQvomI80odwoce{|?-CA9{Q0fB zE-|^I3Q)JmZ-JgZssn>r_}<+k=$8mtANAi++(nh*qHZ%pXOHJapV_t|HSm-i5{s=E zgK0DVZL~duw`2B2;kTT){0-y!i7e{O@^b$vi{MMC2UNx_Ws)BS4@n9&+ZAP|c4H_I z`;5?R3Z5RXe2M^xJ+FmOet<~sZ@XDhk~uySwBe@Tt7IRhK(hu_04uct>!!DnG)!~FjZfVUi4oNZI=pGC@H^A z$S6$h0shQ;*Ds2imup#>96=rX+uvaPY zHdGyIGE(Hqb1lTWj8e0ioOI znWT>HML)wt|Ajv9xozEW3YoUKlKincOD}Gk&J)(kx-7Vjy{5IjPdg;P1A80im60zPB!Y`tY zqjF{E0g!InR;U-WQA#Aa)Hc-(n(&4}(E< zgWc`*6sr=kK#aeU9Gabn$WFV6xG@q-uv~lZdnQWZQHa2FQPAvG-0bV3lT%E5#ZGoS z`Qx!M!(+Au{G2lS?C94@2i;M@P@)^vdCwIL7r-KG;;_Xl!K8*o&7lF!FT>n4AGPy4 zE24)(DvHOAzbIC{F?r7`BddkF+ItYZ32@zbX>*9EhR3x!@QA=1HRTrn$iMZG6B!`= zVBBGsBwY$~qjlKs;5dx(Q$x4e({Wf_b)-#MoF~&?{$M)3v^dP<`iO-YgK*Vr$}x9N zA%BplO#ARBcLI!+58e(??VE^_ZS!)ev^q_q7yX$p}eQ?~G+7`@CG(NMp7n zAu+bSv4qwzi`WX@-xl08Y#r1vCVKn_k_BW*C)rhl!!cMWAVr@gjX5zp;}==)uRCpn zWz<$DIZZ}q$!UL*+}}@=3pS2n6Q>NK(PWnCHL zz#&u`tSRthg+fZB(%$wDU?@qa1XSbqVp6S@}zol2{BZbNbe z(GyhYMU7A%-7WS0pfYN>SKGXq>THk8bf5WaJ?akfevy@T2B}56flGzwyU&2rv&I zkly9ZsBAdMC?RabswgSEcKW+!4*P>;%Q%Cfnw46NKFTX3Cs;q>x3D%Tf~e%le-y&o{npgA!n>P+3U6MXAij^#)7%>;U)6};t~t)RWePnaBe_e`d>04 z_T-PZN==>Z+T=H58D#_CTT|a8Tz5JV4Xv6Ws7M8WeAuH?{uaF?EHv1-wjhl`sWbvq_Y1Lv zATJg=MuE5QEq6B}{`R{RAyYNk$&sM_=}mq-hE|0wJ^~U-jU@2Iui69U*2**`rGqdc zC`B*$*cft+tmk`r&^`LAF^RvJkYq{HYn@o))iCh1)G#%4-RtVMh0Hf$e8?Z@nz}e}2>vkf73QrJMK=z?LT$A#uJ5HI=sN zAjJlMDA>b?kqqz!Zn4>DYYQ6* zp~u`MNmyXl9xIReWW9M^!qhL#RT0wmr|_jP$5y0SydZ(41z~_93qP!? zjpobmI4@ggTp~piHEk~UU5j6YA6>)Ck11FSn3CAmAQ_FuxhanA2d-=nq>eJO8Zy8l zvnWX7GW8`s$yr1)=_Z8X1)I06X!V1m7Ko+Y_A1rjxo6V{qE`F5G_!kCw+l2z z^}jiEI$+Y?#jD z6%gx*lKFmz?a)L~`J57LaDa3;K5nKS)6xU3AP6fZj9~ zLfl`QNW~*Y84JazmG*P|>y`}wa{SWLdfm+pXQ5N8Gw|t>X?gS*i$ze|yx@vifc-uf zhG+XW$^uWd5FKFn0&nG(E7lFD0RUKL^vB;VDYr9&I>c*?TS2*H{niwC!FSPbXLQ_I z?>MLcM0lHVFW(I!`TI*J+sH%PAfod)-(n@=IqckzhH#)+@nh~EV_khHK{Kfsw5v{k^y#^seq|VxY)Mfn7PO{zz>Y)zsPgpUEV~6cf2TgE6CjKH#xKt3;yrg zINiL_9zJay!HxrOg6^z#q>4}PwrY|`36n-g#zn(*t_R?On-BONoIbMNlgn*{CV5AO z3a4*W{}@<8*4I-l6q4!RRh2;$bPpxDBO_%>qd18w?SX(?X6#}bAZ{1k1FsUBeYyQCgadz8 z+wOiWJjGzRd8d*sy!C=d`5Zu)>)y@ zw}!U=$>1D7-2_WD{GnY6S2(5=6VHA;S#B-zOvN+QGtxN(eqrB~3j^9)xeL)4h=7wL z5Ah)%If%=<^Ju31knfF|wBp@Qb!(9s^*id5NB~Rtjzj=AgmC!{#+8&ydb|ld@{f>3l^~N) zJ&ja3Nes5rmZsy15JV2K(YjdRRE?pALrKZ|2UrdOx)n2Dr5Sj6J}!?trGDs-fh`Gi z4WfXO{Y}wtKyGJ`3}ZqaEL{L!N^NF_RMby&(J-<>tpfOkR3pb*S#5q2h57Gn3i!MxhJ z8#Hax4xiwQ6579=?o>&tyN>_FFNg=4XOj^RkeUl?Xy^ePjD3c%v6at-k%BY2i0_2L zptKdj$!ntpyd*EU!H{eY#D*BYxw0MmQ;g-&9;q?ueA&-62yt^UKWQ(qZR)O|Med9* zpk6GDwfsn_`M^>kKgz$01-J6O7geO<*9vvVf=1k#`AxXccr+#!A^{rbvDe}>D{Vew zyZoZp?2nM|wB?pbAs6~Y49m6S0-@sZI~^?tn$8UT606hQ{UtGW7@GXZeN^o-$EN0q zBvt-|3=zR=*MEIcBmtgyuwpQrb1P64d2;VnJ!8tu#aZT2Y6@fJeDcz9h;Xkv4IB0? zLWLR!o6g}U)F)V~`p~Hs8-S{-`atgo;syWwjL$JNJM9d8((zwjfL91*%#`=O&I73d zBgwN+(pG)EEyudOqT7$M9=2gGCntO4zAFw2#DpEBGd{}N0@I7K?TPM^(ogPu+pF_X z9Yama=Yclu49z`0?uhJSAA0 zF^e=`=5RL_M2{Tv;BqHGs17F*9T>Q#W|i;>^o7>>{iy1Nm-f5-OV}%U?ePUfDqB6} zw-i=#E;o||B2+29v;O(IAH-{kV^_`{6~i%i*UaIfpf zLorCz7dk|Ff+}pBf7hj%J`hwe`a(diB#{R^CmL`&_( z6F5AjcO48F+~DY24DDLH0|CLZ%(50^s|$qdq9OZ{t=LH`eG%PBQrKvIz2qh32W$u& z8UB){dEfH{I;}-a1)C+iq+sQO2Ilc=Q(F))-xQZ4{bpzlyg5_*yRU=%JGJcdvwi0ObAmKN&n$d7# zH~samv!2z;w?vv#3UvsPPK;t!hYm~>tcLQAh__5$`5Wj3=}$A}te)%uTYJq&6Yt~1 z|IR;@*jeG?UQJAw9bt>UrkOzFfvOl>o_1ak)RFfY%P?>xm#Y(B*qTEba1Esrr;o_X z>`a6KQ?byxCp?&-a;anNwZz4wELd}Qpp~$BF@VrpXZg4MuhWKxnac6Bu zA1{z#bg82;zP9t+^}_)>^96vXgs3w}W<<`dsZPATBK@^U{Y2XZ9WkoR9J9_?Jk{e2 z1Jdxn`Y)d;K+)_zXlt2(SjppsfC+*caOPn`5(VxO z=rB-qD%^+Yx!jLPz`#iYVGqRV2nQI9MJ9`Y8C31Oj(Wh6Vs^Ps9TVL|j6AruQyp=R zZhrq9aBY?SvP@H@HD~BC=<3e@;>AkFvoR15^;b$dv(Hq%m$NN1bU8Y7RM+_$^3ri* zD4Q;~Np7#4GMM1e7ipnxFK=7x6YyT%nd)&s`FkiZ(xU+!HL4aTs!-xro7U@j3-Kw= z0iRLu+Zl@n9s?W9j(A>P8=h_M?``343YdEDv0wP(50-bA!49B^5ew6g^Sycl!2wb7 zut!Chr^Kx$M0={l%cxeElO36fVB4FBwh_VL5^KMkQh7D+uqd*k2Jn!5#%(npzO*}E zC-0;|vVEjVt^yKrb@tl)DU(r3U2SH{=>bZLc*j1rG-1;FR%5vxt)qRD0Z9y?4ITDM zAR3A5Ql_WnB%MI^;pie2EvvSKbgt(Xe5caA($G-P5~eEd25Za9=F~Qw?D1U91o^s* ztR4BV!O%ghZ0aRJV4kw}*9p!xW^h1n1W~(#{5S52h~A zN@bL{%hc3Ow$GNnydGyZwzM2YozzU}gbv!C6|^Kf;L6?t7fK&wP-3c}Yq`EI<+4@)noX;?$zpE*63 z@~u)N9Yv^ZPIW-A?L=dw#%6O~-%4tqE`PNA3pHR&q-%Vrnh@R18$dB(gRO8-B5%`n(acZq>5pXLIC4JS_TgUR@TT`k>XQ^;J zX?F_6Bcg>YbXn*mn}~In0440=okU+>Zj1jfl%>~8riP;#I+gAKlf(s}uZv6=E}f96 zFrgU?`J1qivfP3|L0^&DOIjLuu6R6+${hZejW3_Kp=Qq<0t2q%LwU@d{WMjyBT_nR z2Er;{_MM&jaZd*IwW)G_O0k}f7D)K$aP>O+W=G8M6Nu&FQ(E-${6EyY5S2uIKA=w< z7qxozf^dxZphQNZhs_4LwZG9d_ce|N%`%9Rh(CzxjejR>{v(y&lz!D5q0=!k6Q5?ZIMSMir+yzCN?b5e3 zXI_1@`lI#N1@HI5#CSGvwj%K6P%^_wf2Sw=Tb~G;>_7(^+B!4RD}Hk0lqYS-_`KNb z`!3O}yrmXaTE7(=fL+ss>XxlPshDTm#zvK-kB8?4>2yR$M|)P%s9kJm)}iYlr|Tip zcvsa~=@@BXfr3$aEP72_inb1p9gPGYJoj@ULCj`L(aMItIEz%5&l*nKXHy|kUGM3k z0}#XTZlQSrMfae}KQa^hYqSz4S)U8$t@ffHMYC@ZKz?w$sAeblxMFVEKp;cXi32$n z9+>dwZ@;YdRkLEyi9G$+>Nu5$T)_%>)o&X=>loLSyQHc5+%r*6Ne<+Ga9Uygq!xEf zqQ5zsH1vxA5hZvZ&Gz%fO?qFrrFU|{GLa`EV3^2rB_N2Q)@?4eZJUWC>iPE)2zdji zr*3q(Hh0g$Vg0BVcyGsw-XGpgj}gD{c4UiV*kS*^6ONsTm2N>kYFIlYAc?@#Qd@Lz z95Zkai>oM9J{}BP*~H5fUC3sq!$ip2G|9t>&+|w{IlIi)Bi8yGUGGJKUal7z`?Q9! za^I=OA@5u}Tt25GKP0r+;bj`*4Bb3fDq3rwR{=~wvsa*xy!DwA2|kFrCWdsfgXn8e zDgyRE>T18eIRhRc@$-z@YD51N?zy zPEszMT~2q?o+_EekHLI4#HFS!l!H9eBMnZ#ot2J?K;bX;ph>ix{CZOy3=zW6<)`6I zR#8$0uXjYE=S4oP7`6}(EbIci|nkjZ(K{r-CXSJ_D`80u%VsM+2~X`LtXkw>Jq1q`Jwxes~|zM}JtFC6CaN%~>0 zedz(~4D$tmtPwNhnYog&Z2p9L|KvUM@yHBLDvAE984@l}_ZL zG%RN|G{<*d8UX%V66Yx-S7tmi96#_`^}?&#n#q&hgi7t-I*a%`>w)TzK`8lIBH-N83$arHpP| z8&Y_H=I~WMpDeaqr+aThd98T)>jON^?^T{cZulv`KL<{@S=tHj&ySoApfW*M#TWZA zCrfj~Aap5Be1h>KJ1M73?rOnbDROidi!zPXO2xf1kRty5cD5=TVaKwaVi~Up)t!|q z9n&l6k*cuH;*J;#R~U7p7K$igrYXDq))pC#$2BU4SHo=e7aQ$B^a*#1k@lf)C6cH# zzjy{x$}YUq?>;l9PVTh_xzj!)m0;=Exa{435x69AG~43ZyH7b(fdTH7`)fy^K+p{Tg0h(k+brg64JSIMlGU{&e3 z&-KZ_l%101G4VF7-u^b8SvhT94~K{r6ct>rE~RuguHxB_3N6jxU2%_xHJJl2*g2^% z6`)$s$OCI^YDh%?S z*C0H!zg}U6p6hl0o+-Vw2+R0E(et{Vx~aHJ?5Q8OfTrS32OKFGS>r^tw=(jA*on5U z_LfUe_LrQ~{r%^4J>&5)M^l8ovfjMx%r~4Zv8{M8{%Qy`Nzu{&)v8=pd9ncawkJ+G zO|)>Rn1;Q6|Me2TgjtYg<)w69sN{VR00T+l$1TUDVo6&9Rq#C*$fIVN=ePM)OQQA` zQ$8+aqIVINxfPD6WyM+(X#@=4c^aq)~RG><5P;c z@KQKA5abxlyPG5!6e!a9NEyC7aG|ejV)5i0Djg*USza1~CJJW=F#sFY-ilnEa66Om z@^=IS+al`LHvXrgMEUPaaC^#@CgZ*l+QR>a44Zfj7Y;j|v|SY>^B;0PgzE?0@SYzc zJ*x}gk%2W;@1T{LM`G$jrE?7={WDhcJH{01R{O{e!yTAVf`WLfwHaF6^&pD4gqY2Cu7q)Y91)$%=X{ zD%GM8R2HhIir#3~vb?F5yXJ!IycaO6HzY8Mi*1(l=U7X7cfwt-L7xyEakQo^F+%Xa zj2@SO(kj`~%l!Tc)azSpb2l|o#OhUc!kvy#^7{@dVxbhl&Ab@5$fh%f=^Q!%>e*bw zu;}~pRtnJzeGH{D@6L`yI;9CFaBh@L!&_tcf=)HZYPYKvP`$QpljN>F`o^s~ZiW<& zzS!@6Rc^n5+t>2LpVE{5GUEaei0|eM`0Ttud(H?DiSoEyx-YuTX^GD_jN(@?VT%>~ zu{W-iST=oGl5$4e{dl({XkM9CACWB{lsV(p$epjVfoTm}8H0Ho*B;oQ8Ila zqV7znkm1>TSE`dmyClS|GBCGAeZrN)UjNQN6l%hIUdI<$fm#|=HAR^ZbDYW)PQe`J zsi30wYxv?5Fvgpx{lLqjI6RA$Xm8n7mc~mPsmmyp&a+3j!sbf4HeHCjyH?&(rht~) zfV@mxrj4_+Xn_!5VDxc~Y0=c!X5p8Vu@rygw=L>Rt^OP*R%9YRYqyPcemo^6`rHF2 z!~pj-6P;tLA`r0KcFhY!N~@)Ld54Qa2uJc4DaG9AwS7W>^gjw zat9#3k^PriHcrYM%l;e>sTU>Pmg)GUz86K?7B*6a?m)+q}62$AS4&=@L-9l1X z6udamkL=K)g6*!1*e`i)ld>i`K|A$TCt!w1(qDB7Rc~NKtfruTb0IMX*zZv6(u9x}a_v}f#+$_=TqEOBy~$_MV>zwd z{gGPSE1T{||1HZ5$BisUfIqfSz7iYta^o0K_#T@R;p;gtg?(v+4;EoEaRhyjuT!Ht zLgTo7c%u*t53iGmVg;tHQ${yp(L`H$IBGuoJCtwYG2wLXn$VrophFKo!o-lx5)r3# z7s6Tf_h@XK@X<(?SIW8PLG?0F%=(_!X6|$fGFIEJcjWM}%Z_;F*z7cWWOS%SheQ8) z!>bP(vGLmo6xK@KXjWPC8cjsNC$-j!N0Ze2gE=KVT9qqwnlDpNMR~YZlx*C?UoQ41 zBD}dEsvlIA5@AY+0_q|UzO`i8`(^%IFjvwL%&Ue-_TL1Z*5D~i9oxr_iqC~#vy|+l zw-q7^J*9F23uL@1s!w7@ikUAQED}a7Ysk_Y>hn@%Z3MAB!x!H6KY}=~mo}yf?t^)n zJ&;B3SBkuUW=hq>J?|f+*orO9nN2iOC zhfr993v;lyhw?hErpy=FnH+WnomTJZl(3cB33Jc-Kl4dk#$I2%RKl@#&SKVz7b#Mj znH$a-lZR_@vn00JI>h()6HJ7G2~I% zWsO98^kjA&<_Fl7EuRf=Nhy_3Ll4_2ft!^|X61c&;&KtBDj$N0WW;mTCbT=p zjO2BAaNcfsMS^+O(wr1CLhLSqWPC@fN@e|PYn@^f0}A`7vx&>FlcHKlj*%?F67)Y{ z?>WQTgm+mP#EiI3>(lZ%*kHdG`{`E$w<}30FtfpY9)76mkRb#q`ShXBf){!Y(;9S+ql}VV zZ@e3@X<5$ATNGos%lOK(ALex-j_GbK#dfq$)pjk7XAvj}#$M5Iou=qczb*QPpa^SKnuYflnFMzki;IW-Dd+*#klc(Kpw@++-l{$ zI{a)}+{S$7Rz4*M6sO;AZR8*Xi~0#I@<2?;>~gLyx-(qhsf7YIHMssM&B~JsIU(Sc zkK00~{~Bq6V}V^ic$=wQxk~Q0dri-aoc7&^0iC2Sgu=yv-Ah^IGXYQp($T*kL(AC@IRZXZMNw>H_p(s2 z5?Y7WV%tIhAg1oNyE|?=(R;aGKn($fqF^>t2kB^PTt@I#Nmw)Z$;&dd*_#X$spPXKU5XyTve$Sdk|{k; z)y^4W=~~xISc3)?&|d4f`f->S5tuA2piZ8 zNoorIklxQ4_ahBEm`4`$JluS)lz5r^B+f$p)#IDp=Al@?@n0oqRR!Rl9ZXky?iWl- z)<@Vt@U_eKaGP2CHPiS?1~X-oA^cI~j`K(CYN{SBwW&N`P>6Q)aitKy6+ znnKRtUmwd{T5@z-t|EF3M=%HexmrmC>NaJ(N2k5psOJD~H)232$+xH_$e+&%Vds&Q zKCZwz3dZ#9T%`N1dYTO~+3)FqwcZMe&<6Wsjd$fs1smHH(-P4j6rW?artvN$Y37MJQUYu0qbMQpo< zuJN>|Z;Kk@DXIxMvlp(!Lrt+Tf0fCZ9%XL3p@TVW2jOEQDF8}dJvBBCgvxEU(`Lfn zo1uEa;osL(c7rCUnOU){q;8=;cJjMm?C5#0%D$a9UvHi^G3^a>AGZnc02EYZ^S^S2 z8mtK|5BLn14n-B}dAkKi+$h!fu<7+aLx@0XJx?9A8VekU34gLe4_QC!>L!!~a9McL zY+kVgaN1)0YFt~bl2f1=%f|OF2|Kq#wzD^dl{RDU*Cj zW`@{!X?*tC=twj!zCPK98R+f~bruH{D*z?oC^S|z22rUv5iDgv$VeoH|HDYkD1b0W z&gJN*Q_I>}n)0J}A zc3=XGh?DOfVzEj6woQ$%s4=ZBSiv5!X*HVhqw&+shK{%C8c`1kCru@y?Wcl$IHT=Z zH*!~caoL}uF=ddvWi9jWX+PId7A+oydF5<)u!y0bqqBqhrNv1Jt!og^%!axO{mA|_ zfirI`$75Kd#2ul|ow+wAeqnmvutVbuxf{oaAOW{gC8x3uxTADSL2rz9Ul6qBl!Afj zD;eP;!$rGhdlvNZ``zZe7EmE zA(9}##g4k_u$vET4}zky-VJNZu=S!dw**%CQ}AEYWYsx~K$j00rrUba9MlcM)cy)0 zW6J?r+Um2BUK+s>>-MS>UV)4TYIeB`gtLl1Vnjx0>!oEaTir!}dV59R!6i$2ZE7|+ z*krM-)^Dg9NbsvXlP*~4K&Socf0Ul;j|gtMn|hx6$dhb|`!Bre8Vt@r<*zeJ$ZL+* z425LSB?4KyQXY4aOQ>Dbe)g1!0@bPVd!1UA`mg)v0<3mm=Jq^#VJ#8{?^w_=$*LM@ z$|nCt=6O^0ZIu_rODaM7ibrcbS9{3pieh5)s13&=V1rS#DCM7i<6O4Xel>hF3i)Y- z62nAVmnj2VUWyw9x8U5Z8A97=&dZJ7eOyb)ar(fxC(Qe|2UMx-jGLlg2kA z|5A9!TY7RIxQsY5Cnks)>ECuWMCg*r@;UPjcH42;QiEF6f<>}(NIxhnPKu$aGai1y zj6dn8@tbg+t<>CAA%_Y+ncJ*c`EMljBQBHl4kcA!JceDEVw3$aDZ=j4oZ<~Z34HZ5j7{`&`o{op_=R$;&KD=D$nkH? z8zGV-ajE|$O<{Q?^W+-gV6Pi^&8>!oE-ry+8^g4@Rs}GK+a|#86$ciy#C{NvZg!Pt zyVk{AU)cTPdyC!zqfm~Figb`zb)ACPwAPq;7#0eCpdb@665PBm8W>^p=l0uVC)~Ta zRN-LlI7U^Ou%C;Re)?O?&uAJikmIK64<$+v37QGTLMMDVa4Y{+KG4wmr!yH{JQwwW z_J1eF1(jNw%&zOW9R9R&`gfiPYahB^ejh7@!#!oYkM7)ePHpS(PIvrUS zL_cj5l2W|}fLn$3Mx$3`oDeOa6?~vgLGqQd>EkovNnnxMW%S}5^mn?^kp@_80D)9c zWAuMLAXyf(%hfGDq^!}78yD?jP@Ef>ps zM8-?)&A~nXWS)9;QHb;%#e1xVs# zegPlrcE|Il9!nK0z_M(F+MwT@mwUng!fkf^x^>VVRqa!beye7Lmi(F#vjX!o(}9*Q zCcTNijH+6;>M~qd6+<#WZ+jOT0jm&|X=Ms+3DQnpw0U^hCr)A96##Ux2Uyy>>y&Vq zf%)X)X2xmeH8Hvk^rLJbK4blX+sR&4b8%m`X#g;HKXo*VS`(W!9O|wH6fnVv*)x2K zc-LvYTY1r-r#=NO8D1daU!ANgLxPT2)kcwY$-)`Sf}3a}IbtBs^&|>*zQoN6<8SYA zm{DeZ5C1j@$0EiiwV}t0s)6$F3>q8KIOQ0gr9vtmQVmZPJZTZyN?++n>Y>E#>)N63 zA+A4TB1~yEZsu9?$67gcza^Xsj8AC>+dEF-F@vpVDeP@7AOzcM>mYWFGhE^$5I}?7 zqvUI+WXbumzh@C>!YaXxAOG8GskD)6v~EMP;kdP366QzBFD=WqU`os`klbrlFr19p z&aF|-3quiU`NcfT#JpJ0joWO-ni4aO1ib!EeS>Exd?I2$Lg}LE6brbg&hcjfw>&Zf}b4PNwCf^ORN%uk@JRzRD(aUW8g170 z$Gxa(m^V4trdaL-Yr7=SMsnwLDcFv&(u2U*(nX?0&|d2iEab+x-mUSdq-NRb{m=sp`ZD_S5`}K4eE*D6+jlTnv)LO3<#(T6x>!u$mPjt&kHKJ70kR1O}tYZqmQ&BXODnn`i~ zU$*xUxGkMhFbSDv*FX@5W4on&tW6!A1?Y2Dv@Q{k`*fs&{ji<(@RayT4wVb0#6o`w z3pS;P@Zqw{dMzoNq!$Osn*~%Eo6&N$kH2F~sULG155spxtCngS2A28_W`W}2$8UX1 z#2*;3K~~C)prtw$i5Y$`>mVw;8k!dBDKyTy9J_sY@R4uPZ2&1z8}a{)2lI&>xf;zq z!9JQz4jnT0U^EM^2KLLDEc9WnSrSv|@5^c}7^S55$nV==Zin&gjS}gew3Oe|T1{Lz zNMCg-VRr}4NV4EWfspRarHNFf+rc-pL1H90@Bx&R8%cDd7QX%lX6wN(uU8-H0il!= zeOs*OY`9O@Vqf8_C2jh8zk9b4Q}2ml^yA(l-BUG0O7WSq-4yq6M^r<#Lg*BX9HEIB znVzXtynzJ5I7Y>>BT4=!hU#Hs>S*B_PnFYlAJ>I3OJy`28Y^=WYUn=l|9q`1W0KJ# zbC_A@9k*-X8|$!)3H{taW>ov^{~h6CrO94nE0NU6g4AT9_9O6v%3C6pZwg+Y{kyrC z7zTx7mVAk$FzRIc7UImrx74aRJ?KdQT9u{A;rdnc_K_BlO{MXV#64Cf_2vSI8-O zte*qgf=z&WA|o)15I~8_ z@euehcNGQ|MEfljj-wq=refWE%5ix7o$GRGw}^5=P4tCv4DOY4M#_d0DLX zzfmbJddXqq9v@qPcASG|OKw=I9wHzaZ!r$0TzXac3O%w$KDTGL4F z-R)zIm8DZ}5W8+x?!f>}5_3<-U|J!6?Yuf$YXQ4UBeb|ho!8Ux7uF3FiU!AOv&Nsv z#@)?OxJ#>F(r}gZ4<<}>-!rQZw2P03yv$s$MhF{aM@_;_fPrtuw4J(bd`&sI4$N$h zpqfkU(uk@pI_rV#93BiC=g*;z4K4b@j`2-fTd2h?n7WZMj^vdA&4tkb;=WaDj zcstC`E%VB+z54)#kWI5l{DMwVrCg~xTn%^rmb`)`GQ?2|R2t;4kufW+Ey3kkGUI+H z7oujl?!NIdUAtV@x)**{d5(e>rTHZQU2zxq=a$L}lF6IK;HhhQI(L}xsme5}_ghVSU~C$!U5QUYZF~HfwnrW3C@X>iwb##7N8}IqV(?WIgxIAmHoaTUX!xvXiUz=WVN-*LJYU*xxG8Oop@-fi zrj%D@p&)F@5!kEsu2jfN-`lrL%L^}olv6}B^*4ukayslvx3RJWg}uACSZ$942*k7? z;*D&2#7ojmG6DoPcd1%)7TA4-;Jt0DfYpKfo7H&@?D^9fIVQS9A{k7w7g;AHn4$#W#2a~>=yF|ig36Kbe z&gf?!?o^m4#kpA!a4p;xTwS<_kO2S9m?}b4@8M8o9d||L!xdhtxm{WSasr^N8Wx*j zUSHwwONh@z%9KC93|hfL{9Y{QrOI^!-^77Rsx3-F1N($S0ebAZR|f-tGTO(uS@040 z2wBKA^~achn8S8y_j@n&y3wteHQs*QB^NZRNzf+{8=l!S9|1Oj;=*@Iy)URl7Ol7q zF{v>{i)r;_(SIP*YS6Gp2o zXx1X@gD}t=z2U(L!;UhKLen%eH-xK-2FPOCfATpRqG`AA7awp6{^rGixd zT%AgxFg0h1fazX?;|T1y>u}<%6ZsjY8})50?k_~xkkWRTshHbnOV}N$UvOu*DntJ< zPry9RN9xrzs)ox#!&r)%QoH?cPt8!yle`oBfhhrd({Z`gUuFknK;_wWa@g|H?ib>> zDjZMQ{LMEvm@d)Fop7buJQ9^_P<3Sxh+bapRjE}i>S&az46wuE^3~9@z7q;%XNeFL z3)a5l)V#Qi?sHBvIqxPrs@k=c(e?s>gYb{LZO5?j1lSnVIi=f%Zi+`w4*=UVQu`8!bBeI~!vG0?-rZ0Wd3nmB)JP_9NK2{jFa)1I%cxL7J z=pj_MH(FsawEuTg7T3AIDa9{P4S~^P?RnOT4;EzSM_nS76% zKDl|Xz&;-gY6&tMEV~r`@3>7FRQ31FDTO(E^e>=4Y$kY{yMizYi z8cxl0e$qTjqH+?)K0|WyzH{{SZ+D>_s&T(@HQ9D@C-!i)AP~aG9`XB ztbJALnpAw3&r9NGf%r7`Vsa$kaLe>(#Ni9Xyr}s%Z^3-P+j0wH)STk&O$wz(u~*f4 z)c2V|mSWPrNpIJHoNQ=5BC34~2N(2S8SEG@V((gRny>Kx9Scc>aVyS0T7-V9@Z>Lo zI#4Xx{Ct9?eod(S#zJ1JY{sFkQ_PoL-+NZ|Gg0CjtQ{7U#iO_)pdhfA%q=g^pbo%Q zN3fw#=LtGTzHP7eEFXrZ#!S_dJXjw%THJnA$FjeK@@0#;bsT-5dugD*??CQ@->|xk zeZ8Cix9@J?7PMQihF;dqg<7=YhV;59-c+%=d$)JA!5>uh_yoCm0?047C->$8FyQ3L zM6PX4borY%ov!9+EgYWy&I5UnT zN`C)%?gD$P_bPD-JQWnh>-Z$H=4M-mPFKe4*41;NCXDMQdPe}hg%AdeXV^d_fWbWp zc$bIlYf~?Ij5*znNTwn=0TN^3vZR*vXhs8t?-mP&Yz#3dquF!?J9#4M>8a7?L|dq_r@`6oHaDFxN`xw<}K5`24}9uS5sDh!__4Tis_( zmaq8M(_t2BisF_L`9k$$Gicd}^-d^Fb$djLBu!uF*j{@I!d_+)64n-YSaUD~FLA(e zXxKsQ+N{if`gz{XJtO@M~sE0=2}bTiR#t$FsQ9X9+y8 zfy*j`Fn~Mpk=hu0#sova)+AX5X#-9atPZNCD~uEKdg{yg?q5F)4n~?=^x(|H$rM2yqgIcK-b7~-j*5sIp@#fJKSoTn2D-x zf30r$oacV%$s%i~#=lZGlW1~zL~t^8u|_A|%f&E+&e1*@Z)vD{o+nV&oG}OR+ zs~kv#r(`sNCC7Dgq-!SsjF*;P_v)R`g*AF@f8l$4zm#VpL?LS%PfzGTSY>^ox+`c= z_YILCsp$i<)$rtQ#VXrL0j+zRk%yzn)hjtq6>ux(JhO=+i$ZU}DPJt&*i|*t1hmui zkEBp#Odb{?Mh$Tw#C59a=#j=n`h{8bomdCtD)GhGfQ#+LlgUm{N`c1_3;Ln|}8}oY=`^BZ8z1@3C1^j35wqjmMNo`ZAE^!_B+5FGNXvLFX1T5tbqW`xxGg=gP7Vk+Elo}2 zdLD+&u6i3m~r2ubX0fVWX{JLU9ywyZl5>+p}5Wa3XP1lCxFNrWhjI0RS z0|w$|TFneiPJ-6=M43(;@iz?2b8>g z%7-xNrK$Vjr~Q(J;t7rERuH{JZt9jlg6)Io3lo0_O7dij2^Y;Y-A0sa;sp=-;_(fj zcAS3qA`D~eugH|6-eZJPX+K-DhIOx}AhZWwBe;YOXjd#2YzxaO?Or)lK%Hl&AFs`1 z0Srh`q^M|{z*#|f$^di#(V=@u(a*T6V^Z7iMwa6Yr^>B@sp!`FxJv6(r{mxOH(1bE zmr>ZfHe^*=TkAIETo6e7k>>ewS|qp7zAH&qqag+vrdTMnW0+hJ&A+Y>Auk+ktV@fR z*`dE8x~9rwTTQ%{$RSs=e4*B>uAar<+#9aFw=+$buMniXNqUA$c=@+cZ4VYs&{Bqk ziqn6PGD)?7tToN3i)S!Zge*}uDC(FV_FV588DR?3tfN!9LH=)WKMqF_ZVx3KJg@WK z75+ziWi{e5=-a7Fi*%)1FXc-g@-^-^GhsRs_avS4UCP3Yz;7e^L&1~4`=;5O zycg(iRN(X}i6_4El)fX&NWQ=;(V&8agc<~JC2~OEyPoq>m*{8#iy@FUisp44AT|L3I^j@jzC+f8LGf^~n!_l;InTCZ zPH_$fyx|TA0AEx_PnH$Q@#S@lc}xYmuws?h^0wgFbG4tsC3G`jlFBtw&`&1Gd$MZ; z8%L?ucg8;?1pGRKhDDB`%|yJ{q*!*I_n+wy=^47k+oSSAhe=n-wCt^9Y48>M<^KbY z9@i$U<3MW9X`(P-V}zb@{Ldtkf-*D#4rp3avkqjj8@ss8>AFhSZ7)=L#@pH6eUj41 z;h8XAC9WvIp@g-l|G0k8O39`^xcJDb#K7ustVrfZa(bH4o@o(nafx@#2v9;+-_Wh- z9z=W|?{mg9oCX6!5|)DkVR;g=Th-|+!W^a1W1Vw3-EG-YCU=t5*+eASpTUdvH`PDL z+;f#p0%&MYq64QI3V?6bjBEzPY}0j){W&C+eT5PX*nOe+fzyb@3?n5)aogDd6-@@~ zX9@%BPEKLGgh@II7Fg#56fw7mFF&_M&;Dv4NJA8H+2Y3BD$ z^uSpqI)_~va4EV3zS=---8DKvPRf9f6Yp zyvDPo7fI>rH-l49Ja=ErpWm`5!K+bI#UaAKjD5XP2xyGPNyYt*7qmG*&X6!OK|CQi z4sR?_&hd^Ls2!ych)=fC5^&5r!|T#c#}5=axcHMCZe83FF^aqhOT0eWO-jl>ru+=x zK~beD#h4|8wvgzEeCpx*+p>rcR1&A?E}Iri5tEv0fr8A<2sfL5-v5iprCLI3Bg;B3 zl2Omm=8HniJUTd{@%kO_+{ig+S%D6nCz>r^>=^kNZ;)L2@R01A@^7p_SLt5C)UNB{ zbI%Vm?TZDXWqh&YYjQ0UYplpMLbR0-3#v*7u-1c+i-=fJZuM<^K!&FBc8FzJ6Br2H zF75wOtIHKj88hJgsS^FdWEO&EeRNd!IljiU9r^bc*=gmp)_i%%`_oJ}l>=m)Q^voP zPa_bU2jhlPZKEKEHa$mnn6HBz%kEuA#h$VlMt2@VOC0f7Vc; z0EmMQG##7r(4v}}f?07Fu zkQ#b9$I=n)^fS)0Y{t~8pAa2N%uM9%mLF}Z&D{0f7xM~?m)}yF18ZT&S#adio~Ob} zZEijvBWoIeggPuE(`v{N=5}A%KMt}|*N>-_Eh~5qE!er||E@(+Aa=G2p?Z3C!9JNa zcSTe_x9zNskCp-8oLE2tUCq`nz!ljep2F4fN*iIEJ|5?rfzgeQV5H%4H!+P31+9c9 zJ;FD_*;50wrf#ah6U7=A{H981hbcV?wED5#EbCazEL0<)9k#_s!Qp;mym}pF-YCV- z6488dIA5e}N_edEbhq|}LkyPR@s_#?zz#GG--`qR%a|UK_f$!m;_zFyhM9;AV?FUorwfD~JwS2K}eKe+-lhYt=75HeP{&Y?{&Ow`lSm4?#Qevo-~ zB|YgwjP3>)F3D29C|bTj$6giBrDEV-*m4>#VoI3H{-Nva(>>4lQ2lSzF2FGjWdh&M zo0@*2&eC`z4`jHPRAcfX%VB~FVwQOysEjPDo}q88UxtHWnuVZjO$z|)+I;w8 zK$tiruw)9_4?mNLMc@1n8<42-@tuBrBH6Tz!VhKO+vsZ>cnVjnp~&>ZtkuAZ$DZXq z0xR}xSB-Tk;Lz3i*0nY2)Q)lX-%3(dCUWnTwrywGf?=V&Zk8IMA~${efaZZcvJq@r zNA;c}V28^8zwMJBUlDjgH}(jo8^kgR3_azqzCSX( z_9HdoT>EuVjBUIJ?X#}#yVz;BW263KYS-#`Rrjg8R~jOsiY3MT&{|6p#NUeY9~<-# zxKx}GEq!g_*W>$UKTCRtc=GPjffj?S$NQ3kKuqhj^$_T7?=@iOjcJ(b`3k)bo;#EW z^}X*W1MkLSiA^5Uu2O@=b<^3(3ZjQj@!K}E^kQ5_-9GMf+aF$ue@wsNTwSz9Y3~}g zBAn)J;`M1*bYc0(vSzZij@X+^%TLZA{{fc(-C=I=N(>k`b5nc$5&hu-=f>8HP>tx% zwgO9ED}k&4CGE0}qd9AS?%eIiFaq&u{aO8}XxNOC9(YUCIY{CwgKLlb+HuqpcmJRi1VlHx;{*&7w)N&HNsGm9vhLT#0Us6@ zHu1EXMWeY$j`zSTZ&uQ(p_#4M%*0^0z4hFP*RL5!f`cAMw>qbI(uDXoxd4_|0|<)r zCY}HetGC9;*?v*q+K!x1TNV$4!_Vzg>j{R=g3`%guf`RsYBtkDOHG+hqi>!IONvx` zZcu%CaJ;XULmim|^S)jGO$ypODx)EjP$bToZ>6+;RkV^z`YS98+EFWzvP7Nv%m8n~ zIRhG4OSz=!RDSExU0ZjnYjShC z4qvX@v*CbFreI<1o;SR;Jf|Wnn>s;<7}_TwVu2~pHl7O2t0E%qY$C=c9Z(d4el8Fm z9lsIZ4V5utp5aN;$wi@P`+Ae=CjOX6StCM8>8nDVoW$(6~dO)gB&J{SMEGEtMNs-B)Obg>hT) z7mo@my4_UaO3TAd0E>*YIr4U!hm>m_a?BdbTOW(^7?lER&S5rd>T)u zMCGi z!=+##TK!Ptx^Q0TYECWT7|KN;C+2TL@J|_t)vXD8W~uk+V2^?uz1{1CMP}FOj{cI! zt=j|^!N7^0wf6k6LR+DcD?Itjh)RvxIJ<}E5$0QGIX+$DjH1gv!Ny80le{~fl_2!E z(%NCkd9O%)9@HgL1$_}!L(W12E$Bv|@&GP@-WT1E@}5Xz*7R{Fet95K(oA%To##$* zt(nbyN3-F)qftZ;W0ZQwtxpV3uX7M}?y8DdbX7*`_B6*QFf350FYx7AmwG$;QZ4l2 zB)C!@A#6rVcRF$^<)CqWW_X|ytrnXaes84s#CcUTJwCzsTw|WNOj~8rj~`WN@auq= zN(^g#WOvYwp&C;T*r$BAfAQ}hy-Vfi&;}=B5V@3@mo8w(7OvWRdq-pjgUm|-1kqI= zc|Aiiw9;l25$XVa3z$3t46$9(e$}1!{AkSY+8~MN^9y+Tl+tzBn{lhTc=Nm*N&NQ? zy`>NUTjIB5Lz719=k2w#eHOp=-`*Z}Jj5jmGlpcGlkwJvO(I7jUcV1VH`GsSgU66$ z#E$SBmr(xBa*aROnl_lBPkW^> za4C(Ko>T01Xk!DGW9Fz2Z^qDt>;5=NH(A0`G24)9cjfjerf!k(c5@CST>$dMVZET5&qAK02IA1HVp zW^;XVGx&D~MLp!FdaG&dbr{m!0zhL?mu0AvtAe;mxKT7OLsL658E+5^RE*%Vsyh<8 z9oE-an^c9ZKL0;N&WlzTK=ry{uPsP-1^m>>)^J(h)(8QHjN zgxmt5gxzJxO7e9fKu(7WBq||ye_U7>p2zni@W!RuXD5WNbxR*(Zygk>lv$*wu#S#R>@Zt0S;W z^(3*Yz8#DRr6@7SZC-J7KFJSO+`e)`No)5iBXxpse`tVCTU!q}_Um(;;pomxj2L(* z0hDW?jhB`#r9UGc`jrwo#HO+S4%LjR@l{&7`=Hbc=C4>eU+iiw5+tM}i>{SvYS249 z{FkT9z=hra$qgdV+jz$#i#3=~vP;3quU2?{rq6Qh*A^6!=s=Pv&x;l!wTU=JBR(-j zpIlT0-zXiNoTamhfbTHfQoIorFZc=(+l>Kp(2$59TF@BkiR&euH=BkxKM5LmrikH5 z5zcr>-K1K<)$;RFcgxoN8~0@Ug_0nuNo{g+|uTm)*F(|lET6!0iEQ82iujn?Hl(+i^L4Lq^Mfpu<_YW1h^sDy9P^%W!cgK zeY$cD?b7h-aM(ht15<;SeUd$A4*=*Lnq)mhL>mI+GYV;XJk4K>-UeL74Pb*&(M|YR zY8OLqO4Q)*HsFq2ol~_Pi<^PTjBnPs2{4Du&Y8~*L%N_aM;9u=lAS6%;*`t z;PB|bh!RT%^-1(e)#i7V(!2y-4*7~FNT`Z%@C=&hgLjuR*Xg@jT>!M3vE%W4Cpwri z>TN8)oznJ-^00y7;_NljOtO0P`$GW{!8MmT&ofb=v4UAH;@P8*=5_{KNH6I3>)t#x zccW+apNA!pym$<&r2+qFkgeEGV+M{o%|D%yH&q65H4t*%3~yRrimneY!(drnwDpGu z>=S$sFRF@ot-RyEn=st<({i*xHIdLo##4n$e8T=z1EQqLC%e?NMj0 z#;2^E0;A<3vBjGxTfv^QZ7P|tg(2DKLCJ8+QD2Tdtm{}7O9+_<86VR>OgO4H@ya9h z_I!d2Ovjp|WgUDc0 z7K#qw*%}$P19a{s`%NCygYw`HYBiabyZ9ow3cTqDZMCZko#j3@@L%__IQGTGScodgP%SR8nM? zhi%76&&c1`Z9n2ui!J4DrF7QT&h}jQ z#HI5Ni0<3!L4ukRCqQwxaIWq6Ff%r;IJ$TnU)24Fr*c6LpE|ibRL~!mMUk`k%hp?_ zXRw-RpFD*8Qg#~g&yXboRrFJ&=*U*Wy+k051R@UMj)-$2EKO$V_P|kAmIJQ`FPu{o zk}WzSu`E*L^&lBUE+%*D2YRwM?o15U8sVw8+2bhx&JcxpG;s% zbTAhj{ikD0NP#IW9?{VjJ^`#&ND$Md^SsbTN{yeH^t5e_22bHm=^?=N07J%ItK}J4SF&N$@#4t?q4-`L=Di*^4-C zC);nMAZ}nmbR%zKOvh#8?IyI*c;htUeS zh`Q=9%PnB?)Scd(q$IFb7}+)`>%8`iho>Rr#w_8C)={)UAE$Sy?0Zeb?d8JV{Rk|@ z#H0NixJrpLiu89dsaKo&?zYKakw05nl6We1Tj#cLdYcLGwM(B)BE@K)hA7mJj}x^} zx{y8BS)nO8XSpQjah(^#|g| zl418`VMT941Jtdy*KM?+D4Si*fB( zAw5HL&U8Wk{p^)xJat@O{rqIXDpv7f^1nsz5#`#;!v#bq%Y(=rPii)nOq2=%AY^P> zjM#5ZVMv45o@t3N0U{5+u$XVW$49h&Fvq^Os9Xs2WZBy?F1lY&AyT=V>lv3@zDo|5q{35E#rdmQ(C)jFmRPnG zf-|;Y2tDEBGn^@(O;DvLeYBbsdDMo70xPQpwnk8qZX7TZNOiMOts-yEcPx#VzJFOz?r(!=MyoF2J`yVf)LHrVv(|RqSYc#&;P+ zr7V0Po-X>j)a1LX_(0u(<5Rs`7>C}?xrirh;I4S>O|u$(hc0-Y`!`c z=wNqWd+?XHAX?8B(-eUGXdZ-x(WM20uv#{(xlQ|u`8J-BfNU` ziTK{kC+V|S1{JYKTpg1v;GiEC%Ikz;84rL~A&Xk%F@zY?i{2>k$k?ub%0(@_l;Ebq ztP?R%DV*wMEytGE&Mkxm!#%pXZ~#UCzm9Qm3>@l=5UsREanRyNgzjx2`Nv?4Ge>7X zTtDTqgzCw-&ftL})P0V>u}KyN zs1_it@k#t(lG}`O&_sA8IekNF!YCAUa`WTT7w5Z~s8bhtt~6K13^JUR`Ct@d`4TAE za>`DH=Kxne10Yu|W;!rL=Mp+qZ9jG&hvRm4am=;)1y`s0)YY&=vPEa}!d?w1uGHO= z^5AiP_>+-eqZ5ZWZ6#sV7x+~hszwWKV+S-OT(#XFAt$T=xd)&X9El^Tc0O;i~VTc|3i9Ah)P{blP5~ znTzF`>+%t8$5dhbFrLu82)-5{<^^bl)RUY!sA%P~abSqT51kR#c-209C7+D6@UUYp zQ;6U(vOtv>K~-f=nfLAt@zT+rY2P_uJV0y7`dT+&vfte;J^N_(DBs-Y=u%`cF4r}p zd6;FFok)OEAvhj!Hd$|mqvMZRI}GK#xjuHb>qXV*JEs6{AIrt7%vndRF$6WFGAe>5 zVVFCW{0?h-k$+RQITYF6PAR5V6$>}8N+m^-IsxCB+WrZwrwO+ifd(Af-GYdEmWFsX zzse7su|BbdPk+BRXtI_H<4el=Imll#qZ(P{fD129O?@D2(e8o%aio8zNG--ugar>r zyJ=g06&=Ht0-bBz*GXSSzD6(R)q@Fx_Jp} z(VUz|pPxPCW}TUU&Ze!d_<4lKn(dVpJ0*PS1YNWF!CN?h|U|?Y+lq}!!6@zu$e02L7lt(IX|+#HcA@Mfktx&zw0$+ zX00t!q#92tCpGdUk(I?pP8S_K-XMTAq}~8etqb-WqxL+7pp~hZJ!6Y*zu_`^#b2?) zJJj=2`3i5mG;m`L?v$+`2u${aSVHlzRBL{Gt5-l$WM+f1j8ctUQj>o#Z`6DUJ01vy zCz#7|Jw~D9yrRgX03e~&l`ORsTH~S2&y|ZG=f1vxIrT(@q~+5>GmajypuLpJz=ngr zz$ZUmh%z6gL#89Q?KZP29m`4aQ}77nRuyp#p9-cA^ zzUJwe=0}7UckF|VAQBJn#+d(A7mw28aOR|^A+vzow*qAs6$#VGm*`@>L2Ca6mH%zA zE4)RaImtqjBJ!WS0{05oRP?Xg!Bh~%vC?T#MoM?=jDX;Wuj2&}yxz!tM?_6eFDLME#}J-pn$j@|JKqnJ9bwUv`rh!C^pQ*@T~oH7ln1A)@o2Tz7N(^OAUZVwW60AEoN6t4@O*H+*aXzq`h~>sej`^Rb_lsI9~l zplVC)*HfhS>1+kF1jV^tD zigu9w*8^t$FMAp5-cF?AaSq-Hco<621dy{hfLhx~lTPqbGbvlN?fU07#*NASSJMj7 z`k%hSZPg5TAv=4$@gHmo>&fm&xDWw3^qJ;coeCo9=PH^|sd>fZZ*m=V47U2c1(`+h=p|qc~>fJ0ygJJy$#b{}mkxU7cUHb*0L*?eJEoOHK;a zI})tR=O4hv&r|)T;K)a5uyd!qByWFC;3F<=;+(d>hk-Pm|5hYa!EBy4j9>^=gzoV9Fo``u0>Q4hR!S?`eqUYt){Fs)IvT_n}h$68Wb`-iUrbW~52v3C~JvI-|E1cP;g zUDgMe+%AKMDUtLuVaZqaYG;@oyPD~_?ai!4{B;gIPfKt%rSOVJw}N?Xnx8*Gc2H`I zPF1xJ(_R1~m^~f&p*8e8VQC!dieP*0^(Ev9^h3YT|W#Ki|6aCMiYf*40 zdOwzltf^N5?PWCdxC z6h%x-#G3KE;l{O!;N*yH894UNz&y7N`7}Gq=e8Ix4VWC;m8de*Wl{W6(iOVngScEP z6;4r3<0pATY7K7h+^7&u(FjO=p9F-C|WQi;O>d#O>qu8O;dDbnG-Rdh&-T0m>(q4H^bL7FJ zew4806mcXLe?{iV745B-loRDLoUsgQUd7{;?(--~;#31k&|DnE8$9W*e}oaY>r^ax zMM^}@HU9UOnIjIB_I$aqll7qyY9hBSCofxAT6qCj(r-IMfcPCDxa)eY-Kq5)O#$r$ zw7dBFO}Hc<$!_Vzm0sYKw3%x;T0K;F3u!Ft98^dqX)@;w0y5kiIK6SLm19mc=+o{& z&b~@x2V_6)kI&$t%Lp+e!@HI*OLvmUhA=HP0mLme$GQ2oHK2vzVjZ8(cFjsM+8b5% z8P|br2Q1E=+ni~X&Uw|6==)M~3IZY47IfD}Y*tHAvBQxSRKl7emU_iVLD2m3&Ts{n zj@KdBqcQ%8DZpO&P4FJ-)Nl*E-3&RX(52GboK9)V>Z%?DFTSw7YM_Gf?DG4qK{|-h z#k4asVnZHo+nsT!NO;}fufjgdb{)={L7L6KJ={1DAqYKAx3BH@H-pbCn`Q)C#abD< z{$V7zd>Qof73Nw5rc#jM$i{_v zsuw_;AYJt3O%Yj{1WH9aG$y`Iz8fJ1uE}UtD8zL5jydeD_I-11a$n&8s}nmjSbo5Y zJ8Ha`OWqbqb_;)EY13A5%sXbQzAfdnOJd7wIq0AiTp=_38vQ|U6rg{U%@=B#saC9U zgIH#xosyW-!G^M`ruNKwmDjt7B`D$UHXn~2OG~LMA`WoN%Xt(-NrH74kl4R&;BUkH zsjC3m6shqVr$4P(4>ogE=*i?toh5hKRvu|FHjTTx4W4x!@}m)0mehBv#F>S3j948B zaFsgW7<0B8rE;FQF9%6rR=0}TA)+}3|N3(O!?@>29YYK%X?oY*H^z;#i9ut5YzkU^ zBOTbQB!#AzvcD%!2_#?cDxM=6zv?#Eb<@Ix%gzc-he473M0h3H=&G>BUax@sQt2D6 zT`@$J z9;YfrJ<7x6VL*|cOHh3KNC2(zDHnR#H-(fd&lq(t{~*cU%EfGb`ZrMI=xXZhOBO)G_qZ$wnkOw^!)p=YkJYKbIB0WV3l(w&<@hK@ z`vmc~OvR7~p#$=ud>t>E0Vb-#iZS^e(n|o^JRgy8e%*ej)qYUEruR&iME6L9>2_Y` zlhu$MrW-kOxTguN{&uTB>f9?vX3lledV_4tb_yGCEV7(_#p2~Z7@4NznRgB(@}1Q$ zPO?)HlL(9z!*tC*cjZKT2q~~yiMpfAOkkbC6={K-4*R>kfluv6D0a5#acU<%trPge z^u=Pdw2O4dlzhUTu{9@cLNKU|rA{Me0eWX@-Z@Ri32_GFCgq-+lt*$VO>pk(9|$OB{W z4ScK|SxM{{tJTB65s(%4eg)G(wjZ5lXoBvi9A*VJQ%)K~?zWm3sxY+JjAcc@RNM!PtlNI<$fL2$C{+2)M6A!l|VP+Q!_ zkNf6f&!dW+mb3=R7$_6Ap<4iH8-~ERzy64`DugNKdUrVt0;4ZZFV*hL?f;T_?plNa zoir2~i@^1IDjzOyt>rOjf4wgTnBLW2LK=-a`B}RDR8CwuH?TdyY@Cm{#dw3Z^-bb( zrd%vmS*9DLnvc6LLZx#!+X2Am%Ch&4t}j)l>RwKj;RP2qg$lhKkY1n1KJ4Hy5iFf9 zV(E1yYue5|2r8*@ClfZZ%^`-MMQc@;+L|`DIDPv2k`gHO^U;H zAUK#V|4>B;G@a{cE$!>K%hckLD0S;dGLh#m4zQ*hNbsOHJW@OL;|U;=@=d55-tYq%n#5$FB|)v?I>-ajv} zu1Y9i4M}f!m0;@Pf+L4EA0Ic>KRIl@$aq0M{*GPfsgF2iBx3TY#F0!Kt8k=bK`98d zq4>3>Pi*|oZiQbpPN=bHGqY}fGvEE15wJogDb^_@`qkw=q(fGO;B{>L$gcPle_Iq- zNpK9Pxu2TrN=wJbFZt77{O?{W;2(D$@>De;M`GOm2WA?}7XPUizR6&qLD+H<(iTM# z#k0t3;9`z6N>ajThz@Fc;epHPuq(f3cJ4=3ZATdKD>dwlVVlMosUyft6E4?EOa&=1F9H=An8p+?x{G8kcVwXT*>)apXlhbF!$Z0l z=Y}yOKbWtnFE{dDz)trHp4!i))fa$(uq^Iud%sjL9ykBHElj-P+nTLj$4R9G%ha&H zJ9sx-rv^DZ^%(BP4(%kGU2~rwq-;mMEPA-M>Ff!OTT>m@lWRf-ZXW5XxM7GGf}RqP zDwrdmlk`vIHPLM9dXS*OY(GofU!n-~9?-kKDh>SiJTuS|kG33oF#F+H*b5gN)&aZp zQbZr)oCLQ#?l%z7A!}8pa#w_2+RFD=*vli9T>||$!TJ_xhR$T~C6yC(ye+d#!P>YK z_Ve*g%Mx}hh9T;U$fb4xju#a7UGc&Sk}06IX$zg0y&xaj9!fx+B;@_~n`UOO|u zTi{tg3V!tx=hI;Fa75e9!M@UCqmn{UhKE;3jU$U6l7nMR1w%482P(bg&|5|hD(5~B z9R|zlRQL(-euf>ii*wXa&quVHdR-*GH*P7+sdbMA9jBbjk?=?PCe?0Y5`~BxY78$0 zDjVO)i_2LRJTB&X0kv!MhK9WCR8Og>NA9bmh!t&@NhWNcyQ;aQUN4D7i*u17R(f~C zu?G2lCvpN7Sg=9sB!xO`YL@ftXIoMfbNuwhUC4&3n+0jA5zA7#2kr9`+u55Wh8A0) zB-8F}b!2Y0#as@I4|M1&Q39*~B@K5<<3%p$hzcg|@N9&@Mt4l9lvFyYo4o{n9EI@I zDc3=(2S0DVRmx2&Wk~J0{~8}K8EIUzXMLqWfhtylqfEy2yj-b%6|loCTlQ+ zv#D}xXBkP(a?#!!IN@&94ntiT z#&KhZQdXNE1-x8_{DiLN`S}pZaxP)=`3s~L>wQzmo~^0{ZZ7!odL9&b0(srq%Ie*a zVX^_^1B7-GCV27foZQE^CwZ-{U4(>+{>R6ANLzF83Yv|gpC~A;1`rGY}i=RljI*wYR7>(lC@+& z2|An;*m?>U11?c3dsOslr)#Hwz&^+s>V&*XBTvhlE4~q?nG@@1RyQDI} z%C+K#Mvs%3{sd~%7WW(f3g0KL=KX#M<&XF_88As#>A!Lw1L)@STjO} z%xH-1MMSBH?SWvNSS=gY_B7dJrGkd(WsuQ+%<}#l?9J6Pk4fMx;nvupe)?!%va?D& zO7d2UFYJAbf=7+!Jo*}I&ut>+JWmDie(BM);7<+;H$W*X+CamPcaOq0gOswKA7bv+ z!R?d4(|^dg$B4GYI+x1nx9ZA?)U?$YS`oyL5Ap&16*VO_&LQZZdIi#Xw>FuLyahcGQyM zYO82?JH~TKkVC0%vlEIFkN^axMSlFUVOhE=!4!$XCXxa=8m5vQL^T7i`v=k?Xdu=b zYFIawIZHeojHb`soF4#UqrwtA31gNQMigIf^b%$4%4*!KEX_R{@yW&#n)JBdHtg=9 zD!S&6EU=7LPB2QZN(#ePClulL>2E6#efALJd{p;A_`Yilie|@A2Q(gi2$$jSH$!2h zQLQO-7I-w)WBx|=TIl^AW5T>K)Nil%6RQHgv#N8@Iev;0yP)^TtM ze^Xf$vhd5Q=g9mOHblR%$gK+quj3e`kqtAdMa@P(NQ}yVE+TGKLRwf;zCwv__1aqo zzm`9>cBj^tkRU6()v&$-G2CwCdwEHrvIE`tV9gTV^-P%!hZ@}+!sQ`EM6?VmF{Pi3U?{dnwXBqC2FnlP{tX@}VGWwqF8nGzsp%Cksu;g9 ziiyYEP2KYHlT`;;bu8LCd4W3cO8ye6p7`!DWqLdPw`{GesoMFAIhNWz6qerL0r@0e zc*;rRAX7YiT;aNd2JR@PFRjDfyF?07Rz*;B0S zEe)S*`1sJ6&(R`vu>gGxQ~3g84kST%XqffZ)GpSU%C?X;_Ax&ehW|7CTX7kvBwci6 zyoMk{XGKt6ISrn}Y zM%##NSA+hF+?fU&#BL*U&uVYga#`}__ck#680er=X!hbs)+1r>1z08QvlokD_r2~z z*R91{9NuWW$ibDD+k&dt8X9d%BsNuKA!5y=2zrjNqa9pZcv9s>>V8c|o-w%rJ7^OQ z0o_ZwmUYK^>m@R5nw1#v0|5~QYt(3#-Sffa7&^VLE%Joif-z#MU=|X5Qr`ExvK@{Q zSlD8%KPl-E=pAD19Fp()da$AaNbK7EUolm?rmMP9=o?pG7+U3F`h_}9InbqwevB{e zICAOt5Z=6cUNRfM7&t3@^8e#)Kr*HJm#N*)&C&4Qkt2eIFije|$fY}nBGI;5PeB92 z9KPyuDUx;)70X!^sW-^e-}0l^X7W+Sc{66WW^53ZN)mK-16q8EG@%WpZyz*`Ntg;o zBxXlOG;Ti_vhK7SN|)EXZ5(v*tr#e}Dl)KP~}X3QCpeDn!J1 zG_eGcz=M!;t-=d%lk|4*$t~%Tty$iY?}@pILqG0@?qJySyV0qrFBw$GrmC0zOrA>t zqj7e?~n`EARbsn&mPri8kPgszt_!7F#ccx_H&^Qrk zzGR*N(QX4?~fKiRyFeE?kGzwNTE_wF0oZ^i|0uYTQ*7b z9TRN`LMy^{98c=U6tk0Nav#~zA|n{&Al!Y`x!*BfVyuBCCTV8LHQ)zP+mvpKk^twI zJeC+$p92 z10}*->X>`t_yC$ee0C0qFkUZB_aar+F#k>c=oMjV+jcpB1Hdo`a5eg>ljGKokWF@i z;dFIQW`Ay9C2NkEy;%Pe&#rE>hKh9-hb%xZwH!aC2!Y*H0(%>BqYJD!Mk)0ez7{Cv|w1tJPs zZ_+2GGJzLp<-JKHNm!!9(GbMCh-7owD2kzm8+nWAX%icLBk}I<#b&tPsN7`$TQ&8A zOILuQTIz{iT1z{Fwhtor5BoY*ZkH_QSmuha>jX8j(TsNV_2Z=0Bn5gl?6IJ_lQU7_ z!x8GK>|U}A;&nZ&A~4atYY};$V`a$K>0Y`=Zqa*g-HYZJxQv@V`-Xi0aHqDrfe@8rR3sniC><>L3sP{eYIA)-ckbgq7 zF`g~IB&;L0sB;Izes$19Etth| z?_5DxGTC~$Y~`n+^Dok_L(f8Fy`d$l2zHHWcirwFJ~^^Zn#j=U`c`OZ2K?ky%k~Jxd=yNk4YtVRb)1q7PrZBgps$ zp{zqE8|N))kb}z8f`Xt!AL0z%L)&X`d^)aCpCtFG;OSn1s5UfZ>ijP{`6?IG60-9krtk*wdYj$0w`FP&+O2?H|KDciiQ<04 z8!`wNSyFgqH7YJFm-;cYo3T-w3?Yw<6#xvQ=ce;8v2HKL@QEZY##k{}5WkR1da- z&I(aFBZIVjHpfq2z&03833m%0-YzG$q)MbA%Y1|CqkyMI<0e@9i#6R{qWg%alEmz% z&Yy$N4;mav1q!I8Ns=#%Q${@Ik3%U1G25{2r%f?smOpWVv~bx$W(cd^mN%kvcPHEs zZUG(pb9YuxBTlaJtbWs$m#$v3#fIC9}&tzE+j7=tC<>FZON4Hu1r$HxMcy4sQt zc=EyE^p5RZc48>J$Y_2>-L1*i?@JwEh0ARwz(K0E0)7De4M6v;8Ws0pfcHa^z1rH!ua2#l!{gDaJ&=t0+-p!Ch&w)gWAZovpoJlAFUf~R3Xc=bqh zUP0V#trDVtM?%7aoo~vy?7hd(KAnm1 zq&e)`EOed5l?N3NpZLq45EkRaETl2|>&9qP#p$OZd<812TMKl58$sB*p8e!37a)Jf z8}Ijh6Ut0Ch@M6?)NwM5ffpKTPn=1Yk5JyNHm*J=`NtzWJD}$1Sm{(eLDmr9)SAhx zMvlOgaG^k0vpEVQ4*-K5=7FBp9Xbxo1PP2%MkE3?sks&g`{i)x4r{_3^wWSU1Hf1o zF~U4^y-xVUy;pr)Ge*G4IH^*zeu2Cs7El&|T$-esIQkZ6ScI<8f0r8~7!n{Rigdi* zw|<|%>yZ&wf}aCN=0kl;FzEPf0wQPjclT%bGAKc#GP0_V%*y#BZ`zA zU5f8W3aA8`!_%5aUm1_uQl@#H!$LA7j%B$&vmZ%HWa^vO-$Df}fb=Skcuw^FFUXg4 z4;k8@r~wH%92c!$MHx|ML{@!DCKy@cSG z7jLNv5hkN)uC^X1?#?<3Uz4yr&pXaN_LZ*iK#eQyP_JhV`K`I}07Q@ALdkqV*nBEQ zE|KYWfxIo{9MG|U2$VGegoa!_(+w=v16n4~Jc6Q0z2JAoq)x7{*swt8B7S_dA<)dD zKD&-F?J%8}<8da5Y>=RUI5CTu>+LWaEZIL6MVcq83i}ZTQd6w&CcMpQ{yztMhWAGh zrhWiz{P`VRZm~(>Pl(&sH@@Orpeji{Rw-E6VLSWc3Qc|s%d>|<&STRXFJcK$Ss(cs zyP}gICk~DL#h{bf>&R4llqE>c09#_!y7-pfroNq{?wMJre-?Rqm+)>2 z|FPlw%ci@aKgBX8yN|AU7jYnC@f-9TDM`lzi|JtIO*)0@G8KU|Kh1fOFH9*6(R-O! zM(9mD5M^KRr%QY|-@Zme4ssZ4y{vcx2pgJ{DBOArwx|q_4f`Dz(3X$D2n&ET_?!5(!0!Z zHO0YpgyuV2wAs$5wNc`A#)I{Azbtv>d{9ynh3efX7z>MkR{o~BxmVTsn8j`WjSHUB zuW}fPd*DZ2^B4eLKqM;CD-Ot;VFC=-KVO1Db3oXFfE zFv8R-gXdi8IVQ(>y(m&Vl6}qjBAbdhe+GX+zc?%uA+?_ZKefdVyFntWH(QtJK z*$26M=5%olV=wwiM%~(d(rN|*<>wa2RecKT9C~XQrwL?x4yn zR3n~W`hK9HjYoSt1!fKennTc%&Hmqgf(L_J(?JLrNY1M!o7BzkV+?tK0{Sv>0X99I zF>r<>PqWq;tb(7|^J&ek&73dOia7|^0$^nSpiE$W10dg`9=0fxXF;u{#nk<~^2EKi z@6Yhoxz^_9Ft{EGfH53`G+o)YwAy;$aN&TfOBd)c@JG z2u3b6k53h3HM67M^gI`dyAcitYJmxIdkYh~C!so@En+!zej-)c#6ypuq}Jo6S6Z@a zjYvLZPmRm%Q{4Db8GaqKGZPtEiK;O6;RWXH(KvP1b{nniCjL`IAQJOICsQi0b7~Il zMg5;0g4!x7%q_shvG%3g+!Jiye8S0 z5M1XB;t`wf=T4nZE4RmRehG)mrL$kcxuIhsCF-N?2or5e6|>9P2wDb0I%<0wObRhh zOsD~C_xz(*hZBrVo(x!}bSz7|`KXVOl^2;IjZT9(588oxs#^i=EcBKhl-^)(4vf*g znWYp|SHS3@ojCV&!jX{vp4=yQ8apVHr4#R_c7ouh9w}e#UI%Al2PY&kx1N`$@AMf- z|5v}rDIwH2elTVrxj~;dynk*BY;)gZ9e__2BH$Jk5Te^Ur87M#t(L5={u97-Fcpee zn{zZft31s{+XJN;#EkGxtH|h#I*|qF>tEZpUx@(Axd0vf%BSOF4oz9=sM=-=kn6-uZk&5?qhy}X*o+%pmTv0m4n7y z*jd3t`T5ZcQ(eFdjAN>X=r&BFB1Oc+bh(q%D#o)la$5+iCqJIP1m7}uaf+E{xVixI zW=UO+tGDusEe{@xx9)7;)jfKpC&sN`gi-jR3)ZJR7NTcXA&Htg-aSQ0@G8C;#KaK(pk})Ye zf^Ef@G|51tS=Z+OYb?;Qk3d=H&d-u9{-f{kFGw#`#E(tB|%OY+9&YIRFrXlY;| zJLbhaTJZ)^yTL2qntjx9vGz5DM>Zco8vbs;VOa6T=5Ay3y?_>egO#4E4{@mPDm)H` z9GytlfP1I7q{~8(A_yJd-lW6PT^qDP zM|+#2ZNa0b7=F;zWAxys>}CsRKr{No;5njPQLTL#ywklAr|bj5;zMpb^RUwBk81uh|W zk$JznMkT{JI9@(=l{{|#kJ-}GHu_S!t#n%~+$j137Gp4rdRa#hR&-CA-wIW042cUo0kM0NTalQs9sOIN=BwwbwHA?1368My;WG2!*Z? zOlsyXwcEM-!^pYsFIx;a9*Ft?mcnJ-H*Zb!E;#3+U)u4 zO;sM~h?#Qg4dsSaK=9ZFoO{ldHkG25%B^aib>dl47Je0ZUi`brE^yJ^*JzaCrmv8M zD6oMh`64gFn6$zujZzi@3LVJlfjd|3utWufFt8V|-i3NUw%OMUh_sub(r#ah*ZImr z>atd{wIw3|k6o(Nox^SMao!=H`@>7kc50J7aR?O~YVzs4I+v(@9_Vlv-usbrm~zAu zEwE9K7S*m)19RaI!Hd;aS9hzpsr+_FCH9lYS%b83g$$)m0L^3!pEAsMjL>B4Rwtm2x+O zpWt<_(Lv~KZ-m8sT#ECF(gEod;*v5-9ur;br||-Q`lf4TNHhGHv12BhwX()t*oAo~ zWF(flVMO4a=mn~oApZs${6k7SOB@(EwzVwG9``%zcya8{mwiZa!QGe(@6~=_Sl(%a z;qLii;$-_px@yO(MpA(u?1-JhObp)7GTmVY4`g3Pn>DlN3rkELj)QV=6-D1gpP{Zu zR}Sh9Nd@UTt@b)Z5@%K|fqww>hT0hqqo;@q>>y9EW4+Lw*ltxzImtvvZ{DHVxsI7w38~s4*30$3B0=@rT?^$W?~HE z2bN(O;-An+($xL;tR!jcsdIEYt6j^+HSlF$s0s-1?_PuzosBhpyy91T`XLZgUMqUS zb}YdZLgDetM}4^QIu6tsgSx476(h~Bk-Xwm$E|=)en7W|tFVZZC-YRJ$V6Fo z?_bI;iTDgwD?te&5{b3Yi`^fpm?T?0IuqcqOPO`Cr-akxVT97QTyx=1RwLU(Zd7PU zzKa*IkWt;xS!x6{_@LGvHR~W>`ffw*=SnkKOXGmbs0eg_O>Z>`nyGw> zu0{H{HL~4@QYIbPVcKnQ`4_}W*_|q@suAu?Q58%0&Z?sqSuN@rC@i*^m5;3ACz)~4 z9g*?}BCbGLW<=i7(UkijbRBg+l+jgACIsYP1L6GUPFF?filsJvAa+_CFIof7^GxY- zSn~G;I@K+5 zwJDC+qVeu(gXI5yk;&zHJJ*f;S+w$xf_n8-tPm7}n0?`|YQ)pY8DDYm9a$nXyL-$K z46Nv}ldZtzV(TQ3pR6|?SdJ)A7LJsEep^FYiHj_80mRJ+^Thg*EV zC3dr7y$7p2l#t^MBH3^3sK04UjDN zrn*WdRuWtI)~c%tFVd&1JU#srLk;-l-$TZmr_Cn0Y~t(|7ByaNOM zMSgXa)_7Y6^2IoOV>dxAn7UEAjsta-81v3H&Mt^d`uQ^Mf;H5j{E&HD%ID|uG^43N z=Vd@pIsaP=cBm{gwmMK>4wLIsGK$Ci>^E!nDgAA7F(bJ9!n190I35#Age zOXLi1;K^2{P!`I#C7*Q70 zk9+RIjE+>`(_FHD4Q19~;0xDbU@ng5N}ir!A0Pr9NqfzUf6$Z;wGXTE@)=n!H2%#D z;?eh(hW!0BLgk$Vu&*EMXXCkM!^hff{9UvQdEl#V9il?j9);?W&6I4m zm*;uf&(Iu_nBmEo>hSusGH}4oTlBmgl|E8AsmOSM4cryOlr+Wh~)PecTogJ&a86y2R!NQrd(D2yE&opN~V!|0r zBabJ7vS+(QPMCFzb`jWetlIfCe4jz8WTp1;33}?_KTHZ0-YMj`oE(WH3`z&@RjLy$nSv*FlRVKOH z_Y84dHl40MfHnj@JOCiX8U(vKUiP?B_35AeH(MM@AJ}1~JpPwiFrDCrxj_=xXF;kd z{kxRjgWwn$ED~Gp&Yvp)xl|TaD#ZFq0w@Y!^_cT#&qs9mngZc@pGzxheyTuJK4`y6S@X9@=PUaLiqpp8dnLa)ck6SirFR6G$qJGlqN5NFmeD zY)}Xz;ND_Z)cCy&T`N&9R6-4H?FnLkHV%5YG;JI!LsCezvYhrM8FHbD<3Cy?rrgpV zO&75{4Ysvxvx3mp{6LX@Cp2vq+;az}#)@O+-{PupJAWO-MB<)Qg-43{_GMYqBHCJQ zYy{%Pb@{oRAvnt7n>b$V`AwBX%*H}{{NEj5sNv8BcQ``*7r!)HrB0sasw+onbQQ^T3(@jHiD!*1m)PJSkK;#e=+nLX9Sbmt4WWVGU_W1%dDlmN6cNP%#X^9@io z5O02AJ?=jXTtbTwFbyv-yH{;pt0wK?i!#KDsnsPefdn^;dqj2I{e_WP(-I3pC3T)= z82O;j1R#qIR}p+}*yp}lWcqHzGTV;p;N19B+JpIcBHmD zQO?KXz8h?)eI^eEue2r|6#RpW{c85dd4V?HHlH98IXmBZZ{dJo z0AU~TRHQ5#E813~#k>--v*z!lzdogKs4IBI+mSZLfb{r)Ct-rAPKp%|q$vu%h_cEA z&xsyRPEi0hRX*fEnolliuC=q{J`1}!#2lae+K^x4V1Vof1s9>@hGP{-V^q0S&REDd z2enf3yLm61n%pqqsrR|%{PZNL@hg`5JeMfR4$Gt@|!@>(TpPtp}f~F5#5z2az6~FiibT9UjP{p zgZXdS^Issmpq2f`eQJEdT!HCqnR#{ETCbQ~B|LGf$`KQo*JtD}-82v7!3KGpG~ODW zk;0Y?8{gKMt^((FW5DxNjgwt+7JH^T<%k8z(t@jY6O0@x$&3M(#1CUR5X(`g=@&U7 zNiGX^raL?oVV-@*0k6QL$_;49#=~DxmWPqU?ji5D(t0~Nwv$vzn2V%RhCrmu%mV`5 zTgo4DxtDNmYB!N``-q3jl3<225Myb8`~~yEpelkk>x@n` z`Ss(G&%0nZJqFP{YB?Vq8&MB2}rT4m3WmxgQqpuvb4;ewYlG7-gsBa1f(N#QNq_rb$)eRCaKhG>V2EQNYPQeCA9rW< z?ijVJFCR>DZ2^+|+qpCBYS)mVoJ^DzeP15hWI$k$mSb^ ztBYisFagll`R(?@VSv2QtCN;Ra-b3t>(=@Wjfe#X6&W+!9J1|p@Mw!om42)F+meOXjc3PPh4r2f;OBTyk3sf-EhODeP-l<&S!KK z)jz}-;JgA{#Qj>0VrFICG_)u7CP87lQ4`X)8qboXD&}#T(HOb%$dWfvmgiLHOpDhz z;q~$hh}FT2@CGED?q<*_ZNlu-<@ z7vmIfWMw5ZA{qy5wwuHdfXSZTOftW6K^Gtp|2?PLm*l#lR2tW}7BAOEA!+Ybf<3MP zZt`>3vDMA#eQ)(j@U1oc=SoOIcu1sf`W)DPngirh4S12M+k3Xq;B!>o1Gsd6r%2G0 zr$fDyqDU<3O*XD1#1kXTy3vM4hX)9~>a8vmRJW5CUko!L7inpeB2nlA%&DXT@*IHO zp&*ejk5ZpKv#IE`TxOtCKlOI6-V5f&?i)$0QwunqK5)y8gHXsoSu0Zj0Gs$$bV462 z??VesULfD3E{tqWCNjJ)XW)HQo z&6Lh25{Pf}_%j;0rWu%h)X~lS;_Hyx-e)p;m9xvFBt7X-Y@o^)2t=um($gkP~L*mECmdznev|42RX_bh+ILTuN zF!Aao#`L5GxY0(M3VWh*NVys5Ph=gyl`_lOee*oLRJdr97$D}yFVkTlG=X-FKG~q7 zpDRth!FxXETHH}rak{LF{tH0934~QMt%qUdRM~8qSJpm^RKJ0*D?ix+L<*AQ%6b>h zH6SeJ3S?q+a~FtH=Djmvyd93N!+Hp#DfxvE14 zdMel#Q0kw?BMSTrKOz~IfuSJIK6>!VF=SF7nyyS^P*Z2rx$h4);mt!TW2_a_R39=&a2&Sw~@qo!;9KC-9&ZC2GH)>MBm$CVtu4K(dR zTK7@joK?ootY2W0@QSN~$OfcdJ2npVBh;1q`UrHH@v*4q_4?mAOmE6Febaw3S4C74 z;88LXT2d-VXBFO8&w_H?jw{iA8A^I5`FpbEWm|$HSHTt(q;D^`u8+Oy@a6HDO-a9H z=xT!~KU~4dce_(0YZCp7WFj(}WkgoVlp6$cY9ND3nM2ReedrF;v!p?%%#3AHW99{@ z`rM#tpo9g)r<9u4Du9AaTl<(Ww`zYfHr=fC==|MA4sP`uydbEA%sQ1=RL*i))%ea| zTE32#T3__?mB%@&I%9q52ag|jT+&^UTS4I>Av1m^*B78L6Lm49C@0;z#1s?y+V zo-5w(9=5d#$Bp|&&JF;=C;Cny7L3uS?`IN z`Hy^vVvLl8#ng*-vFX&^AYy}4Dt+wi_Z*9B9b}!Sx9dExY7m7U;L!h>J<9&>u(gYj z8VrYVi|%d{!W?9hwu4F!FHvGeZ2je9)x^Tsm%Zm1s){xy7;3l|t97P;HOf%=tUmFD;+>8NypB_EGZ>OoA@-ZWeW=s*fBKyrl8{KkE&D1_t8%u@tql| zZG_i|31YARD5*w>8Tx)OuW@QjU``vXyrQl>^uErNIA`{OVTg34jf~Ir4~1SnCJDZZ zd9em{(8`3jCM~BEY8-!7?ygB-nxXDL(rcvmPWNC{WJe5cZ~GYRtL1gd!d*(r_y2W0 zC*=C)c?d6hi7x8HV30C2$Rvx8ZAzZNDaRcJte@D?#{+%-Lh0^}O&M&ib@QATIv)2E zJUz@|wj2GdPRC}Uz!_hr%tIUvLzB{xAzf6DFao^!$9z$N@o{XV8;uLF`E3QR2?J{* zgfdeUX^jP+z!EVVk9*QVW%}l5@sp3QvB;4=weP6uvJ+x`4`vB_zX<;adYy;{#q*b) z9NiS~8gQe-LByl%h>!F6Uox2y-MTWgr+6<*U46nSnCe;NrO0Nq6H&zn$$BD>5TljA zwOtn;{F%Q=DFwZVtBZ@v%@BNSN>Gvt&CGB9fmOE9;B%l#?K?mn+;YpN_F5%pWBGyZ zZK1JyKS1d<>|r4&H&mK7?x@Crx@oUFYf=G$m249x+^zqPDjZ4vR^Byp2n!XxuDTin zJ=xEsj+q5rr-F{i(PJ0#7bpG`(MU8LKkQ%mDqq`Yj>AP9o2R;Dgpe>RW*k;dqI>!E z?u5Q$5XxYA{&1P~1py7jaw22$-T4iNB28jDmUN>H5y<-I#;mnYR8K)utn#ku|Fp4q zC?%>)q{ml`M@kkGCRpf6dY=Fyg<>P!b6faq)798`DG&AVenk~abtGW7-KSL}^J&7M zaFX|#2pow-FwqoZn9zf9XM-m^fb%<=C?)Q02B6%0p+ZI`^ORU-$hx-}z0X*hzM&+} z)}w2&`Gxj4YSBJe&T&u(oq79^0b+LxEvi#1@g?;f4kKO(_P#Z5Hmk@3nc)3U<^I%B zv=BFxG&(EUArVH$z;`9bH1tfw)|+>kP3y{8hZd6!W4Z8;?lOzfdS3`s0>)qOG9%ci zf6j3WX?1c_A0V`NU$oQP>aw=<@+pWm9X!6v2%y?^3=Fi!6D^Fr3-jp}bz+K@Vx$S> z+U02^1Wt)eBb3v zFjkD4I=CeY_DnHggq~xsJ#2b(MJ5XYOn|0lCNhUmrBm?;8m1Yw_r}>~;njELT};l| z*G`eSpjkDQTDD_{$G%}Ydp?=TPk~8apw-h}|ADPLFp-FTR!07~!28u!Gt%irjT9=~~*$CJb2W4u3n zd6+IgbgC#Cl=La`Pe9IL!Yh>XOTw&qp9@1~?OjzxkVOUg zpX7|r#@WmD4f1`OF*Jj|nJR`h|LzTX`b#oVHk|?|JQ*+wXqa*hK z3xt=5(Es^=uC-)ccY@Kz$S+A?MC8%Oe!{AKw6eH=wSfYW6hg=76~SjTVv~GI7+&y7 zUr?wrrH2YWnYS?jr1W^>~s`%sVWh{ zki=Zms>xx;L__v<-jIf-3QzaGuxrP+Yroi+BJ=P5Fp4yLSuFF?6HQC6S(cBLRg0cC zq_6ARj2qJ2y8IAtEi_33un8DopbU4lckt!;({4}6p!+n1WRT!CIJrEs;N=5`-=q*eO%XhrL>;*0-m-Kk;x1j;(0*}RRwbA7_`$-& zs|*ZBKY#XgXH5-y0x&l=+bEQ7Q1v6EE|I3IA1IrF9U*{-(R4saXpjs!T4Gfd^TnLg z7eurxr*0Iag{8sbc%_zLVF7PvmmVNNCz*{N?+hM9UF%*5 zEOCXdrM-+KZNvDib;yRl?BnRuIPkL;EQ=OyHM)%DEU~VRZSE15*rLo?{Q?QTrQ!M9$@C=H%|bs?;$v9eyBO7QNI zYA{-7j^Ik_uwNTMQw=?kxI}yKTGf!`qA6H?+sP<}akWQ~9|BfZh{q$rZc@BBruf2DzhB*k1AJWgfpwAFUOr$l-k%U~D>Gyme72gfc&b*9LCzib`ONr}( z+_)2|!qYsyOtmV0a&C_Vah5bCY8;D7cEkk- z!wLHbc3_j-)wIwtiwsc)?1@eKNk_vlg1G}%W+@jBCE`o$S`_ZtHIbk_9QcS%Yzn2t z`>B;l^f=^-@k687Ro#c!WikMlzJ>!NhY;Xd+CC-&RBg!(pt%>oXmIjY;(>JXX^n^W zRQ5SJ>nq=J5fO+yWIjdYq69jk0Dijy-hSE+5(*Nk*T6_n16}4iTZW=n#di_xf<8PM zHb}YjR~Vm@m~n!Ca0?1;G1@#MSll`y8t>3rz&~{@s&jVrIRfJq%= z@bL>PkkTy`ol!5f+ba{r7hg)u&q^4p4A1ht4(t3s)JeE%*YLk3(?g-3D6HJH3#Z}|8%OU*GKsOltu(iY~q-|ET!zg^nvyz3_ z0V&kL1>;x;Fyto`0?nau(z`-1a%^h%&lhA#ez(952NcisdN(JkdT21E|A&_m9f29R z{ovfu8mHAMmId`uh|^hwL3@W&ho^jyTIKlC?n+8N6|4HNK{Uw$1UT#y7!5|5I24>)^N_?JB2ic+$4KTfC28kU=1KWc2s#30Jl=0 z&-}R(D`&srQZlurUrgp>LoL4J*ujRrOc$bhej0^03}AF}RC#oiXBN`O@%k-gfv9W- z&WY%wZaQ6I(QyKbUb9wI2GP3D#QQIgdBn`0mKL zAfjwWZh@ae^$jPiN!HIFs;Fo)P!U;qN+e#dSt$lVq75P-WmKN)IW4SPs&he z#hUCx8DA6Z#Q9WL9)x35>~_`tPC>kSyLa6aA$vD*KsbYx6tfb76uM*)oYmW1hT@Ix zdy$x08NM8ykL7`0#KOR4#{7Ypa9Yc%Sf2#jY%uFBrR_mp5Iv51X#$3;zpKaI=>I4~ zAF?6S;D;1-kiN9q6o5Fd*mcn+`7(jGpJg<7VVb$O zIy5}p91Qp_`U^up#ieVPyLa0AnX)d0jUw^fz4zX;R=W)~BJIdcvD4NxH@GBMDGt6| z)$49i*Lgh7M>X<0->*%^&fxL;20mQ5P>eT+wp8Ic(51fiOEZ0)^V(^w0zl`Wd9FrV zCQ=6LXZoge5eXSFKTi7bVByeC{zpm0Pw1(g$9NC?EvZOEmvxDKj_hhMaXJuNN50uZ7^%Z{02yfbKQF_{Ru$As5YIOx|65iB6=bNHf9npJk5iW9R`n7C18ofK;mUkYKHlPSCSSpZd zz99gbW+H|%RQ)-2uVBx-!q@*Vr=|(9iXlzh}lF_q_c~ zt?H(vV(h~TX0>R^IcDmW;0Tr|u&%uzkQ6W)!g?KOWGhZ~utgF5Z?3Z8U3(6whaU*m z{VcM2#mrBk;SIlG@ZGcmiSRX;p=o#d>WcFMM4Y3P9VmgjS+G``usOcOmm<9W>ztLWm2+wyvDe8(AMBfQVC}em2poA@q|&o@Z}gy2&XDW4lH5 z!WDrR23185Twx{9;To#NaJIQr5@MGt@Zc|){FH)C!pF;8B|6o+Uwjv|xVH8qT$!p* z&Dm{w&P&q#=&Fc;2Y#__+a^L-(>M@ur?RZN%Z49fmq`T$dGOVLJ3Fso)zgAD+S)P= zy(&~eUO3kA!Uig~t#!E^2lt+l6ho}B(1ooC#T6(8Zka+eP`7nR-DAA2S&h{RD?B!Y z`ix&bw(?5>dj#(B))J5UdcMwo@xA{z`mKvfzu+NO6vJs~u$wYc_U*=)cXc~A{n*?8X0SKmo@`#eu8y&nEMpB=!b0GUt(p^G)-zO(`mc@ z<4W2Vxt~BUPw`~`JEaFV`3MWa?i$V>x8^0?;Gz=)C4+`!+OL(~g?`B1D`V6RBXf6^ zS+FAvM|vs~scJ4ccmfa%Zg&t>YH>A{;V$6Lu*6sU-Xvd-&=VZ7)d3j->e9m1S#8PX zUmbzTI*TSy{niGM(WD}di9Bo*;7c(Gs18MBx`;}5thklJq%Kf zzsB>8MvG+r<4?WteP(Ww>sVT}V%v$f{Y}(ePKK|pR7Retv)EaVbk&uIhts7S!Dz?7 zj>Kw%jIi}`I1xBteNTQMw6~Iy8vY&VYqX*U(@>u{y`~a7rQ3DLh1?-8(2AEN->9G` zVBG2UwQ{{%50ydK^mS(jRd{jGXWwW+d{KG^AsFWd_6*FR5fI{nSMyLw%-Wr>9G7HL z+Z&iSBlWiNU(?z#N@xCn7j;PfkE{=VeD~WX(ipT`&>g!w9P9_ZSiQcCP*}T$ML9D3 zI26AN5=i09s-43KYUA9O`?pLK^+SHuRr|PXdZ(R+GFkrowXNFeuK`S~5WDv~pP;1o zDqtw&WBAnei*I(lC#l<{j1FOYo1+z2s`ZdHEB~U@V!%Q(oh~68bg~$04nx=(BBfN) zxM8nG1BcGCjYMJCp?1<7Y;b#iMvr7haJ=luTRq1s+f@H{i9s1fJ|_kFPKui3wHCqQ z`f6rNCjDM*LNk%O{>VE=QM|ks(2clGuV|6FN80d`sTw{(2q4z@-7@1PEiB#rj<7Oo zi|DhdmPZ~9y$FqQ+8rh)Yz~=t1L{_2jS&Oj%HZ^(mcHUn1dReDm>1p=X~f?^hAHh& zmOQJo0hHxPgFz_oCA@8(Di)Z;_*P6w$DjhJ<)ztVFtMlz1hE9dO($KjJZRY<iFQYZXKBB&{H zrGV@3-C&3IfqXj_V=@a00C9aR*M25pE-(gQpmY4(^~cT%JJ}nTs5C0xliSQ(4Cv=l z?LBabMXEL?X^Q@%@SXR17Ff&aSX41!H*;gl4BV)iRa!wp?ptt0@g$E4NxSX%lf zfd{Wax|{=>$gEU_ssKH5c(uhPabf}K>N^txp2oJlCdXy%ij%-0W!TiGWb>krJYWbe zf#@K5NJ`C6K>^CEgi6>RZfJ;DgnjX&f}SsF_m~6WJzlClI15yfgmxh&1kIfDUvsa) zW8~w}qv7Tcf_a7mT$p8|?dM$`e)pj`18x(G3PG?h_Tei1zIG2Qok#$-@O6Be<$bQQ zA%ae~NoA8j1(QyF3<*Q=D?K;u?Xm*h^HJ3V;wl?#gBG3BC^`o>*Yt9 zfJ{?+_EC<&sW#lk+IlOLl^E<=(~Z>ztpEn1?2l~;Nk=Rl2f7*H2|u=Lg~w`{iKYjZ z74I0|`Pk@F8mTuR`F|+fl2Nrg6oa-i#t}#s#UpYUn?n2B zUo~G?`N$-{&Sx*N2k5F$OpdqKf!pCUn8UOrAG!Mtzg1R%Kf`*OFz)6^u1>ez*(8Dxi8n2=^AYZe) zt0LIL8xj227wK|yGqu0OwDq%r*yhLKOE|;Q#Zze=kgE+4n{i3}YLvDyL>o_U+La|< zgwcPd9u8DGFwWgZc#}!I-qZmk|Mwjc(F@(D-P4EL+tM$@z6}7XbbQ)xshr#Y0Q+4w zOvP2GYEA)gErbKf9NOOX@JJtj^c4B5Vt+ctM5HQoUR9q_kQBMy+~BZbc~dhJU87Qs z?q{bEG!BjU@uJKKEPgA=QY2M5Ll4^pi<(Y@Xa~*hjt3OC)E4FNdcI}7cU7q=bWa{-kB65sKriLX=a>46Hdx@bH$G;D&jm`G6}QuaBL z2Zw?oN$~89Fhe0^*kOauhbX($yv63~pxKWe@`8(%R|3{=GeW7uUxX!p_3EDE`l%tv zQ*A()^fs9%NFDPXL6DL>d<9s@9%B*F7*AMnv*-T1GUGMhLJDEl+hM1&3#Qu*YaTH$ z>lZkcmm%Z3`*-dlXa@m*b|9>Zzesq9RJ!&UL%Q)b+MM@8=#$;3G(ZRdV3fC(nZ}sJ zgs(^J1?9o@)gL+C>6giZ`>_A5Ec9M(53)c&r2S_L2^J^l>WUIrj8u6C!5Wd%m>TqM zL|lQKaln0?G1s`Ec9{Bf;2d|%s3XF7Hj5Ag%o6laxT8l-1MDb>ec=<99ktL>U4jwR z;a)EN+AhV^`{wH=3p~w+stlwDK5GuLH(`)xcomZowJIV0&v#^{!#%x4#elAL;d&5* z+$)2J3M{F_a^gsXG1MDH20i#wdL6F)EG+9<(zLK2+2W%nYF>{@dZ?nj6D|1m-M~~K z%9zb~qNG)ywb@4SL8^!j#0=gOV;WzFdp|C%{{?C0E z$?*a-^rQci7NN<7T+%@s2bN&pt!64by3tt@Q{64Kq|^@h2XvB!>7S zdZVUhC*uHkIJkK|cf#9L)6gqlayqY#@^R@Guu+Hm;(4oFSW0FUhhVgBzT3V}OXlhf zs0L^W7Y9$&R}|Kg7YGZ|ccb1ker0|$CL)8IOC-FFYVQRf|K+~HaU86G1B~Wt7Sev! zS0flTkhz0-#4~jy>nXC=k0|h#MTy3}Q+s1{{xD}g;AXVNXykNNE$>iwgq$X6e^U|<0IS*gHMFe=rUTOgx&Ba^WR1OTFvWUCG%s zX@hX0qyR7VjOWnnFe8 zpj4GfieG~GGbD#lv4{-$xS0+(%C`=dqIK&hi4+A=)!nl*9~@9X4wA<#`xE>INyh^F zPeegEJ|NC4@=Ad}1|b484Tdwf{OtP=6xpN`4uHKZPfyd7qkE(WT&i*1>1{MkdT(88 z)6Xwr zam@}}gz2r8&(><%w5@5Aqc8eIyyJC=T*&l**If0m7&C*X2ETeIO|0B$50YF0S}5#y8geZxT*j# zHQ#lY$`u>B>fkhbQ}yrwft$k?wBdGw)(BA?%|ug$1PPf=6|uX*G*nWjc|zVL(d>}i zbv7B;{TtaN#^1(j*-ovSG}XW-G8aEfkoEjnz_I5hwI^ zC0YJL$fUJi9 zNs<4@JZibP%DeI5#d1=8slGMGcEjC51~j=b|E;SM*!Sv#6*`3M_hHM~oIGct$%KQV zekk_Spcf{_5tZLBFkFxhFjFlfed2_czm56wpK+gY16X4qutZtX1OE$@J6oJFz)$Hf zS?|vA+`G=1Qwn4qX0+jLj#rSxlc>G1xQ2cEc0|46gb$?S`_CEOx{htEN+y|wSyEN> z{e^|l?s?R<{g`rUk2Ri{zQdD|!oTK36*0ElYkKEi=UO7nd68F(-ou)+>aM za03JFzY9INdPS?>qv;a1tnaxl7$;2t)JCY!BUi@WQmXd>o{cV7E0*fZCc-TQ1wOhc zcj?HBQ6ldU7N;0AkV#&;n!Kei37U-?sfL4ZZ-OITfP}-T!)6#j)TQorppWr~36`nj z6sJ;0HhEnWVZ;Au3z=~WEcUr>n*WZT=|R%}mV;P%FfZ{?s7#dXoFiIJUv=}$94vK; zf!X83E%N9Vsz|nfx{&iu<$q~UDWktuz^I(* zlg8zGAODC^POSi78#W`}Cyg}U;nwhLc{Y6C*v$$uhW`mXR@7sSJ*N%AnX=;mvc8Ct z-yC1&!#9$2FR4g8g*~%$KH+X1=?cRjrNQ;dP)?%+)GJoDgL7#;Urk=V)e01c4I_1) z``leRej-o7wzh=FIy%13q2(LW;lEW!ksLR|YD98fha#>!w4a6;XR!Yfu}38l!w$tE zB?jQsQXOmUsYg~+eeh1&B<0ziaB(mtvjgxb&B%`u)!M1Vi`;2-I-nilXrYW1QnbH8 zbigQCqy?k;*r|Ik*dFiP>Rm6XH zs?YD;%Kzue7#F0&d(1dSm{mT({r%^VFf%fnvt+-n&Yw9^XGQ}u}*DK?Dq!{ksDQ_CDr%%vt`KKi7%{M z+U`(m4!mxI#~Sk&ATa&&oFB?U*_*MdZz!q^@7G$w+}ld`Zg^^=e|r9KxLy4r7V7jI zF|oDm5ie>#Xv0}URfIeRb8?I%(zUKx=p-XCdZpZQN)5IAK z{y+VdFpTfrKBlG|ph*Qb-p5$Qqz!#0#i*RyR1_*;WQ9N8q;Trjq=gmrRAiDxElD%a zpzS1K@cbMi<=pU-uH-D-28DI_w^z<1x?tAEeY91vK}-lbz0M|)3ZDQ;zWme<)_Ke3 z^zTKU!n(y;@;Pa38}yxzKKXKJe1p2Kpn8%(eI!8x_OOT*LAX)++-Q%I}IEAGBSWb1w+q`%lQyr=)*aW=&;FRI(ylO?H45UrmC@n;y_&{6;#R_GsNt1#% zhb=C}eg*otoE~gzo&~4}Tbk}S82&q*Hm;#CL1MU5G>l(Sg8ckr(?XGD#(b~DS~(5@ zcoG_sZ?WpEMe-2KSjY&JorGKQXSogJDQIXV_TF!gBc&_>N~!kGnOJND^X_1BR^dH| zfgH8-FN8=yxAh~=ID}72RgnVqbpgbe+d$IC`etG-Hm0@<0bPzx(=`riO=8kBaye7D zdy&k%$UW>nBhK=xFNu$(yX%{b+xPmq#_`o+AIIhZ$P?aZSo8MNo0A8uZ=`>i`MyjO z)X^*!&ClGs78q9~q9`zQ7JG^^mH#x?8zXJa`Wf?Ypr;<>(dvVJN7|T-wisK8A+L7S z(&bd$lfK{&!(I3*_3oz>Ph*YG7g2TArL`E6quXW6J+0@yE9U9~_|6 zBE1iKl@Y|2!G7uTUq*&T?dvi4y<(!OS3GR*B63#V$&RT0kW!S5)KDzXV@!W-0AKqu z7B=?zA}YUj{cEq!spZ_20G;w1Z6}|IVAG1dC*-VL-I0RFeUcu#)l*E(TTHRgnK$z{ zApuRq^+Y;?d(Ae4rI60iiMp+=m`Yi_ZB&L6>F5{|X?TVDUYkY#(c7D`tNnrr!KB?; zXk>bk0cc3b!Qe9hlIq+bQYvOjx@chXHMtz3Ecv z8aBSO*(gmSjtZh#NStRt|Imk}uX|M<;RK^ym42|o*n?7w1iWRP{|U?!hjEm@KY?;u zK@9571KwOD&RAWYM#$d+^Nf)!J6aX7H>OM>KD{{JcJsKP9i0@s_hy65dI<0bb;<<7oo+UvFAh?kn^Qri* zglGiRW-4TIoM4-pR>K|}L*&`o_W-vRFGpsW46Q6?X>ip;+a!BOpXS#r#CFCaQAuGe z@fORz{nn#HXHprwTz)Q}(*{*UnfS|J%$`|)PgBW3_k9`qx+vv<$s#Y!azW7m+n(d9 zXA43~?lHFW^JEi6-E4~mE9kr#+Q#TR4#0@X^L~{*A2m0UqGHS><8rN}=IkrFf)(;8!Q$;vAL~2Om>>MPUp3@gkgON~ko@ zxRB+2euj68wn5y61}Ug+_0v;2nnc>OCoEdXGf4pTT8rX!05~o9zPL(tm#4^am*fh+ zy+*`RFuxLZQuPA%3UV6Rn62>1*2;|5_U)VR4HlDj^9{r7fHf<5P7*<{fK0#XHQ@$u z3+avh9>A&FZ-oQweayv5g1kK?=jSytBCdf-34WA!0RmZLsi(M}-%_K5VkknLVNZd? z&uY)YFp@eozSYoaXej9)i^n%{p^ze8v|+Q15RkhkKyTz6=bosz-~YTdD?aGu?`rX| zm#-kta!3^ap|;MaGCXK^l&KyErzIfnf9MNibAEXmmhQ(}x4=4_C|l~p@ppGAJzK}H zOJw$bwH~kzij*{77V~Gb%N;jtpp9Aa`q1c2__( zomw0CS}bcm5+-%Dy(_PP{^ET}wBUV727J!%-B2hv^ZJd}yC(k=b9Tgs8xH z+doS88Kq&0x!p6#j|W+!nK((TSw)Tc36S0(-Gg5?F7lf^+Qy`=&3Y;@&wu81euv!6 z@~{fJSjyB>1d`q5X;J{4G&p~<Pua5 zrJ5VR!##iHSWa$IC5uKmUd4O*V_9>0gq9f5iqO%Oaa?ZG^B>e~v;IC%Uo#lkBa_2o z+?Pu0KBOShq1la9KR_lE^rg0lh0+(JN__a&<&r9Md>5Cx$rM&ifdS-Z#1|QfTY|6h zf=*n>=#M*x@AdWzd9WEGp5>O7TfWhg==4`Cj^m1j3n}}wtU0sLRC1y5GWeI zy3cp4g*Yc9D%(MrvpS(5=G_r=#%2{A*zWtUpzr7s_C!ZdBReZ8LTa^~ zZ~myfBgHlZdwUjt2Dw5jBpS3BMva79Z9ngD&x+BMi=OU4w-z5AKN|DLtm z@;b-H(){_e9X0bTSKB)iiR`E5VI9E%;C`#1KKU=@BuC6S@hv8h+S^XPTGQ+Uh3L~-;VtZ+U~*c_ z;Vxo<1?l#EQDqco^@d^l+$S}|Y`r40pYd)}GQrT)y4gSmjyrBcgZbk>j92Rx2-iYb z&&oePoJz8*rAWn3iiV`NW)*T&FbAra%itRdv2zhEd@kcrIZ$VlgFMH5mT7!Gl)gpv zrgtc%4)m_9P8m_!B7`PoE6K?o(dq!YFPKd1SyxJdrLP)ogc5OV`%z2MN7mlx?zh<( z95R@V?*nDc5s#km4AM0mE+)Y63a>FHf+r^PjzPK+i+o8)8s{`CU%C*-f?~FDdou~W z?ps#xH`U0Dd%k`%>VKzwtomz4&q#8ABLF9-^PajGKauIF$vj*}<3smiXBztMN)Lre z8a)Z7H&>{M-xlT;%FJ*{9Kf^i=fOi#i~MM5oG0OqP@Ulzg^J%ifxHll#LT`Qui{8_ z_vyV!C&}fW9SJnbXfMjv7dHAhz<==~s3H$tAI-qr_uAyVXas^^B0EguKanyNJwc=5 znWg%^_`iW!EigrI4aK{w$zy#rTirFpHl>S`F-P?lQ-D4#?G!V?K*L5h6R?;Up60%F_~EfL zrhow6!*mfBg=fk(9Y zuPj8^LZ!p^jk_wAPp8D#V{uL(@^TEA;KB4joL}l5$=^O>J|h|X#P^OD5ov~YIUFH@*|H0+p{>xsvSZhCHa-5d zHLMYry^&ITf1}{~>IFW!@}XTY%%m@vr3Feud4~epGhW6~U+>BX|GFgK30O!%J?!(Q z_>!5MLb^endg-j`Wt`;z`A4topC(zY>gyB#nEF*kl#ixgG`1Mq8-O8N7Kj$n=cq5e zK*m-F25b-VQiEeE=bulNmYWz(VLUX*gEfc-8??-O`-VBL>=k>2X{3!MU&pGURmt5b z3@!QE>THkDYDG9o0y3nTk-{>nnx2$o0*m^Kc;MKQTNz8|C1gJ`q1ccb=L{0SG-2kW zN$MWkVdPlTzQi}Ea>uQ6X#2iuENgdn7!}rL?nZv{@#u9I`(w=oJRD--_8XzauVg4O zo|j6_(BOXS1qoGQyVr6%TRGO+GZY(b+)JPycD_lDLWvD`C83(hDIU-pxts%W)ac97aTX+8Dq`H|NcqW@!OgIl&Rx((`5UGr zKdY88`?oAs0TUH>-H}Y_Rt3)!6XkZH+JLxi~d9ZM%WD`dfq;x5u3<9I`X$?OBe~Iq-^@F zJ>5J{B({g}Y&*E@JU?$`FXj`Axq!|5e#s5nct#$6PrG_dO+Jfrc!cXO+$6RSVSS&c zJ8Qjc44wJ(Wl#kUU=0~%ftAXxM$ez+Ng(Bx{{TNCZSZDT3p_FZ%bKowe85PR_Y-m` z?zN_8`Aomgrc?KdsN7IvjNu_E_)ej0t|(_hu-nQ)345~sQJ85-*j8x|!|EmKx864nF0hOz?MgT;#nkKMQb3}Nm%uKt!{#LqQEM0x99ULGObrxTF&!uj#cG!yp1Uz~nj zBu5)s66s|8T9_tS^>AW0A~Gs<`zdqujk?*+$U1Qy>^W@O82dPc>cX#P_UBsg@Eq;$ zM~i>WBLVIW91mIN`c50N8b&E=FyKF7(-CO;xFz%2VFMzu+%ZM#iP@ciz>@BN-x|z$ zZc<wQNIa$0?x;o^C+>YW#3IK4|`4Fplg5(LvAl<(Z&ttv6Vh26o1gW<{y|>D>tmdc0RQL(H;)x}%M zz0x{1&E^8tOQqw6+M{ZvZoq{K2X&I$o6ZP*cyLnnCKId&X$Nd@e@bkWeG$)l8l4t^+KS|%PINNILE67YYNHcf#F-Bmx36Q&`^lT0z+gRp`v7L$xy96G%=DD z68meF{u_OnZvF8!`;rzfM)%)mNm_V_(VbYpKC!Q70%6yaK_i_}4@5??$Vm~UX&Pl< z4jIwOnRvh;Sj@vm}*pv#_^3ZFK0?G=_^O?Th{Z5)G!w;QFRYGesbHM7hw=gacRb001$mK~Re6k^UhyG!VHH5J8L> z*j#WO;BA0>85`R`6}~r{t+zrFk%wr{ZK|kTm3Lmg$!gI!w%GLz7LP*|qN#Ko=2tGo0bU=Eu*%d^oI z+C#)1$m)MI$|NWqI~9Q$h_7QXB1 zHH)91MV=ZsmeubZcq_IV?uX2qM(`_q^h!+%X4}fxO9=Nb8A3*IzQFNJ$tI(zg967% z7!)PA7jI(l z|KX*uWvM9>B4rgx0y`~G!fX-Fx&NaXvgPQQ5xFt|gERC62MRutDWQ|SScHcX&iY2% zgSGG9)OAZYj=mnrI%PV#cT#&bs#r^U&-=|#;E?eomV>|am^Xnhl(nQ3;xpfAf&P(I zXn+^w(V@XOC7(x>jQ=8+t&b82F+DGWgOPEDg0i)3rnd!6S#PQnAPsl;Y~K4l z6)fAy-p~2CEL6o{LCb1n2}V8mk!709s$L0*2kkz%MF)Na@hWuzWub%q^QPiDh3IQ2 z3=j8Mlqyw=~*|mD~amyMgd&b6A~2Za`3h|Eff?xF`Oc zD1AzuWUR=rwq2#U#LqyZ=@oGD>Goj@aNb*jPj>>Im!B&n4l?~Ts!s;R_-sl*cdYeT zE|WvDG8{0m?y?Ywo*cjr-goZ@W2%3oXJTSdP^Cc&@lP zo-*D2EIOsI6@>P|9}fax_%3)PP@JeKeZUk-w~b0Yq+?X1r|)-ZxmGpUd7(B3aMmoE zTRuIYqI^ZQY3B+ZaV#hEBItb_{No2)b`C&`CywJ?UtRJf!jT0lii$zOusPDZ1A{Gm z4@>Ge$fcJ$iLCn_V%vMG%tQ~&Wd2>W$mQldfilZioAFrM(n1O=#v1_s9HNmIW-6l> zlalp2zlZ#6+hG3_I-iM57!9UW_u2~aszp|UuS}E zE6d=r)15~=6_zD@1iN8lJ90zw8k>CARx~A)JfJ&KVbY5FQ_=K-aApy7rP|*)Trb(r z5>!UHyCPSZh!!O}JuK1$YzUFvbd}|2LtjL7z{Ni0CrsMoATEr|-8jL~(+?CfyNQ4| zkE#cAKEk+9o)S0TbkXlrR5Sy9g)jn15;)&4mO=aUl5XBTjH<*5$e`i}%BpIa}X^zkp zW41L2LmU2ncg(-ihx@v%y(sAnZAUKy-Y`;;_aIFYxD{X34Y?ywKkv*qc|pQ?ShQj& zHTi&bx&YbnAI?GbG!FnMMXUQrFGWJ=G7ESlU@J~VQK9Ueq0z(co#YstctR$XnVNcb zMw!@E;*O6};UV&iifJClEMw1+Rw!P5Rf3vEm)~d?S7fUKlh3P4^Yj?nQ)oH6#aK0N z0*Fbmv#>r;sl{v`vWX1|Tcw&kMK^r257&4Zg{6zHntu&?Gz)UyQ>0)FOMMVi$mIy` z0hKyiFqq5D&dc>6vqXSHMXxfro;ke@05##fSo;{r%lH7vYwd+~f#AAqmwTgjb~(R7}5hEPZK zXov|XJwwm3q#?ne50t{2YDi4`MHuYL2FQ|g1#bN;%N+aBGV&p7xoAYnOM-0^Se}_bx$jW%>lhI3gmly-R<526|`~mQlO0=2L z$?VB1w7zN*eELbIA3rLT8U204ua6Cv7AYvleZ-TX4FYicYON{V0uBw6|{G`ru)YS`NDD z?+iEw%E~0|t5oirxaXof6VxAu>I3y}__W-O#6f;yp<^JiB&{oVXX63ml|k zFdC~7hQn`e{U>x&?1EPk+;~v(++-@`?uMpJpgZpPPZOsf3H!7Z0?&jyQjh{%YVY{5 zC5*X`JD>T7E0S1afDvf)cfOMQYyUK*Z1(6oyB;N^&WpGsT6uOpGmL%)E8#ias84*- zybw4H)Zk^r3T%r+aNoIYKg9-2OB4d+L=Ep!fRj)Kq$fnFbD@+P$$VaXsuelODdS7zuKFKmAsR}%4 z&}{tm1eK%Rl~1K3xON}-zkJ=4SPKoqzXv*T(nmoYctDJtV0HyBG4J+k;ym$0@@4PB z=xmOBQ9WL0-&SHF%Kk<;0QEUyyG}^7K)AyM~ z`n8fW-J#O3zyskwC_x8e+Mt{0GR%Oe0qwZO=Ai|OMd*5IN1yFMJGH~?(m?diowJYe zFb!03YS(KCL>9fL3J}HX`I+QfG{Jco8b#DChr{&#y4}cN*bq%I4*tOR+DcDjudgs4 z_fF0Ejk(Tt6Wm+NkqPk@wP8#%K)}eM%r72`DZvXcOfNMbCOhT;ajeu8@3hh5i^J8o zvvXdCtuh!+fCaAv8lnhoqCFsizxJ4^B2yP7g^+LwsgOff+ zetf8&C9P@TWwHQOX&nl5>wu;qL^hEUpw%&iTzTd8P~5=wSsfwXpefT4zlg$V?dfvi zJCjRhuj-Vy+XB*s#>0jF5S*eYNoE+^=`Gj$`Tj8PpEe1GFh+y#t%oQu^ zBz1e;(CmMQNzzwin)GwmJ=@cF{8%OLFYSLmj@;g`wmeR8efvLp2)Fw@!G5~K9=Vw= z-C0VbP(B>lRN@*Lc$$72d$=NcMn*H?iO2HYdT;MmPdW;nDW?1*@Ozz)dbaO~a%9yO zs9DHUOVkvG^82%t8R!^KM3v)iT3qQcXEX#yYcYdd%c0TV46uvadFmK2rHgXTIZPuh zv(Z{N&pZ7usJ;WMQvezLKc)jox^JqhGAsfqb(q;gQfq-4l@sob?uYMmG(1`Uq3~Q8 z$k>w6<-`*&2(-f*=%~nX(K$juOgw#}oHAHLqg)gzY3QPVqQ_y5WQ9CU{cxsk(cjX3jWb!WnE+|dg)#~hW>vo_n1!zI`PXQz= zCi(bYMp}U(lq7UvDLJVoc;$oiiJX?=o-vC|`hIn|UQ)e(L|c*mQ3}me5#*GeWdb=k z%bD%UKIf~<-zs#%ico*~mvAXnMpPwI07$Zdeb;wK;21R?@pkT{GS2QHiO4> zabG*HT_{qDrSYUJf`>HPp?Gd4q5Qc;n8$j`toP>2M%`PO89t-aOj!+N1dqFcrlFRF zh4$4j0vE%f)?Y*P^g(Avl_>6=GYR4RI%XzKZCNRav@SwECPP>H!yV2YCW%;9Xuf-j z2!1>zL2GQWtLic<$Gp4Qyf)0)MTQU43q)*pME#?&Mg*G zNm_GhShvb3y+QQa(5+gCEbvW;GGF&E4ftcS)P+HKeW*}tn;^Unh@m4i^z9{sX>LW8 z*+>a(+zawmW@jqZhqo^e$GN_aSJzT*g$mB>Xf8qP4o1?Q6IR^MHzvxVQ~ov4h9qjNHp%x|^~?Mm>Xs!KH>)be!wQ)U2C;I6 zI!RJbtnyttQ1?xT#eZ*#1V~!VY``K*M5rZXfBO+i2yJNIReD4g9ch1rXIM+Ke>iF7 z{?;+f{Dst8`%^zxy^t9M)ltG`_P?4)k$rbJk3e!W2C87YpzV)|m*DETeCIxJ*y5tb zQ$--O0|WZkPcvjf3P123VOvK-KvM_Uj(a1AL@4c7{Wa43ooXq8f3+4FnV8+c8v_w!4i|b?(Bi zpSZn7PvmkP_JRA>3fVCoa*?b1VDQf(nG|lD6MDd?OG)o5KD}ay#yHN7j_oJUu)}|L zu*AAojz1{1(a~7;gW7=(OFEsWwcwsh8{dZ*+@2a-HEUBExOu@*`)wpxhlsWU!iq3> zI1EozNK%P49PKb3*LZ}$0RH(R;9&7vf8*{<_erk{y&8iYqqC$2G+SAP!G$r*5PUq| zxUQFdfFq;2!hM!bMm5|N67hnS=l&a3nq^tss4q9kC4O~)ulKmWTFSlS>FCJERayGo z9o;XV0nyMh6@hS@Jts;qmAXj7)-oWHW1gcQY|}kIlNH6jn>rfw2sO8P00KpnIPalt zucFqTerj`-8zk$}T7|EI*$rmk+o=){6;+PAcgAp?5j_OPo*XzU)LtPg*&v^h6FC&i zE_@@x5Sk)WTv!6!&)dnG4{+s_8mVPP7HkNPDo-$Z5p0YEen7sCWyq*ef09(x)D6p- zN{Z|B^ALOhXwJtkWnh5jkTrlN8sM;!?xh+QRk)yg2}+TdBQNZPs4IS+R;dLRHzAQLsc6dxlYOYA^p|;j1ZnW2JMvocfz50~ z*C!TLunWL6sFXmfWwWX}K;mAY=rx;5;foQ!Da>-D^x^w0*{D)jL{$5L@+hN@#l^%c zPx0i@Va6~L$S_VTvr$+Xk1>51mQ@#S_6eG!a5r>*-Nv44_*Wn&^0Q-7S1^E-2&o$`|DIqM5y6<-$U1#`ZcSFVM05EC0J_li zNE48+t$eDo$OGRA5(Ayh@yqT@EqRgGPSPMyREVK6h;1pL!b-I6a#S0Bx3gJ*<$a!^ zZo8?dX>~w)%}&VMAr7i`fXvG_eQQ$S0LcGWcTtr-PH(^G1sT{sdnk(JKKpj-vlq>D zn7dU~gh=WT`4FT{wsb$a^+22bPi2W%`?nk4`}wlFR}JnIBod16#9r5!C% zAY^Ixbn?i(re$FfJ(PMaFsQiSzw5_1C=cqGP#Ru~_QlP5%Fr(sBd(bV`i)MKHv0dE$O_`B3?<8q zD-_<-whP5-_BtXeXWSRt;y00a*YH#pA%tkd)G!^>t#{c-?i;3oBpExFVTIAf7kwjH z_vO+4%mls73%l<(ghg_w(EMlu){zpuY0rQW3)97L!f^AjomF3hr580`MPDkR9`=Dsc5ya-FV)YDxY!Gm?Pattwyz;KJeX^t z7nu!o#3ND3fa@Jf@veXx3CIl~8^A`UmxIZ!xI=rglwCXPnu2PPbyK{oHqRlDZ&8E2qq+6z zTVmxwGA*-sBT#;@&!$b>sgWvVKDUq?&{a6-wuXQr0}Wp9ieNJ)1!#fs zjfU%yB54M~Im0LuAVtA~wx~rBDF3J%lv>o2#A=*jdgS+wl2e)S z5@u^zGMtOUqDVNTHPSHg9M;|__<0MHzs}ZLT^#0@b<>t9kX8( zuz8|o;|))d|0fy|EfEp-gC>LI?2taZIp0&Zj6>mK;j@0W3O$BZ$L`bh7&0xL3lGXH ze8>!;WG-5IOmx2}5X^}tun8v_xp0f80jDB6e^uX+0<>J0TZLpounL*`z>D+rg5FIH zUN%^ZAG>I2b8o_NZ|qDCKp1~x0JL5n^^G0Uu+BM0b&6vP)UgJWr~ zS*{FuN1SB6-#+9Tv%G)gqe+}*mFhmO&o0zk6I^2P)Vtc~ zQ)>RDftSo~6zFyP{JxURs9PaZK|mhVEi#ITXihzxxq%!_pz-f}l>kvaf=1@KUjBp{|(OD$z57_pKX zt)I1m5rY$p$Jw4y_Y}OGT8n9$08QyXl1WjcBKtsgtWBfg5!AZ`yu5>srujhudEO+Y z&=g48Gk0mXvsb@6J*mg4isod(t%y+#JXx{=?nUqEiquRqn<_!0G)bQgSz`^!B>hmf zu=NW{D$4U_EsiOlfm}K+ctI`nE`;sUh~VoAXi+3HYnNeCKA~FVT0B%UCQulmR{`&~ zTxeAn``QhS=!Ji@hJaR^oG+%u=JW=XiX<4xp!!wJPC?<7p%!c6_Q59OLb1I%Ck%om=&ip^&u$7k-< zFP^u+)I4{ke_7k5(Vb^>OB*MbUGFHGk^N*8EdnH@Ke8DzU>yP;Gjl*&-E?F~>XpRX zBg5KbwTH_}^R)E#DRqER7m`-5AbgZ~Jae4e)Bnd;)%_ht0e%4W(cIDd%|d<`ytu+I zUC4SNPK{YEpu2d3B7kRgGMq8)Nm7`;iA$~ZTXx$9*9IT}kS9e596&RHRj8Gc-g-Ic zIYLyu&=^Lc8MG&^aVBBp>x81!r`pIkZ(k*F_XVMXppJnC*Em*b3O>yd`Ph4&?Xw39 z;$4|EgYhQWOUl{P$Ga(leMef|Eixa0ZCj*;i~M^@wEU-%emHH=N$(Qx?hM%HNgn6KOg@rBUp+#({WF+O#?PsBJ< z=~AVo^MulPGK4ESOl)k-arfZmvB){lDT*ePxcpR`xX2pkDGzs4ai0Okeg$Vz;;gT5 z66`0Mq`lq;-f-m53`|nf^ht`EKsHcCT^q#C*TsP6|l#$piL(39-g43b{_#HFi?Ne;~;#iya%J(MCtd!4Ff*3h8J zX>0SM5SNto4ABD>YbrCcS;$8N#mwFMaVk4veYc`+fq|1{fy!J=Ifcw(@E!YzSD`nY zfO|XL&_Mc7>F)3%XYbTv+XRHc94+?e#MZqlP|Ise2SMm7I6QqZzd}vhot7QlWuN=n z-Q!HE4o7kN5rQ7E?FvPY^CEYFhSa;EGYJ6(&9nq1qK#-TRScKTclh(<^xyqt%;8SW zR}%C|^;>3=*-OZx)~u7TzA2AoA2)G{Ry;!&b0cRHsPG?kO(9t-2J zo)xXc2#uFY$1=d^+Gpi%;!}^Jc3i41^_VbC5j#MN)T^_JfWWhlacT(SCm7K?^! zcaPfnKf0bFr%RZiHouAOX!o2FkJw8?`-uUT&#K1B;pveozWI;x)GG{~6^wxCP4S>G zwv?|rdiN?~4V}1f0dQmwGtl+28bgT@I?J-MZgTer0>|kkQHj+ISoPPuV5aHqTSQ_J zPi_+Qf@ZV*tKMtOf0Ii)g>Y;gIk)q#7xDg5xu$PvH*&2YMVRF)&iJNIc~`$x3=c+; zIwm_fGe64nZ%y@X92}iB)Q2teW&0a4H)^kin{*>Q*^lub`hab_i&F@qBv~(n!EpSW7qDkTU_eq>-5T>1TCIx~&t8~un)cOeI z_7A`)?8;XKDC`+yyWn|Vk^4sc$@CUoQHU~!!?_f8l6S$Hl=**cBr8{{syyF7=h`sA zqqw6*m=w(0N{E$b7qq?hbbe7`zBnevYf+eolXgaV%_X?+;9%H4G@F412YmG>#f`UK zUPZBMPJoZ(&|w<@AcYV%X@MJDPKI5*qvj{o4*cyUPD^1Y`_Il<{!YhDTfF8vVg~dw zY3`+l?1}b0N)O#y(l)K>nMS0n+i7wVX!;4DD&ZEZvI6CkXT7>PZ_1L)ufrg&wt zwG7Kt6-ZL>r}$mf0lfRGQ#y}Sl@IKwUAD-{fOz*bo@>J9Pt!_@^Q`Su>2Pq5i1rUx zgx7yxdjcIg57>A^7dJ1f>=pCDN(tM>@6>=YU&M3?Q=}MeNHS_2F}X`lx>v&XwGXDe z_khV92C@^pkWbR67z-tIm&inG`%$J!PZoojlEevL@)J;4Gsvo_)(|scAa?E<-S>WUIOmC69-mY3ecrEI zE#|(PoGPSa<&w|`sB*|`R1WLLz!(td8-USVdJnNT zmu+?|tC8@Z-sGKm7blHf2rD%3Z<{_LyqC3tF$-g1S||%66SWuFA|HXuWdryORTKAL zXWw||mme^3d@9=F*F~W_=ZgeP>>4S``A51}4q3&J3A0NgeXjacTqh8Jl2yACd!p97 z><}NQ@@RvC7Z~JzLdGK6MV%Eh97vk6?j|xT=~{{>VEN z*ljj+2@*TwBHFK&ENJ0+lx

0med^_@P;hney)H}4kUNICh;RI*lc7r!b_7hb<0tl_^s+L9q{ z0-Tk50wUqck_d`Gc1KPuGQfnb7h9LIDYct~eHEKp2X+nE>zSS8yQvH61a}RPG%3b5 zp&&HI3JA$K)#QI@dF?8d)`Nfe!E+7=oPjs$bq||bJ2b4;HX6KVsLK$5%Po-_fhX=< zG_xw02{2Neo8}(4fyXha^V_J<7!0p{*_^6;5nB?1?h3R)uOF{!i^f|eI8QFXeAfL> z9~$B9_r4NXLW?Y12fNS6?|E7NqcnZ;sPR?u@d^Ix0~retdo=ImSairq#Z?xYlW8uS zqtvsSb{lPYl2K)}03Xo|JeL6FnJTfxX@J{0DpXGB4rDRyR&&#S6HN{S4xj|p9dY+o zN<=i6dx@o*zU81|#(BV<0(GE#@eg-SAOYsHFp<`|bBg8*HtI0285d?bNcLTRg|9=} z^X(<_BkhNN6)HZ|*9@dpOs7(~(VMzcyJ;S(jPNlZ_8-8Nk$&Ucbz;1{$aWGHwMDn< z_aBFMVzwmiy@UV1XkD0$Nb7r^g1Y>GVH?`8_uvP#Vv^(P>7NkuS2Vt)3?s~90m@3F zfUG{u89TM6ayF~FEexx9LJ?1Jv!FuuSa$EQ>N%K`GcW$5WFgst7`*TmR>;t%YWbWH> zPLgMC#$+hExE7Cj`<`?G3pxgtw{SwS#eqj91ayZq%JE+0;8qO+`Yq_~_~^!DMY)8f z)_AT0lsdq7v%4W0iBJ5AUlzFRt6khy*M20Yvyl`8%a$#`{cc6dy)?!BP-eMP6sd2C z5`iu0`~`S@TTQQTB6~bz{DrEj#p6t%xXT6%ulkJehhD0m8Jt|u!Oqc1TH|4h7?0Y% zQk!|>avzlgt%(oIUVS7(U_ncH+!t+C1#;Z8C#|{(9vCWn2vYaA>o~cG!roBcEs`V5Cf5Gh~{ro?_8!w2DXhwE~<5zoglF5ANzI)(UUcR;1#a&x%0R#AikZvUBX5>Qn^h!=m(-r6bgOyPU``$RlSldkmg>H1e9=r^gp_Ra! zVr(fLt=La^t9*5hSKDsN9W!ZedHQyGv8t1YFAUh9oO6}3sl$jkzxPyVTVf2q!tdy{ z0~^3qaa+W!;COye!E4Gqm4{`^*%sG(zp%L)s6U9t#EQ`R-bvX<&EaZgFZ2>vq(OC* zQ`a)w9jT|kMT)hEcmN0(G18Gl`EHEHkIzw9RNwN*#mp2ikTk~lZS436Wp`V{Rc&}4 zo%e>AYFf|l+}WB%$iynj?lNB9&n@gbm5uWFYp8|+P7%53^OfM}2Bn=j1E;1SMG*pq zPl_``yF#74XbWlaDGs%AItTxRO$i$;XXh|B>zg%1_KW{AII11`pQGNXZQz;tmVt-^ z_J+WiT{oqCdD)6`p^Rp|?P6M&L|IOH*t&?TO(D2Ti3o z@2axTXr~E_1ZjlBGPk1+INkAtz_`qT1FQtiL6)%>nY2i5hJF#bJ+dI=7GVVom-cq& ziHhCxMWO%2dv8%fW@N(qcv=SwT`GSYm0ptjv5;5;v&e;bJIDtdUhgEz571eHb*-29 zj2I3BcGy!5&n1g-Z#J>ZkmX~Bhn8rZK3nFKNvan&(0V0&VYIQjM~)^JE;@M_2oC=h6S*60Uscjb$vNqQe{=tfYD@Kl?{X2+(#!F(Di zkA117y`q=R=M+>Y|0sZ&i@r61u$DXU6=m4z$A@Q`@BVuqzbdrgtnbbD;pFelow7jQ zmn-Qgg0qwAH@<`(G_3f&MOt)4;4~3kX&@{sezIDe`pHQC?fjPf_2t9|w!>iJ$qmtB zEMZ6LHs1Gh{?mcge5@(}NHer`cfC4CYpv{aoIJnu(W?$uLo6i&pQ{q-fDq$I1W+&Y z>3dV~nbKs-U2i5~PX?+1Gc3o*X6z0{gVR?5L!kM6_oO2d6ym zw{sn;`m_35=s0(4Dw7F@0@nJrS^9 zWDulyf9MHJn*4Y!z@x4gwWMLICHArcd?#%_awOt&2oP2*n{g}Btb#uF!M_cUK>XUT zii>$9qrRp(>QM4lOl~F&OOtI^q7K~K&4>U|%yg)XBH%0POUiHi&8vi~ks0#Ue^k!6 zDk5x^`Xx1zJ5Hj5)>?zw^u?c98NNM2Q6)78&YuNk-pxo)$%13}ErTt>AP&Z&sL|l= z10(YKN}{?pojonM#&8CdCzmF@b@Q%H`;rZrk9EVM;fj{J8tc{5UR?A=QTF%d{&=8L ztg-jYdm59_!5lwUnD}3e#aEv@{Yn1?8+~Q0NX^Adw~i~U zXt6I-Mi6_dwx2+-OS;~d2$%^upN{XJk@J9iLDDMOs|~}yQpNoiJ8^hblf~g$xhR>o zsyF=7p(OW6#(7KrzcO0>5IXy?*=UU@Smf8Ms61lrY}4)JeY*L6Ob9IDJN%tKru{(o z0h>j7otjn%8>m|sD8TPbb=6>5^HS*ojsU@u8yQLTn!?yS?y92JJQ|*W9W&Q^4^n0r zEsy@5He2U4fwYGs&+_U;Ic15x{9(NlUH^};Vu5^S(<7k)QejX-=~Bx?S8#7#@%M)7 z>=Sf8mC|IQ;7^N3OpRj$UO$6+kt9nb6hVcr->F|zV@9UtGJok?c`Aty;7Z07vsI4e z+#YacK8j!};!ooz$6S0zE-ut$nOTB;EC~8B`>upW?lO#(&1l#<7rExlZLtdw_u`}x zWZ~F4cuwucT1dZcS8weixeBF*SnwsC_*@x@oVXTa{5AZi9&+ZdLv`@75>drlqv;(T^hho>7A%@4_uNG(gWQD`1w^nO9#r!f~tb0$)7ps@>8NAnv$ zhF7cG85%@P82;cjrVd>ixIN_|zz`ahwkzt>y5PK!CVCgt$R>WqeFlNERYkB))bh^D z8R~VSTO|1AE}41-G9WBPiC1ZKB zc%s=I9{u~=rTgRI8d@9Z(NC_=s#+M9G?y5-*sH{wOgUn@n>cjlKx{wEv&0k<ODgoy3>rK8ta`Y| zn1`|^mc3ujkJKVc#*yVsqfh*(lC+6GSlDG<3B|g7f+f{!FgxrV< zdyul=#k-mVcAo2H1D(xwR^HRfjLj$fJ*6n>RWT0BkT23S5UGsF0Qno5V-DSeDK=tgr~|Q({9I8cIgg`erSD$%Fsrvhc0~4 zfn|;PWP}!4F!Fj2rTxbQ#!}WT3l%sG#TVUx-CPHfZRC8x-T7i~g-K*^!b`wBPtQ-r z#wos#yK(YLm-(_vl)Z=}^y|QDFRgfK0+2#)nN=Qie2|1_q*twk~SP`@!_h zSx6%&9lzK@s2u21;0|BuJh*{m>C3oMaxkhGshj>Dfq|ecCa@` z@O<;ev1-Ina$B5N6?{Z_rb3F6GlG8kRWi_zCBWogyNz-zyqoz4$WRf$6`=3%QETzI zA!jr~%`)~|(63U|JF})(lTS3Y*2W@9o1no%q`l2*Hazs5hNZ1@YG^U(ZJ!+Ey|egE zO9`-3;AVhH%~P8{c(dhX16EkGo7<3FzKRQmy?UC}|0s=oE$F}ywhy6qSc8_Jd#w_+ zU@G)hc4$?*Yes+Mv{ytAXDx*R$jx3Bs=LaY;5y8oEf@MF(yl-it$)_#exp^CSq zrt~Z}MK&IlH!*|v{EXLhVQksoauShw?O&0Ou&bqda-uLaST7r|g%0d&tuY1Yfzm%jGNhZWsASG3L(3+{u!iYo3VzG9+slnJ z{8=!~NK)=U=Ws}#3f)O|3EZDgfRSC2t)Qb8GSo(NY>-)bAc>dydG0d*D1 ziupa?cWxBl{r^4?ZvI#_i9}-=f=o#*r`pbSU3^fYz84BAyInQ(n_zM@oX|@sm3WDf znwKar9Zt_TqbK{3Ji~(ryJEnjKx-RKAkZ3T!m_xHRF_MbxTnjD#J_*5eF0~zh=EI3 z%!4!o1HjUnLS+yl#OzRdf-78tVZS{)$JC6-^!ZN;Ua@7oPTt^zCxstZdT3E^) zL>$T8U`#2bz+A%ys^Wb0vh~A1uPvYoT961o2Sok_5dVjHP6LGn%UOt`PYc<}K)f@F z*RL}Ujz7{&51q3M84@%r%mo+fW_v&**Es955fq#8M7Zt?k#`b6mDvCHy9Rj0K8Nix z610$QbMsc0#H4@qQm)h5={gSFIuaZ&{(Gm>A@dH&LpVqhHq}eaIdoSNQ}#vTrDm`Td5m){b#NM&$T>3x7~K zp@(~KbQL;ODU`8>;oRC&{?j+6lZ0Enk%Z`s3Uz!9#l2yhJ3+1to+^Nk>fo z`*+q0kLT+C)u(FoAwPi89%w#3A?U0YhaVmku_d)SW`~}p=K8WEWlMQ6u4`vgz89AB zs<$~Jgymb&OSL8P6Udu5jPCg5lvvNgC1kT7p=5K>K}4QsGnAn96Q6irzYM=Qdx0Uuk-9r=XuciWIVtHmv=|!$tYV9~ z2YSYkZH2adX0ODV#opUuE@Fz^4~64Qs)2c)^3zDa%iF=2G!GKiS(*LPrdgTs=5cWq z^>{l;G^FY(-nq->t^}~(eIjnEF2XFYh^THIR^q z=8_?Y@7X}_6yT7gnD2|-=tAz72<9nI0WkAdF8<(E^i5<@N5I(!=+WOE3@0lHdDU8x zK!$O}z*)Pheez9lk?ga7098P$zeSQ3SHoM=nTZ3Dd582b?wQ+-VMoU!9E?C+-UdmH zJF>q)I#YV2$RL-OG*5iy@O>!OqyyjtsSs`F!&MY^qab>pRx< z-55@ZJhlxC?R#X&iy2M(vw6XAm$Hqpzrr45lYH=#Cle%erYDXJKg(oSo2IJH+;sWE`pM1kEHPA=w?dq1CIhJ2mn|WsI9!9Hp~c z`PUBsHK*0>`K(LmI2IO!+-lqXYC*aQsZxuSpX5+tljivDUAX_ zK;`+Kduv(y%{}SBbA3;vG42reQ%mMTfe}y1<}-K%)ak}Z3yk*3Q!csj-Ka!H8les3 zD5LWiH^3(ZC(=`E4s9c1dvXtR%sqobN>8`4^Dh+9z!<}QlPX>t!WcG$4|i#XZ1;>D z=$d`LGC8zV8K%P>C6IF6nA6|GSVa$_p>;pse|c}+9X*O!@Ej`BoZVwjjV=*PySk@} zg6~gq?PR8pM-aveG*x{5rF!YwDYv2&!V;*)gZhx{wE9L|C;4dRNwV@N!Jr zI507e@ZgJ%W>4(tUPlQWK4WUgR(&kOi^5mYk?^uFWcguCL zS}Voa6t^}+c{C<)H-9;-oK#QMfeJaRCzSH@%*^)#IZqgtTZ}F`Btt01*y7@qD9bLR zyq+@X#zi^~?pE-=*B&@t0m6+WNHt-A){~y;jV44F%vk>+-j&i6y;>dG*#``Wm!&&S zLc)xu$^#a#z_{%w*BU4Uti3FH2fVE&jn9YjgeBkfEmUiR7@Dc#20ky%!^-+J zrQrf#ik@ItBHYU^=xokd7Lt2+Nn!QJT+e#AQ==O`5mTgK0CVZwVhfDNG;~$_loALh zfPD*w@z|k(HBH7W{xj``9T+bSi0;*2fdVa) z^deo+B60_-2=N%%(4TE}+`brvCc;#LB$V3>%k>aYNgj>$5j~b3I!-IE+4%zx)Re3_ z5X1Cn6+VS}Bp4plCozOy4bhfq#ou;`#N5t5p+7OlD&4s12HQSOGu;n zw$T4swnsOacQ^u$+u#;*W78j}7Lc)Y0s`ovM<>gof5XnIN3cD9*)2%?3EXf8fap$S z%yBQ*3LGi_y@&JoDIqWiO}#>IV=qAfGg#ngFlGwIL*7jErRr6o&kIOi!;&#jGNdHi z@d>Vmk0H^FqA4#z?F~VQ(`6TrSS*cShQ@L>?)Q3Vrtm-SjhGP$a|eLS71$Tg8f8=6 zkc;0i>i&&(K6zukXR)Kzz$I2uXy$%UpteqDn7NaH21+8^^GUFYI3RP+5V3KS5>$l@ z!dRY!r>BdCU0eHdHu!w{HZ-1}cfSCYtbBx`z;wWa+4>fKV3 zcX%tXJD@6VK+`_1Od3!zirx+DVs5388)BEBC{Ee%c?~ z2aHw)UNq}xFiRbnvSUTSmnhJS7o+jDfjXSyVfQ*{-1@+F!D-k!fJUE9mGJUX3f@3f zacGAIO?1R#R)#8&1*D}EvUWy-u~r+g)rw@U-p3AlxfhJu3ug787pa3* z^KiLZ5bYFIk`GU`Au*4Ucg>fwkvJPMC8u&EIH09B1N+~=qs{qW`CAK-(yH79#TfMM z>TbHC8{jPR)A-;rS=57j{^gjb&IG}ZL1H6#kB(OxsW(=yedtGC3}^TmlmbI0d=UvA zrq93KyO(F2Zv64|px&Y>gu z@XBY)#^VOplM6FaWPtUXT7x|)klGPGEqob%_uo^uXFp`Ur48YmG-PJc&z9(%ByqN^ zT)wCz1zv@TjVzx*-cEFAa|0mBeJ|2yi9SIfKXxA`0_FjNd-qzCl7a=YTEKfXuWbR7 zI+rNSqkB6>2j3W#$xAOos-o(cf?dt}+&bUZyKe9u0C_8fyl*ut_|FU(Z-f<3vI!M>rMt&EeQ1<-;#uwoPCEkHyrX-qx$;Dx? z6aDB^BVTgr6i-~uNIrxkaa~_8YK__|vtp3wv5otr6z$?XW_SD)Un+DHpck(XEin@k z)KxV$r=B){AfI6XQJf<8qGHZSnW4Z=RFrqoadwRR+rQRV4qb@&TsOlb`YEVE1!-d-WcDz?z^RHIgEE0r%sVF1LJ zKt}+T^pPl5fUhJSIE8s7Oz-G^-mRADlCgI^@!ej!1o{=`l$w7=ZKfJ977kzl?9O1I z@mS)=clJU<4)82chA~_GVy~ec`v#>!ek}3uh>{(8*M<`|TlFIdi$=j$Tl8gSHyA+F z8*VFdbzw|t-2^X)S*ltg0w7WM)ney)p9J?MXQoiVr4k-uHS@K7us!yMFhP#C5eaVS zb!p~XDb=;|oXcZmHEzCnwhJy_>;~}&6g5ro2=3ASg1GM#o`0z7Ry}p!59Uc5NG|3X zW#mGDH~0*F-vRv^`mEI^+~!NRXM z+Fose8I39F%(V!f%=Ac3s9EybV7UM3&cYPROw##Qpb~RYM2+=S-*E-tEZ>Dz#ygkf z=@gZ;W=+GmlF?g)x~J5h;Yjip%2}mIY~KU~r>GTfy1JApe?0~XL^^Z@XkTx2E2_@a z@z|J*P&!MU7Pcdc{nx*!GWXnfKr>0-V&=N%uUUKTKOz+W7iAXgp20F(d}JdP^OQNf z8*#AFe#uA(2YllO=p$!~9vrYWV~Y%6$x8LkJUYH?o{R%HAzR8fFbFSmQr@~bTG!E> zaiwZ)Pypm&7d;je78!pDaE*b-a98K6BaABicXTBw;N zASfWOVE}dIwK)CKds*=}Jp3QpBf{2^AnRttOtCIJkPbCA$*s#t@{M{#(@gRJNzS}6 zK?^pN&KQRe)S|OzWh8OTx zE?LRdT+3-{0kxqkyMH;dGBSJUZBO?OO{|1weRx*ZMP+)jgM?+o6J`q+0xH5 z)A)_=V$wk9PDC)Rkc^*SspiEB;x)ywzIKr6R3N4b@18&^h>$!!Z3M5(XMwd=)AoEn$ zTTW3#0WRh*3H7cgY2tDA04VRQ)2KHe7;bhD_`rN~y(k}92i-CdCo@mTp)*Wq4H zoUD$A&pMRJH`(OaQEW9_(RE(OJq1s|Qeyo8eaYGf#<%hpw{Fv>=fH_7CUG&*KkFd7 zqD{t4`zAezFGNG32M4(4w;Z(8+)5?t(PT9)I9QdqE3ZD5T9fTdR`NaJA!$ryQv=*M zC}Tz1Dvffxl^C}mOsyy1+G4G>i#(5Z@?l=I3pg03N>oXEq0w;3mdtQCQH)8YrX;hThkJKPq> z3Y?DN2lo3QoK|L)GE840w?5qL$~XbauK#Cc1#EEsfVMCOv32Mu587MOJ8s@0-1=Dd zP3wzU)f=&q3g_Kx=sfNzjaW&Ijp@WAYc6Z)Tr)YS@79YJul5)i?yd_3vq)ujgeDt_ z=x{hjT9Zic_`rqh@%kb=|J7GM%Ct>)toLwPz(4H_la5COL)4!Q=oQ>qnoiUFf6PtY z+R41$`ZU+KmhCFlLM{c7b1a~`*%wfY(sBMy*4j~3vk^o0o-KDV!AN1;aNZvk`H0iN zNPdv)*`vAA*_4@|eKr?q_w!tDflwhrP)#<@oYB31gJyVMTT28#oE|bY6 z(~IHBdHMI7T)4Y=*q`b_UF(I8U%E3knwkxqS1qH5a9U7f*WM0P0ayT0a%yl^U7Jit z2MT|TMJ}%A%7UTsesii(GBY;fo>)jIW!GpIaP!8_c1%WUKiT4yea|}X<1&M5!b|q< zKRr|jAVahLbZ9Z0g+H7vHhzB_^N4!L#gGf;Qw6<^`(k;e-(5hkf^rfH(5XQqvlHJy z{*HX+LKzjjZA#P(w6K4=Rt-fzHH>^}LEHp`3}`J3)RJ~IeFe>Fm$5E&sB87M0H>jl zSp=BAq{w6|s}!4kQjbJ1G}2CkzW5hT;xw>HXzU&L(4D$~T(EX{g)VUaY&4IgXb9*| z?uke@>18o9%d0rRSH=SdF9Ky4oiAaT!dPER++I;cdQd~0qXAl?wpi2-W()q{2c!=MoA#voJu2yy z7y23B>R74m_F0!mbb9b+@whH?YOF)^J$HEULoj^dL?BhHig%_*GnJ-?O!={fO!ltZ zd2rb* zc(4TwoQz__yR0q#Tni&RBEuguFi7>dU$rSuGNDbJ5qm*k?aZm?r?k(d~{PgPbj`c+w6Zh$opxI(s z5;EOa#wy1{qWK7Bx{|TFBX4yTfe0o!r+?Lf8`U_l7lOMih)5a8VeHwm%K_*8s23Me z#EsXF31K$l{majqml%Egkaz$V4Z~x)@+g)5c4D*)~%`(3}^PQukrDlEb{yY4e40@6fMCx4_sNf9>eR2K)5Vx zfPA7?Bk9B4v8SbHlaXEL2Ye~hPO(*kOly(&rnaiI24iFwi-M{$hb#;eOuN& zkF^KnkkJgq2~~D&7@h@qP+eP)MXoH4K7*65A_w~?c7o{3QgTS}p-T|P2tF7Fo)QyA zgc2X7Bcg<_TfCXShxC~}S_YTLoOS?J4t;+yBKEwlm#shNIKO}F?8FIOqz6@Vp*N2IpUbL-H zECfM9(e?W*4q&~$P`OS!%7UXj6i#i7X;d2l+kPlEm$C8pe=KW&1d{5iAJrrSKK4cj zJtp?**RNCo5DK$HMEAEc*qxxB?-FWS80s)kW{|(~2)nx|zXf!)vmJ-7g{JQV4yN9- zQ;!AAF&$#(0W{?1>eyhLL|r%|i(XduN)Bz%g!|BJE(#@OY7wDe{i6OwZ~qdEmHN zjo-+0JUB;6MaWZy#;~4me&wmWfjPG*T5a`$=^G>}>~E&sx~tm5z483Ik|*z7`tEY; zi6+8QO)^17cr;kC+Js*XC#~c7z+{C%pB z)?8f~z$YKwo*JIH7+F<}){aTV1fRPK+L$2>i+mnv0I_KZUtCS$MkVe4eX0_R1khZg z(N_MTT6;UZKQgA!jEj80;O;_bI1FTuh-9KG2vTv?Xt#-H*A3~Uvtd>yhtp1PQXXI(#)7;@kc3JIO7pi zhY2RI#VsXG8gant!v*-Ep_OJIjO05DiQw8VVz;1epiPobG%og*+q-EU$DMm{_u!eM^6NUlGrU7pXyQebCe2603&~C~9AC+_*dcUFFXFeD^ z6DW6FSG3*~$rlp+vld-L@6oz#W2VqRqu{1oKl%Qtc0L`J!GOAilZKae(~CP}zjZG~ zl-`0Aqne*5^JTLDCf$DT$gwq)4<=!%g}nLqim#(pcQ2JBrz9-$hPw_W3N2udDqTsI z4Hp+ey9t92TZJ`cBG9RMtIN)c4OiLqE^+J_kbm(IK+ov{pEH3T(Cm85Xgb zO}vNQwXPSi@hcKlFg7zgl_OCSugpg!!9W~j;wah(CY@-?r;B@f7h77Xn!>^QqQ{ue zNr9l+fBD&!Zma$87IM;g3uzZXp7wwHltpId`U1j&fS3KkW@t9O%BRO3ABX2~tc_e% z{YEj4)gFwt+OuI}K9vF^0>xehxBV5?Y^bK%-I@)KX~UuERLX>U2|+4KWwlZ#q;9B7 zxdAnQ?QO(hw3B?jfO7KxXPN!mO zw%6t@P_&NJi93gH!Ycv-DFXan5^?~#rON;cdzd6$LG8p5B464+<0r^)S?&e4J0U-6 z`4h(L5l2i40slEgGv+S~(wR3VLl#P7`sLvomXU*A+dKvuov@rIk!t2)jAV7Hle}kWHtCAcXYcE}|jT?_f|-+_9<9*1ToAATD2xwOuNn3p3y| zZ}JY`Nm16#QY1Q<_8or2Xsnv2WJjX4!`bf=#I7QG@Z086b4*YDv z{e_=SE_|)kzsL*VkY1h*#YDlx5HIpN=;PV0r$G6V#AB3_=4Gb-2a68&tER*t_*wC9 zjo17K=wU%3B-M@$Bq-R3c9GNGeEI6904hd2vFvjDZUp9hay23C)d4b}YE%6uiVL^@ zKr~3_(2h;05=1PZZ%}ILyZ09*zZpI2d`UHK(wh3Yu#o5>z@~O`b0EeYZVg!* zQL%sQPC2dO10h9F)|O;%Nam=>K!*Q3A1IQTPt|7T-puPqa=ejyilV<1Arzz(v;rTp zAfShQe^jR>xtsl6^iYskClBoQx{h>@f4rr`2BSy<+;ysmn<;`u;=5(WzO9b#kAy4o z5oA#2trOrgeuHPp=DCC+SGAB;WHGMh$UD@7a>GjBfTKmWVoYu2e%f#)`k@GJVfB75 z>$O8*{(Cz~CcfJ&=vgl+tTPoL+;53&?SC&;n0UJ$>;ae+`S&ZbzC)PY=Ha-wB>#T& z;U@N^`S*lW?E&Czv*E@g>W39x#JW3l=E)!+0q}dKUAn4w!i}myTb8yW2=FPGnPGg$ z9m%Zx*TY!;kbuT)<3ynfKXH)RU_LfK-x17Z0_{Jyy~3i0O6l0%7ek{#cz>G><)7L& z!j*J}9SJn{dM1J66U)R6Es29qkP+2ev4LeKc7r`OiEncP%?Z3CrC%ZvQcV+}$vy^N z#u-J~&?RL>*LofrM{w0m-cy_Llu^o(dwD?5wu8=j1O=6rVeZ12rb>_lfMn&7Wq>;m+{J9Q4wyxLB!iJsYA$o~phFnZ zzQwJYn)`8lH9;1O zt10i&y@wWaLX(GJ73FMXj4!EuuqpeVWgXWJ`BIGm;aB9=m|NL)W$b%rYNDnIQHM6t zA@70GR$tXn+q;|cKkMV#$P1}}H_cH;Dx0tN0hp!#rPCi6vdTGWr0p1!ai3ctssOZx zH*B}k4C9Unk42e`EV=J*`#6PfIMG>_6UJT58K;&oO*+_J^X)9{1a`Bm@?Xfu`@Ssh_921X8~$m(UastH-YCx(32aM$ zRdU+VjQfXDeC^*auKcIZd@9n6?eOIhR|)B~m%|@OIW(2?SUK;No<&?&jq|tTkAhvX zMFs!v&V>-ksT;mI2EJKcnBB!Hh5(8@1i*| zJq}^IV|s7qedk{3t1C8nte4Dzn-sw|5C*P=@!m5ftxe9+TZRbe>jJ#TB6)p4WsQc^BsD<0Tm{-}RM5 z^d6@}X-2)Nb-;^8E~gX{KQF!6jLZkHs`r2r|DPn)xub#?A2G7;%Xy4OONk;ttHt5x zs~2ozJXFk|y=))a;y@K$rJ#AF1Xhd8bhOE!_u$^pZtlaMhj7-O>3wUX4nqHUnS8fJ zoER{Q7MrPc<}gjqqsAUp?fP1w3gwE=u?Mv-IiolyUxFG--MABww;*SV%78Gs#XUW* zTt5B1+deYM!2@w>9nJ^FX|G+D9#x-L(%qo%c~tj|NigWVH}=C7b)@+p9Hh%I%R;pU zDp?m4t(v^twow2Tm$t*iv5p*-BOr2iOH>(BfuH8mdA3nV<8n1LBoQ* zPvFut(C@g%yC-6{Cv`V}fbcz{G4&5z2?)jAU4*?Q42Hv_v#ZOvV4!Zej|lsgq$` zIe=o#N^-O(-0*%Pt9)&Qs}8gQzI!6#g?J!{VU%Q0WbAvNieeg(Y~Wlt)C5gmJpZ`I zc)Z)FtI0=O-howLz_u|bn?gcn2lvBI>tuddTJP=#*T40tx~sjLMCYzcge9l)ZU8^@2Tna4`1 zNNya)8!io*bFNIew)6!5ZcICX10n~E7!JCp7LZ|Ui!`7l(LC&AH!;Uo=8nB{gQMv> zGi|czp4lWlBk%S>dl`b#I{^J@#C5IE7feTjH+oKqe4|0COUA7xz7bw?nF{01Wz*q< zo!uPW{}1ctZ6z;p^A#ZMYzHP)eM9^!kXjztNJx^fr)N&7@R%B@aFY*Vt))`h$nnoT zdWRTs_(6AP9qYGIU%@4p4#AP28g67KPy&wI`)ep`a#HMZPu5PKhJb--DZMm5 z^dk-3!=df_vW9UDopn!uF&x?0GGIY~uG%R&jAgPia-KLsEQPK3=vvC|Gco#=L>w#o zN9DdY+srx3j&Q!%Zia5KN?6V94WSZBQR?__mFaxXVLADizEhI?24!y;(=sHXS?fm;K0m zetvbWiUF@4FUKw02lgO53Zju92UCl&BTJ6eX3Lje&EXle<@8d1;;P?0wKi8X06qa4 z;vK5(3ZvDz&~g{an+~+0>Ab9abr!P%$);u{rYls_^3zrip4}{dkjWY)9E92&7|ak` zOaZm@pVw5IdR+Sb0kHJ5=wV`A8e}?y@|W>p>Wp+AK^-YTEu$>mn~?hBF!NSrQ1`Z? z4V660=6!7SDz%VKKOQoII95ljJ|%-Gd3^FN{qIn5M1ew2`W1N0U;4e-3>$wf4osy3 zes31Tj0p9bc|4p&PQOcI*$WoEl$Rfsr~NDyr%;z?8Gs zHMx@FO~Hbp^8L&}WPPR9a+jIHt%P1IAxzn$hK^P+J(KXPNbI1Ai8rZP42Y8@($O7w zpv^7aX=P~7;q#(@r2Xpsy(yAN8(BfehM1z+h+cz{O0Z$ite|%@WWmtO?=) zlJ~Idag;&o`no?z4ng5e3#x}Xv>{fm!L>(h+$Gh zYxOp>f{_OCI0>4Xbjc@OIEt5rBK6so$D&Q(p49Nq<=Gd11Jwtpr1Efhv z^bb%)v-KR8YLw4EsA$eFm%0v-(OU8pz%NS|x&c3DCDcM3%)>(qv!}Ni9rR+sTs^rr zJkZ0@RSpWKDd>IHC18xTW}2^lJU62WbH5FZ!1m6gihPodV)I}V4=q_49rAE-!{cPo zls*PgoTKSiWCR7D8j;Gbpvl)f6h&CRSq;^cda6Y_ zlRwF|8na536O?b6&^aB9%_-;Xq&`tImJ)nOJ3)8BTXnvTb$J;6*_DQ5RPDeA5z^^) zUwjYt%C;Td9>9HlkUqlAsJ%O!KP>2)}ELh|Bt% z#8MFml5@@}5phdS{eP_WcozNHzE_}n2h#_$oY?SgoIM{uO22%quHg+v$Z3lx)7AUz zH*d5#ba|PPeRMwOd;~wP$fp7}G2QHu6-?yfDG<(J+Ev60HFCtTqGz-Rf*m7@K~G_> z#xG6KEG_UnHmNq`dmXd{+ri?*y9*@aaEh5 zGHtQD&+fIK>Jmb5uYvKUUifT!3(+B$c~j^lds>X5{ZCUsioingQte;>%iXpJ$u_WxV_-mhQrY z?k@BMv{OWYlPV%olO!*WqHL!XdQu}4KkJegisdev`o!yt`eP*SXhWWpL`kRYF1r!u zVDzR@EMdypi^Z`f=S0F}91ubz7w$swQ57XNefm%bol_2k?`Ris4YSG?6;kkrJz;AI z>lSE|goy7-gE}^r(qAIic`J3J7Yv;(`;;Xo=`V)?{L&mpP&^l!w>lskHg=t8b0OnO zygFsXsH&spgFAI=HHz?@Q^Lt&Ek(9|3~bMhU*l74t8n3 zN zfox1C20wPX1Th50^d_>5)Bq^I6w~@u(|hxP@@Dh7?ETK5&Zvi=|gLr_4$H@!D4465Rzmr z*r%oyi+yw8PM8_~pm##q6XIa3?NVIl4uW@H!5+58FmG{5+~gzvn@2IpgFf>sjft>< z&+#}_(IR)`g@l5a>f2_e&ecD*R;Iwxn&l*_^*(z1_rSHOTF=s=MFy<{7r;^L2D<1l zRar4`t#n=C07yZN(%Lxs+Q=D;Qdr}&WbEcLj(dh(-@J3MWH&aX_y}fD)Ku?5R+(ek zu2x4tn@jRJC|*WlIx1I?WnN0ZZ{HcIKnnT1T6Q{^)>g7Ng%iCQ;zWO}lZwq(|G<#~ zUJFUPiv6WKeD>9qRT$~6>G0aXb&PORYe$Cs*>W>3j&fc!I&h3AEEFy5Fo_K?_bZ#v zpwWUOvM-9nSvLzRD;qNxOqX@sA1c~$o{YP%|^azBh8e9STt+9HwqAl8R-(BaGdqj@_6ZS{fwwptq_Bg=*B2nSWB$tU`yLGrC_LuMC~f)x#EVHn_|aUAS@LYdJRkK5xA=VCQc7M zysEs8NC{ED8h%QgL6LhmIG*+JF3HgDy)UQ%JGiA7<2}P=#__~pw#G)6%MbWVAPfcH zy-x0>N7Q>TU+N=z-cz z7dJpEpp*s^yCn*ycY|(O#ER%Tz0f|$X95*BwB)P}4B1F4Z{CL`*#=9jj48HQn~6e+m-&Lc)P$bKR&r z&e~tM{10OHthAm*Vzl1eN5hvBnz*R3*ab{LY@3d<%3=Y}dzrsC{{ zHFF^?jHC3V7WHX*^6ZROY;XL##c|=>NClGbk@PmvP-YiHVZsSy1i^hlp}trx*1Gj3jRN z$DBYq5w?;UtF={qP6IJszL>M)I?~7OFZ&LqJzWix9 z)MNH|=X+mfWZp-{!l$(4UY|uru~ExWrR<&?MX&qlYJ&Z~&p=aCI0bM_OTNY^)FavD z}$Lfilip@ z<+0*L0ux(xr>GzF)4cWH!HfI&hThg{#>IA+CeT)!^Dv-m-QpS zd>JzNx?W;Z`WabYgdOCW{?C@`i!%bM{@9JQf;K%mCE2tZn&=TOGH%H?D+h3?jzrI{K- zCX@%EYftp#`*zBXXDGpvw$d4;!loRQxt&N3UU%=l^BT=)`DaNYVS3_2%q{Rbq((ko zR?&}tx>7xTZ@_AL0=<3vIJKxI9zE@~;A5hR14JmSUL782)}sDFNYg)F47{7Nmp_+f z;OXp+(cSC-S}&NfDJ05HJ~rmqc1P6h)n&h3gYnes|F{q;+|FW{$bKte>9g99=f3WCo- z8mZnMhK}1?3RpN#qna|_`eWRs{Wk)xc1W9DE&LBv?sIR$X$UG=wrV={qHGLrDZWJ^ zj!O=J#Lq7Gd+j+?ZJAU5+6=o&Xrt@%MaF`3C$+)9{wbxD1`^_Tuu_O=NT!y{NWM}^ z%f^HhDaAc7)#3X89%6Mc2_G@cfOPXCCJ{-{^LAQN3@J72m@{zH^LGT^2Kd6M;>H+-%J=Y?195&l)`Vbd81)tB&AQTgdJ1a zBxjVPRlT7Guy;#C&2o_I>jA+ALvv zLU)z(TjhHRur2Ri?oF__rJGpmEO}~v;_iXK$n8)O7uu*{3ibh83T%-hw4s;FqTdVK z;K|%Ptu{{?#^p#k0yLKEmJji>Q;K#syn!K&Tix$X^bCHmZm@()7J)TZo!I!_a7MHG z)w?sP!1zBoP;rv~?`CsM%#M*`aC#0Y>)P*x)3%q;gu``r->y=_?oKFk$wJ9PBkEk| z#rRsfeUY?W5&2pjX+eTpoRQ90ur<4KF8SX{jGov{M5zd`yDy<&XE{r=9m16LfROWI zMq<}iKOQ7Zixa-fWV?MrLR zX(jjLT^lBWH}4IarIv-s8yi->Sc>K1FC47D7v_Bp*gaAaP}Fm+;KcSYU(O00--28J z#!)#eH}t?B3c7SG`cm$EhYL~$5O6b}C#J7e#@W~V4-u)}DMWIPGIj-TSxlCB$Gxw= zbC7_($h?Ve{5d@a#o9J=9e2jxbLNOkAE*-_QPv({(^lkn&_Cfzf^X>NN&LqoK zom!xO54jOiU%0W22GJs~d8w`rn6~(ip9BSkORGLXjIHNdEieVmFN8n{MF`l!!8aFR z2H!}7B66DI@gL)yCasq!`X#;&V~-mp|L3HO`#eLz2^iZoxtYM7ND}X9<(%;;KmYlR zNqqfr166hub2%~`1879jyy$nNc$WRaIGDtS>v^!hP>pNvW0(XriU6qvmP&zO6uT|B z9)3yfR}kcmlY5W{d?tLKpE8^7>-HN|(2JchDHOnfz~j;vT_5E!9#mXGRo;*urqs;BxZ%WF;TCxK83kjHxJu25l7?@CjgV z+sD%Eb-SBFjkF{0kqNN|BE}^0Ml`DfpEyVvlAo(D*0X8_RglyMJnrK+!Kanr-S3AS zua_2H;}fxcS!{H`A+AquBfk98`*AfW|FBeKo%LKYR*ULkOQErk2AEvWXOf(JBVKAn zb8o0d?4ejPh0Ei{l-KY=Vb_6Nqs}~zzsh$KZ)2|oCmX?PO2Linms&j>fOCd^050R6 zBZ@s4rvxn#QD+@<92k?nDUHKw*2q!b5iGm<(mbBD?&j(cpfc$LA4~0CulRD6U! z!KAem#Tb&TC1jbBH_bd9s~E-{ zVEsX+&2c18GV746K7mC?!tgvasG_N>xGYo~3mGSM#Zb|$67$#An{_UQT@^Nb+mm9v z_uI?!o2~(E7?S59yEAfco42TI9EdcTEo1PVzq6fdY+iBxHFb+H8gR7(lU5X$GR*-| zekf=fp%~t%j#hxDPCRfBn56Qt$F5rPMqV{q;KEUp7U5pfa^Jd4=o4Zxv47cg8&t+g zTTim4<7V3$hF(CG5VMa8$%7FdWM8sY_z&AV-QICKJ;x&AzV2t%5hmP<_xYHRxXCBo zxt_ow)DQv@12W&^?wkBx0Z;G!qVY*Fv6#EMi<`Mf^>ScA{@{Az9ggSEY+P^PCdq^# zuq89yD|hxh*DRz8z0?_>*>^II%q*PYOM-9jKMBcC#2YmDu6F+D!}?~WPiKW5C11yNA5nX$Q^Z=oSf8!)w#ekFi(tFFv{W~>{PoC=peEEPDjYDkQb^fvkN@X=%Iz#qMD~?g0 zG|bb%i&k)WSF~hkdva(SXP=S+=QvQR_d^LkS1?szOKRB%MeXcp-^d= zU#s-xW2|3CUtV3aKhTc0^`|r!6z>ZAK0KHoqHAhD-rJ})6&{~gsOguH#x_8dAa9vj zK_o~2AcT_Xwg&L(WF%NjpDSgHPDnX3$R`)F^)aEgKX|PlC8WN8{gJ`S zFl51C=1!P(xI5HtB-j;I!%U?Ah(Vki zL^I`eOp^#4hbB#Pe|L`8(8PE~A}(dy8Y!WdPfyvoa5qcN-!*JHxh-T_HKhPQF1(P7 zyW(neasRd&YcDXYiWVN$j&cJzBq$i1z{atF#G|Y~lNsP7r5_suXyGEnPx8bt^DHWK ziw9%yH`!N=DJ79hsg<~XBVjQM{JX&3Y>QR9>1_VyH8_!5nt0#@NHNbT1JI|fl>i>7 z3-xY>FIXe!Akd!*jg*XAiaSqmk2zi<0)nC8(>IQ_bjW_f8tk7le5bJjKS<=7@4A3u z=)^?#@$hjdj1Jx*O_m5CW2&&*rYp5v`f=Xy<#&s%AeSF`0^-g|k<<-a2Y`xqvzmp-TWC#ycTR&IE>kBx;au#HZU_?jJQE3OGmWR&J_bV(wuHyqd|xP` zYQ8pfpApY~Zj*}i0}W_)vnRX{Ps{KNMe*iwvS7snE$!*;ACf+=$3j%$+8+~T`Uclz z)s8E+=vr_Y&~r$>@3ZyO{+96?z8sDnu6$gq(pr~icsflnRxQq2Joo6cR zAtkk|+KG=F9XSM8xMy`uVe&vUZFF=+^Nr~Fqf;zf6~TP&5tG1V_Y3@HY@o`dQqGG{ z`@2T-hrhi;9*8*SLV<+3DoJIp=9{3ilCRGhS^&N~s_}{qbCQLPV81&GtN2q_kLA@^ znOOAfLDJFBkL%)COX-aN`*Qx1*It8enZ@~rdf8H6cC>6e^HVwpO}Hnf+2_5fRECkok+2V@RNAttND?3f3YS09*C6o9 zxi3V~>eDgf()f7z19RWS{l0~YJPa#jfYnAi)hd$rXyZun5fDyt#!+7lt9#V3XcACzP=Od#>rU^9g5!??xSM;7`gf7 z!|>v(0QE;Woyom=D5EJDaHO|9oNNl>TX^to20+PBJQZQ1BW_u&tmI;qFa1b$Ws=L_ zk&wkhP&a=;2sTV@ITTNlr3({PL}dTePSGA zH2!`Evaf}h!Pc`F>EMZeYaqQK=N%K6FYT8-PM;u0%Qa1`4h0SZjFmlJ4RAP6S%jE4 zS$U(b5|`ESoL;~?N`E<^Vn+6%_u9_{CoVg4QyoG6ExdkXY;(g#CqsfB22|VI+PGfd zgP!IS8{!fUAAYyL;QkO#g_GBT-U&KCR-z@?I}Uv>GT?#6hwfbD%@P_CO4q*7eN7u{ z${N}Cu_9;_v657-3)L7MF-%`4q#lsDrqf1HE`pT-h0@|OegK?*>?Ol$1uo5l zg&-&ust9uf2HX-^o>$EU79-g)&I?LImR86hM4k@ebIVFJrlxqL=uYz!xuyqHbU-6A zuKvd@dn06;tQ~UYZPbo2Li7BQ1uk?Qg~f})W^lz%^luPca-3t8@hTPdLF$eZ`ES9# zM@*7zv);YI562DnC)9-hbDo;Z@qfF_FQRpmA*DCx&SJ@kQtyMl=FF}gV$gRpbJ_S0 z+v)A@HlxiDbvDthtVKIdploU1(H=SI4pn`1b-pEW?+CI?eYXOBv!FRw;TlzK{SqsT z>=y&qmwp$dP$w%3{DG|j&6P?5W<1^kO?OQx;mFzFTYMDYZjdmPC&z&+jc`iQ(lNs< zDYreKrl+6vo-@IK*!K>Se-Ey?1`vWWDdG1z?LldXHt$uh*7N|~{~Kghv`R zBq~51aq8r}X6D;m#Qn5yTP1Kai|HTxM$Fb@n?Q0So^Tq9lCj2X=Qc!uBI!QH^R`Cv6{P# zaY$WMvHeoMx0!2IrfF8t924zyzbHWsR(P-~v)118ilEPU9}g!AKzxNW53n9-znJV> zlfVlhq!*F(7w;W9_J$*q{J5fjD;E{xaWc=ivCIUXWQxs;rSNq@90&ne8HA#)m1Oq- zhZ_sKx}Aq);8SzcYTxdoirf7Oq6?a7hf2^cTpV!o?2QQBD*jvwCXnDXn6GHA#G64G zl`LK6vINM`lXI7%V2;r}l=cT5YWTzdkG31XVRC@kx5hKV;UR?NT08vib2D^bjK>sf zc7OJaJI+kUddi4meB6bfF@rkQ^`YwbU4UEJ{`{VZ*tNL0GH{-6 zf3M^SV$$Bnu^2swgwOcbD80Dlu~QX2Y3GW_>*u5R_Ql16G1Z*Nv35THUQ2sstLJy5 zfKGoQS#LzhnGint$*{RHxs?z-OTYmowl>}YC}Phn&2h3&vqkM(BFWQmj9rd2LbpmK z_@$_teI)&~-U)FGJc{I0RTJ{;dCvjU=zRmNQVE6U?}4hNOkS(#Xvr_lfu zaBI>E1!tqTQlKqi2~vj1C?4hr)}&+!?GHCY_?c<-V1Fp@Z4JkKGB9`h%lKSca70%e zP2j*tTs61DXmO?yGIa%xFMt0N{K_QkG2xjchW*s$f+dK(Hx2vo{^ z?a2C6FOf_C=b+Y6XrB?8!c7F1-FvIC-2R5(L$Q4tSoJU4mJ&dH1o<0jTirwtc1P#?Y6!64+2EN2pUt@@yS`ENW=K;623 ze;JJB0b6vcH;b!d9CBJQWd}P-5Uy)`!p{0WZQ(l+e>1=R%~|A9(_c8zts z9)L_l@?cU~CMzXFrjvj;%Ze@q14wbKl-8uQzA$|IFB^Fz>n`p;NyW#cno^hwml zMSv-G{w^ZFnT)1vD3~C4>U;Gw9Et&3{e=`M2)w%7!o&+|3L>Bkd`hLc0q^WMp&Meo z0po_mPjVNBUX{Q03Hm2d>Y@c#OEO?~l{c4+C1{9}W% zOUaD#{Xud&!}S26YKklI?AGSZswQ&2`X_J?E$oy_Im$IcmQ!82lc^$EiJZD1$VW2z zS`SY~Moq#zsJc(3do;33iG?=yQ~yt=FV?$I2|UY9JqFhpy7RoLpo^_w&;>EVD(hcC zY1i6claBD2()Y&}V}gyVZmX_oK2CMUltM>JA|fMZRX`xtlSIBX>r?`e?Ui^M3Ilw` zSlaf%Ru;l||4EfkRz4D|p6eN}FWs+b#?H7oQt5iUrH*z@Lpn$g%t;1pj;}4viU#{3 zjP8;Va@|r~%T|pQpZC#)b0`uo+M+yqnQIa%D19ta2=F!eO-_bI!n*P&*frAb#fIcJ zAzeGIxK_pf=Shn5!(C%SZxAMhzf2CG)@1;Jc1uDQ-5W@1EY2#_6K#t^r7eKhP^PfQd9#v{>?5Zk2ix zmJ6F>(MWrkborz|7OwV6lu(E}n>X=z3P7uowW;94Us(00GK^0OJn_a5T%5C<19uLAOe8y;?`cSdDBDONW?v7T?xj_*>fpbx zb{X*-%T{08Za)o3V9pdPWL`jylN&Pt;(m}>03XjZ86%JC_&mVy8KVRoQUg`UM|@b* z7L*Nn&C{1>i9e6MoP>8#H^gV?!jXzIJ3@mb2fNqeID4fDpwac%-g>hFQ6c~iu-Zs2 zrji+Xm5?19$EjIKVpF#rNPzQ>jn?t+ZsLdnJ5jMd078e<1jgnxzgRg(B+svEAw(utb2CmuG@WH#T?xZ%+M0_iUJP zP~f)H%lk*U=yyo2wQHHFI zR{J!Cxhw5f=IlsJOKEb6lq4CI^)0GZRuY^(waNPcm>E{Hv4ItC9q|)r zzB&v`q(FKza&I=OT)sJ)&2d?snce6P^EMU%jzccvx9~X(Iv9(`2Id0at4pzzRf+Vp zqQdt$f5xtrYd9M2L41e@?##7(9+4(bht976Ai3#?Rdg3t(OunEw1nR*BrqjY z8|+(J{UX#sy$Z6`gH-31aEm1IATj}DtY)_>l6R2E6z2(A&v3kTb#Rg|&@Av?rj6gRgiRR2Yn2kx^jb7Li^okM1iPT`LL&6Qf-bRJS+|cy7YhGw{UF;>(_8? zPi}2#1#rGB2V8M6uKtjDviF}~abM%L$irZHB639|RLzg>-C#^6#edpjv%?a?Sl=rp zii6vhMCsKgkIv@grP4Cs>*(rMX5(;WwaY_F1vET>>i}~0>pan5us8(kMF;dCz|7m( zlSmgTo0-V#UQx?!Du+G+e-DVH#I|Oyx+^FISgY#hA;q!zGh&M6MN5N==VyW*WB1eqZjUm zlcMD)HMdO~9Yduyy@v)VrJZT8@i|BRzK+vu&${{!EwA*pgb3AEdeLY3oh)!kGyXvg z+%H0y)>h^)U53TS;mdm#OQYv#fTXR?17Zt_A+*hM%$t~z=T;uiW*x5D=O?;0SbK0D zQ(Ihs*gr4Awq1hLW~lCudWhBw8fA^}*R#hi=`=fVq_+*mv^UaJz|xGXhGr-4hCD=R zZuCm0p49Ml;!=`WCR^wlfKow1nvcb29RES^%GlGHB$%vS|EZ}%ecTJjbOAlL^b5nsd^1>wd{V1g8QhHz_#qr8-r0nFBKmkr{nQED~XNTR;< z<4jTG9YUCROi?@RBmEf#10_F$;D?Fe7`A1TvU2kiv|@>`BJ{JsA*%3J_mV*ayHI#W zEGj#Vzno1fX}LM!*O@@<%D?i=rTG6L7<;-3^*cOCgj7GO=tdIFy=0p+^Zm)if{N2-HuT7y=-_8TzFU=epoAMon(mDhs;|B)@}Ex`%zZ`~$=Jc^4`-f~iO zQP59I-W_W}i35uA0WdY40KUhhF%i3`%*p!Op&(GdZ`z3EJOovzGC3K&!ByygJ}SI_ z6#w}PveZx#o!UH--_nC}LCG7&iuc1iC4#vk&=`53dENf0G1$ZwpO63m>DOkagIcE9 b00FqP3B + + + + perf + http://www.kernel.org + + Ertuğrul Erata + ertugrulerata@gmail.com + + GPLv2 + app:gui +

Performance analyser tool that makes full use of the Linux performance counter subsystem + perf is a new tool which is used to optimize, validate and measure applications, workloads or the full system through the Linux performance counter subsystem. + https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.0.tar.gz + + gtk2-devel + unifdef + elfutils + diffutils + newt-devel + xmlto + asciidoc + pciutils-devel + numactl-devel + glibc-32bit + python-devel + slang-devel + glib2-devel + zlib-devel + perl + + + + patches/linux/patch-4.0.5.xz + + + + + perf + + newt + elfutils + gtk2 + numactl + libunwind + glibc-32bit + python + slang + glib2 + zlib + perl + + + /etc + /usr/bin + /usr/lib + /usr/libexec + /usr/include + /usr/share/man/ + + + + + 2015-06-16 + 4.0.5 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-22 + 3.19.8 + Version bump to 3.19.8 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-05 + 3.19.6 + Version bump to 3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 3.19.5 + Version bump to 3.19.5 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 3.19.4 + Version bump to 3.19.4 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-02 + 3.19.3 + Version Bump to 3.19.3 + Hakan Yıldız + hknyldz93@gmail.com + + + 2015-03-08 + 3.19.1 + Version bump to 3.19.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-01 + 3.19.0 + Version bump + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-28 + 3.18.3 + Version bump + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-01-08 + 3.18.1 + Version bump to 3.18.1 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.1 + security + + systemRestart + + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-11-28 + 3.17.4 + Version bump to 3.17.4 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.17.4 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-10-18 + 3.17.1 + Version bump to 3.17.1 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.17.1 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-09-19 + 3.16.3 + Version bump to 3.16.3 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.16.3 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-09-03 + 3.16.1 + Version bump to 3.16.1 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.16.1 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-07-24 + 3.15.6 + Version bump to 3.15.6 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.15.6 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-06-15 + 3.15.0 + Version bump to 3.15 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.15 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-27 + 3.14.4 + Version bump to 3.14.4 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.14.4 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-02 + 3.14.2 + Version bump to 3.14.2 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.14.2 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-04-15 + 3.13.10 + Version bump to 3.13.10 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.13.10 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-03-22 + 3.13.6 + Version bump to 3.13.6 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.13.6 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-03-01 + 3.12.13 + Version bump to 3.12.13 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.12.13 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-01-16 + 3.12.8 + Version bump to 3.12.8 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.12.8 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-12-17 + 3.12.5 + Add Maegia patch series and some cpu usage improvements. + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-12-12 + 3.12.5 + Version bump to 3.12.5 https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.12.5 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-23 + 3.10.20 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.20 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-05 + 3.10.18 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.18 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-10-07 + 3.10.15 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.15 + security + + systemRestart + + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-27 + 3.10.13 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.13 + security + + systemRestart + + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-15 + 3.10.12 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.12 + security + + systemRestart + + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-29 + 3.10.10 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.10 + security + + systemRestart + + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 3.10.9 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.9 + security + + systemRestart + + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-12 + 3.10.6 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.6 + security + + systemRestart + + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-11 + 3.10.5 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.5 + security + + systemRestart + + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-01 + 3.10.4 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.4 + security + + systemRestart + + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-07-17 + 3.10.2 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.2 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-07-17 + 3.10.1 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10.1 + security + + systemRestart + + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-07-04 + 3.10.0 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.10 + security + + systemRestart + + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-06-21 + 3.8.13 + Fix TSC calibration failure + security + + systemRestart + + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-15 + 3.8.13 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.13 + security + + systemRestart + + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-04-18 + 3.8.8 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.8 + security + + systemRestart + + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-03-31 + 3.8.5 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.5 + security + + systemRestart + + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-03-25 + 3.8.4 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.4 + security + + systemRestart + + Yoyo Fernández + admins@pisilinux.org + + + 2013-03-14 + 3.8.3 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.3 + security + + systemRestart + + Richard de Bruin + admins@pisilinux.org + + + 2013-03-06 + 3.8.2 + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.8.2 + security + + systemRestart + + Erdinç Gültekin + admins@pisilinux.org + + + 2013-03-03 + 3.8.1 + update to current line + security + + systemRestart + + Erdinç Gültekin + admins@pisilinux.org + + + 2013-02-22 + 3.8.0 + update to final line with patch + security + + systemRestart + + Erdinç Gültekin + admins@pisilinux.org + + + 2013-02-17 + 3.8.0 + obsoletemans wifi fixing + security + + systemRestart + + Erdinç Gültekin + admins@pisilinux.org + + + 2013-02-12 + 3.8.0 + bump to -rc7 + security + + systemRestart + + Erdinç Gültekin + admins@pisilinux.org + + + 2013-02-06 + 3.7.6 + http://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.7.6 + security + + systemRestart + + Erdinç Gültekin + admins@pisilinux.org + + + 2013-01-28 + 3.7.5 + http://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.7.5 + security + + systemRestart + + Erdinç Gültekin + admins@pisilinux.org + + + 2013-01-18 + 3.7.4 + http://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.7.4 + security + + systemRestart + + Erdinç Gültekin + admins@pisilinux.org + + + 2013-01-15 + 3.7.2 + First release + security + + systemRestart + + Erdinç Gültekin + admins@pisilinux.org + + + diff --git a/multimedia/graphics/jbigkit/actions.py b/multimedia/graphics/jbigkit/actions.py new file mode 100644 index 0000000000..5760fc26ae --- /dev/null +++ b/multimedia/graphics/jbigkit/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +WorkDir="jbigkit" + +def build(): + autotools.make("CC=%s CFLAGS='%s'" % (get.CC(), get.CFLAGS())) + +def check(): + autotools.make("test") + +def install(): + autotools.rawInstall("DESTDIR=%s prefix=/usr libdir=/usr/lib" % get.installDIR()) + + pisitools.doman("pbmtools/jbgtopbm.1", "pbmtools/pbmtojbg.1") + pisitools.dodoc("ANNOUNCE", "CHANGES", "COPYING", "TODO") diff --git a/multimedia/graphics/jbigkit/files/jbigkit-2.0-shared.diff b/multimedia/graphics/jbigkit/files/jbigkit-2.0-shared.diff new file mode 100644 index 0000000000..d0598e4310 --- /dev/null +++ b/multimedia/graphics/jbigkit/files/jbigkit-2.0-shared.diff @@ -0,0 +1,186 @@ +diff -Naur jbigkit/libjbig/Makefile jbigkit.oden/libjbig/Makefile +--- jbigkit/libjbig/Makefile 2008-08-30 19:20:52.000000000 +0200 ++++ jbigkit.oden/libjbig/Makefile 2009-01-31 20:12:02.000000000 +0100 +@@ -3,27 +3,51 @@ + + # Select an ANSI/ISO C compiler here, GNU gcc is recommended + CC = gcc ++CFLAGS = -g -O2 -Wall -ansi -pedantic -fPIC # --coverage ++LDFLAGS = + +-# Options for the compiler: A high optimization level is suggested +-CFLAGS = -g -O -Wall -ansi -pedantic # --coverage +- +-all: libjbig.a tstcodec tstcodec85 +- +-tstcodec: tstcodec.o jbig.o jbig_ar.o +- $(CC) $(CFLAGS) -o tstcodec $+ +- +-tstcodec85: tstcodec85.o jbig85.o jbig_ar.o +- $(CC) $(CFLAGS) -o tstcodec85 $+ +- +-libjbig.a: jbig.o jbig_ar.o +- rm -f libjbig.a +- ar rc libjbig.a jbig.o jbig_ar.o +- -ranlib libjbig.a +- +-libjbig85.a: jbig85.o jbig_ar.o +- rm -f libjbig85.a +- ar rc libjbig85.a jbig85.o jbig_ar.o +- -ranlib libjbig85.a ++prefix=/usr/local ++libdir=$(prefix)/lib ++includedir=$(prefix)/include ++bindir=$(prefix)/bin ++mandir=$(prefix)/share/man ++ ++LT_CURRENT=1 ++LT_REVISION=0 ++LT_AGE=0 ++ ++all: libjbig.la libjbig85.la tstcodec tstcodec85 ++ ++tstcodec: tstcodec.o libjbig.la ++ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) \ ++ -o tstcodec tstcodec.o libjbig.la ++ ++tstcodec85: tstcodec85.o libjbig85.la ++ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) \ ++ -o tstcodec85 tstcodec85.o libjbig85.la ++ ++%.lo: %.c ++ libtool --mode=compile --tag=CC $(CC) $(CFLAGS) -c $*.c ++ ++libjbig.la: jbig.lo jbig_ar.lo ++ libtool --mode=link --tag=CC $(CC) $(LDFLAGS) \ ++ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ ++ -o libjbig.la jbig.lo jbig_ar.lo -rpath $(libdir) ++ ++libjbig85.la: jbig85.lo jbig_ar.lo ++ libtool --mode=link --tag=CC $(CC) $(LDFLAGS) \ ++ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \ ++ -o libjbig85.la jbig85.lo jbig_ar.lo -rpath $(libdir) ++ ++jbig.lo: jbig.c jbig.h ++jbig85.lo: jbig85.c jbig.h ++ ++install: ++ install -m0755 -d $(DESTDIR)$(libdir) ++ install -m0755 -d $(DESTDIR)$(includedir) ++ libtool --mode=install install libjbig.la $(DESTDIR)$(libdir) ++ libtool --mode=install install libjbig85.la $(DESTDIR)$(libdir) ++ install -m0644 jbig85.h jbig_ar.h jbig.h $(DESTDIR)$(includedir) + + jbig.o: jbig.c jbig.h jbig_ar.h + jbig85.o: jbig85.c jbig85.h jbig_ar.h +@@ -46,3 +70,5 @@ + clean: + rm -f *.{o,gcda,gcno,gcov} *~ core gmon.out dbg_d\=??.pbm t82test.pbm + rm -f tstcodec tstcodec85 ++ rm -rf .libs ++ rm -f *.*o *.*a +diff -Naur jbigkit/Makefile jbigkit.oden/Makefile +--- jbigkit/Makefile 2008-08-30 22:40:22.000000000 +0200 ++++ jbigkit.oden/Makefile 2009-01-31 20:11:24.000000000 +0100 +@@ -10,8 +10,6 @@ + + CFLAGS = $(CCFLAGS) -I../libjbig + +-VERSION=2.0 +- + all: lib pbm + @echo "Enter 'make test' in order to start some automatic tests." + +@@ -25,6 +23,10 @@ + (cd libjbig; make "CC=$(CC)" "CFLAGS=$(CFLAGS)" test) + (cd pbmtools; make "CC=$(CC)" "CFLAGS=$(CFLAGS)" test) + ++install: ++ make -C libjbig install ++ make -C pbmtools install ++ + clean: + rm -f *~ core + (cd libjbig; make clean) +diff -Naur jbigkit/pbmtools/Makefile jbigkit.oden/pbmtools/Makefile +--- jbigkit/pbmtools/Makefile 2008-08-26 00:26:39.000000000 +0200 ++++ jbigkit.oden/pbmtools/Makefile 2009-01-31 20:11:24.000000000 +0100 +@@ -5,37 +5,50 @@ + CC = gcc + + # Options for the compiler +-CFLAGS = -g -Wall -ansi -pedantic -I../libjbig # --coverage ++CFLAGS = -g -Wall -ansi -pedantic -fPIC # --coverage ++CPPFLAGS = -I../libjbig ++LDFLAGS = ++ ++prefix=/usr/local ++libdir=$(prefix)/lib ++includedir=$(prefix)/include ++bindir=$(prefix)/bin ++mandir=$(prefix)/share/man + + .SUFFIXES: .1 .5 .txt $(SUFFIXES) + + all: pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 \ + pbmtojbg.txt jbgtopbm.txt pbm.txt pgm.txt + +-pbmtojbg: pbmtojbg.o ../libjbig/libjbig.a +- $(CC) $(CFLAGS) -o pbmtojbg pbmtojbg.o -L../libjbig -ljbig +- +-jbgtopbm: jbgtopbm.o ../libjbig/libjbig.a +- $(CC) $(CFLAGS) -o jbgtopbm jbgtopbm.o -L../libjbig -ljbig +- +-pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.a +- $(CC) $(CFLAGS) -o pbmtojbg85 pbmtojbg85.o -L../libjbig -ljbig85 +- +-jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.a +- $(CC) $(CFLAGS) -o jbgtopbm85 jbgtopbm85.o -L../libjbig -ljbig85 ++pbmtojbg: pbmtojbg.o ../libjbig/libjbig.la ++ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \ ++ -o pbmtojbg pbmtojbg.o ../libjbig/libjbig.la ++ ++jbgtopbm: jbgtopbm.o ../libjbig/libjbig.la ++ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \ ++ -o jbgtopbm jbgtopbm.o ../libjbig/libjbig.la ++ ++pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.la ++ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \ ++ -o pbmtojbg85 pbmtojbg85.o ../libjbig/libjbig85.la ++ ++jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.la ++ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \ ++ -o jbgtopbm85 jbgtopbm85.o ../libjbig/libjbig85.la + + jbgtopbm.o: jbgtopbm.c ../libjbig/jbig.h + pbmtojbg.o: pbmtojbg.c ../libjbig/jbig.h + jbgtopbm85.o: jbgtopbm85.c ../libjbig/jbig85.h + pbmtojbg85.o: pbmtojbg85.c ../libjbig/jbig85.h + +-../libjbig/libjbig.a: ../libjbig/jbig.c ../libjbig/jbig.h \ +- ../libjbig/jbig_ar.c ../libjbig/jbig_ar.h +- make -C ../libjbig libjbig.a +- +-../libjbig/libjbig85.a: ../libjbig/jbig85.c ../libjbig/jbig85.h \ +- ../libjbig/jbig_ar.c ../libjbig/jbig_ar.h +- make -C ../libjbig libjbig85.a ++install: ++ install -m0755 -d $(DESTDIR)$(bindir) ++ install -m0755 -d $(DESTDIR)$(mandir)/man1 ++ install -m0755 -d $(DESTDIR)$(mandir)/man5 ++ libtool --mode=install install pbmtojbg jbgtopbm \ ++ pbmtojbg85 jbgtopbm85 $(DESTDIR)$(bindir) ++ install -m0644 pbmtojbg.1 jbgtopbm.1 $(DESTDIR)$(mandir)/man1 ++ install -m0644 pbm.5 pgm.5 $(DESTDIR)$(mandir)/man5 + + test: test82 test85 + +@@ -149,6 +162,7 @@ + groff -man -Tascii -P -c -P -b -P -u $< >$@ + + clean: +- rm -f *.o *~ core pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 ++ rm -f *.*o *.*a *~ core pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 + rm -f test-*.jbg test-*.pbm test-*.pgm test-*.jbg85 test-*.pbm85 + rm -f *.gcda *.gcno ++ rm -rf .libs diff --git a/multimedia/graphics/jbigkit/pspec.xml b/multimedia/graphics/jbigkit/pspec.xml new file mode 100644 index 0000000000..73cfd7c99e --- /dev/null +++ b/multimedia/graphics/jbigkit/pspec.xml @@ -0,0 +1,66 @@ + + + + + jbigkit + http://www.cl.cam.ac.uk/~mgk25/jbigkit/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + app:console + A portable library of compression and decompression functions + JBIG-KIT implements a highly effective data compression algorithm for bi-level high-resolution images such as fax pages or scanned documents. + http://www.cl.cam.ac.uk/~mgk25/download/jbigkit-2.0.tar.gz + + jbigkit-2.0-shared.diff + + + + + jbigkit + + /usr/share/doc + /usr/share/man + /usr/bin + /usr/lib + + + + + jbigkit-devel + Development files for jbigkit + + jbigkit + + + /usr/include + + + + + + 2014-05-19 + 2.0 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-01-27 + 2.0 + Rebuild + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2010-10-12 + 2.0 + First release + Pisi Linux Admins + admins@pisilinux.org + + + diff --git a/multimedia/graphics/jbigkit/translations.xml b/multimedia/graphics/jbigkit/translations.xml new file mode 100644 index 0000000000..e7e5f9c5cc --- /dev/null +++ b/multimedia/graphics/jbigkit/translations.xml @@ -0,0 +1,13 @@ + + + + jbigkit + Taşınabilir bir sıkıştırma kitaplığı + jbigkit, faks sayfaları ve taranmış belgeler gibi yüksek çözünürlüklü görüntüler için, yüksek performanslı bir sıkıştırma kitaplığıdır. + + + + jbigkit-devel + jbigkit için geliştirme dosyaları + + diff --git a/multimedia/graphics/lcms2/actions.py b/multimedia/graphics/lcms2/actions.py new file mode 100644 index 0000000000..326e552f87 --- /dev/null +++ b/multimedia/graphics/lcms2/actions.py @@ -0,0 +1,27 @@ +#!/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(): + autotools.configure("--disable-dependency-tracking \ + --disable-static \ + --with-jpeg \ + --with-tiff \ + --with-zlib \ + --libdir=/usr/lib%s \ + " % ("32" if get.buildTYPE() == "emul32" else "")) + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "README.1ST") diff --git a/multimedia/graphics/lcms2/pspec.xml b/multimedia/graphics/lcms2/pspec.xml new file mode 100644 index 0000000000..6ac7654dcf --- /dev/null +++ b/multimedia/graphics/lcms2/pspec.xml @@ -0,0 +1,98 @@ + + + + + lcms2 + http://www.littlecms.com + + PisiLinux Community + admins@pisilinux.org + + MIT + app:console + library + A color management library. + Little cms is a color management library. Implements fast transforms between ICC profiles. It is focused on speed, and is portable across several platforms. + http://sourceforge.net/projects/lcms/files/lcms/2.6/lcms2-2.6.tar.gz + + libjpeg-turbo-devel + tiff-devel + + + + + lcms2 + + libjpeg-turbo + tiff + + + /usr/bin + /usr/lib + /usr/share/lcms/ + /usr/share/man + /usr/share/doc + + + + + lcms2-devel + Development files for lcms2 + + lcms2 + + + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/include + + + + + lcms2-32bit + 32-bit shared libraries for lcms2 + emul32 + + tiff-32bit + libjpeg-turbo-32bit + + + lcms2 + glibc-32bit + + + /usr/lib32 + + + + + + 2014-05-15 + 2.6 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-01-29 + 2.5 + Rebuild + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2013-07-02 + 2.5 + Version bump + Marcin Bojara + marcin@pisilinux.org + + + 2012-10-31 + 2.3 + First release + Marcin Bojara + marcin@pisilinux.org + + + diff --git a/multimedia/graphics/lcms2/translations.xml b/multimedia/graphics/lcms2/translations.xml new file mode 100644 index 0000000000..4c3d013f41 --- /dev/null +++ b/multimedia/graphics/lcms2/translations.xml @@ -0,0 +1,9 @@ + + + + lcms + Hız geliştirmesi yapılmış, hafif bir renk yönetim motoru + Moteur de gestion de couleurs léger et optimisé pour la vitesse. + Biblioteka do konwersji między profilami kolorów. + + \ No newline at end of file diff --git a/multimedia/graphics/libjpeg-turbo/pspec.xml b/multimedia/graphics/libjpeg-turbo/pspec.xml index 087f15ac97..588011af0f 100644 --- a/multimedia/graphics/libjpeg-turbo/pspec.xml +++ b/multimedia/graphics/libjpeg-turbo/pspec.xml @@ -51,7 +51,11 @@ emul32 32-bit shared libraries for jpeg emul32 + + glibc-32bit + + glibc-32bit libjpeg-turbo diff --git a/multimedia/graphics/tiff/pspec.xml b/multimedia/graphics/tiff/pspec.xml index 3dc29b051f..a2f0f119ab 100644 --- a/multimedia/graphics/tiff/pspec.xml +++ b/multimedia/graphics/tiff/pspec.xml @@ -67,8 +67,8 @@ tiff libjpeg-turbo-32bit - xz-32bit - zlib-32bit + glibc-32bit + libgcc /usr/lib32 diff --git a/office/component.xml b/office/component.xml new file mode 100644 index 0000000000..4f9c1eb549 --- /dev/null +++ b/office/component.xml @@ -0,0 +1,3 @@ + + office + diff --git a/office/postscript/component.xml b/office/postscript/component.xml new file mode 100644 index 0000000000..6dd44fff51 --- /dev/null +++ b/office/postscript/component.xml @@ -0,0 +1,3 @@ + + office.postscript + diff --git a/office/postscript/ghostscript/actions.py b/office/postscript/ghostscript/actions.py new file mode 100644 index 0000000000..f42f80ddef --- /dev/null +++ b/office/postscript/ghostscript/actions.py @@ -0,0 +1,60 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +def setup(): + # Remove local copies for system libs + for directory in ["cups/libs", "expat", "freetype", "jpeg", "lcms", "lcms2", "libpng", "openjpeg", "tiff", "zlib"]: + shelltools.unlinkDir(directory) + + #pisitools.flags.add("-fno-strict-aliasing") + + autotools.autoreconf("-fi") + + options = "--disable-compile-inits \ + --disable-gtk \ + --enable-dynamic \ + --with-system-libtiff \ + --with-ijs \ + --with-drivers=ALL \ + --with-libpaper \ + --with-jbig2dec \ + --enable-fontconfig \ + --enable-freetype \ + --without-luratech \ + --with-system-libtiff \ + --without-omni \ + --with-x \ + --with-fontpath=/usr/share/fonts:/usr/share/fonts/default/ghostscript:/usr/share/cups/fonts:/usr/share/fonts/TTF:/usr/share/fonts/Type1:/usr/share/poppler/cMap/*" + options += " --disable-cups --includedir=/usr/include --libdir=/usr/lib32" if get.buildTYPE() == "emul32" else " --enable-cups --with-install-cups" + + autotools.configure(options) + + shelltools.cd("ijs/") + pisitools.dosed("configure.ac", "AM_PROG_CC_STDC", "AC_PROG_CC") + shelltools.system("./autogen.sh \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --disable-static \ + --enable-shared") + +def build(): + autotools.make("-C ijs") + autotools.make("so") + autotools.make("-j1") + if not get.buildTYPE() == "emul32": autotools.make("cups") + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + autotools.rawInstall("DESTDIR=%s" % get.installDIR(), "soinstall") + if not get.buildTYPE() == "emul32": autotools.rawInstall("-C ijs DESTDIR=%s" % get.installDIR()) + + pisitools.dohtml("doc/*") + pisitools.dodoc("doc/AUTHORS", "doc/COPYING") diff --git a/office/postscript/ghostscript/files/fedora/ghostscript-Fontmap.local.patch b/office/postscript/ghostscript/files/fedora/ghostscript-Fontmap.local.patch new file mode 100644 index 0000000000..3d1fee2560 --- /dev/null +++ b/office/postscript/ghostscript/files/fedora/ghostscript-Fontmap.local.patch @@ -0,0 +1,9 @@ +diff -up ghostscript-8.71/Resource/Init/Fontmap.Fontmap.local ghostscript-8.71/Resource/Init/Fontmap +--- ghostscript-8.71/Resource/Init/Fontmap.Fontmap.local 2008-08-08 05:22:38.000000000 +0100 ++++ ghostscript-8.71/Resource/Init/Fontmap 2010-09-03 11:53:47.273865979 +0100 +@@ -2,3 +2,5 @@ + % See Fontmap.GS for the syntax of real Fontmap files. + %% Replace 1 (Fontmap.GS) + (Fontmap.GS) .runlibfile ++% must be at the bottom of line to allow people overriding everything. ++(Fontmap.local) .runlibfileifexists diff --git a/office/postscript/ghostscript/files/fedora/ghostscript-gdevcups-debug-uninit.patch b/office/postscript/ghostscript/files/fedora/ghostscript-gdevcups-debug-uninit.patch new file mode 100644 index 0000000000..9122d1fc95 --- /dev/null +++ b/office/postscript/ghostscript/files/fedora/ghostscript-gdevcups-debug-uninit.patch @@ -0,0 +1,11 @@ +diff -up ghostscript-9.07/cups/gdevcups.c.gdevcups-debug-uninit ghostscript-9.07/cups/gdevcups.c +--- ghostscript-9.07/cups/gdevcups.c.gdevcups-debug-uninit 2013-02-14 07:58:16.000000000 +0000 ++++ ghostscript-9.07/cups/gdevcups.c 2013-02-14 17:16:59.677951232 +0000 +@@ -830,6 +830,7 @@ cups_get_matrix(gx_device *pdev, /* I - + dmprintf4(pdev->memory, "DEBUG2: PageSize = [ %d %d ], HWResolution = [ %d %d ]\n", + cups->header.PageSize[0], cups->header.PageSize[1], + cups->header.HWResolution[0], cups->header.HWResolution[1]); ++ if (size_set) + dmprintf4(pdev->memory, "DEBUG2: HWMargins = [ %.3f %.3f %.3f %.3f ]\n", + pdev->HWMargins[0], pdev->HWMargins[1], pdev->HWMargins[2], + pdev->HWMargins[3]); diff --git a/office/postscript/ghostscript/files/fedora/ghostscript-gs694154.patch b/office/postscript/ghostscript/files/fedora/ghostscript-gs694154.patch new file mode 100644 index 0000000000..248aebbbe7 --- /dev/null +++ b/office/postscript/ghostscript/files/fedora/ghostscript-gs694154.patch @@ -0,0 +1,12 @@ +diff -up ghostscript-9.12/base/gsicc.c.gs694154 ghostscript-9.12/base/gsicc.c +--- ghostscript-9.12/base/gsicc.c.gs694154 2014-03-25 08:52:16.000000000 +0000 ++++ ghostscript-9.12/base/gsicc.c 2014-03-26 11:32:31.406034840 +0000 +@@ -468,6 +468,8 @@ gx_remap_ICC_imagelab(const gs_client_co + cmm_dev_profile_t *dev_profile; + + code = dev_proc(dev, get_profile)(dev, &dev_profile); ++ if (dev_profile == NULL) ++ return gs_throw(gs_error_Fatal, "Attempting to do ICC remap with no profile"); + num_des_comps = gsicc_get_device_profile_comps(dev_profile); + rendering_params.black_point_comp = pis->blackptcomp; + rendering_params.graphics_type_tag = dev->graphics_type_tag; diff --git a/office/postscript/ghostscript/files/fedora/ghostscript-icc-missing-check.patch b/office/postscript/ghostscript/files/fedora/ghostscript-icc-missing-check.patch new file mode 100644 index 0000000000..9b9109ae37 --- /dev/null +++ b/office/postscript/ghostscript/files/fedora/ghostscript-icc-missing-check.patch @@ -0,0 +1,12 @@ +diff -up ghostscript-9.12/base/gsicc_manage.c.icc-missing-check ghostscript-9.12/base/gsicc_manage.c +--- ghostscript-9.12/base/gsicc_manage.c.icc-missing-check 2014-03-26 11:31:11.296570797 +0000 ++++ ghostscript-9.12/base/gsicc_manage.c 2014-03-26 11:32:10.384912584 +0000 +@@ -613,6 +613,8 @@ gsicc_set_srcgtag_struct(gsicc_manager_t + icc_profile = + gsicc_profile_new(str, mem, curr_ptr, strlen(curr_ptr)); + code = sfclose(str); ++ } ++ if (str != NULL && icc_profile != NULL) { + gsicc_init_profile_info(icc_profile); + cmm = gsCMM_DEFAULT; + /* Check if this object is a devicelink profile. diff --git a/office/postscript/ghostscript/files/fedora/ghostscript-iccprofiles-initdir.patch b/office/postscript/ghostscript/files/fedora/ghostscript-iccprofiles-initdir.patch new file mode 100644 index 0000000000..b47511ced6 --- /dev/null +++ b/office/postscript/ghostscript/files/fedora/ghostscript-iccprofiles-initdir.patch @@ -0,0 +1,35 @@ +diff -up ghostscript-9.06/base/gsicc_manage.c.iccprofiles-initdir ghostscript-9.06/base/gsicc_manage.c +--- ghostscript-9.06/base/gsicc_manage.c.iccprofiles-initdir 2012-08-09 13:58:22.102364807 +0100 ++++ ghostscript-9.06/base/gsicc_manage.c 2012-08-09 14:09:24.495864641 +0100 +@@ -38,6 +38,7 @@ + #include "gsicc_create.h" + #include "gpmisc.h" + #include "gxdevice.h" ++#include "gxiodev.h" + + #define ICC_HEADER_SIZE 128 + +@@ -2176,8 +2177,21 @@ gs_currenticcdirectory(const gs_state * + const gs_lib_ctx_t *lib_ctx = pgs->memory->gs_lib_ctx; + + if (lib_ctx->profiledir == NULL) { +- pval->data = (const byte *)rfs; +- pval->size = strlen(rfs); ++ int have_rom_device = 0; ++ int i; ++ ++ for (i = 0; i < gx_io_device_table_count; i++) { ++ const gx_io_device *iodev = lib_ctx->io_device_table[i]; ++ const char *dname = iodev->dname; ++ ++ if (dname && strlen(dname) == 5 && !memcmp("%rom%", dname, 5)) { ++ have_rom_device = 1; ++ break; ++ } ++ } ++ ++ pval->data = (const byte *)(have_rom_device ? rfs : ""); ++ pval->size = strlen((const char *)pval->data); + pval->persistent = true; + } else { + pval->data = (const byte *)(lib_ctx->profiledir); diff --git a/office/postscript/ghostscript/files/fedora/ghostscript-multilib.patch b/office/postscript/ghostscript/files/fedora/ghostscript-multilib.patch new file mode 100644 index 0000000000..27bf5e663a --- /dev/null +++ b/office/postscript/ghostscript/files/fedora/ghostscript-multilib.patch @@ -0,0 +1,14 @@ +diff -up ghostscript-8.61/ijs/Makefile.am.multilib ghostscript-8.61/ijs/Makefile.am +diff -up ghostscript-8.61/ijs/ijs-config.in.multilib ghostscript-8.61/ijs/ijs-config.in +--- ghostscript-8.61/ijs/ijs-config.in.multilib 2002-01-31 19:09:46.000000000 +0000 ++++ ghostscript-8.61/ijs/ijs-config.in 2007-11-23 09:19:18.000000000 +0000 +@@ -43,8 +43,7 @@ while test $# -gt 0; do + echo $includes + ;; + --libs) +- libdirs=-L@libdir@ +- echo $libdirs -lijs ++ echo -lijs + ;; + *) + echo "${usage}" 1>&2 diff --git a/office/postscript/ghostscript/files/fedora/ghostscript-noopt.patch b/office/postscript/ghostscript/files/fedora/ghostscript-noopt.patch new file mode 100644 index 0000000000..589cf822b5 --- /dev/null +++ b/office/postscript/ghostscript/files/fedora/ghostscript-noopt.patch @@ -0,0 +1,12 @@ +diff -up ghostscript-8.64/psi/int.mak.noopt ghostscript-8.64/psi/int.mak +--- ghostscript-8.64/psi/int.mak.noopt 2008-12-26 07:25:31.000000000 +0000 ++++ ghostscript-8.64/psi/int.mak 2009-02-04 11:33:48.000000000 +0000 +@@ -111,7 +111,7 @@ $(PSOBJ)igc.$(OBJ) : $(PSSRC)igc.c $(GH) + $(PSOBJ)igcref.$(OBJ) : $(PSSRC)igcref.c $(GH) $(memory__h)\ + $(gsexit_h) $(gsstruct_h)\ + $(iastate_h) $(idebug_h) $(igc_h) $(iname_h) $(ipacked_h) $(store_h) +- $(PSCC) $(PSO_)igcref.$(OBJ) $(C_) $(PSSRC)igcref.c ++ $(PSCC) -O0 $(PSO_)igcref.$(OBJ) $(C_) $(PSSRC)igcref.c + + $(PSOBJ)igcstr.$(OBJ) : $(PSSRC)igcstr.c $(GH) $(memory__h)\ + $(gsmdebug_h) $(gsstruct_h) $(iastate_h) $(igcstr_h) diff --git a/office/postscript/ghostscript/files/fedora/ghostscript-runlibfileifexists.patch b/office/postscript/ghostscript/files/fedora/ghostscript-runlibfileifexists.patch new file mode 100644 index 0000000000..03b731c5d3 --- /dev/null +++ b/office/postscript/ghostscript/files/fedora/ghostscript-runlibfileifexists.patch @@ -0,0 +1,52 @@ +diff -up ghostscript-9.12/Resource/Init/gs_fonts.ps.runlibfileifexists ghostscript-9.12/Resource/Init/gs_fonts.ps +--- ghostscript-9.12/Resource/Init/gs_fonts.ps.runlibfileifexists 2014-03-25 08:52:16.000000000 +0000 ++++ ghostscript-9.12/Resource/Init/gs_fonts.ps 2014-03-26 12:01:48.248748767 +0000 +@@ -95,10 +95,19 @@ userdict /Fontmap .FontDirectory maxleng + % stack: dict file fontname filename|aliasname + 1 index type /stringtype eq + 1 index type /nametype eq and 1 index xcheck and +- 1 index /run eq 2 index /.runlibfile eq or and { ++ 1 index /run eq 2 index /.runlibfile eq 3 index /.runlibfileifexists eq or or and { + % This is an inclusion entry. +- pop findlibfile { exch pop } { file } ifelse +- 2 index exch .readFontmap pop ++ 0 index /.runlibfileifexists eq { ++ pop findlibfile { ++ exch pop ++ 2 index exch .readFontmap pop ++ } { ++ pop ++ } ifelse ++ } { ++ pop findlibfile { exch pop } { file } ifelse ++ 2 index exch .readFontmap pop ++ } ifelse + } { + % This is a real entry. + % Read and pop tokens until a semicolon. +diff -up ghostscript-9.12/Resource/Init/gs_init.ps.runlibfileifexists ghostscript-9.12/Resource/Init/gs_init.ps +--- ghostscript-9.12/Resource/Init/gs_init.ps.runlibfileifexists 2014-03-25 08:52:16.000000000 +0000 ++++ ghostscript-9.12/Resource/Init/gs_init.ps 2014-03-26 12:01:48.248748767 +0000 +@@ -681,6 +681,14 @@ systemdict /internaldict dup .makeintern + { /undefinedfilename signalerror } + ifelse + } bind def ++/runlibfileifexists ++ { % We don't want to bind 'run' into this procedure, ++ % since run may get redefined. ++ findlibfile ++ { exch pop /run .systemvar exec } ++ { pop } ++ ifelse ++ } bind def + /selectdevice + { finddevice setdevice .setdefaultscreen } bind def + /signalerror % signalerror - +@@ -849,6 +857,7 @@ userdict /.currentresourcefile //null pu + } bind def + % Temporarily substitute it for the real runlibfile. + /.runlibfile /runlibfile load def ++/.runlibfileifexists /runlibfileifexists load def + /runlibfile /runlibfile0 load def + + % Create the error handling machinery. diff --git a/office/postscript/ghostscript/files/fedora/ghostscript-scripts.patch b/office/postscript/ghostscript/files/fedora/ghostscript-scripts.patch new file mode 100644 index 0000000000..2f050c26ab --- /dev/null +++ b/office/postscript/ghostscript/files/fedora/ghostscript-scripts.patch @@ -0,0 +1,10 @@ +diff -up ghostscript-9.00/lib/dvipdf.scripts ghostscript-9.00/lib/dvipdf +--- ghostscript-9.00/lib/dvipdf.scripts 2010-06-03 01:32:07.000000000 +0100 ++++ ghostscript-9.00/lib/dvipdf 2010-09-23 09:56:35.592796899 +0100 +@@ -44,4 +44,4 @@ fi + + # We have to include the options twice because -I only takes effect if it + # appears before other options. +-exec dvips -Ppdf $DVIPSOPTIONS -q -f "$infile" | $GS_EXECUTABLE $OPTIONS -q -P- -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile="$outfile" $OPTIONS -c .setpdfwrite - ++exec dvips -R -Ppdf $DVIPSOPTIONS -q -f "$infile" | $GS_EXECUTABLE $OPTIONS -q -P- -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile="$outfile" $OPTIONS -c .setpdfwrite - + diff --git a/office/postscript/ghostscript/files/fedora/ghostscript-sys-zlib.patch b/office/postscript/ghostscript/files/fedora/ghostscript-sys-zlib.patch new file mode 100644 index 0000000000..d33895a678 --- /dev/null +++ b/office/postscript/ghostscript/files/fedora/ghostscript-sys-zlib.patch @@ -0,0 +1,24 @@ +diff -up ghostscript-9.12/configure.ac.sys-zlib ghostscript-9.12/configure.ac +--- ghostscript-9.12/configure.ac.sys-zlib 2014-03-26 11:48:54.983972222 +0000 ++++ ghostscript-9.12/configure.ac 2014-03-26 11:49:36.807230531 +0000 +@@ -854,7 +854,7 @@ AC_MSG_CHECKING([for local zlib source]) + dnl zlib is needed for language level 3, and libpng + # we must define ZLIBDIR regardless because png.mak does a -I$(ZLIBDIR) + # this seems a harmless default +-ZLIBDIR=src ++ZLIBDIR=$includedir + AUX_SHARED_ZLIB= + + if test -d $srcdir/zlib; then +diff -up ghostscript-9.12/configure.sys-zlib ghostscript-9.12/configure +--- ghostscript-9.12/configure.sys-zlib 2014-03-26 11:49:45.547284521 +0000 ++++ ghostscript-9.12/configure 2014-03-26 11:49:56.171350127 +0000 +@@ -6254,7 +6254,7 @@ fi + $as_echo_n "checking for local zlib source... " >&6; } + # we must define ZLIBDIR regardless because png.mak does a -I$(ZLIBDIR) + # this seems a harmless default +-ZLIBDIR=src ++ZLIBDIR=$includedir + AUX_SHARED_ZLIB= + + if test -d $srcdir/zlib; then diff --git a/office/postscript/ghostscript/files/fedora/ghostscript-wrf-snprintf.patch b/office/postscript/ghostscript/files/fedora/ghostscript-wrf-snprintf.patch new file mode 100644 index 0000000000..74d8c2a5c6 --- /dev/null +++ b/office/postscript/ghostscript/files/fedora/ghostscript-wrf-snprintf.patch @@ -0,0 +1,22 @@ +diff -up ghostscript-9.07/base/wrfont.c.wrf-snprintf ghostscript-9.07/base/wrfont.c +--- ghostscript-9.07/base/wrfont.c.wrf-snprintf 2013-07-01 13:02:33.373244683 +0100 ++++ ghostscript-9.07/base/wrfont.c 2013-07-01 13:04:55.022864299 +0100 +@@ -72,7 +72,8 @@ WRF_wfloat(WRF_output * a_output, double + { + char buffer[32]; + +- gs_sprintf(buffer, "%f", a_float); ++ if (gs_snprintf(buffer, sizeof (buffer), "%f", a_float) >= sizeof (buffer)) ++ abort(); + WRF_wstring(a_output, buffer); + } + +@@ -81,6 +82,7 @@ WRF_wint(WRF_output * a_output, long a_i + { + char buffer[32]; + +- gs_sprintf(buffer, "%ld", a_int); ++ if (gs_snprintf(buffer, sizeof (buffer), "%ld", a_int) >= sizeof (buffer)) ++ abort(); + WRF_wstring(a_output, buffer); + } diff --git a/office/postscript/ghostscript/files/ubuntu/02_gs-man-fix-for-debian.patch b/office/postscript/ghostscript/files/ubuntu/02_gs-man-fix-for-debian.patch new file mode 100644 index 0000000000..8711ed8daa --- /dev/null +++ b/office/postscript/ghostscript/files/ubuntu/02_gs-man-fix-for-debian.patch @@ -0,0 +1,37 @@ +diff -urNad ghostscript-8.64.dfsg.1~svn9323~/man/gs.1 ghostscript-8.64.dfsg.1~svn9323/man/gs.1 +--- ghostscript-8.64.dfsg.1~svn9323~/man/gs.1 2009-01-05 19:08:07.000000000 +0900 ++++ ghostscript-8.64.dfsg.1~svn9323/man/gs.1 2009-01-05 19:50:58.000000000 +0900 +@@ -295,18 +295,18 @@ + are typically based in \fBC:\\GS\fR, but may be elsewhere, especially if + you install Ghostscript with \fBGSview\fR. Run "\fBgs -h\fR" to find the + location of Ghostscript documentation on your system, from which you can +-get more details. ++get more details. On a Pisi Linux system they are in \fB/usr\fR. + .TP +-.B /usr/local/share/ghostscript/#.##/* ++.B /usr/share/ghostscript/#.##/* + Startup files, utilities, and basic font definitions + .TP +-.B /usr/local/share/ghostscript/fonts/* ++.B /usr/share/fonts/type1/gsfonts/* + More font definitions + .TP +-.B /usr/local/share/ghostscript/#.##/examples/* ++.B /usr/share/doc/ghostscript/examples/* + Ghostscript demonstration files + .TP +-.B /usr/local/share/ghostscript/#.##/doc/* ++.B /usr/share/doc/ghostscript/* + Diverse document files + .SH "INITIALIZATION FILES" + When looking for the initialization files "gs_*.ps", the files related to +@@ -330,7 +330,8 @@ + Ghostscript makefile when the executable was built. When \fBgs\fR is built + on Unix, \fBGS_LIB_DEFAULT\fR is usually + "/usr/local/share/ghostscript/#.##:/usr/local/share/ghostscript/fonts" +-where "#.##" represents the Ghostscript version number. ++where "#.##" represents the Ghostscript version number. They are ++"/usr/share/ghostscript/#.##" on a Debian system. + .PP + Each of these (\fBGS_LIB_DEFAULT\fR, \fBGS_LIB\fR, and \fB\-I\fR parameter) + may be either a single directory or a list of directories separated by diff --git a/office/postscript/ghostscript/pspec.xml b/office/postscript/ghostscript/pspec.xml new file mode 100644 index 0000000000..d64b8d57bd --- /dev/null +++ b/office/postscript/ghostscript/pspec.xml @@ -0,0 +1,182 @@ + + + + + ghostscript + http://www.ghostscript.com + + PisiLinux Community + admins@pisilinux.org + + GPLv3+ + library + A PostScript interpreter and renderer + ghostscript is a set of software that provides a PostScript interpreter, a set of C procedures and an interpreter for PDF files. ghostscript is normally used to display PostScript files and to print PostScript files to non-PostScript printers. + http://downloads.ghostscript.com/public/ghostscript-9.15.tar.bz2 + + tiff-devel + libjpeg-turbo-devel + lcms2-devel + libXt-devel + libpng-devel + jasper-devel + libpaper-devel + fontconfig-devel + poppler-data + + + + ubuntu/02_gs-man-fix-for-debian.patch + + + fedora/ghostscript-Fontmap.local.patch + fedora/ghostscript-gdevcups-debug-uninit.patch + fedora/ghostscript-iccprofiles-initdir.patch + fedora/ghostscript-multilib.patch + fedora/ghostscript-noopt.patch + fedora/ghostscript-runlibfileifexists.patch + fedora/ghostscript-scripts.patch + fedora/ghostscript-sys-zlib.patch + fedora/ghostscript-icc-missing-check.patch + fedora/ghostscript-wrf-snprintf.patch + fedora/ghostscript-gs694154.patch + + + + + ghostscript + + libjpeg-turbo + tiff + lcms2 + libXt + jasper + libpaper + fontconfig + + poppler-data + gnu-gs-fonts-std + + + /usr/bin + /usr/lib + /usr/share/man + /usr/share/doc + /usr/share/cups + /usr/share/ghostscript + + + + + + ghostscript-docs + Documentation for ghostscript + + /usr/share/doc/ghostscript/html + /usr/share/doc/ghostscript/examples + + + + + ghostscript-devel + Development files for ghostscript + + ghostscript + + + /usr/bin/ijs-config + /usr/include/ghostscript + /usr/include/ijs + /usr/lib/pkgconfig + + + + + ghostscript-32bit + emul32 + 32-bit shared libraries for ghostscript + emul32 + + libjpeg-turbo-32bit + xz-32bit + zlib-32bit + tiff-32bit + lcms2-32bit + libXt-32bit + libX11-32bit + jasper-32bit + libpng-32bit + libidn-32bit + freetype-32bit + fontconfig-32bit + + + ghostscript + libjpeg-turbo-32bit + xz-32bit + zlib-32bit + tiff-32bit + lcms2-32bit + libXt-32bit + libX11-32bit + jasper-32bit + libpng-32bit + libidn-32bit + freetype-32bit + fontconfig-32bit + + + /usr/lib32 + + + + + + 2015-03-04 + 9.15 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-05-20 + 9.14 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-21 + 9.10 + Version bump. + Aydın Demirel + aydin.demirel@pisilinux.org + + + 2013-06-27 + 9.07 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-01-22 + 9.06 + Add emul32, fix dependencies + Marcin Bojara + marcin@pisilinux.org + + + 2012-09-12 + 9.06 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + diff --git a/office/postscript/ghostscript/translations.xml b/office/postscript/ghostscript/translations.xml new file mode 100644 index 0000000000..e46ace2d36 --- /dev/null +++ b/office/postscript/ghostscript/translations.xml @@ -0,0 +1,18 @@ + + + + ghostscript + Bir PostScript yorumlayıcısı ve üreticisi + ghostscript, PostScript yorumlayıcısı, C kitaplığı ve PDF yorumlayıcısı içeren bir yazılım paketidir. ghostscript, PostScript dosyalarının görüntülenmesi ve PostScript olmayan yazıcılardan PostScript dosyalarının çıktılarının alınması için kullanılmaktadır. + + + + ghostscript-docs + ghostscript için çeşitli belgeler + + + + ghostscript-devel + ghostscript için geliştirme dosyaları + + diff --git a/office/postscript/poppler-data/actions.py b/office/postscript/poppler-data/actions.py new file mode 100644 index 0000000000..38d0110043 --- /dev/null +++ b/office/postscript/poppler-data/actions.py @@ -0,0 +1,14 @@ +#!/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 install(): + autotools.rawInstall("DESTDIR=%s datadir=/usr/share/" % get.installDIR()) + + pisitools.dodoc("COPYING*", "README") diff --git a/office/postscript/poppler-data/pspec.xml b/office/postscript/poppler-data/pspec.xml new file mode 100644 index 0000000000..424f15ccff --- /dev/null +++ b/office/postscript/poppler-data/pspec.xml @@ -0,0 +1,65 @@ + + + + + poppler-data + http://poppler.freedesktop.org/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + BSD + data + Poppler encoding files + poppler-data consists of encoding files for poppler. When installed, the encoding files enables poppler to correctly render CJK and Cyrillic properly. + http://poppler.freedesktop.org/poppler-data-0.4.7.tar.gz + + + + poppler-data + + /usr/share/doc + /usr/share/poppler + /usr/share/pkgconfig + + + + + + 2015-03-05 + 0.4.7 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-05-25 + 0.4.6 + Rebuild + Alihan Öztürk + alihan@pisilinux.org + + + 2014-03-10 + 0.4.6 + Rebuild + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-04-17 + 0.4.6 + Version bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-09-12 + 0.4.5 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + \ No newline at end of file diff --git a/office/postscript/poppler-data/translations.xml b/office/postscript/poppler-data/translations.xml new file mode 100644 index 0000000000..cafb3843f3 --- /dev/null +++ b/office/postscript/poppler-data/translations.xml @@ -0,0 +1,8 @@ + + + + poppler-data + Poppler kodlama dosyaları + poppler-data, poppler için CJK ve Kiril harflerini düzgünce gösterebilmek için gerekli kodlama dosyalarını içerir. + + diff --git a/office/postscript/poppler/actions.py b/office/postscript/poppler/actions.py new file mode 100644 index 0000000000..78f2f9a6a3 --- /dev/null +++ b/office/postscript/poppler/actions.py @@ -0,0 +1,49 @@ +#!/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 shelltools +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools + + +def setup(): + options = "--disable-static \ + --disable-poppler-qt \ + --disable-gtk-doc-html \ + --disable-zlib \ + --disable-gtk-test \ + --enable-poppler-qt4 \ + --enable-cairo-output \ + --enable-xpdf-headers \ + --enable-libjpeg \ + --enable-libopenjpeg" + + if get.buildTYPE() == "emul32": + options += " --libdir=/usr/lib32 \ + --disable-utils \ + --disable-gtk-test \ + --disable-poppler-cpp \ + --disable-poppler-qt4" + + autotools.configure(options) + +def build(): + autotools.make() + +def install(): + if get.buildTYPE() == "emul32": + pisitools.insinto("/usr/lib32", "poppler/.libs/libpoppler.so*") + pisitools.insinto("/usr/lib32", "glib/.libs/libpoppler-glib.so*") + for f in ["poppler.pc", "poppler-glib.pc"]: + pisitools.insinto("/usr/lib32/pkgconfig", f) + pisitools.dosed("%s/usr/lib32/pkgconfig/%s" % (get.installDIR(), f), get.emul32prefixDIR(), get.defaultprefixDIR()) + return + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + + pisitools.removeDir("/usr/share/gtk-doc") + pisitools.dodoc("README", "AUTHORS", "ChangeLog", "NEWS", "README-XPDF", "TODO") diff --git a/office/postscript/poppler/pspec.xml b/office/postscript/poppler/pspec.xml new file mode 100644 index 0000000000..790fc7b820 --- /dev/null +++ b/office/postscript/poppler/pspec.xml @@ -0,0 +1,261 @@ + + + + + poppler + http://poppler.freedesktop.org/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + PDF rendering library + poppler is a PDF rendering library based on xpdf. + http://poppler.freedesktop.org/poppler-0.31.0.tar.xz + + qt-devel + lcms2-devel + libjpeg-turbo-devel + gtk2-devel + cairo-devel + libpng-devel + openjpeg-devel + tiff-devel + fontconfig-devel + gdk-pixbuf-devel + + + + + poppler + + lcms2 + libjpeg-turbo + libpng + openjpeg + tiff + fontconfig + poppler-data + + + /usr/lib + /usr/share/doc + + + + + poppler-utils + Command line utilities for converting PDF files + + poppler + cairo + lcms2 + + + /usr/bin + /usr/share/man/man1 + + + + + poppler-qt + Qt wrapper for poppler + + qt + poppler + + + /usr/lib/libpoppler-qt4.so* + + + + + poppler-qt-devel + Development files for poppler-qt + + poppler-qt + poppler-devel + + + /usr/lib/pkgconfig/poppler-qt4.pc + + + + + poppler-cpp + Pure C++ wrapper for poppler + + poppler + + + /usr/lib/libpoppler-cpp.so* + + + + + poppler-cpp-devel + Development files for poppler-cpp + + poppler-cpp + poppler-devel + + + /usr/lib/pkgconfig/poppler-cpp.pc + + + + + poppler-glib + Glib wrapper for poppler + + cairo + gdk-pixbuf + poppler + + + /usr/lib/libpoppler-glib.so* + /usr/lib/girepository-1.0/Poppler-0.18.typelib + + + + + poppler-glib-devel + Development files for poppler-glib + + gtk2-devel + cairo-devel + gdk-pixbuf-devel + poppler-glib + poppler-devel + + + /usr/lib/pkgconfig/poppler-glib.pc + /usr/lib/pkgconfig/poppler-cairo.pc + /usr/share/gir-1.0/Poppler-0.18.gir + /usr/lib32/pkgconfig/poppler-glib.pc + + + + + poppler-devel + Development files for poppler + + poppler + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig/poppler.pc + + + + + poppler-32bit + emul32 + 32-bit shared libraries for poppler + emul32 + + lcms2-32bit + libjpeg-turbo-32bit + libpng-32bit + openjpeg-32bit + tiff-32bit + freetype-32bit + fontconfig-32bit + + + poppler + lcms2-32bit + libjpeg-turbo-32bit + libpng-32bit + openjpeg-32bit + tiff-32bit + freetype-32bit + fontconfig-32bit + + + /usr/lib32/libpoppler.so* + + + + + poppler-glib-32bit + emul32 + 32-bit shared libraries for poppler-glib + emul32 + + glib2-32bit + cairo-32bit + freetype-32bit + + + poppler-32bit + glib2-32bit + cairo-32bit + freetype-32bit + + + /usr/lib32/libpoppler-glib.so* + + + + + + 2015-03-04 + 0.31.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-05-25 + 0.26.0 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-01-27 + 0.24.5 + Version bump. + PisiLinux Community + admins@pisilinux.org + + + 2013-10-10 + 0.24.2 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-07-28 + 0.22.5 + Move pc files to devel pack, fix pc files for emul32. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-01 + 0.22.5 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-04-17 + 0.22.3 + Version bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-10-18 + 0.20.5 + First release + Marcin Bojara + marcin@pisilinux.org + + + diff --git a/office/postscript/poppler/translations.xml b/office/postscript/poppler/translations.xml new file mode 100644 index 0000000000..bb03337de1 --- /dev/null +++ b/office/postscript/poppler/translations.xml @@ -0,0 +1,51 @@ + + + + poppler + Xpdf koduna dayanan bir PDF kitaplığı + Biblioteka renderująca PDF + Poppler, xpdf koduna dayanan bir PDF hazırlama kitaplığıdır. + Poppler est une librairie de rendu PDF basée sur le code source de xpdf-3.0. + Wspólna biblioteka renderująca PDF do integrowania oglądania PDF w aplikacjach desktopowych (oparta na kodzie xpdf-3.0). + + + + poppler-utils + PDF dönüşüm araçları + + + + poppler-devel + poppler için geliştirme dosyaları + + + + poppler-cpp-devel + poppler-cpp için geliştirme dosyaları + + + + poppler-glib-devel + poppler-glib için geliştirme dosyaları + + + + poppler-qt + Poppler için Qt bağlayıcısı + + + + poppler-qt-devel + poppler-qt için geliştirme dosyaları + + + + poppler-cpp + Poppler için C++ bağlayıcısı + + + + poppler-glib + Poppler için Glib bağlayıcısı + + diff --git a/x11/library/libICE/pspec.xml b/x11/library/libICE/pspec.xml index 524670aa01..0d9004b9ab 100644 --- a/x11/library/libICE/pspec.xml +++ b/x11/library/libICE/pspec.xml @@ -15,6 +15,10 @@ mirrors://xorg/individual/lib/libICE-1.0.9.tar.bz2 libbsd-devel + util-macros + xorg-proto + xtrans + libxslt @@ -47,7 +51,11 @@ emul32 32-bit shared libraries for libICE emul32 + + glibc-32bit + + glibc-32bit libICE diff --git a/x11/library/libSM/pspec.xml b/x11/library/libSM/pspec.xml index b7a105bad9..cd924d8625 100644 --- a/x11/library/libSM/pspec.xml +++ b/x11/library/libSM/pspec.xml @@ -15,13 +15,17 @@ mirrors://xorg/individual/lib/libSM-1.2.2.tar.bz2 libICE-devel - libuuid-devel + libutil-linux-devel + util-macros + xorg-proto + xtrans libSM + libutil-linux libICE @@ -52,12 +56,14 @@ 32-bit shared libraries for libSM emul32 + glibc-32bit libICE-32bit - libuuid-32bit + libutil-linux-32bit + glibc-32bit libICE-32bit - libuuid-32bit + libutil-linux-32bit libSM diff --git a/x11/library/libXt/actions.py b/x11/library/libXt/actions.py new file mode 100644 index 0000000000..c2c1791cce --- /dev/null +++ b/x11/library/libXt/actions.py @@ -0,0 +1,20 @@ +# -*- 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(): + autotools.autoreconf("-vif") + autotools.configure("--disable-static") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("ChangeLog", "COPYING", "README") diff --git a/x11/library/libXt/pspec.xml b/x11/library/libXt/pspec.xml new file mode 100644 index 0000000000..13d68311d2 --- /dev/null +++ b/x11/library/libXt/pspec.xml @@ -0,0 +1,116 @@ + + + + + libXt + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + X.Org Xt library + LibXt provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif. + mirrors://xorg/individual/lib/libXt-1.1.4.tar.bz2 + + libICE-devel + libSM-devel + + + + + libXt + + libICE + libSM + + + /usr/bin + /usr/lib + /usr/share/X11 + /usr/share/doc + + + + + libXt-devel + Development files for libXt + + libXt + libSM-devel + libICE-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + + libXt-32bit + emul32 + 32-bit shared libraries for libXt + emul32 + + libX11-32bit + libSM-32bit + + + libXt + libX11-32bit + libSM-32bit + libICE-32bit + + + /usr/lib32 + + + + + + 2014-05-16 + 1.1.4 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.1.4 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 1.1.4 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.1.4 + Rebuild + PisiLinux Community + admins@pisilinux.org + + + 2013-06-21 + 1.1.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.1.3 + First release + Erdem Artan + admins@pisilinux.org + + + diff --git a/x11/library/libXt/translations.xml b/x11/library/libXt/translations.xml new file mode 100644 index 0000000000..1a0d55d2c4 --- /dev/null +++ b/x11/library/libXt/translations.xml @@ -0,0 +1,19 @@ + + + + libXt + X.Org Xt kitaplığı + Librairie Xt de X.Org + X.Org Xt Bibliothek + + + + libXt-devel + libXt için geliştirme dosyaları + + + + libXt-32bit + libXt için 32-bit paylaşımlı kitaplıklar + + From 75838667016e633de70b7bbdeacd925fc3eba7d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sun, 21 Jun 2015 11:28:21 +0300 Subject: [PATCH 013/152] libXt and ghostcript dep fixed. --- office/postscript/ghostscript/actions.py | 3 +-- office/postscript/ghostscript/pspec.xml | 23 +++++++++++++---------- x11/library/libXt/pspec.xml | 7 +++++-- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/office/postscript/ghostscript/actions.py b/office/postscript/ghostscript/actions.py index f42f80ddef..3951e9df4f 100644 --- a/office/postscript/ghostscript/actions.py +++ b/office/postscript/ghostscript/actions.py @@ -29,11 +29,10 @@ def setup(): --enable-fontconfig \ --enable-freetype \ --without-luratech \ - --with-system-libtiff \ --without-omni \ --with-x \ --with-fontpath=/usr/share/fonts:/usr/share/fonts/default/ghostscript:/usr/share/cups/fonts:/usr/share/fonts/TTF:/usr/share/fonts/Type1:/usr/share/poppler/cMap/*" - options += " --disable-cups --includedir=/usr/include --libdir=/usr/lib32" if get.buildTYPE() == "emul32" else " --enable-cups --with-install-cups" + options += " --disable-cups --includedir=/usr/include --libdir=/usr/lib32" if get.buildTYPE() == "emul32" else " --enable-cups" autotools.configure(options) diff --git a/office/postscript/ghostscript/pspec.xml b/office/postscript/ghostscript/pspec.xml index d64b8d57bd..667104599d 100644 --- a/office/postscript/ghostscript/pspec.xml +++ b/office/postscript/ghostscript/pspec.xml @@ -15,14 +15,17 @@ http://downloads.ghostscript.com/public/ghostscript-9.15.tar.bz2 tiff-devel + zlib-devel + libX11-devel + libXext-devel + libSM-devel + freetype-devel libjpeg-turbo-devel lcms2-devel libXt-devel libpng-devel - jasper-devel libpaper-devel fontconfig-devel - poppler-data @@ -46,16 +49,19 @@ ghostscript + zlib + libX11 + libpng + freetype libjpeg-turbo tiff lcms2 libXt - jasper libpaper fontconfig - poppler-data - gnu-gs-fonts-std + /usr/bin @@ -103,13 +109,12 @@ emul32 libjpeg-turbo-32bit - xz-32bit zlib-32bit tiff-32bit lcms2-32bit libXt-32bit + libXext-32bit libX11-32bit - jasper-32bit libpng-32bit libidn-32bit freetype-32bit @@ -118,15 +123,13 @@ ghostscript libjpeg-turbo-32bit - xz-32bit + glibc-32bit zlib-32bit tiff-32bit lcms2-32bit libXt-32bit libX11-32bit - jasper-32bit libpng-32bit - libidn-32bit freetype-32bit fontconfig-32bit diff --git a/x11/library/libXt/pspec.xml b/x11/library/libXt/pspec.xml index 13d68311d2..6081f84b3a 100644 --- a/x11/library/libXt/pspec.xml +++ b/x11/library/libXt/pspec.xml @@ -16,6 +16,8 @@ libICE-devel libSM-devel + xorg-proto + libX11-devel @@ -24,6 +26,7 @@ libICE libSM + libX11 /usr/bin @@ -38,8 +41,6 @@ Development files for libXt libXt - libSM-devel - libICE-devel /usr/include/X11 @@ -55,10 +56,12 @@ 32-bit shared libraries for libXt emul32 + glibc-32bit libX11-32bit libSM-32bit + glibc-32bit libXt libX11-32bit libSM-32bit From cc94390abeef5cafcb587789811c5d7e1dc13984 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 21 Jun 2015 15:52:11 +0200 Subject: [PATCH 014/152] kcodecs version bump --- .../kde/kde5-framework/kde5-kcodecs/actions.py | 16 +++++----------- .../kde/kde5-framework/kde5-kcodecs/pspec.xml | 9 ++++++++- 2 files changed, 13 insertions(+), 12 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-kcodecs/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kcodecs/actions.py b/desktop/kde/kde5-framework/kde5-kcodecs/actions.py old mode 100755 new mode 100644 index 31d089f3f0..2224377fc7 --- a/desktop/kde/kde5-framework/kde5-kcodecs/actions.py +++ b/desktop/kde/kde5-framework/kde5-kcodecs/actions.py @@ -4,22 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ - -DLIB_INSTALL_DIR=lib \ - -DQML_INSTALL_DIR=lib/qt5/qml \ - -DLOCALE_INSTALL_DIR=/usr/share/locale \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md", "COPYING", "COPYING.LIB") diff --git a/desktop/kde/kde5-framework/kde5-kcodecs/pspec.xml b/desktop/kde/kde5-framework/kde5-kcodecs/pspec.xml index 8313b93af7..d22c2560c6 100755 --- a/desktop/kde/kde5-framework/kde5-kcodecs/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kcodecs/pspec.xml @@ -12,7 +12,7 @@ library Plugins allowing Qt applications to access further types of images KDE5 KCodecs provide a collection of methods to manipulate strings using various encodings. - http://download.kde.org/stable/frameworks/5.10/kcodecs-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kcodecs-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -49,6 +49,13 @@ + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From 30e2b224695032aad4b0b25a9ea0546435848532 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 21 Jun 2015 16:00:36 +0200 Subject: [PATCH 015/152] kde5-kconfig version bump --- .../kde/kde5-framework/kde5-kconfig/actions.py | 15 +++++---------- desktop/kde/kde5-framework/kde5-kconfig/pspec.xml | 13 ++++++++++--- 2 files changed, 15 insertions(+), 13 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-kconfig/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kconfig/actions.py b/desktop/kde/kde5-framework/kde5-kconfig/actions.py old mode 100755 new mode 100644 index 8307c96119..3685049507 --- a/desktop/kde/kde5-framework/kde5-kconfig/actions.py +++ b/desktop/kde/kde5-framework/kde5-kconfig/actions.py @@ -4,21 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DLIB_INSTALL_DIR=lib \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md", "COPYING.LIB", "DESIGN", "TODO") diff --git a/desktop/kde/kde5-framework/kde5-kconfig/pspec.xml b/desktop/kde/kde5-framework/kde5-kconfig/pspec.xml index 41face9ef0..22a56ffffb 100755 --- a/desktop/kde/kde5-framework/kde5-kconfig/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kconfig/pspec.xml @@ -14,15 +14,15 @@ app:gui Advanced configuration system for KDE Frameworks 5 Kconfig provides advanced libraries and tools for accessing configuration files. - http://download.kde.org/stable/frameworks/5.10/kconfig-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kconfig-5.11.0.tar.xz qt5-base-devel qt5-tools-devel extra-cmake-modules - 0001-ensure-platform-window-resize-processing.patch - session-restore.patch + @@ -56,6 +56,13 @@ + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From 2b1384da4a2d00b72e0c57c998edce573cada72a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sun, 21 Jun 2015 17:28:26 +0300 Subject: [PATCH 016/152] mit-kerberos and keyutils in main --- .../prison-qt5/1actions.py | 0 .../prison-qt5/actions.py | 0 .../prison-qt5/pspec.xml | 0 .../graphics}/libdmtx/actions.py | 0 .../graphics}/libdmtx/pspec.xml | 0 .../graphics}/libdmtx/translations.xml | 0 .../misc}/qrencode/actions.py | 0 .../misc}/qrencode/pspec.xml | 0 .../misc}/qrencode/translations.xml | 0 server/auth/component.xml | 3 + server/auth/mit-kerberos/actions.py | 87 ++++++++++++++ .../files/fix-python-detection.patch | 15 +++ server/auth/mit-kerberos/files/kdc.conf | 16 +++ .../files/krb5-config_LDFLAGS.patch | 11 ++ server/auth/mit-kerberos/files/krb5.conf | 25 +++++ .../files/mit-krb5-1.12_uninitialized.patch | 55 +++++++++ .../files/rebuild-configure-scripts.patch | 12 ++ server/auth/mit-kerberos/pspec.xml | 106 ++++++++++++++++++ server/auth/mit-kerberos/translations.xml | 8 ++ util/crypt/keyutils/actions.py | 17 +++ util/crypt/keyutils/pspec.xml | 65 +++++++++++ util/crypt/keyutils/translations.xml | 9 ++ 22 files changed, 429 insertions(+) rename desktop/kde/{kde5-dependencies => kde5-addon}/prison-qt5/1actions.py (100%) rename desktop/kde/{kde5-dependencies => kde5-addon}/prison-qt5/actions.py (100%) rename desktop/kde/{kde5-dependencies => kde5-addon}/prison-qt5/pspec.xml (100%) rename {desktop/kde/kde5-dependencies => multimedia/graphics}/libdmtx/actions.py (100%) rename {desktop/kde/kde5-dependencies => multimedia/graphics}/libdmtx/pspec.xml (100%) rename {desktop/kde/kde5-dependencies => multimedia/graphics}/libdmtx/translations.xml (100%) rename {desktop/kde/kde5-dependencies => programming/misc}/qrencode/actions.py (100%) rename {desktop/kde/kde5-dependencies => programming/misc}/qrencode/pspec.xml (100%) rename {desktop/kde/kde5-dependencies => programming/misc}/qrencode/translations.xml (100%) create mode 100644 server/auth/component.xml create mode 100644 server/auth/mit-kerberos/actions.py create mode 100644 server/auth/mit-kerberos/files/fix-python-detection.patch create mode 100644 server/auth/mit-kerberos/files/kdc.conf create mode 100644 server/auth/mit-kerberos/files/krb5-config_LDFLAGS.patch create mode 100644 server/auth/mit-kerberos/files/krb5.conf create mode 100644 server/auth/mit-kerberos/files/mit-krb5-1.12_uninitialized.patch create mode 100644 server/auth/mit-kerberos/files/rebuild-configure-scripts.patch create mode 100644 server/auth/mit-kerberos/pspec.xml create mode 100644 server/auth/mit-kerberos/translations.xml create mode 100644 util/crypt/keyutils/actions.py create mode 100644 util/crypt/keyutils/pspec.xml create mode 100644 util/crypt/keyutils/translations.xml diff --git a/desktop/kde/kde5-dependencies/prison-qt5/1actions.py b/desktop/kde/kde5-addon/prison-qt5/1actions.py similarity index 100% rename from desktop/kde/kde5-dependencies/prison-qt5/1actions.py rename to desktop/kde/kde5-addon/prison-qt5/1actions.py diff --git a/desktop/kde/kde5-dependencies/prison-qt5/actions.py b/desktop/kde/kde5-addon/prison-qt5/actions.py similarity index 100% rename from desktop/kde/kde5-dependencies/prison-qt5/actions.py rename to desktop/kde/kde5-addon/prison-qt5/actions.py diff --git a/desktop/kde/kde5-dependencies/prison-qt5/pspec.xml b/desktop/kde/kde5-addon/prison-qt5/pspec.xml similarity index 100% rename from desktop/kde/kde5-dependencies/prison-qt5/pspec.xml rename to desktop/kde/kde5-addon/prison-qt5/pspec.xml diff --git a/desktop/kde/kde5-dependencies/libdmtx/actions.py b/multimedia/graphics/libdmtx/actions.py similarity index 100% rename from desktop/kde/kde5-dependencies/libdmtx/actions.py rename to multimedia/graphics/libdmtx/actions.py diff --git a/desktop/kde/kde5-dependencies/libdmtx/pspec.xml b/multimedia/graphics/libdmtx/pspec.xml similarity index 100% rename from desktop/kde/kde5-dependencies/libdmtx/pspec.xml rename to multimedia/graphics/libdmtx/pspec.xml diff --git a/desktop/kde/kde5-dependencies/libdmtx/translations.xml b/multimedia/graphics/libdmtx/translations.xml similarity index 100% rename from desktop/kde/kde5-dependencies/libdmtx/translations.xml rename to multimedia/graphics/libdmtx/translations.xml diff --git a/desktop/kde/kde5-dependencies/qrencode/actions.py b/programming/misc/qrencode/actions.py similarity index 100% rename from desktop/kde/kde5-dependencies/qrencode/actions.py rename to programming/misc/qrencode/actions.py diff --git a/desktop/kde/kde5-dependencies/qrencode/pspec.xml b/programming/misc/qrencode/pspec.xml similarity index 100% rename from desktop/kde/kde5-dependencies/qrencode/pspec.xml rename to programming/misc/qrencode/pspec.xml diff --git a/desktop/kde/kde5-dependencies/qrencode/translations.xml b/programming/misc/qrencode/translations.xml similarity index 100% rename from desktop/kde/kde5-dependencies/qrencode/translations.xml rename to programming/misc/qrencode/translations.xml diff --git a/server/auth/component.xml b/server/auth/component.xml new file mode 100644 index 0000000000..ba01450986 --- /dev/null +++ b/server/auth/component.xml @@ -0,0 +1,3 @@ + + server.auth + diff --git a/server/auth/mit-kerberos/actions.py b/server/auth/mit-kerberos/actions.py new file mode 100644 index 0000000000..addc34989c --- /dev/null +++ b/server/auth/mit-kerberos/actions.py @@ -0,0 +1,87 @@ +#!/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 + +pisitools.flags.add("-fPIC -fno-strict-aliasing -fno-strict-overflow -fstack-protector-all") +pisitools.cxxflags.add("-I/usr/include/et") + +def rename_man_pages(): + manpages = ["appl/bsd/klogind.M", + "appl/bsd/kshd.M", + "appl/sample/sserver/sserver.M", + "appl/telnet/telnetd/telnetd.8", + "appl/gssftp/ftpd/ftpd.M", + "config-files/kdc.conf.M", + "config-files/krb5.conf.M", + "kadmin/cli/kadmin.M", + "slave/kpropd.M", + "slave/kprop.M"] + for manpage in manpages: + shelltools.move(manpage, "%s.in" % manpage) + +def setup(): + shelltools.cd("src") + shelltools.system("sed -i -e 's/^YYSTYPE yylval/&={0}/' lib/krb5/krb/deltat.c") + pisitools.dosed("util/ac_check_krb5.m4", "(KRB5ROOT=\/usr)\/local", r"\1") + + autotools.autoreconf("-fi") + + # Fix pthread linking + #pisitools.dosed("configure", "-lthread", "-lpthread") + #pisitools.dosed("configure", "-pthread", "-lpthread") + + autotools.configure("--localstatedir=/var/lib \ + --without-tcl \ + --without-hesiod \ + --enable-shared \ + --enable-kdc-lookaside-cache \ + --without-system-verto \ + --disable-rpath \ + --with-system-et \ + --with-system-ss \ + --enable-dns-for-realm") + + # Fix krb5-config script to remove rpaths and CFLAGS + #pisitools.dosed("krb5-config", "^CC_LINK=.*", "CC_LINK='$(CC) $(PROG_LIBPATH)'") + # Fix unused dependency + pisitools.dosed("config/shlib.conf"," -shared ", " -Wl,--as-needed -shared ") + +def build(): + autotools.make("-C src/") + +# def check(): + # check failed + # autotools.make("-C src/ -j1 check") + # import tempfile + # import shutil + # tmpdir = tempfile.mkdtemp(prefix='pisitest') + # autotools.make("-C src/ check TMPDIR=%s -j1" % tmpdir) + # shutil.rmtree("rm -rf %s" % tmpdir) + +def install(): + pisitools.dodoc("NOTICE", "README") + shelltools.cd("src") + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + # Install additional headers + for d in ("kadm5", "krb5"): + pisitools.insinto("/usr/include/%s" % d, "include/%s/*.h" % d) + + # Add "k" prefix to some apps and manpages to resolve conflicts + #for app in ["telnetd", "ftpd"]: + # pisitools.rename("/usr/share/man/man8/%s.8" % app, "k%s.8" % app) + # pisitools.rename("/usr/sbin/%s" % app, "k%s" % app) + + #for app in ["rcp", "rsh", "telnet", "ftp", "rlogin"]: + # pisitools.rename("/usr/share/man/man1/%s.1" % app, "k%s.1" % app) + # pisitools.rename("/usr/bin/%s" % app, "k%s" % app) + + # Remove examples + pisitools.removeDir("/usr/share/examples") diff --git a/server/auth/mit-kerberos/files/fix-python-detection.patch b/server/auth/mit-kerberos/files/fix-python-detection.patch new file mode 100644 index 0000000000..bcccf90bf8 --- /dev/null +++ b/server/auth/mit-kerberos/files/fix-python-detection.patch @@ -0,0 +1,15 @@ +--- configure.in.orig 2014-01-16 02:44:15.000000000 +0200 ++++ src/configure.in 2014-05-17 17:05:05.317924895 +0300 +@@ -1206,9 +1206,9 @@ + # default, so it's not a big deal that it isn't very good. We should + # use python-config instead. + PYTHON_LIB= +-AC_CHECK_HEADERS(Python.h python2.3/Python.h python2.5/Python.h) +-AC_CHECK_LIB(python2.3,main,[PYTHON_LIB=-lpython2.3], +- AC_CHECK_LIB(python2.5,main,[PYTHON_LIB=-lpython2.5])) ++AC_CHECK_HEADERS(Python.h python2.5/Python.h python2.7/Python.h) ++AC_CHECK_LIB(python2.5,main,[PYTHON_LIB=-lpython2.5], ++ AC_CHECK_LIB(python2.7,main,[PYTHON_LIB=-lpython2.7])) + AC_SUBST(PYTHON_LIB) + + diff --git a/server/auth/mit-kerberos/files/kdc.conf b/server/auth/mit-kerberos/files/kdc.conf new file mode 100644 index 0000000000..3cf14aafc4 --- /dev/null +++ b/server/auth/mit-kerberos/files/kdc.conf @@ -0,0 +1,16 @@ +[kdcdefaults] + kdc_ports = 88,750 + +[realms] + EXAMPLE.COM = { + database_name = /etc/krb5kdc/principal + admin_keytab = /etc/krb5kdc/kadm5.keytab + acl_file = /etc/krb5kdc/kadm5.acl + dict_file = /etc/krb5kdc/kadm5.dict + key_stash_file = /etc/krb5kdc/.k5.EXAMPLE.COM + kadmind_port = 749 + max_life = 10h 0m 0s + max_renewable_life = 7d 0h 0m 0s + master_key_type = des3-hmac-sha1 + supported_enctypes = des3-hmac-sha1:normal des-cbc-crc:normal + } diff --git a/server/auth/mit-kerberos/files/krb5-config_LDFLAGS.patch b/server/auth/mit-kerberos/files/krb5-config_LDFLAGS.patch new file mode 100644 index 0000000000..b7b7cd98d8 --- /dev/null +++ b/server/auth/mit-kerberos/files/krb5-config_LDFLAGS.patch @@ -0,0 +1,11 @@ +--- src/build-tools/krb5-config.in.orig 2014-01-16 02:44:15.000000000 +0200 ++++ src/build-tools/krb5-config.in 2014-05-17 17:00:42.624580187 +0300 +@@ -221,7 +221,7 @@ + -e 's#\$(PROG_RPATH)#'$libdir'#' \ + -e 's#\$(PROG_LIBPATH)#'$libdirarg'#' \ + -e 's#\$(RPATH_FLAG)#'"$RPATH_FLAG"'#' \ +- -e 's#\$(LDFLAGS)#'"$LDFLAGS"'#' \ ++ -e 's#\$(LDFLAGS)##' \ + -e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \ + -e 's#\$(CFLAGS)##'` + diff --git a/server/auth/mit-kerberos/files/krb5.conf b/server/auth/mit-kerberos/files/krb5.conf new file mode 100644 index 0000000000..e68a5ccbbf --- /dev/null +++ b/server/auth/mit-kerberos/files/krb5.conf @@ -0,0 +1,25 @@ +[libdefaults] + ticket_lifetime = 600 + default_realm = EXAMPLE.COM + default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc + default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc + +[realms] + EXAMPLE.COM = { + kdc = kerberos.example.com:88 + kdc = kerberos2.example.com:88 + admin_server = kerberos.example.com:749 + } + +[domain_realm] + .example.com = EXAMPLE.COM + example.com = EXAMPLE.COM + +[kdc] + profile = /etc/krb5kdc/kdc.conf + +[logging] + kdc = FILE:/var/log/krb5kdc.log + admin_server = FILE:/var/log/kadmin.log + default = FILE:/var/log/krb5lib.log + diff --git a/server/auth/mit-kerberos/files/mit-krb5-1.12_uninitialized.patch b/server/auth/mit-kerberos/files/mit-krb5-1.12_uninitialized.patch new file mode 100644 index 0000000000..e779d364ec --- /dev/null +++ b/server/auth/mit-kerberos/files/mit-krb5-1.12_uninitialized.patch @@ -0,0 +1,55 @@ +--- a/src/slave/kprop.c ++++ b/src/slave/kprop.c +@@ -91,7 +91,7 @@ main(argc, argv) + int argc; + char **argv; + { +- int fd, database_fd, database_size; ++ int fd = -1, database_fd, database_size; + krb5_error_code retval; + krb5_context context; + krb5_creds *my_creds; +--- a/src/kadmin/ktutil/ktutil_funcs.c ++++ b/src/kadmin/ktutil/ktutil_funcs.c +@@ -64,7 +64,7 @@ + krb5_kt_list *list; + int idx; + { +- krb5_kt_list lp, prev; ++ krb5_kt_list lp, prev = NULL; + int i; + + for (lp = *list, i = 1; lp; prev = lp, lp = lp->next, i++) { +--- a/src/lib/kadm5/alt_prof.c ++++ b/src/lib/kadm5/alt_prof.c +@@ -164,7 +164,7 @@ + char **values; + char *valp; + int idx; +- krb5_boolean val; ++ krb5_boolean val = 0; + + kret = krb5_aprof_getvals (acontext, hierarchy, &values); + if (kret) + +--- a/src/util/profile/prof_init.c ++++ b/src/util/profile/prof_init.c +@@ -255,7 +255,7 @@ copy_vtable_profile(profile_t profile, profile_t *ret_new_profile) + { + errcode_t err; + void *cbdata; +- profile_t new_profile; ++ profile_t new_profile = NULL; + + *ret_new_profile = NULL; + +--- a/src/tests/asn.1/trval.c 2013-04-12 12:51:36.000000000 -0500 ++++ b/src/tests/asn.1/trval.c 2013-05-24 04:31:14.077036380 -0500 +@@ -404,7 +404,7 @@ + { + int n; + int r = 0; +- int rlen2; ++ int rlen2 = 0; + int rlent; + int save_appl; \ No newline at end of file diff --git a/server/auth/mit-kerberos/files/rebuild-configure-scripts.patch b/server/auth/mit-kerberos/files/rebuild-configure-scripts.patch new file mode 100644 index 0000000000..36b38118df --- /dev/null +++ b/server/auth/mit-kerberos/files/rebuild-configure-scripts.patch @@ -0,0 +1,12 @@ +--- /dev/null 2009-10-20 19:31:44.183325514 +0300 ++++ src/rebuild-configure-scripts.sh 2009-10-22 10:37:14.583117034 +0300 +@@ -0,0 +1,9 @@ ++#!/bin/bash ++ ++top=`pwd` ++for configurein in `find -name configure.in -type f` ; do ++ pushd `dirname $configurein` ++ grep -q A._CONFIG_HEADER configure.in && autoheader -I "$top" ++ autoconf -I "$top" ++ popd ++done diff --git a/server/auth/mit-kerberos/pspec.xml b/server/auth/mit-kerberos/pspec.xml new file mode 100644 index 0000000000..ed87ae8e84 --- /dev/null +++ b/server/auth/mit-kerberos/pspec.xml @@ -0,0 +1,106 @@ + + + + + mit-kerberos + http://web.mit.edu/kerberos/www/ + + PisiLinux Community + admins@pisilinux.org + + as-is + library + app:console + MIT Kerberos Library + Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography. + http://source.pisilinux.org/1.0/krb5-1.13.1.tar.gz + + + keyutils + openssl-devel + e2fsprogs-devel + + + + + krb5-config_LDFLAGS.patch + + rebuild-configure-scripts.patch + fix-python-detection.patch + + + + + mit-kerberos + + keyutils + openssl + e2fsprogs + + + + /etc + /usr/include + /usr/bin + /usr/sbin + /usr/lib + /usr/share + /var/lib + /usr/share/info + /usr/share/man + + + krb5.conf + kdc.conf + + + + + + 2015-04-23 + 1.13.1 + Version bump,fix deps. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-12-13 + 1.13 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-05-17 + 1.12.1 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-01-22 + 1.11.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-02-20 + 1.11 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-09-27 + 1.10.3 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + diff --git a/server/auth/mit-kerberos/translations.xml b/server/auth/mit-kerberos/translations.xml new file mode 100644 index 0000000000..4ead7d5303 --- /dev/null +++ b/server/auth/mit-kerberos/translations.xml @@ -0,0 +1,8 @@ + + + + mit-kerberos + MIT Kerberos kütüphanesi + Kerberos bir ağ doğrulama protokolüdür. Sunucu/istemci uygulamalarında, gizli anahtar kriptoloji teknolojisini kullanarak, güçlü bir doğrulama sağlar. + + diff --git a/util/crypt/keyutils/actions.py b/util/crypt/keyutils/actions.py new file mode 100644 index 0000000000..f022cc41c1 --- /dev/null +++ b/util/crypt/keyutils/actions.py @@ -0,0 +1,17 @@ +#!/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 build(): + autotools.make("NO_ARLIB=1 LIBDIR=/lib USRLIBDIR=/usr/lib NO_GLIBC_KEYERR=1 CFLAGS=\"%s\"" % get.CFLAGS()) + +def install(): + autotools.install("NO_ARLIB=1 LIBDIR=/lib USRLIBDIR=/usr/lib DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("LICENCE.GPL", "LICENCE.LGPL", "README") diff --git a/util/crypt/keyutils/pspec.xml b/util/crypt/keyutils/pspec.xml new file mode 100644 index 0000000000..428902eecd --- /dev/null +++ b/util/crypt/keyutils/pspec.xml @@ -0,0 +1,65 @@ + + + + + keyutils + http://people.redhat.com/~dhowells/keyutils/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2+ + LGPLv2+ + library + app:console + Linux key management utilities + keyutils contains utilities to control the kernel key management facility and to provide a mechanism by which the kernel call back to userspace to get a key instantiated. + http://people.redhat.com/~dhowells/keyutils/keyutils-1.5.9.tar.bz2 + + + + keyutils + + /etc + /bin + /sbin + /usr/include + /usr/lib + /lib + /usr/share/man + /usr/share/doc + /usr/share/keyutils + + + + + + 2014-05-22 + 1.5.9 + Rebuild. + Kamil Atlı + suvarice@gmail.com + + + 2014-04-03 + 1.5.9 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-13 + 1.5.8 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2010-10-12 + 1.5.5 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + diff --git a/util/crypt/keyutils/translations.xml b/util/crypt/keyutils/translations.xml new file mode 100644 index 0000000000..0c34ecbe0c --- /dev/null +++ b/util/crypt/keyutils/translations.xml @@ -0,0 +1,9 @@ + + + + keyutils + Linux anahtar yönetim araçları + keyutils, Linux çekirdeğindeki anahtar yönetim kolaylıklarını denetlemek ve çekirdek ile kullanıcı uzayı arasında iletişim kurmak için gereken araçları içerir. + + + From 89587b091936e8031c91d020dc8555111bc8e793 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 21 Jun 2015 16:29:17 +0200 Subject: [PATCH 017/152] kde5-ki18n version bump --- desktop/kde/kde5-framework/kde5-ki18n/actions.py | 16 +++++----------- desktop/kde/kde5-framework/kde5-ki18n/pspec.xml | 14 +++++++++++--- 2 files changed, 16 insertions(+), 14 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-ki18n/actions.py diff --git a/desktop/kde/kde5-framework/kde5-ki18n/actions.py b/desktop/kde/kde5-framework/kde5-ki18n/actions.py old mode 100755 new mode 100644 index 94169eca50..3e60979ae6 --- a/desktop/kde/kde5-framework/kde5-ki18n/actions.py +++ b/desktop/kde/kde5-framework/kde5-ki18n/actions.py @@ -4,22 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DLIB_INSTALL_DIR=lib \ - -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DLOCALE_INSTALL_DIR=/usr/share/locale \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md", "COPYING.LIB", "COPYING-CMAKE-SCRIPTS") diff --git a/desktop/kde/kde5-framework/kde5-ki18n/pspec.xml b/desktop/kde/kde5-framework/kde5-ki18n/pspec.xml index dbcb76a569..6420cb0cb9 100755 --- a/desktop/kde/kde5-framework/kde5-ki18n/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-ki18n/pspec.xml @@ -12,10 +12,10 @@ library KDE Gettext-based UI text internationalization. KI18n provides functionality for internationalizing user interface text in applications, based on the GNU Gettext translation system. - http://download.kde.org/stable/frameworks/5.10/ki18n-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/ki18n-5.11.0.tar.xz qt5-base-devel - python + python3 extra-cmake-modules @@ -24,7 +24,7 @@ kde5-ki18n qt5-base - qt5-script + qt5-script /usr/share @@ -32,6 +32,7 @@ /usr/lib/qt5 /usr/lib /usr/share/doc + /usr/share/man @@ -49,6 +50,13 @@ + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From caae024a7a8a14acc946771fc005a5640e8700c8 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 21 Jun 2015 16:41:06 +0200 Subject: [PATCH 018/152] kde5-kdoctools version bump --- .../kde/kde5-framework/kde5-kdoctools/actions.py | 13 +++++-------- .../kde/kde5-framework/kde5-kdoctools/pspec.xml | 15 +++++++++++---- 2 files changed, 16 insertions(+), 12 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-kdoctools/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kdoctools/actions.py b/desktop/kde/kde5-framework/kde5-kdoctools/actions.py old mode 100755 new mode 100644 index 49de0c6163..238456d212 --- a/desktop/kde/kde5-framework/kde5-kdoctools/actions.py +++ b/desktop/kde/kde5-framework/kde5-kdoctools/actions.py @@ -4,19 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DLIB_INSTALL_DIR=lib \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md", "COPYING.LIB", "LICENSE", "TODO") diff --git a/desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml b/desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml index 5f89722df3..0955bb1730 100755 --- a/desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml @@ -13,11 +13,13 @@ app:console KDE5 document generator kdoctools is an application aims to generate documents from DocBook. - http://download.kde.org/stable/frameworks/5.10/kdoctools-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kdoctools-5.11.0.tar.xz qt5-base-devel perl-URI python + docbook-xsl + docbook-xml kde5-ki18n-devel extra-cmake-modules @@ -27,9 +29,7 @@ kde5-kdoctools qt5-base - libxslt - docbook-xsl - docbook-xml + libxslt kde5-karchive @@ -59,6 +59,13 @@ + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From 92d60d7b3809fe328adcd13c0473c403373334a9 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 21 Jun 2015 16:51:28 +0200 Subject: [PATCH 019/152] kde5-kwidgetsaddons version bump --- .../kde5-framework/kde5-kwidgetsaddons/actions.py | 14 +++++--------- .../kde5-framework/kde5-kwidgetsaddons/pspec.xml | 9 ++++++++- 2 files changed, 13 insertions(+), 10 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-kwidgetsaddons/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kwidgetsaddons/actions.py b/desktop/kde/kde5-framework/kde5-kwidgetsaddons/actions.py old mode 100755 new mode 100644 index b3339025b6..03367afb1e --- a/desktop/kde/kde5-framework/kde5-kwidgetsaddons/actions.py +++ b/desktop/kde/kde5-framework/kde5-kwidgetsaddons/actions.py @@ -4,20 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DLIB_INSTALL_DIR=lib \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md","COPYING.LIB", "COPYING") diff --git a/desktop/kde/kde5-framework/kde5-kwidgetsaddons/pspec.xml b/desktop/kde/kde5-framework/kde5-kwidgetsaddons/pspec.xml index c3aa87c493..8da4523aff 100755 --- a/desktop/kde/kde5-framework/kde5-kwidgetsaddons/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kwidgetsaddons/pspec.xml @@ -13,7 +13,7 @@ app:console KDE5 desktop widgets KdeWidgetsAddons is a framework contains addon widgets and shared libraries for applications using Qt5-Widgets. - http://download.kde.org/stable/frameworks/5.10/kwidgetsaddons-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kwidgetsaddons-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -50,6 +50,13 @@ + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From 22a5b0d5bbc3fe0e2ae539851ba30b94570c73c5 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 21 Jun 2015 16:59:44 +0200 Subject: [PATCH 020/152] kde5-kcompletion version bump --- .../kde5-framework/kde5-kcompletion/actions.py | 15 +++++---------- .../kde/kde5-framework/kde5-kcompletion/pspec.xml | 9 ++++++++- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/desktop/kde/kde5-framework/kde5-kcompletion/actions.py b/desktop/kde/kde5-framework/kde5-kcompletion/actions.py index 58699d30b0..11b2858877 100644 --- a/desktop/kde/kde5-framework/kde5-kcompletion/actions.py +++ b/desktop/kde/kde5-framework/kde5-kcompletion/actions.py @@ -4,21 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DSYSCONF_INSTALL_DIR=/etc \ - -DLIB_INSTALL_DIR=lib \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/kde5-framework/kde5-kcompletion/pspec.xml b/desktop/kde/kde5-framework/kde5-kcompletion/pspec.xml index 5e17117406..87b6ce37fd 100644 --- a/desktop/kde/kde5-framework/kde5-kcompletion/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kcompletion/pspec.xml @@ -13,7 +13,7 @@ app:console Addon with auto completion widgets and classes KCompletion provides widgets with advanced completion support as well as a lower-level completion class which can be used with your own widgets. - http://download.kde.org/stable/frameworks/5.10/kcompletion-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kcompletion-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -54,6 +54,13 @@ + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From 9d252439211d9c8389b8dbe5db32a348b4f40d2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sun, 21 Jun 2015 18:32:19 +0300 Subject: [PATCH 021/152] cups and deps fini... --- desktop/font/gnu-gs-fonts-std/actions.py | 25 +++++++++++ desktop/font/gnu-gs-fonts-std/pspec.xml | 45 +++++++++++++++++++ .../font/gnu-gs-fonts-std/translations.xml | 9 ++++ desktop/misc/desktop-file-utils/pspec.xml | 6 +++ hardware/printer/cups/pspec.xml | 3 +- office/postscript/ghostscript/pspec.xml | 4 +- 6 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 desktop/font/gnu-gs-fonts-std/actions.py create mode 100644 desktop/font/gnu-gs-fonts-std/pspec.xml create mode 100644 desktop/font/gnu-gs-fonts-std/translations.xml diff --git a/desktop/font/gnu-gs-fonts-std/actions.py b/desktop/font/gnu-gs-fonts-std/actions.py new file mode 100644 index 0000000000..2b6f16d907 --- /dev/null +++ b/desktop/font/gnu-gs-fonts-std/actions.py @@ -0,0 +1,25 @@ +#!/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 + +WorkDir = "fonts" + +def install(): + pisitools.dodir("/usr/share/fonts/default/ghostscript") + pisitools.insinto("/usr/share/fonts/default/ghostscript", "*") + + # Remove fonts.* files as they will be generated by xorg-app pakhandler + for f in ["scale", "dir"]: + pisitools.remove("/usr/share/fonts/default/ghostscript/fonts.%s" % f) + + docs = ["COPYING", "ChangeLog", "README", "README.tweaks", "TODO"] + + for f in docs: + pisitools.remove("/usr/share/fonts/default/ghostscript/%s" % f) + pisitools.dodoc(f) diff --git a/desktop/font/gnu-gs-fonts-std/pspec.xml b/desktop/font/gnu-gs-fonts-std/pspec.xml new file mode 100644 index 0000000000..f82de08a80 --- /dev/null +++ b/desktop/font/gnu-gs-fonts-std/pspec.xml @@ -0,0 +1,45 @@ + + + + + gnu-gs-fonts-std + http://www.ghostscript.com + + Sezai Yeniay + sezaiyeniay@pisilinux.org + + GPLv2 + data + Ghostscript standard fonts + gnu-gs-fonts-std contains fonts that were made from the free URW fonts distributed with ghostcript. There are no changes in the latin part of them. + mirrors://sourceforge/ghostscript/ghostscript-fonts-std-8.11.tar.gz + + + + gnu-gs-fonts-std + + + + + /usr/share/fonts/default/ghostscript + /usr/share/doc + + + + + + 2014-02-23 + 8.11 + Rebuild + Kamil Atlı + suvarice@gmail.com + + + 2012-09-20 + 8.11 + First release + Sezai Yeniay + sezaiyeniay@pisilinux.org + + + diff --git a/desktop/font/gnu-gs-fonts-std/translations.xml b/desktop/font/gnu-gs-fonts-std/translations.xml new file mode 100644 index 0000000000..7530891122 --- /dev/null +++ b/desktop/font/gnu-gs-fonts-std/translations.xml @@ -0,0 +1,9 @@ + + + + gnu-gs-fonts-std + Ghostscript standard yazıtipleri + Bu yazıtipleri ghostscript ile birlikte dağıtılan özgür URW yazıtiplerinden türetilmiştir. Latin bölümünde hiçbir değişiklik yapılmamıştır. + Ces fontes ont été construites à partir des fontes URW distribuées avec ghostcript. Il n'y AUCUN changemen dans leur partie latine. + + diff --git a/desktop/misc/desktop-file-utils/pspec.xml b/desktop/misc/desktop-file-utils/pspec.xml index a1c812b348..8364e21562 100644 --- a/desktop/misc/desktop-file-utils/pspec.xml +++ b/desktop/misc/desktop-file-utils/pspec.xml @@ -13,10 +13,16 @@ 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 + + glib2-devel + desktop-file-utils + + glib2 + /usr/bin /usr/share/doc diff --git a/hardware/printer/cups/pspec.xml b/hardware/printer/cups/pspec.xml index b3d8a96b97..b8ede18877 100644 --- a/hardware/printer/cups/pspec.xml +++ b/hardware/printer/cups/pspec.xml @@ -22,7 +22,7 @@ libusb-devel libgcc - cups-filters + mit-kerberos libpaper-devel @@ -133,6 +133,7 @@ glibc-32bit zlib-32bit openssl-32bit + libgcc cups diff --git a/office/postscript/ghostscript/pspec.xml b/office/postscript/ghostscript/pspec.xml index 667104599d..ec47d3adfe 100644 --- a/office/postscript/ghostscript/pspec.xml +++ b/office/postscript/ghostscript/pspec.xml @@ -60,8 +60,8 @@ libpaper fontconfig - + poppler-data + gnu-gs-fonts-std /usr/bin From a5319bb04db6142c717e96736cb14dde175b9c35 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 21 Jun 2015 17:52:35 +0200 Subject: [PATCH 022/152] kde5-kcoreaddons version bump --- .../kde5-framework/kde5-kcoreaddons/actions.py | 15 +++++---------- .../kde5-kcoreaddons/comar/package.py | 2 +- .../kde/kde5-framework/kde5-kcoreaddons/pspec.xml | 13 ++++++++++--- 3 files changed, 16 insertions(+), 14 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-kcoreaddons/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kcoreaddons/actions.py b/desktop/kde/kde5-framework/kde5-kcoreaddons/actions.py old mode 100755 new mode 100644 index 3ee8408ad5..11b2858877 --- a/desktop/kde/kde5-framework/kde5-kcoreaddons/actions.py +++ b/desktop/kde/kde5-framework/kde5-kcoreaddons/actions.py @@ -4,21 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DLIB_INSTALL_DIR=lib \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -D_KDE4_DEFAULT_HOME_POSTFIX=4 \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/kde5-framework/kde5-kcoreaddons/comar/package.py b/desktop/kde/kde5-framework/kde5-kcoreaddons/comar/package.py index de8ea402fe..ef1e236be6 100644 --- a/desktop/kde/kde5-framework/kde5-kcoreaddons/comar/package.py +++ b/desktop/kde/kde5-framework/kde5-kcoreaddons/comar/package.py @@ -3,6 +3,6 @@ from pisi.version import Version def postInstall(fromVersion, fromRelease, toVersion, toRelease): - if update-mime-database usr/share/mime > /dev/null + os.system("/usr/bin/update-mime-database /usr/share/mime") diff --git a/desktop/kde/kde5-framework/kde5-kcoreaddons/pspec.xml b/desktop/kde/kde5-framework/kde5-kcoreaddons/pspec.xml index aef9d6797a..0758be09ac 100755 --- a/desktop/kde/kde5-framework/kde5-kcoreaddons/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kcoreaddons/pspec.xml @@ -13,7 +13,7 @@ app:console Utilities for core application functionality and accessing the OS KCoreAddons provides classes built on top of QtCore to perform various tasks such as manipulating mime types, autosaving files, creating backup files, generating random sequences, performing text manipulations such as macro replacement, accessing user information and many more. - http://download.kde.org/stable/frameworks/5.10/kcoreaddons-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kcoreaddons-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -49,12 +49,19 @@ /usr/lib/cmake /usr/lib/pkgconfig - + + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From c41b9f260d1807adfbb83776f3eec7e62a12b420 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 21 Jun 2015 18:03:13 +0200 Subject: [PATCH 023/152] kde5-kauth version bump --- desktop/kde/kde5-framework/kde5-kauth/actions.py | 16 +++++----------- desktop/kde/kde5-framework/kde5-kauth/pspec.xml | 11 +++++++++-- 2 files changed, 14 insertions(+), 13 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-kauth/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kauth/actions.py b/desktop/kde/kde5-framework/kde5-kauth/actions.py old mode 100755 new mode 100644 index 8fc39e8aaa..11b2858877 --- a/desktop/kde/kde5-framework/kde5-kauth/actions.py +++ b/desktop/kde/kde5-framework/kde5-kauth/actions.py @@ -4,22 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DLIB_INSTALL_DIR=lib \ - -DLIBEXEC_INSTALL_DIR=lib \ - -DSYSCONF_INSTALL_DIR=/etc \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/kde5-framework/kde5-kauth/pspec.xml b/desktop/kde/kde5-framework/kde5-kauth/pspec.xml index 39987a01e1..97c607ba82 100755 --- a/desktop/kde/kde5-framework/kde5-kauth/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kauth/pspec.xml @@ -10,9 +10,9 @@ LGPLv2 library - Framework which lets applications perform actions as a privileged user + Abstraction to system policy and authentication features Framework which lets applications perform actions as a privileged user - http://download.kde.org/stable/frameworks/5.10/kauth-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kauth-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -51,6 +51,13 @@ + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From f46d6f69278f45a22f15323ef305cc1b3afaac96 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 21 Jun 2015 18:12:01 +0200 Subject: [PATCH 024/152] kde5-kdbusaddons version bump --- .../kde/kde5-framework/kde5-kdbusaddons/actions.py | 14 +++++--------- .../kde/kde5-framework/kde5-kdbusaddons/pspec.xml | 9 ++++++++- 2 files changed, 13 insertions(+), 10 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-kdbusaddons/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kdbusaddons/actions.py b/desktop/kde/kde5-framework/kde5-kdbusaddons/actions.py old mode 100755 new mode 100644 index 579b7ea6ee..3ab437b852 --- a/desktop/kde/kde5-framework/kde5-kdbusaddons/actions.py +++ b/desktop/kde/kde5-framework/kde5-kdbusaddons/actions.py @@ -4,20 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DLOCALE_INSTALL_DIR=/usr/share/locale \ - -DLIB_INSTALL_DIR=lib \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md", "MAINTAINER", "COPYING.LIB") diff --git a/desktop/kde/kde5-framework/kde5-kdbusaddons/pspec.xml b/desktop/kde/kde5-framework/kde5-kdbusaddons/pspec.xml index 6d3e24cb98..fe53b7fae2 100755 --- a/desktop/kde/kde5-framework/kde5-kdbusaddons/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kdbusaddons/pspec.xml @@ -13,7 +13,7 @@ app:console Extra modules for Qt-DBus KDE5-KDBusAddons provides convenience classes on top of QtDBus, as well as an API to create KDED modules. - http://download.kde.org/stable/frameworks/5.10/kdbusaddons-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kdbusaddons-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -52,6 +52,13 @@ + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From c3e5b28396812c7bb86e596044d395c492c290fc Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 21 Jun 2015 18:24:28 +0200 Subject: [PATCH 025/152] kde5-kguiaddons version bump --- .../kde/kde5-framework/kde5-kguiaddons/actions.py | 13 +++++-------- .../kde/kde5-framework/kde5-kguiaddons/pspec.xml | 13 +++++++++---- 2 files changed, 14 insertions(+), 12 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-kguiaddons/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kguiaddons/actions.py b/desktop/kde/kde5-framework/kde5-kguiaddons/actions.py old mode 100755 new mode 100644 index d4321b3b1a..a0965a34a3 --- a/desktop/kde/kde5-framework/kde5-kguiaddons/actions.py +++ b/desktop/kde/kde5-framework/kde5-kguiaddons/actions.py @@ -4,19 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DLIB_INSTALL_DIR=lib \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md", "COPYING.LIB", "COPYING") diff --git a/desktop/kde/kde5-framework/kde5-kguiaddons/pspec.xml b/desktop/kde/kde5-framework/kde5-kguiaddons/pspec.xml index fe815dc79c..bfffdf1992 100755 --- a/desktop/kde/kde5-framework/kde5-kguiaddons/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kguiaddons/pspec.xml @@ -12,7 +12,7 @@ library Utilities for graphical user interfaces The KDE GUI addons provide utilities for graphical user interfaces in the areas of colors, fonts, text, images, keyboard input. Development files. - http://download.kde.org/stable/frameworks/5.10/kguiaddons-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kguiaddons-5.11.0.tar.xz qt5-base-devel extra-cmake-modules @@ -26,9 +26,7 @@ qt5-x11extras - /usr/share - /usr/share/locale - /usr/lib/qt5 + /usr/lib/qt5 /usr/lib /usr/share/doc @@ -48,6 +46,13 @@ + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From 65a13843d108770e79567aa759bf9ad68ffe781b Mon Sep 17 00:00:00 2001 From: groni Date: Mon, 22 Jun 2015 16:00:33 +0200 Subject: [PATCH 026/152] kd5-karchive add missing build dependencies --- .../kde5-framework/kde5-karchive/1actions.py | 22 ------------------- .../kde5-framework/kde5-karchive/pspec.xml | 5 ++++- 2 files changed, 4 insertions(+), 23 deletions(-) delete mode 100755 desktop/kde/kde5-framework/kde5-karchive/1actions.py diff --git a/desktop/kde/kde5-framework/kde5-karchive/1actions.py b/desktop/kde/kde5-framework/kde5-karchive/1actions.py deleted file mode 100755 index f1da0a0e61..0000000000 --- a/desktop/kde/kde5-framework/kde5-karchive/1actions.py +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -# -# Licensed under the GNU General Public License, version 3. -# See the file http://www.gnu.org/licenses/gpl.txt - -from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools - -def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DLIB_INSTALL_DIR=lib \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DBUILD_TESTING=OFF") - -def build(): - cmaketools.make() - -def install(): - cmaketools.install() - - pisitools.dodoc("README.md", "COPYING", "COPYING.LIB", "AUTHORS") diff --git a/desktop/kde/kde5-framework/kde5-karchive/pspec.xml b/desktop/kde/kde5-framework/kde5-karchive/pspec.xml index 962a68eeec..a478146a0c 100755 --- a/desktop/kde/kde5-framework/kde5-karchive/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-karchive/pspec.xml @@ -15,6 +15,9 @@ http://download.kde.org/stable/frameworks/5.11/karchive-5.11.0.tar.xz qt5-base-devel + xz-devel + zlib-devel + bzip2 extra-cmake-modules @@ -22,7 +25,7 @@ kde5-karchive - qt5-base + qt5-base /usr/share From 6f6fb70e32685d0954695e265789b59f7091d14e Mon Sep 17 00:00:00 2001 From: groni Date: Tue, 23 Jun 2015 18:46:59 +0200 Subject: [PATCH 027/152] kconfigwidgets version bump --- .../kde5-kconfigwidgets/actions.py | 19 ++++++++--------- .../kde5-kconfigwidgets/comar/package.py | 6 ++++++ .../kde5-kconfigwidgets/pspec.xml | 21 ++++++++++--------- 3 files changed, 26 insertions(+), 20 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-kconfigwidgets/actions.py create mode 100644 desktop/kde/kde5-framework/kde5-kconfigwidgets/comar/package.py diff --git a/desktop/kde/kde5-framework/kde5-kconfigwidgets/actions.py b/desktop/kde/kde5-framework/kde5-kconfigwidgets/actions.py old mode 100755 new mode 100644 index b4c095499e..178bcb1c32 --- a/desktop/kde/kde5-framework/kde5-kconfigwidgets/actions.py +++ b/desktop/kde/kde5-framework/kde5-kconfigwidgets/actions.py @@ -4,21 +4,20 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ - -DLIB_INSTALL_DIR=lib \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DBUILD_TESTING=OFF") + #shelltools.export("XDG_DATA_DIRS", get.workDIR()) + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md", "COPYING.LIB", "COPYING") diff --git a/desktop/kde/kde5-framework/kde5-kconfigwidgets/comar/package.py b/desktop/kde/kde5-framework/kde5-kconfigwidgets/comar/package.py new file mode 100644 index 0000000000..57066a108d --- /dev/null +++ b/desktop/kde/kde5-framework/kde5-kconfigwidgets/comar/package.py @@ -0,0 +1,6 @@ +#!/usr/bin/python + +import os + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.system("/usr/bin/build-docbook-catalog") diff --git a/desktop/kde/kde5-framework/kde5-kconfigwidgets/pspec.xml b/desktop/kde/kde5-framework/kde5-kconfigwidgets/pspec.xml index 2c0ebc4e53..54c054d574 100755 --- a/desktop/kde/kde5-framework/kde5-kconfigwidgets/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kconfigwidgets/pspec.xml @@ -14,13 +14,14 @@ app:gui Kconfig widgets KDE5-KConfigWidgets provides easy-to-use classes to create configuration dialogs, as well as a set of widgets which uses KConfig to store their settings. - http://download.kde.org/stable/frameworks/5.10/kconfigwidgets-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kconfigwidgets-5.11.0.tar.xz qt5-base-devel python3 + kde5-ki18n-devel kde5-kdoctools-devel extra-cmake-modules - + @@ -50,14 +51,7 @@ kde5-kconfigwidgets-devel Development files for kconfigwidgets - qt5-base-devel - kde5-kconfigwidgets - kde5-kauth-devel - kde5-kcodecs-devel - kde5-kconfig-devel - kde5-kguiaddons-devel - kde5-ki18n-devel - kde5-kwidgetsaddons-devel + kde5-kconfigwidgets /usr/include @@ -67,6 +61,13 @@ + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From fa970aa154e55ddbb64b6e87e51ef3eb32ad882d Mon Sep 17 00:00:00 2001 From: groni Date: Tue, 23 Jun 2015 19:00:00 +0200 Subject: [PATCH 028/152] kde5-kdoctools add missing dependencies --- .../kde5-kdoctools/files/docbook.patch | 12 ++++++++++++ .../kde/kde5-framework/kde5-kdoctools/pspec.xml | 15 +++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 desktop/kde/kde5-framework/kde5-kdoctools/files/docbook.patch diff --git a/desktop/kde/kde5-framework/kde5-kdoctools/files/docbook.patch b/desktop/kde/kde5-framework/kde5-kdoctools/files/docbook.patch new file mode 100644 index 0000000000..fcf75ae26c --- /dev/null +++ b/desktop/kde/kde5-framework/kde5-kdoctools/files/docbook.patch @@ -0,0 +1,12 @@ + diff --git a/cmake/FindDocBookXML4.cmake b/cmake/FindDocBookXML4.cmake +index 415745f..4d7f089 100644 +--- a/cmake/FindDocBookXML4.cmake ++++ b/cmake/FindDocBookXML4.cmake +@@ -34,6 +34,7 @@ function (locate_version version found_dir) + share/xml/docbook/xml-dtd-${version} + share/sgml/docbook/xml-dtd-${version} + share/xml/docbook/${version} ++ opt/docbook/docbook/xml/${version} + ) + + find_path (searched_dir docbookx.dtd diff --git a/desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml b/desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml index 0955bb1730..3965c2bc9f 100755 --- a/desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml @@ -18,17 +18,26 @@ qt5-base-devel perl-URI python - docbook-xsl + libgcc + libxml2-devel docbook-xml + docbook-xsl + docbook-sgml4_5 kde5-ki18n-devel + kde5-karchive-devel extra-cmake-modules + + + kde5-kdoctools - qt5-base + qt5-base + libxml2 + libgcc libxslt kde5-karchive @@ -50,6 +59,8 @@ qt5-base-devel kde5-kdoctools kde5-karchive-devel + libgcc + libxml2-devel /usr/include From 980ffe0ed22544f05978936031b19b0bafaf7091 Mon Sep 17 00:00:00 2001 From: groni Date: Tue, 23 Jun 2015 20:51:29 +0200 Subject: [PATCH 029/152] kde5-solid version bump --- .../kde/kde5-framework/kde5-solid/1actions.py | 24 +++++++++++++++++++ .../kde/kde5-framework/kde5-solid/actions.py | 15 ++++-------- .../kde/kde5-framework/kde5-solid/pspec.xml | 16 +++++++++---- 3 files changed, 41 insertions(+), 14 deletions(-) create mode 100755 desktop/kde/kde5-framework/kde5-solid/1actions.py mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-solid/actions.py diff --git a/desktop/kde/kde5-framework/kde5-solid/1actions.py b/desktop/kde/kde5-framework/kde5-solid/1actions.py new file mode 100755 index 0000000000..5dc89c38d1 --- /dev/null +++ b/desktop/kde/kde5-framework/kde5-solid/1actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQML_INSTALL_DIR=lib/qt5/qml \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DLIB_INSTALL_DIR=lib \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md","COPYING.LIB", "TODO") diff --git a/desktop/kde/kde5-framework/kde5-solid/actions.py b/desktop/kde/kde5-framework/kde5-solid/actions.py old mode 100755 new mode 100644 index 5dc89c38d1..b3f757179c --- a/desktop/kde/kde5-framework/kde5-solid/actions.py +++ b/desktop/kde/kde5-framework/kde5-solid/actions.py @@ -4,21 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DQML_INSTALL_DIR=lib/qt5/qml \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DLIB_INSTALL_DIR=lib \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md","COPYING.LIB", "TODO") diff --git a/desktop/kde/kde5-framework/kde5-solid/pspec.xml b/desktop/kde/kde5-framework/kde5-solid/pspec.xml index 318be2c245..4060500634 100755 --- a/desktop/kde/kde5-framework/kde5-solid/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-solid/pspec.xml @@ -13,10 +13,12 @@ app:console KDE5 hardware integration framework Solid is a device integration framework.It provides a way of querying and interacting with hardware independently of the underlying operating system. - http://download.kde.org/stable/frameworks/5.10/solid-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/solid-5.11.0.tar.xz qt5-base-devel - qt5-tools-devel + libudev-devel + qt5-tools-devel + qt5-declarative extra-cmake-modules @@ -24,8 +26,7 @@ kde5-solid - qt5-base - qt5-declarative + qt5-base /usr/share @@ -52,6 +53,13 @@ + + 2015-06-23 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-31 5.10.0 From 7aec6a732fc0ee849e9a514dbf9e99b562ee8660 Mon Sep 17 00:00:00 2001 From: groni Date: Tue, 23 Jun 2015 22:18:25 +0200 Subject: [PATCH 030/152] kde5-kpackage version bump --- .../kde5-framework/kde5-kpackage/actions.py | 16 +++--------- .../kde5-framework/kde5-kpackage/pspec.xml | 25 +++++++++++++++++-- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/desktop/kde/kde5-framework/kde5-kpackage/actions.py b/desktop/kde/kde5-framework/kde5-kpackage/actions.py index eb0cad697c..c9b765dc60 100644 --- a/desktop/kde/kde5-framework/kde5-kpackage/actions.py +++ b/desktop/kde/kde5-framework/kde5-kpackage/actions.py @@ -4,24 +4,16 @@ # 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 cmaketools +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import get def setup(): - #shelltools.cd("kpackage") - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_INSTALL_DIR=lib \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DPYTHON_EXECUTABLE=/usr/bin/python3 \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.rawInstall("DESTDIR=%s" % get.installDIR()) + kde5.install() pisitools.dodoc("COPYING", "COPYING.LIB", "README.md") diff --git a/desktop/kde/kde5-framework/kde5-kpackage/pspec.xml b/desktop/kde/kde5-framework/kde5-kpackage/pspec.xml index 061f86e5b0..a4e28d4ed6 100644 --- a/desktop/kde/kde5-framework/kde5-kpackage/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kpackage/pspec.xml @@ -12,10 +12,11 @@ app:library Framework that lets applications manage user installable packages of non-binary assets KPackage is dependent on the Smart package manager. - http://download.kde.org/stable/frameworks/5.10/kpackage-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kpackage-5.11.0.tar.xz qt5-base-devel python3 + libgcc qt5-tools-devel extra-cmake-modules kde5-kdoctools-devel @@ -26,6 +27,7 @@ kde5-kpackage qt5-base + libgcc kde5-kconfig kde5-ki18n kde5-kcoreaddons @@ -35,14 +37,33 @@ /usr/bin /usr/lib/qt5 /usr/lib - /usr/include/ /usr/share /usr/share/locale /usr/share/man/man1 + + kpackage-devel + Development files for kpackage + + qt5-base-devel + kde5-kpackage + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + 2015-06-23 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-31 5.10.0 From 196d5adbe6f15a8bb442ec9a32ed184dcf4e51af Mon Sep 17 00:00:00 2001 From: groni Date: Tue, 23 Jun 2015 22:53:01 +0200 Subject: [PATCH 031/152] kwindowsystem version bump --- .../kde5-kwindowsystem/actions.py | 14 +++++------- .../kde5-kwindowsystem/pspec.xml | 22 +++++++++++++++++-- 2 files changed, 25 insertions(+), 11 deletions(-) mode change 100755 => 100644 desktop/kde/kde5-framework/kde5-kwindowsystem/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kwindowsystem/actions.py b/desktop/kde/kde5-framework/kde5-kwindowsystem/actions.py old mode 100755 new mode 100644 index 25e5a4e58b..9f0ecb1249 --- a/desktop/kde/kde5-framework/kde5-kwindowsystem/actions.py +++ b/desktop/kde/kde5-framework/kde5-kwindowsystem/actions.py @@ -4,20 +4,16 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt +from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DLIB_INSTALL_DIR=lib \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DBUILD_TESTING=OFF") + kde5.configure() def build(): - cmaketools.make() + kde5.make() def install(): - cmaketools.install() - + kde5.install() + pisitools.dodoc("README.md","COPYING.LIB") diff --git a/desktop/kde/kde5-framework/kde5-kwindowsystem/pspec.xml b/desktop/kde/kde5-framework/kde5-kwindowsystem/pspec.xml index 82e00623da..905d60bdc5 100755 --- a/desktop/kde/kde5-framework/kde5-kwindowsystem/pspec.xml +++ b/desktop/kde/kde5-framework/kde5-kwindowsystem/pspec.xml @@ -13,10 +13,18 @@ app:console KDE5 window manager access framework KWindowSystem provides information about the state of the window manager and allows asking the window manager to change the using a more high-level interface than the NETWinInfo/NETRootInfo low-level classes. - http://download.kde.org/stable/frameworks/5.10/kwindowsystem-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kwindowsystem-5.11.0.tar.xz qt5-base-devel - qt5-tools-devel + qt5-tools-devel + qt5-x11extras-devel + libX11-devel + libgcc + libxcb-devel + libXrender-devel + libXfixes-devel + xcb-util-devel + xcb-util-keysyms-devel extra-cmake-modules @@ -25,6 +33,9 @@ kde5-kwindowsystem qt5-base + libX11 + libgcc + libxcb qt5-x11extras libXfixes xcb-util-keysyms @@ -58,6 +69,13 @@ + + 2015-06-23 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 From 19aac404a4811b9f3037c067a54636b47b1de3e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Wed, 24 Jun 2015 00:11:20 +0300 Subject: [PATCH 032/152] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index c78785618e..5d3530b70c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # main packages for Pisi-2.0 library, desktops, programming, supported with team + +----------------------------------------------------------------------------- + +[![Throughput Graph](https://graphs.waffle.io/pisilinux/main/throughput.svg)](https://waffle.io/pisilinux/main/metrics) From 5514345bae8a782dead905d199795d0685d59022 Mon Sep 17 00:00:00 2001 From: groni Date: Tue, 23 Jun 2015 23:25:49 +0200 Subject: [PATCH 033/152] kcrash version bump and delete kde5-suffix --- desktop/kde/kde5-framework/kcrash/1actions.py | 27 +++++++ desktop/kde/kde5-framework/kcrash/actions.py | 19 +++++ desktop/kde/kde5-framework/kcrash/pspec.xml | 77 +++++++++++++++++++ 3 files changed, 123 insertions(+) create mode 100755 desktop/kde/kde5-framework/kcrash/1actions.py create mode 100644 desktop/kde/kde5-framework/kcrash/actions.py create mode 100755 desktop/kde/kde5-framework/kcrash/pspec.xml diff --git a/desktop/kde/kde5-framework/kcrash/1actions.py b/desktop/kde/kde5-framework/kcrash/1actions.py new file mode 100755 index 0000000000..b2f086d2f1 --- /dev/null +++ b/desktop/kde/kde5-framework/kcrash/1actions.py @@ -0,0 +1,27 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DQML_INSTALL_DIR=lib/qt5/qml \ + -DLIB_INSTALL_DIR=lib \ + -DLIBEXEC_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DLOCALE_INSTALL_DIR=/usr/share/locale \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/kde5-framework/kcrash/actions.py b/desktop/kde/kde5-framework/kcrash/actions.py new file mode 100644 index 0000000000..11b2858877 --- /dev/null +++ b/desktop/kde/kde5-framework/kcrash/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/kde5-framework/kcrash/pspec.xml b/desktop/kde/kde5-framework/kcrash/pspec.xml new file mode 100755 index 0000000000..91ab2a8955 --- /dev/null +++ b/desktop/kde/kde5-framework/kcrash/pspec.xml @@ -0,0 +1,77 @@ + + + + + kcrash + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Kcrash crash handling application + KCrash provides support for intercepting and handling application crashes. + http://download.kde.org/stable/frameworks/5.11/kcrash-5.11.0.tar.xz + + qt5-base-devel + libX11-devel + libgcc + extra-cmake-modules + + + + + kcrash + + qt5-base + libX11 + libgcc + qt5-x11extras + kde5-kcoreaddons + kde5-kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kcrash-devel + Development files for kcrash + + qt5-base-devel + qt5-x11extras-devel + kcrash + kde5-kcoreaddons-devel + kde5-kwindowsystem-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-23 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 6db274be6ef046a5c7e052637a03b97afcfff613 Mon Sep 17 00:00:00 2001 From: groni Date: Tue, 23 Jun 2015 23:26:15 +0200 Subject: [PATCH 034/152] kcrash version bump and delete kde5-suffix --- desktop/kde/kde5-framework/kcrash/1actions.py | 27 ------------------- 1 file changed, 27 deletions(-) delete mode 100755 desktop/kde/kde5-framework/kcrash/1actions.py diff --git a/desktop/kde/kde5-framework/kcrash/1actions.py b/desktop/kde/kde5-framework/kcrash/1actions.py deleted file mode 100755 index b2f086d2f1..0000000000 --- a/desktop/kde/kde5-framework/kcrash/1actions.py +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -# -# Licensed under the GNU General Public License, version 3. -# See the file http://www.gnu.org/licenses/gpl.txt - -from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools - -def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ - -DQML_INSTALL_DIR=lib/qt5/qml \ - -DLIB_INSTALL_DIR=lib \ - -DLIBEXEC_INSTALL_DIR=lib \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DLOCALE_INSTALL_DIR=/usr/share/locale \ - -DBUILD_TESTING=OFF") - -def build(): - cmaketools.make() - -def install(): - cmaketools.install() - - pisitools.dodoc("README.md", "COPYING.LIB") From a01988baf4480c001e81573c9df6f13b27a7f10c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Wed, 24 Jun 2015 09:52:02 +0300 Subject: [PATCH 035/152] some fix --- .../toolkit/{gtk => gnome}/gtk2/actions.py | 0 .../{gtk => gnome}/gtk2/comar/pakhandler.py | 0 .../gtk2/files/fedora/icon-padding.patch | 0 .../gtk2/files/fedora/system-python.patch | 0 .../files/fedora/tooltip-positioning.patch | 0 .../gtk2/files/fedora/window-dragging.patch | 0 .../toolkit/{gtk => gnome}/gtk2/files/gtkrc | 0 .../gtk2/files/xid-collision-debug.patch | 0 desktop/toolkit/{gtk => gnome}/gtk2/pspec.xml | 0 .../{gtk => gnome}/gtk2/translations.xml | 0 system/base/component.xml | 3 - system/base/gperf/actions.py | 26 ---- system/base/gperf/pspec.xml | 61 --------- system/base/gperf/translations.xml | 9 -- system/base/libX11/actions.py | 26 ---- .../base/libX11/files/fix-null-pointer.patch | 12 -- system/base/libX11/files/fix-segfault.diff | 50 ------- system/base/libX11/files/fix_typo.diff | 27 ---- system/base/libX11/pspec.xml | 128 ------------------ system/base/libX11/translations.xml | 19 --- system/base/libxcb/actions.py | 30 ---- .../files/libxcb-1.1-no-pthread-stubs.patch | 11 -- system/base/libxcb/files/pthread-stubs.pc | 8 -- system/base/libxcb/pspec.xml | 125 ----------------- system/base/libxcb/translations.xml | 17 --- 25 files changed, 552 deletions(-) rename desktop/toolkit/{gtk => gnome}/gtk2/actions.py (100%) rename desktop/toolkit/{gtk => gnome}/gtk2/comar/pakhandler.py (100%) rename desktop/toolkit/{gtk => gnome}/gtk2/files/fedora/icon-padding.patch (100%) rename desktop/toolkit/{gtk => gnome}/gtk2/files/fedora/system-python.patch (100%) rename desktop/toolkit/{gtk => gnome}/gtk2/files/fedora/tooltip-positioning.patch (100%) rename desktop/toolkit/{gtk => gnome}/gtk2/files/fedora/window-dragging.patch (100%) rename desktop/toolkit/{gtk => gnome}/gtk2/files/gtkrc (100%) rename desktop/toolkit/{gtk => gnome}/gtk2/files/xid-collision-debug.patch (100%) rename desktop/toolkit/{gtk => gnome}/gtk2/pspec.xml (100%) rename desktop/toolkit/{gtk => gnome}/gtk2/translations.xml (100%) delete mode 100644 system/base/component.xml delete mode 100644 system/base/gperf/actions.py delete mode 100644 system/base/gperf/pspec.xml delete mode 100644 system/base/gperf/translations.xml delete mode 100644 system/base/libX11/actions.py delete mode 100644 system/base/libX11/files/fix-null-pointer.patch delete mode 100644 system/base/libX11/files/fix-segfault.diff delete mode 100644 system/base/libX11/files/fix_typo.diff delete mode 100644 system/base/libX11/pspec.xml delete mode 100644 system/base/libX11/translations.xml delete mode 100644 system/base/libxcb/actions.py delete mode 100644 system/base/libxcb/files/libxcb-1.1-no-pthread-stubs.patch delete mode 100644 system/base/libxcb/files/pthread-stubs.pc delete mode 100644 system/base/libxcb/pspec.xml delete mode 100644 system/base/libxcb/translations.xml diff --git a/desktop/toolkit/gtk/gtk2/actions.py b/desktop/toolkit/gnome/gtk2/actions.py similarity index 100% rename from desktop/toolkit/gtk/gtk2/actions.py rename to desktop/toolkit/gnome/gtk2/actions.py diff --git a/desktop/toolkit/gtk/gtk2/comar/pakhandler.py b/desktop/toolkit/gnome/gtk2/comar/pakhandler.py similarity index 100% rename from desktop/toolkit/gtk/gtk2/comar/pakhandler.py rename to desktop/toolkit/gnome/gtk2/comar/pakhandler.py diff --git a/desktop/toolkit/gtk/gtk2/files/fedora/icon-padding.patch b/desktop/toolkit/gnome/gtk2/files/fedora/icon-padding.patch similarity index 100% rename from desktop/toolkit/gtk/gtk2/files/fedora/icon-padding.patch rename to desktop/toolkit/gnome/gtk2/files/fedora/icon-padding.patch diff --git a/desktop/toolkit/gtk/gtk2/files/fedora/system-python.patch b/desktop/toolkit/gnome/gtk2/files/fedora/system-python.patch similarity index 100% rename from desktop/toolkit/gtk/gtk2/files/fedora/system-python.patch rename to desktop/toolkit/gnome/gtk2/files/fedora/system-python.patch diff --git a/desktop/toolkit/gtk/gtk2/files/fedora/tooltip-positioning.patch b/desktop/toolkit/gnome/gtk2/files/fedora/tooltip-positioning.patch similarity index 100% rename from desktop/toolkit/gtk/gtk2/files/fedora/tooltip-positioning.patch rename to desktop/toolkit/gnome/gtk2/files/fedora/tooltip-positioning.patch diff --git a/desktop/toolkit/gtk/gtk2/files/fedora/window-dragging.patch b/desktop/toolkit/gnome/gtk2/files/fedora/window-dragging.patch similarity index 100% rename from desktop/toolkit/gtk/gtk2/files/fedora/window-dragging.patch rename to desktop/toolkit/gnome/gtk2/files/fedora/window-dragging.patch diff --git a/desktop/toolkit/gtk/gtk2/files/gtkrc b/desktop/toolkit/gnome/gtk2/files/gtkrc similarity index 100% rename from desktop/toolkit/gtk/gtk2/files/gtkrc rename to desktop/toolkit/gnome/gtk2/files/gtkrc diff --git a/desktop/toolkit/gtk/gtk2/files/xid-collision-debug.patch b/desktop/toolkit/gnome/gtk2/files/xid-collision-debug.patch similarity index 100% rename from desktop/toolkit/gtk/gtk2/files/xid-collision-debug.patch rename to desktop/toolkit/gnome/gtk2/files/xid-collision-debug.patch diff --git a/desktop/toolkit/gtk/gtk2/pspec.xml b/desktop/toolkit/gnome/gtk2/pspec.xml similarity index 100% rename from desktop/toolkit/gtk/gtk2/pspec.xml rename to desktop/toolkit/gnome/gtk2/pspec.xml diff --git a/desktop/toolkit/gtk/gtk2/translations.xml b/desktop/toolkit/gnome/gtk2/translations.xml similarity index 100% rename from desktop/toolkit/gtk/gtk2/translations.xml rename to desktop/toolkit/gnome/gtk2/translations.xml diff --git a/system/base/component.xml b/system/base/component.xml deleted file mode 100644 index 4b3b583dbf..0000000000 --- a/system/base/component.xml +++ /dev/null @@ -1,3 +0,0 @@ - - system - diff --git a/system/base/gperf/actions.py b/system/base/gperf/actions.py deleted file mode 100644 index 44bf0507c7..0000000000 --- a/system/base/gperf/actions.py +++ /dev/null @@ -1,26 +0,0 @@ -#!/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 - -def setup(): - autotools.configure() - -def build(): - autotools.make() - -def check(): - autotools.make("check -j1") - -def install(): - autotools.install() - - pisitools.dohtml("doc/*.html") - - pisitools.remove("/usr/share/doc/gperf.html") - - pisitools.dodoc("AUTHORS", "COPYING", "NEWS", "README") diff --git a/system/base/gperf/pspec.xml b/system/base/gperf/pspec.xml deleted file mode 100644 index bed477ce21..0000000000 --- a/system/base/gperf/pspec.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - gperf - http://www.gnu.org/software/gperf/gperf.html - - PisiLinux Community - admins@pisilinux.org - - GPLv2 - app:console - A perfect hash function generator - gperf is a perfect hash function generator. For a given list of strings, it produces a hash function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single string comparison only. - mirrors://gnu/gperf/gperf-3.0.4.tar.gz - - - - gperf - - libgcc - - - /usr/bin - /usr/share/doc - /usr/share/info - /usr/share/man - - - - - - 2014-05-11 - 3.0.4 - Release bump. - Marcin Bojara - marcin@pisilinux.org - - - 2013-10-24 - 3.0.4 - Rebuild. - Ertuğrul Erata - ertugrulerata@gmail.com - - - 2013-07-26 - 3.0.4 - Fix dep,release bump. - PisiLinux Community - admins@pisilinux.org - - - 2012-08-23 - 3.0.4 - First release - PisiLinux Community - admins@pisilinux.org - - - diff --git a/system/base/gperf/translations.xml b/system/base/gperf/translations.xml deleted file mode 100644 index 245bf2bd32..0000000000 --- a/system/base/gperf/translations.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - gperf - Mükemmel hash üreticisi - gperf mükemmel hash fonksiyonu üretecidir. Verilen bir katar listesi için C ve C++ kodu biçiminde bir hash fonksiyonu ve hash tablosu üretir. - GNU gperf es un generador de perfect hash. Produce una función hash y una tabla hash a base de una lista de cadenas, en forma de código C o C++ , para revisar valores dependiendo de una cadena de entrada. La función de hash es perfecta, lo que quiere decir que no hay colisiones en la tabla de hash, y para la búsqueda en la tabla hash se necesita solamente una comparación. - - diff --git a/system/base/libX11/actions.py b/system/base/libX11/actions.py deleted file mode 100644 index 4d41b1e29c..0000000000 --- a/system/base/libX11/actions.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- 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(): - autotools.autoreconf("-vif") - autotools.configure("--disable-static") - - 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()) - if get.buildTYPE() == "emul32": return - - pisitools.dodoc("AUTHORS", "COPYING", "NEWS", "README") diff --git a/system/base/libX11/files/fix-null-pointer.patch b/system/base/libX11/files/fix-null-pointer.patch deleted file mode 100644 index 8b37f365b5..0000000000 --- a/system/base/libX11/files/fix-null-pointer.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur libX11-1.3.5//src/xlibi18n/ICWrap.c libX11-1.3.5.tpg//src/xlibi18n/ICWrap.c ---- libX11-1.3.5//src/xlibi18n/ICWrap.c 2010-08-10 04:59:44.000000000 +0000 -+++ libX11-1.3.5.tpg//src/xlibi18n/ICWrap.c 2010-09-17 17:11:21.000000000 +0000 -@@ -283,7 +283,7 @@ - XIMArg *args; - char *ret; - -- if (!ic->core.im) -+ if (!ic || !ic->core.im) - return (char *) NULL; - - /* diff --git a/system/base/libX11/files/fix-segfault.diff b/system/base/libX11/files/fix-segfault.diff deleted file mode 100644 index a38c0ce2a2..0000000000 --- a/system/base/libX11/files/fix-segfault.diff +++ /dev/null @@ -1,50 +0,0 @@ -Index: libX11-1.4.99.1/src/Xrm.c -=================================================================== ---- libX11-1.4.99.1.orig/src/Xrm.c -+++ libX11-1.4.99.1/src/Xrm.c -@@ -2540,30 +2540,40 @@ Bool XrmQGetResource( - VClosureRec closure; - - if (db && *names) { -- _XLockMutex(&db->linfo); -+ if ((_XLockMutex_fn) && db->linfo.lock ) { -+ _XLockMutex(&db->linfo); -+ } - closure.type = pType; - closure.value = pValue; - table = db->table; - if (names[1]) { - if (table && !table->leaf) { - if (GetNEntry(table, names, classes, &closure)) { -- _XUnlockMutex(&db->linfo); -+ if ((_XUnlockMutex_fn) && db->linfo.lock ) { -+ _XUnlockMutex(&db->linfo); -+ } - return True; - } - } else if (table && table->hasloose && - GetLooseVEntry((LTable)table, names, classes, &closure)) { -- _XUnlockMutex (&db->linfo); -+ if ((_XUnlockMutex_fn) && db->linfo.lock ) { -+ _XUnlockMutex (&db->linfo); -+ } - return True; - } - } else { - if (table && !table->leaf) - table = table->next; - if (table && GetVEntry((LTable)table, names, classes, &closure)) { -- _XUnlockMutex(&db->linfo); -+ if ((_XUnlockMutex_fn) && db->linfo.lock ) { -+ _XUnlockMutex(&db->linfo); -+ } - return True; - } - } -- _XUnlockMutex(&db->linfo); -+ if ((_XUnlockMutex_fn) && db->linfo.lock ) { -+ _XUnlockMutex(&db->linfo); -+ } - } - *pType = NULLQUARK; - pValue->addr = (XPointer)NULL; diff --git a/system/base/libX11/files/fix_typo.diff b/system/base/libX11/files/fix_typo.diff deleted file mode 100644 index a55a940744..0000000000 --- a/system/base/libX11/files/fix_typo.diff +++ /dev/null @@ -1,27 +0,0 @@ -From 5dcb40f28d59587597d2ff6e6ac64c71cfe6ff7b Mon Sep 17 00:00:00 2001 -From: James Cloos -Date: Tue, 17 Sep 2013 16:50:42 +0000 -Subject: nls/en_US.UTF-8/Compose.pre: Fix typo. - -Fix typo added in 215ce6a67863, s/actute/acute/. - -Fixes bug #69476. Reported by Jean Krohn. - -Signed-off-by: James Cloos ---- -diff --git a/nls/en_US.UTF-8/Compose.pre b/nls/en_US.UTF-8/Compose.pre -index a741332..7314d7f 100644 ---- a/nls/en_US.UTF-8/Compose.pre -+++ b/nls/en_US.UTF-8/Compose.pre -@@ -743,7 +743,7 @@ XCOMM Part 3 - : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS - : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS - : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS -- : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 -+ : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 - : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 - : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 - : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 --- -cgit v0.9.0.2-2-gbebe - diff --git a/system/base/libX11/pspec.xml b/system/base/libX11/pspec.xml deleted file mode 100644 index 562ee95894..0000000000 --- a/system/base/libX11/pspec.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - libX11 - http://www.x.org/ - - PisiLinux Community - admins@pisilinux.org - - MIT - library - X.Org X11 library - Core X11 protocol client library. - mirrors://xorg/individual/lib/libX11-1.6.3.tar.bz2 - - libxcb-devel - xorg-proto - util-macros - xtrans - - - - - - - - libX11 - - libxcb - - - /usr/lib/libX11* - /usr/lib/X11 - /usr/share/X11 - /usr/share/doc/libX11 - - - - - libX11-devel - Development files for X11 library - - libX11 - libxcb-devel - xorg-proto - - - /usr/include/X11 - /usr/lib/pkgconfig - /usr/lib32/pkgconfig - /usr/share/man - - - - - libX11-32bit - emul32 - 32-bit shared libraries for libX11 - emul32 - - libxcb-32bit - glibc-32bit - - - libX11 - libxcb-32bit - glibc-32bit - - - /usr/lib32 - - - - - - 2015-05-22 - 1.6.3 - Version bump. - Ertuğrul Erata - ertugrulerata@gmail.com - - - 2014-05-11 - 1.6.2 - Release bump. - Marcin Bojara - marcin@pisilinux.org - - - 2013-10-07 - 1.6.2 - Rebuild. - Serdar Soytetir - kaptan@pisilinux.org - - - 2013-09-12 - 1.6.2 - Version bump. - Marcin Bojara - marcin@pisilinux.org - - - 2013-07-30 - 1.6.1 - Version bump. - Marcin Bojara - marcin@pisilinux.org - - - 2013-06-21 - 1.6.0 - Version bump. - Marcin Bojara - marcin@pisilinux.org - - - 2012-11-24 - 1.5.0 - First release - Serdar Soytetir - kaptan@pisilinux.org - - - diff --git a/system/base/libX11/translations.xml b/system/base/libX11/translations.xml deleted file mode 100644 index f7b669ffdf..0000000000 --- a/system/base/libX11/translations.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - libX11 - X.Org X11 kitaplığı - Librairie X11 de X.Org. - X.Org X11 Bibliothek - - - - libX11-devel - libX11 için geliştirme dosyaları - - - - libX11-32bit - libX11 için 32-bit paylaşımlı kitaplıklar - - diff --git a/system/base/libxcb/actions.py b/system/base/libxcb/actions.py deleted file mode 100644 index bfab6647d2..0000000000 --- a/system/base/libxcb/actions.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- 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(): - pisitools.flags.add("-DNDEBUG") - - autotools.autoreconf("-vif") - autotools.configure("--disable-static \ - --enable-xevie \ - --enable-xprint \ - --enable-xinput \ - --enable-xkb \ - --without-launchd \ - --without-doxygen") - - pisitools.dosed("libtool"," -shared ", " -Wl,--as-needed -shared ") - -def build(): - autotools.make() - -def install(): - autotools.rawInstall("-j1 DESTDIR=%s" % get.installDIR()) - - pisitools.dodoc("COPYING", "NEWS", "README") diff --git a/system/base/libxcb/files/libxcb-1.1-no-pthread-stubs.patch b/system/base/libxcb/files/libxcb-1.1-no-pthread-stubs.patch deleted file mode 100644 index 84c7f8e2fb..0000000000 --- a/system/base/libxcb/files/libxcb-1.1-no-pthread-stubs.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- libxcb-1.8.1/configure.ac 2012-03-09 15:38:38.000000000 +0100 -+++ libxcb-1.8.1/configure.ac.new 2012-03-09 16:50:40.107109896 +0100 -@@ -43,7 +43,7 @@ - - # Checks for pkg-config packages - PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.11) --NEEDED="pthread-stubs xau >= 0.99.2" -+NEEDED="xau >= 0.99.2" - PKG_CHECK_MODULES(NEEDED, $NEEDED) - - have_xdmcp="no" diff --git a/system/base/libxcb/files/pthread-stubs.pc b/system/base/libxcb/files/pthread-stubs.pc deleted file mode 100644 index ad7b91b632..0000000000 --- a/system/base/libxcb/files/pthread-stubs.pc +++ /dev/null @@ -1,8 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${exec_prefix}/lib - -Name: pthread stubs -Description: Stubs missing from libc for standard pthread functions -Version: 0.3 -Libs: diff --git a/system/base/libxcb/pspec.xml b/system/base/libxcb/pspec.xml deleted file mode 100644 index 48357b1ebd..0000000000 --- a/system/base/libxcb/pspec.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - - - libxcb - http://xcb.freedesktop.org/ - - PisiLinux Community - admins@pisilinux.org - - MIT - library - The X protocol C-language Binding (XCB) - The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility. - http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2 - - libXau-devel - libXdmcp-devel - libxslt - util-macros - xcb-proto - - - libxcb-1.1-no-pthread-stubs.patch - - - - - libxcb - - libXau - libXdmcp - glibc - - - /usr/lib - /usr/share/man - /usr/share/doc - - - - - libxcb-devel - Development files for libxcb - - libxcb - libXau-devel - libXdmcp-devel - - - /usr/include/xcb - /usr/lib/pkgconfig - /usr/lib32/pkgconfig - - - pthread-stubs.pc - - - - - libxcb-32bit - emul32 - 32-bit shared libraries for libxcb - emul32 - - libXau-32bit - libXdmcp-32bit - glibc-32bit - - - libxcb - libXau-32bit - libXdmcp-32bit - glibc-32bit - - - /usr/lib32 - - - - - - 2015-05-22 - 1.11 - Version bump. - Marcin Bojara - marcin@pisilinux.org - - - 2014-05-11 - 1.10 - Release bump. - Marcin Bojara - marcin@pisilinux.org - - - 2014-03-07 - 1.10 - Version bump. - Yusuf Aydemir - yusuf.aydemir@pisilinux.org - - - 2013-10-08 - 1.9.1 - Rebuild. - Serdar Soytetir - kaptan@pisilinux.org - - - 2013-07-28 - 1.9.1 - Version bump. - Marcin Bojara - marcin@pisilinux.org - - - 2012-11-18 - 1.9 - First release - Erdinç Gültekin - admins@pisilinux.org - - - diff --git a/system/base/libxcb/translations.xml b/system/base/libxcb/translations.xml deleted file mode 100644 index d1bf19d273..0000000000 --- a/system/base/libxcb/translations.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - libxcb - X protokolü için C dili bağlayıcısı (XCB) - - - - libxcb-devel - libxcb için geliştirme dosyaları - - - - libxcb-32bit - libxcb için 32-bit paylaşımlı kitaplıklar - - From 2e402d5af7a571f9676eeb077027b1e130fce9ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Wed, 24 Jun 2015 09:55:27 +0300 Subject: [PATCH 036/152] fix deps --- desktop/toolkit/qt5/qt5-base/pspec.xml | 4 +- hardware/printer/cups-filters/pspec.xml | 2 + multimedia/graphics/jasper/actions.py | 29 + .../jasper-1.900.1-fixes-20081208.patch.bz2 | Bin 0 -> 8757 bytes multimedia/graphics/jasper/pspec.xml | 114 + multimedia/graphics/jasper/translations.xml | 17 + pisi-index.xml | 3062 ++++++++++++----- pisi-index.xml.sha1sum | 2 +- pisi-index.xml.xz | Bin 60224 -> 65584 bytes pisi-index.xml.xz.sha1sum | 2 +- 10 files changed, 2367 insertions(+), 865 deletions(-) create mode 100644 multimedia/graphics/jasper/actions.py create mode 100644 multimedia/graphics/jasper/files/jasper-1.900.1-fixes-20081208.patch.bz2 create mode 100644 multimedia/graphics/jasper/pspec.xml create mode 100644 multimedia/graphics/jasper/translations.xml diff --git a/desktop/toolkit/qt5/qt5-base/pspec.xml b/desktop/toolkit/qt5/qt5-base/pspec.xml index 777c2d5007..cfad7f908c 100644 --- a/desktop/toolkit/qt5/qt5-base/pspec.xml +++ b/desktop/toolkit/qt5/qt5-base/pspec.xml @@ -21,7 +21,7 @@ glib2-devel desktop-file-utils fontconfig-devel - geoclue-devel + gperf gst-plugins-base-devel gstreamer-devel @@ -38,7 +38,7 @@ libxcb-devel libXcomposite-devel libxkbcommon-devel - libxslt-devel + libxslt mesa-devel libmtdev-devel nss-devel diff --git a/hardware/printer/cups-filters/pspec.xml b/hardware/printer/cups-filters/pspec.xml index 67ae9e2eae..0428144e0b 100644 --- a/hardware/printer/cups-filters/pspec.xml +++ b/hardware/printer/cups-filters/pspec.xml @@ -21,6 +21,7 @@ Contains backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc. In addition it contains additional filters developed independently of Apple, especially filters for the PDF-centric printing workflow introduced by OpenPrinting. http://www.openprinting.org/download/cups-filters/cups-filters-1.0.66.tar.xz + cups-devel tiff-devel ghostscript lcms2-devel @@ -37,6 +38,7 @@ cups-filters + cups tiff lcms2 gnutls diff --git a/multimedia/graphics/jasper/actions.py b/multimedia/graphics/jasper/actions.py new file mode 100644 index 0000000000..909d85deae --- /dev/null +++ b/multimedia/graphics/jasper/actions.py @@ -0,0 +1,29 @@ +#!/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 libtools +from pisi.actionsapi import get + +def setup(): + autotools.autoreconf("-fi") + + libtools.libtoolize("--force --install") + + autotools.configure("--enable-libjpeg \ + --enable-opengl \ + --enable-shared \ + --disable-static") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("NEWS", "README", "doc/*") diff --git a/multimedia/graphics/jasper/files/jasper-1.900.1-fixes-20081208.patch.bz2 b/multimedia/graphics/jasper/files/jasper-1.900.1-fixes-20081208.patch.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..7a976838b7110589c00cb9d554fb474fe62fe539 GIT binary patch literal 8757 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 + + + + jasper + http://www.ece.uvic.ca/~mdadams/jasper + + PisiLinux Community + admins@pisilinux.org + + MIT + app:console + library + Software implementation of JPEG-2000 Part 1 + JasPer is a software-based implementation of the codec specified in the JPEG-2000 Part-1 standard (ISO/IEC 15444-1:2000). + http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-1.900.1.zip + + freeglut-devel + mesa-devel + mesa-glu-devel + + + jasper-1.900.1-fixes-20081208.patch.bz2 + + + + + jasper + + freeglut + mesa + mesa-glu + libjpeg-turbo + + + /usr/bin + /usr/lib + /usr/share/man + + + + + jasper-docs + + jasper + + + /usr/share/doc + + + + + jasper-devel + Development files for jasper + + jasper + + + /usr/include + + + + + jasper-32bit + emul32 + 32-bit shared libraries for jasper + emul32 + + mesa-32bit + freeglut-32bit + libjpeg-turbo-32bit + + + jasper + mesa-32bit + freeglut-32bit + libjpeg-turbo-32bit + + + /usr/lib32 + + + + + + 2014-05-21 + 1.900.1 + Rebuild + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-02-20 + 1.900.1 + Rebuild + Kamil Atlı + suvarice@gmail.com + + + 2013-08-17 + 1.900.1 + Release bump. + PisiLinux Community + admins@pisilinux.org + + + 2011-07-07 + 1.900.1 + First release + Anıl Özbek + admins@pisilinux.org + + + \ No newline at end of file diff --git a/multimedia/graphics/jasper/translations.xml b/multimedia/graphics/jasper/translations.xml new file mode 100644 index 0000000000..d1e0b21996 --- /dev/null +++ b/multimedia/graphics/jasper/translations.xml @@ -0,0 +1,17 @@ + + + + jasper + JasPer JPEG-2000 Part-1 codec standardı üzerinde konumlandırılmış bir yazılım + + + + jasper-devel + jasper için geliştirme dosyaları + + + + jasper-32bit + jasper için 32-bit paylaşımlı kitaplıklar + + diff --git a/pisi-index.xml b/pisi-index.xml index 168c1b805d..0c89d2f1c8 100644 --- a/pisi-index.xml +++ b/pisi-index.xml @@ -1,4 +1,182 @@ + + + jbigkit + http://www.cl.cam.ac.uk/~mgk25/jbigkit/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + app:console + multimedia.graphics + A portable library of compression and decompression functions + Taşınabilir bir sıkıştırma kitaplığı + JBIG-KIT implements a highly effective data compression algorithm for bi-level high-resolution images such as fax pages or scanned documents. + jbigkit, faks sayfaları ve taranmış belgeler gibi yüksek çözünürlüklü görüntüler için, yüksek performanslı bir sıkıştırma kitaplığıdır. + http://www.cl.cam.ac.uk/~mgk25/download/jbigkit-2.0.tar.gz + + jbigkit-2.0-shared.diff + + multimedia/graphics/jbigkit/pspec.xml + + + jbigkit + + /usr/share/doc + /usr/share/man + /usr/bin + /usr/lib + + + + jbigkit-devel + Development files for jbigkit + jbigkit için geliştirme dosyaları + + jbigkit + + + /usr/include + + + + + 2014-05-19 + 2.0 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-01-27 + 2.0 + Rebuild + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2010-10-12 + 2.0 + First release + Pisi Linux Admins + admins@pisilinux.org + + + + + + jasper + http://www.ece.uvic.ca/~mdadams/jasper + + PisiLinux Community + admins@pisilinux.org + + MIT + app:console + library + multimedia.graphics + Software implementation of JPEG-2000 Part 1 + JasPer JPEG-2000 Part-1 codec standardı üzerinde konumlandırılmış bir yazılım + JasPer is a software-based implementation of the codec specified in the JPEG-2000 Part-1 standard (ISO/IEC 15444-1:2000). + http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-1.900.1.zip + + freeglut-devel + mesa-devel + mesa-glu-devel + + + jasper-1.900.1-fixes-20081208.patch.bz2 + + multimedia/graphics/jasper/pspec.xml + + + jasper + + freeglut + mesa + mesa-glu + libjpeg-turbo + + + /usr/bin + /usr/lib + /usr/share/man + + + + jasper-docs + + jasper + + + /usr/share/doc + + + + jasper-devel + Development files for jasper + jasper için geliştirme dosyaları + + jasper + + + /usr/include + + + + jasper-32bit + 32-bit shared libraries for jasper + jasper için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + mesa-32bit + freeglut-32bit + libjpeg-turbo-32bit + + + jasper + mesa-32bit + freeglut-32bit + libjpeg-turbo-32bit + + + /usr/lib32 + + + + + 2014-05-21 + 1.900.1 + Rebuild + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-02-20 + 1.900.1 + Rebuild + Kamil Atlı + suvarice@gmail.com + + + 2013-08-17 + 1.900.1 + Release bump. + PisiLinux Community + admins@pisilinux.org + + + 2011-07-07 + 1.900.1 + First release + Anıl Özbek + admins@pisilinux.org + + + libmng @@ -83,6 +261,100 @@ + + + lcms2 + http://www.littlecms.com + + PisiLinux Community + admins@pisilinux.org + + MIT + app:console + library + multimedia.graphics + A color management library. + Little cms is a color management library. Implements fast transforms between ICC profiles. It is focused on speed, and is portable across several platforms. + http://sourceforge.net/projects/lcms/files/lcms/2.6/lcms2-2.6.tar.gz + + libjpeg-turbo-devel + tiff-devel + + multimedia/graphics/lcms2/pspec.xml + + + lcms2 + + libjpeg-turbo + tiff + + + /usr/bin + /usr/lib + /usr/share/lcms/ + /usr/share/man + /usr/share/doc + + + + lcms2-devel + Development files for lcms2 + + lcms2 + + + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/include + + + + lcms2-32bit + 32-bit shared libraries for lcms2 + emul32 + + tiff-32bit + libjpeg-turbo-32bit + + + lcms2 + glibc-32bit + + + /usr/lib32 + + + + + 2014-05-15 + 2.6 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-01-29 + 2.5 + Rebuild + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2013-07-02 + 2.5 + Version bump + Marcin Bojara + marcin@pisilinux.org + + + 2012-10-31 + 2.3 + First release + Marcin Bojara + marcin@pisilinux.org + + + libjpeg-turbo @@ -134,7 +406,11 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression 32-bit shared libraries for jpeg emul32 emul32 + + glibc-32bit + + glibc-32bit libjpeg-turbo @@ -182,6 +458,67 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + libdmtx + http://www.libdmtx.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv2+ + library + multimedia.graphics + A Library for working with Data Matrix 2D bar-codes + Data Matrix 2D barkodlarıyla çalışmak için kitaplık + libdmtx is an open source software for reading and writing Data Matrix 2D bar-codes on Linux, Unix, OS X, Windows and mobile devices. + libdmtx, Linux, Unix, OS X, Windows ve mobil işletim sistemlerinde Data Matrix 2D barkodlarını okumak ve yazmak için kullanılan açık kaynaklı bir kitaplıktır. + http://sourceforge.net/projects/libdmtx/files/libdmtx/0.7.4/libdmtx-0.7.4.tar.gz + + imagemagick-devel + + multimedia/graphics/libdmtx/pspec.xml + + + libdmtx + + imagemagick + + + /usr/lib + /usr/share/doc + + + + libdmtx-devel + Development files for libdmtx + libdmtx için geliştirme dosyaları + + libdmtx + + + /usr/include + /usr/lib/pkgconfig + /usr/share/man/man3 + + + + + 2015-06-05 + 0.7.4 + Rebuild. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2011-08-09 + 0.7.4 + First release + Pisi Linux Admins + admins@pisilinux.org + + + webp @@ -355,8 +692,8 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression tiff libjpeg-turbo-32bit - xz-32bit - zlib-32bit + glibc-32bit + libgcc /usr/lib32 @@ -3966,6 +4303,577 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + qrencode + http://fukuchi.org/works/qrencode/index.en.html + + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + LGPLv2.1 + library + programming.misc + A C library for encoding data in a QR code symbol + QR kod sembolüne veri gömmek için bir kitaplık + qrencode is a C library for encoding data in a QR Code symbol, a kind of 2D symbology that can be scanned by handy terminals such as a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000 characters, and is highly robust. + qrencode, cep telefonları gibi mobil cihazlar tarafından kolaylıkla taranabilen, 2 boyutlu bir sembol olan QR kod içerisinde veri gömmek için kullanılan bir kitaplıktır. + http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz + + libsdl-devel + m4 + + programming/misc/qrencode/pspec.xml + + + qrencode + + libpng + + + /usr/lib + /usr/bin/qrencode + /usr/share/man/man1 + /usr/share/doc + + + + qrencode-devel + Development files for qrencode + qrencode için geliştirme dosyaları + + qrencode + + + /usr/include + /usr/lib/pkgconfig + + + + + 2015-02-22 + 3.4.4 + Rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-02-22 + 3.3.1 + Rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2012-04-05 + 3.3.1 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + poppler-data + http://poppler.freedesktop.org/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + BSD + data + office.postscript + Poppler encoding files + Poppler kodlama dosyaları + poppler-data consists of encoding files for poppler. When installed, the encoding files enables poppler to correctly render CJK and Cyrillic properly. + poppler-data, poppler için CJK ve Kiril harflerini düzgünce gösterebilmek için gerekli kodlama dosyalarını içerir. + http://poppler.freedesktop.org/poppler-data-0.4.7.tar.gz + office/postscript/poppler-data/pspec.xml + + + poppler-data + + /usr/share/doc + /usr/share/poppler + /usr/share/pkgconfig + + + + + 2015-03-05 + 0.4.7 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-05-25 + 0.4.6 + Rebuild + Alihan Öztürk + alihan@pisilinux.org + + + 2014-03-10 + 0.4.6 + Rebuild + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-04-17 + 0.4.6 + Version bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-09-12 + 0.4.5 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + ghostscript + http://www.ghostscript.com + + PisiLinux Community + admins@pisilinux.org + + GPLv3+ + library + office.postscript + A PostScript interpreter and renderer + Bir PostScript yorumlayıcısı ve üreticisi + ghostscript is a set of software that provides a PostScript interpreter, a set of C procedures and an interpreter for PDF files. ghostscript is normally used to display PostScript files and to print PostScript files to non-PostScript printers. + ghostscript, PostScript yorumlayıcısı, C kitaplığı ve PDF yorumlayıcısı içeren bir yazılım paketidir. ghostscript, PostScript dosyalarının görüntülenmesi ve PostScript olmayan yazıcılardan PostScript dosyalarının çıktılarının alınması için kullanılmaktadır. + http://downloads.ghostscript.com/public/ghostscript-9.15.tar.bz2 + + tiff-devel + zlib-devel + libX11-devel + libXext-devel + libSM-devel + freetype-devel + libjpeg-turbo-devel + lcms2-devel + libXt-devel + libpng-devel + libpaper-devel + fontconfig-devel + + + ubuntu/02_gs-man-fix-for-debian.patch + fedora/ghostscript-Fontmap.local.patch + fedora/ghostscript-gdevcups-debug-uninit.patch + fedora/ghostscript-iccprofiles-initdir.patch + fedora/ghostscript-multilib.patch + fedora/ghostscript-noopt.patch + fedora/ghostscript-runlibfileifexists.patch + fedora/ghostscript-scripts.patch + fedora/ghostscript-sys-zlib.patch + fedora/ghostscript-icc-missing-check.patch + fedora/ghostscript-wrf-snprintf.patch + fedora/ghostscript-gs694154.patch + + office/postscript/ghostscript/pspec.xml + + + ghostscript + + zlib + libX11 + libpng + freetype + libjpeg-turbo + tiff + lcms2 + libXt + libpaper + fontconfig + poppler-data + gnu-gs-fonts-std + + + /usr/bin + /usr/lib + /usr/share/man + /usr/share/doc + /usr/share/cups + /usr/share/ghostscript + + + + ghostscript-docs + Documentation for ghostscript + ghostscript için çeşitli belgeler + + /usr/share/doc/ghostscript/html + /usr/share/doc/ghostscript/examples + + + + ghostscript-devel + Development files for ghostscript + ghostscript için geliştirme dosyaları + + ghostscript + + + /usr/bin/ijs-config + /usr/include/ghostscript + /usr/include/ijs + /usr/lib/pkgconfig + + + + ghostscript-32bit + 32-bit shared libraries for ghostscript + emul32 + emul32 + + libjpeg-turbo-32bit + zlib-32bit + tiff-32bit + lcms2-32bit + libXt-32bit + libXext-32bit + libX11-32bit + libpng-32bit + libidn-32bit + freetype-32bit + fontconfig-32bit + + + ghostscript + libjpeg-turbo-32bit + glibc-32bit + zlib-32bit + tiff-32bit + lcms2-32bit + libXt-32bit + libX11-32bit + libpng-32bit + freetype-32bit + fontconfig-32bit + + + /usr/lib32 + + + + + 2015-03-04 + 9.15 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-05-20 + 9.14 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-21 + 9.10 + Version bump. + Aydın Demirel + aydin.demirel@pisilinux.org + + + 2013-06-27 + 9.07 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-01-22 + 9.06 + Add emul32, fix dependencies + Marcin Bojara + marcin@pisilinux.org + + + 2012-09-12 + 9.06 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + poppler + http://poppler.freedesktop.org/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + office.postscript + PDF rendering library + Xpdf koduna dayanan bir PDF kitaplığı + Biblioteka renderująca PDF + Poppler est une librairie de rendu PDF basée sur le code source de xpdf-3.0. + poppler is a PDF rendering library based on xpdf. + Poppler, xpdf koduna dayanan bir PDF hazırlama kitaplığıdır. + Wspólna biblioteka renderująca PDF do integrowania oglądania PDF w aplikacjach desktopowych (oparta na kodzie xpdf-3.0). + http://poppler.freedesktop.org/poppler-0.31.0.tar.xz + + qt-devel + lcms2-devel + libjpeg-turbo-devel + gtk2-devel + cairo-devel + libpng-devel + openjpeg-devel + tiff-devel + fontconfig-devel + gdk-pixbuf-devel + + office/postscript/poppler/pspec.xml + + + poppler + + lcms2 + libjpeg-turbo + libpng + openjpeg + tiff + fontconfig + poppler-data + + + /usr/lib + /usr/share/doc + + + + poppler-utils + Command line utilities for converting PDF files + PDF dönüşüm araçları + + poppler + cairo + lcms2 + + + /usr/bin + /usr/share/man/man1 + + + + poppler-qt + Qt wrapper for poppler + Poppler için Qt bağlayıcısı + + qt + poppler + + + /usr/lib/libpoppler-qt4.so* + + + + poppler-qt-devel + Development files for poppler-qt + poppler-qt için geliştirme dosyaları + + poppler-qt + poppler-devel + + + /usr/lib/pkgconfig/poppler-qt4.pc + + + + poppler-cpp + Pure C++ wrapper for poppler + Poppler için C++ bağlayıcısı + + poppler + + + /usr/lib/libpoppler-cpp.so* + + + + poppler-cpp-devel + Development files for poppler-cpp + poppler-cpp için geliştirme dosyaları + + poppler-cpp + poppler-devel + + + /usr/lib/pkgconfig/poppler-cpp.pc + + + + poppler-glib + Glib wrapper for poppler + Poppler için Glib bağlayıcısı + + cairo + gdk-pixbuf + poppler + + + /usr/lib/libpoppler-glib.so* + /usr/lib/girepository-1.0/Poppler-0.18.typelib + + + + poppler-glib-devel + Development files for poppler-glib + poppler-glib için geliştirme dosyaları + + gtk2-devel + cairo-devel + gdk-pixbuf-devel + poppler-glib + poppler-devel + + + /usr/lib/pkgconfig/poppler-glib.pc + /usr/lib/pkgconfig/poppler-cairo.pc + /usr/share/gir-1.0/Poppler-0.18.gir + /usr/lib32/pkgconfig/poppler-glib.pc + + + + poppler-devel + Development files for poppler + poppler için geliştirme dosyaları + + poppler + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig/poppler.pc + + + + poppler-32bit + 32-bit shared libraries for poppler + emul32 + emul32 + + lcms2-32bit + libjpeg-turbo-32bit + libpng-32bit + openjpeg-32bit + tiff-32bit + freetype-32bit + fontconfig-32bit + + + poppler + lcms2-32bit + libjpeg-turbo-32bit + libpng-32bit + openjpeg-32bit + tiff-32bit + freetype-32bit + fontconfig-32bit + + + /usr/lib32/libpoppler.so* + + + + poppler-glib-32bit + 32-bit shared libraries for poppler-glib + emul32 + emul32 + + glib2-32bit + cairo-32bit + freetype-32bit + + + poppler-32bit + glib2-32bit + cairo-32bit + freetype-32bit + + + /usr/lib32/libpoppler-glib.so* + + + + + 2015-03-04 + 0.31.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-05-25 + 0.26.0 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-01-27 + 0.24.5 + Version bump. + PisiLinux Community + admins@pisilinux.org + + + 2013-10-10 + 0.24.2 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-07-28 + 0.22.5 + Move pc files to devel pack, fix pc files for emul32. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-01 + 0.22.5 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-04-17 + 0.22.3 + Version bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-10-18 + 0.20.5 + First release + Marcin Bojara + marcin@pisilinux.org + + + postgresql @@ -4454,6 +5362,168 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + mit-kerberos + http://web.mit.edu/kerberos/www/ + + PisiLinux Community + admins@pisilinux.org + + as-is + library + app:console + server.auth + MIT Kerberos Library + MIT Kerberos kütüphanesi + Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography. + Kerberos bir ağ doğrulama protokolüdür. Sunucu/istemci uygulamalarında, gizli anahtar kriptoloji teknolojisini kullanarak, güçlü bir doğrulama sağlar. + http://source.pisilinux.org/1.0/krb5-1.13.1.tar.gz + + keyutils + openssl-devel + e2fsprogs-devel + + + krb5-config_LDFLAGS.patch + rebuild-configure-scripts.patch + fix-python-detection.patch + + server/auth/mit-kerberos/pspec.xml + + + mit-kerberos + + keyutils + openssl + e2fsprogs + + + /etc + /usr/include + /usr/bin + /usr/sbin + /usr/lib + /usr/share + /var/lib + /usr/share/info + /usr/share/man + + + krb5.conf + kdc.conf + + + + + 2015-04-23 + 1.13.1 + Version bump,fix deps. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-12-13 + 1.13 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-05-17 + 1.12.1 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-01-22 + 1.11.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-02-20 + 1.11 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-09-27 + 1.10.3 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + keyutils + http://people.redhat.com/~dhowells/keyutils/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2+ + LGPLv2+ + library + app:console + unknown + Linux key management utilities + Linux anahtar yönetim araçları + keyutils contains utilities to control the kernel key management facility and to provide a mechanism by which the kernel call back to userspace to get a key instantiated. + keyutils, Linux çekirdeğindeki anahtar yönetim kolaylıklarını denetlemek ve çekirdek ile kullanıcı uzayı arasında iletişim kurmak için gereken araçları içerir. + http://people.redhat.com/~dhowells/keyutils/keyutils-1.5.9.tar.bz2 + util/crypt/keyutils/pspec.xml + + + keyutils + + /etc + /bin + /sbin + /usr/include + /usr/lib + /lib + /usr/share/man + /usr/share/doc + /usr/share/keyutils + + + + + 2014-05-22 + 1.5.9 + Rebuild. + Kamil Atlı + suvarice@gmail.com + + + 2014-04-03 + 1.5.9 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-13 + 1.5.8 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2010-10-12 + 1.5.5 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + nss @@ -4626,316 +5696,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - - - libX11 - http://www.x.org/ - - PisiLinux Community - admins@pisilinux.org - - MIT - library - system - Librairie X11 de X.Org. - X.Org X11 library - X.Org X11 kitaplığı - X.Org X11 Bibliothek - Core X11 protocol client library. - mirrors://xorg/individual/lib/libX11-1.6.3.tar.bz2 - - libxcb-devel - xorg-proto - util-macros - xtrans - - system/base/libX11/pspec.xml - - - libX11 - - libxcb - - - /usr/lib/libX11* - /usr/lib/X11 - /usr/share/X11 - /usr/share/doc/libX11 - - - - libX11-devel - Development files for X11 library - libX11 için geliştirme dosyaları - - libX11 - libxcb-devel - xorg-proto - - - /usr/include/X11 - /usr/lib/pkgconfig - /usr/lib32/pkgconfig - /usr/share/man - - - - libX11-32bit - 32-bit shared libraries for libX11 - libX11 için 32-bit paylaşımlı kitaplıklar - emul32 - emul32 - - libxcb-32bit - glibc-32bit - - - libX11 - libxcb-32bit - glibc-32bit - - - /usr/lib32 - - - - - 2015-05-22 - 1.6.3 - Version bump. - Ertuğrul Erata - ertugrulerata@gmail.com - - - 2014-05-11 - 1.6.2 - Release bump. - Marcin Bojara - marcin@pisilinux.org - - - 2013-10-07 - 1.6.2 - Rebuild. - Serdar Soytetir - kaptan@pisilinux.org - - - 2013-09-12 - 1.6.2 - Version bump. - Marcin Bojara - marcin@pisilinux.org - - - 2013-07-30 - 1.6.1 - Version bump. - Marcin Bojara - marcin@pisilinux.org - - - 2013-06-21 - 1.6.0 - Version bump. - Marcin Bojara - marcin@pisilinux.org - - - 2012-11-24 - 1.5.0 - First release - Serdar Soytetir - kaptan@pisilinux.org - - - - - - gperf - http://www.gnu.org/software/gperf/gperf.html - - PisiLinux Community - admins@pisilinux.org - - GPLv2 - app:console - system - A perfect hash function generator - Mükemmel hash üreticisi - gperf is a perfect hash function generator. For a given list of strings, it produces a hash function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single string comparison only. - gperf mükemmel hash fonksiyonu üretecidir. Verilen bir katar listesi için C ve C++ kodu biçiminde bir hash fonksiyonu ve hash tablosu üretir. - GNU gperf es un generador de perfect hash. Produce una función hash y una tabla hash a base de una lista de cadenas, en forma de código C o C++ , para revisar valores dependiendo de una cadena de entrada. La función de hash es perfecta, lo que quiere decir que no hay colisiones en la tabla de hash, y para la búsqueda en la tabla hash se necesita solamente una comparación. - mirrors://gnu/gperf/gperf-3.0.4.tar.gz - system/base/gperf/pspec.xml - - - gperf - - libgcc - - - /usr/bin - /usr/share/doc - /usr/share/info - /usr/share/man - - - - - 2014-05-11 - 3.0.4 - Release bump. - Marcin Bojara - marcin@pisilinux.org - - - 2013-10-24 - 3.0.4 - Rebuild. - Ertuğrul Erata - ertugrulerata@gmail.com - - - 2013-07-26 - 3.0.4 - Fix dep,release bump. - PisiLinux Community - admins@pisilinux.org - - - 2012-08-23 - 3.0.4 - First release - PisiLinux Community - admins@pisilinux.org - - - - - - libxcb - http://xcb.freedesktop.org/ - - PisiLinux Community - admins@pisilinux.org - - MIT - library - system - The X protocol C-language Binding (XCB) - X protokolü için C dili bağlayıcısı (XCB) - The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility. - http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2 - - libXau-devel - libXdmcp-devel - libxslt - util-macros - xcb-proto - - - libxcb-1.1-no-pthread-stubs.patch - - system/base/libxcb/pspec.xml - - - libxcb - - libXau - libXdmcp - glibc - - - /usr/lib - /usr/share/man - /usr/share/doc - - - - libxcb-devel - Development files for libxcb - libxcb için geliştirme dosyaları - - libxcb - libXau-devel - libXdmcp-devel - - - /usr/include/xcb - /usr/lib/pkgconfig - /usr/lib32/pkgconfig - - - pthread-stubs.pc - - - - libxcb-32bit - 32-bit shared libraries for libxcb - libxcb için 32-bit paylaşımlı kitaplıklar - emul32 - emul32 - - libXau-32bit - libXdmcp-32bit - glibc-32bit - - - libxcb - libXau-32bit - libXdmcp-32bit - glibc-32bit - - - /usr/lib32 - - - - - 2015-05-22 - 1.11 - Version bump. - Marcin Bojara - marcin@pisilinux.org - - - 2014-05-11 - 1.10 - Release bump. - Marcin Bojara - marcin@pisilinux.org - - - 2014-03-07 - 1.10 - Version bump. - Yusuf Aydemir - yusuf.aydemir@pisilinux.org - - - 2013-10-08 - 1.9.1 - Rebuild. - Serdar Soytetir - kaptan@pisilinux.org - - - 2013-07-28 - 1.9.1 - Version bump. - Marcin Bojara - marcin@pisilinux.org - - - 2012-11-18 - 1.9 - First release - Erdinç Gültekin - admins@pisilinux.org - - - libSM @@ -4955,13 +5715,17 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression mirrors://xorg/individual/lib/libSM-1.2.2.tar.bz2 libICE-devel - libuuid-devel + libutil-linux-devel + util-macros + xorg-proto + xtrans x11/library/libSM/pspec.xml libSM + libutil-linux libICE @@ -4992,12 +5756,14 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression emul32 emul32 + glibc-32bit libICE-32bit - libuuid-32bit + libutil-linux-32bit + glibc-32bit libICE-32bit - libuuid-32bit + libutil-linux-32bit libSM @@ -6082,6 +6848,126 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + libXt + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie Xt de X.Org + X.Org Xt library + X.Org Xt kitaplığı + X.Org Xt Bibliothek + LibXt provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif. + mirrors://xorg/individual/lib/libXt-1.1.4.tar.bz2 + + libICE-devel + libSM-devel + xorg-proto + libX11-devel + + x11/library/libXt/pspec.xml + + + libXt + + libICE + libSM + libX11 + + + /usr/bin + /usr/lib + /usr/share/X11 + /usr/share/doc + + + + libXt-devel + Development files for libXt + libXt için geliştirme dosyaları + + libXt + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libXt-32bit + 32-bit shared libraries for libXt + libXt için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + glibc-32bit + libX11-32bit + libSM-32bit + + + glibc-32bit + libXt + libX11-32bit + libSM-32bit + libICE-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 1.1.4 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.1.4 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 1.1.4 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.1.4 + Rebuild + PisiLinux Community + admins@pisilinux.org + + + 2013-06-21 + 1.1.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.1.3 + First release + Erdem Artan + admins@pisilinux.org + + + libXtst @@ -6110,6 +6996,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXtst libXext + libX11 /usr/lib @@ -6127,10 +7014,12 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXext-32bit libXi-32bit libX11-32bit + glibc-32bit libX11-32bit libXext-32bit + glibc-32bit libXtst @@ -7119,6 +8008,10 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression mirrors://xorg/individual/lib/libICE-1.0.9.tar.bz2 libbsd-devel + util-macros + xorg-proto + xtrans + libxslt x11/library/libICE/pspec.xml @@ -7151,7 +8044,11 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libICE için 32-bit paylaşımlı kitaplıklar emul32 emul32 + + glibc-32bit + + glibc-32bit libICE @@ -8507,6 +9404,241 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + libpaper + http://packages.debian.org/unstable/source/libpaper + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + hardware.printer + Library for handling paper characteristics + Kağıt özelliklerini düzenlemek için kitaplık + Libpaper is a programming library for handling paper characteristics. + libpaper, kağıt özelliklerini düzenlemek için bir programlama kitaplığıdır. + Libpaper es una librería de programación para manejar características de papel. + http://ftp.debian.org/debian/pool/main/libp/libpaper/libpaper_1.1.24.tar.gz + + libpaper-1.1.23-debianbug475683.patch + libpaper-useglibcfallback.patch + + hardware/printer/libpaper/pspec.xml + + + libpaper + + /usr/bin + /usr/sbin + /usr/lib + /etc/ + /usr/share/man + /usr/share/doc + /usr/share/locale + + + papersize + + + + libpaper-devel + Development files for libpaper + libpaper için geliştirme dosyaları + + libpaper + + + /usr/include + /usr/share/man/man3 + + + + + 2014-05-21 + 1.1.24 + rebuild + Kamil Atlı + suvarice@gmail.com + + + 2010-10-13 + 1.1.24 + First release + Pisi Linux Admins + admins@pisilinux.org + + + + + + cups-filters + http://www.openprinting.org + + Marcin Bojara + marcin@pisilinux.org + + GPLv2 + GPLv3 + GPLv2+ + GPLv3+ + LGPLv2+ + MIT + data + library + app:console + hardware.printer + OpenPrinting CUPS filters and backends + Contains backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc. In addition it contains additional filters developed independently of Apple, especially filters for the PDF-centric printing workflow introduced by OpenPrinting. + http://www.openprinting.org/download/cups-filters/cups-filters-1.0.66.tar.xz + + cups-devel + tiff-devel + ghostscript + lcms2-devel + gnutls-devel + mit-kerberos + fontconfig-devel + libjpeg-turbo-devel + qpdf-devel + ghostscript-devel + poppler-devel + + hardware/printer/cups-filters/pspec.xml + + + cups-filters + + cups + tiff + lcms2 + gnutls + fontconfig + foomatic-db + mit-kerberos + libjpeg-turbo + qpdf + ghostscript + poppler + + + /usr/lib + /usr/share/man + /usr/share/doc + /usr/share/ppd + /usr/bin + /usr/share/cups + /etc/cups/cups-browsed.conf + /etc/fonts/conf.d/99pdftoopvp.conf + + + cups + foomatic-filters + + + foomatic-filters + + + + cups-filters-devel + Development files for cups-filters + Cups-filters için geliştirme dosyaları + + cups-filters + + + /usr/include + /usr/lib/pkgconfig + + + + + 2015-03-08 + 1.0.66 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-02-15 + 1.0.65 + Version bump. + Hakan Yıldız + hknyldz93@gmail.com + + + 2014-09-25 + 1.0.58 + Verison bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-17 + 1.0.53 + Verison bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-05 + 1.0.44 + Rebuild to replace foomatic-filters. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-01-28 + 1.0.44 + rebuild for unused and runtime dep. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-01-18 + 1.0.44 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-11-02 + 1.0.41 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-16 + 1.0.40 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-10 + 1.0.39 + Cersion bump,rebuil for new poppler. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-07-28 + 1.0.35 + Dep Fixed + PisiLinux Community + admins@pisilinux.org + + + 2013-07-01 + 1.0.35 + First release. + Marcin Bojara + marcin@pisilinux.org + + + cups @@ -8529,8 +9661,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression zlib-devel libusb-devel libgcc - avahi-devel - cups-filters mit-kerberos libpaper-devel @@ -8561,7 +9691,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libusb libgcc libpaper - avahi-libs mit-kerberos @@ -8621,6 +9750,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression glibc-32bit zlib-32bit openssl-32bit + libgcc cups @@ -8913,6 +10043,49 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + gnu-gs-fonts-std + http://www.ghostscript.com + + Sezai Yeniay + sezaiyeniay@pisilinux.org + + GPLv2 + data + desktop.font + Ghostscript standard fonts + Ghostscript standard yazıtipleri + Ces fontes ont été construites à partir des fontes URW distribuées avec ghostcript. Il n'y AUCUN changemen dans leur partie latine. + gnu-gs-fonts-std contains fonts that were made from the free URW fonts distributed with ghostcript. There are no changes in the latin part of them. + Bu yazıtipleri ghostscript ile birlikte dağıtılan özgür URW yazıtiplerinden türetilmiştir. Latin bölümünde hiçbir değişiklik yapılmamıştır. + mirrors://sourceforge/ghostscript/ghostscript-fonts-std-8.11.tar.gz + desktop/font/gnu-gs-fonts-std/pspec.xml + + + gnu-gs-fonts-std + + /usr/share/fonts/default/ghostscript + /usr/share/doc + + + + + 2014-02-23 + 8.11 + Rebuild + Kamil Atlı + suvarice@gmail.com + + + 2012-09-20 + 8.11 + First release + Sezai Yeniay + sezaiyeniay@pisilinux.org + + + fontconfig @@ -12564,9 +13737,9 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression LGPLv2 library unknown - Framework which lets applications perform actions as a privileged user + Abstraction to system policy and authentication features Framework which lets applications perform actions as a privileged user - http://download.kde.org/stable/frameworks/5.10/kauth-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kauth-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -12593,7 +13766,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression kde5-kauth-devel Development files for kauth - kde5-kauth + kde5-kauth kde5-kcoreaddons-devel @@ -12603,6 +13776,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -12747,7 +13927,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown KDE5 desktop widgets KdeWidgetsAddons is a framework contains addon widgets and shared libraries for applications using Qt5-Widgets. - http://download.kde.org/stable/frameworks/5.10/kwidgetsaddons-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kwidgetsaddons-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -12773,7 +13953,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Development files for kwidgetsaddons qt5-base-devel - kde5-kwidgetsaddons + kde5-kwidgetsaddons /usr/include @@ -12782,6 +13962,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -12924,15 +14111,15 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression extra-cmake-modules http://www.kde.org - Idris Kalp - idriskalp@gmail.com + Pisi Linux Admins + admin@gmail.com LGPLv2 library unknown Extra cmake modules for KDE5 Extra cmake modules KDE5 - http://download.kde.org/stable/frameworks/5.10/extra-cmake-modules-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/extra-cmake-modules-5.11.0.tar.xz python-sphinx @@ -12941,39 +14128,18 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression extra-cmake-modules - /usr/lib /usr/share + /usr/lib /usr/share/man/man7 - - 2015-05-29 - 5.10.0 - Version bump. - Stefan Gronewold(groni) - groni@pisilinux.org - - - 2015-05-20 - 5.9.0 - Version bump. - Stefan Gronewold(groni) - groni@pisilinux.org - - - 2015-02-23 - 1.7.0 - Version bump. - Stefan Gronewold(groni) - groni@pisilinux.org - - 2014-09-20 - 1.2.1 - First release - Idris Kalp - idriskalp@gmail.com + 2015-06-20 + 5.11.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org @@ -13066,12 +14232,18 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown KDE5 document generator kdoctools is an application aims to generate documents from DocBook. - http://download.kde.org/stable/frameworks/5.10/kdoctools-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kdoctools-5.11.0.tar.xz qt5-base-devel perl-URI python + libgcc + libxml2-devel + docbook-xml + docbook-xsl + docbook-sgml4_5 kde5-ki18n-devel + kde5-karchive-devel extra-cmake-modules desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml @@ -13080,9 +14252,9 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression kde5-kdoctools qt5-base + libxml2 + libgcc libxslt - docbook-xsl - docbook-xml kde5-karchive @@ -13100,8 +14272,10 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Development files for kdoctools qt5-base-devel - kde5-kdoctools + kde5-kdoctools kde5-karchive-devel + libgcc + libxml2-devel /usr/include @@ -13110,6 +14284,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -13395,9 +14576,12 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown Qt 5 addon providing access to numerous types of archives KArchive provides classes for easy reading, creation and manipulation of "archive" formats like ZIP and TAR. - http://download.kde.org/stable/frameworks/5.10/karchive-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/karchive-5.11.0.tar.xz qt5-base-devel + xz-devel + zlib-devel + bzip2 extra-cmake-modules desktop/kde/kde5-framework/kde5-karchive/pspec.xml @@ -13419,7 +14603,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Development files for karchive qt5-base-devel - kde5-karchive + kde5-karchive /usr/include @@ -13428,6 +14612,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-20 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -14027,7 +15218,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown Addon with auto completion widgets and classes KCompletion provides widgets with advanced completion support as well as a lower-level completion class which can be used with your own widgets. - http://download.kde.org/stable/frameworks/5.10/kcompletion-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kcompletion-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -14056,7 +15247,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Development files for kcompletion qt5-base-devel - kde5-kcompletion + kde5-kcompletion kde5-kwidgetsaddons-devel @@ -14066,6 +15257,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -14089,10 +15287,18 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown KDE5 window manager access framework KWindowSystem provides information about the state of the window manager and allows asking the window manager to change the using a more high-level interface than the NETWinInfo/NETRootInfo low-level classes. - http://download.kde.org/stable/frameworks/5.10/kwindowsystem-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kwindowsystem-5.11.0.tar.xz qt5-base-devel qt5-tools-devel + qt5-x11extras-devel + libX11-devel + libgcc + libxcb-devel + libXrender-devel + libXfixes-devel + xcb-util-devel + xcb-util-keysyms-devel extra-cmake-modules desktop/kde/kde5-framework/kde5-kwindowsystem/pspec.xml @@ -14101,6 +15307,9 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression kde5-kwindowsystem qt5-base + libX11 + libgcc + libxcb qt5-x11extras libXfixes xcb-util-keysyms @@ -14123,7 +15332,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXfixes-devel xcb-util-devel xcb-util-keysyms-devel - kde5-kwindowsystem + kde5-kwindowsystem /usr/include @@ -14132,6 +15341,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-23 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -14209,7 +15425,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown Plugins allowing Qt applications to access further types of images KDE5 KCodecs provide a collection of methods to manipulate strings using various encodings. - http://download.kde.org/stable/frameworks/5.10/kcodecs-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kcodecs-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -14235,7 +15451,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Development files for kcodecs qt5-base-devel - kde5-kcodecs + kde5-kcodecs /usr/include @@ -14244,6 +15460,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -14461,10 +15684,10 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown KDE Gettext-based UI text internationalization. KI18n provides functionality for internationalizing user interface text in applications, based on the GNU Gettext translation system. - http://download.kde.org/stable/frameworks/5.10/ki18n-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/ki18n-5.11.0.tar.xz qt5-base-devel - python + python3 extra-cmake-modules desktop/kde/kde5-framework/kde5-ki18n/pspec.xml @@ -14481,13 +15704,14 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression /usr/lib/qt5 /usr/lib /usr/share/doc + /usr/share/man kde5-ki18n-devel Development files for kde5-ki18n - kde5-ki18n + kde5-ki18n /usr/include @@ -14496,6 +15720,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -14520,16 +15751,12 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown Advanced configuration system for KDE Frameworks 5 Kconfig provides advanced libraries and tools for accessing configuration files. - http://download.kde.org/stable/frameworks/5.10/kconfig-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kconfig-5.11.0.tar.xz qt5-base-devel qt5-tools-devel extra-cmake-modules - - 0001-ensure-platform-window-resize-processing.patch - session-restore.patch - desktop/kde/kde5-framework/kde5-kconfig/pspec.xml @@ -14551,7 +15778,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Development files for kde5-kconfig qt5-base-devel - kde5-kconfig + kde5-kconfig /usr/include @@ -14560,6 +15787,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -14888,10 +16122,12 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown KDE5 hardware integration framework Solid is a device integration framework.It provides a way of querying and interacting with hardware independently of the underlying operating system. - http://download.kde.org/stable/frameworks/5.10/solid-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/solid-5.11.0.tar.xz qt5-base-devel + libudev-devel qt5-tools-devel + qt5-declarative extra-cmake-modules desktop/kde/kde5-framework/kde5-solid/pspec.xml @@ -14900,7 +16136,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression kde5-solid qt5-base - qt5-declarative /usr/share @@ -14916,7 +16151,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Development files for solid qt5-base-devel - kde5-solid + kde5-solid /usr/include @@ -14925,6 +16160,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-23 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-31 5.10.0 @@ -14947,7 +16189,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown KDE5 Frameworks API documentation tools. KDE5 Frameworks API documentation tools. - http://download.kde.org/stable/frameworks/5.10/kapidox-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kapidox-5.11.0.tar.xz python-Jinja2 python-PyYAML @@ -14965,11 +16207,17 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression /usr/bin /usr/lib /usr/share - /usr/share/locale /usr/share/doc + + 2015-06-20 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -15133,10 +16381,11 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown Kconfig widgets KDE5-KConfigWidgets provides easy-to-use classes to create configuration dialogs, as well as a set of widgets which uses KConfig to store their settings. - http://download.kde.org/stable/frameworks/5.10/kconfigwidgets-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kconfigwidgets-5.11.0.tar.xz qt5-base-devel python3 + kde5-ki18n-devel kde5-kdoctools-devel extra-cmake-modules @@ -15168,14 +16417,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression kde5-kconfigwidgets-devel Development files for kconfigwidgets - qt5-base-devel - kde5-kconfigwidgets - kde5-kauth-devel - kde5-kcodecs-devel - kde5-kconfig-devel - kde5-kguiaddons-devel - kde5-ki18n-devel - kde5-kwidgetsaddons-devel + kde5-kconfigwidgets /usr/include @@ -15184,6 +16426,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -15206,7 +16455,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown Open Collaboration Service client library, based on Qt 5 Attica is a library to access Open Collaboration Service servers, based on Qt 5. - http://download.kde.org/stable/frameworks/5.10/attica-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/attica-5.11.0.tar.xz qt5-base-devel extra-cmake-modules @@ -15230,7 +16479,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Development files for attica5 qt5-base-devel - kde5-attica + kde5-attica /usr/include @@ -15239,6 +16488,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-20 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -15246,13 +16502,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Stefan Gronewold(groni) groni@pisilinux.org - - 2014-09-20 - 5.2.0 - First release - Idris Kalp - idriskalp@gmail.com - @@ -15330,7 +16579,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown Utilities for core application functionality and accessing the OS KCoreAddons provides classes built on top of QtCore to perform various tasks such as manipulating mime types, autosaving files, creating backup files, generating random sequences, performing text manipulations such as macro replacement, accessing user information and many more. - http://download.kde.org/stable/frameworks/5.10/kcoreaddons-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kcoreaddons-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -15358,15 +16607,25 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Development files for kcoreaddons qt5-base-devel - kde5-kcoreaddons + kde5-kcoreaddons /usr/include /usr/lib/cmake /usr/lib/pkgconfig + + System.Package + + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -15390,7 +16649,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown Extra modules for Qt-DBus KDE5-KDBusAddons provides convenience classes on top of QtDBus, as well as an API to create KDED modules. - http://download.kde.org/stable/frameworks/5.10/kdbusaddons-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kdbusaddons-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -15418,7 +16677,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Development files for kdbusaddons qt5-base-devel - kde5-kdbusaddons + kde5-kdbusaddons /usr/include @@ -15427,6 +16686,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -15572,10 +16838,11 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Framework that lets applications manage user installable packages of non-binary assets KPackage is dependent on the Smart package manager. KPackage is dependent on the Smart package manager. - http://download.kde.org/stable/frameworks/5.10/kpackage-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kpackage-5.11.0.tar.xz qt5-base-devel python3 + libgcc qt5-tools-devel extra-cmake-modules kde5-kdoctools-devel @@ -15586,6 +16853,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression kde5-kpackage qt5-base + libgcc kde5-kconfig kde5-ki18n kde5-kcoreaddons @@ -15595,13 +16863,32 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression /usr/bin /usr/lib/qt5 /usr/lib - /usr/include/ /usr/share /usr/share/locale /usr/share/man/man1 + + kpackage-devel + Development files for kpackage + + qt5-base-devel + kde5-kpackage + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + 2015-06-23 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-31 5.10.0 @@ -15624,7 +16911,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown Utilities for graphical user interfaces The KDE GUI addons provide utilities for graphical user interfaces in the areas of colors, fonts, text, images, keyboard input. Development files. - http://download.kde.org/stable/frameworks/5.10/kguiaddons-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kguiaddons-5.11.0.tar.xz qt5-base-devel extra-cmake-modules @@ -15638,8 +16925,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-x11extras - /usr/share - /usr/share/locale /usr/lib/qt5 /usr/lib /usr/share/doc @@ -15649,7 +16934,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression kde5-kguiaddons-devel Development files for kguiaddons - kde5-kguiaddons + kde5-kguiaddons /usr/include @@ -15658,6 +16943,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -15725,6 +17017,234 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + qt5-phonon-backend-gstreamer + http://phonon.kde.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv2+ + library + unknown + GStreamer qt5-phonon backend + Phonon is the Qt multimedia API, which provides a task-oriented abstraction layer for capturing, mixing, processing, and playing audio and video content. phonon-backend-gstreamer contains the GStreamer backend for Phonon. + mirrors://kde/stable/phonon/phonon-backend-gstreamer/4.8.2/src/phonon-backend-gstreamer-4.8.2.tar.xz + + qt5-base-devel + qt5-phonon-devel + automoc4 + gstreamer-devel + gstreamer-next-devel + gst-plugins-base-devel + gst-plugins-base-next-devel + mesa-devel + + desktop/kde/kde5-phonon/qt5-phonon-backend-gstreamer/pspec.xml + + + qt5-phonon-backend-gstreamer + + qt5-base + qt5-phonon + mesa + gstreamer + gstreamer-next + gst-plugins-base-next + + + /usr/lib + /usr/lib/qt5 + /usr/share + + + + + 2015-02-23 + 4.8.2 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + qt5-phonon-backend-vlc + http://gitorious.org/phonon/phonon-vlc + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + library + unknown + VLC Backend for qt5-phonon + phonon-backend-vlc allows Phonon (the KDE media library) to use VLC for audio and video playback. + mirrors://kde/stable/phonon/phonon-backend-vlc/0.8.2/src/phonon-backend-vlc-0.8.2.tar.xz + + qt5-base-devel + automoc4 + qt5-phonon-devel + pulseaudio + vlc-devel + + desktop/kde/kde5-phonon/qt5-phonon-backend-vlc/pspec.xml + + + qt5-phonon-backend-vlc + + qt5-base + qt5-phonon + vlc-libs + + + /usr/lib + /usr/lib/qt5 + /usr/share/kde4/services + /usr/share/doc + + + + + 2015-02-23 + 0.8.2 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + qt5-phonon + http://phonon.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2.1 + library + unknown + Cross platform multimedia API for KDE4 using QT5 + Phonon was created as a solution to several problems with multimedia commonly faced by Unix desktops, especially KDE 3's outdated multimedia framework aRts. Phonon itself is not a multimedia framework, but interfaces with existing frameworks such as GStreamer or Xine via backends. + mirrors://kde/stable/phonon/4.8.3/src/phonon-4.8.3.tar.xz + + qt5-base-devel + automoc4 + alsa-lib-devel + gst-plugins-base-devel + pulseaudio-libs-devel + gstreamer-devel + xine-lib-devel + libqzeitgeist-devel + + desktop/kde/kde5-phonon/qt5-phonon/pspec.xml + + + qt5-phonon + + qt5-base + qt5-tools + pulseaudio-libs + + + /usr/lib/libphonon* + /usr/lib/qt5 + /usr/share/dbus-1 + + + + qt5-phonon-devel + Development files for phonon-qt5 + + qt5-phonon + qt5-base-devel + + + /usr/include + /usr/lib/pkgconfig + /usr/lib/cmake + /usr/share/phonon4qt5 + + + + + 2015-02-23 + 4.8.3 + First Release + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + prison-qt5 + http://www.kde.org + + Vedat Demir + vedat@pisilinux.org + + MIT + library + unknown + A barcode API to produce QRCode barcodes and DataMatrix barcode + A barcode API to produce QRCode barcodes and DataMatrix barcode. + https://dl.dropboxusercontent.com/s/50f2g48bhmvyg9d/prison.tar.xz + + python3 + mesa-devel + + desktop/kde/kde5-addon/prison-qt5/pspec.xml + + + prison-qt5 + + qt + mesa + libdmtx + qrencode + + + /usr/lib + /usr/share/doc + + + prison + + + prison + + + + prison-qt5-devel + Development files for libepoxy + + prison-qt5 + + + /usr/include + /usr/lib/pkgconfig + + + prison-devel + + + prison-devel + + + + + 2015-06-05 + 1.3 + First release + Vedat Demir + vedat@pisilinux.org + + + kde5-konsole @@ -15913,203 +17433,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - - - qrencode - http://fukuchi.org/works/qrencode/index.en.html - - Yusuf Aydemir - yusuf.aydemir@pisilinux.org - - LGPLv2.1 - library - unknown - A C library for encoding data in a QR code symbol - QR kod sembolüne veri gömmek için bir kitaplık - qrencode is a C library for encoding data in a QR Code symbol, a kind of 2D symbology that can be scanned by handy terminals such as a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000 characters, and is highly robust. - qrencode, cep telefonları gibi mobil cihazlar tarafından kolaylıkla taranabilen, 2 boyutlu bir sembol olan QR kod içerisinde veri gömmek için kullanılan bir kitaplıktır. - http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz - - libsdl-devel - m4 - - desktop/kde/kde5-dependencies/qrencode/pspec.xml - - - qrencode - - libpng - - - /usr/lib - /usr/bin/qrencode - /usr/share/man/man1 - /usr/share/doc - - - - qrencode-devel - Development files for qrencode - qrencode için geliştirme dosyaları - - qrencode - - - /usr/include - /usr/lib/pkgconfig - - - - - 2015-02-22 - 3.4.4 - Rebuild. - Ertuğrul Erata - ertugrulerata@gmail.com - - - 2015-02-22 - 3.3.1 - Rebuild. - Ertuğrul Erata - ertugrulerata@gmail.com - - - 2012-04-05 - 3.3.1 - First release - Yusuf Aydemir - yusuf.aydemir@pisilinux.org - - - - - - prison-qt5 - http://www.kde.org - - Vedat Demir - vedat@pisilinux.org - - MIT - library - unknown - A barcode API to produce QRCode barcodes and DataMatrix barcode - A barcode API to produce QRCode barcodes and DataMatrix barcode. - https://dl.dropboxusercontent.com/s/50f2g48bhmvyg9d/prison.tar.xz - - python3 - mesa-devel - - desktop/kde/kde5-dependencies/prison-qt5/pspec.xml - - - prison-qt5 - - qt - mesa - libdmtx - qrencode - - - /usr/lib - /usr/share/doc - - - prison - - - prison - - - - prison-qt5-devel - Development files for libepoxy - - prison-qt5 - - - /usr/include - /usr/lib/pkgconfig - - - prison-devel - - - prison-devel - - - - - 2015-06-05 - 1.3 - First release - Vedat Demir - vedat@pisilinux.org - - - - - - libdmtx - http://www.libdmtx.org - - PisiLinux Community - admins@pisilinux.org - - LGPLv2+ - library - unknown - A Library for working with Data Matrix 2D bar-codes - Data Matrix 2D barkodlarıyla çalışmak için kitaplık - libdmtx is an open source software for reading and writing Data Matrix 2D bar-codes on Linux, Unix, OS X, Windows and mobile devices. - libdmtx, Linux, Unix, OS X, Windows ve mobil işletim sistemlerinde Data Matrix 2D barkodlarını okumak ve yazmak için kullanılan açık kaynaklı bir kitaplıktır. - http://sourceforge.net/projects/libdmtx/files/libdmtx/0.7.4/libdmtx-0.7.4.tar.gz - - imagemagick-devel - - desktop/kde/kde5-dependencies/libdmtx/pspec.xml - - - libdmtx - - imagemagick - - - /usr/lib - /usr/share/doc - - - - libdmtx-devel - Development files for libdmtx - libdmtx için geliştirme dosyaları - - libdmtx - - - /usr/include - /usr/lib/pkgconfig - /usr/share/man/man3 - - - - - 2015-06-05 - 0.7.4 - Rebuild. - Stefan Gronewold(groni) - groni@pisilinux.org - - - 2011-08-09 - 0.7.4 - First release - Pisi Linux Admins - admins@pisilinux.org - - - kde5-kdebaseapps @@ -16228,6 +17551,261 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + gtk2 + http://www.gtk.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + unknown + The GIMP Toolkit version 2 + GTK grafik arayüz kitaplığı versiyon 2 + 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. + 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. + 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. + 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 + + desktop/toolkit/gnome/gtk2/pspec.xml + + + 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 + + + System.PackageHandler + + + gtkrc + + + + gtk2-demo + GTK demo application + GTK demo uyulaması + app:gui + + gtk2 + cairo + pango + gdk-pixbuf + + + /usr/bin/gtk-demo + /usr/share/gtk-2.0/demo + + + + gtk2-docs + GTK reference documents + GTK referans dökümanları + data:doc + + /usr/share/gtk-doc + + + + gtk2-devel + Development files for gtk2 + gtk2 için geliştirme dosyaları + + 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 + 32-bit shared libraries for gtk2 + gtk2 için 32-bit paylaşımlı kitaplıklar + emul32 + _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 + + + qt5-quick1 @@ -17207,7 +18785,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression glib2-devel desktop-file-utils fontconfig-devel - geoclue-devel gperf gst-plugins-base-devel gstreamer-devel @@ -17224,7 +18801,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libxcb-devel libXcomposite-devel libxkbcommon-devel - libxslt-devel + libxslt mesa-devel libmtdev-devel nss-devel @@ -18132,261 +19709,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - - - gtk2 - http://www.gtk.org - - PisiLinux Community - admins@pisilinux.org - - LGPLv2.1 - unknown - The GIMP Toolkit version 2 - GTK grafik arayüz kitaplığı versiyon 2 - 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. - 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. - 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. - 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 - - desktop/toolkit/gtk/gtk2/pspec.xml - - - 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 - - - System.PackageHandler - - - gtkrc - - - - gtk2-demo - GTK demo application - GTK demo uyulaması - app:gui - - gtk2 - cairo - pango - gdk-pixbuf - - - /usr/bin/gtk-demo - /usr/share/gtk-2.0/demo - - - - gtk2-docs - GTK reference documents - GTK referans dökümanları - data:doc - - /usr/share/gtk-doc - - - - gtk2-devel - Development files for gtk2 - gtk2 için geliştirme dosyaları - - 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 - 32-bit shared libraries for gtk2 - gtk2 için 32-bit paylaşımlı kitaplıklar - emul32 - _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 - - - at-spi2-core @@ -18406,6 +19728,10 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXtst-devel libXi-devel + gettext-devel + dbus-devel + glib2-devel + intltool desktop/misc/at-spi2-core/pspec.xml @@ -18413,6 +19739,9 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression at-spi2-core libXtst + libX11 + dbus + glib2 /etc @@ -18433,13 +19762,16 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression dbus-32bit glib2-32bit + libXi-32bit libX11-32bit libXtst-32bit + glibc-32bit dbus-32bit glib2-32bit libX11-32bit + glibc-32bit /usr/lib32 @@ -18451,6 +19783,8 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression at-spi2-core için geliştirme dosyaları at-spi2-core + dbus-devel + glib2-devel /usr/include @@ -18553,10 +19887,16 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Masaüstü menü girdilerini yönetmek için komut satırı araçları 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 + + glib2-devel + desktop/misc/desktop-file-utils/pspec.xml desktop-file-utils + + glib2 + /usr/bin /usr/share/doc diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum index 1051fb877f..6477dfcd57 100644 --- a/pisi-index.xml.sha1sum +++ b/pisi-index.xml.sha1sum @@ -1 +1 @@ -adaffd50db76ff6bfafaaf0ceac969fe4d745255 \ No newline at end of file +21ac95f403ea282848893903c7f2eff06db4d50a \ No newline at end of file diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz index 310c5cd012d8fa05e79de6c653907206d565ce2f..fff4a55a20144ec28fe8db09688e5cfda3fe4a6e 100644 GIT binary patch literal 65584 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 literal 60224 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 diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum index f7d30b812e..8a5911512d 100644 --- a/pisi-index.xml.xz.sha1sum +++ b/pisi-index.xml.xz.sha1sum @@ -1 +1 @@ -ff898eb9439d1df04eaaa14b6b2fa85be302faec \ No newline at end of file +99495b132ef22892848aaba58d10a369ebda7188 \ No newline at end of file From 525dc886fb070f635003ad47254c7058973ca652 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 24 Jun 2015 13:46:47 +0200 Subject: [PATCH 037/152] delete from building packages kde5-suffix --- .../attica}/actions.py | 0 .../attica}/pspec.xml | 8 +-- .../attica}/translations.xml | 0 .../extra-cmake-modules/actions.py | 0 .../extra-cmake-modules/pspec.xml | 0 .../kapidox}/actions.py | 0 .../kapidox}/pspec.xml | 4 +- .../kapidox}/translations.xml | 0 .../karchive}/actions.py | 0 .../karchive}/pspec.xml | 8 +-- .../kcrash => framework/kauth}/actions.py | 0 .../kde5-kauth => framework/kauth}/pspec.xml | 12 ++-- .../kcodecs}/actions.py | 0 .../kcodecs}/pspec.xml | 8 +-- .../kcompletion}/actions.py | 0 .../kcompletion}/pspec.xml | 12 ++-- .../kconfig}/actions.py | 0 ...re-platform-window-resize-processing.patch | 0 .../kconfig}/files/session-restore.patch | 0 .../kconfig}/pspec.xml | 10 +-- .../kconfigwidgets}/actions.py | 0 .../kconfigwidgets}/comar/package.py | 0 .../kconfigwidgets}/pspec.xml | 26 ++++---- .../kcoreaddons}/actions.py | 0 .../kcoreaddons}/comar/package.py | 0 .../kcoreaddons}/pspec.xml | 8 +-- .../kcrash}/actions.py | 0 .../kcrash/pspec.xml | 0 .../kdbusaddons}/actions.py | 0 .../kdbusaddons}/pspec.xml | 8 +-- .../kde5-framework-integration/actions.py | 0 .../kde5-framework-integration/pspec.xml | 0 .../kde5-kactivities/actions.py | 0 .../kde5-kactivities/files/build-source.patch | 0 .../kde5-kactivities/files/kamd-rename.patch | 0 .../kde5-kactivities/pspec.xml | 0 .../kde5-kbookmarks/actions.py | 0 .../kde5-kbookmarks/pspec.xml | 0 .../kde5-kcmutils/actions.py | 0 .../kde5-kcmutils/pspec.xml | 0 .../kde5-kdeclarative/actions.py | 0 .../kde5-kdeclarative/pspec.xml | 0 .../kde5-kded/actions.py | 0 .../kde5-kded/pspec.xml | 0 .../kde5-kdesignerplugin/actions.py | 0 .../kde5-kdesignerplugin/pspec.xml | 0 .../kde5-kdesu/actions.py | 0 .../kde5-kdesu/pspec.xml | 0 .../kde5-kdewebkit/actions.py | 0 .../kde5-kdewebkit/pspec.xml | 0 .../kde5-kdnssd/actions.py | 0 .../kde5-kdnssd/pspec.xml | 0 .../kde5-kemoticons/actions.py | 0 .../kde5-kemoticons/pspec.xml | 0 .../kde5-kglobalaccel/actions.py | 0 .../kde5-kglobalaccel/pspec.xml | 0 .../kde5-kguiaddons/actions.py | 0 .../kde5-kguiaddons/pspec.xml | 8 +-- .../kde5-kidletime/actions.py | 0 .../kde5-kidletime/pspec.xml | 0 .../kde5-kimageformats/actions.py | 0 .../kde5-kimageformats/pspec.xml | 0 .../kde5-kinit/actions.py | 0 .../kde5-kinit/pspec.xml | 0 .../kde5-kio/actions.py | 0 ...1-Fix-thumbnails-for-mimetype-groups.patch | 0 ...hs-being-turned-into-http-urls-by-fr.patch | 0 .../kde5-kio/pspec.xml | 0 .../kde5-kitemmodels/actions.py | 0 .../kde5-kitemmodels/pspec.xml | 0 .../kde5-kitemviews/actions.py | 0 .../kde5-kitemviews/pspec.xml | 0 .../kde5-kjobwidgets/actions.py | 0 .../kde5-kjobwidgets/pspec.xml | 0 .../kde5-knewstuff/actions.py | 0 .../kde5-knewstuff/pspec.xml | 0 .../kde5-knotifications/actions.py | 0 .../kde5-knotifications/pspec.xml | 0 .../kde5-knotifyconfig/actions.py | 0 .../kde5-knotifyconfig/pspec.xml | 0 .../kde5-kparts/actions.py | 0 .../kde5-kparts/pspec.xml | 0 .../kde5-kpeople/actions.py | 0 .../kde5-kpeople/pspec.xml | 0 .../kde5-kplotting/actions.py | 0 .../kde5-kplotting/pspec.xml | 0 .../kde5-kpty/actions.py | 0 .../kde5-kpty/pspec.xml | 0 .../kde5-kservice/actions.py | 0 .../kde5-kservice/pspec.xml | 0 .../kde5-ktexteditor/actions.py | 0 .../kde5-ktexteditor/pspec.xml | 0 .../kde5-ktextwidgets/actions.py | 0 .../kde5-ktextwidgets/pspec.xml | 0 .../kde5-kunitconversion/actions.py | 0 .../kde5-kunitconversion/pspec.xml | 0 .../kde5-kwallet/actions.py | 0 .../kde5-kwallet/pspec.xml | 0 .../kde5-kxmlgui/actions.py | 0 .../kde5-kxmlgui/files/session-restore.patch | 0 .../kde5-kxmlgui/pspec.xml | 0 .../kde5-kxmlrpcclient/actions.py | 0 .../kde5-kxmlrpcclient/pspec.xml | 0 .../kde5-modemmanager-qt/actions.py | 0 .../kde5-modemmanager-qt/pspec.xml | 0 .../kde5-networkmanager-qt/actions.py | 0 .../kde5-networkmanager-qt/pspec.xml | 0 .../kde5-plasma-framework/actions.py | 0 .../kde5-plasma-framework/pspec.xml | 3 +- .../kde5-sonnet/actions.py | 0 .../kde5-sonnet/pspec.xml | 0 .../kde5-threadweaver/actions.py | 0 .../kde5-threadweaver/pspec.xml | 0 .../kdoctools}/actions.py | 0 .../kdoctools}/files/docbook.patch | 0 .../kdoctools}/pspec.xml | 14 ++-- .../kde5-ki18n => framework/ki18n}/actions.py | 0 .../kde5-ki18n => framework/ki18n}/pspec.xml | 8 +-- .../ki18n}/translations.xml | 0 .../kiconthemes/1actions.py} | 0 desktop/kde/framework/kiconthemes/actions.py | 19 ++++++ .../kiconthemes}/pspec.xml | 29 ++++---- .../kpackage}/actions.py | 0 .../kpackage}/pspec.xml | 18 ++--- .../kpackage}/translations.xml | 0 .../kwidgetsaddons}/actions.py | 0 .../kwidgetsaddons}/pspec.xml | 8 +-- .../kwindowsystem}/actions.py | 0 .../kwindowsystem}/pspec.xml | 8 +-- .../solid}/1actions.py | 0 .../kde5-solid => framework/solid}/actions.py | 0 .../kde5-solid => framework/solid}/pspec.xml | 8 +-- .../kde/kde5-framework/kde5-kcrash/actions.py | 27 -------- .../kde/kde5-framework/kde5-kcrash/pspec.xml | 66 ------------------- .../kde5-kdelibs4-support/actions.py | 2 +- .../kde5-kdelibs4-support/pspec.xml | 11 ++++ 136 files changed, 140 insertions(+), 193 deletions(-) rename desktop/kde/{kde5-framework/kde5-attica => framework/attica}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-attica => framework/attica}/pspec.xml (92%) rename desktop/kde/{kde5-framework/kde5-attica => framework/attica}/translations.xml (100%) rename desktop/kde/{kde5-framework => framework}/extra-cmake-modules/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/extra-cmake-modules/pspec.xml (100%) rename desktop/kde/{kde5-framework/kde5-kapidox => framework/kapidox}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-kapidox => framework/kapidox}/pspec.xml (96%) rename desktop/kde/{kde5-framework/kde5-kapidox => framework/kapidox}/translations.xml (100%) rename desktop/kde/{kde5-framework/kde5-karchive => framework/karchive}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-karchive => framework/karchive}/pspec.xml (92%) rename desktop/kde/{kde5-framework/kcrash => framework/kauth}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-kauth => framework/kauth}/pspec.xml (89%) rename desktop/kde/{kde5-framework/kde5-kcodecs => framework/kcodecs}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-kcodecs => framework/kcodecs}/pspec.xml (93%) rename desktop/kde/{kde5-framework/kde5-kauth => framework/kcompletion}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-kcompletion => framework/kcompletion}/pspec.xml (89%) rename desktop/kde/{kde5-framework/kde5-kconfig => framework/kconfig}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-kconfig => framework/kconfig}/files/0001-ensure-platform-window-resize-processing.patch (100%) rename desktop/kde/{kde5-framework/kde5-kconfig => framework/kconfig}/files/session-restore.patch (100%) rename desktop/kde/{kde5-framework/kde5-kconfig => framework/kconfig}/pspec.xml (91%) rename desktop/kde/{kde5-framework/kde5-kconfigwidgets => framework/kconfigwidgets}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-kconfigwidgets => framework/kconfigwidgets}/comar/package.py (100%) rename desktop/kde/{kde5-framework/kde5-kconfigwidgets => framework/kconfigwidgets}/pspec.xml (75%) rename desktop/kde/{kde5-framework/kde5-kcompletion => framework/kcoreaddons}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-kcoreaddons => framework/kcoreaddons}/comar/package.py (100%) rename desktop/kde/{kde5-framework/kde5-kcoreaddons => framework/kcoreaddons}/pspec.xml (93%) rename desktop/kde/{kde5-framework/kde5-kcoreaddons => framework/kcrash}/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kcrash/pspec.xml (100%) rename desktop/kde/{kde5-framework/kde5-kdbusaddons => framework/kdbusaddons}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-kdbusaddons => framework/kdbusaddons}/pspec.xml (92%) rename desktop/kde/{kde5-framework => framework}/kde5-framework-integration/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-framework-integration/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kactivities/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kactivities/files/build-source.patch (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kactivities/files/kamd-rename.patch (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kactivities/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kbookmarks/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kbookmarks/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kcmutils/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kcmutils/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kdeclarative/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kdeclarative/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kded/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kded/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kdesignerplugin/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kdesignerplugin/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kdesu/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kdesu/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kdewebkit/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kdewebkit/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kdnssd/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kdnssd/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kemoticons/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kemoticons/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kglobalaccel/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kglobalaccel/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kguiaddons/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kguiaddons/pspec.xml (92%) rename desktop/kde/{kde5-framework => framework}/kde5-kidletime/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kidletime/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kimageformats/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kimageformats/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kinit/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kinit/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kio/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kio/files/0001-Fix-thumbnails-for-mimetype-groups.patch (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kio/files/0002-Fix-relative-paths-being-turned-into-http-urls-by-fr.patch (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kio/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kitemmodels/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kitemmodels/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kitemviews/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kitemviews/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kjobwidgets/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kjobwidgets/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-knewstuff/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-knewstuff/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-knotifications/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-knotifications/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-knotifyconfig/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-knotifyconfig/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kparts/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kparts/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kpeople/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kpeople/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kplotting/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kplotting/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kpty/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kpty/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kservice/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kservice/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-ktexteditor/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-ktexteditor/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-ktextwidgets/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-ktextwidgets/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kunitconversion/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kunitconversion/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kwallet/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kwallet/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kxmlgui/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kxmlgui/files/session-restore.patch (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kxmlgui/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kxmlrpcclient/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-kxmlrpcclient/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-modemmanager-qt/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-modemmanager-qt/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-networkmanager-qt/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-networkmanager-qt/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-plasma-framework/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-plasma-framework/pspec.xml (97%) rename desktop/kde/{kde5-framework => framework}/kde5-sonnet/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-sonnet/pspec.xml (100%) rename desktop/kde/{kde5-framework => framework}/kde5-threadweaver/actions.py (100%) rename desktop/kde/{kde5-framework => framework}/kde5-threadweaver/pspec.xml (100%) rename desktop/kde/{kde5-framework/kde5-kdoctools => framework/kdoctools}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-kdoctools => framework/kdoctools}/files/docbook.patch (100%) rename desktop/kde/{kde5-framework/kde5-kdoctools => framework/kdoctools}/pspec.xml (89%) rename desktop/kde/{kde5-framework/kde5-ki18n => framework/ki18n}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-ki18n => framework/ki18n}/pspec.xml (93%) rename desktop/kde/{kde5-framework/kde5-ki18n => framework/ki18n}/translations.xml (100%) rename desktop/kde/{kde5-framework/kde5-kiconthemes/actions.py => framework/kiconthemes/1actions.py} (100%) create mode 100644 desktop/kde/framework/kiconthemes/actions.py rename desktop/kde/{kde5-framework/kde5-kiconthemes => framework/kiconthemes}/pspec.xml (69%) rename desktop/kde/{kde5-framework/kde5-kpackage => framework/kpackage}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-kpackage => framework/kpackage}/pspec.xml (86%) rename desktop/kde/{kde5-framework/kde5-kpackage => framework/kpackage}/translations.xml (100%) rename desktop/kde/{kde5-framework/kde5-kwidgetsaddons => framework/kwidgetsaddons}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-kwidgetsaddons => framework/kwidgetsaddons}/pspec.xml (92%) rename desktop/kde/{kde5-framework/kde5-kwindowsystem => framework/kwindowsystem}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-kwindowsystem => framework/kwindowsystem}/pspec.xml (94%) rename desktop/kde/{kde5-framework/kde5-solid => framework/solid}/1actions.py (100%) rename desktop/kde/{kde5-framework/kde5-solid => framework/solid}/actions.py (100%) rename desktop/kde/{kde5-framework/kde5-solid => framework/solid}/pspec.xml (93%) delete mode 100755 desktop/kde/kde5-framework/kde5-kcrash/actions.py delete mode 100755 desktop/kde/kde5-framework/kde5-kcrash/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-attica/actions.py b/desktop/kde/framework/attica/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-attica/actions.py rename to desktop/kde/framework/attica/actions.py diff --git a/desktop/kde/kde5-framework/kde5-attica/pspec.xml b/desktop/kde/framework/attica/pspec.xml similarity index 92% rename from desktop/kde/kde5-framework/kde5-attica/pspec.xml rename to desktop/kde/framework/attica/pspec.xml index 3d996e88e8..77fd8d1200 100755 --- a/desktop/kde/kde5-framework/kde5-attica/pspec.xml +++ b/desktop/kde/framework/attica/pspec.xml @@ -2,7 +2,7 @@ - kde5-attica + attica http://www.kde.org Pisi Linux Admins @@ -20,7 +20,7 @@ - kde5-attica + attica qt5-base @@ -33,11 +33,11 @@ - kde5-attica-devel + attica-devel Development files for attica5 qt5-base-devel - kde5-attica + attica /usr/include diff --git a/desktop/kde/kde5-framework/kde5-attica/translations.xml b/desktop/kde/framework/attica/translations.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-attica/translations.xml rename to desktop/kde/framework/attica/translations.xml diff --git a/desktop/kde/kde5-framework/extra-cmake-modules/actions.py b/desktop/kde/framework/extra-cmake-modules/actions.py similarity index 100% rename from desktop/kde/kde5-framework/extra-cmake-modules/actions.py rename to desktop/kde/framework/extra-cmake-modules/actions.py diff --git a/desktop/kde/kde5-framework/extra-cmake-modules/pspec.xml b/desktop/kde/framework/extra-cmake-modules/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/extra-cmake-modules/pspec.xml rename to desktop/kde/framework/extra-cmake-modules/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kapidox/actions.py b/desktop/kde/framework/kapidox/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kapidox/actions.py rename to desktop/kde/framework/kapidox/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kapidox/pspec.xml b/desktop/kde/framework/kapidox/pspec.xml similarity index 96% rename from desktop/kde/kde5-framework/kde5-kapidox/pspec.xml rename to desktop/kde/framework/kapidox/pspec.xml index 3d7d90ce2d..b02b66f47e 100755 --- a/desktop/kde/kde5-framework/kde5-kapidox/pspec.xml +++ b/desktop/kde/framework/kapidox/pspec.xml @@ -2,7 +2,7 @@ - kde5-kapidox + kapidox http://www.kde.org Pisi Linux Admins @@ -22,7 +22,7 @@ - kde5-kapidox + kapidox qt5-base diff --git a/desktop/kde/kde5-framework/kde5-kapidox/translations.xml b/desktop/kde/framework/kapidox/translations.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kapidox/translations.xml rename to desktop/kde/framework/kapidox/translations.xml diff --git a/desktop/kde/kde5-framework/kde5-karchive/actions.py b/desktop/kde/framework/karchive/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-karchive/actions.py rename to desktop/kde/framework/karchive/actions.py diff --git a/desktop/kde/kde5-framework/kde5-karchive/pspec.xml b/desktop/kde/framework/karchive/pspec.xml similarity index 92% rename from desktop/kde/kde5-framework/kde5-karchive/pspec.xml rename to desktop/kde/framework/karchive/pspec.xml index a478146a0c..dad764ead4 100755 --- a/desktop/kde/kde5-framework/kde5-karchive/pspec.xml +++ b/desktop/kde/framework/karchive/pspec.xml @@ -2,7 +2,7 @@ - kde5-karchive + karchive http://www.kde.org Pisi Linux Admins @@ -23,7 +23,7 @@ - kde5-karchive + karchive qt5-base @@ -36,11 +36,11 @@ - kde5-karchive-devel + karchive-devel Development files for karchive qt5-base-devel - kde5-karchive + karchive /usr/include diff --git a/desktop/kde/kde5-framework/kcrash/actions.py b/desktop/kde/framework/kauth/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kcrash/actions.py rename to desktop/kde/framework/kauth/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kauth/pspec.xml b/desktop/kde/framework/kauth/pspec.xml similarity index 89% rename from desktop/kde/kde5-framework/kde5-kauth/pspec.xml rename to desktop/kde/framework/kauth/pspec.xml index 97c607ba82..8f80a2872a 100755 --- a/desktop/kde/kde5-framework/kde5-kauth/pspec.xml +++ b/desktop/kde/framework/kauth/pspec.xml @@ -2,7 +2,7 @@ - kde5-kauth + kauth http://www.kde.org Pisi Linux Admins @@ -21,11 +21,11 @@ - kde5-kauth + kauth qt5-base polkit-qt - kde5-kcoreaddons + kcoreaddons /etc @@ -37,11 +37,11 @@ - kde5-kauth-devel + kauth-devel Development files for kauth - kde5-kauth - kde5-kcoreaddons-devel + kauth + kcoreaddons-devel /usr/include diff --git a/desktop/kde/kde5-framework/kde5-kcodecs/actions.py b/desktop/kde/framework/kcodecs/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kcodecs/actions.py rename to desktop/kde/framework/kcodecs/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kcodecs/pspec.xml b/desktop/kde/framework/kcodecs/pspec.xml similarity index 93% rename from desktop/kde/kde5-framework/kde5-kcodecs/pspec.xml rename to desktop/kde/framework/kcodecs/pspec.xml index d22c2560c6..07b91dd88a 100755 --- a/desktop/kde/kde5-framework/kde5-kcodecs/pspec.xml +++ b/desktop/kde/framework/kcodecs/pspec.xml @@ -2,7 +2,7 @@ - kde5-kcodecs + kcodecs http://www.kde.org Pisi Linux Admins @@ -21,7 +21,7 @@ - kde5-kcodecs + kcodecs qt5-base @@ -35,11 +35,11 @@ - kde5-kcodecs-devel + kcodecs-devel Development files for kcodecs qt5-base-devel - kde5-kcodecs + kcodecs /usr/include diff --git a/desktop/kde/kde5-framework/kde5-kauth/actions.py b/desktop/kde/framework/kcompletion/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kauth/actions.py rename to desktop/kde/framework/kcompletion/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kcompletion/pspec.xml b/desktop/kde/framework/kcompletion/pspec.xml similarity index 89% rename from desktop/kde/kde5-framework/kde5-kcompletion/pspec.xml rename to desktop/kde/framework/kcompletion/pspec.xml index 87b6ce37fd..ffc3edee0a 100644 --- a/desktop/kde/kde5-framework/kde5-kcompletion/pspec.xml +++ b/desktop/kde/framework/kcompletion/pspec.xml @@ -2,7 +2,7 @@ - kde5-kcompletion + kcompletion http://www.kde.org Pisi Linux Admins @@ -22,11 +22,11 @@ - kde5-kcompletion + kcompletion qt5-base kde5-kconfig - kde5-kwidgetsaddons + kwidgetsaddons /usr/share @@ -39,12 +39,12 @@ - kde5-kcompletion-devel + kcompletion-devel Development files for kcompletion qt5-base-devel - kde5-kcompletion - kde5-kwidgetsaddons-devel + kcompletion + kwidgetsaddons-devel /usr/include diff --git a/desktop/kde/kde5-framework/kde5-kconfig/actions.py b/desktop/kde/framework/kconfig/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kconfig/actions.py rename to desktop/kde/framework/kconfig/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kconfig/files/0001-ensure-platform-window-resize-processing.patch b/desktop/kde/framework/kconfig/files/0001-ensure-platform-window-resize-processing.patch similarity index 100% rename from desktop/kde/kde5-framework/kde5-kconfig/files/0001-ensure-platform-window-resize-processing.patch rename to desktop/kde/framework/kconfig/files/0001-ensure-platform-window-resize-processing.patch diff --git a/desktop/kde/kde5-framework/kde5-kconfig/files/session-restore.patch b/desktop/kde/framework/kconfig/files/session-restore.patch similarity index 100% rename from desktop/kde/kde5-framework/kde5-kconfig/files/session-restore.patch rename to desktop/kde/framework/kconfig/files/session-restore.patch diff --git a/desktop/kde/kde5-framework/kde5-kconfig/pspec.xml b/desktop/kde/framework/kconfig/pspec.xml similarity index 91% rename from desktop/kde/kde5-framework/kde5-kconfig/pspec.xml rename to desktop/kde/framework/kconfig/pspec.xml index 22a56ffffb..f2fe8c4f8e 100755 --- a/desktop/kde/kde5-framework/kde5-kconfig/pspec.xml +++ b/desktop/kde/framework/kconfig/pspec.xml @@ -2,7 +2,7 @@ - kde5-kconfig + kconfig http://www.kde.org Pisi Linux Admins @@ -27,7 +27,7 @@ - kde5-kconfig + kconfig qt5-base @@ -42,11 +42,11 @@ - kde5-kconfig-devel - Development files for kde5-kconfig + kconfig-devel + Development files for kconfig qt5-base-devel - kde5-kconfig + kconfig /usr/include diff --git a/desktop/kde/kde5-framework/kde5-kconfigwidgets/actions.py b/desktop/kde/framework/kconfigwidgets/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kconfigwidgets/actions.py rename to desktop/kde/framework/kconfigwidgets/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kconfigwidgets/comar/package.py b/desktop/kde/framework/kconfigwidgets/comar/package.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kconfigwidgets/comar/package.py rename to desktop/kde/framework/kconfigwidgets/comar/package.py diff --git a/desktop/kde/kde5-framework/kde5-kconfigwidgets/pspec.xml b/desktop/kde/framework/kconfigwidgets/pspec.xml similarity index 75% rename from desktop/kde/kde5-framework/kde5-kconfigwidgets/pspec.xml rename to desktop/kde/framework/kconfigwidgets/pspec.xml index 54c054d574..44b31c4420 100755 --- a/desktop/kde/kde5-framework/kde5-kconfigwidgets/pspec.xml +++ b/desktop/kde/framework/kconfigwidgets/pspec.xml @@ -2,7 +2,7 @@ - kde5-kconfigwidgets + kconfigwidgets http://www.kde.org Pisi Linux Admins @@ -13,28 +13,28 @@ app:console app:gui Kconfig widgets - KDE5-KConfigWidgets provides easy-to-use classes to create configuration dialogs, as well as a set of widgets which uses KConfig to store their settings. + KConfigWidgets provides easy-to-use classes to create configuration dialogs, as well as a set of widgets which uses KConfig to store their settings. http://download.kde.org/stable/frameworks/5.11/kconfigwidgets-5.11.0.tar.xz qt5-base-devel python3 kde5-ki18n-devel - kde5-kdoctools-devel + kdoctools-devel extra-cmake-modules - kde5-kconfigwidgets + kconfigwidgets qt5-base - kde5-kauth - kde5-kcodecs - kde5-kconfig - kde5-kcoreaddons - kde5-kguiaddons - kde5-ki18n - kde5-kwidgetsaddons + kauth + kcodecs + kconfig + kcoreaddons + kguiaddons + ki18n + kwidgetsaddons /usr/share @@ -48,10 +48,10 @@ - kde5-kconfigwidgets-devel + kconfigwidgets-devel Development files for kconfigwidgets - kde5-kconfigwidgets + kconfigwidgets /usr/include diff --git a/desktop/kde/kde5-framework/kde5-kcompletion/actions.py b/desktop/kde/framework/kcoreaddons/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kcompletion/actions.py rename to desktop/kde/framework/kcoreaddons/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kcoreaddons/comar/package.py b/desktop/kde/framework/kcoreaddons/comar/package.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kcoreaddons/comar/package.py rename to desktop/kde/framework/kcoreaddons/comar/package.py diff --git a/desktop/kde/kde5-framework/kde5-kcoreaddons/pspec.xml b/desktop/kde/framework/kcoreaddons/pspec.xml similarity index 93% rename from desktop/kde/kde5-framework/kde5-kcoreaddons/pspec.xml rename to desktop/kde/framework/kcoreaddons/pspec.xml index 0758be09ac..ac9ea8504c 100755 --- a/desktop/kde/kde5-framework/kde5-kcoreaddons/pspec.xml +++ b/desktop/kde/framework/kcoreaddons/pspec.xml @@ -2,7 +2,7 @@ - kde5-kcoreaddons + kcoreaddons http://www.kde.org Pisi Linux Admins @@ -22,7 +22,7 @@ - kde5-kcoreaddons + kcoreaddons qt5-base gamin @@ -38,11 +38,11 @@ - kde5-kcoreaddons-devel + kcoreaddons-devel Development files for kcoreaddons qt5-base-devel - kde5-kcoreaddons + kcoreaddons /usr/include diff --git a/desktop/kde/kde5-framework/kde5-kcoreaddons/actions.py b/desktop/kde/framework/kcrash/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kcoreaddons/actions.py rename to desktop/kde/framework/kcrash/actions.py diff --git a/desktop/kde/kde5-framework/kcrash/pspec.xml b/desktop/kde/framework/kcrash/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kcrash/pspec.xml rename to desktop/kde/framework/kcrash/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kdbusaddons/actions.py b/desktop/kde/framework/kdbusaddons/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdbusaddons/actions.py rename to desktop/kde/framework/kdbusaddons/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kdbusaddons/pspec.xml b/desktop/kde/framework/kdbusaddons/pspec.xml similarity index 92% rename from desktop/kde/kde5-framework/kde5-kdbusaddons/pspec.xml rename to desktop/kde/framework/kdbusaddons/pspec.xml index fe53b7fae2..ed865c99d5 100755 --- a/desktop/kde/kde5-framework/kde5-kdbusaddons/pspec.xml +++ b/desktop/kde/framework/kdbusaddons/pspec.xml @@ -2,7 +2,7 @@ - kde5-kdbusaddons + kdbusaddons http://www.kde.org Pisi Linux Admins @@ -22,7 +22,7 @@ - kde5-kdbusaddons + kdbusaddons qt5-base qt5-x11extras @@ -38,11 +38,11 @@ - kde5-kdbusaddons-devel + kdbusaddons-devel Development files for kdbusaddons qt5-base-devel - kde5-kdbusaddons + kdbusaddons /usr/include diff --git a/desktop/kde/kde5-framework/kde5-framework-integration/actions.py b/desktop/kde/framework/kde5-framework-integration/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-framework-integration/actions.py rename to desktop/kde/framework/kde5-framework-integration/actions.py diff --git a/desktop/kde/kde5-framework/kde5-framework-integration/pspec.xml b/desktop/kde/framework/kde5-framework-integration/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-framework-integration/pspec.xml rename to desktop/kde/framework/kde5-framework-integration/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kactivities/actions.py b/desktop/kde/framework/kde5-kactivities/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kactivities/actions.py rename to desktop/kde/framework/kde5-kactivities/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kactivities/files/build-source.patch b/desktop/kde/framework/kde5-kactivities/files/build-source.patch similarity index 100% rename from desktop/kde/kde5-framework/kde5-kactivities/files/build-source.patch rename to desktop/kde/framework/kde5-kactivities/files/build-source.patch diff --git a/desktop/kde/kde5-framework/kde5-kactivities/files/kamd-rename.patch b/desktop/kde/framework/kde5-kactivities/files/kamd-rename.patch similarity index 100% rename from desktop/kde/kde5-framework/kde5-kactivities/files/kamd-rename.patch rename to desktop/kde/framework/kde5-kactivities/files/kamd-rename.patch diff --git a/desktop/kde/kde5-framework/kde5-kactivities/pspec.xml b/desktop/kde/framework/kde5-kactivities/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kactivities/pspec.xml rename to desktop/kde/framework/kde5-kactivities/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kbookmarks/actions.py b/desktop/kde/framework/kde5-kbookmarks/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kbookmarks/actions.py rename to desktop/kde/framework/kde5-kbookmarks/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kbookmarks/pspec.xml b/desktop/kde/framework/kde5-kbookmarks/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kbookmarks/pspec.xml rename to desktop/kde/framework/kde5-kbookmarks/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kcmutils/actions.py b/desktop/kde/framework/kde5-kcmutils/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kcmutils/actions.py rename to desktop/kde/framework/kde5-kcmutils/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kcmutils/pspec.xml b/desktop/kde/framework/kde5-kcmutils/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kcmutils/pspec.xml rename to desktop/kde/framework/kde5-kcmutils/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kdeclarative/actions.py b/desktop/kde/framework/kde5-kdeclarative/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdeclarative/actions.py rename to desktop/kde/framework/kde5-kdeclarative/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kdeclarative/pspec.xml b/desktop/kde/framework/kde5-kdeclarative/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdeclarative/pspec.xml rename to desktop/kde/framework/kde5-kdeclarative/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kded/actions.py b/desktop/kde/framework/kde5-kded/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kded/actions.py rename to desktop/kde/framework/kde5-kded/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kded/pspec.xml b/desktop/kde/framework/kde5-kded/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kded/pspec.xml rename to desktop/kde/framework/kde5-kded/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kdesignerplugin/actions.py b/desktop/kde/framework/kde5-kdesignerplugin/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdesignerplugin/actions.py rename to desktop/kde/framework/kde5-kdesignerplugin/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kdesignerplugin/pspec.xml b/desktop/kde/framework/kde5-kdesignerplugin/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdesignerplugin/pspec.xml rename to desktop/kde/framework/kde5-kdesignerplugin/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kdesu/actions.py b/desktop/kde/framework/kde5-kdesu/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdesu/actions.py rename to desktop/kde/framework/kde5-kdesu/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kdesu/pspec.xml b/desktop/kde/framework/kde5-kdesu/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdesu/pspec.xml rename to desktop/kde/framework/kde5-kdesu/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kdewebkit/actions.py b/desktop/kde/framework/kde5-kdewebkit/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdewebkit/actions.py rename to desktop/kde/framework/kde5-kdewebkit/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kdewebkit/pspec.xml b/desktop/kde/framework/kde5-kdewebkit/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdewebkit/pspec.xml rename to desktop/kde/framework/kde5-kdewebkit/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kdnssd/actions.py b/desktop/kde/framework/kde5-kdnssd/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdnssd/actions.py rename to desktop/kde/framework/kde5-kdnssd/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kdnssd/pspec.xml b/desktop/kde/framework/kde5-kdnssd/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdnssd/pspec.xml rename to desktop/kde/framework/kde5-kdnssd/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kemoticons/actions.py b/desktop/kde/framework/kde5-kemoticons/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kemoticons/actions.py rename to desktop/kde/framework/kde5-kemoticons/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kemoticons/pspec.xml b/desktop/kde/framework/kde5-kemoticons/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kemoticons/pspec.xml rename to desktop/kde/framework/kde5-kemoticons/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kglobalaccel/actions.py b/desktop/kde/framework/kde5-kglobalaccel/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kglobalaccel/actions.py rename to desktop/kde/framework/kde5-kglobalaccel/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kglobalaccel/pspec.xml b/desktop/kde/framework/kde5-kglobalaccel/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kglobalaccel/pspec.xml rename to desktop/kde/framework/kde5-kglobalaccel/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kguiaddons/actions.py b/desktop/kde/framework/kde5-kguiaddons/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kguiaddons/actions.py rename to desktop/kde/framework/kde5-kguiaddons/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kguiaddons/pspec.xml b/desktop/kde/framework/kde5-kguiaddons/pspec.xml similarity index 92% rename from desktop/kde/kde5-framework/kde5-kguiaddons/pspec.xml rename to desktop/kde/framework/kde5-kguiaddons/pspec.xml index bfffdf1992..a4b77bd037 100755 --- a/desktop/kde/kde5-framework/kde5-kguiaddons/pspec.xml +++ b/desktop/kde/framework/kde5-kguiaddons/pspec.xml @@ -2,7 +2,7 @@ - kde5-kguiaddons + kguiaddons http://www.kde.org Pisi Linux Admins @@ -20,7 +20,7 @@ - kde5-kguiaddons + kguiaddons qt5-base qt5-x11extras @@ -33,10 +33,10 @@ - kde5-kguiaddons-devel + kguiaddons-devel Development files for kguiaddons - kde5-kguiaddons + kguiaddons /usr/include diff --git a/desktop/kde/kde5-framework/kde5-kidletime/actions.py b/desktop/kde/framework/kde5-kidletime/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kidletime/actions.py rename to desktop/kde/framework/kde5-kidletime/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kidletime/pspec.xml b/desktop/kde/framework/kde5-kidletime/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kidletime/pspec.xml rename to desktop/kde/framework/kde5-kidletime/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kimageformats/actions.py b/desktop/kde/framework/kde5-kimageformats/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kimageformats/actions.py rename to desktop/kde/framework/kde5-kimageformats/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kimageformats/pspec.xml b/desktop/kde/framework/kde5-kimageformats/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kimageformats/pspec.xml rename to desktop/kde/framework/kde5-kimageformats/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kinit/actions.py b/desktop/kde/framework/kde5-kinit/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kinit/actions.py rename to desktop/kde/framework/kde5-kinit/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kinit/pspec.xml b/desktop/kde/framework/kde5-kinit/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kinit/pspec.xml rename to desktop/kde/framework/kde5-kinit/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kio/actions.py b/desktop/kde/framework/kde5-kio/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kio/actions.py rename to desktop/kde/framework/kde5-kio/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kio/files/0001-Fix-thumbnails-for-mimetype-groups.patch b/desktop/kde/framework/kde5-kio/files/0001-Fix-thumbnails-for-mimetype-groups.patch similarity index 100% rename from desktop/kde/kde5-framework/kde5-kio/files/0001-Fix-thumbnails-for-mimetype-groups.patch rename to desktop/kde/framework/kde5-kio/files/0001-Fix-thumbnails-for-mimetype-groups.patch diff --git a/desktop/kde/kde5-framework/kde5-kio/files/0002-Fix-relative-paths-being-turned-into-http-urls-by-fr.patch b/desktop/kde/framework/kde5-kio/files/0002-Fix-relative-paths-being-turned-into-http-urls-by-fr.patch similarity index 100% rename from desktop/kde/kde5-framework/kde5-kio/files/0002-Fix-relative-paths-being-turned-into-http-urls-by-fr.patch rename to desktop/kde/framework/kde5-kio/files/0002-Fix-relative-paths-being-turned-into-http-urls-by-fr.patch diff --git a/desktop/kde/kde5-framework/kde5-kio/pspec.xml b/desktop/kde/framework/kde5-kio/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kio/pspec.xml rename to desktop/kde/framework/kde5-kio/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kitemmodels/actions.py b/desktop/kde/framework/kde5-kitemmodels/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kitemmodels/actions.py rename to desktop/kde/framework/kde5-kitemmodels/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kitemmodels/pspec.xml b/desktop/kde/framework/kde5-kitemmodels/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kitemmodels/pspec.xml rename to desktop/kde/framework/kde5-kitemmodels/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kitemviews/actions.py b/desktop/kde/framework/kde5-kitemviews/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kitemviews/actions.py rename to desktop/kde/framework/kde5-kitemviews/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kitemviews/pspec.xml b/desktop/kde/framework/kde5-kitemviews/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kitemviews/pspec.xml rename to desktop/kde/framework/kde5-kitemviews/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kjobwidgets/actions.py b/desktop/kde/framework/kde5-kjobwidgets/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kjobwidgets/actions.py rename to desktop/kde/framework/kde5-kjobwidgets/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kjobwidgets/pspec.xml b/desktop/kde/framework/kde5-kjobwidgets/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kjobwidgets/pspec.xml rename to desktop/kde/framework/kde5-kjobwidgets/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-knewstuff/actions.py b/desktop/kde/framework/kde5-knewstuff/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-knewstuff/actions.py rename to desktop/kde/framework/kde5-knewstuff/actions.py diff --git a/desktop/kde/kde5-framework/kde5-knewstuff/pspec.xml b/desktop/kde/framework/kde5-knewstuff/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-knewstuff/pspec.xml rename to desktop/kde/framework/kde5-knewstuff/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-knotifications/actions.py b/desktop/kde/framework/kde5-knotifications/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-knotifications/actions.py rename to desktop/kde/framework/kde5-knotifications/actions.py diff --git a/desktop/kde/kde5-framework/kde5-knotifications/pspec.xml b/desktop/kde/framework/kde5-knotifications/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-knotifications/pspec.xml rename to desktop/kde/framework/kde5-knotifications/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-knotifyconfig/actions.py b/desktop/kde/framework/kde5-knotifyconfig/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-knotifyconfig/actions.py rename to desktop/kde/framework/kde5-knotifyconfig/actions.py diff --git a/desktop/kde/kde5-framework/kde5-knotifyconfig/pspec.xml b/desktop/kde/framework/kde5-knotifyconfig/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-knotifyconfig/pspec.xml rename to desktop/kde/framework/kde5-knotifyconfig/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kparts/actions.py b/desktop/kde/framework/kde5-kparts/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kparts/actions.py rename to desktop/kde/framework/kde5-kparts/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kparts/pspec.xml b/desktop/kde/framework/kde5-kparts/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kparts/pspec.xml rename to desktop/kde/framework/kde5-kparts/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kpeople/actions.py b/desktop/kde/framework/kde5-kpeople/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kpeople/actions.py rename to desktop/kde/framework/kde5-kpeople/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kpeople/pspec.xml b/desktop/kde/framework/kde5-kpeople/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kpeople/pspec.xml rename to desktop/kde/framework/kde5-kpeople/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kplotting/actions.py b/desktop/kde/framework/kde5-kplotting/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kplotting/actions.py rename to desktop/kde/framework/kde5-kplotting/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kplotting/pspec.xml b/desktop/kde/framework/kde5-kplotting/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kplotting/pspec.xml rename to desktop/kde/framework/kde5-kplotting/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kpty/actions.py b/desktop/kde/framework/kde5-kpty/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kpty/actions.py rename to desktop/kde/framework/kde5-kpty/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kpty/pspec.xml b/desktop/kde/framework/kde5-kpty/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kpty/pspec.xml rename to desktop/kde/framework/kde5-kpty/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kservice/actions.py b/desktop/kde/framework/kde5-kservice/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kservice/actions.py rename to desktop/kde/framework/kde5-kservice/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kservice/pspec.xml b/desktop/kde/framework/kde5-kservice/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kservice/pspec.xml rename to desktop/kde/framework/kde5-kservice/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-ktexteditor/actions.py b/desktop/kde/framework/kde5-ktexteditor/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-ktexteditor/actions.py rename to desktop/kde/framework/kde5-ktexteditor/actions.py diff --git a/desktop/kde/kde5-framework/kde5-ktexteditor/pspec.xml b/desktop/kde/framework/kde5-ktexteditor/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-ktexteditor/pspec.xml rename to desktop/kde/framework/kde5-ktexteditor/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-ktextwidgets/actions.py b/desktop/kde/framework/kde5-ktextwidgets/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-ktextwidgets/actions.py rename to desktop/kde/framework/kde5-ktextwidgets/actions.py diff --git a/desktop/kde/kde5-framework/kde5-ktextwidgets/pspec.xml b/desktop/kde/framework/kde5-ktextwidgets/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-ktextwidgets/pspec.xml rename to desktop/kde/framework/kde5-ktextwidgets/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kunitconversion/actions.py b/desktop/kde/framework/kde5-kunitconversion/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kunitconversion/actions.py rename to desktop/kde/framework/kde5-kunitconversion/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kunitconversion/pspec.xml b/desktop/kde/framework/kde5-kunitconversion/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kunitconversion/pspec.xml rename to desktop/kde/framework/kde5-kunitconversion/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kwallet/actions.py b/desktop/kde/framework/kde5-kwallet/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kwallet/actions.py rename to desktop/kde/framework/kde5-kwallet/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kwallet/pspec.xml b/desktop/kde/framework/kde5-kwallet/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kwallet/pspec.xml rename to desktop/kde/framework/kde5-kwallet/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kxmlgui/actions.py b/desktop/kde/framework/kde5-kxmlgui/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kxmlgui/actions.py rename to desktop/kde/framework/kde5-kxmlgui/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kxmlgui/files/session-restore.patch b/desktop/kde/framework/kde5-kxmlgui/files/session-restore.patch similarity index 100% rename from desktop/kde/kde5-framework/kde5-kxmlgui/files/session-restore.patch rename to desktop/kde/framework/kde5-kxmlgui/files/session-restore.patch diff --git a/desktop/kde/kde5-framework/kde5-kxmlgui/pspec.xml b/desktop/kde/framework/kde5-kxmlgui/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kxmlgui/pspec.xml rename to desktop/kde/framework/kde5-kxmlgui/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kxmlrpcclient/actions.py b/desktop/kde/framework/kde5-kxmlrpcclient/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kxmlrpcclient/actions.py rename to desktop/kde/framework/kde5-kxmlrpcclient/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kxmlrpcclient/pspec.xml b/desktop/kde/framework/kde5-kxmlrpcclient/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kxmlrpcclient/pspec.xml rename to desktop/kde/framework/kde5-kxmlrpcclient/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-modemmanager-qt/actions.py b/desktop/kde/framework/kde5-modemmanager-qt/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-modemmanager-qt/actions.py rename to desktop/kde/framework/kde5-modemmanager-qt/actions.py diff --git a/desktop/kde/kde5-framework/kde5-modemmanager-qt/pspec.xml b/desktop/kde/framework/kde5-modemmanager-qt/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-modemmanager-qt/pspec.xml rename to desktop/kde/framework/kde5-modemmanager-qt/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-networkmanager-qt/actions.py b/desktop/kde/framework/kde5-networkmanager-qt/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-networkmanager-qt/actions.py rename to desktop/kde/framework/kde5-networkmanager-qt/actions.py diff --git a/desktop/kde/kde5-framework/kde5-networkmanager-qt/pspec.xml b/desktop/kde/framework/kde5-networkmanager-qt/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-networkmanager-qt/pspec.xml rename to desktop/kde/framework/kde5-networkmanager-qt/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-plasma-framework/actions.py b/desktop/kde/framework/kde5-plasma-framework/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-plasma-framework/actions.py rename to desktop/kde/framework/kde5-plasma-framework/actions.py diff --git a/desktop/kde/kde5-framework/kde5-plasma-framework/pspec.xml b/desktop/kde/framework/kde5-plasma-framework/pspec.xml similarity index 97% rename from desktop/kde/kde5-framework/kde5-plasma-framework/pspec.xml rename to desktop/kde/framework/kde5-plasma-framework/pspec.xml index 4ef1689d36..42ccbd22df 100755 --- a/desktop/kde/kde5-framework/kde5-plasma-framework/pspec.xml +++ b/desktop/kde/framework/kde5-plasma-framework/pspec.xml @@ -18,6 +18,7 @@ qt5-base-devel qt5-tools-devel kde5-kdoctools-devel + libxcb-devel extra-cmake-modules @@ -30,7 +31,7 @@ qt5-script qt5-x11extras qt5-declarative - mesa + mesa kde5-kactivities kde5-knotifications kde5-kpackage diff --git a/desktop/kde/kde5-framework/kde5-sonnet/actions.py b/desktop/kde/framework/kde5-sonnet/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-sonnet/actions.py rename to desktop/kde/framework/kde5-sonnet/actions.py diff --git a/desktop/kde/kde5-framework/kde5-sonnet/pspec.xml b/desktop/kde/framework/kde5-sonnet/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-sonnet/pspec.xml rename to desktop/kde/framework/kde5-sonnet/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-threadweaver/actions.py b/desktop/kde/framework/kde5-threadweaver/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-threadweaver/actions.py rename to desktop/kde/framework/kde5-threadweaver/actions.py diff --git a/desktop/kde/kde5-framework/kde5-threadweaver/pspec.xml b/desktop/kde/framework/kde5-threadweaver/pspec.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-threadweaver/pspec.xml rename to desktop/kde/framework/kde5-threadweaver/pspec.xml diff --git a/desktop/kde/kde5-framework/kde5-kdoctools/actions.py b/desktop/kde/framework/kdoctools/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdoctools/actions.py rename to desktop/kde/framework/kdoctools/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kdoctools/files/docbook.patch b/desktop/kde/framework/kdoctools/files/docbook.patch similarity index 100% rename from desktop/kde/kde5-framework/kde5-kdoctools/files/docbook.patch rename to desktop/kde/framework/kdoctools/files/docbook.patch diff --git a/desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml b/desktop/kde/framework/kdoctools/pspec.xml similarity index 89% rename from desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml rename to desktop/kde/framework/kdoctools/pspec.xml index 3965c2bc9f..0648d58583 100755 --- a/desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml +++ b/desktop/kde/framework/kdoctools/pspec.xml @@ -2,7 +2,7 @@ - kde5-kdoctools + kdoctools http://www.kde.org Pisi Linux Admins @@ -23,8 +23,8 @@ docbook-xml docbook-xsl docbook-sgml4_5 - kde5-ki18n-devel - kde5-karchive-devel + ki18n-devel + karchive-devel extra-cmake-modules @@ -39,7 +39,7 @@ libxml2 libgcc libxslt - kde5-karchive + karchive /usr/share @@ -53,12 +53,12 @@ - kde5-kdoctools-devel + kdoctools-devel Development files for kdoctools qt5-base-devel - kde5-kdoctools - kde5-karchive-devel + kdoctools + karchive-devel libgcc libxml2-devel diff --git a/desktop/kde/kde5-framework/kde5-ki18n/actions.py b/desktop/kde/framework/ki18n/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-ki18n/actions.py rename to desktop/kde/framework/ki18n/actions.py diff --git a/desktop/kde/kde5-framework/kde5-ki18n/pspec.xml b/desktop/kde/framework/ki18n/pspec.xml similarity index 93% rename from desktop/kde/kde5-framework/kde5-ki18n/pspec.xml rename to desktop/kde/framework/ki18n/pspec.xml index 6420cb0cb9..9b76385055 100755 --- a/desktop/kde/kde5-framework/kde5-ki18n/pspec.xml +++ b/desktop/kde/framework/ki18n/pspec.xml @@ -2,7 +2,7 @@ - kde5-ki18n + ki18n http://www.kde.org Pisi Linux Admins @@ -21,7 +21,7 @@ - kde5-ki18n + ki18n qt5-base qt5-script @@ -37,10 +37,10 @@ - kde5-ki18n-devel + ki18n-devel Development files for kde5-ki18n - kde5-ki18n + ki18n /usr/include diff --git a/desktop/kde/kde5-framework/kde5-ki18n/translations.xml b/desktop/kde/framework/ki18n/translations.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-ki18n/translations.xml rename to desktop/kde/framework/ki18n/translations.xml diff --git a/desktop/kde/kde5-framework/kde5-kiconthemes/actions.py b/desktop/kde/framework/kiconthemes/1actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kiconthemes/actions.py rename to desktop/kde/framework/kiconthemes/1actions.py diff --git a/desktop/kde/framework/kiconthemes/actions.py b/desktop/kde/framework/kiconthemes/actions.py new file mode 100644 index 0000000000..11b2858877 --- /dev/null +++ b/desktop/kde/framework/kiconthemes/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/kde5-framework/kde5-kiconthemes/pspec.xml b/desktop/kde/framework/kiconthemes/pspec.xml similarity index 69% rename from desktop/kde/kde5-framework/kde5-kiconthemes/pspec.xml rename to desktop/kde/framework/kiconthemes/pspec.xml index b1be2e856a..95b7a42792 100755 --- a/desktop/kde/kde5-framework/kde5-kiconthemes/pspec.xml +++ b/desktop/kde/framework/kiconthemes/pspec.xml @@ -2,7 +2,7 @@ - kde5-kiconthemes + kiconthemes http://www.kde.org Pisi Linux Admins @@ -13,7 +13,7 @@ app:console KDE5 icon utilities This library contains classes to improve the handling of icons in applications using the KDE Frameworks. - http://download.kde.org/stable/frameworks/5.10/kiconthemes-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kiconthemes-5.11.0.tar.xz qt5-base-devel python3 @@ -22,16 +22,16 @@ - kde5-kiconthemes + kiconthemes qt5-base qt5-svg - kde5-kconfigwidgets - kde5-ki18n - kde5-kitemviews - kde5-kwidgetsaddons - kde5-kconfig - kde5-kcoreaddons + kconfigwidgets + ki18n + kitemviews + kwidgetsaddons + kconfig + kcoreaddons /usr/share @@ -44,10 +44,10 @@ - kde5-kiconthemes-devel + kiconthemes-devel Development files for kiconthemes - kde5-kiconthemes + kiconthemes /usr/include @@ -57,6 +57,13 @@ + + 2015-06-22 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 diff --git a/desktop/kde/kde5-framework/kde5-kpackage/actions.py b/desktop/kde/framework/kpackage/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kpackage/actions.py rename to desktop/kde/framework/kpackage/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kpackage/pspec.xml b/desktop/kde/framework/kpackage/pspec.xml similarity index 86% rename from desktop/kde/kde5-framework/kde5-kpackage/pspec.xml rename to desktop/kde/framework/kpackage/pspec.xml index a4e28d4ed6..13dbee6969 100644 --- a/desktop/kde/kde5-framework/kde5-kpackage/pspec.xml +++ b/desktop/kde/framework/kpackage/pspec.xml @@ -2,7 +2,7 @@ - kde5-kpackage + kpackage https://userbase.kde.org/KPackage Stefan Gronewold(groni) @@ -24,14 +24,16 @@ - kde5-kpackage + kpackage qt5-base - libgcc - kde5-kconfig - kde5-ki18n - kde5-kcoreaddons - kde5-karchive + libgcc + libX11 + libgcc + kconfig + ki18n + kcoreaddons + karchive /usr/bin @@ -47,7 +49,7 @@ Development files for kpackage qt5-base-devel - kde5-kpackage + kpackage /usr/include diff --git a/desktop/kde/kde5-framework/kde5-kpackage/translations.xml b/desktop/kde/framework/kpackage/translations.xml similarity index 100% rename from desktop/kde/kde5-framework/kde5-kpackage/translations.xml rename to desktop/kde/framework/kpackage/translations.xml diff --git a/desktop/kde/kde5-framework/kde5-kwidgetsaddons/actions.py b/desktop/kde/framework/kwidgetsaddons/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kwidgetsaddons/actions.py rename to desktop/kde/framework/kwidgetsaddons/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kwidgetsaddons/pspec.xml b/desktop/kde/framework/kwidgetsaddons/pspec.xml similarity index 92% rename from desktop/kde/kde5-framework/kde5-kwidgetsaddons/pspec.xml rename to desktop/kde/framework/kwidgetsaddons/pspec.xml index 8da4523aff..a4bda1a1e8 100755 --- a/desktop/kde/kde5-framework/kde5-kwidgetsaddons/pspec.xml +++ b/desktop/kde/framework/kwidgetsaddons/pspec.xml @@ -2,7 +2,7 @@ - kde5-kwidgetsaddons + kwidgetsaddons http://www.kde.org Pisi Linux Admins @@ -22,7 +22,7 @@ - kde5-kwidgetsaddons + kwidgetsaddons qt5-base @@ -36,11 +36,11 @@ - kde5-kwidgetsaddons-devel + kwidgetsaddons-devel Development files for kwidgetsaddons qt5-base-devel - kde5-kwidgetsaddons + kwidgetsaddons /usr/include diff --git a/desktop/kde/kde5-framework/kde5-kwindowsystem/actions.py b/desktop/kde/framework/kwindowsystem/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-kwindowsystem/actions.py rename to desktop/kde/framework/kwindowsystem/actions.py diff --git a/desktop/kde/kde5-framework/kde5-kwindowsystem/pspec.xml b/desktop/kde/framework/kwindowsystem/pspec.xml similarity index 94% rename from desktop/kde/kde5-framework/kde5-kwindowsystem/pspec.xml rename to desktop/kde/framework/kwindowsystem/pspec.xml index 905d60bdc5..64ca5da89b 100755 --- a/desktop/kde/kde5-framework/kde5-kwindowsystem/pspec.xml +++ b/desktop/kde/framework/kwindowsystem/pspec.xml @@ -2,7 +2,7 @@ - kde5-kwindowsystem + kwindowsystem http://www.kde.org Pisi Linux Admins @@ -30,7 +30,7 @@ - kde5-kwindowsystem + kwindowsystem qt5-base libX11 @@ -51,7 +51,7 @@ - kde5-kwindowsystem-devel + kwindowsystem-devel Development files for kwindowsystem qt5-base-devel @@ -59,7 +59,7 @@ libXfixes-devel xcb-util-devel xcb-util-keysyms-devel - kde5-kwindowsystem + kwindowsystem /usr/include diff --git a/desktop/kde/kde5-framework/kde5-solid/1actions.py b/desktop/kde/framework/solid/1actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-solid/1actions.py rename to desktop/kde/framework/solid/1actions.py diff --git a/desktop/kde/kde5-framework/kde5-solid/actions.py b/desktop/kde/framework/solid/actions.py similarity index 100% rename from desktop/kde/kde5-framework/kde5-solid/actions.py rename to desktop/kde/framework/solid/actions.py diff --git a/desktop/kde/kde5-framework/kde5-solid/pspec.xml b/desktop/kde/framework/solid/pspec.xml similarity index 93% rename from desktop/kde/kde5-framework/kde5-solid/pspec.xml rename to desktop/kde/framework/solid/pspec.xml index 4060500634..74d28e143e 100755 --- a/desktop/kde/kde5-framework/kde5-solid/pspec.xml +++ b/desktop/kde/framework/solid/pspec.xml @@ -2,7 +2,7 @@ - kde5-solid + solid http://www.kde.org Pisi Linux Admins @@ -24,7 +24,7 @@ - kde5-solid + solid qt5-base @@ -39,11 +39,11 @@ - kde5-solid-devel + solid-devel Development files for solid qt5-base-devel - kde5-solid + solid /usr/include diff --git a/desktop/kde/kde5-framework/kde5-kcrash/actions.py b/desktop/kde/kde5-framework/kde5-kcrash/actions.py deleted file mode 100755 index b2f086d2f1..0000000000 --- a/desktop/kde/kde5-framework/kde5-kcrash/actions.py +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -# -# Licensed under the GNU General Public License, version 3. -# See the file http://www.gnu.org/licenses/gpl.txt - -from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools - -def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ - -DQML_INSTALL_DIR=lib/qt5/qml \ - -DLIB_INSTALL_DIR=lib \ - -DLIBEXEC_INSTALL_DIR=lib \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DLOCALE_INSTALL_DIR=/usr/share/locale \ - -DBUILD_TESTING=OFF") - -def build(): - cmaketools.make() - -def install(): - cmaketools.install() - - pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/kde5-framework/kde5-kcrash/pspec.xml b/desktop/kde/kde5-framework/kde5-kcrash/pspec.xml deleted file mode 100755 index 5886386df1..0000000000 --- a/desktop/kde/kde5-framework/kde5-kcrash/pspec.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - kde5-kcrash - http://www.kde.org - - Pisi Linux Admins - admins@pisilinux.org - - LGPLv2 - library - app:console - KDE5 crash handling application - KCrash provides support for intercepting and handling application crashes. - http://download.kde.org/stable/frameworks/5.10/kcrash-5.10.0.tar.xz - - qt5-base-devel - extra-cmake-modules - - - - - kde5-kcrash - - qt5-base - qt5-x11extras - kde5-kcoreaddons - kde5-kwindowsystem - - - /usr/share - /usr/share/locale - /usr/lib/qt5 - /usr/lib - /usr/share/doc - - - - - kde5-kcrash-devel - Development files for kcrash - - qt5-base-devel - qt5-x11extras-devel - kde5-kcrash - kde5-kcoreaddons-devel - kde5-kwindowsystem-devel - - - /usr/include - /usr/lib/cmake - /usr/lib/pkgconfig - - - - - - 2015-05-30 - 5.10.0 - First Release. - Stefan Gronewold(groni) - groni@pisilinux.org - - - diff --git a/desktop/kde/porting-aids/kde5-kdelibs4-support/actions.py b/desktop/kde/porting-aids/kde5-kdelibs4-support/actions.py index 11b2858877..29911258e6 100644 --- a/desktop/kde/porting-aids/kde5-kdelibs4-support/actions.py +++ b/desktop/kde/porting-aids/kde5-kdelibs4-support/actions.py @@ -8,7 +8,7 @@ from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools def setup(): - kde5.configure() + kde5.configure("-DHTML_INSTAL_DIR=/usr/share/doc/kdelibs4support/html") def build(): kde5.make() diff --git a/desktop/kde/porting-aids/kde5-kdelibs4-support/pspec.xml b/desktop/kde/porting-aids/kde5-kdelibs4-support/pspec.xml index b51a5b379b..ed5b9866a1 100755 --- a/desktop/kde/porting-aids/kde5-kdelibs4-support/pspec.xml +++ b/desktop/kde/porting-aids/kde5-kdelibs4-support/pspec.xml @@ -18,6 +18,10 @@ qt5-base-devel perl-URI qt5-tools-devel + libSM-devel + docbook-xml + openssl-devel + intltool kde5-kdoctools-devel NetworkManager-devel extra-cmake-modules @@ -83,6 +87,13 @@ + + 2015-06-23 + 5.10.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-06-01 5.10.0 From 45ccbfd55a4bac023abeef04a99d18cc5b05645e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Wed, 24 Jun 2015 22:04:33 +0300 Subject: [PATCH 038/152] fix builddep --- x11/library/libXcursor/pspec.xml | 7 ++ x11/library/libXrender/pspec.xml | 11 +++ x11/library/libpciaccess/actions.py | 21 +++++ x11/library/libpciaccess/pspec.xml | 110 ++++++++++++++++++++++ x11/library/libpciaccess/translations.xml | 18 ++++ 5 files changed, 167 insertions(+) create mode 100644 x11/library/libpciaccess/actions.py create mode 100644 x11/library/libpciaccess/pspec.xml create mode 100644 x11/library/libpciaccess/translations.xml diff --git a/x11/library/libXcursor/pspec.xml b/x11/library/libXcursor/pspec.xml index 3e3f65ee8c..62d3bca97d 100644 --- a/x11/library/libXcursor/pspec.xml +++ b/x11/library/libXcursor/pspec.xml @@ -14,6 +14,9 @@ libXcursor is the X Cursor management library. It allows using different mouse skins and modifying of the text cursor. mirrors://xorg/individual/lib/libXcursor-1.1.14.tar.bz2 + util-macros + libX11-devel + xorg-proto libXfixes-devel libXrender-devel @@ -22,6 +25,7 @@ libXcursor + libX11 libXfixes libXrender @@ -37,6 +41,7 @@ libXcursor libXfixes-devel + libX11-devel libXrender-devel @@ -53,12 +58,14 @@ 32-bit shared libraries for libXcursor emul32 + glibc-32bit libX11-32bit libXfixes-32bit libXrender-32bit libXcursor + glibc-32bit libX11-32bit libXfixes-32bit libXrender-32bit diff --git a/x11/library/libXrender/pspec.xml b/x11/library/libXrender/pspec.xml index 481bb72a7a..102b5b86ac 100644 --- a/x11/library/libXrender/pspec.xml +++ b/x11/library/libXrender/pspec.xml @@ -13,10 +13,18 @@ X.Org Xrender library The X Rendering Extension (Render) introduces digital image composition as the foundation of a new rendering model within the X Window System. Rendering geometric figures is accomplished by client-side tesselation into either triangles or trapezoids. mirrors://xorg/individual/lib/libXrender-0.9.8.tar.bz2 + + libX11-devel + xorg-proto + util-macros + libXrender + + libX11 + /usr/lib /usr/share/doc @@ -28,6 +36,7 @@ Development files for libXrender libXrender + libX11-devel /usr/include/X11 @@ -43,10 +52,12 @@ 32-bit shared libraries for libXrender emul32 + glibc-32bit libX11-32bit libXrender + glibc-32bit libX11-32bit diff --git a/x11/library/libpciaccess/actions.py b/x11/library/libpciaccess/actions.py new file mode 100644 index 0000000000..5c77555e24 --- /dev/null +++ b/x11/library/libpciaccess/actions.py @@ -0,0 +1,21 @@ +# -*- 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.autoreconf("-vif") + autotools.configure("--disable-static \ + --with-pciids-path=/usr/share/misc/") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "README") diff --git a/x11/library/libpciaccess/pspec.xml b/x11/library/libpciaccess/pspec.xml new file mode 100644 index 0000000000..42bb14df7b --- /dev/null +++ b/x11/library/libpciaccess/pspec.xml @@ -0,0 +1,110 @@ + + + + + libpciaccess + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + X.Org PCI access library + libpciaccess is the Xorg library for portable PCI access routines across multiple operating systems. + mirrors://xorg/individual/lib/libpciaccess-0.13.4.tar.bz2 + + util-macros + + + + + libpciaccess + + /usr/lib + /usr/share/doc + + + + + libpciaccess-devel + Development files for libpciaccess + + libpciaccess + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + + libpciaccess-32bit + emul32 + 32-bit shared libraries for libpciaccess + emul32 + + glibc-32bit + + + glibc-32bit + libpciaccess + + + /usr/lib32 + + + + + + 2015-05-05 + 0.13.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 0.13.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 0.13.2 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 0.13.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-21 + 0.13.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-01 + 0.13.1 + rebuild + Erdinc Gültekin + erdincgultekin@pisilinux.org + + + 2012-11-22 + 0.13.1 + First release + Marcin Bojara + marcin@pisilinux.org + + + diff --git a/x11/library/libpciaccess/translations.xml b/x11/library/libpciaccess/translations.xml new file mode 100644 index 0000000000..e0e5a6fbef --- /dev/null +++ b/x11/library/libpciaccess/translations.xml @@ -0,0 +1,18 @@ + + + + libpciaccess + X.Org PCI erişim kitaplığı + libpciaccess, değişik işletim sistemleri için taşınabilir PCI erişim rutinleri içeren Xorg kitaplığıdır. + + + + libpciaccess-devel + libpciaccess için geliştirme dosyaları + + + + libpciaccess-32bit + libpciaccess için 32-bit paylaşımlı kitaplıklar + + From ffbbf113468efbf8e0825921295a378a86d782a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Wed, 24 Jun 2015 22:11:33 +0300 Subject: [PATCH 039/152] libdrm fix deps --- x11/library/libdrm/pspec.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x11/library/libdrm/pspec.xml b/x11/library/libdrm/pspec.xml index 6ed19f1aee..e2b8cace11 100644 --- a/x11/library/libdrm/pspec.xml +++ b/x11/library/libdrm/pspec.xml @@ -15,7 +15,6 @@ http://dri.freedesktop.org/libdrm/libdrm-2.4.60.tar.bz2 libpciaccess-devel - cairo-32bit @@ -104,10 +103,12 @@ 32-bit shared libraries for libdrm emul32 + glibc-32bit libpciaccess-32bit libdrm + glibc-32bit libpciaccess-32bit From ed4b0f6086cb668d6675bd88925f58c197270ea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Thu, 25 Jun 2015 00:03:56 +0300 Subject: [PATCH 040/152] fix deps --- programming/build/component.xml | 3 + programming/build/llvm/actions.py | 114 + .../llvm-3.5.0-fix-cmake-llvm-exports.patch | 39 + .../files/llvm-3.5.0-force-link-pass.o.patch | 28 + programming/build/llvm/pspec.xml | 202 ++ programming/build/llvm/translations.xml | 33 + programming/language/ocaml/component.xml | 3 + programming/language/ocaml/ocaml/actions.py | 45 + ...ore-.-configure-it-s-a-real-git-file.patch | 24 + ...pilerlibs-directory-is-created-by-gi.patch | 18 + .../0003-Don-t-add-rpaths-to-libraries.patch | 29 + ...amlplugininfo-Useful-utilities-from-.patch | 240 ++ ...-Allow-user-defined-C-compiler-flags.patch | 27 + ...-no_arg-and-get_arg-helper-functions.patch | 118 + ...such-as-flag-arg-as-well-as-flag-arg.patch | 84 + ...C99-types-u-int-32-64-_t-in-preferen.patch | 1963 +++++++++++++++++ programming/language/ocaml/ocaml/pspec.xml | 106 + .../language/ocaml/ocaml/translations.xml | 18 + programming/language/tcl/component.xml | 3 + programming/language/tcl/tcl/actions.py | 61 + .../tcl/tcl/files/tcl-8.6.1-conf.patch | 19 + .../tcl/tcl/files/tcl-8.6.1-hidden.patch | 35 + programming/language/tcl/tcl/pspec.xml | 135 ++ programming/language/tcl/tcl/translations.xml | 14 + programming/language/tcl/tcltk/actions.py | 47 + .../tcl/tcltk/files/tclm4_soname.patch | 27 + .../tcl/tcltk/files/tk-8.6.1-conf.patch | 19 + .../tcl/tcltk/files/tk-8.6.1-fix-xft.patch | 15 + .../tcl/tcltk/files/tk-8.6.1-make.patch | 13 + programming/language/tcl/tcltk/pspec.xml | 114 + .../language/tcl/tcltk/translations.xml | 14 + x11/library/libXdamage/pspec.xml | 7 +- x11/library/libXft/actions.py | 20 + .../libXft/files/freetype_header.patch | 29 + x11/library/libXft/pspec.xml | 128 ++ x11/library/libXft/translations.xml | 19 + x11/library/libxkbcommon/pspec.xml | 12 + x11/library/xcb-util/pspec.xml | 9 + 38 files changed, 3833 insertions(+), 1 deletion(-) create mode 100644 programming/build/component.xml create mode 100644 programming/build/llvm/actions.py create mode 100644 programming/build/llvm/files/llvm-3.5.0-fix-cmake-llvm-exports.patch create mode 100644 programming/build/llvm/files/llvm-3.5.0-force-link-pass.o.patch create mode 100644 programming/build/llvm/pspec.xml create mode 100644 programming/build/llvm/translations.xml create mode 100644 programming/language/ocaml/component.xml create mode 100644 programming/language/ocaml/ocaml/actions.py create mode 100644 programming/language/ocaml/ocaml/files/fedora/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch create mode 100644 programming/language/ocaml/ocaml/files/fedora/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch create mode 100644 programming/language/ocaml/ocaml/files/fedora/0003-Don-t-add-rpaths-to-libraries.patch create mode 100644 programming/language/ocaml/ocaml/files/fedora/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch create mode 100644 programming/language/ocaml/ocaml/files/fedora/0005-configure-Allow-user-defined-C-compiler-flags.patch create mode 100644 programming/language/ocaml/ocaml/files/fedora/0009-arg-Add-no_arg-and-get_arg-helper-functions.patch create mode 100644 programming/language/ocaml/ocaml/files/fedora/0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch create mode 100644 programming/language/ocaml/ocaml/files/fedora/0011-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch create mode 100644 programming/language/ocaml/ocaml/pspec.xml create mode 100644 programming/language/ocaml/ocaml/translations.xml create mode 100644 programming/language/tcl/component.xml create mode 100755 programming/language/tcl/tcl/actions.py create mode 100755 programming/language/tcl/tcl/files/tcl-8.6.1-conf.patch create mode 100755 programming/language/tcl/tcl/files/tcl-8.6.1-hidden.patch create mode 100755 programming/language/tcl/tcl/pspec.xml create mode 100755 programming/language/tcl/tcl/translations.xml create mode 100755 programming/language/tcl/tcltk/actions.py create mode 100755 programming/language/tcl/tcltk/files/tclm4_soname.patch create mode 100755 programming/language/tcl/tcltk/files/tk-8.6.1-conf.patch create mode 100755 programming/language/tcl/tcltk/files/tk-8.6.1-fix-xft.patch create mode 100755 programming/language/tcl/tcltk/files/tk-8.6.1-make.patch create mode 100755 programming/language/tcl/tcltk/pspec.xml create mode 100755 programming/language/tcl/tcltk/translations.xml create mode 100644 x11/library/libXft/actions.py create mode 100644 x11/library/libXft/files/freetype_header.patch create mode 100644 x11/library/libXft/pspec.xml create mode 100644 x11/library/libXft/translations.xml diff --git a/programming/build/component.xml b/programming/build/component.xml new file mode 100644 index 0000000000..678f939048 --- /dev/null +++ b/programming/build/component.xml @@ -0,0 +1,3 @@ + + programming.build + diff --git a/programming/build/llvm/actions.py b/programming/build/llvm/actions.py new file mode 100644 index 0000000000..bf18e2bfc9 --- /dev/null +++ b/programming/build/llvm/actions.py @@ -0,0 +1,114 @@ + +# -*- 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 pkgconfig +from pisi.actionsapi import get +from pisi.actionsapi import kde4 + +#WorkDir = "%s-%s.src" % (get.srcNAME(), get.srcVERSION()) +libdir = "/usr/lib32/llvm" if get.buildTYPE() == "emul32" else "/usr/lib/llvm" +lib = "lib32" if get.buildTYPE() == "emul32" else "lib" + +def setup(): + if not shelltools.isDirectory("tools/clang"): + pisitools.dosed("tools/cfe-3.5.0.src/lib/Driver/ToolChains.cpp", '"ld"', '"ld.gold"') + shelltools.move("tools/cfe-%s.src" % get.srcVERSION(), "tools/clang") + shelltools.move("tools/clang-tools-extra-*", "tools/clang/extra") + if not shelltools.isDirectory("projects/compiler-rt"): + shelltools.move("projects/compiler-rt-3.5*", "projects/compiler-rt") + + pisitools.dosed("utils/llvm-build/llvm-build", "python", "python2.7") + pisitools.dosed("bindings/ocaml/Makefile.ocaml", '\$\(PROJ_libdir\)', libdir) + pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/etc/llvm", "/etc/llvm") + pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/lib", "$(PROJ_prefix)/%s/llvm" % lib) + pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/docs/llvm", "$(PROJ_prefix)/share/doc/llvm") + pisitools.dosed("tools/llvm-config/llvm-config.cpp", '(ActiveLibDir\s=\sActivePrefix\s\+\s\"\/lib)(.*)', r'\1/llvm\2') + pisitools.dosed("autoconf/configure.ac", '\LLVM_LIBDIR="\$\{prefix\}/lib"', 'LLVM_LIBDIR="${prefix}/%s/llvm"' % lib) + + pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ExmplDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)") + pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ToolDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)") + + shelltools.export("CPPFLAGS","%s %s" % (get.CXXFLAGS(),pkgconfig.getLibraryCFLAGS("libffi"))) + + #pic_option = "enable" if get.ARCH() == "x86_64" else "disable" + shelltools.export("CC", "gcc") + shelltools.export("CXX", "g++") + + options = "--libdir=%s \ + --datadir=/usr/share/llvm \ + --sysconfdir=/etc \ + --enable-shared \ + --enable-libffi \ + --enable-targets=all \ + --disable-expensive-checks \ + --disable-debug-runtime \ + --disable-assertions \ + --disable-assertions \ + --with-python=/usr/bin/python2.7 \ + --with-binutils-include=/usr/include \ + " % libdir + + autotools.configure(options) + + +#def check(): +# autotools.make("check") +# autotools.make("-C tools/clang test") + +def build(): + autotools.make("REQUIRES_RTTI=1") + +def install(): + if get.buildTYPE() == "emul32": + + autotools.rawInstall("DESTDIR=%s \ + PROJ_etcdir=/etc/llvm \ + PROJ_libdir=/usr/lib32/llvm \ + PROJ_docsdir=/%s/llvm" + % (get.installDIR(), get.docDIR())) + shelltools.chmod("%s/usr/lib32/llvm/*.a" % get.installDIR(), mode = 0644) + pisitools.dosym("llvm/LLVMgold.so", "/usr/lib32/LLVMgold.so") + pisitools.remove("/usr/lib32/llvm/*LLVMHello.*") + return + else: + autotools.rawInstall("DESTDIR=%s \ + PROJ_etcdir=/etc/llvm \ + PROJ_libdir=%s \ + PROJ_docsdir=/%s/llvm" + % (get.installDIR(), libdir, get.docDIR())) + + + shelltools.chmod("%s/usr/lib/llvm/*.a" % get.installDIR(), 0644) + + # Install static analyzers which aren't installed by default + for exe in ("scan-build", "scan-view"): + pisitools.insinto("/usr/lib/clang-analyzer/%s" % exe, "tools/clang/tools/%s/%s" % (exe, exe)) + pisitools.dosym("/usr/lib/clang-analyzer/%s/%s" % (exe, exe), "/usr/bin/%s" % exe) + + pisitools.dodir("/etc/ld.so.conf.d") + shelltools.echo("%s/etc/ld.so.conf.d/51-llvm.conf" % get.installDIR(), "/usr/lib/llvm") + + # Symlink the gold plugin where clang expects it + pisitools.dosym("llvm/LLVMgold.so", "/usr/lib/LLVMgold.so") + + # Remove example file + pisitools.remove("/usr/lib/llvm/*LLVMHello.*") + + pisitools.remove("/usr/share/doc/llvm/*.tar.gz") + pisitools.remove("/usr/share/doc/llvm/ocamldoc/html/*.tar.gz") + pisitools.removeDir("/usr/share/doc/llvm/ps") + + # Install vim syntax files for .ll and .td files + # llvm.vim additional file add ftdetct vim file to detect .ll and .td as llvm files + pisitools.insinto("/usr/share/vim/vimfiles/syntax", "utils/vim/*.vim") + + # Install kate syntax file + pisitools.insinto("%s/katepart/syntax" % kde4.appsdir, "utils/kate/*.xml") + + pisitools.dodoc("CREDITS.TXT", "LICENSE.TXT", "README.txt") diff --git a/programming/build/llvm/files/llvm-3.5.0-fix-cmake-llvm-exports.patch b/programming/build/llvm/files/llvm-3.5.0-fix-cmake-llvm-exports.patch new file mode 100644 index 0000000000..7a7d42a3d4 --- /dev/null +++ b/programming/build/llvm/files/llvm-3.5.0-fix-cmake-llvm-exports.patch @@ -0,0 +1,39 @@ +Index: cmake/modules/Makefile +=================================================================== +--- cmake/modules/Makefile (revision 217483) ++++ cmake/modules/Makefile (revision 217484) +@@ -33,6 +33,16 @@ + LLVM_ENABLE_RTTI := 0 + endif + ++LLVM_LIBS_TO_EXPORT := $(subst -l,,$(shell $(LLVM_CONFIG) --libs $(LINK_COMPONENTS) || echo Error)) ++ ++ifeq ($(LLVM_LIBS_TO_EXPORT),Error) ++$(error llvm-config --libs failed) ++endif ++ ++ifndef LLVM_LIBS_TO_EXPORT ++$(error LLVM_LIBS_TO_EXPORT cannot be empty) ++endif ++ + OBJMODS := LLVMConfig.cmake LLVMConfigVersion.cmake LLVMExports.cmake + + $(PROJ_OBJ_DIR)/LLVMConfig.cmake: LLVMConfig.cmake.in $(LLVMBuildCMakeFrag) +@@ -45,7 +55,7 @@ + -e 's/@LLVM_VERSION_PATCH@/'"$(LLVM_VERSION_PATCH)"'/' \ + -e 's/@PACKAGE_VERSION@/'"$(LLVMVersion)"'/' \ + -e 's/@LLVM_COMMON_DEPENDS@//' \ +- -e 's/@LLVM_AVAILABLE_LIBS@/'"$(subst -l,,$(LLVMConfigLibs))"'/' \ ++ -e 's/@LLVM_AVAILABLE_LIBS@/'"$(LLVM_LIBS_TO_EXPORT)"'/' \ + -e 's/@LLVM_ALL_TARGETS@/'"$(ALL_TARGETS)"'/' \ + -e 's/@LLVM_TARGETS_TO_BUILD@/'"$(TARGETS_TO_BUILD)"'/' \ + -e 's/@LLVM_TARGETS_WITH_JIT@/'"$(TARGETS_WITH_JIT)"'/' \ +@@ -83,7 +93,7 @@ + $(Echo) 'Generating LLVM CMake target exports file' + $(Verb) ( \ + echo '# LLVM CMake target exports. Do not include directly.' && \ +- for lib in $(subst -l,,$(LLVMConfigLibs)); do \ ++ for lib in $(LLVM_LIBS_TO_EXPORT); do \ + echo 'add_library('"$$lib"' STATIC IMPORTED)' && \ + echo 'set_property(TARGET '"$$lib"' PROPERTY IMPORTED_LOCATION "'"$(PROJ_libdir)/lib$$lib.a"'")' ; \ + done && \ diff --git a/programming/build/llvm/files/llvm-3.5.0-force-link-pass.o.patch b/programming/build/llvm/files/llvm-3.5.0-force-link-pass.o.patch new file mode 100644 index 0000000000..acc4c13396 --- /dev/null +++ b/programming/build/llvm/files/llvm-3.5.0-force-link-pass.o.patch @@ -0,0 +1,28 @@ +Index: llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile +=================================================================== +--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/bugpoint/Makefile ++++ llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile +@@ -12,6 +12,9 @@ TOOLNAME := bugpoint + LINK_COMPONENTS := asmparser instrumentation scalaropts ipo linker bitreader \ + bitwriter irreader vectorize objcarcopts codegen + ++# Crappy workaround to make sure it links correctly. ++LLVMLibsOptions := ../../lib/IR/Release*/Pass.o ++ + # Support plugins. + NO_DEAD_STRIP := 1 + +Index: llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile +=================================================================== +--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/opt/Makefile ++++ llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile +@@ -10,7 +10,9 @@ + LEVEL := ../.. + TOOLNAME := opt + LINK_COMPONENTS := bitreader bitwriter asmparser irreader instrumentation scalaropts objcarcopts ipo vectorize all-targets codegen ++# Crappy workaround to make sure it links correctly. + ++LLVMLibsOptions := ../../lib/IR/Release*/Pass.o + # Support plugins. + NO_DEAD_STRIP := 1 + diff --git a/programming/build/llvm/pspec.xml b/programming/build/llvm/pspec.xml new file mode 100644 index 0000000000..dc87e8a790 --- /dev/null +++ b/programming/build/llvm/pspec.xml @@ -0,0 +1,202 @@ + + + + + llvm + http://www.llvm.org/ + + Serdar Soytetir + kaptan@pisilinux.org + + NCSA + The Low Level Virtual Machine + The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. + http://llvm.org/releases/3.5.0/llvm-3.5.0.src.tar.xz + http://llvm.org/releases/3.5.0/cfe-3.5.0.src.tar.xz + http://llvm.org/releases/3.5.0/clang-tools-extra-3.5.0.src.tar.xz + http://llvm.org/releases/3.5.0/compiler-rt-3.5.0.src.tar.xz + + + ocaml + libffi-devel + libedit-devel + + binutils + + + llvm-3.5.0-fix-cmake-llvm-exports.patch + llvm-3.5.0-force-link-pass.o.patch + + + + + llvm + app:console + library + + llvm-libs + + + /usr/bin + /usr/bin/llvm-config + /usr/include/llvm* + /usr/lib/llvm + /usr/lib + /etc/ld.so.conf.d + /etc/llvm + /usr/share/doc + /usr/share/vim + /usr/share/llvm/cmake + + /usr/share/kde4 + /usr/share/man + + + + + llvm-libs + library + + /usr/lib/llvm/libLLVM-3* + /usr/share/licenses/llvm-libs/LICENSE + + + + + llvm-ocaml + library + programming.language.ocaml + OCaml binding for LLVM + + llvm + ocaml + + + /usr/lib/ocaml + + + + + llvm-clang-analyzer + app:console + A source code analysis framework + The Clang Static Analyzer consists of both a source code analysis framework and a standalone tool that finds bugs in C and Objective-C programs. + + llvm-clang + + + /usr/lib/clang-analyzer + /usr/bin/scan-* + + + + + llvm-clang + A C language family front-end for LLVM + The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler. + + llvm + + + /usr/bin/clang* + /usr/bin/tblgen + /usr/lib/clang + /usr/lib/clang/libclang.so + /usr/share/man/man1/clang.1 + + + + + llvm-clang-devel + Development headers for llvm-clang + + llvm-clang + + + /usr/include/clang + /usr/include/clang-c + + + + + llvm-docs + programming.docs + data:doc + Documentation for LLVM + + /usr/share/doc/llvm/html + /usr/share/doc/llvm/ocamldoc + + + + + llvm-32bit + emul32 + 32-bit shared libraries for llvm + emul32 + + zlib-32bit + libffi-32bit + + + llvm + zlib-32bit + libffi-32bit + + + /usr/lib32 + + + + + + 2014-09-23 + 3.5.0 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-11 + 3.4.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-11 + 3.4.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-09-01 + 3.3 + Release bump, already cleaned. + marcin bojara + marcin@pisilinux.org + + + 2013-07-26 + 3.3 + Version bump. + marcin bojara + marcin@pisilinux.org + + + 2013-02-18 + 3.2 + version bump + PisiLinux Community + admins@pisilinux.org + + + 2012-06-11 + 3.1 + First release + marcin bojara + marcin@pisilinux.org + + + diff --git a/programming/build/llvm/translations.xml b/programming/build/llvm/translations.xml new file mode 100644 index 0000000000..7ebd970163 --- /dev/null +++ b/programming/build/llvm/translations.xml @@ -0,0 +1,33 @@ + + + + llvm + Düşük Seviye Sanal Makine (LLVM) + LLVM projesi, modüler ve tekrar tekrar kullanılabilir derleyici teknolojileri koleksiyonudur. Adının aksine geleneksel sanal makinelerden çok farklıdır; ancak sanal makineleri oluşturmak için faydalı kitaplıklar içerir. + + + + llvm-ocaml + LLVM için OCaml bağlayıcısı + + + + llvm-clang-analyzer + C ve Objective-C için kod analiz altyapısı + + + + llvm-clang + LLVM için C dili ailesi ön ucu + + + + llvm-clang-devel + llvm-clang için başlık dosyaları + + + + llvm-docs + LLVM belgeleri + + diff --git a/programming/language/ocaml/component.xml b/programming/language/ocaml/component.xml new file mode 100644 index 0000000000..bcae4bf1bf --- /dev/null +++ b/programming/language/ocaml/component.xml @@ -0,0 +1,3 @@ + + programming.language.ocaml + diff --git a/programming/language/ocaml/ocaml/actions.py b/programming/language/ocaml/ocaml/actions.py new file mode 100644 index 0000000000..b9784fffc6 --- /dev/null +++ b/programming/language/ocaml/ocaml/actions.py @@ -0,0 +1,45 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +def setup(): + #shelltools.export("CFLAGS", get.CFLAGS().replace("-fomit-frame-pointer", "")) + #shelltools.export("LDFLAGS", get.LDFLAGS()) + + autotools.rawConfigure("-prefix /usr \ + -bindir /usr/bin \ + -x11include /usr/include \ + -libdir /usr/lib/ocaml \ + -mandir /usr/share/man \ + --with-pthread") + +def build(): + autotools.make("-j1 world") + autotools.make("-j1 opt") + autotools.make("-j1 opt.opt") + autotools.make("-C emacs ocamltags") + +def install(): + autotools.rawInstall("BINDIR=%(install)s/usr/bin \ + LIBDIR=%(install)s/usr/lib/ocaml \ + MANDIR=%(install)s/usr/share/man" \ + % { "install": get.installDIR()}) + + pisitools.dodoc("Changes", "LICENSE", "README") + + + ''' autotools.rawInstall("-C emacs \ + BINDIR=%(install)s/usr/bin \ + EMACSDIR=%(install)s/usr/share/emacs/site-lisp" + % { "install": get.installDIR()}) + ''' + # Remove rpaths from stublibs .so files + shelltools.system("chrpath --delete %s/usr/lib/ocaml/stublibs/*.so" + % get.installDIR()) diff --git a/programming/language/ocaml/ocaml/files/fedora/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch b/programming/language/ocaml/ocaml/files/fedora/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch new file mode 100644 index 0000000000..6561c038fe --- /dev/null +++ b/programming/language/ocaml/ocaml/files/fedora/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch @@ -0,0 +1,24 @@ +From ccc1bf226619608230dc94b26377756719cf7b20 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 24 Jun 2014 22:29:38 +0100 +Subject: [PATCH 01/12] Don't ignore ./configure, it's a real git file. + +--- + .gitignore | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/.gitignore b/.gitignore +index d36195a..dbb0e3e 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -19,7 +19,6 @@ + /.depend + /.depend.nt + /.DS_Store +-/configure + /ocamlc + /ocamlc.opt + /expunge +-- +2.0.4 + diff --git a/programming/language/ocaml/ocaml/files/fedora/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch b/programming/language/ocaml/ocaml/files/fedora/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch new file mode 100644 index 0000000000..6560bd343d --- /dev/null +++ b/programming/language/ocaml/ocaml/files/fedora/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch @@ -0,0 +1,18 @@ +From 0e3b6450f6ab803442a809b6da41d5d5c5da650f Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 7 Jun 2012 15:36:16 +0100 +Subject: [PATCH 02/12] Ensure empty compilerlibs/ directory is created by git. + +This directory exists in the OCaml tarball, but is empty. As a +result, git ignores it unless we put a dummy file in it. +--- + compilerlibs/.exists | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + create mode 100644 compilerlibs/.exists + +diff --git a/compilerlibs/.exists b/compilerlibs/.exists +new file mode 100644 +index 0000000..e69de29 +-- +2.0.4 + diff --git a/programming/language/ocaml/ocaml/files/fedora/0003-Don-t-add-rpaths-to-libraries.patch b/programming/language/ocaml/ocaml/files/fedora/0003-Don-t-add-rpaths-to-libraries.patch new file mode 100644 index 0000000000..1d36cccb11 --- /dev/null +++ b/programming/language/ocaml/ocaml/files/fedora/0003-Don-t-add-rpaths-to-libraries.patch @@ -0,0 +1,29 @@ +From 79f0f91e3e4abbfbd3564c11ea72e53310236afc Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 24 Jun 2014 10:00:15 +0100 +Subject: [PATCH 03/12] Don't add rpaths to libraries. + +--- + tools/Makefile.shared | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/tools/Makefile.shared b/tools/Makefile.shared +index 2517434..75a75b4 100644 +--- a/tools/Makefile.shared ++++ b/tools/Makefile.shared +@@ -112,9 +112,9 @@ ocamlmklibconfig.ml: ../config/Makefile + echo 'let ext_dll = "$(EXT_DLL)"'; \ + echo 'let supports_shared_libraries = $(SUPPORTS_SHARED_LIBRARIES)';\ + echo 'let mkdll = "$(MKDLL)"'; \ +- echo 'let byteccrpath = "$(BYTECCRPATH)"'; \ +- echo 'let nativeccrpath = "$(NATIVECCRPATH)"'; \ +- echo 'let mksharedlibrpath = "$(MKSHAREDLIBRPATH)"'; \ ++ echo 'let byteccrpath = ""'; \ ++ echo 'let nativeccrpath = ""'; \ ++ echo 'let mksharedlibrpath = ""'; \ + echo 'let toolpref = "$(TOOLPREF)"'; \ + sed -n -e 's/^#ml //p' ../config/Makefile) \ + > ocamlmklibconfig.ml +-- +2.0.4 + diff --git a/programming/language/ocaml/ocaml/files/fedora/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch b/programming/language/ocaml/ocaml/files/fedora/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch new file mode 100644 index 0000000000..5e117b7dc4 --- /dev/null +++ b/programming/language/ocaml/ocaml/files/fedora/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch @@ -0,0 +1,240 @@ +From 11b377aee2811891635982a5590fef62f12645b6 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 29 May 2012 20:40:36 +0100 +Subject: [PATCH 04/12] ocamlbyteinfo, ocamlplugininfo: Useful utilities from + Debian, sent upstream. + +See: +http://git.debian.org/?p=pkg-ocaml-maint/packages/ocaml.git;a=tree;f=debian/ocamlbyteinfo;hb=HEAD +--- + ocamlbyteinfo.ml | 101 +++++++++++++++++++++++++++++++++++++++++++++++++ + ocamlplugininfo.ml | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 210 insertions(+) + create mode 100644 ocamlbyteinfo.ml + create mode 100644 ocamlplugininfo.ml + +diff --git a/ocamlbyteinfo.ml b/ocamlbyteinfo.ml +new file mode 100644 +index 0000000..eb9a293 +--- /dev/null ++++ b/ocamlbyteinfo.ml +@@ -0,0 +1,101 @@ ++(***********************************************************************) ++(* *) ++(* Objective Caml *) ++(* *) ++(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) ++(* *) ++(* Copyright 2009 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the GNU Library General Public License, with *) ++(* the special exception on linking described in file ../../LICENSE. *) ++(* *) ++(***********************************************************************) ++ ++(* $Id$ *) ++ ++(* Dumps a bytecode binary file *) ++ ++open Sys ++open Dynlinkaux ++ ++let input_stringlist ic len = ++ let get_string_list sect len = ++ let rec fold s e acc = ++ if e != len then ++ if sect.[e] = '\000' then ++ fold (e+1) (e+1) (String.sub sect s (e-s) :: acc) ++ else fold s (e+1) acc ++ else acc ++ in fold 0 0 [] ++ in ++ let sect = String.create len in ++ let _ = really_input ic sect 0 len in ++ get_string_list sect len ++ ++let print = Printf.printf ++let perr s = ++ Printf.eprintf "%s\n" s; ++ exit(1) ++let p_title title = print "%s:\n" title ++ ++let p_section title format pdata = function ++ | [] -> () ++ | l -> ++ p_title title; ++ List.iter ++ (fun (name, data) -> print format (pdata data) name) ++ l ++ ++let p_list title format = function ++ | [] -> () ++ | l -> ++ p_title title; ++ List.iter ++ (fun name -> print format name) ++ l ++ ++let _ = ++ try ++ let input_name = Sys.argv.(1) in ++ let ic = open_in_bin input_name in ++ Bytesections.read_toc ic; ++ List.iter ++ (fun section -> ++ try ++ let len = Bytesections.seek_section ic section in ++ if len > 0 then match section with ++ | "CRCS" -> ++ p_section ++ "Imported Units" ++ "\t%s\t%s\n" ++ Digest.to_hex ++ (input_value ic : (string * Digest.t) list) ++ | "DLLS" -> ++ p_list ++ "Used Dlls" "\t%s\n" ++ (input_stringlist ic len) ++ | "DLPT" -> ++ p_list ++ "Additional Dll paths" ++ "\t%s\n" ++ (input_stringlist ic len) ++ | "PRIM" -> ++ let prims = (input_stringlist ic len) in ++ print "Uses unsafe features: "; ++ begin match prims with ++ [] -> print "no\n" ++ | l -> print "YES\n"; ++ p_list "Primitives declared in this module" ++ "\t%s\n" ++ l ++ end ++ | _ -> () ++ with Not_found | Failure _ | Invalid_argument _ -> () ++ ) ++ ["CRCS"; "DLLS"; "DLPT"; "PRIM"]; ++ close_in ic ++ with ++ | Sys_error msg -> ++ perr msg ++ | Invalid_argument("index out of bounds") -> ++ perr (Printf.sprintf "Usage: %s filename" Sys.argv.(0)) +diff --git a/ocamlplugininfo.ml b/ocamlplugininfo.ml +new file mode 100644 +index 0000000..e28800f +--- /dev/null ++++ b/ocamlplugininfo.ml +@@ -0,0 +1,109 @@ ++(***********************************************************************) ++(* *) ++(* Objective Caml *) ++(* *) ++(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) ++(* *) ++(* Copyright 2009 Institut National de Recherche en Informatique et *) ++(* en Automatique. All rights reserved. This file is distributed *) ++(* under the terms of the GNU Library General Public License, with *) ++(* the special exception on linking described in file ../../LICENSE. *) ++(* *) ++(***********************************************************************) ++ ++(* $Id$ *) ++ ++(* Dumps a .cmxs file *) ++ ++open Natdynlink ++open Format ++ ++let file = ++ try ++ Sys.argv.(1) ++ with _ -> begin ++ Printf.eprintf "Usage: %s file.cmxs\n" Sys.argv.(0); ++ exit(1) ++ end ++ ++exception Abnormal_exit ++ ++let error s e = ++ let eprint = Printf.eprintf in ++ let print_exc s = function ++ | End_of_file -> ++ eprint "%s: %s\n" s file ++ | Abnormal_exit -> ++ eprint "%s\n" s ++ | e -> eprint "%s\n" (Printexc.to_string e) ++ in ++ print_exc s e; ++ exit(1) ++ ++let read_in command = ++ let cmd = Printf.sprintf command file in ++ let ic = Unix.open_process_in cmd in ++ try ++ let line = input_line ic in ++ begin match (Unix.close_process_in ic) with ++ | Unix.WEXITED 0 -> Str.split (Str.regexp "[ ]+") line ++ | Unix.WEXITED _ | Unix.WSIGNALED _ | Unix.WSTOPPED _ -> ++ error ++ (Printf.sprintf ++ "Command \"%s\" exited abnormally" ++ cmd ++ ) ++ Abnormal_exit ++ end ++ with e -> error "File is empty" e ++ ++let get_offset adr_off adr_sec = ++ try ++ let adr = List.nth adr_off 4 in ++ let off = List.nth adr_off 5 in ++ let sec = List.hd adr_sec in ++ ++ let (!) x = Int64.of_string ("0x" ^ x) in ++ let (+) = Int64.add in ++ let (-) = Int64.sub in ++ ++ Int64.to_int (!off + !sec - !adr) ++ ++ with Failure _ | Invalid_argument _ -> ++ error ++ "Command output doesn't have the expected format" ++ Abnormal_exit ++ ++let print_infos name crc defines cmi cmx = ++ let print_name_crc (name, crc) = ++ printf "@ %s (%s)" name (Digest.to_hex crc) ++ in ++ let pr_imports ppf imps = List.iter print_name_crc imps in ++ printf "Name: %s@." name; ++ printf "CRC of implementation: %s@." (Digest.to_hex crc); ++ printf "@[Globals defined:"; ++ List.iter (fun s -> printf "@ %s" s) defines; ++ printf "@]@."; ++ printf "@[Interfaces imported:%a@]@." pr_imports cmi; ++ printf "@[Implementations imported:%a@]@." pr_imports cmx ++ ++let _ = ++ let adr_off = read_in "objdump -h %s | grep ' .data '" in ++ let adr_sec = read_in "objdump -T %s | grep ' caml_plugin_header$'" in ++ ++ let ic = open_in file in ++ let _ = seek_in ic (get_offset adr_off adr_sec) in ++ let header = (input_value ic : Natdynlink.dynheader) in ++ if header.magic <> Natdynlink.dyn_magic_number then ++ raise(Error(Natdynlink.Not_a_bytecode_file file)) ++ else begin ++ List.iter ++ (fun ui -> ++ print_infos ++ ui.name ++ ui.crc ++ ui.defines ++ ui.imports_cmi ++ ui.imports_cmx) ++ header.units ++ end +-- +2.0.4 + diff --git a/programming/language/ocaml/ocaml/files/fedora/0005-configure-Allow-user-defined-C-compiler-flags.patch b/programming/language/ocaml/ocaml/files/fedora/0005-configure-Allow-user-defined-C-compiler-flags.patch new file mode 100644 index 0000000000..c66d1fbaf2 --- /dev/null +++ b/programming/language/ocaml/ocaml/files/fedora/0005-configure-Allow-user-defined-C-compiler-flags.patch @@ -0,0 +1,27 @@ +From 5308c47681201ef3beef3e543ab877f81aa08784 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 29 May 2012 20:44:18 +0100 +Subject: [PATCH 05/12] configure: Allow user defined C compiler flags. + +--- + configure | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/configure b/configure +index dbc6178..c1133ee 100755 +--- a/configure ++++ b/configure +@@ -1633,6 +1633,10 @@ case "$buggycc" in + nativecccompopts="$nativecccompopts -fomit-frame-pointer";; + esac + ++# Allow user defined C Compiler flags ++bytecccompopts="$bytecccompopts $CFLAGS" ++nativecccompopts="$nativecccompopts $CFLAGS" ++ + # Finish generated files + + cclibs="$cclibs $mathlib" +-- +2.0.4 + diff --git a/programming/language/ocaml/ocaml/files/fedora/0009-arg-Add-no_arg-and-get_arg-helper-functions.patch b/programming/language/ocaml/ocaml/files/fedora/0009-arg-Add-no_arg-and-get_arg-helper-functions.patch new file mode 100644 index 0000000000..3dbebc987d --- /dev/null +++ b/programming/language/ocaml/ocaml/files/fedora/0009-arg-Add-no_arg-and-get_arg-helper-functions.patch @@ -0,0 +1,118 @@ +From 0641f11626be99c8bde349520ac28a8d93106856 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 1 Apr 2014 11:17:07 +0100 +Subject: [PATCH 09/12] arg: Add no_arg and get_arg helper functions. + +The no_arg function in this patch is a no-op. It will do something +useful in the followups. + +The get_arg function simply checks the next position on the command +line exists and returns that argument or raises a Arg.Missing. + +This patch should introduce no functional change, it is simply code +refactoring. + +In particular, this should not change the treatment of Arg.current +(see: http://caml.inria.fr/mantis/view.php?id=5197#c11147) +--- + stdlib/arg.ml | 47 ++++++++++++++++++++++++++--------------------- + 1 file changed, 26 insertions(+), 21 deletions(-) + +diff --git a/stdlib/arg.ml b/stdlib/arg.ml +index 0f6480b..a41e0a2 100644 +--- a/stdlib/arg.ml ++++ b/stdlib/arg.ml +@@ -134,56 +134,62 @@ let parse_argv_dynamic ?(current=current) argv speclist anonfun errmsg = + try assoc3 s !speclist + with Not_found -> stop (Unknown s) + in ++ let no_arg () = () in ++ let get_arg () = ++ if !current + 1 < l then argv.(!current + 1) ++ else stop (Missing s) ++ in + begin try + let rec treat_action = function +- | Unit f -> f (); +- | Bool f when !current + 1 < l -> +- let arg = argv.(!current + 1) in ++ | Unit f -> no_arg (); f (); ++ | Bool f -> ++ let arg = get_arg () in + begin try f (bool_of_string arg) + with Invalid_argument "bool_of_string" -> + raise (Stop (Wrong (s, arg, "a boolean"))) + end; + incr current; +- | Set r -> r := true; +- | Clear r -> r := false; +- | String f when !current + 1 < l -> +- f argv.(!current + 1); ++ | Set r -> no_arg (); r := true; ++ | Clear r -> no_arg (); r := false; ++ | String f -> ++ let arg = get_arg () in ++ f arg; + incr current; +- | Symbol (symb, f) when !current + 1 < l -> +- let arg = argv.(!current + 1) in ++ | Symbol (symb, f) -> ++ let arg = get_arg () in + if List.mem arg symb then begin +- f argv.(!current + 1); ++ f arg; + incr current; + end else begin + raise (Stop (Wrong (s, arg, "one of: " + ^ (make_symlist "" " " "" symb)))) + end +- | Set_string r when !current + 1 < l -> +- r := argv.(!current + 1); ++ | Set_string r -> ++ r := get_arg (); + incr current; +- | Int f when !current + 1 < l -> +- let arg = argv.(!current + 1) in ++ | Int f -> ++ let arg = get_arg () in + begin try f (int_of_string arg) + with Failure "int_of_string" -> + raise (Stop (Wrong (s, arg, "an integer"))) + end; + incr current; +- | Set_int r when !current + 1 < l -> +- let arg = argv.(!current + 1) in ++ | Set_int r -> ++ let arg = get_arg () in + begin try r := (int_of_string arg) + with Failure "int_of_string" -> + raise (Stop (Wrong (s, arg, "an integer"))) + end; + incr current; +- | Float f when !current + 1 < l -> +- let arg = argv.(!current + 1) in ++ | Float f -> ++ let arg = get_arg () in + begin try f (float_of_string arg); + with Failure "float_of_string" -> + raise (Stop (Wrong (s, arg, "a float"))) + end; + incr current; +- | Set_float r when !current + 1 < l -> +- let arg = argv.(!current + 1) in ++ | Set_float r -> ++ let arg = get_arg () in + begin try r := (float_of_string arg); + with Failure "float_of_string" -> + raise (Stop (Wrong (s, arg, "a float"))) +@@ -196,7 +202,6 @@ let parse_argv_dynamic ?(current=current) argv speclist anonfun errmsg = + f argv.(!current + 1); + incr current; + done; +- | _ -> raise (Stop (Missing s)) + in + treat_action action + with Bad m -> stop (Message m); +-- +2.0.4 + diff --git a/programming/language/ocaml/ocaml/files/fedora/0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch b/programming/language/ocaml/ocaml/files/fedora/0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch new file mode 100644 index 0000000000..d9f7fc9bc1 --- /dev/null +++ b/programming/language/ocaml/ocaml/files/fedora/0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch @@ -0,0 +1,84 @@ +From 4d1defe6f017b86b0766fd02005a468bedd9aa88 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 1 Apr 2014 11:21:40 +0100 +Subject: [PATCH 10/12] arg: Allow flags such as --flag=arg as well as --flag + arg. + +Allow flags to be followed directly by their argument, separated by an '=' +sign. This is consistent with what GNU getopt_long and many other +command line parsing libraries allow. + +Fix for the following issue: +http://caml.inria.fr/mantis/view.php?id=5197 +--- + stdlib/arg.ml | 30 ++++++++++++++++++++++++------ + stdlib/arg.mli | 3 ++- + 2 files changed, 26 insertions(+), 7 deletions(-) + +diff --git a/stdlib/arg.ml b/stdlib/arg.ml +index a41e0a2..5ffdabc 100644 +--- a/stdlib/arg.ml ++++ b/stdlib/arg.ml +@@ -55,6 +55,12 @@ let rec assoc3 x l = + | _ :: t -> assoc3 x t + ;; + ++let split s = ++ let i = String.index s '=' in ++ let len = String.length s in ++ String.sub s 0 i, String.sub s (i+1) (len-(i+1)) ++;; ++ + let make_symlist prefix sep suffix l = + match l with + | [] -> "" +@@ -130,14 +136,26 @@ let parse_argv_dynamic ?(current=current) argv speclist anonfun errmsg = + while !current < l do + let s = argv.(!current) in + if String.length s >= 1 && s.[0] = '-' then begin +- let action = +- try assoc3 s !speclist +- with Not_found -> stop (Unknown s) ++ let action, follow = ++ try assoc3 s !speclist, None ++ with Not_found -> ++ try ++ let keyword, arg = split s in ++ assoc3 keyword !speclist, Some arg ++ with Not_found -> stop (Unknown s) + in +- let no_arg () = () in ++ let no_arg () = ++ match follow with ++ | None -> () ++ | Some arg -> stop (Wrong (s, arg, "no argument")) in + let get_arg () = +- if !current + 1 < l then argv.(!current + 1) +- else stop (Missing s) ++ match follow with ++ | None -> ++ if !current + 1 < l then argv.(!current + 1) ++ else stop (Missing s) ++ | Some arg -> ++ decr current; ++ arg + in + begin try + let rec treat_action = function +diff --git a/stdlib/arg.mli b/stdlib/arg.mli +index 22eda40..7078071 100644 +--- a/stdlib/arg.mli ++++ b/stdlib/arg.mli +@@ -25,7 +25,8 @@ + [Unit], [Set] and [Clear] keywords take no argument. A [Rest] + keyword takes the remaining of the command line as arguments. + Every other keyword takes the following word on the command line +- as argument. ++ as argument. For compatibility with GNU getopt_long, [keyword=arg] ++ is also allowed. + Arguments not preceded by a keyword are called anonymous arguments. + + Examples ([cmd] is assumed to be the command name): +-- +2.0.4 + diff --git a/programming/language/ocaml/ocaml/files/fedora/0011-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch b/programming/language/ocaml/ocaml/files/fedora/0011-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch new file mode 100644 index 0000000000..cf8f07ab8d --- /dev/null +++ b/programming/language/ocaml/ocaml/files/fedora/0011-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch @@ -0,0 +1,1963 @@ +From 6156d208e6cc6e28a964be5dd34585bd54f6eadf Mon Sep 17 00:00:00 2001 +From: Xavier Leroy +Date: Wed, 27 Aug 2014 09:58:33 +0000 +Subject: [PATCH 11/12] PR#6517: use ISO C99 types {,u}int{32,64}_t in + preference to our homegrown types {,u}int{32,64}. + +git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15131 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02 + +---------------------------------------------------------------------- +For Fedora: + +This commit was cherry picked from upstream +commit b868c05ec91a7ee193010a421de768a3b1a80952 (SVN 15131). + +See also: + +http://caml.inria.fr/mantis/view.php?id=6517 +--- + asmrun/backtrace.c | 6 +- + byterun/alloc.h | 4 +- + byterun/backtrace.c | 2 +- + byterun/config.h | 35 +++++++---- + byterun/debugger.h | 28 ++++----- + byterun/exec.h | 4 +- + byterun/extern.c | 4 +- + byterun/fix_code.c | 8 +-- + byterun/floats.c | 6 +- + byterun/globroots.c | 4 +- + byterun/hash.c | 44 +++++++------- + byterun/hash.h | 12 ++-- + byterun/int64_emul.h | 114 ++++++++++++++++++------------------ + byterun/int64_format.h | 4 +- + byterun/int64_native.h | 20 +++---- + byterun/intern.c | 20 +++---- + byterun/interp.c | 2 +- + byterun/intext.h | 12 ++-- + byterun/ints.c | 112 +++++++++++++++++------------------ + byterun/io.c | 6 +- + byterun/io.h | 6 +- + byterun/md5.c | 26 ++++---- + byterun/md5.h | 6 +- + byterun/mlvalues.h | 12 ++-- + byterun/startup.c | 10 ++-- + byterun/startup.h | 4 +- + byterun/str.c | 20 +++---- + config/auto-aux/int64align.c | 14 ++--- + config/s-nt.h | 3 + + configure | 25 ++------ + otherlibs/bigarray/bigarray_stubs.c | 48 +++++++-------- + otherlibs/num/nat_stubs.c | 14 ++--- + otherlibs/unix/addrofstr.c | 2 +- + stdlib/header.c | 2 +- + 34 files changed, 319 insertions(+), 320 deletions(-) + +diff --git a/asmrun/backtrace.c b/asmrun/backtrace.c +index c72a237..773e22c 100644 +--- a/asmrun/backtrace.c ++++ b/asmrun/backtrace.c +@@ -217,7 +217,7 @@ static void extract_location_info(frame_descr * d, + /*out*/ struct loc_info * li) + { + uintnat infoptr; +- uint32 info1, info2; ++ uint32_t info1, info2; + + /* If no debugging information available, print nothing. + When everything is compiled with -g, this corresponds to +@@ -232,8 +232,8 @@ static void extract_location_info(frame_descr * d, + sizeof(char *) + sizeof(short) + sizeof(short) + + sizeof(short) * d->num_live + sizeof(frame_descr *) - 1) + & -sizeof(frame_descr *); +- info1 = ((uint32 *)infoptr)[0]; +- info2 = ((uint32 *)infoptr)[1]; ++ info1 = ((uint32_t *)infoptr)[0]; ++ info2 = ((uint32_t *)infoptr)[1]; + /* Format of the two info words: + llllllllllllllllllll aaaaaaaa bbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnn kk + 44 36 26 2 0 +diff --git a/byterun/alloc.h b/byterun/alloc.h +index f00a7ef..2a640eb 100644 +--- a/byterun/alloc.h ++++ b/byterun/alloc.h +@@ -32,8 +32,8 @@ CAMLextern value caml_alloc_string (mlsize_t); /* size in bytes */ + CAMLextern value caml_copy_string (char const *); + CAMLextern value caml_copy_string_array (char const **); + CAMLextern value caml_copy_double (double); +-CAMLextern value caml_copy_int32 (int32); /* defined in [ints.c] */ +-CAMLextern value caml_copy_int64 (int64); /* defined in [ints.c] */ ++CAMLextern value caml_copy_int32 (int32_t); /* defined in [ints.c] */ ++CAMLextern value caml_copy_int64 (int64_t); /* defined in [ints.c] */ + CAMLextern value caml_copy_nativeint (intnat); /* defined in [ints.c] */ + CAMLextern value caml_alloc_array (value (*funct) (char const *), + char const ** array); +diff --git a/byterun/backtrace.c b/byterun/backtrace.c +index 76e3ddf..6ed56c8 100644 +--- a/byterun/backtrace.c ++++ b/byterun/backtrace.c +@@ -229,7 +229,7 @@ static void read_debug_info(void) + int fd; + struct exec_trailer trail; + struct channel * chan; +- uint32 num_events, orig, i; ++ uint32_t num_events, orig, i; + intnat j; + value evl, l, ev_start; + +diff --git a/byterun/config.h b/byterun/config.h +index f775988..6c86d16 100644 +--- a/byterun/config.h ++++ b/byterun/config.h +@@ -25,24 +25,30 @@ + #include "compatibility.h" + #endif + +-/* Types for 32-bit integers, 64-bit integers, ++#ifdef HAS_STDINT_H ++#include ++#endif ++ ++/* Types for 32-bit integers, 64-bit integers, and + native integers (as wide as a pointer type) */ + ++#ifndef ARCH_INT32_TYPE + #if SIZEOF_INT == 4 +-typedef int int32; +-typedef unsigned int uint32; ++#define ARCH_INT32_TYPE int ++#define ARCH_UINT32_TYPE unsigned int + #define ARCH_INT32_PRINTF_FORMAT "" + #elif SIZEOF_LONG == 4 +-typedef long int32; +-typedef unsigned long uint32; ++#define ARCH_INT32_TYPE long ++#define ARCH_UINT32_TYPE unsigned long + #define ARCH_INT32_PRINTF_FORMAT "l" + #elif SIZEOF_SHORT == 4 +-typedef short int32; +-typedef unsigned short uint32; ++#define ARCH_INT32_TYPE short ++#define ARCH_UINT32_TYPE unsigned short + #define ARCH_INT32_PRINTF_FORMAT "" + #else + #error "No 32-bit integer type available" + #endif ++#endif + + #ifndef ARCH_INT64_TYPE + #if SIZEOF_LONGLONG == 8 +@@ -58,8 +64,13 @@ typedef unsigned short uint32; + #endif + #endif + +-typedef ARCH_INT64_TYPE int64; +-typedef ARCH_UINT64_TYPE uint64; ++#ifndef HAS_STDINT_H ++/* Not a C99 compiler, typically MSVC. Define the C99 types we use. */ ++typedef ARCH_INT32_TYPE int32_t; ++typedef ARCH_UINT32_TYPE uint32_t; ++typedef ARCH_INT64_TYPE int64_t; ++typedef ARCH_UINT64_TYPE uint64_t; ++#endif + + #if SIZEOF_PTR == SIZEOF_LONG + /* Standard models: ILP32 or I32LP64 */ +@@ -72,9 +83,9 @@ typedef int intnat; + typedef unsigned int uintnat; + #define ARCH_INTNAT_PRINTF_FORMAT "" + #elif SIZEOF_PTR == 8 +-/* Win64 model: IL32LLP64 */ +-typedef int64 intnat; +-typedef uint64 uintnat; ++/* Win64 model: IL32P64 */ ++typedef int64_t intnat; ++typedef uint64_t uintnat; + #define ARCH_INTNAT_PRINTF_FORMAT ARCH_INT64_PRINTF_FORMAT + #else + #error "No integer type available to represent pointers" +diff --git a/byterun/debugger.h b/byterun/debugger.h +index b5079eb..e68ef75 100644 +--- a/byterun/debugger.h ++++ b/byterun/debugger.h +@@ -37,17 +37,17 @@ void caml_debugger_cleanup_fork (void); + /* Requests from the debugger to the runtime system */ + + enum debugger_request { +- REQ_SET_EVENT = 'e', /* uint32 pos */ ++ REQ_SET_EVENT = 'e', /* uint32_t pos */ + /* Set an event on the instruction at position pos */ +- REQ_SET_BREAKPOINT = 'B', /* uint32 pos, (char k) */ ++ REQ_SET_BREAKPOINT = 'B', /* uint32_t pos, (char k) */ + /* Set a breakpoint at position pos */ + /* In profiling mode, the breakpoint kind is set to k */ +- REQ_RESET_INSTR = 'i', /* uint32 pos */ ++ REQ_RESET_INSTR = 'i', /* uint32_t pos */ + /* Clear an event or breapoint at position pos, restores initial instr. */ + REQ_CHECKPOINT = 'c', /* no args */ + /* Checkpoint the runtime system by forking a child process. + Reply is pid of child process or -1 if checkpoint failed. */ +- REQ_GO = 'g', /* uint32 n */ ++ REQ_GO = 'g', /* uint32_t n */ + /* Run the program for n events. + Reply is one of debugger_reply described below. */ + REQ_STOP = 's', /* no args */ +@@ -59,38 +59,38 @@ enum debugger_request { + Reply is stack offset and current pc. */ + REQ_GET_FRAME = 'f', /* no args */ + /* Return current frame location (stack offset + current pc). */ +- REQ_SET_FRAME = 'S', /* uint32 stack_offset */ ++ REQ_SET_FRAME = 'S', /* uint32_t stack_offset */ + /* Set current frame to given stack offset. No reply. */ +- REQ_UP_FRAME = 'U', /* uint32 n */ ++ REQ_UP_FRAME = 'U', /* uint32_t n */ + /* Move one frame up. Argument n is size of current frame (in words). + Reply is stack offset and current pc, or -1 if top of stack reached. */ +- REQ_SET_TRAP_BARRIER = 'b', /* uint32 offset */ ++ REQ_SET_TRAP_BARRIER = 'b', /* uint32_t offset */ + /* Set the trap barrier at the given offset. */ +- REQ_GET_LOCAL = 'L', /* uint32 slot_number */ ++ REQ_GET_LOCAL = 'L', /* uint32_t slot_number */ + /* Return the local variable at the given slot in the current frame. + Reply is one value. */ +- REQ_GET_ENVIRONMENT = 'E', /* uint32 slot_number */ ++ REQ_GET_ENVIRONMENT = 'E', /* uint32_t slot_number */ + /* Return the local variable at the given slot in the heap environment + of the current frame. Reply is one value. */ +- REQ_GET_GLOBAL = 'G', /* uint32 global_number */ ++ REQ_GET_GLOBAL = 'G', /* uint32_t global_number */ + /* Return the specified global variable. Reply is one value. */ + REQ_GET_ACCU = 'A', /* no args */ + /* Return the current contents of the accumulator. Reply is one value. */ + REQ_GET_HEADER = 'H', /* mlvalue v */ + /* As REQ_GET_OBJ, but sends only the header. */ +- REQ_GET_FIELD = 'F', /* mlvalue v, uint32 fieldnum */ ++ REQ_GET_FIELD = 'F', /* mlvalue v, uint32_t fieldnum */ + /* As REQ_GET_OBJ, but sends only one field. */ + REQ_MARSHAL_OBJ = 'M', /* mlvalue v */ + /* Send a copy of the data structure rooted at v, using the same + format as [caml_output_value]. */ + REQ_GET_CLOSURE_CODE = 'C', /* mlvalue v */ + /* Send the code address of the given closure. +- Reply is one uint32. */ +- REQ_SET_FORK_MODE = 'K' /* uint32 m */ ++ Reply is one uint32_t. */ ++ REQ_SET_FORK_MODE = 'K' /* uint32_t m */ + /* Set whether to follow the child (m=0) or the parent on fork. */ + }; + +-/* Replies to a REQ_GO request. All replies are followed by three uint32: ++/* Replies to a REQ_GO request. All replies are followed by three uint32_t: + - the value of the event counter + - the position of the stack + - the current pc. */ +diff --git a/byterun/exec.h b/byterun/exec.h +index a58bcf8..7e084ac 100644 +--- a/byterun/exec.h ++++ b/byterun/exec.h +@@ -39,13 +39,13 @@ + + struct section_descriptor { + char name[4]; /* Section name */ +- uint32 len; /* Length of data in bytes */ ++ uint32_t len; /* Length of data in bytes */ + }; + + /* Structure of the trailer. */ + + struct exec_trailer { +- uint32 num_sections; /* Number of sections */ ++ uint32_t num_sections; /* Number of sections */ + char magic[12]; /* The magic number */ + struct section_descriptor * section; /* Not part of file */ + }; +diff --git a/byterun/extern.c b/byterun/extern.c +index 33fa89a..e67d7a3 100644 +--- a/byterun/extern.c ++++ b/byterun/extern.c +@@ -720,7 +720,7 @@ CAMLexport void caml_serialize_int_2(int i) + extern_ptr += 2; + } + +-CAMLexport void caml_serialize_int_4(int32 i) ++CAMLexport void caml_serialize_int_4(int32_t i) + { + if (extern_ptr + 4 > extern_limit) grow_extern_output(4); + extern_ptr[0] = i >> 24; +@@ -730,7 +730,7 @@ CAMLexport void caml_serialize_int_4(int32 i) + extern_ptr += 4; + } + +-CAMLexport void caml_serialize_int_8(int64 i) ++CAMLexport void caml_serialize_int_8(int64_t i) + { + caml_serialize_block_8(&i, 1); + } +diff --git a/byterun/fix_code.c b/byterun/fix_code.c +index 3380dc9..4fa0275 100644 +--- a/byterun/fix_code.c ++++ b/byterun/fix_code.c +@@ -134,12 +134,12 @@ void caml_thread_code (code_t code, asize_t len) + } + *p++ = (opcode_t)(caml_instr_table[instr] - caml_instr_base); + if (instr == SWITCH) { +- uint32 sizes = *p++; +- uint32 const_size = sizes & 0xFFFF; +- uint32 block_size = sizes >> 16; ++ uint32_t sizes = *p++; ++ uint32_t const_size = sizes & 0xFFFF; ++ uint32_t block_size = sizes >> 16; + p += const_size + block_size; + } else if (instr == CLOSUREREC) { +- uint32 nfuncs = *p++; ++ uint32_t nfuncs = *p++; + p++; /* skip nvars */ + p += nfuncs; + } else { +diff --git a/byterun/floats.c b/byterun/floats.c +index 7ff6d89..d8fdd05 100644 +--- a/byterun/floats.c ++++ b/byterun/floats.c +@@ -378,9 +378,9 @@ CAMLprim value caml_log1p_float(value f) + union double_as_two_int32 { + double d; + #if defined(ARCH_BIG_ENDIAN) || (defined(__arm__) && !defined(__ARM_EABI__)) +- struct { uint32 h; uint32 l; } i; ++ struct { uint32_t h; uint32_t l; } i; + #else +- struct { uint32 l; uint32 h; } i; ++ struct { uint32_t l; uint32_t h; } i; + #endif + }; + +@@ -467,7 +467,7 @@ CAMLprim value caml_classify_float(value vd) + } + #else + union double_as_two_int32 u; +- uint32 h, l; ++ uint32_t h, l; + + u.d = Double_val(vd); + h = u.i.h; l = u.i.l; +diff --git a/byterun/globroots.c b/byterun/globroots.c +index ded393e..d9111ee 100644 +--- a/byterun/globroots.c ++++ b/byterun/globroots.c +@@ -43,11 +43,11 @@ struct global_root_list { + (i.e. 2 * (NUM_LEVELS - 1)). Moreover, the congruential PRNG + is faster and guaranteed to be deterministic (to reproduce bugs). */ + +-static uint32 random_seed = 0; ++static uint32_t random_seed = 0; + + static int random_level(void) + { +- uint32 r; ++ uint32_t r; + int level = 0; + + /* Linear congruence with modulus = 2^32, multiplier = 69069 +diff --git a/byterun/hash.c b/byterun/hash.c +index f896426..12912d3 100644 +--- a/byterun/hash.c ++++ b/byterun/hash.c +@@ -41,7 +41,7 @@ + h *= 0xc2b2ae35; \ + h ^= h >> 16; + +-CAMLexport uint32 caml_hash_mix_uint32(uint32 h, uint32 d) ++CAMLexport uint32_t caml_hash_mix_uint32(uint32_t h, uint32_t d) + { + MIX(h, d); + return h; +@@ -49,17 +49,17 @@ CAMLexport uint32 caml_hash_mix_uint32(uint32 h, uint32 d) + + /* Mix a platform-native integer. */ + +-CAMLexport uint32 caml_hash_mix_intnat(uint32 h, intnat d) ++CAMLexport uint32_t caml_hash_mix_intnat(uint32_t h, intnat d) + { +- uint32 n; ++ uint32_t n; + #ifdef ARCH_SIXTYFOUR + /* Mix the low 32 bits and the high 32 bits, in a way that preserves +- 32/64 compatibility: we want n = (uint32) d ++ 32/64 compatibility: we want n = (uint32_t) d + if d is in the range [-2^31, 2^31-1]. */ + n = (d >> 32) ^ (d >> 63) ^ d; + /* If 0 <= d < 2^31: d >> 32 = 0 d >> 63 = 0 + If -2^31 <= d < 0: d >> 32 = -1 d >> 63 = -1 +- In both cases, n = (uint32) d. */ ++ In both cases, n = (uint32_t) d. */ + #else + n = d; + #endif +@@ -69,9 +69,9 @@ CAMLexport uint32 caml_hash_mix_intnat(uint32 h, intnat d) + + /* Mix a 64-bit integer. */ + +-CAMLexport uint32 caml_hash_mix_int64(uint32 h, int64 d) ++CAMLexport uint32_t caml_hash_mix_int64(uint32_t h, int64_t d) + { +- uint32 hi = (uint32) (d >> 32), lo = (uint32) d; ++ uint32_t hi = (uint32_t) (d >> 32), lo = (uint32_t) d; + MIX(h, lo); + MIX(h, hi); + return h; +@@ -82,17 +82,17 @@ CAMLexport uint32 caml_hash_mix_int64(uint32 h, int64 d) + Treats all NaNs identically. + */ + +-CAMLexport uint32 caml_hash_mix_double(uint32 hash, double d) ++CAMLexport uint32_t caml_hash_mix_double(uint32_t hash, double d) + { + union { + double d; + #if defined(ARCH_BIG_ENDIAN) || (defined(__arm__) && !defined(__ARM_EABI__)) +- struct { uint32 h; uint32 l; } i; ++ struct { uint32_t h; uint32_t l; } i; + #else +- struct { uint32 l; uint32 h; } i; ++ struct { uint32_t l; uint32_t h; } i; + #endif + } u; +- uint32 h, l; ++ uint32_t h, l; + /* Convert to two 32-bit halves */ + u.d = d; + h = u.i.h; l = u.i.l; +@@ -115,14 +115,14 @@ CAMLexport uint32 caml_hash_mix_double(uint32 hash, double d) + Treats all NaNs identically. + */ + +-CAMLexport uint32 caml_hash_mix_float(uint32 hash, float d) ++CAMLexport uint32_t caml_hash_mix_float(uint32_t hash, float d) + { + union { + float f; +- uint32 i; ++ uint32_t i; + } u; +- uint32 n; +- /* Convert to int32 */ ++ uint32_t n; ++ /* Convert to int32_t */ + u.f = d; n = u.i; + /* Normalize NaNs */ + if ((n & 0x7F800000) == 0x7F800000 && (n & 0x007FFFFF) != 0) { +@@ -138,11 +138,11 @@ CAMLexport uint32 caml_hash_mix_float(uint32 hash, float d) + + /* Mix an OCaml string */ + +-CAMLexport uint32 caml_hash_mix_string(uint32 h, value s) ++CAMLexport uint32_t caml_hash_mix_string(uint32_t h, value s) + { + mlsize_t len = caml_string_length(s); + mlsize_t i; +- uint32 w; ++ uint32_t w; + + /* Mix by 32-bit blocks (little-endian) */ + for (i = 0; i + 4 <= len; i += 4) { +@@ -152,7 +152,7 @@ CAMLexport uint32 caml_hash_mix_string(uint32 h, value s) + | (Byte_u(s, i+2) << 16) + | (Byte_u(s, i+3) << 24); + #else +- w = *((uint32 *) &Byte_u(s, i)); ++ w = *((uint32_t *) &Byte_u(s, i)); + #endif + MIX(h, w); + } +@@ -166,7 +166,7 @@ CAMLexport uint32 caml_hash_mix_string(uint32 h, value s) + default: /*skip*/; /* len & 3 == 0, no extra bytes, do nothing */ + } + /* Finally, mix in the length. Ignore the upper 32 bits, generally 0. */ +- h ^= (uint32) len; ++ h ^= (uint32_t) len; + return h; + } + +@@ -184,7 +184,7 @@ CAMLprim value caml_hash(value count, value limit, value seed, value obj) + intnat wr; /* One past position of last value in queue */ + intnat sz; /* Max number of values to put in queue */ + intnat num; /* Max number of meaningful values to see */ +- uint32 h; /* Rolling hash */ ++ uint32_t h; /* Rolling hash */ + value v; + mlsize_t i, len; + +@@ -245,7 +245,7 @@ CAMLprim value caml_hash(value count, value limit, value seed, value obj) + /* If no hashing function provided, do nothing. */ + /* Only use low 32 bits of custom hash, for 32/64 compatibility */ + if (Custom_ops_val(v)->hash != NULL) { +- uint32 n = (uint32) Custom_ops_val(v)->hash(v); ++ uint32_t n = (uint32_t) Custom_ops_val(v)->hash(v); + h = caml_hash_mix_uint32(h, n); + num--; + } +@@ -408,5 +408,5 @@ CAMLexport value caml_hash_variant(char const * tag) + #endif + /* Force sign extension of bit 31 for compatibility between 32 and 64-bit + platforms */ +- return (int32) accu; ++ return (int32_t) accu; + } +diff --git a/byterun/hash.h b/byterun/hash.h +index 436a8bb..6561397 100644 +--- a/byterun/hash.h ++++ b/byterun/hash.h +@@ -18,12 +18,12 @@ + + #include "mlvalues.h" + +-CAMLextern uint32 caml_hash_mix_uint32(uint32 h, uint32 d); +-CAMLextern uint32 caml_hash_mix_intnat(uint32 h, intnat d); +-CAMLextern uint32 caml_hash_mix_int64(uint32 h, int64 d); +-CAMLextern uint32 caml_hash_mix_double(uint32 h, double d); +-CAMLextern uint32 caml_hash_mix_float(uint32 h, float d); +-CAMLextern uint32 caml_hash_mix_string(uint32 h, value s); ++CAMLextern uint32_t caml_hash_mix_uint32(uint32_t h, uint32_t d); ++CAMLextern uint32_t caml_hash_mix_intnat(uint32_t h, intnat d); ++CAMLextern uint32_t caml_hash_mix_int64(uint32_t h, int64_t d); ++CAMLextern uint32_t caml_hash_mix_double(uint32_t h, double d); ++CAMLextern uint32_t caml_hash_mix_float(uint32_t h, float d); ++CAMLextern uint32_t caml_hash_mix_string(uint32_t h, value s); + + + #endif +diff --git a/byterun/int64_emul.h b/byterun/int64_emul.h +index ba7904a..2554df1 100644 +--- a/byterun/int64_emul.h ++++ b/byterun/int64_emul.h +@@ -28,7 +28,7 @@ + #define I64_split(x,hi,lo) (hi = (x).h, lo = (x).l) + + /* Unsigned comparison */ +-static int I64_ucompare(uint64 x, uint64 y) ++static int I64_ucompare(uint64_t x, uint64_t y) + { + if (x.h > y.h) return 1; + if (x.h < y.h) return -1; +@@ -40,19 +40,19 @@ static int I64_ucompare(uint64 x, uint64 y) + #define I64_ult(x, y) (I64_ucompare(x, y) < 0) + + /* Signed comparison */ +-static int I64_compare(int64 x, int64 y) ++static int I64_compare(int64_t x, int64_t y) + { +- if ((int32)x.h > (int32)y.h) return 1; +- if ((int32)x.h < (int32)y.h) return -1; ++ if ((int32_t)x.h > (int32_t)y.h) return 1; ++ if ((int32_t)x.h < (int32_t)y.h) return -1; + if (x.l > y.l) return 1; + if (x.l < y.l) return -1; + return 0; + } + + /* Negation */ +-static int64 I64_neg(int64 x) ++static int64_t I64_neg(int64_t x) + { +- int64 res; ++ int64_t res; + res.l = -x.l; + res.h = ~x.h; + if (res.l == 0) res.h++; +@@ -60,9 +60,9 @@ static int64 I64_neg(int64 x) + } + + /* Addition */ +-static int64 I64_add(int64 x, int64 y) ++static int64_t I64_add(int64_t x, int64_t y) + { +- int64 res; ++ int64_t res; + res.l = x.l + y.l; + res.h = x.h + y.h; + if (res.l < x.l) res.h++; +@@ -70,9 +70,9 @@ static int64 I64_add(int64 x, int64 y) + } + + /* Subtraction */ +-static int64 I64_sub(int64 x, int64 y) ++static int64_t I64_sub(int64_t x, int64_t y) + { +- int64 res; ++ int64_t res; + res.l = x.l - y.l; + res.h = x.h - y.h; + if (x.l < y.l) res.h--; +@@ -80,13 +80,13 @@ static int64 I64_sub(int64 x, int64 y) + } + + /* Multiplication */ +-static int64 I64_mul(int64 x, int64 y) ++static int64_t I64_mul(int64_t x, int64_t y) + { +- int64 res; +- uint32 prod00 = (x.l & 0xFFFF) * (y.l & 0xFFFF); +- uint32 prod10 = (x.l >> 16) * (y.l & 0xFFFF); +- uint32 prod01 = (x.l & 0xFFFF) * (y.l >> 16); +- uint32 prod11 = (x.l >> 16) * (y.l >> 16); ++ int64_t res; ++ uint32_t prod00 = (x.l & 0xFFFF) * (y.l & 0xFFFF); ++ uint32_t prod10 = (x.l >> 16) * (y.l & 0xFFFF); ++ uint32_t prod01 = (x.l & 0xFFFF) * (y.l >> 16); ++ uint32_t prod11 = (x.l >> 16) * (y.l >> 16); + res.l = prod00; + res.h = prod11 + (prod01 >> 16) + (prod10 >> 16); + prod01 = prod01 << 16; res.l += prod01; if (res.l < prod01) res.h++; +@@ -96,39 +96,39 @@ static int64 I64_mul(int64 x, int64 y) + } + + #define I64_is_zero(x) (((x).l | (x).h) == 0) +-#define I64_is_negative(x) ((int32) (x).h < 0) ++#define I64_is_negative(x) ((int32_t) (x).h < 0) + #define I64_is_min_int(x) ((x).l == 0 && (x).h == 0x80000000U) + #define I64_is_minus_one(x) (((x).l & (x).h) == 0xFFFFFFFFU) + + /* Bitwise operations */ +-static int64 I64_and(int64 x, int64 y) ++static int64_t I64_and(int64_t x, int64_t y) + { +- int64 res; ++ int64_t res; + res.l = x.l & y.l; + res.h = x.h & y.h; + return res; + } + +-static int64 I64_or(int64 x, int64 y) ++static int64_t I64_or(int64_t x, int64_t y) + { +- int64 res; ++ int64_t res; + res.l = x.l | y.l; + res.h = x.h | y.h; + return res; + } + +-static int64 I64_xor(int64 x, int64 y) ++static int64_t I64_xor(int64_t x, int64_t y) + { +- int64 res; ++ int64_t res; + res.l = x.l ^ y.l; + res.h = x.h ^ y.h; + return res; + } + + /* Shifts */ +-static int64 I64_lsl(int64 x, int s) ++static int64_t I64_lsl(int64_t x, int s) + { +- int64 res; ++ int64_t res; + s = s & 63; + if (s == 0) return x; + if (s < 32) { +@@ -141,9 +141,9 @@ static int64 I64_lsl(int64 x, int s) + return res; + } + +-static int64 I64_lsr(int64 x, int s) ++static int64_t I64_lsr(int64_t x, int s) + { +- int64 res; ++ int64_t res; + s = s & 63; + if (s == 0) return x; + if (s < 32) { +@@ -156,17 +156,17 @@ static int64 I64_lsr(int64 x, int s) + return res; + } + +-static int64 I64_asr(int64 x, int s) ++static int64_t I64_asr(int64_t x, int s) + { +- int64 res; ++ int64_t res; + s = s & 63; + if (s == 0) return x; + if (s < 32) { + res.l = (x.l >> s) | (x.h << (32 - s)); +- res.h = (int32) x.h >> s; ++ res.h = (int32_t) x.h >> s; + } else { +- res.l = (int32) x.h >> (s - 32); +- res.h = (int32) x.h >> 31; ++ res.l = (int32_t) x.h >> (s - 32); ++ res.h = (int32_t) x.h >> 31; + } + return res; + } +@@ -176,15 +176,15 @@ static int64 I64_asr(int64 x, int s) + #define I64_SHL1(x) x.h = (x.h << 1) | (x.l >> 31); x.l <<= 1 + #define I64_SHR1(x) x.l = (x.l >> 1) | (x.h << 31); x.h >>= 1 + +-static void I64_udivmod(uint64 modulus, uint64 divisor, +- uint64 * quo, uint64 * mod) ++static void I64_udivmod(uint64_t modulus, uint64_t divisor, ++ uint64_t * quo, uint64_t * mod) + { +- int64 quotient, mask; ++ int64_t quotient, mask; + int cmp; + + quotient.h = 0; quotient.l = 0; + mask.h = 0; mask.l = 1; +- while ((int32) divisor.h >= 0) { ++ while ((int32_t) divisor.h >= 0) { + cmp = I64_ucompare(divisor, modulus); + I64_SHL1(divisor); + I64_SHL1(mask); +@@ -202,27 +202,27 @@ static void I64_udivmod(uint64 modulus, uint64 divisor, + *mod = modulus; + } + +-static int64 I64_div(int64 x, int64 y) ++static int64_t I64_div(int64_t x, int64_t y) + { +- int64 q, r; +- int32 sign; ++ int64_t q, r; ++ int32_t sign; + + sign = x.h ^ y.h; +- if ((int32) x.h < 0) x = I64_neg(x); +- if ((int32) y.h < 0) y = I64_neg(y); ++ if ((int32_t) x.h < 0) x = I64_neg(x); ++ if ((int32_t) y.h < 0) y = I64_neg(y); + I64_udivmod(x, y, &q, &r); + if (sign < 0) q = I64_neg(q); + return q; + } + +-static int64 I64_mod(int64 x, int64 y) ++static int64_t I64_mod(int64_t x, int64_t y) + { +- int64 q, r; +- int32 sign; ++ int64_t q, r; ++ int32_t sign; + + sign = x.h; +- if ((int32) x.h < 0) x = I64_neg(x); +- if ((int32) y.h < 0) y = I64_neg(y); ++ if ((int32_t) x.h < 0) x = I64_neg(x); ++ if ((int32_t) y.h < 0) y = I64_neg(y); + I64_udivmod(x, y, &q, &r); + if (sign < 0) r = I64_neg(r); + return r; +@@ -230,49 +230,49 @@ static int64 I64_mod(int64 x, int64 y) + + /* Coercions */ + +-static int64 I64_of_int32(int32 x) ++static int64_t I64_of_int32(int32_t x) + { +- int64 res; ++ int64_t res; + res.l = x; + res.h = x >> 31; + return res; + } + +-#define I64_to_int32(x) ((int32) (x).l) ++#define I64_to_int32(x) ((int32_t) (x).l) + + /* Note: we assume sizeof(intnat) = 4 here, which is true otherwise + autoconfiguration would have selected native 64-bit integers */ + #define I64_of_intnat I64_of_int32 + #define I64_to_intnat I64_to_int32 + +-static double I64_to_double(int64 x) ++static double I64_to_double(int64_t x) + { + double res; +- int32 sign = x.h; ++ int32_t sign = x.h; + if (sign < 0) x = I64_neg(x); + res = ldexp((double) x.h, 32) + x.l; + if (sign < 0) res = -res; + return res; + } + +-static int64 I64_of_double(double f) ++static int64_t I64_of_double(double f) + { +- int64 res; ++ int64_t res; + double frac, integ; + int neg; + + neg = (f < 0); + f = fabs(f); + frac = modf(ldexp(f, -32), &integ); +- res.h = (uint32) integ; +- res.l = (uint32) ldexp(frac, 32); ++ res.h = (uint32_t) integ; ++ res.l = (uint32_t) ldexp(frac, 32); + if (neg) res = I64_neg(res); + return res; + } + +-static int64 I64_bswap(int64 x) ++static int64_t I64_bswap(int64_t x) + { +- int64 res; ++ int64_t res; + res.h = (((x.l & 0x000000FF) << 24) | + ((x.l & 0x0000FF00) << 8) | + ((x.l & 0x00FF0000) >> 8) | +diff --git a/byterun/int64_format.h b/byterun/int64_format.h +index b0de527..aa8f1ab 100644 +--- a/byterun/int64_format.h ++++ b/byterun/int64_format.h +@@ -17,7 +17,7 @@ + #ifndef CAML_INT64_FORMAT_H + #define CAML_INT64_FORMAT_H + +-static void I64_format(char * buffer, char * fmt, int64 x) ++static void I64_format(char * buffer, char * fmt, int64_t x) + { + static char conv_lower[] = "0123456789abcdef"; + static char conv_upper[] = "0123456789ABCDEF"; +@@ -26,7 +26,7 @@ static void I64_format(char * buffer, char * fmt, int64 x) + int base, width, sign, i, rawlen; + char * cvtbl; + char * p, * r; +- int64 wbase, digit; ++ int64_t wbase, digit; + + /* Parsing of format */ + justify = '+'; +diff --git a/byterun/int64_native.h b/byterun/int64_native.h +index e9ffe67..b6716ad 100644 +--- a/byterun/int64_native.h ++++ b/byterun/int64_native.h +@@ -18,36 +18,36 @@ + #ifndef CAML_INT64_NATIVE_H + #define CAML_INT64_NATIVE_H + +-#define I64_literal(hi,lo) ((int64)(hi) << 32 | (lo)) +-#define I64_split(x,hi,lo) (hi = (uint32)((x)>>32), lo = (uint32)(x)) ++#define I64_literal(hi,lo) ((int64_t)(hi) << 32 | (lo)) ++#define I64_split(x,hi,lo) (hi = (uint32_t)((x)>>32), lo = (uint32_t)(x)) + #define I64_compare(x,y) (((x) > (y)) - ((x) < (y))) +-#define I64_ult(x,y) ((uint64)(x) < (uint64)(y)) ++#define I64_ult(x,y) ((uint64_t)(x) < (uint64_t)(y)) + #define I64_neg(x) (-(x)) + #define I64_add(x,y) ((x) + (y)) + #define I64_sub(x,y) ((x) - (y)) + #define I64_mul(x,y) ((x) * (y)) + #define I64_is_zero(x) ((x) == 0) + #define I64_is_negative(x) ((x) < 0) +-#define I64_is_min_int(x) ((x) == ((int64)1 << 63)) ++#define I64_is_min_int(x) ((x) == ((int64_t)1 << 63)) + #define I64_is_minus_one(x) ((x) == -1) + + #define I64_div(x,y) ((x) / (y)) + #define I64_mod(x,y) ((x) % (y)) + #define I64_udivmod(x,y,quo,rem) \ +- (*(rem) = (uint64)(x) % (uint64)(y), \ +- *(quo) = (uint64)(x) / (uint64)(y)) ++ (*(rem) = (uint64_t)(x) % (uint64_t)(y), \ ++ *(quo) = (uint64_t)(x) / (uint64_t)(y)) + #define I64_and(x,y) ((x) & (y)) + #define I64_or(x,y) ((x) | (y)) + #define I64_xor(x,y) ((x) ^ (y)) + #define I64_lsl(x,y) ((x) << (y)) + #define I64_asr(x,y) ((x) >> (y)) +-#define I64_lsr(x,y) ((uint64)(x) >> (y)) ++#define I64_lsr(x,y) ((uint64_t)(x) >> (y)) + #define I64_to_intnat(x) ((intnat) (x)) + #define I64_of_intnat(x) ((intnat) (x)) +-#define I64_to_int32(x) ((int32) (x)) +-#define I64_of_int32(x) ((int64) (x)) ++#define I64_to_int32(x) ((int32_t) (x)) ++#define I64_of_int32(x) ((int64_t) (x)) + #define I64_to_double(x) ((double)(x)) +-#define I64_of_double(x) ((int64)(x)) ++#define I64_of_double(x) ((int64_t)(x)) + + #define I64_bswap(x) ((((x) & 0x00000000000000FFULL) << 56) | \ + (((x) & 0x000000000000FF00ULL) << 40) | \ +diff --git a/byterun/intern.c b/byterun/intern.c +index e0fcc5d..638ff72 100644 +--- a/byterun/intern.c ++++ b/byterun/intern.c +@@ -553,7 +553,7 @@ static void intern_add_to_heap(mlsize_t whsize) + + value caml_input_val(struct channel *chan) + { +- uint32 magic; ++ uint32_t magic; + mlsize_t block_len, num_objects, whsize; + char * block; + value res; +@@ -663,7 +663,7 @@ static value input_val_from_block(void) + + CAMLexport value caml_input_value_from_malloc(char * data, intnat ofs) + { +- uint32 magic; ++ uint32_t magic; + value obj; + + intern_input = (unsigned char *) data; +@@ -681,7 +681,7 @@ CAMLexport value caml_input_value_from_malloc(char * data, intnat ofs) + + CAMLexport value caml_input_value_from_block(char * data, intnat len) + { +- uint32 magic; ++ uint32_t magic; + mlsize_t block_len; + value obj; + +@@ -700,7 +700,7 @@ CAMLexport value caml_input_value_from_block(char * data, intnat len) + + CAMLprim value caml_marshal_data_size(value buff, value ofs) + { +- uint32 magic; ++ uint32_t magic; + mlsize_t block_len; + + intern_src = &Byte_u(buff, Long_val(ofs)); +@@ -771,26 +771,26 @@ CAMLexport int caml_deserialize_sint_2(void) + return read16s(); + } + +-CAMLexport uint32 caml_deserialize_uint_4(void) ++CAMLexport uint32_t caml_deserialize_uint_4(void) + { + return read32u(); + } + +-CAMLexport int32 caml_deserialize_sint_4(void) ++CAMLexport int32_t caml_deserialize_sint_4(void) + { + return read32s(); + } + +-CAMLexport uint64 caml_deserialize_uint_8(void) ++CAMLexport uint64_t caml_deserialize_uint_8(void) + { +- uint64 i; ++ uint64_t i; + caml_deserialize_block_8(&i, 1); + return i; + } + +-CAMLexport int64 caml_deserialize_sint_8(void) ++CAMLexport int64_t caml_deserialize_sint_8(void) + { +- int64 i; ++ int64_t i; + caml_deserialize_block_8(&i, 1); + return i; + } +diff --git a/byterun/interp.c b/byterun/interp.c +index 9b682ba..e22b28b 100644 +--- a/byterun/interp.c ++++ b/byterun/interp.c +@@ -793,7 +793,7 @@ value caml_interprete(code_t prog, asize_t prog_size) + if (accu == Val_false) pc += *pc; else pc++; + Next; + Instruct(SWITCH): { +- uint32 sizes = *pc++; ++ uint32_t sizes = *pc++; + if (Is_block(accu)) { + intnat index = Tag_val(accu); + Assert ((uintnat) index < (sizes >> 16)); +diff --git a/byterun/intext.h b/byterun/intext.h +index f7aa655..2c108a4 100644 +--- a/byterun/intext.h ++++ b/byterun/intext.h +@@ -119,8 +119,8 @@ CAMLextern value caml_input_value_from_block(char * data, intnat len); + + CAMLextern void caml_serialize_int_1(int i); + CAMLextern void caml_serialize_int_2(int i); +-CAMLextern void caml_serialize_int_4(int32 i); +-CAMLextern void caml_serialize_int_8(int64 i); ++CAMLextern void caml_serialize_int_4(int32_t i); ++CAMLextern void caml_serialize_int_8(int64_t i); + CAMLextern void caml_serialize_float_4(float f); + CAMLextern void caml_serialize_float_8(double f); + CAMLextern void caml_serialize_block_1(void * data, intnat len); +@@ -133,10 +133,10 @@ CAMLextern int caml_deserialize_uint_1(void); + CAMLextern int caml_deserialize_sint_1(void); + CAMLextern int caml_deserialize_uint_2(void); + CAMLextern int caml_deserialize_sint_2(void); +-CAMLextern uint32 caml_deserialize_uint_4(void); +-CAMLextern int32 caml_deserialize_sint_4(void); +-CAMLextern uint64 caml_deserialize_uint_8(void); +-CAMLextern int64 caml_deserialize_sint_8(void); ++CAMLextern uint32_t caml_deserialize_uint_4(void); ++CAMLextern int32_t caml_deserialize_sint_4(void); ++CAMLextern uint64_t caml_deserialize_uint_8(void); ++CAMLextern int64_t caml_deserialize_sint_8(void); + CAMLextern float caml_deserialize_float_4(void); + CAMLextern double caml_deserialize_float_8(void); + CAMLextern void caml_deserialize_block_1(void * data, intnat len); +diff --git a/byterun/ints.c b/byterun/ints.c +index d762c76..056e82a 100644 +--- a/byterun/ints.c ++++ b/byterun/ints.c +@@ -172,8 +172,8 @@ CAMLprim value caml_format_int(value fmt, value arg) + + static int int32_cmp(value v1, value v2) + { +- int32 i1 = Int32_val(v1); +- int32 i2 = Int32_val(v2); ++ int32_t i1 = Int32_val(v1); ++ int32_t i2 = Int32_val(v2); + return (i1 > i2) - (i1 < i2); + } + +@@ -191,7 +191,7 @@ static void int32_serialize(value v, uintnat * wsize_32, + + static uintnat int32_deserialize(void * dst) + { +- *((int32 *) dst) = caml_deserialize_sint_4(); ++ *((int32_t *) dst) = caml_deserialize_sint_4(); + return 4; + } + +@@ -205,7 +205,7 @@ CAMLexport struct custom_operations caml_int32_ops = { + custom_compare_ext_default + }; + +-CAMLexport value caml_copy_int32(int32 i) ++CAMLexport value caml_copy_int32(int32_t i) + { + value res = caml_alloc_custom(&caml_int32_ops, 4, 0, 1); + Int32_val(res) = i; +@@ -226,8 +226,8 @@ CAMLprim value caml_int32_mul(value v1, value v2) + + CAMLprim value caml_int32_div(value v1, value v2) + { +- int32 dividend = Int32_val(v1); +- int32 divisor = Int32_val(v2); ++ int32_t dividend = Int32_val(v1); ++ int32_t divisor = Int32_val(v2); + if (divisor == 0) caml_raise_zero_divide(); + /* PR#4740: on some processors, division crashes on overflow. + Implement the same behavior as for type "int". */ +@@ -237,8 +237,8 @@ CAMLprim value caml_int32_div(value v1, value v2) + + CAMLprim value caml_int32_mod(value v1, value v2) + { +- int32 dividend = Int32_val(v1); +- int32 divisor = Int32_val(v2); ++ int32_t dividend = Int32_val(v1); ++ int32_t divisor = Int32_val(v2); + if (divisor == 0) caml_raise_zero_divide(); + /* PR#4740: on some processors, modulus crashes if division overflows. + Implement the same behavior as for type "int". */ +@@ -262,9 +262,9 @@ CAMLprim value caml_int32_shift_right(value v1, value v2) + { return caml_copy_int32(Int32_val(v1) >> Int_val(v2)); } + + CAMLprim value caml_int32_shift_right_unsigned(value v1, value v2) +-{ return caml_copy_int32((uint32)Int32_val(v1) >> Int_val(v2)); } ++{ return caml_copy_int32((uint32_t)Int32_val(v1) >> Int_val(v2)); } + +-static int32 caml_swap32(int32 x) ++static int32_t caml_swap32(int32_t x) + { + return (((x & 0x000000FF) << 24) | + ((x & 0x0000FF00) << 8) | +@@ -285,15 +285,15 @@ CAMLprim value caml_int32_to_int(value v) + { return Val_long(Int32_val(v)); } + + CAMLprim value caml_int32_of_float(value v) +-{ return caml_copy_int32((int32)(Double_val(v))); } ++{ return caml_copy_int32((int32_t)(Double_val(v))); } + + CAMLprim value caml_int32_to_float(value v) + { return caml_copy_double((double)(Int32_val(v))); } + + CAMLprim value caml_int32_compare(value v1, value v2) + { +- int32 i1 = Int32_val(v1); +- int32 i2 = Int32_val(v2); ++ int32_t i1 = Int32_val(v1); ++ int32_t i2 = Int32_val(v2); + int res = (i1 > i2) - (i1 < i2); + return Val_int(res); + } +@@ -313,14 +313,14 @@ CAMLprim value caml_int32_of_string(value s) + + CAMLprim value caml_int32_bits_of_float(value vd) + { +- union { float d; int32 i; } u; ++ union { float d; int32_t i; } u; + u.d = Double_val(vd); + return caml_copy_int32(u.i); + } + + CAMLprim value caml_int32_float_of_bits(value vi) + { +- union { float d; int32 i; } u; ++ union { float d; int32_t i; } u; + u.i = Int32_val(vi); + return caml_copy_double(u.d); + } +@@ -329,11 +329,11 @@ CAMLprim value caml_int32_float_of_bits(value vi) + + #ifdef ARCH_ALIGN_INT64 + +-CAMLexport int64 caml_Int64_val(value v) ++CAMLexport int64_t caml_Int64_val(value v) + { +- union { int32 i[2]; int64 j; } buffer; +- buffer.i[0] = ((int32 *) Data_custom_val(v))[0]; +- buffer.i[1] = ((int32 *) Data_custom_val(v))[1]; ++ union { int32_t i[2]; int64_t j; } buffer; ++ buffer.i[0] = ((int32_t *) Data_custom_val(v))[0]; ++ buffer.i[1] = ((int32_t *) Data_custom_val(v))[1]; + return buffer.j; + } + +@@ -341,15 +341,15 @@ CAMLexport int64 caml_Int64_val(value v) + + static int int64_cmp(value v1, value v2) + { +- int64 i1 = Int64_val(v1); +- int64 i2 = Int64_val(v2); ++ int64_t i1 = Int64_val(v1); ++ int64_t i2 = Int64_val(v2); + return (i1 > i2) - (i1 < i2); + } + + static intnat int64_hash(value v) + { +- int64 x = Int64_val(v); +- uint32 lo = (uint32) x, hi = (uint32) (x >> 32); ++ int64_t x = Int64_val(v); ++ uint32_t lo = (uint32_t) x, hi = (uint32_t) (x >> 32); + return hi ^ lo; + } + +@@ -363,12 +363,12 @@ static void int64_serialize(value v, uintnat * wsize_32, + static uintnat int64_deserialize(void * dst) + { + #ifndef ARCH_ALIGN_INT64 +- *((int64 *) dst) = caml_deserialize_sint_8(); ++ *((int64_t *) dst) = caml_deserialize_sint_8(); + #else +- union { int32 i[2]; int64 j; } buffer; ++ union { int32_t i[2]; int64_t j; } buffer; + buffer.j = caml_deserialize_sint_8(); +- ((int32 *) dst)[0] = buffer.i[0]; +- ((int32 *) dst)[1] = buffer.i[1]; ++ ((int32_t *) dst)[0] = buffer.i[0]; ++ ((int32_t *) dst)[1] = buffer.i[1]; + #endif + return 8; + } +@@ -383,16 +383,16 @@ CAMLexport struct custom_operations caml_int64_ops = { + custom_compare_ext_default + }; + +-CAMLexport value caml_copy_int64(int64 i) ++CAMLexport value caml_copy_int64(int64_t i) + { + value res = caml_alloc_custom(&caml_int64_ops, 8, 0, 1); + #ifndef ARCH_ALIGN_INT64 + Int64_val(res) = i; + #else +- union { int32 i[2]; int64 j; } buffer; ++ union { int32_t i[2]; int64_t j; } buffer; + buffer.j = i; +- ((int32 *) Data_custom_val(res))[0] = buffer.i[0]; +- ((int32 *) Data_custom_val(res))[1] = buffer.i[1]; ++ ((int32_t *) Data_custom_val(res))[0] = buffer.i[0]; ++ ((int32_t *) Data_custom_val(res))[1] = buffer.i[1]; + #endif + return res; + } +@@ -413,23 +413,23 @@ CAMLprim value caml_int64_mul(value v1, value v2) + + CAMLprim value caml_int64_div(value v1, value v2) + { +- int64 dividend = Int64_val(v1); +- int64 divisor = Int64_val(v2); ++ int64_t dividend = Int64_val(v1); ++ int64_t divisor = Int64_val(v2); + if (divisor == 0) caml_raise_zero_divide(); + /* PR#4740: on some processors, division crashes on overflow. + Implement the same behavior as for type "int". */ +- if (dividend == ((int64)1 << 63) && divisor == -1) return v1; ++ if (dividend == ((int64_t)1 << 63) && divisor == -1) return v1; + return caml_copy_int64(Int64_val(v1) / divisor); + } + + CAMLprim value caml_int64_mod(value v1, value v2) + { +- int64 dividend = Int64_val(v1); +- int64 divisor = Int64_val(v2); ++ int64_t dividend = Int64_val(v1); ++ int64_t divisor = Int64_val(v2); + if (divisor == 0) caml_raise_zero_divide(); + /* PR#4740: on some processors, division crashes on overflow. + Implement the same behavior as for type "int". */ +- if (dividend == ((int64)1 << 63) && divisor == -1) return caml_copy_int64(0); ++ if (dividend == ((int64_t)1 << 63) && divisor == -1) return caml_copy_int64(0); + return caml_copy_int64(Int64_val(v1) % divisor); + } + +@@ -449,7 +449,7 @@ CAMLprim value caml_int64_shift_right(value v1, value v2) + { return caml_copy_int64(Int64_val(v1) >> Int_val(v2)); } + + CAMLprim value caml_int64_shift_right_unsigned(value v1, value v2) +-{ return caml_copy_int64((uint64) (Int64_val(v1)) >> Int_val(v2)); } ++{ return caml_copy_int64((uint64_t) (Int64_val(v1)) >> Int_val(v2)); } + + #ifdef ARCH_SIXTYFOUR + static value caml_swap64(value x) +@@ -470,7 +470,7 @@ value caml_int64_direct_bswap(value v) + + CAMLprim value caml_int64_bswap(value v) + { +- int64 x = Int64_val(v); ++ int64_t x = Int64_val(v); + return caml_copy_int64 + (((x & 0x00000000000000FFULL) << 56) | + ((x & 0x000000000000FF00ULL) << 40) | +@@ -483,33 +483,33 @@ CAMLprim value caml_int64_bswap(value v) + } + + CAMLprim value caml_int64_of_int(value v) +-{ return caml_copy_int64((int64) (Long_val(v))); } ++{ return caml_copy_int64((int64_t) (Long_val(v))); } + + CAMLprim value caml_int64_to_int(value v) + { return Val_long((intnat) (Int64_val(v))); } + + CAMLprim value caml_int64_of_float(value v) +-{ return caml_copy_int64((int64) (Double_val(v))); } ++{ return caml_copy_int64((int64_t) (Double_val(v))); } + + CAMLprim value caml_int64_to_float(value v) + { return caml_copy_double((double) (Int64_val(v))); } + + CAMLprim value caml_int64_of_int32(value v) +-{ return caml_copy_int64((int64) (Int32_val(v))); } ++{ return caml_copy_int64((int64_t) (Int32_val(v))); } + + CAMLprim value caml_int64_to_int32(value v) +-{ return caml_copy_int32((int32) (Int64_val(v))); } ++{ return caml_copy_int32((int32_t) (Int64_val(v))); } + + CAMLprim value caml_int64_of_nativeint(value v) +-{ return caml_copy_int64((int64) (Nativeint_val(v))); } ++{ return caml_copy_int64((int64_t) (Nativeint_val(v))); } + + CAMLprim value caml_int64_to_nativeint(value v) + { return caml_copy_nativeint((intnat) (Int64_val(v))); } + + CAMLprim value caml_int64_compare(value v1, value v2) + { +- int64 i1 = Int64_val(v1); +- int64 i2 = Int64_val(v2); ++ int64_t i1 = Int64_val(v1); ++ int64_t i2 = Int64_val(v2); + return Val_int((i1 > i2) - (i1 < i2)); + } + +@@ -524,11 +524,11 @@ CAMLprim value caml_int64_format(value fmt, value arg) + CAMLprim value caml_int64_of_string(value s) + { + char * p; +- uint64 res, threshold; ++ uint64_t res, threshold; + int sign, base, d; + + p = parse_sign_and_base(String_val(s), &base, &sign); +- threshold = ((uint64) -1) / base; ++ threshold = ((uint64_t) -1) / base; + d = parse_digit(*p); + if (d < 0 || d >= base) caml_failwith("int_of_string"); + res = d; +@@ -541,7 +541,7 @@ CAMLprim value caml_int64_of_string(value s) + if (res > threshold) caml_failwith("int_of_string"); + res = base * res + d; + /* Detect overflow in addition (base * res) + d */ +- if (res < (uint64) d) caml_failwith("int_of_string"); ++ if (res < (uint64_t) d) caml_failwith("int_of_string"); + } + if (p != String_val(s) + caml_string_length(s)){ + caml_failwith("int_of_string"); +@@ -549,9 +549,9 @@ CAMLprim value caml_int64_of_string(value s) + if (base == 10) { + /* Signed representation expected, allow -2^63 to 2^63 - 1 only */ + if (sign >= 0) { +- if (res >= (uint64)1 << 63) caml_failwith("int_of_string"); ++ if (res >= (uint64_t)1 << 63) caml_failwith("int_of_string"); + } else { +- if (res > (uint64)1 << 63) caml_failwith("int_of_string"); ++ if (res > (uint64_t)1 << 63) caml_failwith("int_of_string"); + } + } + if (sign < 0) res = - res; +@@ -560,20 +560,20 @@ CAMLprim value caml_int64_of_string(value s) + + CAMLprim value caml_int64_bits_of_float(value vd) + { +- union { double d; int64 i; int32 h[2]; } u; ++ union { double d; int64_t i; int32_t h[2]; } u; + u.d = Double_val(vd); + #if defined(__arm__) && !defined(__ARM_EABI__) +- { int32 t = u.h[0]; u.h[0] = u.h[1]; u.h[1] = t; } ++ { int32_t t = u.h[0]; u.h[0] = u.h[1]; u.h[1] = t; } + #endif + return caml_copy_int64(u.i); + } + + CAMLprim value caml_int64_float_of_bits(value vi) + { +- union { double d; int64 i; int32 h[2]; } u; ++ union { double d; int64_t i; int32_t h[2]; } u; + u.i = Int64_val(vi); + #if defined(__arm__) && !defined(__ARM_EABI__) +- { int32 t = u.h[0]; u.h[0] = u.h[1]; u.h[1] = t; } ++ { int32_t t = u.h[0]; u.h[0] = u.h[1]; u.h[1] = t; } + #endif + return caml_copy_double(u.d); + } +@@ -606,7 +606,7 @@ static void nativeint_serialize(value v, uintnat * wsize_32, + #ifdef ARCH_SIXTYFOUR + if (l >= -((intnat)1 << 31) && l < ((intnat)1 << 31)) { + caml_serialize_int_1(1); +- caml_serialize_int_4((int32) l); ++ caml_serialize_int_4((int32_t) l); + } else { + caml_serialize_int_1(2); + caml_serialize_int_8(l); +diff --git a/byterun/io.c b/byterun/io.c +index 5f04a96..bedc0f0 100644 +--- a/byterun/io.c ++++ b/byterun/io.c +@@ -207,7 +207,7 @@ CAMLexport void caml_flush(struct channel *channel) + + /* Output data */ + +-CAMLexport void caml_putword(struct channel *channel, uint32 w) ++CAMLexport void caml_putword(struct channel *channel, uint32_t w) + { + if (! caml_channel_binary_mode(channel)) + caml_failwith("output_binary_int: not a binary channel"); +@@ -303,10 +303,10 @@ CAMLexport unsigned char caml_refill(struct channel *channel) + return (unsigned char)(channel->buff[0]); + } + +-CAMLexport uint32 caml_getword(struct channel *channel) ++CAMLexport uint32_t caml_getword(struct channel *channel) + { + int i; +- uint32 res; ++ uint32_t res; + + if (! caml_channel_binary_mode(channel)) + caml_failwith("input_binary_int: not a binary channel"); +diff --git a/byterun/io.h b/byterun/io.h +index 64a8bf5..5a9c037 100644 +--- a/byterun/io.h ++++ b/byterun/io.h +@@ -78,12 +78,12 @@ CAMLextern value caml_alloc_channel(struct channel *chan); + + CAMLextern int caml_flush_partial (struct channel *); + CAMLextern void caml_flush (struct channel *); +-CAMLextern void caml_putword (struct channel *, uint32); ++CAMLextern void caml_putword (struct channel *, uint32_t); + CAMLextern int caml_putblock (struct channel *, char *, intnat); + CAMLextern void caml_really_putblock (struct channel *, char *, intnat); + + CAMLextern unsigned char caml_refill (struct channel *); +-CAMLextern uint32 caml_getword (struct channel *); ++CAMLextern uint32_t caml_getword (struct channel *); + CAMLextern int caml_getblock (struct channel *, char *, intnat); + CAMLextern int caml_really_getblock (struct channel *, char *, intnat); + +@@ -107,7 +107,7 @@ CAMLextern struct channel * caml_all_opened_channels; + #define Unlock_exn() \ + if (caml_channel_mutex_unlock_exn != NULL) (*caml_channel_mutex_unlock_exn)() + +-/* Conversion between file_offset and int64 */ ++/* Conversion between file_offset and int64_t */ + + #define Val_file_offset(fofs) caml_copy_int64(fofs) + #define File_offset_val(v) ((file_offset) Int64_val(v)) +diff --git a/byterun/md5.c b/byterun/md5.c +index 10ac76a..2dc90a2 100644 +--- a/byterun/md5.c ++++ b/byterun/md5.c +@@ -97,11 +97,11 @@ CAMLexport void caml_md5_block(unsigned char digest[16], + #else + static void byteReverse(unsigned char * buf, unsigned longs) + { +- uint32 t; ++ uint32_t t; + do { +- t = (uint32) ((unsigned) buf[3] << 8 | buf[2]) << 16 | ++ t = (uint32_t) ((unsigned) buf[3] << 8 | buf[2]) << 16 | + ((unsigned) buf[1] << 8 | buf[0]); +- *(uint32 *) buf = t; ++ *(uint32_t *) buf = t; + buf += 4; + } while (--longs); + } +@@ -129,12 +129,12 @@ CAMLexport void caml_MD5Init(struct MD5Context *ctx) + CAMLexport void caml_MD5Update(struct MD5Context *ctx, unsigned char *buf, + uintnat len) + { +- uint32 t; ++ uint32_t t; + + /* Update bitcount */ + + t = ctx->bits[0]; +- if ((ctx->bits[0] = t + ((uint32) len << 3)) < t) ++ if ((ctx->bits[0] = t + ((uint32_t) len << 3)) < t) + ctx->bits[1]++; /* Carry from low to high */ + ctx->bits[1] += len >> 29; + +@@ -152,7 +152,7 @@ CAMLexport void caml_MD5Update(struct MD5Context *ctx, unsigned char *buf, + } + memcpy(p, buf, t); + byteReverse(ctx->in, 16); +- caml_MD5Transform(ctx->buf, (uint32 *) ctx->in); ++ caml_MD5Transform(ctx->buf, (uint32_t *) ctx->in); + buf += t; + len -= t; + } +@@ -161,7 +161,7 @@ CAMLexport void caml_MD5Update(struct MD5Context *ctx, unsigned char *buf, + while (len >= 64) { + memcpy(ctx->in, buf, 64); + byteReverse(ctx->in, 16); +- caml_MD5Transform(ctx->buf, (uint32 *) ctx->in); ++ caml_MD5Transform(ctx->buf, (uint32_t *) ctx->in); + buf += 64; + len -= 64; + } +@@ -196,7 +196,7 @@ CAMLexport void caml_MD5Final(unsigned char *digest, struct MD5Context *ctx) + /* Two lots of padding: Pad the first block to 64 bytes */ + memset(p, 0, count); + byteReverse(ctx->in, 16); +- caml_MD5Transform(ctx->buf, (uint32 *) ctx->in); ++ caml_MD5Transform(ctx->buf, (uint32_t *) ctx->in); + + /* Now fill the next block with 56 bytes */ + memset(ctx->in, 0, 56); +@@ -207,10 +207,10 @@ CAMLexport void caml_MD5Final(unsigned char *digest, struct MD5Context *ctx) + byteReverse(ctx->in, 14); + + /* Append length in bits and transform */ +- ((uint32 *) ctx->in)[14] = ctx->bits[0]; +- ((uint32 *) ctx->in)[15] = ctx->bits[1]; ++ ((uint32_t *) ctx->in)[14] = ctx->bits[0]; ++ ((uint32_t *) ctx->in)[15] = ctx->bits[1]; + +- caml_MD5Transform(ctx->buf, (uint32 *) ctx->in); ++ caml_MD5Transform(ctx->buf, (uint32_t *) ctx->in); + byteReverse((unsigned char *) ctx->buf, 4); + memcpy(digest, ctx->buf, 16); + memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */ +@@ -233,9 +233,9 @@ CAMLexport void caml_MD5Final(unsigned char *digest, struct MD5Context *ctx) + * reflect the addition of 16 longwords of new data. caml_MD5Update blocks + * the data and converts bytes into longwords for this routine. + */ +-CAMLexport void caml_MD5Transform(uint32 *buf, uint32 *in) ++CAMLexport void caml_MD5Transform(uint32_t *buf, uint32_t *in) + { +- register uint32 a, b, c, d; ++ register uint32_t a, b, c, d; + + a = buf[0]; + b = buf[1]; +diff --git a/byterun/md5.h b/byterun/md5.h +index d8aff09..f63667d 100644 +--- a/byterun/md5.h ++++ b/byterun/md5.h +@@ -26,8 +26,8 @@ CAMLextern void caml_md5_block(unsigned char digest[16], + void * data, uintnat len); + + struct MD5Context { +- uint32 buf[4]; +- uint32 bits[2]; ++ uint32_t buf[4]; ++ uint32_t bits[2]; + unsigned char in[64]; + }; + +@@ -35,7 +35,7 @@ CAMLextern void caml_MD5Init (struct MD5Context *context); + CAMLextern void caml_MD5Update (struct MD5Context *context, unsigned char *buf, + uintnat len); + CAMLextern void caml_MD5Final (unsigned char *digest, struct MD5Context *ctx); +-CAMLextern void caml_MD5Transform (uint32 *buf, uint32 *in); ++CAMLextern void caml_MD5Transform (uint32_t *buf, uint32_t *in); + + + #endif /* CAML_MD5_H */ +diff --git a/byterun/mlvalues.h b/byterun/mlvalues.h +index 268bcfe..a08948e 100644 +--- a/byterun/mlvalues.h ++++ b/byterun/mlvalues.h +@@ -38,8 +38,8 @@ extern "C" { + bp: Pointer to the first byte of a block. (a char *) + op: Pointer to the first field of a block. (a value *) + hp: Pointer to the header of a block. (a char *) +- int32: Four bytes on all architectures. +- int64: Eight bytes on all architectures. ++ int32_t: Four bytes on all architectures. ++ int64_t: Eight bytes on all architectures. + + Remark: A block size is always a multiple of the word size, and at least + one word plus the header. +@@ -161,7 +161,7 @@ bits 63 10 9 8 7 0 + /* Fields are numbered from 0. */ + #define Field(x, i) (((value *)(x)) [i]) /* Also an l-value. */ + +-typedef int32 opcode_t; ++typedef int32_t opcode_t; + typedef opcode_t * code_t; + + /* NOTE: [Forward_tag] and [Infix_tag] must be just under +@@ -262,12 +262,12 @@ struct custom_operations; /* defined in [custom.h] */ + + /* Int32.t, Int64.t and Nativeint.t are represented as custom blocks. */ + +-#define Int32_val(v) (*((int32 *) Data_custom_val(v))) ++#define Int32_val(v) (*((int32_t *) Data_custom_val(v))) + #define Nativeint_val(v) (*((intnat *) Data_custom_val(v))) + #ifndef ARCH_ALIGN_INT64 +-#define Int64_val(v) (*((int64 *) Data_custom_val(v))) ++#define Int64_val(v) (*((int64_t *) Data_custom_val(v))) + #else +-CAMLextern int64 caml_Int64_val(value v); ++CAMLextern int64_t caml_Int64_val(value v); + #define Int64_val(v) caml_Int64_val(v) + #endif + +diff --git a/byterun/startup.c b/byterun/startup.c +index 3697220..ab926ef 100644 +--- a/byterun/startup.c ++++ b/byterun/startup.c +@@ -79,7 +79,7 @@ static void init_atoms(void) + + /* Read the trailer of a bytecode file */ + +-static void fixup_endianness_trailer(uint32 * p) ++static void fixup_endianness_trailer(uint32_t * p) + { + #ifndef ARCH_BIG_ENDIAN + Reverse_32(p, p); +@@ -153,7 +153,7 @@ void caml_read_section_descriptors(int fd, struct exec_trailer *trail) + Return the length of the section data in bytes, or -1 if no section + found with that name. */ + +-int32 caml_seek_optional_section(int fd, struct exec_trailer *trail, char *name) ++int32_t caml_seek_optional_section(int fd, struct exec_trailer *trail, char *name) + { + long ofs; + int i; +@@ -172,9 +172,9 @@ int32 caml_seek_optional_section(int fd, struct exec_trailer *trail, char *name) + /* Position fd at the beginning of the section having the given name. + Return the length of the section data in bytes. */ + +-int32 caml_seek_section(int fd, struct exec_trailer *trail, char *name) ++int32_t caml_seek_section(int fd, struct exec_trailer *trail, char *name) + { +- int32 len = caml_seek_optional_section(fd, trail, name); ++ int32_t len = caml_seek_optional_section(fd, trail, name); + if (len == -1) + caml_fatal_error_arg("Fatal_error: section `%s' is missing\n", name); + return len; +@@ -185,7 +185,7 @@ int32 caml_seek_section(int fd, struct exec_trailer *trail, char *name) + + static char * read_section(int fd, struct exec_trailer *trail, char *name) + { +- int32 len; ++ int32_t len; + char * data; + + len = caml_seek_optional_section(fd, trail, name); +diff --git a/byterun/startup.h b/byterun/startup.h +index 3dda64b..3268d88 100644 +--- a/byterun/startup.h ++++ b/byterun/startup.h +@@ -30,9 +30,9 @@ enum { FILE_NOT_FOUND = -1, BAD_BYTECODE = -2 }; + extern int caml_attempt_open(char **name, struct exec_trailer *trail, + int do_open_script); + extern void caml_read_section_descriptors(int fd, struct exec_trailer *trail); +-extern int32 caml_seek_optional_section(int fd, struct exec_trailer *trail, ++extern int32_t caml_seek_optional_section(int fd, struct exec_trailer *trail, + char *name); +-extern int32 caml_seek_section(int fd, struct exec_trailer *trail, char *name); ++extern int32_t caml_seek_section(int fd, struct exec_trailer *trail, char *name); + + + #endif /* CAML_STARTUP_H */ +diff --git a/byterun/str.c b/byterun/str.c +index 6effa91..9c7baa1 100644 +--- a/byterun/str.c ++++ b/byterun/str.c +@@ -101,7 +101,7 @@ CAMLprim value caml_string_get32(value str, value index) + + CAMLprim value caml_string_get64(value str, value index) + { +- uint64 res; ++ uint64_t res; + unsigned char b1, b2, b3, b4, b5, b6, b7, b8; + intnat idx = Long_val(index); + if (idx < 0 || idx + 7 >= caml_string_length(str)) caml_array_bound_error(); +@@ -114,15 +114,15 @@ CAMLprim value caml_string_get64(value str, value index) + b7 = Byte_u(str, idx + 6); + b8 = Byte_u(str, idx + 7); + #ifdef ARCH_BIG_ENDIAN +- res = (uint64) b1 << 56 | (uint64) b2 << 48 +- | (uint64) b3 << 40 | (uint64) b4 << 32 +- | (uint64) b5 << 24 | (uint64) b6 << 16 +- | (uint64) b7 << 8 | (uint64) b8; ++ res = (uint64_t) b1 << 56 | (uint64_t) b2 << 48 ++ | (uint64_t) b3 << 40 | (uint64_t) b4 << 32 ++ | (uint64_t) b5 << 24 | (uint64_t) b6 << 16 ++ | (uint64_t) b7 << 8 | (uint64_t) b8; + #else +- res = (uint64) b8 << 56 | (uint64) b7 << 48 +- | (uint64) b6 << 40 | (uint64) b5 << 32 +- | (uint64) b4 << 24 | (uint64) b3 << 16 +- | (uint64) b2 << 8 | (uint64) b1; ++ res = (uint64_t) b8 << 56 | (uint64_t) b7 << 48 ++ | (uint64_t) b6 << 40 | (uint64_t) b5 << 32 ++ | (uint64_t) b4 << 24 | (uint64_t) b3 << 16 ++ | (uint64_t) b2 << 8 | (uint64_t) b1; + #endif + return caml_copy_int64(res); + } +@@ -174,7 +174,7 @@ CAMLprim value caml_string_set32(value str, value index, value newval) + CAMLprim value caml_string_set64(value str, value index, value newval) + { + unsigned char b1, b2, b3, b4, b5, b6, b7, b8; +- int64 val; ++ int64_t val; + intnat idx = Long_val(index); + if (idx < 0 || idx + 7 >= caml_string_length(str)) caml_array_bound_error(); + val = Int64_val(newval); +diff --git a/config/auto-aux/int64align.c b/config/auto-aux/int64align.c +index 5795e48..c143986 100644 +--- a/config/auto-aux/int64align.c ++++ b/config/auto-aux/int64align.c +@@ -17,18 +17,18 @@ + #include "m.h" + + #if defined(ARCH_INT64_TYPE) +-typedef ARCH_INT64_TYPE int64; ++typedef ARCH_INT64_TYPE int64_t; + #elif SIZEOF_LONG == 8 +-typedef long int64; ++typedef long int64_t; + #elif SIZEOF_LONGLONG == 8 +-typedef long long int64; ++typedef long long int64_t; + #else + #error "No 64-bit integer type available" + #endif + +-int64 foo; ++int64_t foo; + +-void access_int64(int64 *p) ++void access_int64(int64_t *p) + { + foo = *p; + } +@@ -49,8 +49,8 @@ int main(void) + signal(SIGBUS, sig_handler); + #endif + if(setjmp(failure) == 0) { +- access_int64((int64 *) n); +- access_int64((int64 *) (n+1)); ++ access_int64((int64_t *) n); ++ access_int64((int64_t *) (n+1)); + res = 0; + } else { + res = 1; +diff --git a/config/s-nt.h b/config/s-nt.h +index 6df440b..603b050 100644 +--- a/config/s-nt.h ++++ b/config/s-nt.h +@@ -15,6 +15,9 @@ + + #define OCAML_OS_TYPE "Win32" + ++#ifdef __MINGW32__ ++#define HAS_STDINT_H ++#endif + #undef BSD_SIGNALS + #define HAS_STRERROR + #define HAS_SOCKETS +diff --git a/configure b/configure +index 0bf4ebd..8a9be78 100755 +--- a/configure ++++ b/configure +@@ -615,26 +615,6 @@ case "$target" in + esac + esac + +-# Check semantics of division and modulus +- +-sh ./runtest divmod.c +-case $? in +- 0) inf "Native division and modulus have round-towards-zero semantics," \ +- "will use them." +- echo "#undef NONSTANDARD_DIV_MOD" >> m.h;; +- 1) inf "Native division and modulus do not have round-towards-zero" +- "semantics, will use software emulation." +- echo "#define NONSTANDARD_DIV_MOD" >> m.h;; +- *) case $target in +- *-*-mingw*) inf "Native division and modulus have round-towards-zero" \ +- "semantics, will use them." +- echo "#undef NONSTANDARD_DIV_MOD" >> m.h;; +- *) wrn "Something went wrong while checking native division and modulus"\ +- "please report it at http://http://caml.inria.fr/mantis/" +- echo "#define NONSTANDARD_DIV_MOD" >> m.h;; +- esac;; +-esac +- + # Shared library support + + shared_libraries_supported=false +@@ -1085,6 +1065,11 @@ if sh ./hasgot -i sys/types.h -i sys/socket.h -i netinet/in.h \ + echo "#define HAS_IPV6" >> s.h + fi + ++if sh ./hasgot -i stdint.h; then ++ inf "stdint.h found." ++ echo "#define HAS_STDINT_H" >> s.h ++fi ++ + if sh ./hasgot -i unistd.h; then + inf "unistd.h found." + echo "#define HAS_UNISTD" >> s.h +diff --git a/otherlibs/bigarray/bigarray_stubs.c b/otherlibs/bigarray/bigarray_stubs.c +index 7e63cbf..f2ccb92 100644 +--- a/otherlibs/bigarray/bigarray_stubs.c ++++ b/otherlibs/bigarray/bigarray_stubs.c +@@ -279,9 +279,9 @@ value caml_ba_get_N(value vb, value * vind, int nind) + case CAML_BA_UINT16: + return Val_int(((uint16 *) b->data)[offset]); + case CAML_BA_INT32: +- return caml_copy_int32(((int32 *) b->data)[offset]); ++ return caml_copy_int32(((int32_t *) b->data)[offset]); + case CAML_BA_INT64: +- return caml_copy_int64(((int64 *) b->data)[offset]); ++ return caml_copy_int64(((int64_t *) b->data)[offset]); + case CAML_BA_NATIVE_INT: + return caml_copy_nativeint(((intnat *) b->data)[offset]); + case CAML_BA_CAML_INT: +@@ -388,7 +388,7 @@ CAMLprim value caml_ba_uint8_get32(value vb, value vind) + + CAMLprim value caml_ba_uint8_get64(value vb, value vind) + { +- uint64 res; ++ uint64_t res; + unsigned char b1, b2, b3, b4, b5, b6, b7, b8; + intnat idx = Long_val(vind); + struct caml_ba_array * b = Caml_ba_array_val(vb); +@@ -402,15 +402,15 @@ CAMLprim value caml_ba_uint8_get64(value vb, value vind) + b7 = ((unsigned char*) b->data)[idx+6]; + b8 = ((unsigned char*) b->data)[idx+7]; + #ifdef ARCH_BIG_ENDIAN +- res = (uint64) b1 << 56 | (uint64) b2 << 48 +- | (uint64) b3 << 40 | (uint64) b4 << 32 +- | (uint64) b5 << 24 | (uint64) b6 << 16 +- | (uint64) b7 << 8 | (uint64) b8; ++ res = (uint64_t) b1 << 56 | (uint64_t) b2 << 48 ++ | (uint64_t) b3 << 40 | (uint64_t) b4 << 32 ++ | (uint64_t) b5 << 24 | (uint64_t) b6 << 16 ++ | (uint64_t) b7 << 8 | (uint64_t) b8; + #else +- res = (uint64) b8 << 56 | (uint64) b7 << 48 +- | (uint64) b6 << 40 | (uint64) b5 << 32 +- | (uint64) b4 << 24 | (uint64) b3 << 16 +- | (uint64) b2 << 8 | (uint64) b1; ++ res = (uint64_t) b8 << 56 | (uint64_t) b7 << 48 ++ | (uint64_t) b6 << 40 | (uint64_t) b5 << 32 ++ | (uint64_t) b4 << 24 | (uint64_t) b3 << 16 ++ | (uint64_t) b2 << 8 | (uint64_t) b1; + #endif + return caml_copy_int64(res); + } +@@ -447,9 +447,9 @@ static value caml_ba_set_aux(value vb, value * vind, intnat nind, value newval) + case CAML_BA_UINT16: + ((int16 *) b->data)[offset] = Int_val(newval); break; + case CAML_BA_INT32: +- ((int32 *) b->data)[offset] = Int32_val(newval); break; ++ ((int32_t *) b->data)[offset] = Int32_val(newval); break; + case CAML_BA_INT64: +- ((int64 *) b->data)[offset] = Int64_val(newval); break; ++ ((int64_t *) b->data)[offset] = Int64_val(newval); break; + case CAML_BA_NATIVE_INT: + ((intnat *) b->data)[offset] = Nativeint_val(newval); break; + case CAML_BA_CAML_INT: +@@ -577,7 +577,7 @@ CAMLprim value caml_ba_uint8_set64(value vb, value vind, value newval) + { + unsigned char b1, b2, b3, b4, b5, b6, b7, b8; + intnat idx = Long_val(vind); +- int64 val; ++ int64_t val; + struct caml_ba_array * b = Caml_ba_array_val(vb); + if (idx < 0 || idx >= b->dim[0] - 7) caml_array_bound_error(); + val = Int64_val(newval); +@@ -760,9 +760,9 @@ static int caml_ba_compare(value v1, value v2) + case CAML_BA_UINT16: + DO_INTEGER_COMPARISON(uint16); + case CAML_BA_INT32: +- DO_INTEGER_COMPARISON(int32); ++ DO_INTEGER_COMPARISON(int32_t); + case CAML_BA_INT64: +- DO_INTEGER_COMPARISON(int64); ++ DO_INTEGER_COMPARISON(int64_t); + case CAML_BA_CAML_INT: + case CAML_BA_NATIVE_INT: + DO_INTEGER_COMPARISON(intnat); +@@ -780,7 +780,7 @@ static intnat caml_ba_hash(value v) + { + struct caml_ba_array * b = Caml_ba_array_val(v); + intnat num_elts, n; +- uint32 h, w; ++ uint32_t h, w; + int i; + + num_elts = 1; +@@ -820,7 +820,7 @@ static intnat caml_ba_hash(value v) + } + case CAML_BA_INT32: + { +- uint32 * p = b->data; ++ uint32_t * p = b->data; + if (num_elts > 64) num_elts = 64; + for (n = 0; n < num_elts; n++, p++) h = caml_hash_mix_uint32(h, *p); + break; +@@ -835,7 +835,7 @@ static intnat caml_ba_hash(value v) + } + case CAML_BA_INT64: + { +- int64 * p = b->data; ++ int64_t * p = b->data; + if (num_elts > 32) num_elts = 32; + for (n = 0; n < num_elts; n++, p++) h = caml_hash_mix_int64(h, *p); + break; +@@ -878,7 +878,7 @@ static void caml_ba_serialize_longarray(void * data, + } else { + caml_serialize_int_1(0); + for (n = 0, p = data; n < num_elts; n++, p++) +- caml_serialize_int_4((int32) *p); ++ caml_serialize_int_4((int32_t) *p); + } + #else + caml_serialize_int_1(0); +@@ -1181,14 +1181,14 @@ CAMLprim value caml_ba_fill(value vb, value vinit) + break; + } + case CAML_BA_INT32: { +- int32 init = Int32_val(vinit); +- int32 * p; ++ int32_t init = Int32_val(vinit); ++ int32_t * p; + for (p = b->data; num_elts > 0; p++, num_elts--) *p = init; + break; + } + case CAML_BA_INT64: { +- int64 init = Int64_val(vinit); +- int64 * p; ++ int64_t init = Int64_val(vinit); ++ int64_t * p; + for (p = b->data; num_elts > 0; p++, num_elts--) *p = init; + break; + } +diff --git a/otherlibs/num/nat_stubs.c b/otherlibs/num/nat_stubs.c +index 9a62759..d718a05 100644 +--- a/otherlibs/num/nat_stubs.c ++++ b/otherlibs/num/nat_stubs.c +@@ -347,9 +347,9 @@ static void serialize_nat(value nat, + if (len >= ((mlsize_t)1 << 32)) + failwith("output_value: nat too big"); + #endif +- serialize_int_4((int32) len); ++ serialize_int_4((int32_t) len); + #if defined(ARCH_SIXTYFOUR) && defined(ARCH_BIG_ENDIAN) +- { int32 * p; ++ { int32_t * p; + mlsize_t i; + for (i = len, p = Data_custom_val(nat); i > 0; i -= 2, p += 2) { + serialize_int_4(p[1]); /* low 32 bits of 64-bit digit */ +@@ -369,7 +369,7 @@ static uintnat deserialize_nat(void * dst) + + len = deserialize_uint_4(); + #if defined(ARCH_SIXTYFOUR) && defined(ARCH_BIG_ENDIAN) +- { uint32 * p; ++ { uint32_t * p; + mlsize_t i; + for (i = len, p = dst; i > 1; i -= 2, p += 2) { + p[1] = deserialize_uint_4(); /* low 32 bits of 64-bit digit */ +@@ -385,7 +385,7 @@ static uintnat deserialize_nat(void * dst) + deserialize_block_4(dst, len); + #if defined(ARCH_SIXTYFOUR) + if (len & 1){ +- ((uint32 *) dst)[len] = 0; ++ ((uint32_t *) dst)[len] = 0; + ++ len; + } + #endif +@@ -396,7 +396,7 @@ static uintnat deserialize_nat(void * dst) + static intnat hash_nat(value v) + { + bngsize len, i; +- uint32 h; ++ uint32_t h; + + len = bng_num_digits(&Digit_val(v,0), Wosize_val(v) - 1); + h = 0; +@@ -406,10 +406,10 @@ static intnat hash_nat(value v) + /* Mix the two 32-bit halves as if we were on a 32-bit platform, + namely low 32 bits first, then high 32 bits. + Also, ignore final 32 bits if they are zero. */ +- h = caml_hash_mix_uint32(h, (uint32) d); ++ h = caml_hash_mix_uint32(h, (uint32_t) d); + d = d >> 32; + if (d == 0 && i + 1 == len) break; +- h = caml_hash_mix_uint32(h, (uint32) d); ++ h = caml_hash_mix_uint32(h, (uint32_t) d); + #else + h = caml_hash_mix_uint32(h, d); + #endif +diff --git a/otherlibs/unix/addrofstr.c b/otherlibs/unix/addrofstr.c +index e17841f..a2830ba 100644 +--- a/otherlibs/unix/addrofstr.c ++++ b/otherlibs/unix/addrofstr.c +@@ -73,7 +73,7 @@ CAMLprim value unix_inet_addr_of_string(value s) + #else + struct in_addr address; + address.s_addr = inet_addr(String_val(s)); +- if (address.s_addr == (uint32) -1) failwith("inet_addr_of_string"); ++ if (address.s_addr == (uint32_t) -1) failwith("inet_addr_of_string"); + return alloc_inet_addr(&address); + #endif + } +diff --git a/stdlib/header.c b/stdlib/header.c +index cb3d995..93cdfeb 100644 +--- a/stdlib/header.c ++++ b/stdlib/header.c +@@ -133,7 +133,7 @@ static char * read_runtime_path(int fd) + char buffer[TRAILER_SIZE]; + static char runtime_path[MAXPATHLEN]; + int num_sections, i; +- uint32 path_size; ++ uint32_t path_size; + long ofs; + + lseek(fd, (long) -TRAILER_SIZE, SEEK_END); +-- +2.0.4 + diff --git a/programming/language/ocaml/ocaml/pspec.xml b/programming/language/ocaml/ocaml/pspec.xml new file mode 100644 index 0000000000..90cbf22f0e --- /dev/null +++ b/programming/language/ocaml/ocaml/pspec.xml @@ -0,0 +1,106 @@ + + + + + ocaml + http://www.ocaml.org/ + + Serdar Soytetir + kaptan@pisilinux.org + + OPL + app:console + Fast modern type-inferring functional programming language + A fast modern type-inferring functional programming language descended from the ML (Meta Language) family. + + http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02.1.tar.xz + + zlib-devel + ncurses-devel + libX11-devel + chrpath + + + fedora/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch + fedora/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch + fedora/0003-Don-t-add-rpaths-to-libraries.patch + fedora/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch + fedora/0005-configure-Allow-user-defined-C-compiler-flags.patch + fedora/0009-arg-Add-no_arg-and-get_arg-helper-functions.patch + fedora/0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch + fedora/0011-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch + + + + + ocaml + + zlib + ncurses + libX11 + + + /usr/bin/ + /usr/lib/ + /usr/share/doc/ + /usr/share/man/ + + + + + + 2015-04-04 + 4.02.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-11-16 + 4.00.2 + Rebuild + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-09-23 + 4.00.2 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-24 + 3.4.1 + Version bump. + PisiLinux Community + admins@pisilinux.org + + + 2014-02-07 + 4.00.1 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-01-29 + 4.01.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2012-09-20 + 4.00.0 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + diff --git a/programming/language/ocaml/ocaml/translations.xml b/programming/language/ocaml/ocaml/translations.xml new file mode 100644 index 0000000000..23241c023a --- /dev/null +++ b/programming/language/ocaml/ocaml/translations.xml @@ -0,0 +1,18 @@ + + + + ocaml + Hızlı ve modern bir programlama dili + OcaML, ML dilinin soyundan gelen fonksiyonel bir programlama dilidir + + + + ocaml-mode + Emacs için ocaml kipi + + + + labltk + Ocaml için tk araç bağlayıcıları + + diff --git a/programming/language/tcl/component.xml b/programming/language/tcl/component.xml new file mode 100644 index 0000000000..cd2f226305 --- /dev/null +++ b/programming/language/tcl/component.xml @@ -0,0 +1,3 @@ + + programming.language.tcl + diff --git a/programming/language/tcl/tcl/actions.py b/programming/language/tcl/tcl/actions.py new file mode 100755 index 0000000000..1d45fa7076 --- /dev/null +++ b/programming/language/tcl/tcl/actions.py @@ -0,0 +1,61 @@ +# -*- 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 get +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +def setup(): + shelltools.unlinkDir("%s/tcl8.6.4/pkgs/sqlite3.8.8.3" % get.workDIR()) + shelltools.cd("unix") + + autotools.autoreconf("-fi") + autotools.configure("--with-encoding=utf-8 \ + --enable-threads \ + --enable-man-compression=gzip \ + --mandir=/usr/share/man \ + --enable-man-symlinks \ + --enable-shared \ + --enable-64bit") + +def build(): + shelltools.cd("unix") + autotools.make() + +def install(): + shelltools.cd("unix") + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + # Collect private headers, 3rd party apps like Tile depends on this + shelltools.cd("..") + pisitools.dodir("/usr/include/tcl-private/generic") + pisitools.dodir("/usr/include/tcl-private/unix") + shelltools.copy("unix/*.h","%s/usr/include/tcl-private/unix" % get.installDIR()) + shelltools.copy("generic/*.h", "%s/usr/include/tcl-private/generic" % get.installDIR()) + + # Remove duplicated headers + pisitools.remove("/usr/include/tcl-private/generic/tcl.h") + pisitools.remove("/usr/include/tcl-private/generic/tclDecls.h") + pisitools.remove("/usr/include/tcl-private/generic/tclPlatDecls.h") + + # Remove man file sqlite paket çakışması için silindi. + #pisitools.remove("/usr/share/man/mann/sqlite3.n") + + # Expect package needs these symlinks + pisitools.dosym("/usr/include/tcl-private/unix/tclUnixPort.h","/usr/include/tcl-private/generic/tclUnixPort.h") + pisitools.dosym("/usr/include/tcl-private/unix/tclUnixThrd.h","/usr/include/tcl-private/generic/tclUnixThrd.h") + + # Remove tmp path from tclConfig.sh + pisitools.dosed("%s/usr/lib/tclConfig.sh" % get.installDIR(),"%s/unix" % get.curDIR() ,"/usr/lib/") + pisitools.dosed("%s/usr/lib/tclConfig.sh" % get.installDIR(),"%s" % get.curDIR() ,"/usr/include/tcl-private") + + # Some apps need compat headers + pisitools.dodir("/usr/include/tcl-private/compat") + shelltools.copy("compat/*.h", "%s/usr/include/tcl-private/compat" % get.installDIR()) + + pisitools.dosym("/usr/bin/tclsh8.6","/usr/bin/tclsh") + + pisitools.dodoc("ChangeLog","changes","license.terms","README") \ No newline at end of file diff --git a/programming/language/tcl/tcl/files/tcl-8.6.1-conf.patch b/programming/language/tcl/tcl/files/tcl-8.6.1-conf.patch new file mode 100755 index 0000000000..894a7df3ca --- /dev/null +++ b/programming/language/tcl/tcl/files/tcl-8.6.1-conf.patch @@ -0,0 +1,19 @@ +diff --git a/unix/tcl.m4 b/unix/tcl.m4 +index 194cf90..76773f3 100644 +--- a/unix/tcl.m4 ++++ b/unix/tcl.m4 +@@ -1415,12 +1415,12 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ + # get rid of the warnings. + #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" + +- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' ++ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -fPIC -Wl,-soname,${@}' + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" + AS_IF([test $doRpath = yes], [ +- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) ++ CC_SEARCH_FLAGS='']) + LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} + AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) + AS_IF([test $do64bit = yes], [ \ No newline at end of file diff --git a/programming/language/tcl/tcl/files/tcl-8.6.1-hidden.patch b/programming/language/tcl/tcl/files/tcl-8.6.1-hidden.patch new file mode 100755 index 0000000000..32d580ca55 --- /dev/null +++ b/programming/language/tcl/tcl/files/tcl-8.6.1-hidden.patch @@ -0,0 +1,35 @@ +diff --git a/generic/tclInt.h b/generic/tclInt.h +index 380284f..7bb5eb9 100644 +--- a/generic/tclInt.h ++++ b/generic/tclInt.h +@@ -3160,7 +3160,7 @@ MODULE_SCOPE void TclClockInit(Tcl_Interp *interp); + MODULE_SCOPE int TclClockOldscanObjCmd( + ClientData clientData, Tcl_Interp *interp, + int objc, Tcl_Obj *const objv[]); +-MODULE_SCOPE int Tcl_CloseObjCmd(ClientData clientData, ++extern int Tcl_CloseObjCmd(ClientData clientData, + Tcl_Interp *interp, int objc, + Tcl_Obj *const objv[]); + MODULE_SCOPE int Tcl_ConcatObjCmd(ClientData clientData, +@@ -3343,7 +3343,7 @@ MODULE_SCOPE int Tcl_RenameObjCmd(ClientData clientData, + MODULE_SCOPE int Tcl_RepresentationCmd(ClientData clientData, + Tcl_Interp *interp, int objc, + Tcl_Obj *const objv[]); +-MODULE_SCOPE int Tcl_ReturnObjCmd(ClientData clientData, ++extern int Tcl_ReturnObjCmd(ClientData clientData, + Tcl_Interp *interp, int objc, + Tcl_Obj *const objv[]); + MODULE_SCOPE int Tcl_ScanObjCmd(ClientData clientData, +diff --git a/generic/tclPort.h b/generic/tclPort.h +index 12a60db..d817154 100644 +--- a/generic/tclPort.h ++++ b/generic/tclPort.h +@@ -20,7 +20,7 @@ + #if defined(_WIN32) + # include "tclWinPort.h" + #else +-# include "tclUnixPort.h" ++# include "../unix/tclUnixPort.h" + #endif + #include "tcl.h" + \ No newline at end of file diff --git a/programming/language/tcl/tcl/pspec.xml b/programming/language/tcl/tcl/pspec.xml new file mode 100755 index 0000000000..32040147d1 --- /dev/null +++ b/programming/language/tcl/tcl/pspec.xml @@ -0,0 +1,135 @@ + + + + + tcl + http://www.tcl.tk + + PisiLinux Community + admins@pisilinux.org + + as-is + app:console + Tcl programming language + Tcl provides a powerful platform for creating integration applications that tie together diverse applications, protocols, devices, and frameworks. + mirrors://sourceforge/tcl/tcl8.6.4-src.tar.gz + + zlib-devel + + + + + tcl + + zlib + + + /usr/bin + /usr/lib + /usr/lib/tcl8.5 + /usr/share/doc + /usr/share/man + + + + + tcl-devel + Development files for tcl + + tcl + + + /usr/include + /usr/lib/*.a + /usr/lib/pkgconfig + /usr/lib/tclConfig.sh + /usr/share/man/man3 + + + + sqlite-tcl + files for sqlite-tcl + + tcl + + + /usr/lib/sqlite3.8.8.3/libsqlite* + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.3.tm + /usr/share/man/mann/tdbc_sqlite3.n + /usr/share/man/mann/sqlite3.n + + + + + + 2015-06-11 + 8.6.4 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-03 + 8.6.3 + Rebuild. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-12-12 + 8.6.3 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-09-30 + 8.6.2 + Version bump. + Kamil Atlı + suvari@pisilinux.org + + + 2014-05-17 + 8.6.1 + Add patch. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-01-06 + 8.6.1 + Rebuild to fix stripping. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-24 + 8.6.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-07-26 + 8.6.0 + Move pc files to devel pack, increase release no. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-01-26 + 8.6.0 + bump + Erdinç Gültekin + admins@pisilinux.org + + + 2012-09-15 + 8.5.12 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + diff --git a/programming/language/tcl/tcl/translations.xml b/programming/language/tcl/tcl/translations.xml new file mode 100755 index 0000000000..e44f5c02c1 --- /dev/null +++ b/programming/language/tcl/tcl/translations.xml @@ -0,0 +1,14 @@ + + + + tcl + Tcl programlama dili + Tcl, çeşitli uygulamalar geliştirmek için kullanılabilen bir programlama dilidir. + Tcl provee una plataforma potente para crear aplicaciones de integración de diversos aplicaciones, protocolos, dispositivos y frameworks + + + + tcl-devel + tcl için geliştirme dosyaları + + diff --git a/programming/language/tcl/tcltk/actions.py b/programming/language/tcl/tcltk/actions.py new file mode 100755 index 0000000000..6c245962c0 --- /dev/null +++ b/programming/language/tcl/tcltk/actions.py @@ -0,0 +1,47 @@ +#!/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 get +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +WorkDir="tk%s" % get.srcVERSION() + +def setup(): + shelltools.cd("unix") + autotools.autoconf() + autotools.configure("--enable-threads \ + --enable-man-compression=gzip \ + --enable-man-symlinks \ + --enable-64bit \ + --with-x \ + --enable-xft") + +def build(): + autotools.make("-C unix") + +def install(): + shelltools.system("make -C unix DESTDIR=%s install" % get.installDIR()) + + # Collect private headers, 3rd party apps like Tile depends on this + pisitools.dodir("/usr/include/tk-private/generic") + pisitools.dodir("/usr/include/tk-private/unix") + shelltools.copy("unix/*.h", "%s/usr/include/tk-private/unix" % get.installDIR()) + shelltools.copy("generic/*.h", "%s/usr/include/tk-private/generic" % get.installDIR()) + + # Remove duplicated headers + pisitools.remove("/usr/include/tk-private/generic/tk.h") + pisitools.remove("/usr/include/tk-private/generic/tkDecls.h") + pisitools.remove("/usr/include/tk-private/generic/tkPlatDecls.h") + + # Remove tmp path from tclConfig.sh + pisitools.dosed("%s/usr/lib/tkConfig.sh" % get.installDIR(), "%s/unix" % get.curDIR(), "/usr/lib/") + pisitools.dosed("%s/usr/lib/tkConfig.sh" % get.installDIR(), get.curDIR(), "/usr/include/tk-private") + + pisitools.dosym("/usr/bin/wish8.6", "/usr/bin/wish") + + pisitools.dodoc("ChangeLog", "changes", "license.terms", "README") diff --git a/programming/language/tcl/tcltk/files/tclm4_soname.patch b/programming/language/tcl/tcltk/files/tclm4_soname.patch new file mode 100755 index 0000000000..f5f5127ce2 --- /dev/null +++ b/programming/language/tcl/tcltk/files/tclm4_soname.patch @@ -0,0 +1,27 @@ +diff -Nuar tk8.5.10.orig/unix/tcl.m4 tk8.5.10/unix/tcl.m4 +--- tk8.5.10.orig/unix/tcl.m4 2011-08-01 14:24:06.823000004 +0300 ++++ tk8.5.10/unix/tcl.m4 2011-08-01 14:43:01.760000005 +0300 +@@ -1399,12 +1399,12 @@ + # get rid of the warnings. + #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" + +- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' ++ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -Wl,-soname,${@}' + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" + AS_IF([test $doRpath = yes], [ +- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) ++ CC_SEARCH_FLAGS='']) + LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} + AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) + AS_IF([test $do64bit = yes], [ +@@ -1431,7 +1431,7 @@ + SHLIB_CFLAGS="-fPIC" + SHLIB_SUFFIX=".so" + +- SHLIB_LD='${CC} -shared' ++ SHLIB_LD='${CC} ${CFLAGS} -shared' + DL_OBJS="" + DL_LIBS="-ldl" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" diff --git a/programming/language/tcl/tcltk/files/tk-8.6.1-conf.patch b/programming/language/tcl/tcltk/files/tk-8.6.1-conf.patch new file mode 100755 index 0000000000..49a16d6ab4 --- /dev/null +++ b/programming/language/tcl/tcltk/files/tk-8.6.1-conf.patch @@ -0,0 +1,19 @@ +diff --git a/unix/tcl.m4 b/unix/tcl.m4 +index 194cf90..c470e36 100644 +--- a/unix/tcl.m4 ++++ b/unix/tcl.m4 +@@ -1415,12 +1415,12 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ + # get rid of the warnings. + #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" + +- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' ++ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -Wl,-soname,${@}' + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" + AS_IF([test $doRpath = yes], [ +- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) ++ CC_SEARCH_FLAGS='']) + LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} + AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) + AS_IF([test $do64bit = yes], [ \ No newline at end of file diff --git a/programming/language/tcl/tcltk/files/tk-8.6.1-fix-xft.patch b/programming/language/tcl/tcltk/files/tk-8.6.1-fix-xft.patch new file mode 100755 index 0000000000..b39be15db7 --- /dev/null +++ b/programming/language/tcl/tcltk/files/tk-8.6.1-fix-xft.patch @@ -0,0 +1,15 @@ +diff --git a/unix/configure.in b/unix/configure.in +index e7bf023..7d12f41 100755 +--- a/unix/configure.in ++++ b/unix/configure.in +@@ -485,8 +485,8 @@ if test $tk_aqua = no; then + XFT_LIBS=`xft-config --libs 2>/dev/null` || found_xft="no" + if test "$found_xft" = "no" ; then + found_xft=yes +- XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no" +- XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no" ++ XFT_CFLAGS=`pkg-config --cflags xft freetype2 2>/dev/null` || found_xft="no" ++ XFT_LIBS=`pkg-config --libs xft freetype2 2>/dev/null` || found_xft="no" + fi + AC_MSG_RESULT([$found_xft]) + dnl make sure that compiling against Xft header file doesn't bomb \ No newline at end of file diff --git a/programming/language/tcl/tcltk/files/tk-8.6.1-make.patch b/programming/language/tcl/tcltk/files/tk-8.6.1-make.patch new file mode 100755 index 0000000000..c4533d1d8f --- /dev/null +++ b/programming/language/tcl/tcltk/files/tk-8.6.1-make.patch @@ -0,0 +1,13 @@ +diff --git a/unix/Makefile.in b/unix/Makefile.in +index 3914940..a69df0e 100644 +--- a/unix/Makefile.in ++++ b/unix/Makefile.in +@@ -743,7 +743,7 @@ install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) ${WISH_EXE} + fi + @echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/" + @@INSTALL_LIB@ +- @chmod 555 "$(DLL_INSTALL_DIR)/$(LIB_FILE)" ++ @chmod 755 "$(DLL_INSTALL_DIR)/$(LIB_FILE)" + @if test -f "tk${MAJOR_VERSION}${MINOR_VERSION}.dll"; then \ + $(INSTALL_LIBRARY) "tk${MAJOR_VERSION}${MINOR_VERSION}.dll" "$(DLL_INSTALL_DIR)";\ + chmod 555 "$(DLL_INSTALL_DIR)/tk${MAJOR_VERSION}${MINOR_VERSION}.dll";\ \ No newline at end of file diff --git a/programming/language/tcl/tcltk/pspec.xml b/programming/language/tcl/tcltk/pspec.xml new file mode 100755 index 0000000000..053867529f --- /dev/null +++ b/programming/language/tcl/tcltk/pspec.xml @@ -0,0 +1,114 @@ + + + + + tcltk + http://www.tcl.tk + + PisiLinux Community + admins@pisilinux.org + + as-is + library + An X11 toolkit implemented with the Tcl scripting language + Tk is an X Windows widget set designed to work closely with the tcl scripting language. It allows you to write simple programs with full featured GUIs in only a little more time then it takes to write a text based interface. + mirrors://sourceforge/tcl/tk8.6.3-src.tar.gz + + tcl-devel + libX11-devel + libXft-devel + + fontconfig-devel + + + tk-8.6.1-conf.patch + tk-8.6.1-fix-xft.patch + tk-8.6.1-make.patch + + + + + tcltk + + tcl + libX11 + libXft + + fontconfig + + + /usr/bin + /usr/lib + /usr/lib/tk8.5 + /usr/share/doc + /usr/share/man + + + + + tcltk-devel + Development files for tcltk + + tcltk + + + /usr/include + /usr/lib/*.a + /usr/lib/tkConfig.sh + /usr/lib/pkgconfig + /usr/share/man/man3 + + + + + + 2014-12-14 + 8.6.3 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-09-30 + 8.6.2 + Version bump. + Kamil Atlı + suvari@pisilinux.org + + + 2014-05-17 + 8.6.1 + Version bump and add patch. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-03-09 + 8.6.0 + Rebuild + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-07-26 + 8.6.0 + Move pc files to devel pack, increase release no. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-01-26 + 8.6.0 + bump + Erdinç Gültekin + admins@pisilinux.org + + + 2012-09-15 + 8.5.12 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + \ No newline at end of file diff --git a/programming/language/tcl/tcltk/translations.xml b/programming/language/tcl/tcltk/translations.xml new file mode 100755 index 0000000000..02f0fa033a --- /dev/null +++ b/programming/language/tcl/tcltk/translations.xml @@ -0,0 +1,14 @@ + + + + tcltk + Tcl betik dili ile yazılmış X11 araç ve kitaplıkları + Tk est une boîte à outils X11 implémentée avec le langage de script Tcl. + Tk, tcl betik dili ile birlikte kullanılması için tasarlanmış bir X Windows araç setidir. Metin tabanlı arayüzlere oranla daha kısa sürede tam özellikli grafik arayüzlere sahip basit programlar yazmanızı sağlar. + + + + tcltk-devel + tcltk için geliştirme dosyaları + + diff --git a/x11/library/libXdamage/pspec.xml b/x11/library/libXdamage/pspec.xml index 6a64695fcb..f1ab6b95f9 100644 --- a/x11/library/libXdamage/pspec.xml +++ b/x11/library/libXdamage/pspec.xml @@ -23,6 +23,7 @@ libXdamage libXfixes + libX11 /usr/lib @@ -36,6 +37,7 @@ libXdamage libXfixes-devel + libX11-devel /usr/include/X11 @@ -50,9 +52,12 @@ 32-bit shared libraries for libXdamage emul32 - libXfixes + glibc-32bit + libX11-32bit + libXfixes-32bit + glibc-32bit libXdamage libXfixes-32bit libX11-32bit diff --git a/x11/library/libXft/actions.py b/x11/library/libXft/actions.py new file mode 100644 index 0000000000..7411064b11 --- /dev/null +++ b/x11/library/libXft/actions.py @@ -0,0 +1,20 @@ +# -*- 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.autoreconf("-vif") + autotools.configure("--disable-static") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "NEWS", "README") diff --git a/x11/library/libXft/files/freetype_header.patch b/x11/library/libXft/files/freetype_header.patch new file mode 100644 index 0000000000..eb702f21b4 --- /dev/null +++ b/x11/library/libXft/files/freetype_header.patch @@ -0,0 +1,29 @@ +From 4acfdaf95adb0a05c2a25550bdde036c865902f4 Mon Sep 17 00:00:00 2001 +From: Julien Cristau +Date: Mon, 02 Dec 2013 15:26:24 +0000 +Subject: Use FT_*_H macros instead of including + +freetype moved its headers around in 2.5.1. + +Signed-off-by: Julien Cristau +--- +diff --git a/src/xftglyphs.c b/src/xftglyphs.c +index 2f3dc5a..4b5fb82 100644 +--- a/src/xftglyphs.c ++++ b/src/xftglyphs.c +@@ -21,10 +21,10 @@ + */ + + #include "xftint.h" +-#include +-#include ++#include FT_OUTLINE_H ++#include FT_LCD_FILTER_H + +-#include ++#include FT_SYNTHESIS_H + + /* + * Validate the memory info for a font +-- +cgit v0.9.0.2-2-gbebe diff --git a/x11/library/libXft/pspec.xml b/x11/library/libXft/pspec.xml new file mode 100644 index 0000000000..734d9ad672 --- /dev/null +++ b/x11/library/libXft/pspec.xml @@ -0,0 +1,128 @@ + + + + + libXft + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + X.Org Xft library + libXft is the X FreeType interface library. + mirrors://xorg/individual/lib/libXft-2.3.2.tar.bz2 + + util-macros + freetype-devel + expat-devel + fontconfig-devel + libXrender-devel + + + + + libXft + + libX11 + freetype + fontconfig + libXrender + + + /usr/lib + /usr/share/doc + + + + + libXft-devel + Development files for libXft + + libXft + freetype-devel + fontconfig-devel + libXrender-devel + + + /usr/bin + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + + libXft-32bit + emul32 + 32-bit shared libraries for libXft + emul32 + + freetype-32bit + fontconfig-32bit + libXrender-32bit + zlib-32bit + libX11-32bit + glibc-32bit + + + libXft + freetype-32bit + fontconfig-32bit + libXrender-32bit + zlib-32bit + libX11-32bit + glibc-32bit + + + /usr/lib32 + + + + + + 2014-08-31 + 2.3.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 2.3.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-01 + 2.3.1 + Rebuild for freetype. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-10-07 + 2.3.1 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 2.3.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-22 + 2.3.1 + First release + Marcin Bojara + marcin@pisilinux.org + + + diff --git a/x11/library/libXft/translations.xml b/x11/library/libXft/translations.xml new file mode 100644 index 0000000000..7955c32e30 --- /dev/null +++ b/x11/library/libXft/translations.xml @@ -0,0 +1,19 @@ + + + + libXft + X.Org Xft kitaplığı + Librairie Xft de X.Org + X.Org Xft Bibliothek + + + + libXft-devel + libXft için geliştirme dosyaları + + + + libXft-32bit + libXft için 32-bit paylaşımlı kitaplıklar + + diff --git a/x11/library/libxkbcommon/pspec.xml b/x11/library/libxkbcommon/pspec.xml index 6fa3d452df..7a3e0c0d10 100755 --- a/x11/library/libxkbcommon/pspec.xml +++ b/x11/library/libxkbcommon/pspec.xml @@ -13,10 +13,17 @@ Library to convert evdev keycodes to keysyms Library to convert evdev keycodes to keysyms https://github.com/xkbcommon/libxkbcommon/archive/xkbcommon-0.5.0.tar.gz + + util-macros + libxcb-devel + libxkbcommon + + libxcb + /usr/share/doc/libxkbcommon/ /usr/lib/lib*.so* @@ -41,9 +48,14 @@ emul32 32-bit shared libraries for libxkbcommon emul32 + + libxcb-32bit + glibc-32bit + libxkbcommon libxcb-32bit + glibc-32bit /usr/lib32 diff --git a/x11/library/xcb-util/pspec.xml b/x11/library/xcb-util/pspec.xml index 5e6be8ddc7..305eb722f4 100644 --- a/x11/library/xcb-util/pspec.xml +++ b/x11/library/xcb-util/pspec.xml @@ -13,10 +13,17 @@ A number of libraries which sit on top of libxcb The xcb-util module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. http://xcb.freedesktop.org/dist/xcb-util-0.3.9.tar.bz2 + + util-macros + libxcb-devel + xcb-util + + libxcb + /usr/lib /usr/share/doc @@ -43,10 +50,12 @@ emul32 libxcb-32bit + glibc-32bit xcb-util libxcb-32bit + glibc-32bit /usr/lib32 From b2abfc4293d99e9f9c81b2e0beae2c88014a66fe Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 24 Jun 2015 23:47:54 +0200 Subject: [PATCH 041/152] change actions.py and remove kde5-suffix --- desktop/kde/framework/attica/actions.py | 14 +++++--- desktop/kde/framework/kapidox/actions.py | 14 +++++--- desktop/kde/framework/karchive/actions.py | 13 ++++--- desktop/kde/framework/kauth/actions.py | 16 ++++++--- desktop/kde/framework/kcodecs/actions.py | 16 ++++++--- desktop/kde/framework/kcompletion/pspec.xml | 2 +- desktop/kde/framework/kconfig/actions.py | 15 +++++--- .../kde/framework/kconfigwidgets/actions.py | 19 +++++----- .../kde/framework/kconfigwidgets/pspec.xml | 3 +- desktop/kde/framework/kcoreaddons/actions.py | 15 +++++--- desktop/kde/framework/kcrash/actions.py | 18 +++++++--- desktop/kde/framework/kcrash/pspec.xml | 8 ++--- desktop/kde/framework/kdbusaddons/actions.py | 14 +++++--- desktop/kde/framework/kde5-kded/pspec.xml | 31 +++++++++------- .../kde/framework/kde5-kguiaddons/actions.py | 19 ---------- desktop/kde/framework/kdoctools/actions.py | 13 ++++--- desktop/kde/framework/kdoctools/pspec.xml | 4 +-- .../1actions.py => kguiaddons/actions.py} | 4 +-- .../{kde5-kguiaddons => kguiaddons}/pspec.xml | 0 desktop/kde/framework/ki18n/actions.py | 16 ++++++--- desktop/kde/framework/kiconthemes/1actions.py | 27 -------------- desktop/kde/framework/kiconthemes/actions.py | 18 +++++++--- .../actions.py | 0 .../pspec.xml | 17 ++++++--- .../actions.py | 0 .../{kde5-kitemviews => kitemviews}/pspec.xml | 19 +++++++--- desktop/kde/framework/kpackage/actions.py | 16 ++++++--- desktop/kde/framework/kpackage/pspec.xml | 2 +- .../framework/{kde5-kpty => kpty}/actions.py | 0 .../framework/{kde5-kpty => kpty}/pspec.xml | 26 +++++++++----- .../{kde5-kservice => kservice}/actions.py | 0 .../{kde5-kservice => kservice}/pspec.xml | 36 ++++++++++--------- .../kde/framework/kwidgetsaddons/actions.py | 14 +++++--- .../kde/framework/kwindowsystem/actions.py | 14 +++++--- desktop/kde/framework/solid/actions.py | 15 +++++--- .../{kde5-sonnet => sonnet}/actions.py | 0 .../{kde5-sonnet => sonnet}/pspec.xml | 18 +++++++--- .../kde5-kdelibs4-support/pspec.xml | 6 ++-- 38 files changed, 281 insertions(+), 201 deletions(-) mode change 100644 => 100755 desktop/kde/framework/attica/actions.py mode change 100644 => 100755 desktop/kde/framework/kapidox/actions.py mode change 100644 => 100755 desktop/kde/framework/karchive/actions.py mode change 100644 => 100755 desktop/kde/framework/kauth/actions.py mode change 100644 => 100755 desktop/kde/framework/kcodecs/actions.py mode change 100644 => 100755 desktop/kde/framework/kconfig/actions.py mode change 100644 => 100755 desktop/kde/framework/kconfigwidgets/actions.py mode change 100644 => 100755 desktop/kde/framework/kcoreaddons/actions.py mode change 100644 => 100755 desktop/kde/framework/kcrash/actions.py mode change 100644 => 100755 desktop/kde/framework/kdbusaddons/actions.py delete mode 100644 desktop/kde/framework/kde5-kguiaddons/actions.py mode change 100644 => 100755 desktop/kde/framework/kdoctools/actions.py rename desktop/kde/framework/{solid/1actions.py => kguiaddons/actions.py} (76%) rename desktop/kde/framework/{kde5-kguiaddons => kguiaddons}/pspec.xml (100%) mode change 100644 => 100755 desktop/kde/framework/ki18n/actions.py delete mode 100755 desktop/kde/framework/kiconthemes/1actions.py mode change 100644 => 100755 desktop/kde/framework/kiconthemes/actions.py rename desktop/kde/framework/{kde5-kitemmodels => kitemmodels}/actions.py (100%) rename desktop/kde/framework/{kde5-kitemmodels => kitemmodels}/pspec.xml (75%) rename desktop/kde/framework/{kde5-kitemviews => kitemviews}/actions.py (100%) rename desktop/kde/framework/{kde5-kitemviews => kitemviews}/pspec.xml (75%) rename desktop/kde/framework/{kde5-kpty => kpty}/actions.py (100%) rename desktop/kde/framework/{kde5-kpty => kpty}/pspec.xml (72%) rename desktop/kde/framework/{kde5-kservice => kservice}/actions.py (100%) rename desktop/kde/framework/{kde5-kservice => kservice}/pspec.xml (70%) mode change 100644 => 100755 desktop/kde/framework/kwidgetsaddons/actions.py mode change 100644 => 100755 desktop/kde/framework/kwindowsystem/actions.py mode change 100644 => 100755 desktop/kde/framework/solid/actions.py rename desktop/kde/framework/{kde5-sonnet => sonnet}/actions.py (100%) rename desktop/kde/framework/{kde5-sonnet => sonnet}/pspec.xml (77%) diff --git a/desktop/kde/framework/attica/actions.py b/desktop/kde/framework/attica/actions.py old mode 100644 new mode 100755 index f137ac184a..6bca2ff70d --- a/desktop/kde/framework/attica/actions.py +++ b/desktop/kde/framework/attica/actions.py @@ -4,16 +4,20 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "COPYING", "AUTHORS", "ChangeLog") diff --git a/desktop/kde/framework/kapidox/actions.py b/desktop/kde/framework/kapidox/actions.py old mode 100644 new mode 100755 index 7ad3db044b..8b093667f5 --- a/desktop/kde/framework/kapidox/actions.py +++ b/desktop/kde/framework/kapidox/actions.py @@ -4,16 +4,20 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLOCALE_INSTALL_DIR=/usr/share/locale \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md") diff --git a/desktop/kde/framework/karchive/actions.py b/desktop/kde/framework/karchive/actions.py old mode 100644 new mode 100755 index 0cf899f127..f1da0a0e61 --- a/desktop/kde/framework/karchive/actions.py +++ b/desktop/kde/framework/karchive/actions.py @@ -4,16 +4,19 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DLIB_INSTALL_DIR=lib \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "COPYING", "COPYING.LIB", "AUTHORS") diff --git a/desktop/kde/framework/kauth/actions.py b/desktop/kde/framework/kauth/actions.py old mode 100644 new mode 100755 index 11b2858877..8fc39e8aaa --- a/desktop/kde/framework/kauth/actions.py +++ b/desktop/kde/framework/kauth/actions.py @@ -4,16 +4,22 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DLIB_INSTALL_DIR=lib \ + -DLIBEXEC_INSTALL_DIR=lib \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kcodecs/actions.py b/desktop/kde/framework/kcodecs/actions.py old mode 100644 new mode 100755 index 2224377fc7..31d089f3f0 --- a/desktop/kde/framework/kcodecs/actions.py +++ b/desktop/kde/framework/kcodecs/actions.py @@ -4,16 +4,22 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DLIB_INSTALL_DIR=lib \ + -DQML_INSTALL_DIR=lib/qt5/qml \ + -DLOCALE_INSTALL_DIR=/usr/share/locale \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "COPYING", "COPYING.LIB") diff --git a/desktop/kde/framework/kcompletion/pspec.xml b/desktop/kde/framework/kcompletion/pspec.xml index ffc3edee0a..dfd515e182 100644 --- a/desktop/kde/framework/kcompletion/pspec.xml +++ b/desktop/kde/framework/kcompletion/pspec.xml @@ -25,7 +25,7 @@ kcompletion qt5-base - kde5-kconfig + kconfig kwidgetsaddons diff --git a/desktop/kde/framework/kconfig/actions.py b/desktop/kde/framework/kconfig/actions.py old mode 100644 new mode 100755 index 3685049507..8307c96119 --- a/desktop/kde/framework/kconfig/actions.py +++ b/desktop/kde/framework/kconfig/actions.py @@ -4,16 +4,21 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DLIB_INSTALL_DIR=lib \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "COPYING.LIB", "DESIGN", "TODO") diff --git a/desktop/kde/framework/kconfigwidgets/actions.py b/desktop/kde/framework/kconfigwidgets/actions.py old mode 100644 new mode 100755 index 178bcb1c32..b4c095499e --- a/desktop/kde/framework/kconfigwidgets/actions.py +++ b/desktop/kde/framework/kconfigwidgets/actions.py @@ -4,20 +4,21 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools -from pisi.actionsapi import shelltools -from pisi.actionsapi import get - +from pisi.actionsapi import cmaketools def setup(): - #shelltools.export("XDG_DATA_DIRS", get.workDIR()) - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "COPYING.LIB", "COPYING") diff --git a/desktop/kde/framework/kconfigwidgets/pspec.xml b/desktop/kde/framework/kconfigwidgets/pspec.xml index 44b31c4420..ba2881537a 100755 --- a/desktop/kde/framework/kconfigwidgets/pspec.xml +++ b/desktop/kde/framework/kconfigwidgets/pspec.xml @@ -18,7 +18,7 @@ qt5-base-devel python3 - kde5-ki18n-devel + ki18n-devel kdoctools-devel extra-cmake-modules @@ -30,6 +30,7 @@ qt5-base kauth kcodecs + kdoctools kconfig kcoreaddons kguiaddons diff --git a/desktop/kde/framework/kcoreaddons/actions.py b/desktop/kde/framework/kcoreaddons/actions.py old mode 100644 new mode 100755 index 11b2858877..3ee8408ad5 --- a/desktop/kde/framework/kcoreaddons/actions.py +++ b/desktop/kde/framework/kcoreaddons/actions.py @@ -4,16 +4,21 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DLIB_INSTALL_DIR=lib \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -D_KDE4_DEFAULT_HOME_POSTFIX=4 \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kcrash/actions.py b/desktop/kde/framework/kcrash/actions.py old mode 100644 new mode 100755 index 11b2858877..b2f086d2f1 --- a/desktop/kde/framework/kcrash/actions.py +++ b/desktop/kde/framework/kcrash/actions.py @@ -4,16 +4,24 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DQML_INSTALL_DIR=lib/qt5/qml \ + -DLIB_INSTALL_DIR=lib \ + -DLIBEXEC_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DLOCALE_INSTALL_DIR=/usr/share/locale \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kcrash/pspec.xml b/desktop/kde/framework/kcrash/pspec.xml index 91ab2a8955..cc70db7b58 100755 --- a/desktop/kde/framework/kcrash/pspec.xml +++ b/desktop/kde/framework/kcrash/pspec.xml @@ -29,8 +29,8 @@ libX11 libgcc qt5-x11extras - kde5-kcoreaddons - kde5-kwindowsystem + kcoreaddons + kwindowsystem /usr/share @@ -48,8 +48,8 @@ qt5-base-devel qt5-x11extras-devel kcrash - kde5-kcoreaddons-devel - kde5-kwindowsystem-devel + kcoreaddons-devel + kwindowsystem-devel /usr/include diff --git a/desktop/kde/framework/kdbusaddons/actions.py b/desktop/kde/framework/kdbusaddons/actions.py old mode 100644 new mode 100755 index 3ab437b852..579b7ea6ee --- a/desktop/kde/framework/kdbusaddons/actions.py +++ b/desktop/kde/framework/kdbusaddons/actions.py @@ -4,16 +4,20 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLOCALE_INSTALL_DIR=/usr/share/locale \ + -DLIB_INSTALL_DIR=lib \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "MAINTAINER", "COPYING.LIB") diff --git a/desktop/kde/framework/kde5-kded/pspec.xml b/desktop/kde/framework/kde5-kded/pspec.xml index 5b0214eb64..917b1d3a5a 100755 --- a/desktop/kde/framework/kde5-kded/pspec.xml +++ b/desktop/kde/framework/kde5-kded/pspec.xml @@ -2,7 +2,7 @@ - kde5-kded + kded http://www.kde.org Pisi Linux Admins @@ -13,23 +13,23 @@ app:console KDE5 daemon Kded runs in the background and performs a number of small tasks. - http://download.kde.org/stable/frameworks/5.10/kded-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kded-5.11.0.tar.xz qt5-base-devel - kde5-kdoctools-devel + kdoctools-devel extra-cmake-modules - kde5-kded + kded qt5-base - kde5-kcoreaddons - kde5-kconfig - kde5-kcrash - kde5-kdbusaddons - kde5-kservice + kcoreaddons + kconfig + kcrash + kdbusaddons + kservice /usr/share @@ -41,11 +41,11 @@ - kde5-kded-devel - Development files for kde5-kded + kded-devel + Development files for kded qt5-base-devel - kde5-kded + kded /usr/lib/cmake @@ -54,6 +54,13 @@ + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-06-06 5.10.0 diff --git a/desktop/kde/framework/kde5-kguiaddons/actions.py b/desktop/kde/framework/kde5-kguiaddons/actions.py deleted file mode 100644 index a0965a34a3..0000000000 --- a/desktop/kde/framework/kde5-kguiaddons/actions.py +++ /dev/null @@ -1,19 +0,0 @@ -#!/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 kde5 -from pisi.actionsapi import pisitools - -def setup(): - kde5.configure() - -def build(): - kde5.make() - -def install(): - kde5.install() - - pisitools.dodoc("README.md", "COPYING.LIB", "COPYING") diff --git a/desktop/kde/framework/kdoctools/actions.py b/desktop/kde/framework/kdoctools/actions.py old mode 100644 new mode 100755 index 238456d212..49de0c6163 --- a/desktop/kde/framework/kdoctools/actions.py +++ b/desktop/kde/framework/kdoctools/actions.py @@ -4,16 +4,19 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "COPYING.LIB", "LICENSE", "TODO") diff --git a/desktop/kde/framework/kdoctools/pspec.xml b/desktop/kde/framework/kdoctools/pspec.xml index 0648d58583..0680f457ab 100755 --- a/desktop/kde/framework/kdoctools/pspec.xml +++ b/desktop/kde/framework/kdoctools/pspec.xml @@ -28,12 +28,12 @@ extra-cmake-modules - + - kde5-kdoctools + kdoctools qt5-base libxml2 diff --git a/desktop/kde/framework/solid/1actions.py b/desktop/kde/framework/kguiaddons/actions.py similarity index 76% rename from desktop/kde/framework/solid/1actions.py rename to desktop/kde/framework/kguiaddons/actions.py index 5dc89c38d1..d4321b3b1a 100755 --- a/desktop/kde/framework/solid/1actions.py +++ b/desktop/kde/framework/kguiaddons/actions.py @@ -10,8 +10,6 @@ from pisi.actionsapi import cmaketools def setup(): cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DQML_INSTALL_DIR=lib/qt5/qml \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ -DLIB_INSTALL_DIR=lib \ -DBUILD_TESTING=OFF") @@ -21,4 +19,4 @@ def build(): def install(): cmaketools.install() - pisitools.dodoc("README.md","COPYING.LIB", "TODO") + pisitools.dodoc("README.md", "COPYING.LIB", "COPYING") diff --git a/desktop/kde/framework/kde5-kguiaddons/pspec.xml b/desktop/kde/framework/kguiaddons/pspec.xml similarity index 100% rename from desktop/kde/framework/kde5-kguiaddons/pspec.xml rename to desktop/kde/framework/kguiaddons/pspec.xml diff --git a/desktop/kde/framework/ki18n/actions.py b/desktop/kde/framework/ki18n/actions.py old mode 100644 new mode 100755 index 3e60979ae6..94169eca50 --- a/desktop/kde/framework/ki18n/actions.py +++ b/desktop/kde/framework/ki18n/actions.py @@ -4,16 +4,22 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DLIB_INSTALL_DIR=lib \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLOCALE_INSTALL_DIR=/usr/share/locale \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "COPYING.LIB", "COPYING-CMAKE-SCRIPTS") diff --git a/desktop/kde/framework/kiconthemes/1actions.py b/desktop/kde/framework/kiconthemes/1actions.py deleted file mode 100755 index 648143a2e1..0000000000 --- a/desktop/kde/framework/kiconthemes/1actions.py +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -# -# Licensed under the GNU General Public License, version 3. -# See the file http://www.gnu.org/licenses/gpl.txt - -from pisi.actionsapi import pisitools -from pisi.actionsapi import cmaketools - -def setup(): - cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ - -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ - -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ - -DQML_INSTALL_DIR=lib/qt5/qml \ - -DLIB_INSTALL_DIR=lib \ - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ - -DPYTHON_EXECUTABLE=/usr/bin/python3 \ - -DLOCALE_INSTALL_DIR=/usr/share/locale \ - -DBUILD_TESTING=OFF") - -def build(): - cmaketools.make() - -def install(): - cmaketools.install() - - pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kiconthemes/actions.py b/desktop/kde/framework/kiconthemes/actions.py old mode 100644 new mode 100755 index 11b2858877..648143a2e1 --- a/desktop/kde/framework/kiconthemes/actions.py +++ b/desktop/kde/framework/kiconthemes/actions.py @@ -4,16 +4,24 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DQML_INSTALL_DIR=lib/qt5/qml \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DLOCALE_INSTALL_DIR=/usr/share/locale \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kde5-kitemmodels/actions.py b/desktop/kde/framework/kitemmodels/actions.py similarity index 100% rename from desktop/kde/framework/kde5-kitemmodels/actions.py rename to desktop/kde/framework/kitemmodels/actions.py diff --git a/desktop/kde/framework/kde5-kitemmodels/pspec.xml b/desktop/kde/framework/kitemmodels/pspec.xml similarity index 75% rename from desktop/kde/framework/kde5-kitemmodels/pspec.xml rename to desktop/kde/framework/kitemmodels/pspec.xml index 28da8ce4c9..8db476613a 100644 --- a/desktop/kde/framework/kde5-kitemmodels/pspec.xml +++ b/desktop/kde/framework/kitemmodels/pspec.xml @@ -2,7 +2,7 @@ - kde5-kitemmodels + kitemmodels http://www.kde.org Pisi Linux Admins @@ -12,7 +12,7 @@ library Set of item models extending the Qt model-view framework KItemModels provides a set of item models extending the Qt model-view framework. - http://download.kde.org/stable/frameworks/5.10/kitemmodels-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kitemmodels-5.11.0.tar.xz qt5-base-devel extra-cmake-modules @@ -20,7 +20,7 @@ - kde5-kitemmodels + kitemmodels qt5-base @@ -34,11 +34,11 @@ - kde5-kitemmodels-devel + kitemmodels-devel Development files for kitemmodels qt5-base-devel - kde5-kitemmodels + kitemmodels /usr/include @@ -48,6 +48,13 @@ + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 diff --git a/desktop/kde/framework/kde5-kitemviews/actions.py b/desktop/kde/framework/kitemviews/actions.py similarity index 100% rename from desktop/kde/framework/kde5-kitemviews/actions.py rename to desktop/kde/framework/kitemviews/actions.py diff --git a/desktop/kde/framework/kde5-kitemviews/pspec.xml b/desktop/kde/framework/kitemviews/pspec.xml similarity index 75% rename from desktop/kde/framework/kde5-kitemviews/pspec.xml rename to desktop/kde/framework/kitemviews/pspec.xml index 5d768aceb4..386648eca7 100755 --- a/desktop/kde/framework/kde5-kitemviews/pspec.xml +++ b/desktop/kde/framework/kitemviews/pspec.xml @@ -2,7 +2,7 @@ - kde5-kitemviews + kitemviews http://www.kde.org Pisi Linux Admins @@ -13,18 +13,20 @@ app:console Set of item models extending the Qt model-view framework KItemViews includes a set of views, which can be used with item models. It includes views for categorizing lists and to add search filters to flat and hierarchical lists. - http://download.kde.org/stable/frameworks/5.10/kitemviews-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kitemviews-5.11.0.tar.xz qt5-base-devel + libgcc qt5-tools-devel extra-cmake-modules - kde5-kitemviews + kitemviews qt5-base + libgcc /usr/share @@ -36,11 +38,11 @@ - kde5-kitemviews-devel + kitemviews-devel Development files for kitemviews qt5-base-devel - kde5-kitemviews + kitemviews /usr/include @@ -50,6 +52,13 @@ + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 diff --git a/desktop/kde/framework/kpackage/actions.py b/desktop/kde/framework/kpackage/actions.py index c9b765dc60..eb0cad697c 100644 --- a/desktop/kde/framework/kpackage/actions.py +++ b/desktop/kde/framework/kpackage/actions.py @@ -4,16 +4,24 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 +from pisi.actionsapi import shelltools +from pisi.actionsapi import cmaketools from pisi.actionsapi import pisitools +from pisi.actionsapi import get def setup(): - kde5.configure() + #shelltools.cd("kpackage") + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() + cmaketools.rawInstall("DESTDIR=%s" % get.installDIR()) pisitools.dodoc("COPYING", "COPYING.LIB", "README.md") diff --git a/desktop/kde/framework/kpackage/pspec.xml b/desktop/kde/framework/kpackage/pspec.xml index 13dbee6969..d7c33dbc18 100644 --- a/desktop/kde/framework/kpackage/pspec.xml +++ b/desktop/kde/framework/kpackage/pspec.xml @@ -19,7 +19,7 @@ libgcc qt5-tools-devel extra-cmake-modules - kde5-kdoctools-devel + kdoctools-devel diff --git a/desktop/kde/framework/kde5-kpty/actions.py b/desktop/kde/framework/kpty/actions.py similarity index 100% rename from desktop/kde/framework/kde5-kpty/actions.py rename to desktop/kde/framework/kpty/actions.py diff --git a/desktop/kde/framework/kde5-kpty/pspec.xml b/desktop/kde/framework/kpty/pspec.xml similarity index 72% rename from desktop/kde/framework/kde5-kpty/pspec.xml rename to desktop/kde/framework/kpty/pspec.xml index fab49435a4..6f9f7170b5 100644 --- a/desktop/kde/framework/kde5-kpty/pspec.xml +++ b/desktop/kde/framework/kpty/pspec.xml @@ -2,7 +2,7 @@ - kde5-kpty + kpty http://www.kde.org Pisi Linux Admins @@ -12,7 +12,7 @@ library Libraries for pseudo terminal devices Kpty provides primitives to interface with pseudo terminal devices as well as a KProcess derived class for running child processes and communicating with them using kpty. - http://download.kde.org/stable/frameworks/5.10/kpty-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kpty-5.11.0.tar.xz qt5-base-devel python3 @@ -21,12 +21,13 @@ - kde5-kpty + kpty qt5-base utempter - kde5-kcoreaddons - kde5-ki18n + libgcc + kcoreaddons + ki18n /usr/share @@ -38,14 +39,14 @@ - kde5-kpty-devel + kpty-devel Development files for kpty qt5-base-devel utempter-devel - kde5-kcoreaddons-devel - kde5-ki18n-devel - kde5-kpty + kcoreaddons-devel + ki18n-devel + kpty /usr/include @@ -55,6 +56,13 @@ + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 diff --git a/desktop/kde/framework/kde5-kservice/actions.py b/desktop/kde/framework/kservice/actions.py similarity index 100% rename from desktop/kde/framework/kde5-kservice/actions.py rename to desktop/kde/framework/kservice/actions.py diff --git a/desktop/kde/framework/kde5-kservice/pspec.xml b/desktop/kde/framework/kservice/pspec.xml similarity index 70% rename from desktop/kde/framework/kde5-kservice/pspec.xml rename to desktop/kde/framework/kservice/pspec.xml index f7572f865b..e133a9763d 100755 --- a/desktop/kde/framework/kde5-kservice/pspec.xml +++ b/desktop/kde/framework/kservice/pspec.xml @@ -2,7 +2,7 @@ - kde5-kservice + kservice http://www.kde.org Pisi Linux Admins @@ -13,24 +13,25 @@ app:console KDE5 Desktop Services Kservice Provides a plugin framework for handling desktop services. Services can be applications or libraries. They can be bound to MIME types or handled by application specific code. - http://download.kde.org/stable/frameworks/5.10/kservice-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kservice-5.11.0.tar.xz qt5-base-devel python3 - kde5-kdoctools-devel + kdoctools-devel extra-cmake-modules - kde5-kservice + kservice - qt5-base - kde5-kconfig - kde5-kcoreaddons - kde5-kcrash - kde5-kdbusaddons - kde5-ki18n + qt5-base + libgcc + kconfig + kcoreaddons + kcrash + kdbusaddons + ki18n /etc @@ -45,16 +46,12 @@ - kde5-kservice-devel + kservice-devel Development files for kservice qt5-base-devel boost-devel - kde5-kservice - kde5-kconfig-devel - kde5-kcoreaddons-devel - kde5-kdbusaddons-devel - kde5-ki18n-devel + kservice /usr/include @@ -64,6 +61,13 @@ + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 diff --git a/desktop/kde/framework/kwidgetsaddons/actions.py b/desktop/kde/framework/kwidgetsaddons/actions.py old mode 100644 new mode 100755 index 03367afb1e..b3339025b6 --- a/desktop/kde/framework/kwidgetsaddons/actions.py +++ b/desktop/kde/framework/kwidgetsaddons/actions.py @@ -4,16 +4,20 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md","COPYING.LIB", "COPYING") diff --git a/desktop/kde/framework/kwindowsystem/actions.py b/desktop/kde/framework/kwindowsystem/actions.py old mode 100644 new mode 100755 index 9f0ecb1249..25e5a4e58b --- a/desktop/kde/framework/kwindowsystem/actions.py +++ b/desktop/kde/framework/kwindowsystem/actions.py @@ -4,16 +4,20 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md","COPYING.LIB") diff --git a/desktop/kde/framework/solid/actions.py b/desktop/kde/framework/solid/actions.py old mode 100644 new mode 100755 index b3f757179c..5dc89c38d1 --- a/desktop/kde/framework/solid/actions.py +++ b/desktop/kde/framework/solid/actions.py @@ -4,16 +4,21 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQML_INSTALL_DIR=lib/qt5/qml \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DLIB_INSTALL_DIR=lib \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md","COPYING.LIB", "TODO") diff --git a/desktop/kde/framework/kde5-sonnet/actions.py b/desktop/kde/framework/sonnet/actions.py similarity index 100% rename from desktop/kde/framework/kde5-sonnet/actions.py rename to desktop/kde/framework/sonnet/actions.py diff --git a/desktop/kde/framework/kde5-sonnet/pspec.xml b/desktop/kde/framework/sonnet/pspec.xml similarity index 77% rename from desktop/kde/framework/kde5-sonnet/pspec.xml rename to desktop/kde/framework/sonnet/pspec.xml index 277be35eda..cc4e435f61 100644 --- a/desktop/kde/framework/kde5-sonnet/pspec.xml +++ b/desktop/kde/framework/sonnet/pspec.xml @@ -2,7 +2,7 @@ - kde5-sonnet + sonnet http://www.kde.org Pisi Linux Admins @@ -13,7 +13,7 @@ app:console KDE spell schecking library This framework contains two main components: Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces. The kwalletd used to safely store the passwords on KDE work spaces. - http://download.kde.org/stable/frameworks/5.10/sonnet-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/sonnet-5.11.0.tar.xz qt5-base-devel qt5-tools-devel @@ -22,9 +22,10 @@ - kde5-sonnet + sonnet qt5-base + libgcc aspell hunspell @@ -39,11 +40,11 @@ - kde5-sonnet-devel + sonnet-devel Development files for sonnet qt5-base-devel - kde5-sonnet + sonnet /usr/include @@ -53,6 +54,13 @@ + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 diff --git a/desktop/kde/porting-aids/kde5-kdelibs4-support/pspec.xml b/desktop/kde/porting-aids/kde5-kdelibs4-support/pspec.xml index ed5b9866a1..ce58a466b9 100755 --- a/desktop/kde/porting-aids/kde5-kdelibs4-support/pspec.xml +++ b/desktop/kde/porting-aids/kde5-kdelibs4-support/pspec.xml @@ -22,9 +22,9 @@ docbook-xml openssl-devel intltool - kde5-kdoctools-devel - NetworkManager-devel - extra-cmake-modules + kdoctools-devel + NetworkManager-devel + extra-cmake-modules From c8cd1a1980ce31f6672c101c52bd0e1f6104327c Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 25 Jun 2015 21:02:42 +0200 Subject: [PATCH 042/152] kcompletion version bump and check --- desktop/kde/framework/kcompletion/actions.py | 15 ++++++++++----- desktop/kde/framework/kcompletion/pspec.xml | 3 ++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/desktop/kde/framework/kcompletion/actions.py b/desktop/kde/framework/kcompletion/actions.py index 11b2858877..58699d30b0 100644 --- a/desktop/kde/framework/kcompletion/actions.py +++ b/desktop/kde/framework/kcompletion/actions.py @@ -4,16 +4,21 @@ # Licensed under the GNU General Public License, version 3. # See the file http://www.gnu.org/licenses/gpl.txt -from pisi.actionsapi import kde5 from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools def setup(): - kde5.configure() + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") def build(): - kde5.make() + cmaketools.make() def install(): - kde5.install() - + cmaketools.install() + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kcompletion/pspec.xml b/desktop/kde/framework/kcompletion/pspec.xml index dfd515e182..1632605e30 100644 --- a/desktop/kde/framework/kcompletion/pspec.xml +++ b/desktop/kde/framework/kcompletion/pspec.xml @@ -24,7 +24,8 @@ kcompletion - qt5-base + qt5-base + libgcc kconfig kwidgetsaddons From 82dbe7043e6e8de984183de53b1c97616c136df4 Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 25 Jun 2015 21:08:54 +0200 Subject: [PATCH 043/152] ktextwidgets version bump and check --- desktop/kde/framework/ktextwidgets/actions.py | 25 ++++++ desktop/kde/framework/ktextwidgets/pspec.xml | 79 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100755 desktop/kde/framework/ktextwidgets/actions.py create mode 100755 desktop/kde/framework/ktextwidgets/pspec.xml diff --git a/desktop/kde/framework/ktextwidgets/actions.py b/desktop/kde/framework/ktextwidgets/actions.py new file mode 100755 index 0000000000..c14cef5133 --- /dev/null +++ b/desktop/kde/framework/ktextwidgets/actions.py @@ -0,0 +1,25 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/ktextwidgets/pspec.xml b/desktop/kde/framework/ktextwidgets/pspec.xml new file mode 100755 index 0000000000..3a08cba09b --- /dev/null +++ b/desktop/kde/framework/ktextwidgets/pspec.xml @@ -0,0 +1,79 @@ + + + + + ktextwidgets + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 text editing widgets + KTextWidgets provides widgets for displaying and editing text. It supports rich text as well as plain text. + http://download.kde.org/stable/frameworks/5.11/ktextwidgets-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + + + + ktextwidgets + + qt5-base + libgcc + kconfig + kcompletion + kconfigwidgets + kiconthemes + kwidgetsaddons + ki18n + sonnet + kservice + kcoreaddons + kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + ktextwidgets-devel + Development files for ktextwidgets + + qt5-base-devel + ktextwidgets + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 9ba21070aa7e511d9b7131eb82b5cd31ea23a530 Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 25 Jun 2015 21:25:52 +0200 Subject: [PATCH 044/152] kglobalaccel version bump and check --- desktop/kde/framework/kglobalaccel/actions.py | 24 ++++++ desktop/kde/framework/kglobalaccel/pspec.xml | 78 +++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100755 desktop/kde/framework/kglobalaccel/actions.py create mode 100755 desktop/kde/framework/kglobalaccel/pspec.xml diff --git a/desktop/kde/framework/kglobalaccel/actions.py b/desktop/kde/framework/kglobalaccel/actions.py new file mode 100755 index 0000000000..e2f17d2484 --- /dev/null +++ b/desktop/kde/framework/kglobalaccel/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kglobalaccel/pspec.xml b/desktop/kde/framework/kglobalaccel/pspec.xml new file mode 100755 index 0000000000..977f997ed6 --- /dev/null +++ b/desktop/kde/framework/kglobalaccel/pspec.xml @@ -0,0 +1,78 @@ + + + + + kglobalaccel + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + Global desktop keyboard shortcuts + KGlobalAccel allows you to have global accelerators that are independent of the focused window. + http://download.kde.org/stable/frameworks/5.11/kglobalaccel-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + python3 + extra-cmake-modules + + + + + kglobalaccel + + qt5-base + libgcc + libxcb + ki18n + kcrash + kconfig + qt5-x11extras + kcoreaddons + kdbusaddons + xcb-util-keysyms + kwindowsystem + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kglobalaccel-devel + Development files for kglobalaccel + + kglobalaccel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 0267087115619807bf6464ace54b97f03636dd6b Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 25 Jun 2015 21:27:53 +0200 Subject: [PATCH 045/152] karchive add missing dependency --- desktop/kde/framework/karchive/pspec.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/desktop/kde/framework/karchive/pspec.xml b/desktop/kde/framework/karchive/pspec.xml index dad764ead4..5a5f6968b5 100755 --- a/desktop/kde/framework/karchive/pspec.xml +++ b/desktop/kde/framework/karchive/pspec.xml @@ -25,7 +25,10 @@ karchive - qt5-base + qt5-base + xz + zlib + bzip2 /usr/share From 5f6c0c3c496d4ed1fac16f82450e81d9be4528e9 Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 25 Jun 2015 21:29:36 +0200 Subject: [PATCH 046/152] attica add missing dependency --- desktop/kde/framework/attica/pspec.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/desktop/kde/framework/attica/pspec.xml b/desktop/kde/framework/attica/pspec.xml index 77fd8d1200..fb0360460c 100755 --- a/desktop/kde/framework/attica/pspec.xml +++ b/desktop/kde/framework/attica/pspec.xml @@ -23,6 +23,7 @@ attica qt5-base + libgcc /usr/share From 3b0d92b4515753fac863acf4d181bfbe1f1a171a Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 25 Jun 2015 21:38:14 +0200 Subject: [PATCH 047/152] kdesu version bump and check --- desktop/kde/framework/kdesu/actions.py | 26 +++++++++ desktop/kde/framework/kdesu/pspec.xml | 74 ++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100755 desktop/kde/framework/kdesu/actions.py create mode 100755 desktop/kde/framework/kdesu/pspec.xml diff --git a/desktop/kde/framework/kdesu/actions.py b/desktop/kde/framework/kdesu/actions.py new file mode 100755 index 0000000000..54fd6cb280 --- /dev/null +++ b/desktop/kde/framework/kdesu/actions.py @@ -0,0 +1,26 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DLIBEXEC_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DLIB_INSTALL_DIR=lib \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kdesu/pspec.xml b/desktop/kde/framework/kdesu/pspec.xml new file mode 100755 index 0000000000..06df060c95 --- /dev/null +++ b/desktop/kde/framework/kdesu/pspec.xml @@ -0,0 +1,74 @@ + + + + + kdesu + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + User interface for running shell commands with root privileges + kdesu provides functionality for building GUI front ends for (password asking) console mode programs. + http://download.kde.org/stable/frameworks/5.11/kdesu-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + + + + kdesu + + qt5-base + kcoreaddons + kpty + kservice + ki18n + kconfig + libgcc + libX11 + + + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kdesu-devel + Development files for kdesu + + qt5-base-devel + kdesu + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From f89e4105a91274615d4996517099672908e7323b Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 25 Jun 2015 21:50:14 +0200 Subject: [PATCH 048/152] kxmlgui version bump and check --- desktop/kde/framework/kxmlgui/actions.py | 25 ++++++++ desktop/kde/framework/kxmlgui/pspec.xml | 80 ++++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100755 desktop/kde/framework/kxmlgui/actions.py create mode 100755 desktop/kde/framework/kxmlgui/pspec.xml diff --git a/desktop/kde/framework/kxmlgui/actions.py b/desktop/kde/framework/kxmlgui/actions.py new file mode 100755 index 0000000000..e8aac792cd --- /dev/null +++ b/desktop/kde/framework/kxmlgui/actions.py @@ -0,0 +1,25 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DLIBEXEC_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING", "COPYING.LIB", "TODO.xmlgui") diff --git a/desktop/kde/framework/kxmlgui/pspec.xml b/desktop/kde/framework/kxmlgui/pspec.xml new file mode 100755 index 0000000000..94653fc3f8 --- /dev/null +++ b/desktop/kde/framework/kxmlgui/pspec.xml @@ -0,0 +1,80 @@ + + + + + kxmlgui + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + Framework for managing menu and toolbar actions + Kxmlgui provides a framework for managing menu and toolbar actions in an abstract way. + http://download.kde.org/stable/frameworks/5.11/kxmlgui-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + + + + kxmlgui + + qt5-base + libgcc + attica + kcoreaddons + kconfig + kconfigwidgets + kglobalaccel + ki18n + kiconthemes + kitemviews + ktextwidgets + kwidgetsaddons + kwindowsystem + + + /etc + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kxmlgui-devel + Development files for kxmlgui + + qt5-base-devel + kxmlgui + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 090f77832b47925f925928bcb4fa5274d290e591 Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 25 Jun 2015 21:57:03 +0200 Subject: [PATCH 049/152] kbookmarks version bump and check --- desktop/kde/framework/kbookmarks/actions.py | 24 +++++++ desktop/kde/framework/kbookmarks/pspec.xml | 76 +++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100755 desktop/kde/framework/kbookmarks/actions.py create mode 100755 desktop/kde/framework/kbookmarks/pspec.xml diff --git a/desktop/kde/framework/kbookmarks/actions.py b/desktop/kde/framework/kbookmarks/actions.py new file mode 100755 index 0000000000..e2f17d2484 --- /dev/null +++ b/desktop/kde/framework/kbookmarks/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kbookmarks/pspec.xml b/desktop/kde/framework/kbookmarks/pspec.xml new file mode 100755 index 0000000000..05a8941eea --- /dev/null +++ b/desktop/kde/framework/kbookmarks/pspec.xml @@ -0,0 +1,76 @@ + + + + + kbookmarks + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + Access and manipulate bookmarks stored using XBEL format + Framework which lets you access and manipulate bookmarks stored using XBEL format + http://download.kde.org/stable/frameworks/5.11/kbookmarks-5.11.0.tar.xz + + qt5-base-devel + python3 + qt5-tools-devel + extra-cmake-modules + + + + + kbookmarks + + qt5-base + libgcc + kcoreaddons + kcodecs + kconfig + kiconthemes + kwidgetsaddons + kxmlgui + + + /etc + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kbookmarks-devel + Development files for kbookmarks + + qt5-base-devel + kbookmarks + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 9ca5cf7990bf9a9e0cbe2df434335dc1d61280f0 Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 25 Jun 2015 22:13:08 +0200 Subject: [PATCH 050/152] knotifications version bump and check --- .../kde/framework/knotifications/actions.py | 24 ++++++ .../kde/framework/knotifications/pspec.xml | 80 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100755 desktop/kde/framework/knotifications/actions.py create mode 100755 desktop/kde/framework/knotifications/pspec.xml diff --git a/desktop/kde/framework/knotifications/actions.py b/desktop/kde/framework/knotifications/actions.py new file mode 100755 index 0000000000..309e61a6e8 --- /dev/null +++ b/desktop/kde/framework/knotifications/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB", "COPYING-CMAKE-SCRIPTS") diff --git a/desktop/kde/framework/knotifications/pspec.xml b/desktop/kde/framework/knotifications/pspec.xml new file mode 100755 index 0000000000..f420a9bc2a --- /dev/null +++ b/desktop/kde/framework/knotifications/pspec.xml @@ -0,0 +1,80 @@ + + + + + knotifications + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + KDE5 Desktop notifications + KNotification is used to notify the user of an event. It covers feedback and persistent events. + http://download.kde.org/stable/frameworks/5.11/knotifications-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + python3 + extra-cmake-modules + + + + + knotifications + + qt5-base + qt5-phonon + qt5-libdbusmenu + libgcc + libX11 + libXtst + qt5-x11extras + kconfig + kcodecs + kcoreaddons + kiconthemes + kservice + kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + knotifications-devel + Development files for knotifications + + qt5-base-devel + knotifications + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 5c987052de8ce8df71df5c04fcaaedf50d345705 Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 25 Jun 2015 22:31:25 +0200 Subject: [PATCH 051/152] kjobwidgets version bump and check --- desktop/kde/framework/kjobwidgets/actions.py | 23 +++++++ desktop/kde/framework/kjobwidgets/pspec.xml | 72 ++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100755 desktop/kde/framework/kjobwidgets/actions.py create mode 100755 desktop/kde/framework/kjobwidgets/pspec.xml diff --git a/desktop/kde/framework/kjobwidgets/actions.py b/desktop/kde/framework/kjobwidgets/actions.py new file mode 100755 index 0000000000..3c58786542 --- /dev/null +++ b/desktop/kde/framework/kjobwidgets/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kjobwidgets/pspec.xml b/desktop/kde/framework/kjobwidgets/pspec.xml new file mode 100755 index 0000000000..997747777c --- /dev/null +++ b/desktop/kde/framework/kjobwidgets/pspec.xml @@ -0,0 +1,72 @@ + + + + + kjobwidgets + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Widgets for showing progress of asynchronous jobs + KJobWIdgets provides widgets for showing progress of asynchronous jobs. + http://download.kde.org/stable/frameworks/5.11/kjobwidgets-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + + + + kjobwidgets + + qt5-base + libgcc + kcoreaddons + kwidgetsaddons + qt5-x11extras + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kjobwidgets-devel + Development files for kjobwidgets + + qt5-base-devel + kjobwidgets + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 7ac331dded88d1454c9013e8b01fc2838b3dae67 Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 25 Jun 2015 23:22:34 +0200 Subject: [PATCH 052/152] networkmanager-qt version bump and check --- .../framework/networkmanager-qt/actions.py | 25 +++++++ .../kde/framework/networkmanager-qt/pspec.xml | 71 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100755 desktop/kde/framework/networkmanager-qt/actions.py create mode 100755 desktop/kde/framework/networkmanager-qt/pspec.xml diff --git a/desktop/kde/framework/networkmanager-qt/actions.py b/desktop/kde/framework/networkmanager-qt/actions.py new file mode 100755 index 0000000000..e1303eae11 --- /dev/null +++ b/desktop/kde/framework/networkmanager-qt/actions.py @@ -0,0 +1,25 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") + diff --git a/desktop/kde/framework/networkmanager-qt/pspec.xml b/desktop/kde/framework/networkmanager-qt/pspec.xml new file mode 100755 index 0000000000..d2ba1e8878 --- /dev/null +++ b/desktop/kde/framework/networkmanager-qt/pspec.xml @@ -0,0 +1,71 @@ + + + + + networkmanager-qt + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + A QT wrapper around the NetworkManager libraries + A QT wrapper around the NetworkManager libraries + http://download.kde.org/stable/frameworks/5.11/networkmanager-qt-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + NetworkManager-devel + + + + + networkmanager-qt + + qt5-base + NetworkManager + libgcc + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + networkmanager-qt-devel + Development files for networkmanager-qt + + qt5-base-devel + networkmanager-qt + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 94470c4257c346a453bb877c3098f488eda1bf0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hakan=20Y=C4=B1ld=C4=B1z?= Date: Fri, 26 Jun 2015 12:52:48 +0300 Subject: [PATCH 053/152] jasper fixed --- multimedia/graphics/jasper/pspec.xml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/multimedia/graphics/jasper/pspec.xml b/multimedia/graphics/jasper/pspec.xml index d3af37abaf..e8bd402688 100644 --- a/multimedia/graphics/jasper/pspec.xml +++ b/multimedia/graphics/jasper/pspec.xml @@ -15,9 +15,9 @@ JasPer is a software-based implementation of the codec specified in the JPEG-2000 Part-1 standard (ISO/IEC 15444-1:2000). http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-1.900.1.zip - freeglut-devel - mesa-devel - mesa-glu-devel + libjpeg-turbo-devel + + jasper-1.900.1-fixes-20081208.patch.bz2 @@ -27,9 +27,9 @@ jasper - freeglut - mesa - mesa-glu + + + libjpeg-turbo @@ -66,15 +66,16 @@ 32-bit shared libraries for jasper emul32 - mesa-32bit - freeglut-32bit + glibc-32bit + libjpeg-turbo-32bit jasper - mesa-32bit - freeglut-32bit + libjpeg-turbo-32bit + glibc-32bit /usr/lib32 From 4302e49c68f2cfa42a485bd5d69d39ac79e5d9bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hakan=20Y=C4=B1ld=C4=B1z?= Date: Fri, 26 Jun 2015 12:54:40 +0300 Subject: [PATCH 054/152] jasper fixed --- multimedia/graphics/jasper/pspec.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/multimedia/graphics/jasper/pspec.xml b/multimedia/graphics/jasper/pspec.xml index e8bd402688..48644775a7 100644 --- a/multimedia/graphics/jasper/pspec.xml +++ b/multimedia/graphics/jasper/pspec.xml @@ -83,6 +83,13 @@ + + 2015-06-26 + 1.900.1 + Rebuild, fixed + Hakan Yıldız + hknyldz93@gmail.com + 2014-05-21 1.900.1 From a0bce2989b5bad52a0302d67c550c44db26100c3 Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 16:00:38 +0200 Subject: [PATCH 055/152] kwallet version bump and check --- desktop/kde/framework/kwallet/actions.py | 24 +++++++ desktop/kde/framework/kwallet/pspec.xml | 80 ++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100755 desktop/kde/framework/kwallet/actions.py create mode 100755 desktop/kde/framework/kwallet/pspec.xml diff --git a/desktop/kde/framework/kwallet/actions.py b/desktop/kde/framework/kwallet/actions.py new file mode 100755 index 0000000000..6da79e6628 --- /dev/null +++ b/desktop/kde/framework/kwallet/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md","COPYING.LIB") diff --git a/desktop/kde/framework/kwallet/pspec.xml b/desktop/kde/framework/kwallet/pspec.xml new file mode 100755 index 0000000000..460769149e --- /dev/null +++ b/desktop/kde/framework/kwallet/pspec.xml @@ -0,0 +1,80 @@ + + + + + kwallet + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE password storage framework + This framework contains two main components: Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces. The kwalletd used to safely store the passwords on KDE work spaces. + http://download.kde.org/stable/frameworks/5.11/kwallet-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + + + + kwallet + + qt5-base + libgcc + libgcrypt + kconfig + kcoreaddons + kdbusaddons + ki18n + kiconthemes + knotifications + kservice + kwidgetsaddons + kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + + + + + kwallet-devel + Development files for kwallet + + qt5-base-devel + kwallet + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 43044360341d4c923fd148da989b02dfdafc469e Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 16:35:14 +0200 Subject: [PATCH 056/152] kio version bump and check --- desktop/kde/framework/kio/actions.py | 26 +++++ ...1-Fix-thumbnails-for-mimetype-groups.patch | 52 ++++++++++ ...hs-being-turned-into-http-urls-by-fr.patch | 77 +++++++++++++++ desktop/kde/framework/kio/pspec.xml | 99 +++++++++++++++++++ 4 files changed, 254 insertions(+) create mode 100644 desktop/kde/framework/kio/actions.py create mode 100644 desktop/kde/framework/kio/files/0001-Fix-thumbnails-for-mimetype-groups.patch create mode 100644 desktop/kde/framework/kio/files/0002-Fix-relative-paths-being-turned-into-http-urls-by-fr.patch create mode 100644 desktop/kde/framework/kio/pspec.xml diff --git a/desktop/kde/framework/kio/actions.py b/desktop/kde/framework/kio/actions.py new file mode 100644 index 0000000000..863dc8a923 --- /dev/null +++ b/desktop/kde/framework/kio/actions.py @@ -0,0 +1,26 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DLIB_INSTALL_DIR=lib \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DLIBEXEC_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kio/files/0001-Fix-thumbnails-for-mimetype-groups.patch b/desktop/kde/framework/kio/files/0001-Fix-thumbnails-for-mimetype-groups.patch new file mode 100644 index 0000000000..5dc3083626 --- /dev/null +++ b/desktop/kde/framework/kio/files/0001-Fix-thumbnails-for-mimetype-groups.patch @@ -0,0 +1,52 @@ +From ae87a7d6999fc6ad90ab300dd8ea0c9c68c02bd4 Mon Sep 17 00:00:00 2001 +From: Maarten De Meyer +Date: Mon, 8 Sep 2014 23:58:55 +0200 +Subject: [PATCH 1/2] Fix thumbnails for mimetype groups. + +KService::mimeTypes cannot handle mimetype groups. ex: text/* +Go back to KService::serviceTypes and remove 'ThumbCreator' entries. + +REVIEW: 119958 +--- + src/widgets/previewjob.cpp | 17 +++++++++++------ + 1 file changed, 11 insertions(+), 6 deletions(-) + +diff --git a/src/widgets/previewjob.cpp b/src/widgets/previewjob.cpp +index 55a3fb7..ca47934 100644 +--- a/src/widgets/previewjob.cpp ++++ b/src/widgets/previewjob.cpp +@@ -268,20 +268,25 @@ void PreviewJobPrivate::startPreview() + protocols.append(p); + } + foreach (const QString &protocol, protocols) { +- const QStringList mtypes = (*it)->mimeTypes(); ++ // We cannot use mimeTypes() here, it doesn't support groups such as: text/* ++ const QStringList mtypes = (*it)->serviceTypes(); + // Add supported mimetype for this protocol + QStringList &_ms = m_remoteProtocolPlugins[protocol]; + foreach (const QString &_m, mtypes) { +- protocolMap[protocol].insert(_m, *it); +- if (!_ms.contains(_m)) { +- _ms.append(_m); ++ if (_m != QLatin1String("ThumbCreator")) { ++ protocolMap[protocol].insert(_m, *it); ++ if (!_ms.contains(_m)) { ++ _ms.append(_m); ++ } + } + } + } + if (enabledPlugins.contains((*it)->desktopEntryName())) { +- const QStringList mimeTypes = (*it)->mimeTypes(); ++ const QStringList mimeTypes = (*it)->serviceTypes(); + for (QStringList::ConstIterator mt = mimeTypes.constBegin(); mt != mimeTypes.constEnd(); ++mt) { +- mimeMap.insert(*mt, *it); ++ if (*mt != QLatin1String("ThumbCreator")) { ++ mimeMap.insert(*mt, *it); ++ } + } + } + } +-- +2.1.0 + diff --git a/desktop/kde/framework/kio/files/0002-Fix-relative-paths-being-turned-into-http-urls-by-fr.patch b/desktop/kde/framework/kio/files/0002-Fix-relative-paths-being-turned-into-http-urls-by-fr.patch new file mode 100644 index 0000000000..a959d5d3e8 --- /dev/null +++ b/desktop/kde/framework/kio/files/0002-Fix-relative-paths-being-turned-into-http-urls-by-fr.patch @@ -0,0 +1,77 @@ +From 5a5aa4b1786e793f457ad5a88a4e49d7469a92fa Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Tinkl?= +Date: Tue, 9 Sep 2014 22:49:27 +0200 +Subject: [PATCH 2/2] Fix relative paths being turned into http urls by + fromUserInput. + +Reviewed-By: (well, written by) David Faure. +--- + src/filewidgets/kfilewidget.cpp | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +diff --git a/src/filewidgets/kfilewidget.cpp b/src/filewidgets/kfilewidget.cpp +index 42320e3..58dd92e 100644 +--- a/src/filewidgets/kfilewidget.cpp ++++ b/src/filewidgets/kfilewidget.cpp +@@ -325,6 +325,22 @@ static bool containsProtocolSection(const QString &string) + return false; + } + ++// this string-to-url conversion function handles relative paths, full paths and URLs ++// without the http-prepending that QUrl::fromUserInput does. ++static QUrl urlFromString(const QString& str) ++{ ++ if (QDir::isAbsolutePath(str)) { ++ return QUrl::fromLocalFile(str); ++ } ++ QUrl url(str); ++ if (url.isRelative()) { ++ url.clear(); ++ url.setPath(str); ++ } ++ return url; ++} ++ ++ + KFileWidget::KFileWidget(const QUrl &_startDir, QWidget *parent) + : QWidget(parent), d(new KFileWidgetPrivate(this)) + { +@@ -909,7 +925,7 @@ void KFileWidget::slotOk() + containsProtocolSection(locationEditCurrentText))) { + + QString fileName; +- QUrl url = QUrl::fromUserInput(locationEditCurrentText); ++ QUrl url = urlFromString(locationEditCurrentText); + if (d->operationMode == Opening) { + KIO::StatJob *statJob = KIO::stat(url, KIO::HideProgressInfo); + KJobWidgets::setWindow(statJob, this); +@@ -1447,7 +1463,7 @@ void KFileWidgetPrivate::_k_urlEntered(const QUrl &url) + + bool blocked = locationEdit->blockSignals(true); + if (keepLocation) { +- QUrl currentUrl = QUrl::fromUserInput(filename); ++ QUrl currentUrl = urlFromString(filename); + locationEdit->changeUrl(0, QIcon::fromTheme(KIO::iconNameForUrl(currentUrl)), currentUrl); + locationEdit->lineEdit()->setModified(true); + } +@@ -1494,7 +1510,7 @@ void KFileWidgetPrivate::_k_enterUrl(const QString &url) + { + // qDebug(); + +- _k_enterUrl(QUrl::fromUserInput(KUrlCompletion::replacedPath(url, true, true))); ++ _k_enterUrl(urlFromString(KUrlCompletion::replacedPath(url, true, true))); + } + + bool KFileWidgetPrivate::toOverwrite(const QUrl &url) +@@ -1677,7 +1693,7 @@ QList KFileWidgetPrivate::tokenize(const QString &line) const + urls.append(u); + } + } else { +- urls << QUrl::fromUserInput(line); ++ urls << QUrl::fromLocalFile(line); + } + + return urls; +-- +2.1.0 + diff --git a/desktop/kde/framework/kio/pspec.xml b/desktop/kde/framework/kio/pspec.xml new file mode 100644 index 0000000000..2ae8b984cb --- /dev/null +++ b/desktop/kde/framework/kio/pspec.xml @@ -0,0 +1,99 @@ + + + + + kio + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Resource and network access abstraction + Network transparent access to files and data + http://download.kde.org/stable/frameworks/5.11/kio-5.11.0.tar.xz + + qt5-base-devel + kdoctools-devel + extra-cmake-modules + + + + + kio + + qt5-base + acl + attr + libgcc + libxml2 + mit-kerberos + knotifications + libxslt + qt5-script + qt5-x11extras + karchive + kconfig + kcodecs + kbookmarks + kcompletion + kconfigwidgets + kcoreaddons + kdbusaddons + ki18n + kiconthemes + kitemviews + kjobwidgets + kservice + ktextwidgets + kwallet + kwidgetsaddons + kwindowsystem + kxmlgui + solid + + + /etc/ + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + + kio-devel + Development files for kio + + qt5-base-devel + kio + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From aafa205b3f6d4dade4eb0a8ae572d55858b795ff Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 16:44:32 +0200 Subject: [PATCH 057/152] kinit version bump and check --- desktop/kde/framework/kinit/actions.py | 23 ++++++++ desktop/kde/framework/kinit/pspec.xml | 80 ++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 desktop/kde/framework/kinit/actions.py create mode 100644 desktop/kde/framework/kinit/pspec.xml diff --git a/desktop/kde/framework/kinit/actions.py b/desktop/kde/framework/kinit/actions.py new file mode 100644 index 0000000000..66afdb4b62 --- /dev/null +++ b/desktop/kde/framework/kinit/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DLIB_INSTALL_DIR=lib \ + -DLIBEXEC_INSTALL_DIR=lib \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kinit/pspec.xml b/desktop/kde/framework/kinit/pspec.xml new file mode 100644 index 0000000000..770d0ba6c4 --- /dev/null +++ b/desktop/kde/framework/kinit/pspec.xml @@ -0,0 +1,80 @@ + + + + + kinit + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE applications initialization utility + Process launcher to speed up launching KDE applications. + http://download.kde.org/stable/frameworks/5.11/kinit-5.11.0.tar.xz + + qt5-base-devel + kdoctools-devel + extra-cmake-modules + + + + + kinit + + qt5-base + libX11 + libcap + libgcc + kcrash + kcoreaddons + kconfig + kdoctools + ki18n + kio + kservice + kwindowsystem + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/locale + /usr/bin + /usr/share/doc + /usr/share/man + + + + kinit-devel + Development files for kinit + + qt5-base-devel + kinit + + + + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 0fb11b25a1e15a43491cea52299f67a1cd2f052e Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 16:50:39 +0200 Subject: [PATCH 058/152] kxmlrpcclient version bump and check --- .../kde/framework/kxmlrpcclient/actions.py | 31 ++++++++ desktop/kde/framework/kxmlrpcclient/pspec.xml | 74 +++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100755 desktop/kde/framework/kxmlrpcclient/actions.py create mode 100755 desktop/kde/framework/kxmlrpcclient/pspec.xml diff --git a/desktop/kde/framework/kxmlrpcclient/actions.py b/desktop/kde/framework/kxmlrpcclient/actions.py new file mode 100755 index 0000000000..f6fbe53db2 --- /dev/null +++ b/desktop/kde/framework/kxmlrpcclient/actions.py @@ -0,0 +1,31 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + pisitools.ldflags.add("-Wl,-rpath,/usr/lib") + cmaketools.configure("-DBUILD_TESTING=OFF \ + -DLIB_INSTALL_DIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIBEXEC_INSTALL_DIR=libexec \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DQML_INSTALL_DIR=/usr/lib/qt5/qml \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules ") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + #pisitools.insinto("/usr/include/KF5/KLDAP", "/usr/include/KF5/kldap_version.h") + #pisitools.dodoc("COPYING.LIB", "README", "CHANGELOG", "AUTHORS") diff --git a/desktop/kde/framework/kxmlrpcclient/pspec.xml b/desktop/kde/framework/kxmlrpcclient/pspec.xml new file mode 100755 index 0000000000..b1a397cde3 --- /dev/null +++ b/desktop/kde/framework/kxmlrpcclient/pspec.xml @@ -0,0 +1,74 @@ + + + + + kxmlrpcclient + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + XML-RPC client library for KDE + This library contains simple XML-RPC Client support. It is used mainly by the egroupware module of kdepim, but is a complete client and is quite easy to use. Only one interface is exposed to the world, kxmlrpcclient/client.h and of that interface, you only need to use 3 methods: setUrl, setUserAgent and call. + http://download.kde.org/stable/frameworks/5.11/kxmlrpcclient-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + python3 + + + + + kxmlrpcclient + + qt5-base + libgcc + ki18n + kcoreaddons + kio + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kxmlrpcclient-devel + Development files for kdelibs4-support + + qt5-base-devel + kxmlrpcclient + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From dbc1542f550bbe1558b13d53ba960cff78aefd2b Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 16:59:49 +0200 Subject: [PATCH 059/152] frameworkintegration version bump and check --- .../framework/frameworkintegration/actions.py | 24 ++++++ .../framework/frameworkintegration/pspec.xml | 80 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100755 desktop/kde/framework/frameworkintegration/actions.py create mode 100755 desktop/kde/framework/frameworkintegration/pspec.xml diff --git a/desktop/kde/framework/frameworkintegration/actions.py b/desktop/kde/framework/frameworkintegration/actions.py new file mode 100755 index 0000000000..de93b2e5ec --- /dev/null +++ b/desktop/kde/framework/frameworkintegration/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DLOCALE_INSTALL_DIR=/usr/share/locale \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/frameworkintegration/pspec.xml b/desktop/kde/framework/frameworkintegration/pspec.xml new file mode 100755 index 0000000000..b5bedb6e2b --- /dev/null +++ b/desktop/kde/framework/frameworkintegration/pspec.xml @@ -0,0 +1,80 @@ + + + + + frameworkintegration + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + Framework providing components to allow applications to integrate with a KDE Workspace + Framework Integration is a set of plugins responsible for better integration of Qt applications when running on a KDE Plasma workspace. + http://download.kde.org/stable/frameworks/5.11/frameworkintegration-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + frameworkintegration + + qt5-base + libgcc + libxcb + libXcursor + qt5-x11extras + kconfig + kxmlgui + kcompletion + kcoreaddons + kjobwidgets + kconfigwidgets + kiconthemes + ki18n + kio + knotifications + kwidgetsaddons + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + frameworkintegration-devel + Development files for framework-integration + + qt5-base-devel + frameworkintegration + + + /usr/include + /usr/lib/cmake + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + New Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 8706bfe3c860438b8dc5c7b3f60f85681f57caea Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 17:36:58 +0200 Subject: [PATCH 060/152] kded version bump and check --- desktop/kde/framework/kded/actions.py | 19 +++++++ desktop/kde/framework/kded/pspec.xml | 73 +++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 desktop/kde/framework/kded/actions.py create mode 100755 desktop/kde/framework/kded/pspec.xml diff --git a/desktop/kde/framework/kded/actions.py b/desktop/kde/framework/kded/actions.py new file mode 100644 index 0000000000..11b2858877 --- /dev/null +++ b/desktop/kde/framework/kded/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kded/pspec.xml b/desktop/kde/framework/kded/pspec.xml new file mode 100755 index 0000000000..71c4794cfe --- /dev/null +++ b/desktop/kde/framework/kded/pspec.xml @@ -0,0 +1,73 @@ + + + + + kded + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 daemon + Kded runs in the background and performs a number of small tasks. + http://download.kde.org/stable/frameworks/5.11/kded-5.11.0.tar.xz + + qt5-base-devel + kdoctools-devel + extra-cmake-modules + + + + + kded + + qt5-base + libgcc + kcoreaddons + kconfig + kcrash + kdbusaddons + kservice + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + /usr/share/man + + + + kded-devel + Development files for kded + + qt5-base-devel + kded + + + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 07c34b0e57f4767cde71f3439632d66005755aa5 Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 17:42:48 +0200 Subject: [PATCH 061/152] kimageformats version bump and check --- .../kde/framework/kimageformats/actions.py | 21 +++++++ desktop/kde/framework/kimageformats/pspec.xml | 55 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 desktop/kde/framework/kimageformats/actions.py create mode 100644 desktop/kde/framework/kimageformats/pspec.xml diff --git a/desktop/kde/framework/kimageformats/actions.py b/desktop/kde/framework/kimageformats/actions.py new file mode 100644 index 0000000000..1c77b54185 --- /dev/null +++ b/desktop/kde/framework/kimageformats/actions.py @@ -0,0 +1,21 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DLIB_INSTALL_DIR=lib \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kimageformats/pspec.xml b/desktop/kde/framework/kimageformats/pspec.xml new file mode 100644 index 0000000000..0989c6bef9 --- /dev/null +++ b/desktop/kde/framework/kimageformats/pspec.xml @@ -0,0 +1,55 @@ + + + + + kimageformats + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Image formats addons for QT 5 + This framework provides additional image format plugins for QtGui. + http://download.kde.org/stable/frameworks/5.11/kimageformats-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + kimageformats + + qt5-base + libgcc + openexr-libs + ilmbase + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 87abc90fd3db11479b3d026c27986245540677b4 Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 17:50:32 +0200 Subject: [PATCH 062/152] kparts version bump and check --- desktop/kde/framework/kparts/actions.py | 23 ++++++++ desktop/kde/framework/kparts/pspec.xml | 77 +++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 desktop/kde/framework/kparts/actions.py create mode 100644 desktop/kde/framework/kparts/pspec.xml diff --git a/desktop/kde/framework/kparts/actions.py b/desktop/kde/framework/kparts/actions.py new file mode 100644 index 0000000000..090c0f2dc3 --- /dev/null +++ b/desktop/kde/framework/kparts/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COMMENTS", "COPYING.LIB", "AUTHORS") diff --git a/desktop/kde/framework/kparts/pspec.xml b/desktop/kde/framework/kparts/pspec.xml new file mode 100644 index 0000000000..7fedca3b68 --- /dev/null +++ b/desktop/kde/framework/kparts/pspec.xml @@ -0,0 +1,77 @@ + + + + + kparts + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + Plugin framework for user interface components + This library implements the framework for KDE parts, which are elaborate widgets with a user-interface defined in terms of actions (menu items, toolbar icons). + http://download.kde.org/stable/frameworks/5.11/kparts-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + kparts + + qt5-base + libgcc + kjobwidgets + kconfig + kcoreaddons + ki18n + kiconthemes + knotifications + kservice + kwidgetsaddons + kxmlgui + kio + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kparts-devel + Development files for kparts + + qt5-base-devel + kparts + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 8a1ad562a2d39c160324a36df347b2bb9d327b4c Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 21:22:22 +0200 Subject: [PATCH 063/152] kidletime version bump and check --- desktop/kde/framework/kidletime/actions.py | 24 +++++++ desktop/kde/framework/kidletime/pspec.xml | 75 ++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100755 desktop/kde/framework/kidletime/actions.py create mode 100755 desktop/kde/framework/kidletime/pspec.xml diff --git a/desktop/kde/framework/kidletime/actions.py b/desktop/kde/framework/kidletime/actions.py new file mode 100755 index 0000000000..121fcea65d --- /dev/null +++ b/desktop/kde/framework/kidletime/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING") diff --git a/desktop/kde/framework/kidletime/pspec.xml b/desktop/kde/framework/kidletime/pspec.xml new file mode 100755 index 0000000000..834d67ce27 --- /dev/null +++ b/desktop/kde/framework/kidletime/pspec.xml @@ -0,0 +1,75 @@ + + + + + kidletime + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Idle time reporting utility + KIdleTime is a singleton reporting information on idle time. It is useful not only for finding out about the current idle time of the PC, but also for getting notified upon idle time events, such as custom timeouts, or user activity. + http://download.kde.org/stable/frameworks/5.11/kidletime-5.11.0.tar.xz + + qt5-base-devel + libX11-devel + libgcc + libxcb-devel + extra-cmake-modules + qt5-x11extras-devel + + + + + kidletime + + qt5-base + libX11 + libgcc + libxcb + libXScrnSaver + libXext + qt5-x11extras + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kidletime-devel + Development files for kidletime + + kidletime + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From a7e8e19321909b72fe537f7c2cc9c6816c8a0ac8 Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 22:32:29 +0200 Subject: [PATCH 064/152] kunitconversion version bump and check --- .../kde/framework/kunitconversion/actions.py | 26 +++++++ .../kde/framework/kunitconversion/pspec.xml | 69 +++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100755 desktop/kde/framework/kunitconversion/actions.py create mode 100755 desktop/kde/framework/kunitconversion/pspec.xml diff --git a/desktop/kde/framework/kunitconversion/actions.py b/desktop/kde/framework/kunitconversion/actions.py new file mode 100755 index 0000000000..6b4f921b4d --- /dev/null +++ b/desktop/kde/framework/kunitconversion/actions.py @@ -0,0 +1,26 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + pisitools.ldflags.add("-Wl,-rpath,/usr/lib") + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DPLUGIN_INSTALL_DIR=/usr/lib/qt5/plugins \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kunitconversion/pspec.xml b/desktop/kde/framework/kunitconversion/pspec.xml new file mode 100755 index 0000000000..05757ac726 --- /dev/null +++ b/desktop/kde/framework/kunitconversion/pspec.xml @@ -0,0 +1,69 @@ + + + + + kunitconversion + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + KDE unit conversion framework + KUnitConversion provides functions to convert values in different physical units. + http://download.kde.org/stable/frameworks/5.11/kunitconversion-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + + + + kunitconversion + + qt5-base + libgcc + ki18n + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kunitconversion-devel + Development files for kunitconversion + + qt5-base-devel + kunitconversion + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 5afe4e8a151f1ee48d74644d2f8d6f37fff499a3 Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 22:52:31 +0200 Subject: [PATCH 065/152] modemmanager-qt version bump and check --- .../kde/framework/modemmanager-qt/actions.py | 25 +++++++ .../kde/framework/modemmanager-qt/pspec.xml | 70 +++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100755 desktop/kde/framework/modemmanager-qt/actions.py create mode 100755 desktop/kde/framework/modemmanager-qt/pspec.xml diff --git a/desktop/kde/framework/modemmanager-qt/actions.py b/desktop/kde/framework/modemmanager-qt/actions.py new file mode 100755 index 0000000000..ce8a5a1440 --- /dev/null +++ b/desktop/kde/framework/modemmanager-qt/actions.py @@ -0,0 +1,25 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README", "README.md", "COPYING.LIB") + diff --git a/desktop/kde/framework/modemmanager-qt/pspec.xml b/desktop/kde/framework/modemmanager-qt/pspec.xml new file mode 100755 index 0000000000..8d56561f56 --- /dev/null +++ b/desktop/kde/framework/modemmanager-qt/pspec.xml @@ -0,0 +1,70 @@ + + + + + modemmanger-qt + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Qt wrapper for ModemManager DBus API + Qt wrapper for ModemManager DBus API + http://download.kde.org/stable/frameworks/5.11/modemmanager-qt-5.11.0.tar.xz + + qt5-base-devel + ModemManager-devel + extra-cmake-modules + + + + + modemmanager-qt + + qt5-base + libgcc + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + modemmanger-qt-devel + Development files for kde5-modemmanger-qt + + qt5-base-devel + modemmanager-qt + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 56124865f82e98cd4f965432eabae4c4650e8e7a Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 23:05:44 +0200 Subject: [PATCH 066/152] kdnssd version bump and check --- desktop/kde/framework/kdnssd/actions.py | 23 ++++++++ desktop/kde/framework/kdnssd/pspec.xml | 70 +++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 desktop/kde/framework/kdnssd/actions.py create mode 100644 desktop/kde/framework/kdnssd/pspec.xml diff --git a/desktop/kde/framework/kdnssd/actions.py b/desktop/kde/framework/kdnssd/actions.py new file mode 100644 index 0000000000..ef63e0a70b --- /dev/null +++ b/desktop/kde/framework/kdnssd/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB", "COPYING-CMAKE-SCRIPTS") diff --git a/desktop/kde/framework/kdnssd/pspec.xml b/desktop/kde/framework/kdnssd/pspec.xml new file mode 100644 index 0000000000..16512f5905 --- /dev/null +++ b/desktop/kde/framework/kdnssd/pspec.xml @@ -0,0 +1,70 @@ + + + + + kdnssd + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + Network service discovery using Zeroconf + KDNSSD is a library for handling the DNS-based Service Discovery Protocol (DNS-SD), the layer of Zeroconf that allows network services, such as printers, to be discovered without any user intervention or centralized infrastructure. + http://download.kde.org/stable/frameworks/5.11/kdnssd-5.11.0.tar.xz + + qt5-base-devel + qt5-tools + avahi-devel + avahi-compat-libdns_sd-devel + extra-cmake-modules + + + + + kdnssd + + qt5-base + libgcc + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kdnssd-devel + Development files for kdnssd. + + qt5-base-devel + kdnssd + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 65e7f26816accd09b568442daa9a44b9bf2c2114 Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 23:31:56 +0200 Subject: [PATCH 067/152] kplotting version bump and check --- desktop/kde/framework/kplotting/actions.py | 23 ++++++++ desktop/kde/framework/kplotting/pspec.xml | 65 ++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100755 desktop/kde/framework/kplotting/actions.py create mode 100755 desktop/kde/framework/kplotting/pspec.xml diff --git a/desktop/kde/framework/kplotting/actions.py b/desktop/kde/framework/kplotting/actions.py new file mode 100755 index 0000000000..3c58786542 --- /dev/null +++ b/desktop/kde/framework/kplotting/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kplotting/pspec.xml b/desktop/kde/framework/kplotting/pspec.xml new file mode 100755 index 0000000000..3d8f57d575 --- /dev/null +++ b/desktop/kde/framework/kplotting/pspec.xml @@ -0,0 +1,65 @@ + + + + + kplotting + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + KDE5 Data plotting + Kplotting contains data plotting classes for QT 5 and KDE + http://download.kde.org/stable/frameworks/5.11/kplotting-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + kplotting + + qt5-base + libgcc + + + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kplotting-devel + Development files for kplotting + + qt5-base-devel + kplotting + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 714407385a4ff19c66bb57f223654309255f4e0e Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 23:42:28 +0200 Subject: [PATCH 068/152] knotifyconfig version bump and check --- .../kde/framework/knotifyconfig/actions.py | 24 +++++++ desktop/kde/framework/knotifyconfig/pspec.xml | 72 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100755 desktop/kde/framework/knotifyconfig/actions.py create mode 100755 desktop/kde/framework/knotifyconfig/pspec.xml diff --git a/desktop/kde/framework/knotifyconfig/actions.py b/desktop/kde/framework/knotifyconfig/actions.py new file mode 100755 index 0000000000..58699d30b0 --- /dev/null +++ b/desktop/kde/framework/knotifyconfig/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/knotifyconfig/pspec.xml b/desktop/kde/framework/knotifyconfig/pspec.xml new file mode 100755 index 0000000000..92d031c726 --- /dev/null +++ b/desktop/kde/framework/knotifyconfig/pspec.xml @@ -0,0 +1,72 @@ + + + + + knotifyconfig + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + Configuration dialog for desktop notifications + KNotifyConfig provides a configuration dialog for desktop notifications which can be embedded in your application.. + http://download.kde.org/stable/frameworks/5.11/knotifyconfig-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + knotifyconfig + + qt5-base + qt5-phonon + libgcc + kconfig + kcompletion + ki18n + kio + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + knotifyconfig-devel + Development files for knotifyconfig + + qt5-base-devel + knotifyconfig + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 34bf85d44396c927b0d7278aa54b3d6dd2623209 Mon Sep 17 00:00:00 2001 From: groni Date: Sat, 27 Jun 2015 23:48:36 +0200 Subject: [PATCH 069/152] kemoticons version bump and check --- desktop/kde/framework/kemoticons/actions.py | 24 +++++++ desktop/kde/framework/kemoticons/pspec.xml | 72 +++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100755 desktop/kde/framework/kemoticons/actions.py create mode 100755 desktop/kde/framework/kemoticons/pspec.xml diff --git a/desktop/kde/framework/kemoticons/actions.py b/desktop/kde/framework/kemoticons/actions.py new file mode 100755 index 0000000000..4d62960137 --- /dev/null +++ b/desktop/kde/framework/kemoticons/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING", "COPYING.LIB") diff --git a/desktop/kde/framework/kemoticons/pspec.xml b/desktop/kde/framework/kemoticons/pspec.xml new file mode 100755 index 0000000000..06070f28e8 --- /dev/null +++ b/desktop/kde/framework/kemoticons/pspec.xml @@ -0,0 +1,72 @@ + + + + + kemoticons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE emoticon manager + KEmoticons converts emoticons from text to a graphical representation with images in HTML. + http://download.kde.org/stable/frameworks/5.11/kemoticons-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + + + + kemoticons + + qt5-base + libgcc + karchive + kcoreaddons + kconfig + kservice + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kemoticons-devel + Development files for kemoticons + + kemoticons + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From a403ebbf3576e6061ecdb4aeb005fa855577dd20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sun, 28 Jun 2015 09:06:44 +0300 Subject: [PATCH 070/152] works for mesa in blfs mesa not need llvm? --- ...lvm-3.6.0-use-ocamlfind-for-ocamldoc.patch | 30 ++++++ .../build/llvm/files/llvm-Config-config.h | 9 ++ .../llvm/files/llvm-Config-llvm-config.h | 9 ++ programming/build/llvm/pspec.xml | 3 + programming/misc/libedit/actions.py | 24 +++++ programming/misc/libedit/pspec.xml | 76 +++++++++++++++ programming/misc/libedit/translations.xml | 13 +++ x11/library/libXScrnSaver/actions.py | 21 ++++ x11/library/libXScrnSaver/pspec.xml | 96 +++++++++++++++++++ x11/library/libXScrnSaver/translations.xml | 19 ++++ x11/library/libepoxy/pspec.xml | 14 +-- 11 files changed, 307 insertions(+), 7 deletions(-) create mode 100644 programming/build/llvm/files/llvm-3.6.0-use-ocamlfind-for-ocamldoc.patch create mode 100644 programming/build/llvm/files/llvm-Config-config.h create mode 100644 programming/build/llvm/files/llvm-Config-llvm-config.h create mode 100644 programming/misc/libedit/actions.py create mode 100644 programming/misc/libedit/pspec.xml create mode 100644 programming/misc/libedit/translations.xml create mode 100644 x11/library/libXScrnSaver/actions.py create mode 100644 x11/library/libXScrnSaver/pspec.xml create mode 100644 x11/library/libXScrnSaver/translations.xml diff --git a/programming/build/llvm/files/llvm-3.6.0-use-ocamlfind-for-ocamldoc.patch b/programming/build/llvm/files/llvm-3.6.0-use-ocamlfind-for-ocamldoc.patch new file mode 100644 index 0000000000..8a838c3a7c --- /dev/null +++ b/programming/build/llvm/files/llvm-3.6.0-use-ocamlfind-for-ocamldoc.patch @@ -0,0 +1,30 @@ +diff -upr llvm-3.6.0.src.orig/docs/Makefile llvm-3.6.0.src/docs/Makefile +--- llvm-3.6.0.src.orig/docs/Makefile 2014-10-29 00:45:25.000000000 +0200 ++++ llvm-3.6.0.src/docs/Makefile 2015-02-28 10:12:35.647351241 +0200 +@@ -41,7 +41,7 @@ install_targets := install-html + ifeq ($(ENABLE_DOXYGEN),1) + install_targets += install-doxygen + endif +-ifdef OCAMLDOC ++ifdef OCAMLFIND + ifneq (,$(filter ocaml,$(BINDINGS_TO_BUILD))) + install_targets += install-ocamldoc + endif +@@ -49,7 +49,7 @@ endif + install-local:: $(install_targets) + + generated_targets := doxygen +-ifdef OCAMLDOC ++ifdef OCAMLFIND + generated_targets += ocamldoc + endif + +@@ -120,7 +120,7 @@ regen-ocamldoc: + $(Verb) $(MAKE) -C $(LEVEL)/bindings/ocaml ocamldoc + $(Verb) $(MKDIR) $(PROJ_OBJ_DIR)/ocamldoc/html + $(Verb) \ +- $(OCAMLDOC) -d $(PROJ_OBJ_DIR)/ocamldoc/html -sort -colorize-code -html \ ++ $(OCAMLFIND) ocamldoc -d $(PROJ_OBJ_DIR)/ocamldoc/html -sort -colorize-code -html \ + `$(FIND) $(LEVEL)/bindings/ocaml -name "*.odoc" \ + -path "*/$(BuildMode)/*.odoc" -exec echo -load '{}' ';'` + diff --git a/programming/build/llvm/files/llvm-Config-config.h b/programming/build/llvm/files/llvm-Config-config.h new file mode 100644 index 0000000000..c369b4551f --- /dev/null +++ b/programming/build/llvm/files/llvm-Config-config.h @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "config-32.h" +#elif __WORDSIZE == 64 +#include "config-64.h" +#else +#error "Unknown word size" +#endif diff --git a/programming/build/llvm/files/llvm-Config-llvm-config.h b/programming/build/llvm/files/llvm-Config-llvm-config.h new file mode 100644 index 0000000000..2fa08c9be6 --- /dev/null +++ b/programming/build/llvm/files/llvm-Config-llvm-config.h @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "llvm-config-32.h" +#elif __WORDSIZE == 64 +#include "llvm-config-64.h" +#else +#error "Unknown word size" +#endif diff --git a/programming/build/llvm/pspec.xml b/programming/build/llvm/pspec.xml index dc87e8a790..8934395572 100644 --- a/programming/build/llvm/pspec.xml +++ b/programming/build/llvm/pspec.xml @@ -17,6 +17,9 @@ http://llvm.org/releases/3.5.0/compiler-rt-3.5.0.src.tar.xz + zlib-devel + libxml2-devel + ncurses-devel ocaml libffi-devel libedit-devel diff --git a/programming/misc/libedit/actions.py b/programming/misc/libedit/actions.py new file mode 100644 index 0000000000..deb466e3f9 --- /dev/null +++ b/programming/misc/libedit/actions.py @@ -0,0 +1,24 @@ +#!/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 \ + --enable-widec \ + --disable-dependency-tracking \ + --enable-fast-install") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("ChangeLog", "COPYING", "THANKS") + pisitools.remove("/usr/lib/libedit.la") diff --git a/programming/misc/libedit/pspec.xml b/programming/misc/libedit/pspec.xml new file mode 100644 index 0000000000..55dee5ca3b --- /dev/null +++ b/programming/misc/libedit/pspec.xml @@ -0,0 +1,76 @@ + + + + + libedit + http://www.thrysoee.dk/editline + + PisiLinux Community + admins@pisilinux.org + + BSD + library + An autotool and libtoolized port of the NetBSD Editline library + libedit is a command line editing and history library. It is designed to be used by interactive programs that allow the user to type commands at a terminal prompt. + http://thrysoee.dk/editline/libedit-20150325-3.1.tar.gz + + ncurses-devel + + + + + libedit + + ncurses + + + /usr/lib + /usr/share/man + /usr/share/doc + + + + + libedit-devel + Development files for libedit + + libedit + + + /usr/include + /usr/lib/pkgconfig + /usr/share/man/man3 + + + + + + 2015-06-25 + 3.1_20150325 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-05-19 + 3.1_20140213 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2013-10-27 + 3.1_20130712 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-10-17 + 3.0_20120601 + First release + Marcin Bojara + marcin@pisilinux.org + + + diff --git a/programming/misc/libedit/translations.xml b/programming/misc/libedit/translations.xml new file mode 100644 index 0000000000..564f272b2b --- /dev/null +++ b/programming/misc/libedit/translations.xml @@ -0,0 +1,13 @@ + + + + libedit + NetBSD Editline kitaplığının Linux portu + libedit, geçmiş bilgisini ve komut satırı düzenleme işlerini kolaylaştıran bir kitaplıktır. + + + + libedit-devel + libedit için geliştirme dosyaları + + diff --git a/x11/library/libXScrnSaver/actions.py b/x11/library/libXScrnSaver/actions.py new file mode 100644 index 0000000000..c0548bd79f --- /dev/null +++ b/x11/library/libXScrnSaver/actions.py @@ -0,0 +1,21 @@ +# -*- 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.autoreconf("-vif") + autotools.configure("--disable-static") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("ChangeLog", "COPYING", "README") diff --git a/x11/library/libXScrnSaver/pspec.xml b/x11/library/libXScrnSaver/pspec.xml new file mode 100644 index 0000000000..a28c593305 --- /dev/null +++ b/x11/library/libXScrnSaver/pspec.xml @@ -0,0 +1,96 @@ + + + + + libXScrnSaver + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + X.Org XScrnSaver library + LibXScrnSaver allows using screensavers in X clients. + mirrors://xorg/individual/lib/libXScrnSaver-1.2.2.tar.bz2 + + libXext-devel + + + + + libXScrnSaver + + libXext + + + /usr/lib + /usr/share/doc + + + + + libXScrnSaver-devel + Development files for libXScrnSaver + + libXScrnSaver + libXext-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + + libXScrnSaver-32bit + emul32 + 32-bit shared libraries for libXScrnSaver + emul32 + + libX11-32bit + libXext-32bit + + + libXScrnSaver + libX11-32bit + libXext-32bit + + + /usr/lib32 + + + + + + 2014-05-16 + 1.2.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.2.2 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 1.2.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.2.2 + First release + Erdem Artan + admins@pisilinux.org + + + diff --git a/x11/library/libXScrnSaver/translations.xml b/x11/library/libXScrnSaver/translations.xml new file mode 100644 index 0000000000..10e8cc92d6 --- /dev/null +++ b/x11/library/libXScrnSaver/translations.xml @@ -0,0 +1,19 @@ + + + + libXScrnSaver + X.Org XScrnSaver kitaplığı + Librairie XScrnSaver de X.Org + X.Org XScrnSaver Bibliothek + + + + libXScrnSaver-devel + libXScrnSaver için geliştirme dosyaları + + + + libXScrnSaver-32bit + libXScrnSaver için 32-bit paylaşımlı kitaplıklar + + diff --git a/x11/library/libepoxy/pspec.xml b/x11/library/libepoxy/pspec.xml index 629edf9ef0..4b5d0ae496 100755 --- a/x11/library/libepoxy/pspec.xml +++ b/x11/library/libepoxy/pspec.xml @@ -14,8 +14,8 @@ Epoxy is a library for handling OpenGL function pointer management for you. https://github.com/anholt/libepoxy/archive/v1.2.tar.gz - python3 - xorg-util + python3 + xorg-util mesa-devel @@ -26,13 +26,13 @@ mesa - /etc/xdg - /usr/bin - /usr/lib + /etc/xdg + /usr/bin + /usr/lib /usr/share - /usr/share/locale + /usr/share/locale /usr/share/doc - /usr/share/man + /usr/share/man From 6240da8808306fe276c878e47c2c09ca0b6084f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sun, 28 Jun 2015 12:10:19 +0300 Subject: [PATCH 071/152] mesa buildep is fini, ( not LLVM ) checkelf problem, deps was fixed --- programming/language/python/component.xml | 3 + .../python/python-MarkupSafe/actions.py | 23 ++ .../python/python-MarkupSafe/pspec.xml | 45 ++++ .../python/python-MarkupSafe/translations.xml | 8 + .../language/python/python-beaker/actions.py | 17 ++ .../language/python/python-beaker/pspec.xml | 45 ++++ .../python/python-beaker/translations.xml | 8 + .../language/python/python-mako/actions.py | 22 ++ .../language/python/python-mako/pspec.xml | 63 ++++++ .../python/python-mako/translations.xml | 13 ++ programming/misc/libtalloc/actions.py | 40 ++++ programming/misc/libtalloc/pspec.xml | 110 ++++++++++ programming/misc/libtalloc/translations.xml | 18 ++ x11/library/libXv/actions.py | 23 ++ x11/library/libXv/pspec.xml | 120 +++++++++++ x11/library/libXv/translations.xml | 19 ++ x11/library/libXvMC/actions.py | 23 ++ x11/library/libXvMC/pspec.xml | 136 ++++++++++++ x11/library/libXvMC/translations.xml | 19 ++ x11/library/libXxf86vm/actions.py | 21 ++ x11/library/libXxf86vm/pspec.xml | 110 ++++++++++ x11/library/libXxf86vm/translations.xml | 19 ++ x11/library/libomxil-bellagio/actions.py | 21 ++ .../files/fedora-fixes.patch | 199 ++++++++++++++++++ x11/library/libomxil-bellagio/pspec.xml | 58 +++++ .../libomxil-bellagio/translations.xml | 8 + x11/library/libvdpau/actions.py | 22 ++ x11/library/libvdpau/pspec.xml | 122 +++++++++++ x11/library/libvdpau/translations.xml | 18 ++ x11/library/libxshmfence/actions.py | 23 ++ x11/library/libxshmfence/pspec.xml | 90 ++++++++ x11/library/mesa/pspec.xml | 7 +- x11/library/wayland/pspec.xml | 11 + 33 files changed, 1482 insertions(+), 2 deletions(-) create mode 100644 programming/language/python/component.xml create mode 100644 programming/language/python/python-MarkupSafe/actions.py create mode 100644 programming/language/python/python-MarkupSafe/pspec.xml create mode 100644 programming/language/python/python-MarkupSafe/translations.xml create mode 100644 programming/language/python/python-beaker/actions.py create mode 100644 programming/language/python/python-beaker/pspec.xml create mode 100644 programming/language/python/python-beaker/translations.xml create mode 100644 programming/language/python/python-mako/actions.py create mode 100644 programming/language/python/python-mako/pspec.xml create mode 100644 programming/language/python/python-mako/translations.xml create mode 100644 programming/misc/libtalloc/actions.py create mode 100644 programming/misc/libtalloc/pspec.xml create mode 100644 programming/misc/libtalloc/translations.xml create mode 100644 x11/library/libXv/actions.py create mode 100644 x11/library/libXv/pspec.xml create mode 100644 x11/library/libXv/translations.xml create mode 100644 x11/library/libXvMC/actions.py create mode 100644 x11/library/libXvMC/pspec.xml create mode 100644 x11/library/libXvMC/translations.xml create mode 100644 x11/library/libXxf86vm/actions.py create mode 100644 x11/library/libXxf86vm/pspec.xml create mode 100644 x11/library/libXxf86vm/translations.xml create mode 100644 x11/library/libomxil-bellagio/actions.py create mode 100644 x11/library/libomxil-bellagio/files/fedora-fixes.patch create mode 100644 x11/library/libomxil-bellagio/pspec.xml create mode 100644 x11/library/libomxil-bellagio/translations.xml create mode 100644 x11/library/libvdpau/actions.py create mode 100644 x11/library/libvdpau/pspec.xml create mode 100644 x11/library/libvdpau/translations.xml create mode 100644 x11/library/libxshmfence/actions.py create mode 100644 x11/library/libxshmfence/pspec.xml diff --git a/programming/language/python/component.xml b/programming/language/python/component.xml new file mode 100644 index 0000000000..c95325928c --- /dev/null +++ b/programming/language/python/component.xml @@ -0,0 +1,3 @@ + + programming.language.python + diff --git a/programming/language/python/python-MarkupSafe/actions.py b/programming/language/python/python-MarkupSafe/actions.py new file mode 100644 index 0000000000..106a43f85a --- /dev/null +++ b/programming/language/python/python-MarkupSafe/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pythonmodules +from pisi.actionsapi import get +from pisi.actionsapi import shelltools + +shelltools.export("PYTHONDONTWRITEBYTECODE", "1") + +WorkDir = "MarkupSafe-%s" % get.srcVERSION() + +def build(): + pythonmodules.compile() + +def check(): + pythonmodules.compile("test") + +def install(): + pythonmodules.install() + diff --git a/programming/language/python/python-MarkupSafe/pspec.xml b/programming/language/python/python-MarkupSafe/pspec.xml new file mode 100644 index 0000000000..e0b19f4c7f --- /dev/null +++ b/programming/language/python/python-MarkupSafe/pspec.xml @@ -0,0 +1,45 @@ + + + + + python-MarkupSafe + http://pypi.python.org/pypi/MarkupSafe + + PisiLinux Community + admins@pisilinux.org + + BSD + library + Implements a XML/HTML/XHTML Markup safe string for Python + python-MarkupSafe, implements a unicode subclass that supports HTML strings. + http://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.23.tar.gz + + python-setuptools + + + + + python-MarkupSafe + + /usr/lib/python2.* + /usr/share/doc + + + + + + 2014-05-29 + 0.23 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2011-11-11 + 0.15 + First release + Erdinç Gültekin + admins@pisilinux.org + + + diff --git a/programming/language/python/python-MarkupSafe/translations.xml b/programming/language/python/python-MarkupSafe/translations.xml new file mode 100644 index 0000000000..3f5732b9f6 --- /dev/null +++ b/programming/language/python/python-MarkupSafe/translations.xml @@ -0,0 +1,8 @@ + + + + python-MarkupSafe + XML/HTML/XHTML markup dilleri için güvenli python karakter dizeleri gerçekleştirimi + python-MarkupSafe, HTML karakter dizeleri için unicode bir alt sınıf gerçekleştirimi sağlar. + + diff --git a/programming/language/python/python-beaker/actions.py b/programming/language/python/python-beaker/actions.py new file mode 100644 index 0000000000..4b101bdcea --- /dev/null +++ b/programming/language/python/python-beaker/actions.py @@ -0,0 +1,17 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pythonmodules +from pisi.actionsapi import get +from pisi.actionsapi import shelltools + +shelltools.export("PYTHONDONTWRITEBYTECODE", "1") + +WorkDir = "Beaker-%s" % get.srcVERSION() + +def install(): + pythonmodules.install() + diff --git a/programming/language/python/python-beaker/pspec.xml b/programming/language/python/python-beaker/pspec.xml new file mode 100644 index 0000000000..02df5c1d83 --- /dev/null +++ b/programming/language/python/python-beaker/pspec.xml @@ -0,0 +1,45 @@ + + + + + python-beaker + http://beaker.groovie.org/ + + PisiLinux Community + admins@pisilinux.org + + BSD + library + A Session and Caching library with WSGI Middleware + python-beaker is a web session and general caching library that includes WSGI middleware for use in web applications. + http://pypi.python.org/packages/source/B/Beaker/Beaker-1.6.4.tar.gz + + python-setuptools + + + + + python-beaker + + /usr/lib/ + /usr/share/doc + + + + + + 2013-11-04 + 1.6.4 + Rebuild + Erdinç Gültekin + admins@pisilinux.org + + + 2012-11-11 + 1.6.4 + First release + Erdinç Gültekin + admins@pisilinux.org + + + diff --git a/programming/language/python/python-beaker/translations.xml b/programming/language/python/python-beaker/translations.xml new file mode 100644 index 0000000000..cd7017b407 --- /dev/null +++ b/programming/language/python/python-beaker/translations.xml @@ -0,0 +1,8 @@ + + + + python-beaker + Oturum ve önbellekleme kitaplığı + python-beaker, web programları için oturum ve genel önbellekleme fonksiyonlarını içeren bir kitaplıktır. + + diff --git a/programming/language/python/python-mako/actions.py b/programming/language/python/python-mako/actions.py new file mode 100644 index 0000000000..110b539321 --- /dev/null +++ b/programming/language/python/python-mako/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 pythonmodules +from pisi.actionsapi import pisitools +from pisi.actionsapi import get +from pisi.actionsapi import shelltools + +shelltools.export("PYTHONDONTWRITEBYTECODE", "1") + +WorkDir = "Mako-%s" % get.srcVERSION() + +def install(): + pythonmodules.install() + + #pisitools.dodoc("doc/*.txt") + pisitools.dohtml("doc/*.html") + pisitools.insinto("%s/%s" % (get.docDIR(), get.srcNAME()), "doc/build") + pisitools.insinto("%s/%s" % (get.docDIR(), get.srcNAME()), "examples") diff --git a/programming/language/python/python-mako/pspec.xml b/programming/language/python/python-mako/pspec.xml new file mode 100644 index 0000000000..cf10b89133 --- /dev/null +++ b/programming/language/python/python-mako/pspec.xml @@ -0,0 +1,63 @@ + + + + + python-mako + http://www.makotemplates.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + app:console + library + A python templating language + python-mako is a super-fast templating language that borrows the best ideas from the existing templating languages. + http://pypi.python.org/packages/source/M/Mako/Mako-0.9.1.tar.gz + + python-setuptools + + + + + python-mako + + python-beaker + python-MarkupSafe + + + /usr/bin + /usr/lib + /usr/share/doc + + + + + python-mako-docs + + python-mako + + + /usr/share/doc/*/html + /usr/share/doc/*/build + /usr/share/doc/*/examples + + + + + + 2014-04-16 + 0.9.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-11-11 + 0.7.3 + First release + Erdinç Gültekin + admins@pisilinux.org + + + diff --git a/programming/language/python/python-mako/translations.xml b/programming/language/python/python-mako/translations.xml new file mode 100644 index 0000000000..eb7815b05a --- /dev/null +++ b/programming/language/python/python-mako/translations.xml @@ -0,0 +1,13 @@ + + + + python-mako + Python şablonlama dili + python-mako, varolan şablonlama dillerindeki en iyi fikirleri bir araya getiren süper hızlı bir şablonlama dilidir. + + + + python-mako-docs + python-mako için belgelendirme dosyaları + + diff --git a/programming/misc/libtalloc/actions.py b/programming/misc/libtalloc/actions.py new file mode 100644 index 0000000000..6a17855ebe --- /dev/null +++ b/programming/misc/libtalloc/actions.py @@ -0,0 +1,40 @@ +#!/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 + +libdir = "lib32" if get.buildTYPE() == "emul32" else "lib" +jobs = get.makeJOBS().replace("-j", "") + +def setup(): + autotools.configure("\ + --sysconfdir=/etc/samba \ + --builtin-libraries=replace \ + --bundled-libraries=NONE \ + --disable-rpath \ + --disable-rpath-install \ + --disable-silent-rules \ + --enable-talloc-compat1 \ + ") + +def build(): + autotools.make("JOBS=%s" % jobs) + +def install(): + autotools.rawInstall("DESTDIR=%s JOBS=%s" % (get.installDIR(), jobs)) + + #pisitools.removeDir("/usr/share/swig") + + #pisitools.remove("/usr/lib*/*.a") + #pisitools.remove("/usr/lib*/libtalloc-compat1-%s.so" % get.srcVERSION()) + + # Create symlinks for so file + #pisitools.dosym("libtalloc.so.%s" % get.srcVERSION(), "/usr/%s/libtalloc.so.%s" % (libdir, get.srcVERSION().split(".")[0])) + #pisitools.dosym("libtalloc.so.%s" % get.srcVERSION(), "/usr/%s/libtalloc.so" % libdir) + + pisitools.dodoc("NEWS") diff --git a/programming/misc/libtalloc/pspec.xml b/programming/misc/libtalloc/pspec.xml new file mode 100644 index 0000000000..c2951dab35 --- /dev/null +++ b/programming/misc/libtalloc/pspec.xml @@ -0,0 +1,110 @@ + + + + + libtalloc + http://talloc.samba.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv3+ + library + Hierarchical pool based memory allocator + libtalloc is a library which implements a hierarchical allocator with destructors which is the core memory allocator in samba. + http://www.samba.org/ftp/talloc/talloc-2.1.2.tar.gz + + docbook-xsl + libxslt-devel + python-devel + + + + + libtalloc + + python + + + /usr/lib + /usr/share/man + /usr/share/doc + + + + + libtalloc-devel + Development files for libtalloc + + libtalloc + + + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/include + /usr/share/man/man3 + + + + + libtalloc-32bit + emul32 + 32-bit shared libraries for libtalloc + emul32 + + glibc-32bit + + + glibc-32bit + libtalloc + + + /usr/lib32 + + + + + + 2015-06-28 + 2.1.2 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-05-22 + 2.1.1 + Version bump. + Kamil Atlı + suvarice@gmail.com + + + 2014-04-23 + 2.1.0 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-09 + 2.0.8 + Rebuild for buildhost + PisiLinux Community + admins@pisilinux.org + + + 2013-07-07 + 2.0.8 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-09-25 + 2.0.7 + First release + Erdem Artan + admins@pisilinux.org + + + diff --git a/programming/misc/libtalloc/translations.xml b/programming/misc/libtalloc/translations.xml new file mode 100644 index 0000000000..6f6e54d4b6 --- /dev/null +++ b/programming/misc/libtalloc/translations.xml @@ -0,0 +1,18 @@ + + + + libtalloc + Bellek yönetim kitaplığı + libtalloc, samba hizmetinin temel bellek ayırıcısını oluşturan hiyerarşik havuz tabanlı ayırıcıyı gerçekleyen kitaplıktır. + + + + libtalloc-devel + libtalloc için geliştirme dosyaları + + + + libtalloc-32bit + libtalloc için 32-bit paylaşımlı kitaplıklar + + diff --git a/x11/library/libXv/actions.py b/x11/library/libXv/actions.py new file mode 100644 index 0000000000..ee0fb747c1 --- /dev/null +++ b/x11/library/libXv/actions.py @@ -0,0 +1,23 @@ +# -*- 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(): + autotools.autoreconf("-vif") + autotools.configure("--disable-static") + 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.dodoc("AUTHORS", "ChangeLog", "COPYING", "README") diff --git a/x11/library/libXv/pspec.xml b/x11/library/libXv/pspec.xml new file mode 100644 index 0000000000..8d251eff84 --- /dev/null +++ b/x11/library/libXv/pspec.xml @@ -0,0 +1,120 @@ + + + + + libXv + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + X.Org Xv library + LibXv is the X Window System video extension library. + mirrors://xorg/individual/lib/libXv-1.0.10.tar.bz2 + + libXext-devel + util-macros + + + + + libXv + + libXext + + + /usr/lib + /usr/share/doc + + + + + libXv-devel + Development files for libXv + + libXv + libXext-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + + libXv-32bit + emul32 + 32-bit shared libraries for libXv + emul32 + + glibc-32bit + libX11-32bit + libXext-32bit + + + libXv + glibc-32bit + libX11-32bit + libXext-32bit + + + /usr/lib32 + + + + + + 2014-05-16 + 1.0.10 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.0.10 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-12 + 1.0.10 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-08-25 + 1.0.9 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.0.9 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-21 + 1.0.8 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.0.7 + First release + Erdem Artan + admins@pisilinux.org + + + diff --git a/x11/library/libXv/translations.xml b/x11/library/libXv/translations.xml new file mode 100644 index 0000000000..0329075c59 --- /dev/null +++ b/x11/library/libXv/translations.xml @@ -0,0 +1,19 @@ + + + + libXv + X.Org Xv kitaplığı + Librairie Xv de X.Org + X.Org Xv Bibliothek + + + + libXv-devel + libXv için geliştirme dosyaları + + + + libXv-32bit + libXv için 32-bit paylaşımlı kitaplıklar + + diff --git a/x11/library/libXvMC/actions.py b/x11/library/libXvMC/actions.py new file mode 100644 index 0000000000..9d2c18e538 --- /dev/null +++ b/x11/library/libXvMC/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +def setup(): + autotools.autoreconf("-vif") + autotools.configure("--disable-static") + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("ChangeLog", "COPYING", "README") diff --git a/x11/library/libXvMC/pspec.xml b/x11/library/libXvMC/pspec.xml new file mode 100644 index 0000000000..79ecce4ef0 --- /dev/null +++ b/x11/library/libXvMC/pspec.xml @@ -0,0 +1,136 @@ + + + + + libXvMC + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + X.Org XvMC library + LibXvMC is the X-Video Motion Compensation Library. + mirrors://xorg/individual/lib/libXvMC-1.0.8.tar.bz2 + + libXext-devel + libXv-devel + util-macros + + + + + libXvMC + + libXext + + + /usr/lib + /usr/share/doc + + + + + libXvMC-devel + Development files for libXvMC + + libXv-devel + libXext-devel + libXvMC + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/doc/libXvMC/XvMC_API.txt + + + + + libXvMC-32bit + emul32 + 32-bit shared libraries for libXvMC + emul32 + + xorg-proto + libXv-32bit + libX11-32bit + libXext-32bit + + + libX11-32bit + libXext-32bit + libXvMC + + + /usr/lib32 + + + + + + 2014-05-16 + 1.0.8 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-19 + 1.0.8 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-11-06 + 1.0.8 + Fix deps. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-10-07 + 1.0.8 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-02 + 1.0.8 + Split 32bit. + PisiLinux Community + admins@pisilinux.org + + + 2013-08-25 + 1.0.8 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.0.8 + Rebuild + PisiLinux Community + admins@pisilinux.org + + + 2013-06-21 + 1.0.8 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.0.7 + First release + Erdem Artan + admins@pisilinux.org + + + diff --git a/x11/library/libXvMC/translations.xml b/x11/library/libXvMC/translations.xml new file mode 100644 index 0000000000..37a95343df --- /dev/null +++ b/x11/library/libXvMC/translations.xml @@ -0,0 +1,19 @@ + + + + libXvMC + X.Org XvMC kitaplığı + Librairie XvMC de X.Org + X.Org XvMC Bibliothek + + + + libXvMC-devel + libXvMC için geliştirme dosyaları + + + + libXvMC-32bit + libXvMC için 32-bit paylaşımlı kitaplıklar + + diff --git a/x11/library/libXxf86vm/actions.py b/x11/library/libXxf86vm/actions.py new file mode 100644 index 0000000000..566d44b8e9 --- /dev/null +++ b/x11/library/libXxf86vm/actions.py @@ -0,0 +1,21 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools + +def setup(): + autotools.autoreconf("-vif") + autotools.configure("--disable-static") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("ChangeLog", "COPYING", "README") diff --git a/x11/library/libXxf86vm/pspec.xml b/x11/library/libXxf86vm/pspec.xml new file mode 100644 index 0000000000..9f391b8efb --- /dev/null +++ b/x11/library/libXxf86vm/pspec.xml @@ -0,0 +1,110 @@ + + + + + libXxf86vm + http://x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + X.Org Xxf86vm library + LibXxf86vm is the client library for the XFree86-VidMode X extension. + mirrors://xorg/individual/lib/libXxf86vm-1.1.3.tar.bz2 + + libXext-devel + util-macros + + + + + libXxf86vm + + libXext + + + /usr/lib + /usr/share/doc + + + + + libXxf86vm-devel + Development files for libXxf86vm + + libXxf86vm + libXext-devel + + + /usr/include/X11 + /usr/lib/pkgconfig/ + /usr/lib32/pkgconfig + /usr/share/man + + + + + libXxf86vm-32bit + emul32 + 32-bit shared libraries for libXxf86vm + emul32 + + libXext-32bit + + + libXxf86vm + xorg-proto + libXext-32bit + libX11-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 1.1.3 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.1.3 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 1.1.3 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-26 + 1.1.3 + Move pc files to devel pack, rebuild. + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-06-21 + 1.1.3 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.1.2 + First release + Erdem Artan + admins@pisilinux.org + + + diff --git a/x11/library/libXxf86vm/translations.xml b/x11/library/libXxf86vm/translations.xml new file mode 100644 index 0000000000..0f1a2d1e0b --- /dev/null +++ b/x11/library/libXxf86vm/translations.xml @@ -0,0 +1,19 @@ + + + + libXxf86vm + X.Org Xxf86vm kitaplığı + Librairie Xxf86vm de X.Org + X.Org Xxf86vm Bibliothek + + + + libXxf86vm-devel + libXxf86vm için geliştirme dosyaları + + + + libXxf86vm-32bit + libXxf86vm için 32-bit paylaşımlı kitaplıklar + + diff --git a/x11/library/libomxil-bellagio/actions.py b/x11/library/libomxil-bellagio/actions.py new file mode 100644 index 0000000000..a242bd4c8f --- /dev/null +++ b/x11/library/libomxil-bellagio/actions.py @@ -0,0 +1,21 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +def setup(): + autotools.autoreconf("-fiv") + autotools.configure("--disable-static") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "NEWS", "README") diff --git a/x11/library/libomxil-bellagio/files/fedora-fixes.patch b/x11/library/libomxil-bellagio/files/fedora-fixes.patch new file mode 100644 index 0000000000..2ae3c3c871 --- /dev/null +++ b/x11/library/libomxil-bellagio/files/fedora-fixes.patch @@ -0,0 +1,199 @@ +When libomxdynamicloader.so is loaded, it complains that RM_Deinit can't be resolved. +Link explicitly against omxil-bellagio so that ld.so can find the reference. + +Signed-off-by: Qais Yousef + +--- bellagio-0.9.3/src/dynamic_loader/Makefile.am.old 2012-03-23 15:07:47.379021034 +0000 ++++ bellagio-0.9.3/src/dynamic_loader/Makefile.am 2012-03-23 15:08:47.563034818 +0000 +@@ -3,7 +3,7 @@ + omxdynamicloader_LTLIBRARIES = libomxdynamicloader.la + libomxdynamicloader_la_SOURCES = ste_dynamic_component_loader.c ste_dynamic_component_loader.h + +-libomxdynamicloader_la_LDFLAGS = ++libomxdynamicloader_la_LDFLAGS = -L$(abs_top_srcdir)/src/.libs -lomxil-bellagio + libomxdynamicloader_la_CFLAGS = -I$(top_srcdir)/include \ + -I$(top_srcdir)/src \ + -I$(top_srcdir)/src/base \ +Fix dependency issue to allow parallel build + +Signed-off-by: Qais Yousef + +Index: bellagio-0.9.3/src/Makefile.am +=================================================================== +--- bellagio-0.9.3.orig/src/Makefile.am ++++ bellagio-0.9.3/src/Makefile.am +@@ -8,6 +8,7 @@ omxregister_bellagio_SOURCES = omxregist + omxregister_bellagio_CFLAGS = -DOMXILCOMPONENTSPATH=\"$(plugindir)/\" \ + -I$(top_srcdir)/include + omxregister_bellagio_LDFLAGS = -lomxil-bellagio -L$(builddir) ++omxregister_bellagio_DEPENDENCIES = libomxil-bellagio.la + + lib_LTLIBRARIES = libomxil-bellagio.la + libomxil_bellagio_la_SOURCES = component_loader.h \ +We always access globalComponentList[] at indexComponent=-1 which causes a +segfault. Use i as the index instead. + +Signed-off-by: Qais Yousef + +--- bellagio-0.9.3/src/omx_reference_resource_manager.c.old 2012-03-13 10:15:25.743940980 +0000 ++++ bellagio-0.9.3/src/omx_reference_resource_manager.c 2012-03-13 10:18:02.201971009 +0000 +@@ -485,7 +485,6 @@ + OMX_ERRORTYPE RM_removeFromWaitForResource(OMX_COMPONENTTYPE *openmaxStandComp) { + omx_base_component_PrivateType* omx_base_component_Private; + int i = 0; +- int indexComponent = -1; + + DEBUG(DEB_LEV_FUNCTION_NAME, "In %s\n", __func__); + omx_base_component_Private = (omx_base_component_PrivateType*)openmaxStandComp->pComponentPrivate; +@@ -493,16 +492,13 @@ + while(listOfcomponentRegistered[i].component_name != NULL ) { + if (!strcmp(listOfcomponentRegistered[i].component_name, omx_base_component_Private->name)) { + // found component in the list of the resource manager +- removeElemFromList(&globalComponentList[indexComponent], openmaxStandComp); +- break; ++ removeElemFromList(&globalComponentList[i], openmaxStandComp); ++ DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__); ++ return OMX_ErrorNone; + } + i++; + } +- if (indexComponent <0) { +- // No resource to be handled +- DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__); +- return OMX_ErrorNone; +- } +- DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__); ++ // No resource to be handled ++ DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__); + return OMX_ErrorNone; + } + OMX_INDEXTYPE/OMX_INDEXVENDORTYPE in one switch + src/base/omx_base_component.c | 54 ++++++++++++++++++++++------------------- + 1 files changed, 29 insertions(+), 25 deletions(-) +--- a/src/base/omx_base_component.c ++++ a/src/base/omx_base_component.c +@@ -915,14 +915,6 @@ OSCL_EXPORT_REF OSCL_EXPORT_REF OMX_ERRORTYPE omx_base_component_GetParameter( + return OMX_ErrorBadParameter; + } + switch(nParamIndex) { +- case OMX_IndexParameterThreadsID: +- if ((err = checkHeader(ComponentParameterStructure, sizeof(OMX_PARAM_BELLAGIOTHREADS_ID))) != OMX_ErrorNone) { +- break; +- } +- threadID = (OMX_PARAM_BELLAGIOTHREADS_ID *)ComponentParameterStructure; +- threadID->nThreadBufferMngtID = omx_base_component_Private->bellagioThreads->nThreadBufferMngtID; +- threadID->nThreadMessageID = omx_base_component_Private->bellagioThreads->nThreadMessageID; +- break; + case OMX_IndexParamAudioInit: + case OMX_IndexParamVideoInit: + case OMX_IndexParamImageInit: +@@ -988,28 +980,40 @@ OSCL_EXPORT_REF OSCL_EXPORT_REF OMX_ERRORTYPE omx_base_component_GetParameter( + } + } + break; +- case OMX_IndexVendorCompPropTunnelFlags: +- pPropTunnelSetup = (OMX_VENDOR_PROP_TUNNELSETUPTYPE*)ComponentParameterStructure; ++ default: ++ /* additional switch statement for extended OMX_INDEXTYPE */ ++ switch((OMX_INDEXVENDORTYPE) nParamIndex) { ++ case OMX_IndexParameterThreadsID: ++ if ((err = checkHeader(ComponentParameterStructure, sizeof(OMX_PARAM_BELLAGIOTHREADS_ID))) != OMX_ErrorNone) { ++ break; ++ } ++ threadID = (OMX_PARAM_BELLAGIOTHREADS_ID *)ComponentParameterStructure; ++ threadID->nThreadBufferMngtID = omx_base_component_Private->bellagioThreads->nThreadBufferMngtID; ++ threadID->nThreadMessageID = omx_base_component_Private->bellagioThreads->nThreadMessageID; ++ break; ++ case OMX_IndexVendorCompPropTunnelFlags: ++ pPropTunnelSetup = (OMX_VENDOR_PROP_TUNNELSETUPTYPE*)ComponentParameterStructure; + +- if (pPropTunnelSetup->nPortIndex >= (omx_base_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts + +- omx_base_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts + +- omx_base_component_Private->sPortTypesParam[OMX_PortDomainImage].nPorts + +- omx_base_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts)) { ++ if (pPropTunnelSetup->nPortIndex >= (omx_base_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts + ++ omx_base_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts + ++ omx_base_component_Private->sPortTypesParam[OMX_PortDomainImage].nPorts + ++ omx_base_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts)) { + +- DEBUG(DEB_LEV_ERR,"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n", +- __func__,(int)pPropTunnelSetup->nPortIndex,__LINE__); ++ DEBUG(DEB_LEV_ERR,"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n", ++ __func__,(int)pPropTunnelSetup->nPortIndex,__LINE__); + +- return OMX_ErrorBadPortIndex; +- } ++ return OMX_ErrorBadPortIndex; ++ } + +- pPort = omx_base_component_Private->ports[pPropTunnelSetup->nPortIndex]; ++ pPort = omx_base_component_Private->ports[pPropTunnelSetup->nPortIndex]; + +- pPropTunnelSetup->nTunnelSetup.nTunnelFlags = pPort->nTunnelFlags; +- pPropTunnelSetup->nTunnelSetup.eSupplier = pPort->eBufferSupplier; +- break; +- default: +- err = OMX_ErrorUnsupportedIndex; +- break; ++ pPropTunnelSetup->nTunnelSetup.nTunnelFlags = pPort->nTunnelFlags; ++ pPropTunnelSetup->nTunnelSetup.eSupplier = pPort->eBufferSupplier; ++ break; ++ default: ++ err = OMX_ErrorUnsupportedIndex; ++ break; ++ } + } + DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s for component %p\n", __func__, hComponent); + return err; +diff -up libomxil-bellagio-0.9.3/Makefile.am.nodoc libomxil-bellagio-0.9.3/Makefile.am +--- libomxil-bellagio-0.9.3/Makefile.am.nodoc 2011-01-12 08:53:26.000000000 +0100 ++++ libomxil-bellagio-0.9.3/Makefile.am 2012-04-23 13:46:15.410823381 +0200 +@@ -7,7 +7,6 @@ EXTRA_DIST = libomxil-bellagio.spec + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libomxil-bellagio.pc + +-docdir = $(DESTDIR)$(prefix)/share/doc/@PACKAGE@ + doc_DATA = README \ + ChangeLog \ + TODO +diff -up libomxil-bellagio-0.9.3/src/omxregister.c.unused libomxil-bellagio-0.9.3/src/omxregister.c +--- libomxil-bellagio-0.9.3/src/omxregister.c.unused 2011-01-12 08:53:26.000000000 +0100 ++++ libomxil-bellagio-0.9.3/src/omxregister.c 2012-12-10 22:02:28.621695659 +0100 +@@ -248,7 +248,15 @@ static int buildComponentsList(FILE* omx + } + fptr(stComponents); + err = fwrite(lib_absolute_path, 1, strlen(lib_absolute_path), omxregistryfp); +- err = fwrite("\n", 1, 1, omxregistryfp); ++ if (err != strlen(lib_absolute_path)) { ++ DEBUG(DEB_LEV_ERR, "Failed to write %zu bytes to fd %d\n", strlen(lib_absolute_path), fileno(omxregistryfp)); ++ continue; ++ } ++ err = fwrite("\n", 1, strlen(buffer), omxregistryfp); ++ if (err != strlen(buffer)) { ++ DEBUG(DEB_LEV_ERR, "Failed to write %zu bytes to fd %d\n", strlen(buffer), fileno(omxregistryfp)); ++ continue; ++ } + + + for (i = 0; i + + + + libomxil-bellagio + http://omxil.sourceforge.net + + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + LGPLv2.1 + library + An opensource implementation of the OpenMAX Integration Layer API + An opensource implementation of the OpenMAX Integration Layer API + http://downloads.sourceforge.net/project/omxil/omxil/Bellagio%200.9.3/libomxil-bellagio-0.9.3.tar.gz + + + glibc-devel + + + + fedora-fixes.patch + + + + + libomxil-bellagio + + /usr/bin + /usr/lib + /usr/share + /usr/share/man + /usr/share/doc + + + + + libomxil-bellagio-devel + Development files for mesa + + libomxil-bellagio + + + /usr/include + /usr/lib/pkgconfig + + + + + + 2015-04-07 + 0.9.3 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + diff --git a/x11/library/libomxil-bellagio/translations.xml b/x11/library/libomxil-bellagio/translations.xml new file mode 100644 index 0000000000..9722e709ee --- /dev/null +++ b/x11/library/libomxil-bellagio/translations.xml @@ -0,0 +1,8 @@ + + + + libomxil-bellagio + An opensource implementation of the OpenMAX Integration Layer API + An opensource implementation of the OpenMAX Integration Layer API + + diff --git a/x11/library/libvdpau/actions.py b/x11/library/libvdpau/actions.py new file mode 100644 index 0000000000..42172ed191 --- /dev/null +++ b/x11/library/libvdpau/actions.py @@ -0,0 +1,22 @@ +# -*- 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(): + autotools.configure("--disable-static \ + --disable-documentation") + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "COPYING") diff --git a/x11/library/libvdpau/pspec.xml b/x11/library/libvdpau/pspec.xml new file mode 100644 index 0000000000..45eabe645d --- /dev/null +++ b/x11/library/libvdpau/pspec.xml @@ -0,0 +1,122 @@ + + + + + libvdpau + http://freedesktop.org/wiki/Software/VDPAU + + PisiLinux Community + admins@pisilinux.org + + MIT + library + Wrapper library for the Video Decode and Presentation API + VDPAU is the Video Decode and Presentation API for UNIX. It provides an interface to video decode acceleration and presentation hardware present in modern GPUs. + http://people.freedesktop.org/~aplattner/vdpau/libvdpau-0.9.tar.gz + + libXext-devel + + + + + libvdpau + + libXext + + + /etc + /usr/lib + /usr/share/doc + + + + + libvdpau-devel + Development files for libvdpau + + libvdpau + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + + libvdpau-32bit + emul32 + 32-bit shared libraries for libvdpau + emul32 + + glibc-32bit + libXext-32bit + + + libvdpau + glibc-32bit + libXext-32bit + + + /usr/lib32 + + + + + 2015-01-22 + 0.9 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-09-01 + 0.8 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 0.7 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-20 + 0.7 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-10-07 + 0.7 + Version bump, clean actions.py. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 0.6 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-06 + 0.6 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-10-10 + 0.5 + First release + Marcinn Bojara + marcin@pisilinux.org + + + diff --git a/x11/library/libvdpau/translations.xml b/x11/library/libvdpau/translations.xml new file mode 100644 index 0000000000..ac5fe6ad69 --- /dev/null +++ b/x11/library/libvdpau/translations.xml @@ -0,0 +1,18 @@ + + + + libvdpau + Video kodu çözme ve sunma API'si için ara kitaplık + VDPAU (Video Decode and Presentation API for UNIX), modern grafik işlemcilerde yer alan video kod çözümü hızlandırma ve sunma donanımına bir arayüz sağlar. + + + + libvdpau-devel + libvdpau için geliştirme dosyaları + + + + libvdpau-32bit + libvdpau için 32-bit paylaşımlı kitaplıklar + + diff --git a/x11/library/libxshmfence/actions.py b/x11/library/libxshmfence/actions.py new file mode 100644 index 0000000000..530b5df33f --- /dev/null +++ b/x11/library/libxshmfence/actions.py @@ -0,0 +1,23 @@ +# -*- 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(): + autotools.autoreconf("-vif") + autotools.configure("--disable-static") + 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.dodoc("ChangeLog", "COPYING", "README") diff --git a/x11/library/libxshmfence/pspec.xml b/x11/library/libxshmfence/pspec.xml new file mode 100644 index 0000000000..a2aac4d9b7 --- /dev/null +++ b/x11/library/libxshmfence/pspec.xml @@ -0,0 +1,90 @@ + + + + + libxshmfence + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + X.Org libxshmfence library + libxshmfence is the X Window System video extension library. + mirrors://xorg/individual/lib/libxshmfence-1.2.tar.bz2 + + libXext-devel + util-macros + + + + + libxshmfence + + libXext + + + /usr/lib + /usr/share/doc + + + + + libxshmfence-devel + Development files for libxshmfence + + libxshmfence + libXext-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + + libxshmfence-32bit + emul32 + 32-bit shared libraries for libxshmfence + emul32 + + libX11-32bit + libXext-32bit + + + libxshmfence + libX11-32bit + libXext-32bit + + + /usr/lib32 + + + + + + 2015-05-05 + 1.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 1.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.1 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + diff --git a/x11/library/mesa/pspec.xml b/x11/library/mesa/pspec.xml index b06c88cd31..2159f2cd9b 100755 --- a/x11/library/mesa/pspec.xml +++ b/x11/library/mesa/pspec.xml @@ -18,6 +18,7 @@ llvm-libs llvm-clang-devel xorg-proto + expat-devel libdrm-devel libXext-devel wayland-devel @@ -29,6 +30,7 @@ libXxf86vm-devel libXvMC-devel libXv-devel + eudev-devel python-mako libxshmfence-devel @@ -38,6 +40,8 @@ mesa llvm-libs + llvm-clang + expat libdrm libXext libXfixes @@ -50,7 +54,6 @@ libdrm-nouveau wayland-client wayland-server - llvm-clang libclc libxshmfence @@ -102,7 +105,7 @@ libdrm-32bit libXext-32bit libXvMC-32bit - libudev-32bit + eudev-32bit wayland-32bit libvdpau-32bit libXfixes-32bit diff --git a/x11/library/wayland/pspec.xml b/x11/library/wayland/pspec.xml index 6d4dd2f714..19af2df457 100755 --- a/x11/library/wayland/pspec.xml +++ b/x11/library/wayland/pspec.xml @@ -13,10 +13,17 @@ Wayland Compositor Infrastructure Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. http://wayland.freedesktop.org/releases/wayland-1.7.0.tar.xz + + libffi-devel + expat-devel + wayland + + expat + /usr/bin /usr/share/doc/ @@ -81,10 +88,14 @@ emul32 libffi-32bit + glibc-32bit + expat-32bit wayland + expat-32bit libffi-32bit + glibc-32bit /usr/lib32 From 9cb3e467855d02d74748d918dd0354625996ca07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Sun, 28 Jun 2015 13:45:25 +0300 Subject: [PATCH 072/152] fix deps. --- programming/build/llvm/pspec.xml | 18 +++++++++++++++++- programming/misc/libtalloc/pspec.xml | 4 ++++ x11/library/libXv/pspec.xml | 2 ++ x11/library/libXvMC/pspec.xml | 4 +++- x11/library/libXxf86vm/pspec.xml | 5 +++-- x11/library/libxshmfence/pspec.xml | 2 ++ x11/library/wayland/pspec.xml | 2 ++ 7 files changed, 33 insertions(+), 4 deletions(-) diff --git a/programming/build/llvm/pspec.xml b/programming/build/llvm/pspec.xml index 8934395572..c053e4fb08 100644 --- a/programming/build/llvm/pspec.xml +++ b/programming/build/llvm/pspec.xml @@ -22,6 +22,7 @@ ncurses-devel ocaml libffi-devel + groff libedit-devel binutils @@ -38,6 +39,9 @@ library llvm-libs + libxml2 + libgcc + ncurses /usr/bin @@ -59,6 +63,13 @@ llvm-libs library + + zlib + libffi + libedit + libgcc + ncurses + /usr/lib/llvm/libLLVM-3* /usr/share/licenses/llvm-libs/LICENSE @@ -98,7 +109,9 @@ A C language family front-end for LLVM The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler. - llvm + llvm-libs + libgcc + ncurses /usr/bin/clang* @@ -143,6 +156,9 @@ llvm + libgcc + libedit + ncurses-32bit zlib-32bit libffi-32bit diff --git a/programming/misc/libtalloc/pspec.xml b/programming/misc/libtalloc/pspec.xml index c2951dab35..9c15c3d76a 100644 --- a/programming/misc/libtalloc/pspec.xml +++ b/programming/misc/libtalloc/pspec.xml @@ -17,6 +17,7 @@ docbook-xsl libxslt-devel python-devel + attr-devel @@ -24,6 +25,7 @@ libtalloc python + attr /usr/lib @@ -53,9 +55,11 @@ emul32 glibc-32bit + attr-32bit glibc-32bit + attr-32bit libtalloc diff --git a/x11/library/libXv/pspec.xml b/x11/library/libXv/pspec.xml index 8d251eff84..d8fa7805b2 100644 --- a/x11/library/libXv/pspec.xml +++ b/x11/library/libXv/pspec.xml @@ -14,6 +14,7 @@ LibXv is the X Window System video extension library. mirrors://xorg/individual/lib/libXv-1.0.10.tar.bz2 + libX11-devel libXext-devel util-macros @@ -22,6 +23,7 @@ libXv + libX11 libXext diff --git a/x11/library/libXvMC/pspec.xml b/x11/library/libXvMC/pspec.xml index 79ecce4ef0..5bc3186082 100644 --- a/x11/library/libXvMC/pspec.xml +++ b/x11/library/libXvMC/pspec.xml @@ -14,8 +14,10 @@ LibXvMC is the X-Video Motion Compensation Library. mirrors://xorg/individual/lib/libXvMC-1.0.8.tar.bz2 + libX11-devel libXext-devel libXv-devel + xorg-proto util-macros @@ -24,6 +26,7 @@ libXvMC libXext + libX11 /usr/lib @@ -53,7 +56,6 @@ 32-bit shared libraries for libXvMC emul32 - xorg-proto libXv-32bit libX11-32bit libXext-32bit diff --git a/x11/library/libXxf86vm/pspec.xml b/x11/library/libXxf86vm/pspec.xml index 9f391b8efb..33b20f7175 100644 --- a/x11/library/libXxf86vm/pspec.xml +++ b/x11/library/libXxf86vm/pspec.xml @@ -15,13 +15,15 @@ mirrors://xorg/individual/lib/libXxf86vm-1.1.3.tar.bz2 libXext-devel - util-macros + libX11-devel + util-macros libXxf86vm + libX11 libXext @@ -55,7 +57,6 @@ libXxf86vm - xorg-proto libXext-32bit libX11-32bit diff --git a/x11/library/libxshmfence/pspec.xml b/x11/library/libxshmfence/pspec.xml index a2aac4d9b7..c7c54f691b 100644 --- a/x11/library/libxshmfence/pspec.xml +++ b/x11/library/libxshmfence/pspec.xml @@ -51,11 +51,13 @@ 32-bit shared libraries for libxshmfence emul32 + glibc-32bit libX11-32bit libXext-32bit libxshmfence + glibc-32bit libX11-32bit libXext-32bit diff --git a/x11/library/wayland/pspec.xml b/x11/library/wayland/pspec.xml index 19af2df457..746ee95565 100755 --- a/x11/library/wayland/pspec.xml +++ b/x11/library/wayland/pspec.xml @@ -37,6 +37,7 @@ wayland-client Wayland client library + libffi wayland @@ -60,6 +61,7 @@ wayland-server Wayland server library + libffi wayland From 8861b53d7c6f844e51cd24776d097a450b5e8a6a Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 13:39:24 +0200 Subject: [PATCH 073/152] kdeclarative version bump and check --- desktop/kde/framework/kdeclarative/actions.py | 24 ++++++ desktop/kde/framework/kdeclarative/pspec.xml | 80 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100755 desktop/kde/framework/kdeclarative/actions.py create mode 100755 desktop/kde/framework/kdeclarative/pspec.xml diff --git a/desktop/kde/framework/kdeclarative/actions.py b/desktop/kde/framework/kdeclarative/actions.py new file mode 100755 index 0000000000..5945262b06 --- /dev/null +++ b/desktop/kde/framework/kdeclarative/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQML_INSTALL_DIR=lib/qt5/qml \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING", "COPYING.LIB") diff --git a/desktop/kde/framework/kdeclarative/pspec.xml b/desktop/kde/framework/kdeclarative/pspec.xml new file mode 100755 index 0000000000..dcc4b860ac --- /dev/null +++ b/desktop/kde/framework/kdeclarative/pspec.xml @@ -0,0 +1,80 @@ + + + + + kdeclarative + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + Integration of QML and KDE workspaces + KDeclarative provides integration of QML and KDE workspaces. + http://download.kde.org/stable/frameworks/5.11/kdeclarative-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + kdeclarative + + qt5-base + libgcc + libepoxy + qt5-declarative + kpackage + kconfig + kservice + kcoreaddons + kglobalaccel + ki18n + kiconthemes + kio + kwidgetsaddons + kwindowsystem + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kdeclarative-devel + Development files for kdeclarative + + qt5-base-devel + kdeclarative + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 5eb42ec0fd9f6e0e35a270e44e97ad2c0a1dbcbf Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 13:46:43 +0200 Subject: [PATCH 074/152] kdewebkit version bump and check --- desktop/kde/framework/kdewebkit/actions.py | 26 ++++++++ desktop/kde/framework/kdewebkit/pspec.xml | 76 ++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100755 desktop/kde/framework/kdewebkit/actions.py create mode 100755 desktop/kde/framework/kdewebkit/pspec.xml diff --git a/desktop/kde/framework/kdewebkit/actions.py b/desktop/kde/framework/kdewebkit/actions.py new file mode 100755 index 0000000000..5c3f7e92e2 --- /dev/null +++ b/desktop/kde/framework/kdewebkit/actions.py @@ -0,0 +1,26 @@ +#!/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 pisitools +from pisi.actionsapi import cmaketools +from pisi.actionsapi import get + +def setup(): + #shelltools.makedirs("build") + #shelltools.cd("build") + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB", "ISSUES") diff --git a/desktop/kde/framework/kdewebkit/pspec.xml b/desktop/kde/framework/kdewebkit/pspec.xml new file mode 100755 index 0000000000..78a6337cb7 --- /dev/null +++ b/desktop/kde/framework/kdewebkit/pspec.xml @@ -0,0 +1,76 @@ + + + + + kdewebkit + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 WebKit integration + KdeWebkit provides KDE integration of the QtWebKit library. + http://download.kde.org/stable/frameworks/5.11/kdewebkit-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + kdewebkit + + qt5-webkit + libgcc + kconfig + kjobwidgets + qt5-base + kcoreaddons + kparts + kservice + kwallet + kio + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/mkspecs/modules/ + /usr/share/doc + + + + + kdewebkit-devel + Development files for kdewebkit + + qt5-base-devel + kdewebkit + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 6120273c97ab427de57fe74777544e98bf66ecd6 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 13:51:00 +0200 Subject: [PATCH 075/152] kpeople version bump and check --- desktop/kde/framework/kpeople/actions.py | 29 +++++++++ desktop/kde/framework/kpeople/pspec.xml | 76 ++++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100755 desktop/kde/framework/kpeople/actions.py create mode 100755 desktop/kde/framework/kpeople/pspec.xml diff --git a/desktop/kde/framework/kpeople/actions.py b/desktop/kde/framework/kpeople/actions.py new file mode 100755 index 0000000000..3ac5ef81de --- /dev/null +++ b/desktop/kde/framework/kpeople/actions.py @@ -0,0 +1,29 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + pisitools.ldflags.add("-Wl,-rpath,/usr/lib") + cmaketools.configure("-DBUILD_TESTING=OFF \ + -DLIB_INSTALL_DIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIBEXEC_INSTALL_DIR=libexec \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules ") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/framework/kpeople/pspec.xml b/desktop/kde/framework/kpeople/pspec.xml new file mode 100755 index 0000000000..e838aabc11 --- /dev/null +++ b/desktop/kde/framework/kpeople/pspec.xml @@ -0,0 +1,76 @@ + + + + + kpeople + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + A contact aggregation library for KDE + KPeople is a Framework for fetching contacts from different sources (Telepathy, Akonadi, Facebook, etc) and unifying them into a same model. + http://download.kde.org/stable/frameworks/5.11/kpeople-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + + + + kpeople + + qt5-base + qt5-declarative + libgcc + kconfig + qt5-declarative + kcoreaddons + kservice + kwidgetsaddons + ki18n + kitemviews + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kpeople-devel + Development files for kpeople + + qt5-base-devel + kpeople + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From a920112143065216e6046a2e9af63e702b876d7f Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 13:55:23 +0200 Subject: [PATCH 076/152] kcmutils version bump and check --- desktop/kde/framework/kcmutils/actions.py | 24 +++++++ desktop/kde/framework/kcmutils/pspec.xml | 80 +++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100755 desktop/kde/framework/kcmutils/actions.py create mode 100755 desktop/kde/framework/kcmutils/pspec.xml diff --git a/desktop/kde/framework/kcmutils/actions.py b/desktop/kde/framework/kcmutils/actions.py new file mode 100755 index 0000000000..e2f17d2484 --- /dev/null +++ b/desktop/kde/framework/kcmutils/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kcmutils/pspec.xml b/desktop/kde/framework/kcmutils/pspec.xml new file mode 100755 index 0000000000..3334aec551 --- /dev/null +++ b/desktop/kde/framework/kcmutils/pspec.xml @@ -0,0 +1,80 @@ + + + + + kcmutils + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + Utilities for interacting with KCModules + KCMUtils provides various classes to work with KCModules. KCModules can be created with the KConfigWidgets framework. + http://download.kde.org/stable/frameworks/5.11/kcmutils-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + + + + kcmutils + + qt5-base + qt5-declarative + libgcc + kdeclarative + kconfigwidgets + kwidgetsaddons + kconfig + kauth + kcoreaddons + ki18n + kiconthemes + kitemviews + kservice + kxmlgui + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kcmutils-devel + Development files for kcmutils + + qt5-base-devel + kcmutils + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 6c453223a0a41bc9ffb011586218e0d7c1f0c013 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 14:18:22 +0200 Subject: [PATCH 077/152] ktexteditor version bump and check --- desktop/kde/framework/ktexteditor/actions.py | 24 ++++++ desktop/kde/framework/ktexteditor/pspec.xml | 87 ++++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100755 desktop/kde/framework/ktexteditor/actions.py create mode 100755 desktop/kde/framework/ktexteditor/pspec.xml diff --git a/desktop/kde/framework/ktexteditor/actions.py b/desktop/kde/framework/ktexteditor/actions.py new file mode 100755 index 0000000000..cc99c4db53 --- /dev/null +++ b/desktop/kde/framework/ktexteditor/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DLIB_INSTALL_DIR=lib \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/ktexteditor/pspec.xml b/desktop/kde/framework/ktexteditor/pspec.xml new file mode 100755 index 0000000000..3971c2ea62 --- /dev/null +++ b/desktop/kde/framework/ktexteditor/pspec.xml @@ -0,0 +1,87 @@ + + + + + ktexteditor + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + KDE5 text editor libraries + KTextEditor provides a powerful text editor component that you can embed in your application. + http://download.kde.org/stable/frameworks/5.11/ktexteditor-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + ktexteditor + + qt5-script + qt5-base + libgcc + ktextwidgets + kwidgetsaddons + kconfigwidgets + kjobwidgets + kiconthemes + kcoreaddons + kcompletion + kitemviews + kxmlgui + kcodecs + karchive + kguiaddons + kconfig + ki18n + kio + ki18n + kparts + sonnet + + + /etc + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + ktexteditor-devel + Development files for ktexteditor + + qt5-base-devel + ktexteditor + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 56af236d87fc390e283d45f45e8fa8d534c47d6d Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 14:26:42 +0200 Subject: [PATCH 078/152] knewstuff version bump and check --- desktop/kde/framework/knewstuff/actions.py | 19 +++++ desktop/kde/framework/knewstuff/pspec.xml | 86 ++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 desktop/kde/framework/knewstuff/actions.py create mode 100755 desktop/kde/framework/knewstuff/pspec.xml diff --git a/desktop/kde/framework/knewstuff/actions.py b/desktop/kde/framework/knewstuff/actions.py new file mode 100644 index 0000000000..11b2858877 --- /dev/null +++ b/desktop/kde/framework/knewstuff/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/knewstuff/pspec.xml b/desktop/kde/framework/knewstuff/pspec.xml new file mode 100755 index 0000000000..36e42d5f46 --- /dev/null +++ b/desktop/kde/framework/knewstuff/pspec.xml @@ -0,0 +1,86 @@ + + + + + knewstuff + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + Framework for downloading and sharing additional application data + The KNewStuff library implements collaborative data sharing for applications. + http://download.kde.org/stable/frameworks/5.11/knewstuff-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + knewstuff + + qt5-base + boost + libgcc + kwidgetsaddons + ktextwidgets + kiconthemes + kcompletion + kitemviews + karchive + kf5-attica + kconfig + kcoreaddons + kcmutils + kdeclarative + kdbusaddons + ki18n + kio + kglobalaccel + kservice + kxmlgui + kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + knewstuff-devel + Development files for knewstuff + + qt5-base-devel + knewstuff + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From b68642016e2dbe612cbeaebe4d7710a486680f99 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 14:37:06 +0200 Subject: [PATCH 079/152] threadweaver version bump and check --- desktop/kde/framework/threadweaver/actions.py | 23 +++++++ desktop/kde/framework/threadweaver/pspec.xml | 66 +++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 desktop/kde/framework/threadweaver/actions.py create mode 100644 desktop/kde/framework/threadweaver/pspec.xml diff --git a/desktop/kde/framework/threadweaver/actions.py b/desktop/kde/framework/threadweaver/actions.py new file mode 100644 index 0000000000..25e5a4e58b --- /dev/null +++ b/desktop/kde/framework/threadweaver/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md","COPYING.LIB") diff --git a/desktop/kde/framework/threadweaver/pspec.xml b/desktop/kde/framework/threadweaver/pspec.xml new file mode 100644 index 0000000000..0adb94dee5 --- /dev/null +++ b/desktop/kde/framework/threadweaver/pspec.xml @@ -0,0 +1,66 @@ + + + + + threadweaver + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Multi-threaded programming framework for KDE + ThreadWeaver is a helper for multithreaded programming. It uses a job-based interface to queue tasks and execute them in an efficient way. + http://download.kde.org/stable/frameworks/5.11/threadweaver-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + threadweaver + + qt5-base + libgcc + + + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + threadweaver-devel + Development files for threadweaver + + qt5-base-devel + threadweaver + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From f0d11acbccb6ad4b50bd0a531679ff8bcaaf3f59 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 14:44:24 +0200 Subject: [PATCH 080/152] kdesignerplugin version bump and check --- .../kde/framework/kdesignerplugin/actions.py | 24 +++++++ .../kde/framework/kdesignerplugin/pspec.xml | 72 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100755 desktop/kde/framework/kdesignerplugin/actions.py create mode 100755 desktop/kde/framework/kdesignerplugin/pspec.xml diff --git a/desktop/kde/framework/kdesignerplugin/actions.py b/desktop/kde/framework/kdesignerplugin/actions.py new file mode 100755 index 0000000000..0edd518c7e --- /dev/null +++ b/desktop/kde/framework/kdesignerplugin/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DLIB_INSTALL_DIR=lib \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/framework/kdesignerplugin/pspec.xml b/desktop/kde/framework/kdesignerplugin/pspec.xml new file mode 100755 index 0000000000..a00d24276d --- /dev/null +++ b/desktop/kde/framework/kdesignerplugin/pspec.xml @@ -0,0 +1,72 @@ + + + + + kdesignerplugin + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + QT Designer integration for KDE5 Frameworks widgets + This framework provides plugins for Qt Designer that allow it to display the widgets provided by various KDE frameworks, as well as a utility (kgendesignerplugin) that can be used to generate other such plugins from ini-style description files. + http://download.kde.org/stable/frameworks/5.11/kdesignerplugin-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + kdoctools-devel + extra-cmake-modules + + + + + kdesignerplugin + + qt5-base + libgcc + kdewebkit + kcoreaddons + kitemviews + kconfig + sonnet + kcompletion + kconfigwidgets + kiconthemes + kio + kplotting + ktextwidgets + kwidgetsaddons + kxmlgui + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 822344a3b04754a95193afd8e7bcdbc48ce42cd3 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 15:31:50 +0200 Subject: [PATCH 081/152] kactivities version bump and check --- desktop/kde/framework/kactivities/actions.py | 33 +++++++ .../kactivities/files/build-source.patch | 17 ++++ .../kactivities/files/kamd-rename.patch | 91 ++++++++++++++++++ desktop/kde/framework/kactivities/pspec.xml | 94 +++++++++++++++++++ 4 files changed, 235 insertions(+) create mode 100755 desktop/kde/framework/kactivities/actions.py create mode 100644 desktop/kde/framework/kactivities/files/build-source.patch create mode 100644 desktop/kde/framework/kactivities/files/kamd-rename.patch create mode 100755 desktop/kde/framework/kactivities/pspec.xml diff --git a/desktop/kde/framework/kactivities/actions.py b/desktop/kde/framework/kactivities/actions.py new file mode 100755 index 0000000000..54ae37f90a --- /dev/null +++ b/desktop/kde/framework/kactivities/actions.py @@ -0,0 +1,33 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +def setup(): + shelltools.makedirs("%s/build" %get.workDIR()) + + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DKACTIVITIES_ENABLE_EXCEPTIONS=OFF \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DQML_INSTALL_DIR=lib/qt5/qml \ + -DLIB_INSTALL_DIR=lib \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DLOCALE_INSTALL_DIR=/usr/share/locale \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "MAINTAINER", "TODO") diff --git a/desktop/kde/framework/kactivities/files/build-source.patch b/desktop/kde/framework/kactivities/files/build-source.patch new file mode 100644 index 0000000000..7546123148 --- /dev/null +++ b/desktop/kde/framework/kactivities/files/build-source.patch @@ -0,0 +1,17 @@ +--- a/CMakeLists.txt 2014-09-09 02:40:08.000000000 +0300 ++++ b/CMakeLists.txt 2014-09-22 17:47:14.215639453 +0300 +@@ -6,13 +6,6 @@ + + set(REQUIRED_QT_VERSION 5.2.0) + +-# We don't build in-source +-if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") +- message ( +- FATAL_ERROR +- "kactivities require an out of source build. Please create a separate build directory and run 'cmake path_to_plasma [options]' there." +- ) +-endif () + + # Extra CMake stuff + find_package (ECM 1.2.0 REQUIRED NO_MODULE) + diff --git a/desktop/kde/framework/kactivities/files/kamd-rename.patch b/desktop/kde/framework/kactivities/files/kamd-rename.patch new file mode 100644 index 0000000000..50f109f79a --- /dev/null +++ b/desktop/kde/framework/kactivities/files/kamd-rename.patch @@ -0,0 +1,91 @@ +diff --git a/autotests/Process.cpp b/autotests/Process.cpp +index a7a0507..afa4bf1 100644 +--- a/autotests/Process.cpp ++++ b/autotests/Process.cpp +@@ -83,7 +83,7 @@ void Modifier::initTestCase() + // qDebug() << env; + + s_process->setEnvironment(env); +- s_process->start(QStringLiteral(KAMD_INSTALL_PREFIX "/bin/kactivitymanagerd")); ++ s_process->start(QStringLiteral(KAMD_INSTALL_PREFIX "/bin/kactivitymanagerd5")); + s_process->waitForStarted(); + + +diff --git a/src/lib/core/manager_p.cpp b/src/lib/core/manager_p.cpp +index 077c634..7be66dd 100644 +--- a/src/lib/core/manager_p.cpp ++++ b/src/lib/core/manager_p.cpp +@@ -94,11 +94,11 @@ Manager *Manager::self() + ->property("org.kde.KActivities.core.disableAutostart") + .toBool()) { + qCDebug(KAMD_CORELIB) << "Starting the activity manager daemon"; +- QProcess::startDetached(QStringLiteral("kactivitymanagerd")); ++ QProcess::startDetached(QStringLiteral("kactivitymanagerd5")); + } + + #else +- QProcess::startDetached(QStringLiteral("kactivitymanagerd")); ++ QProcess::startDetached(QStringLiteral("kactivitymanagerd5")); + #endif + } + +diff --git a/src/service/Application.cpp b/src/service/Application.cpp +index 6b0e3e1..3894540 100644 +--- a/src/service/Application.cpp ++++ b/src/service/Application.cpp +@@ -280,7 +280,7 @@ int main(int argc, char **argv) + application.setApplicationName(QStringLiteral("ActivityManager")); + application.setOrganizationDomain(QStringLiteral("kde.org")); + +- // KAboutData about("kactivitymanagerd", Q_NULLPTR, ki18n("KDE Activity Manager"), "3.0", ++ // KAboutData about("kactivitymanagerd5", Q_NULLPTR, ki18n("KDE Activity Manager"), "3.0", + // ki18n("KDE Activity Management Service"), + // KAboutData::License_GPL, + // ki18n("(c) 2010, 2011, 2012 Ivan Cukic"), KLocalizedString(), +@@ -333,7 +333,7 @@ int main(int argc, char **argv) + // Starting the dameon + + QProcess::startDetached( +- KAMD_INSTALL_PREFIX "/bin/kactivitymanagerd", ++ KAMD_INSTALL_PREFIX "/bin/kactivitymanagerd5", + QStringList{"start-daemon"} + ); + +diff --git a/src/service/CMakeLists.txt b/src/service/CMakeLists.txt +index 4b4978b..2220f34 100644 +--- a/src/service/CMakeLists.txt ++++ b/src/service/CMakeLists.txt +@@ -62,9 +62,9 @@ qt5_add_dbus_adaptor ( + Features.h Features + ) + +-add_executable (kactivitymanagerd ${kactivitymanager_SRCS}) ++add_executable (kactivitymanagerd5 ${kactivitymanager_SRCS}) + +-target_link_libraries (kactivitymanagerd ++target_link_libraries (kactivitymanagerd5 + Qt5::Core + Qt5::DBus + Qt5::Widgets +@@ -84,7 +84,7 @@ install (FILES + ) + + install (TARGETS +- kactivitymanagerd ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ++ kactivitymanagerd5 ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} + ) + + install (FILES +diff --git a/src/service/files/kactivitymanagerd.desktop b/src/service/files/kactivitymanagerd.desktop +index be5faa1..3c9b9a9 100644 +--- a/src/service/files/kactivitymanagerd.desktop ++++ b/src/service/files/kactivitymanagerd.desktop +@@ -4,7 +4,7 @@ Icon=preferences-activities + X-KDE-ServiceTypes= + X-DBUS-StartupType=Unique + X-KDE-StartupNotify=false +-Exec=kactivitymanagerd ++Exec=kactivitymanagerd5 + + Name=Activity Manager + Name[ar]=مدير الأنشطة diff --git a/desktop/kde/framework/kactivities/pspec.xml b/desktop/kde/framework/kactivities/pspec.xml new file mode 100755 index 0000000000..63e573cadc --- /dev/null +++ b/desktop/kde/framework/kactivities/pspec.xml @@ -0,0 +1,94 @@ + + + + + kactivities + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Library for KDE's Plasma Activities support + Kactivities provides an API for using and interacting with the Plasma Activities Manager. + http://download.kde.org/stable/frameworks/5.11/kactivities-5.11.0.tar.xz + + qt5-base-devel + python3 + boost-devel + extra-cmake-modules + + + build-source.patch + + + + + kactivities + + qt5-base + qt5-declarative + libgcc + kconfig + kconfigwidgets + kcoreaddons + kcmutils + kdeclarative + kdbusaddons + ki18n + kio + kglobalaccel + kservice + kxmlgui + kwindowsystem + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kactivities + + + kactivities + + + + + kactivities-devel + Development files for kactivities + + qt5-base-devel + boost-devel + kactivities + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 895aa5691b76af7a17e91a8b953374ae179e11c9 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 15:59:41 +0200 Subject: [PATCH 082/152] plasma-framework version bump and check --- .../kde/framework/plasma-framework/actions.py | 26 +++++ .../kde/framework/plasma-framework/pspec.xml | 101 ++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100755 desktop/kde/framework/plasma-framework/actions.py create mode 100755 desktop/kde/framework/plasma-framework/pspec.xml diff --git a/desktop/kde/framework/plasma-framework/actions.py b/desktop/kde/framework/plasma-framework/actions.py new file mode 100755 index 0000000000..9cf86fce51 --- /dev/null +++ b/desktop/kde/framework/plasma-framework/actions.py @@ -0,0 +1,26 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DQML_INSTALL_DIR=lib/qt5/qml \ + -DLIB_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DLOCALE_INSTALL_DIR=/usr/share/locale \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("README.md", "COPYING", "COPYING.LIB") diff --git a/desktop/kde/framework/plasma-framework/pspec.xml b/desktop/kde/framework/plasma-framework/pspec.xml new file mode 100755 index 0000000000..d62e3fb732 --- /dev/null +++ b/desktop/kde/framework/plasma-framework/pspec.xml @@ -0,0 +1,101 @@ + + + + + plasma-framework + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Plasma library and runtime components based upon KDE Frameworks 5 and Qt5 + Plasma library and runtime components based upon KF5 and Qt5 + http://download.kde.org/stable/frameworks/5.11/plasma-framework-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + kdoctools-devel + libxcb-devel + libX11-devel + libgcc + extra-cmake-modules + + + + + plasma-framework + + qt5-base + qt5-svg + qt5-script + qt5-x11extras + qt5-declarative + mesa + libgcc + libX11 + libxcb + kf5-kactivities + knotifications + kpackage + karchive + kconfig + kconfigwidgets + kcoreaddons + kdbusaddons + kdeclarative + kdoctools + kglobalaccel + kguiaddons + ki18n + kiconthemes + kio + kparts + kservice + kwindowsystem + kxmlgui + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + plasma-framework-devel + Development files for plasma-framework + + qt5-base-devel + mesa-devel + plasma-framework + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 916de22babc4ec0e426a421548fb9a6a9a05676a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hakan=20Y=C4=B1ld=C4=B1z?= Date: Sun, 28 Jun 2015 17:17:01 +0300 Subject: [PATCH 083/152] gstreamer fixed --- multimedia/video/gstreamer/pspec.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/multimedia/video/gstreamer/pspec.xml b/multimedia/video/gstreamer/pspec.xml index 87a1071184..999787ba04 100644 --- a/multimedia/video/gstreamer/pspec.xml +++ b/multimedia/video/gstreamer/pspec.xml @@ -23,6 +23,14 @@ gstreamer + + gobject-introspection-devel + libxml2-devel + + + gobject-introspection + libxml2 + /usr/bin /usr/lib @@ -55,11 +63,13 @@ emul32 glib2-32bit + glibc-32bit libxml2-32bit gstreamer glib2-32bit + glibc-32bit libxml2-32bit @@ -68,6 +78,13 @@ + + 2015-06-26 + 0.10.36 + Rebuilt, fixed. + Hakan Yıldız + hknyldz93@gmail.com + 2014-05-19 0.10.36 From 86ecb0054073541c4a1b8b39992047cd923ae49b Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 16:32:56 +0200 Subject: [PATCH 084/152] kdelibs4-support version bump and check --- .../porting-aids/kdelibs4-support/actions.py | 19 +++ .../porting-aids/kdelibs4-support/pspec.xml | 108 ++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 desktop/kde/porting-aids/kdelibs4-support/actions.py create mode 100755 desktop/kde/porting-aids/kdelibs4-support/pspec.xml diff --git a/desktop/kde/porting-aids/kdelibs4-support/actions.py b/desktop/kde/porting-aids/kdelibs4-support/actions.py new file mode 100644 index 0000000000..29911258e6 --- /dev/null +++ b/desktop/kde/porting-aids/kdelibs4-support/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure("-DHTML_INSTAL_DIR=/usr/share/doc/kdelibs4support/html") + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/porting-aids/kdelibs4-support/pspec.xml b/desktop/kde/porting-aids/kdelibs4-support/pspec.xml new file mode 100755 index 0000000000..395d1784a5 --- /dev/null +++ b/desktop/kde/porting-aids/kdelibs4-support/pspec.xml @@ -0,0 +1,108 @@ + + + + + kdelibs4-support + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Code and utilities to ease the transition to KDE Frameworks 5 + KDELibs4Support provides libraries to port KDE4 programs to QT5/KDE5 + http://download.kde.org/stable/frameworks/5.11/portingAids/kdelibs4support-5.11.0.tar.xz + + qt5-base-devel + perl-URI + qt5-tools-devel + libSM-devel + docbook-xml + openssl-devel + libX11-devel + intltool + kdoctools-devel + NetworkManager-devel + extra-cmake-modules + + + + + kdelibs4-support + + qt5-base + libICE + libgcc + libX11 + qt5-svg + qt5-x11extras + libSM + kauth + solid + kcodecs + kcoreaddons + kjobwidgets + kcompletion + kconfig + kconfigwidgets + kcrash + kdbusaddons + kglobalaccel + kguiaddons + ki18n + kiconthemes + kio + kitemviews + knotifications + kparts + kservice + ktextwidgets + kxmlgui + kwindowsystem + kwidgetsaddons + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + + kdelibs4-support-devel + Development files for kdelibs4-support + + qt5-base-devel + kdelibs4-support + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 5715e847aaf10fa94710266c74b50c7fe7e489ff Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 16:51:25 +0200 Subject: [PATCH 085/152] kjs version bump and check --- desktop/kde/porting-aids/kjs/actions.py | 19 +++++++ desktop/kde/porting-aids/kjs/pspec.xml | 73 +++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 desktop/kde/porting-aids/kjs/actions.py create mode 100755 desktop/kde/porting-aids/kjs/pspec.xml diff --git a/desktop/kde/porting-aids/kjs/actions.py b/desktop/kde/porting-aids/kjs/actions.py new file mode 100644 index 0000000000..11b2858877 --- /dev/null +++ b/desktop/kde/porting-aids/kjs/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/porting-aids/kjs/pspec.xml b/desktop/kde/porting-aids/kjs/pspec.xml new file mode 100755 index 0000000000..9bd945d05e --- /dev/null +++ b/desktop/kde/porting-aids/kjs/pspec.xml @@ -0,0 +1,73 @@ + + + + + kjs + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + JavaScript engine for KDE + This library provides an ECMAScript compatible interpreter. The ECMA standard is based on well known scripting languages such as Netscape's JavaScript and Microsoft's JScript. + http://download.kde.org/stable/frameworks/5.11/portingAids/kjs-5.11.0.tar.xz + + qt5-base-devel + libpcre-devel + libgcc + kdoctools-devel + extra-cmake-modules + + + + + kjs + + qt5-base + libgcc + libpcre + + + /usr/bin + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + + + kjs-devel + Development files for kjs + + qt5-base-devel + kjs + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 173738e4612eec0cf467b1047a28604b6d672cd3 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 17:39:49 +0200 Subject: [PATCH 086/152] khtml version bump and check --- desktop/kde/porting-aids/khtml/actions.py | 19 ++++ desktop/kde/porting-aids/khtml/pspec.xml | 102 ++++++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 desktop/kde/porting-aids/khtml/actions.py create mode 100755 desktop/kde/porting-aids/khtml/pspec.xml diff --git a/desktop/kde/porting-aids/khtml/actions.py b/desktop/kde/porting-aids/khtml/actions.py new file mode 100644 index 0000000000..7ad3db044b --- /dev/null +++ b/desktop/kde/porting-aids/khtml/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md") diff --git a/desktop/kde/porting-aids/khtml/pspec.xml b/desktop/kde/porting-aids/khtml/pspec.xml new file mode 100755 index 0000000000..863b15ce33 --- /dev/null +++ b/desktop/kde/porting-aids/khtml/pspec.xml @@ -0,0 +1,102 @@ + + + + + khtml + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + HTML rendering engine for KDE + KHTML is a web rendering engine, based on the KParts technology and using KJS for JavaScript support. + http://download.kde.org/stable/frameworks/5.11/portingAids/khtml-5.11.0.tar.xz + + qt5-base-devel + zlib-devel + libX11-devel + zlib + openssl-devel + extra-cmake-modules + + + + + khtml + + qt5-base + qt5-x11extras + qt5-phonon + zlib + openssl + giflib + zlib + libX11 + libgcc + libpng + libjpeg-turbo + sonnet + kcodecs + kconfig + kjobwidgets + kwidgetsaddons + kcompletion + karchive + kconfigwidgets + kcoreaddons + kglobalaccel + ki18n + kiconthemes + kio + kjs + knotifications + kparts + kservice + ktextwidgets + kwallet + kwindowsystem + kxmlgui + + + /etc + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + khtml-devel + Development files for khtml + + khtml + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From c18ef6b7eaf5bea74e4f308860975ef7b6495431 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 17:52:22 +0200 Subject: [PATCH 087/152] kjsembed version bump and check --- desktop/kde/porting-aids/kjsembed/actions.py | 19 +++++ desktop/kde/porting-aids/kjsembed/pspec.xml | 75 ++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 desktop/kde/porting-aids/kjsembed/actions.py create mode 100755 desktop/kde/porting-aids/kjsembed/pspec.xml diff --git a/desktop/kde/porting-aids/kjsembed/actions.py b/desktop/kde/porting-aids/kjsembed/actions.py new file mode 100644 index 0000000000..e5ff33ac3c --- /dev/null +++ b/desktop/kde/porting-aids/kjsembed/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md", "AUTHORS", "COPYING.LIB") diff --git a/desktop/kde/porting-aids/kjsembed/pspec.xml b/desktop/kde/porting-aids/kjsembed/pspec.xml new file mode 100755 index 0000000000..ef1a0f9d9e --- /dev/null +++ b/desktop/kde/porting-aids/kjsembed/pspec.xml @@ -0,0 +1,75 @@ + + + + + kjsembed + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + JavaScript support for HTML rendering engine on KDE5 + The KJSEmbed library is an easy-to-use wrapper around the KDE ECMAScript interpreter (kjs) that makes it easy to add scriptability to an application. + http://download.kde.org/stable/frameworks/5.11/portingAids/kjsembed-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + kdoctools-devel + python3 + extra-cmake-modules + + + + + kjsembed + + qt5-base + qt5-svg + libgcc + ki18n + kjs + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + + + kjsembed-devel + Development files for kjsembed + + qt5-base-devel + kjsembed + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From d0c888c24b0781efc9e2a7cea6e3a3da48afb480 Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 18:00:09 +0200 Subject: [PATCH 088/152] kmediaplayer version bump and check --- .../kde/porting-aids/kmediaplayer/actions.py | 19 ++++++ .../kde/porting-aids/kmediaplayer/pspec.xml | 68 +++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 desktop/kde/porting-aids/kmediaplayer/actions.py create mode 100755 desktop/kde/porting-aids/kmediaplayer/pspec.xml diff --git a/desktop/kde/porting-aids/kmediaplayer/actions.py b/desktop/kde/porting-aids/kmediaplayer/actions.py new file mode 100644 index 0000000000..21870af947 --- /dev/null +++ b/desktop/kde/porting-aids/kmediaplayer/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md", "LICENSE") diff --git a/desktop/kde/porting-aids/kmediaplayer/pspec.xml b/desktop/kde/porting-aids/kmediaplayer/pspec.xml new file mode 100755 index 0000000000..14bd7b7aee --- /dev/null +++ b/desktop/kde/porting-aids/kmediaplayer/pspec.xml @@ -0,0 +1,68 @@ + + + + + kmediaplayer + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + KDE5 media player Plugin interface for media player features + KMediaPlayer builds on the KParts framework to provide a common interface for KParts that can play media files. + http://download.kde.org/stable/frameworks/5.11/portingAids/kmediaplayer-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + kmediaplayer + + qt5-base + libgcc + kparts + kxmlgui + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kmediaplayer-devel + Development files for kmediaplayer + + qt5-base-devel + kmediaplayer + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From be136d8764fa72806b5be186f7a093736ee40c3e Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 18:05:51 +0200 Subject: [PATCH 089/152] kross version bump and check --- desktop/kde/porting-aids/kross/actions.py | 19 ++++++ desktop/kde/porting-aids/kross/pspec.xml | 80 +++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 desktop/kde/porting-aids/kross/actions.py create mode 100755 desktop/kde/porting-aids/kross/pspec.xml diff --git a/desktop/kde/porting-aids/kross/actions.py b/desktop/kde/porting-aids/kross/actions.py new file mode 100644 index 0000000000..11b2858877 --- /dev/null +++ b/desktop/kde/porting-aids/kross/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/porting-aids/kross/pspec.xml b/desktop/kde/porting-aids/kross/pspec.xml new file mode 100755 index 0000000000..cf031f63b7 --- /dev/null +++ b/desktop/kde/porting-aids/kross/pspec.xml @@ -0,0 +1,80 @@ + + + + + kross + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + KDE5 application scripting helper + Kross is a scripting bridge to embed scripting functionality into an application. It supports QtScript as a scripting interpreter backend. + http://download.kde.org/stable/frameworks/5.11/portingAids/kross-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + kdoctools-devel + extra-cmake-modules + + + + + kross + + qt5-base + qt5-script + libgcc + kcoreaddons + ki18n + kcompletion + kiconthemes + kio + kparts + kwidgetsaddons + kxmlgui + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + + kross-devel + Development files for kross + + qt5-base-devel + kross + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 11560ca95f03973b4ba4e64f71141014f6a75c1b Mon Sep 17 00:00:00 2001 From: groni Date: Sun, 28 Jun 2015 18:11:51 +0200 Subject: [PATCH 090/152] krunner version bump and check --- desktop/kde/porting-aids/krunner/actions.py | 19 +++++ desktop/kde/porting-aids/krunner/pspec.xml | 77 +++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 desktop/kde/porting-aids/krunner/actions.py create mode 100755 desktop/kde/porting-aids/krunner/pspec.xml diff --git a/desktop/kde/porting-aids/krunner/actions.py b/desktop/kde/porting-aids/krunner/actions.py new file mode 100644 index 0000000000..7ad3db044b --- /dev/null +++ b/desktop/kde/porting-aids/krunner/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md") diff --git a/desktop/kde/porting-aids/krunner/pspec.xml b/desktop/kde/porting-aids/krunner/pspec.xml new file mode 100755 index 0000000000..a76487c485 --- /dev/null +++ b/desktop/kde/porting-aids/krunner/pspec.xml @@ -0,0 +1,77 @@ + + + + + krunner + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Krunner Framework for providing different actions given a string query + Framework Integration is a set of plugins responsible for better integration of Qt applications when running on a KDE Plasma workspace. + http://download.kde.org/stable/frameworks/5.11/portingAids/krunner-5.11.0.tar.xz + + qt5-base-devel + kdoctools-devel + extra-cmake-modules + + + + + krunner + + qt5-base + qt5-declarative + libgcc + kconfig + kcoreaddons + ki18n + kio + kservice + plasma-framework + solid + threadweaver + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + krunner-devel + Development files for krunner + + qt5-base-devel + krunner + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From add6f1e5fe07c027b3d386e82205eb90ccb48977 Mon Sep 17 00:00:00 2001 From: groni Date: Mon, 29 Jun 2015 14:41:54 +0200 Subject: [PATCH 091/152] kate version bump and check --- desktop/kde/kde5-application/kate/actions.py | 19 +++ .../kate/files/org.kde.kate.desktop | 132 ++++++++++++++++++ desktop/kde/kde5-application/kate/pspec.xml | 75 ++++++++++ 3 files changed, 226 insertions(+) create mode 100644 desktop/kde/kde5-application/kate/actions.py create mode 100755 desktop/kde/kde5-application/kate/files/org.kde.kate.desktop create mode 100755 desktop/kde/kde5-application/kate/pspec.xml diff --git a/desktop/kde/kde5-application/kate/actions.py b/desktop/kde/kde5-application/kate/actions.py new file mode 100644 index 0000000000..e5ff33ac3c --- /dev/null +++ b/desktop/kde/kde5-application/kate/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md", "AUTHORS", "COPYING.LIB") diff --git a/desktop/kde/kde5-application/kate/files/org.kde.kate.desktop b/desktop/kde/kde5-application/kate/files/org.kde.kate.desktop new file mode 100755 index 0000000000..b5c6c59ae4 --- /dev/null +++ b/desktop/kde/kde5-application/kate/files/org.kde.kate.desktop @@ -0,0 +1,132 @@ +[Desktop Entry] +GenericName=Advanced Text Editor +GenericName[ar]=محرر نصوص متقدّم +GenericName[ast]=Editor de testu avanzáu +GenericName[bg]=Усъвършенстван текстов редактор +GenericName[bs]=Napredni uređivač teksta +GenericName[ca]=Editor de text avançat +GenericName[ca@valencia]=Editor de text avançat +GenericName[cs]=Pokročilý textový editor +GenericName[da]=Avanceret teksteditor +GenericName[de]=Erweiterter Texteditor +GenericName[el]=Προχωρημένος επεξεργαστής κειμένου +GenericName[en_GB]=Advanced Text Editor +GenericName[es]=Editor de texto avanzado +GenericName[et]=Täiustatud tekstiredaktor +GenericName[eu]=Testu-editore aurreratua +GenericName[fi]=Kehittynyt tekstimuokkain +GenericName[fr]=Éditeur de texte avancé +GenericName[ga]=Ardeagarthóir Téacs +GenericName[gl]=Editor avanzado de textos +GenericName[he]=עורך טקסט מתקדם +GenericName[hr]=Napredni uređivač teksta +GenericName[hu]=Speciális szövegszerkesztő +GenericName[ia]=Editor avantiate de texto +GenericName[is]=Þróaður textaritill +GenericName[it]=Editor di testi avanzato +GenericName[ja]=高度なテキストエディタ +GenericName[kk]=Үздік мәтін редакторы +GenericName[km]=កម្មវិធី​និពន្ធ​អត្ថបទ​កម្រិត​ខ្ពស់ +GenericName[ko]=고급 텍스트 편집기 +GenericName[lt]=Sudėtingesnis teksto redaktorius +GenericName[lv]=Jaudīgs teksta redaktors +GenericName[mr]=प्रगत पाठ्य संपादक +GenericName[nb]=Avansert skriveprogram +GenericName[nds]=Verwiedert Texteditor +GenericName[ne]=उन्नत पाठ सम्पादक +GenericName[nl]=Geavanceerde teksteditor +GenericName[nn]=Avansert skriveprogram +GenericName[pa]=ਤਕਨੀਕੀ ਟੈਕਸਟ ਐਡੀਟਰ +GenericName[pl]=Zaawansowany edytor tekstu +GenericName[pt]=Editor de Texto Avançado +GenericName[pt_BR]=Editor de textos avançado +GenericName[ro]=Redactor de text avansat +GenericName[ru]=Улучшенный текстовый редактор +GenericName[si]=උසස් පෙළ සකසනය +GenericName[sk]=Pokročilý textový editor +GenericName[sl]=Napreden urejevalnik besedil +GenericName[sr]=Напредни уређивач текста +GenericName[sr@ijekavian]=Напредни уређивач текста +GenericName[sr@ijekavianlatin]=Napredni uređivač teksta +GenericName[sr@latin]=Napredni uređivač teksta +GenericName[sv]=Avancerad texteditor +GenericName[tg]=Таҳриргари матнии беҳтаршуда +GenericName[tr]=Gelişmiş Metin Düzenleyici +GenericName[ug]=ئالىي تېكىست تەھرىرلىگۈچ +GenericName[uk]=Потужний текстовий редактор +GenericName[vi]=Trình biên tập văn bản nâng cao +GenericName[x-test]=xxAdvanced Text Editorxx +GenericName[zh_CN]=高级文本编辑器 +GenericName[zh_TW]=進階文字編輯器 +Name=Kate +Name[ar]=كيت +Name[ast]=Kate +Name[be]=Kate +Name[bg]=Kate +Name[bs]=Kate +Name[ca]=Kate +Name[ca@valencia]=Kate +Name[cs]=Kate +Name[da]=Kate +Name[de]=Kate +Name[el]=Kate +Name[en_GB]=Kate +Name[eo]=Kate +Name[es]=Kate +Name[et]=Kate +Name[eu]=Kate +Name[fi]=Kate +Name[fr]=Kate +Name[ga]=Kate +Name[gl]=Kate +Name[he]=Kate +Name[hu]=Kate +Name[ia]=Kate +Name[it]=Kate +Name[ja]=Kate +Name[kk]=Kate +Name[km]=Kate +Name[ko]=Kate +Name[lt]=Kate +Name[lv]=Kate +Name[mr]=केट +Name[ms]=Kate +Name[nb]=Kate +Name[nds]=Kate +Name[ne]=केट +Name[nl]=Kate +Name[nn]=Kate +Name[pa]=ਕੇਟ +Name[pl]=Kate +Name[pt]=Kate +Name[pt_BR]=Kate +Name[ro]=Kate +Name[ru]=Kate +Name[si]=Kate +Name[sk]=Kate +Name[sl]=Kate +Name[sr]=Кејт +Name[sr@ijekavian]=Кејт +Name[sr@ijekavianlatin]=Kate +Name[sr@latin]=Kate +Name[sv]=Kate +Name[tg]=Кейт +Name[tr]=Kate +Name[ug]=Kate +Name[uk]=Kate +Name[vi]=Kate +Name[wa]=Kate +Name[x-test]=xxKatexx +Name[zh_CN]=Kate +Name[zh_TW]=Kate +MimeType=text/plain; +Exec=kate -b %U +X-KDE-StartupNotify=false +X-KDE-HasTempFileOption=true +Icon=kate +X-DocPath=kate/index.html +Type=Application +Terminal=false +InitialPreference=9 +X-DBUS-ServiceName=org.kde.kate +Categories=Qt;KDE;Utility;TextEditor; diff --git a/desktop/kde/kde5-application/kate/pspec.xml b/desktop/kde/kde5-application/kate/pspec.xml new file mode 100755 index 0000000000..546b329175 --- /dev/null +++ b/desktop/kde/kde5-application/kate/pspec.xml @@ -0,0 +1,75 @@ + + + + + kate + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + app:gui + Advanced Text Editor + Plasma library and runtime components based upon KF5 and Qt5 + http://download.kde.org/stable/applications/15.04.2/src/kate-15.04.2.tar.xz + + qt5-base-devel + plasma-framework-devel + python3 + kdoctools-devel + extra-cmake-modules + + + + + kate + + qt5-base + libgcc + knewstuff + ki18n + kconfig + kguiaddons + kjobwidgets + kitemmodels + kio + kparts + ktexteditor + kwindowsystem + kxmlgui + plasma-framework + kwallet + kservice + kbookmarks + kcompletion + kcoreaddons + kdbusaddons + kiconthemes + ktextwidgets + threadweaver + kconfigwidgets + knotifications + kwidgetsaddons + + + /usr/share + /etc/xdg + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + + + + 2015-06-03 + 15.04.2 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From f8f2bae43e86c3a0f8c5ea98c83ff865ab8ac441 Mon Sep 17 00:00:00 2001 From: groni Date: Mon, 29 Jun 2015 16:26:59 +0200 Subject: [PATCH 092/152] libdmtx rebuild and check --- desktop/kde/addon/libdmtx/actions.py | 24 +++++++++ desktop/kde/addon/libdmtx/pspec.xml | 61 ++++++++++++++++++++++ desktop/kde/addon/libdmtx/translations.xml | 13 +++++ 3 files changed, 98 insertions(+) create mode 100644 desktop/kde/addon/libdmtx/actions.py create mode 100644 desktop/kde/addon/libdmtx/pspec.xml create mode 100644 desktop/kde/addon/libdmtx/translations.xml diff --git a/desktop/kde/addon/libdmtx/actions.py b/desktop/kde/addon/libdmtx/actions.py new file mode 100644 index 0000000000..6630c0c918 --- /dev/null +++ b/desktop/kde/addon/libdmtx/actions.py @@ -0,0 +1,24 @@ +# -*- 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.system("./autogen.sh") + autotools.configure("--disable-static") + +def build(): + autotools.make() + +def check(): + autotools.make("check") + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "NEWS", "README", "README.linux") diff --git a/desktop/kde/addon/libdmtx/pspec.xml b/desktop/kde/addon/libdmtx/pspec.xml new file mode 100644 index 0000000000..1a03ee264d --- /dev/null +++ b/desktop/kde/addon/libdmtx/pspec.xml @@ -0,0 +1,61 @@ + + + + + libdmtx + http://www.libdmtx.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv2+ + library + A Library for working with Data Matrix 2D bar-codes + libdmtx is an open source software for reading and writing Data Matrix 2D bar-codes on Linux, Unix, OS X, Windows and mobile devices. + http://sourceforge.net/projects/libdmtx/files/libdmtx/0.7.4/libdmtx-0.7.4.tar.gz + + imagemagick-devel + + + + + libdmtx + + imagemagick + + + /usr/lib + /usr/share/doc + + + + + libdmtx-devel + Development files for libdmtx + + libdmtx + + + /usr/include + /usr/lib/pkgconfig + /usr/share/man/man3 + + + + + + 2015-06-05 + 0.7.4 + Rebuild. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2011-08-09 + 0.7.4 + First release + Pisi Linux Admins + admins@pisilinux.org + + + diff --git a/desktop/kde/addon/libdmtx/translations.xml b/desktop/kde/addon/libdmtx/translations.xml new file mode 100644 index 0000000000..c47877716e --- /dev/null +++ b/desktop/kde/addon/libdmtx/translations.xml @@ -0,0 +1,13 @@ + + + + libdmtx + Data Matrix 2D barkodlarıyla çalışmak için kitaplık + libdmtx, Linux, Unix, OS X, Windows ve mobil işletim sistemlerinde Data Matrix 2D barkodlarını okumak ve yazmak için kullanılan açık kaynaklı bir kitaplıktır. + + + + libdmtx-devel + libdmtx için geliştirme dosyaları + + From 3f884cf2ae19d75e72a409ab3fa47df9c9a9d791 Mon Sep 17 00:00:00 2001 From: groni Date: Mon, 29 Jun 2015 16:31:14 +0200 Subject: [PATCH 093/152] qrencode check --- desktop/kde/addon/qrencode/actions.py | 27 ++++++++ desktop/kde/addon/qrencode/pspec.xml | 70 +++++++++++++++++++++ desktop/kde/addon/qrencode/translations.xml | 13 ++++ 3 files changed, 110 insertions(+) create mode 100644 desktop/kde/addon/qrencode/actions.py create mode 100644 desktop/kde/addon/qrencode/pspec.xml create mode 100644 desktop/kde/addon/qrencode/translations.xml diff --git a/desktop/kde/addon/qrencode/actions.py b/desktop/kde/addon/qrencode/actions.py new file mode 100644 index 0000000000..f4557c95ee --- /dev/null +++ b/desktop/kde/addon/qrencode/actions.py @@ -0,0 +1,27 @@ +# -*- 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(): + autotools.autoreconf("-vif") + shelltools.system("./autogen.sh") + + autotools.configure("--with-tests") + +def build(): + autotools.make() + +def check(): + shelltools.cd("tests") + shelltools.system("./test_all.sh") + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("COPYING", "NEWS", "README") diff --git a/desktop/kde/addon/qrencode/pspec.xml b/desktop/kde/addon/qrencode/pspec.xml new file mode 100644 index 0000000000..e49e23820f --- /dev/null +++ b/desktop/kde/addon/qrencode/pspec.xml @@ -0,0 +1,70 @@ + + + + + qrencode + http://fukuchi.org/works/qrencode/index.en.html + + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + LGPLv2.1 + library + A C library for encoding data in a QR code symbol + qrencode is a C library for encoding data in a QR Code symbol, a kind of 2D symbology that can be scanned by handy terminals such as a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000 characters, and is highly robust. + http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz + + libsdl-devel + m4 + + + + + qrencode + + libpng + + + /usr/lib + /usr/bin/qrencode + /usr/share/man/man1 + /usr/share/doc + + + + + qrencode-devel + Development files for qrencode + + qrencode + + + /usr/include + /usr/lib/pkgconfig + + + + + + 2015-02-22 + 3.4.4 + Rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-02-22 + 3.3.1 + Rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2012-04-05 + 3.3.1 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + diff --git a/desktop/kde/addon/qrencode/translations.xml b/desktop/kde/addon/qrencode/translations.xml new file mode 100644 index 0000000000..031bf56a9f --- /dev/null +++ b/desktop/kde/addon/qrencode/translations.xml @@ -0,0 +1,13 @@ + + + + qrencode + QR kod sembolüne veri gömmek için bir kitaplık + qrencode, cep telefonları gibi mobil cihazlar tarafından kolaylıkla taranabilen, 2 boyutlu bir sembol olan QR kod içerisinde veri gömmek için kullanılan bir kitaplıktır. + + + + qrencode-devel + qrencode için geliştirme dosyaları + + From 0a65672b02d690441cb13e1f3260183157054627 Mon Sep 17 00:00:00 2001 From: groni Date: Mon, 29 Jun 2015 16:37:29 +0200 Subject: [PATCH 094/152] prison-qt5 check --- desktop/kde/addon/prison-qt5/1actions.py | 29 ++++++++++ desktop/kde/addon/prison-qt5/actions.py | 19 +++++++ desktop/kde/addon/prison-qt5/pspec.xml | 70 ++++++++++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100755 desktop/kde/addon/prison-qt5/1actions.py create mode 100644 desktop/kde/addon/prison-qt5/actions.py create mode 100755 desktop/kde/addon/prison-qt5/pspec.xml diff --git a/desktop/kde/addon/prison-qt5/1actions.py b/desktop/kde/addon/prison-qt5/1actions.py new file mode 100755 index 0000000000..4da5561457 --- /dev/null +++ b/desktop/kde/addon/prison-qt5/1actions.py @@ -0,0 +1,29 @@ +#!/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 cmaketools +from pisi.actionsapi import pisitools +from pisi.actionsapi import autotools +from pisi.actionsapi import get + +def setup(): + + cmaketools.configure("-DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DLIB_INSTALL_DIR=lib \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DQML_INSTALL_DIR=/usr/lib/qt5/qml \ + -DPLUGIN_INSTALL_DIR=/usr/lib/qt5/plugins \ + -DQT5_BUILD=ON") + +def build(): + cmaketools.make() + +def install(): + cmaketools.rawInstall("DESTDIR=%s" %get.installDIR()) + + pisitools.dodoc("LICENSE") diff --git a/desktop/kde/addon/prison-qt5/actions.py b/desktop/kde/addon/prison-qt5/actions.py new file mode 100644 index 0000000000..a4d71bd755 --- /dev/null +++ b/desktop/kde/addon/prison-qt5/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("LICENSE") diff --git a/desktop/kde/addon/prison-qt5/pspec.xml b/desktop/kde/addon/prison-qt5/pspec.xml new file mode 100755 index 0000000000..fe1786c510 --- /dev/null +++ b/desktop/kde/addon/prison-qt5/pspec.xml @@ -0,0 +1,70 @@ + + + + + prison-qt5 + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + MIT + library + A barcode API to produce QRCode barcodes and DataMatrix barcode + A barcode API to produce QRCode barcodes and DataMatrix barcode. + http://download.kde.org/stable/prison/1.1/src/prison-1.1.0.tar.xz + + python3 + mesa-devel + + + + + prison-qt5 + + qt + libgcc + mesa + libdmtx + qrencode + + + /usr/lib + /usr/share/doc + + + prison + + + prison + + + + + prison-qt5-devel + Development files for libepoxy + + prison-qt5 + + + /usr/include + /usr/lib/pkgconfig + + + prison-devel + + + prison-devel + + + + + + 2015-06-29 + 1.1.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From ca5a0e28d3888b9e787305ca4ed45d4afb94a7a4 Mon Sep 17 00:00:00 2001 From: groni Date: Mon, 29 Jun 2015 16:38:17 +0200 Subject: [PATCH 095/152] prison-qt5 check --- desktop/kde/addon/prison-qt5/1actions.py | 29 ------------------------ 1 file changed, 29 deletions(-) delete mode 100755 desktop/kde/addon/prison-qt5/1actions.py diff --git a/desktop/kde/addon/prison-qt5/1actions.py b/desktop/kde/addon/prison-qt5/1actions.py deleted file mode 100755 index 4da5561457..0000000000 --- a/desktop/kde/addon/prison-qt5/1actions.py +++ /dev/null @@ -1,29 +0,0 @@ -#!/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 cmaketools -from pisi.actionsapi import pisitools -from pisi.actionsapi import autotools -from pisi.actionsapi import get - -def setup(): - - cmaketools.configure("-DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_SKIP_RPATH=ON \ - -DLIB_INSTALL_DIR=lib \ - -DSYSCONF_INSTALL_DIR=/etc \ - -DQML_INSTALL_DIR=/usr/lib/qt5/qml \ - -DPLUGIN_INSTALL_DIR=/usr/lib/qt5/plugins \ - -DQT5_BUILD=ON") - -def build(): - cmaketools.make() - -def install(): - cmaketools.rawInstall("DESTDIR=%s" %get.installDIR()) - - pisitools.dodoc("LICENSE") From fac34072c60d129d522cce3b9caae904f6985714 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Tue, 30 Jun 2015 15:44:09 +0300 Subject: [PATCH 096/152] mesa fix deps. --- x11/library/mesa/pspec.xml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/x11/library/mesa/pspec.xml b/x11/library/mesa/pspec.xml index 2159f2cd9b..ef9d67419b 100755 --- a/x11/library/mesa/pspec.xml +++ b/x11/library/mesa/pspec.xml @@ -22,6 +22,8 @@ libdrm-devel libXext-devel wayland-devel + wayland-server + wayland-client libvdpau-devel libXfixes-devel libtalloc-devel @@ -41,6 +43,9 @@ llvm-libs llvm-clang + libX11 + libgcc + libxcb expat libdrm libXext @@ -54,7 +59,6 @@ libdrm-nouveau wayland-client wayland-server - libclc libxshmfence @@ -114,8 +118,12 @@ libdrm-intel-32bit libdrm-radeon-32bit libdrm-nouveau-32bit + libxshmfence-32bit + glibc-32bit + libgcc + libcxb-32bit expat-32bit libX11-32bit libdrm-32bit @@ -131,6 +139,7 @@ libxshmfence-32bit libdrm-radeon-32bit libdrm-nouveau-32bit + wayland-32bit mesa From 8cda9d8754bc6bc36dac207ff22cbb2c5303ee0f Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 12:59:13 +0200 Subject: [PATCH 097/152] kfilemetadata rebuild and check --- .../kde/kde5-plasma/kfilemetadata/actions.py | 24 +++++++ .../kde/kde5-plasma/kfilemetadata/pspec.xml | 71 +++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100755 desktop/kde/kde5-plasma/kfilemetadata/actions.py create mode 100755 desktop/kde/kde5-plasma/kfilemetadata/pspec.xml diff --git a/desktop/kde/kde5-plasma/kfilemetadata/actions.py b/desktop/kde/kde5-plasma/kfilemetadata/actions.py new file mode 100755 index 0000000000..d4e8d7f374 --- /dev/null +++ b/desktop/kde/kde5-plasma/kfilemetadata/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DPYTHON_EXECUTABLE=/usr/bin/python \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("COPYING-CMAKE-SCRIPTS", "COPYING.LGPL-3") + diff --git a/desktop/kde/kde5-plasma/kfilemetadata/pspec.xml b/desktop/kde/kde5-plasma/kfilemetadata/pspec.xml new file mode 100755 index 0000000000..14b6375e74 --- /dev/null +++ b/desktop/kde/kde5-plasma/kfilemetadata/pspec.xml @@ -0,0 +1,71 @@ + + + + + kfilemetadata + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 library for extracting meta data from files. + KDE library for extracting meta data from files. + http://download.kde.org/stable/plasma/5.3.1/kfilemetadata-5.9.1.tar.xz + + qt5-base-devel + python + extra-cmake-modules + + + + + kfilemetadata + + qt5-base + ebook-tools + libgcc + exiv2-libs + taglib + ffmpeg + taglib + poppler-qt5 + karchive + ki18n + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kfilemetadata-devel + Development files for kfilemetadata + + qt5-base-devel + kfilemetadata + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-06-03 + 5.9.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From f97a03b4f8fb1a3198c7a3792d8e526295383315 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 14:12:30 +0200 Subject: [PATCH 098/152] bluez-qt version bump and check --- desktop/kde/plasma/bluez-qt/actions.py | 20 ++++++++ desktop/kde/plasma/bluez-qt/pspec.xml | 65 ++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 desktop/kde/plasma/bluez-qt/actions.py create mode 100755 desktop/kde/plasma/bluez-qt/pspec.xml diff --git a/desktop/kde/plasma/bluez-qt/actions.py b/desktop/kde/plasma/bluez-qt/actions.py new file mode 100644 index 0000000000..8959ab078b --- /dev/null +++ b/desktop/kde/plasma/bluez-qt/actions.py @@ -0,0 +1,20 @@ +#!/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 kde5 +from pisi.actionsapi import shelltools +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure("-DUDEV_RULES_INSTALL_DIR=/usr/lib/udev/rules.d") + +def build(): + kde5.make() + +def install(): + kde5.install() + + #pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/plasma/bluez-qt/pspec.xml b/desktop/kde/plasma/bluez-qt/pspec.xml new file mode 100755 index 0000000000..0601c3afe3 --- /dev/null +++ b/desktop/kde/plasma/bluez-qt/pspec.xml @@ -0,0 +1,65 @@ + + + + + bluez-qt + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + GPLv2 + library + Qt wrapper for KDE 5 Bluez DBus API + Qt wrapper for KDE 5 DBus API. + http://download.kde.org/stable/plasma/5.3.2/bluez-qt-5.3.2.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + bluez-qt + + qt5-base + qt5-declarative + libgcc + + + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + bluez-qt-devel + Development files for bluez-qt + + qt5-base-devel + bluez-qt + + + /usr/include + /usr/lib/cmake + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 1f794e269b91f212f0c28e5b54e70e30141bb84b Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 14:29:20 +0200 Subject: [PATCH 099/152] bluedevil version bump and check --- desktop/kde/plasma/bluedevil/actions.py | 19 +++++++ desktop/kde/plasma/bluedevil/pspec.xml | 70 +++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 desktop/kde/plasma/bluedevil/actions.py create mode 100755 desktop/kde/plasma/bluedevil/pspec.xml diff --git a/desktop/kde/plasma/bluedevil/actions.py b/desktop/kde/plasma/bluedevil/actions.py new file mode 100644 index 0000000000..445fd55022 --- /dev/null +++ b/desktop/kde/plasma/bluedevil/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + #pisitools.dodoc("README.md", "COPYING.LIB") diff --git a/desktop/kde/plasma/bluedevil/pspec.xml b/desktop/kde/plasma/bluedevil/pspec.xml new file mode 100755 index 0000000000..37410fce4f --- /dev/null +++ b/desktop/kde/plasma/bluedevil/pspec.xml @@ -0,0 +1,70 @@ + + + + + bluedevil + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + KDE 5 Bluetooth Stack + Integrate the Bluetooth technology within KDE workspace and applications + http://download.kde.org/stable/plasma/5.3.2/bluedevil-5.3.2.tar.xz + + qt5-base-devel + kded-devel + plasma-framework-devel + extra-cmake-modules + + + + + bluedevil + + qt5-base + libgcc + bluez-qt + kio + ki18n + kconfig + qt5-declarative + kcompletion + kcoreaddons + kdbusaddons + kiconthemes + kconfigwidgets + knotifications + kwidgetsaddons + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From a8e936712876452a2e303c242504b61d74013fe4 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 14:44:19 +0200 Subject: [PATCH 100/152] kfilemetadata version bump --- desktop/kde/plasma/kfilemetadata/actions.py | 24 +++++++ desktop/kde/plasma/kfilemetadata/pspec.xml | 78 +++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100755 desktop/kde/plasma/kfilemetadata/actions.py create mode 100755 desktop/kde/plasma/kfilemetadata/pspec.xml diff --git a/desktop/kde/plasma/kfilemetadata/actions.py b/desktop/kde/plasma/kfilemetadata/actions.py new file mode 100755 index 0000000000..d4e8d7f374 --- /dev/null +++ b/desktop/kde/plasma/kfilemetadata/actions.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DPYTHON_EXECUTABLE=/usr/bin/python \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("COPYING-CMAKE-SCRIPTS", "COPYING.LGPL-3") + diff --git a/desktop/kde/plasma/kfilemetadata/pspec.xml b/desktop/kde/plasma/kfilemetadata/pspec.xml new file mode 100755 index 0000000000..58611ffc49 --- /dev/null +++ b/desktop/kde/plasma/kfilemetadata/pspec.xml @@ -0,0 +1,78 @@ + + + + + kfilemetadata + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 library for extracting meta data from files. + KDE library for extracting meta data from files. + http://download.kde.org/stable/plasma/5.3.2/kfilemetadata-5.9.2.tar.xz + + qt5-base-devel + python + extra-cmake-modules + + + + + kfilemetadata + + qt5-base + ebook-tools + libgcc + exiv2-libs + taglib + ffmpeg + taglib + poppler-qt5 + karchive + ki18n + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + kfilemetadata-devel + Development files for kfilemetadata + + qt5-base-devel + kfilemetadata + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-07-01 + 5.9.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-03 + 5.9.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 984f5d23edec068c0505dbcd0089c5d1ece1c4ee Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 14:59:40 +0200 Subject: [PATCH 101/152] baloo version bump and check --- desktop/kde/plasma/baloo/actions.py | 19 ++++++ desktop/kde/plasma/baloo/pspec.xml | 99 +++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 desktop/kde/plasma/baloo/actions.py create mode 100755 desktop/kde/plasma/baloo/pspec.xml diff --git a/desktop/kde/plasma/baloo/actions.py b/desktop/kde/plasma/baloo/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/plasma/baloo/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/baloo/pspec.xml b/desktop/kde/plasma/baloo/pspec.xml new file mode 100755 index 0000000000..5301eb9950 --- /dev/null +++ b/desktop/kde/plasma/baloo/pspec.xml @@ -0,0 +1,99 @@ + + + + + baloo + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + Framework for searching and managing metadata + Baloo is a framework for searching and managing metada + http://download.kde.org/stable/plasma/5.3.2/baloo-5.9.2.tar.xz + + qt5-base-devel + kdoctools-devel + python3 + extra-cmake-modules + + + + + baloo + + qt5-base + qt5-declarative + xapian-core + kcoreaddons + kdbusaddons + kauth + libgcc + kcmutils + kconfig + kcrash + kdelibs4-support + ki18n + kidletime + kio + krunner + solid + kf5-kfilemetadata + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + baloo + + + baloo + + + + + baloo-devel + Development files for baloo-widgets + + qt5-base-devel + baloo + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + baloo-devel + + + baloo-devel + + + + + + 2015-07-01 + 5.9.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.9.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From ff368f2b540987b8b69a25073d22e6a8339af089 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 15:20:03 +0200 Subject: [PATCH 102/152] kdecorations version bump and check --- desktop/kde/plasma/kdecorations/actions.py | 19 +++++ desktop/kde/plasma/kdecorations/pspec.xml | 74 +++++++++++++++++++ .../kde/plasma/kdecorations/translations.xml | 8 ++ 3 files changed, 101 insertions(+) create mode 100644 desktop/kde/plasma/kdecorations/actions.py create mode 100644 desktop/kde/plasma/kdecorations/pspec.xml create mode 100644 desktop/kde/plasma/kdecorations/translations.xml diff --git a/desktop/kde/plasma/kdecorations/actions.py b/desktop/kde/plasma/kdecorations/actions.py new file mode 100644 index 0000000000..7ad3db044b --- /dev/null +++ b/desktop/kde/plasma/kdecorations/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README.md") diff --git a/desktop/kde/plasma/kdecorations/pspec.xml b/desktop/kde/plasma/kdecorations/pspec.xml new file mode 100644 index 0000000000..85452c9ae9 --- /dev/null +++ b/desktop/kde/plasma/kdecorations/pspec.xml @@ -0,0 +1,74 @@ + + + + + kdecorations + https://projects.kde.org/projects/kde/workspace/kdecoration + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv3 + library + Plugin based library to create window decorations + Plugin based library to create window decorations + http://download.kde.org/stable/plasma/5.3.2/kdecoration-5.3.2.tar.xz + + qt5-base-devel + extra-cmake-modules + + + + + kdecorations + + qt5-base + libgcc + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kdecorations-devel + Development files for kdecorations + + qt5-base-devel + kdecorations + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + kde-workspace-devel + + + kde-workspace-devel + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + diff --git a/desktop/kde/plasma/kdecorations/translations.xml b/desktop/kde/plasma/kdecorations/translations.xml new file mode 100644 index 0000000000..7ceb2c83f3 --- /dev/null +++ b/desktop/kde/plasma/kdecorations/translations.xml @@ -0,0 +1,8 @@ + + + + kde5-kdecorations + Plugin based library to create window decorations + Plugin based library to create window decorations + + From 93bf29dfe8e90b7b61024a2691a718351569fcb1 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 15:30:08 +0200 Subject: [PATCH 103/152] breeze version bump and check --- desktop/kde/plasma/breeze/actions.py | 19 +++++ desktop/kde/plasma/breeze/pspec.xml | 112 +++++++++++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 desktop/kde/plasma/breeze/actions.py create mode 100755 desktop/kde/plasma/breeze/pspec.xml diff --git a/desktop/kde/plasma/breeze/actions.py b/desktop/kde/plasma/breeze/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/plasma/breeze/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/breeze/pspec.xml b/desktop/kde/plasma/breeze/pspec.xml new file mode 100755 index 0000000000..c163ad6c79 --- /dev/null +++ b/desktop/kde/plasma/breeze/pspec.xml @@ -0,0 +1,112 @@ + + + + + breeze + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 Plasma artwork + Artwork, styles and assets for the Breeze visual style for the Plasma Desktop + http://download.kde.org/stable/plasma/5.3.2/breeze-5.3.2.tar.xz + + qt5-base-devel + libxcb-devel + libgcc + qt5-x11extras-devel + frameworkintegration-devel + kdecorations-devel + kcoreaddons-devel + ki18n-devel + kwindowsystem-devel + kconfig-devel + kguiaddons-devel + kcoreaddons-devel + kconfigwidgets-devel + kwidgetsaddons-devel + extra-cmake-modules + + + + + breeze-style + + qt5-base + libgcc + kconfig + kguiaddons + kcoreaddons + kconfigwidgets + kwidgetsaddons + qt5-x11extras + libxcb + frameworkintegration + kcmutils + kcoreaddons + ki18n + kwindowsystem + kdecorations + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + breeze-icons + + breeze-style + + + /usr/share/icons + + + + + breeze-cursors + + breeze-style + + + /usr/share/icons/breeze_cursors + + + + + breeze-wallpapers + + qt5-base + + + /usr/share/wallpapers + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From a99186eb8b1ff9dd6d6178707d89c41f3cbce076 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 15:40:03 +0200 Subject: [PATCH 104/152] kde-gtk-config version bump and check --- desktop/kde/plasma/kde-gtk-config/actions.py | 18 ++++ desktop/kde/plasma/kde-gtk-config/pspec.xml | 90 ++++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 desktop/kde/plasma/kde-gtk-config/actions.py create mode 100755 desktop/kde/plasma/kde-gtk-config/pspec.xml diff --git a/desktop/kde/plasma/kde-gtk-config/actions.py b/desktop/kde/plasma/kde-gtk-config/actions.py new file mode 100644 index 0000000000..ccb7abe2b6 --- /dev/null +++ b/desktop/kde/plasma/kde-gtk-config/actions.py @@ -0,0 +1,18 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + diff --git a/desktop/kde/plasma/kde-gtk-config/pspec.xml b/desktop/kde/plasma/kde-gtk-config/pspec.xml new file mode 100755 index 0000000000..40490998a7 --- /dev/null +++ b/desktop/kde/plasma/kde-gtk-config/pspec.xml @@ -0,0 +1,90 @@ + + + + + kde-gtk-config + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + GTK2 and GTK3 Configurator for KDE + Configuration dialog to adapt GTK+ applications appearance to your taste under KDE. + http://download.kde.org/stable/plasma/5.3.2/kde-gtk-config-5.3.2.tar.xz + + qt5-base-devel + kio-devel + libgcc + glib2-devel + ki18n-devel + kcoreaddons-devel + kiconthemes-devel + kwidgetsaddons-devel + kcmutils-devel + karchive-devel + kauth-devel + kconfigwidgets-devel + knewstuff-devel + gtk2-devel + gtk3-devel + extra-cmake-modules + + + + + kde-gtk-config + + qt5-base + libgcc + glib2 + kio + ki18n + kcoreaddons + kiconthemes + kwidgetsaddons + kcmutils + karchive + kauth + knewstuff + kconfigwidgets + gtk2 + gtk3 + + + /usr/share + /etc/xdg/cgc* + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-runtime + + + kde-runtime + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From ce1d33f7078c7f45836f8b3cdde5e8c9e6ed70ae Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 16:16:56 +0200 Subject: [PATCH 105/152] kde-cli-tools version bump and check --- desktop/kde/plasma/kde-cli-tools/actions.py | 18 ++++ .../kde/plasma/kde-cli-tools/comar/package.py | 7 ++ desktop/kde/plasma/kde-cli-tools/pspec.xml | 82 +++++++++++++++++++ 3 files changed, 107 insertions(+) create mode 100644 desktop/kde/plasma/kde-cli-tools/actions.py create mode 100644 desktop/kde/plasma/kde-cli-tools/comar/package.py create mode 100755 desktop/kde/plasma/kde-cli-tools/pspec.xml diff --git a/desktop/kde/plasma/kde-cli-tools/actions.py b/desktop/kde/plasma/kde-cli-tools/actions.py new file mode 100644 index 0000000000..ccb7abe2b6 --- /dev/null +++ b/desktop/kde/plasma/kde-cli-tools/actions.py @@ -0,0 +1,18 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + diff --git a/desktop/kde/plasma/kde-cli-tools/comar/package.py b/desktop/kde/plasma/kde-cli-tools/comar/package.py new file mode 100644 index 0000000000..296728595f --- /dev/null +++ b/desktop/kde/plasma/kde-cli-tools/comar/package.py @@ -0,0 +1,7 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +import os + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.system("ln -s /usr/lib/kf5/kdesu /usr/bin/kdesu") diff --git a/desktop/kde/plasma/kde-cli-tools/pspec.xml b/desktop/kde/plasma/kde-cli-tools/pspec.xml new file mode 100755 index 0000000000..f328ddf993 --- /dev/null +++ b/desktop/kde/plasma/kde-cli-tools/pspec.xml @@ -0,0 +1,82 @@ + + + + + kde-cli-tools + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Additional client tools for KDE applications + Tools based on KDE Frameworks 5 to better interact with the system + http://download.kde.org/stable/plasma/5.3.2/kde-cli-tools-5.3.2.tar.xz + + qt5-base-devel + libX11-devel + libgcc + kdoctools-devel + python3 + extra-cmake-modules + + + + + kde-cli-tools + + qt5-base + qt5-svg + libX11 + libgcc + kio + ki18n + kservice + qt5-x11extras + kcompletion + kcoreaddons + kiconthemes + kwindowsystem + kconfigwidgets + kwidgetsaddons + kcmutils + kconfig + kdelibs4-support + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + System.Package + + + kdesu + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From ac001635006e4a0016f39c1ba6701f14b330141e Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 16:40:30 +0200 Subject: [PATCH 106/152] kdeplasma-addons version bump and check --- .../kde/plasma/kdeplasma-addons/actions.py | 19 ++++ desktop/kde/plasma/kdeplasma-addons/pspec.xml | 91 +++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 desktop/kde/plasma/kdeplasma-addons/actions.py create mode 100755 desktop/kde/plasma/kdeplasma-addons/pspec.xml diff --git a/desktop/kde/plasma/kdeplasma-addons/actions.py b/desktop/kde/plasma/kdeplasma-addons/actions.py new file mode 100644 index 0000000000..ce3744176e --- /dev/null +++ b/desktop/kde/plasma/kdeplasma-addons/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + #pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/kdeplasma-addons/pspec.xml b/desktop/kde/plasma/kdeplasma-addons/pspec.xml new file mode 100755 index 0000000000..2014c79183 --- /dev/null +++ b/desktop/kde/plasma/kdeplasma-addons/pspec.xml @@ -0,0 +1,91 @@ + + + + + kdeplasma-addons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Additional client tools for KDE applications + Additional client tools for KDE applications + http://download.kde.org/stable/plasma/5.3.2/kdeplasma-addons-5.3.2.tar.xz + + qt5-base-devel + libgcc + libxcb-devel + glib2-devel + scim-devel + ibus-devel + kdoctools-devel + kdelibs4-support-devel + extra-cmake-modules + + + + + kdeplasma-addons + + qt5-base + plasma-framework + libgcc + libxcb + glib2 + knewstuff + krunner + kio + ki18n + kross + sonnet + kconfig + kxmlgui + karchive + kpackage + kservice + qt5-x11extras + qt5-declarative + kcompletion + kcoreaddons + kwindowsystem + kconfigwidgets + knotifications + kwidgetsaddons + kunitconversion + kdelibs4-support + ibus + scim-libs + xcb-util-keysyms + + + /usr/share + /etc/xdg + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From d334d0b19060a38b212b264aac4cc926585b0cc3 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 17:10:26 +0200 Subject: [PATCH 107/152] kio-extras version bump and check --- desktop/kde/plasma/kio-extras/actions.py | 19 ++++ desktop/kde/plasma/kio-extras/pspec.xml | 111 +++++++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 desktop/kde/plasma/kio-extras/actions.py create mode 100755 desktop/kde/plasma/kio-extras/pspec.xml diff --git a/desktop/kde/plasma/kio-extras/actions.py b/desktop/kde/plasma/kio-extras/actions.py new file mode 100644 index 0000000000..1b62c3b92f --- /dev/null +++ b/desktop/kde/plasma/kio-extras/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("DESIGN", "DEBUG.howto") diff --git a/desktop/kde/plasma/kio-extras/pspec.xml b/desktop/kde/plasma/kio-extras/pspec.xml new file mode 100755 index 0000000000..665c8a0947 --- /dev/null +++ b/desktop/kde/plasma/kio-extras/pspec.xml @@ -0,0 +1,111 @@ + + + + + kio-extras + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Additional KIO-slaves for KDE5 applications + Additional KIO-slaves for KDE5 applications + http://download.kde.org/stable/plasma/5.3.2/kio-extras-5.3.2.tar.xz + + qt5-base-devel + python3 + libgcc + gettext + shared-mime-info + libmtp-devel + shared-mime-info + openexr-devel + openslp-devel + karchive-devel + kconfig-devel + kcoreaddons-devel + kdbusaddons-devel + kdelibs4-support-devel + kdnssd-devel + kdoctools-devel + khtml-devel + ki18n-devel + kiconthemes-devel + kio-devel + solid-devel + libjpeg-turbo-devel + libssh-devel + openslp-devel + qt5-phonon-devel + samba-devel + exiv2-devel + extra-cmake-modules + + + + + kio-extras + + qt5-base + qt5-svg + libgcc + libmtp + kpty + kparts + kcodecs + kxmlgui + kservice + kbookmarks + kguiaddons + kconfigwidgets + openexr + karchive + kconfig + kcoreaddons + kdbusaddons + kdelibs4-support + kdnssd + kdoctools + khtml + ki18n + kiconthemes + kio + solid + libjpeg-turbo + libssh + openslp + qt5-phonon + samba + exiv2-libs + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-14 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From e6759340074eab266ee9d5f38086e0cc6ea23abd Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 17:22:27 +0200 Subject: [PATCH 108/152] khelpcenter version bump and check --- desktop/kde/plasma/khelpcenter/actions.py | 19 ++++++ desktop/kde/plasma/khelpcenter/pspec.xml | 79 +++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 desktop/kde/plasma/khelpcenter/actions.py create mode 100755 desktop/kde/plasma/khelpcenter/pspec.xml diff --git a/desktop/kde/plasma/khelpcenter/actions.py b/desktop/kde/plasma/khelpcenter/actions.py new file mode 100644 index 0000000000..0b00c0481d --- /dev/null +++ b/desktop/kde/plasma/khelpcenter/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING", "DESIGN") diff --git a/desktop/kde/plasma/khelpcenter/pspec.xml b/desktop/kde/plasma/khelpcenter/pspec.xml new file mode 100755 index 0000000000..d10fd3fd1a --- /dev/null +++ b/desktop/kde/plasma/khelpcenter/pspec.xml @@ -0,0 +1,79 @@ + + + + + khelpcenter + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE Help Center + KDE help center utility to read help documentation about various KDE applications. + http://download.kde.org/stable/plasma/5.3.2/khelpcenter-5.3.2.tar.xz + + qt5-base-devel + python3 + qt5-libdbusmenu-devel + kinit-devel + libgcc + kcmutils-devel + khtml-devel + kdelibs4-support-devel + extra-cmake-modules + + + + + khelpcenter + + qt5-base + kio + libgcc + khtml + ki18n + kparts + kcodecs + kconfig + kxmlgui + kcmutils + kservice + kcompletion + kcoreaddons + kdbusaddons + kiconthemes + kwindowsystem + kconfigwidgets + kwidgetsaddons + kdelibs4-support + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 9a25647370e663175fd745bc36eaf790f57c0084 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 17:35:55 +0200 Subject: [PATCH 109/152] kwayland version bump and check --- desktop/kde/plasma/kwayland/actions.py | 19 ++++++ desktop/kde/plasma/kwayland/pspec.xml | 65 ++++++++++++++++++++ desktop/kde/plasma/kwayland/translations.xml | 8 +++ 3 files changed, 92 insertions(+) create mode 100644 desktop/kde/plasma/kwayland/actions.py create mode 100644 desktop/kde/plasma/kwayland/pspec.xml create mode 100644 desktop/kde/plasma/kwayland/translations.xml diff --git a/desktop/kde/plasma/kwayland/actions.py b/desktop/kde/plasma/kwayland/actions.py new file mode 100644 index 0000000000..389685f7a8 --- /dev/null +++ b/desktop/kde/plasma/kwayland/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING.LIB") diff --git a/desktop/kde/plasma/kwayland/pspec.xml b/desktop/kde/plasma/kwayland/pspec.xml new file mode 100644 index 0000000000..bd37e89e0a --- /dev/null +++ b/desktop/kde/plasma/kwayland/pspec.xml @@ -0,0 +1,65 @@ + + + + + kwayland + http://www.kde.org + + Stefan Gronewold(groni) + groni@pisilinux.org + + LGPLv3 + library + Qt-style Client and Server library wrapper for the Wayland libraries + Qt-style Client and Server library wrapper for the Wayland libraries + http://download.kde.org/stable/plasma/5.3.2/kwayland-5.3.2.tar.xz + + qt5-base-devel + libgcc + extra-cmake-modules + wayland-devel + + + + + kwayland + + qt5-base + libgcc + wayland-client + wayland-server + + + /usr/lib + /usr/share/doc + + + + kwayland-devel + + qt5-base-devel + kwayland + + + /usr/lib/cmake + /usr/include + /usr/lib/pkgconfig + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + diff --git a/desktop/kde/plasma/kwayland/translations.xml b/desktop/kde/plasma/kwayland/translations.xml new file mode 100644 index 0000000000..949fb38c63 --- /dev/null +++ b/desktop/kde/plasma/kwayland/translations.xml @@ -0,0 +1,8 @@ + + + + kde5-kwayland + Qt-style Client and Server library wrapper for the Wayland libraries + Qt-style Client and Server library wrapper for the Wayland libraries + + From 1b86cac3e5ae1317bca86c293f799590bf63723e Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 18:02:56 +0200 Subject: [PATCH 110/152] kinfocenter version bump and check --- desktop/kde/plasma/kinfocenter/actions.py | 19 +++ .../kinfocenter/files/kcm-about-distrorc | 4 + .../files/pisilinux-kinfocenter.diff | 91 ++++++++++++++ desktop/kde/plasma/kinfocenter/pspec.xml | 114 ++++++++++++++++++ 4 files changed, 228 insertions(+) create mode 100644 desktop/kde/plasma/kinfocenter/actions.py create mode 100644 desktop/kde/plasma/kinfocenter/files/kcm-about-distrorc create mode 100644 desktop/kde/plasma/kinfocenter/files/pisilinux-kinfocenter.diff create mode 100755 desktop/kde/plasma/kinfocenter/pspec.xml diff --git a/desktop/kde/plasma/kinfocenter/actions.py b/desktop/kde/plasma/kinfocenter/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/plasma/kinfocenter/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/kinfocenter/files/kcm-about-distrorc b/desktop/kde/plasma/kinfocenter/files/kcm-about-distrorc new file mode 100644 index 0000000000..978beb6866 --- /dev/null +++ b/desktop/kde/plasma/kinfocenter/files/kcm-about-distrorc @@ -0,0 +1,4 @@ +[General] +2 Name=Pisi Linux +3 LogoPath=/usr/share/apps/about-distro/pisilinux.png +4 Website=http://www.pisilinux.org/ diff --git a/desktop/kde/plasma/kinfocenter/files/pisilinux-kinfocenter.diff b/desktop/kde/plasma/kinfocenter/files/pisilinux-kinfocenter.diff new file mode 100644 index 0000000000..97531dd6ed --- /dev/null +++ b/desktop/kde/plasma/kinfocenter/files/pisilinux-kinfocenter.diff @@ -0,0 +1,91 @@ +diff --git a/Modules/infosummary/infosum.cpp b/Modules/infosummary/infosum.cpp +index e58beb0..02f000c 100644 +--- a/Modules/infosummary/infosum.cpp ++++ b/Modules/infosummary/infosum.cpp +@@ -61,12 +61,12 @@ void InfoSumPlugin::createDisplay() + void InfoSumPlugin::createOsBox() + { + DefaultBoxWidget *osWidget = new DefaultBoxWidget(); +- osWidget->setIcon(QIcon::fromTheme(QStringLiteral("kde"))); ++ osWidget->setIcon(QIcon::fromTheme(QStringLiteral("PisiLinux"))); + osWidget->setLabelTitles(i18n("OS Version"),i18n("KDE Plasma Version"), i18n("Hostname")); + + OsDepInfo *osInfo = new OsDepInfo(); + +- osWidget->setLabelOne(osInfo->osVersion()); ++ osWidget->setLabelOne(osInfo->osVersion()+'\n'+osInfo->distroName()); + osWidget->setLabelTwo(QString(PLASMA_VERSION_STRING)); + osWidget->setLabelThree(osInfo->hostName()); + osWidget->setWhatsThis(i18nc("OS whats this","This shows information about your Operating System")); +diff --git a/Modules/infosummary/osdepinfo.cpp b/Modules/infosummary/osdepinfo.cpp +index 34afecc..8b7043f 100644 +--- a/Modules/infosummary/osdepinfo.cpp ++++ b/Modules/infosummary/osdepinfo.cpp +@@ -37,6 +37,11 @@ const QString OsDepInfo::osVersion() + return m_osVersion; + } + ++const QString OsDepInfo::distroName() ++{ ++ return m_distroName; ++} ++ + #if defined(Q_OS_UNIX) + #include "osdepinfo_unix.cpp" + #else +@@ -50,6 +55,7 @@ void OsDepInfo::setDepInfo() + { + m_osVersion.clear(); + m_hostName.clear(); ++ m_distroName.clear(); + } + + #endif // Q_OS_UNIX +diff --git a/Modules/infosummary/osdepinfo.h b/Modules/infosummary/osdepinfo.h +index 3452e8b..564a86c 100644 +--- a/Modules/infosummary/osdepinfo.h ++++ b/Modules/infosummary/osdepinfo.h +@@ -32,12 +32,14 @@ class OsDepInfo + + const QString hostName(); + const QString osVersion(); ++ const QString distroName(); + + private: + void setDepInfo(); + + QString m_hostName; + QString m_osVersion; ++ QString m_distroName; + }; + + #endif //OSDEPINFO +diff --git a/Modules/infosummary/osdepinfo_unix.cpp b/Modules/infosummary/osdepinfo_unix.cpp +index d237337..3971945 100644 +--- a/Modules/infosummary/osdepinfo_unix.cpp ++++ b/Modules/infosummary/osdepinfo_unix.cpp +@@ -23,6 +23,18 @@ + #include "osdepinfo.h" + + #include ++#include ++#include ++#include ++ ++QString getDistro() ++{ ++ KConfig osRelease( "/etc/os-release", KConfig::SimpleConfig ); ++ KConfigGroup osR( &osRelease, "" ); ++ QString pretty = osR.readEntry("PRETTY_NAME"); ++ pretty.remove('"'); ++ return(pretty); ++} + + void OsDepInfo::setDepInfo() + { +@@ -31,4 +43,5 @@ void OsDepInfo::setDepInfo() + + m_osVersion = QString(unixInfo.sysname) + ' ' + QString(unixInfo.release); + m_hostName = QString(unixInfo.nodename); ++ m_distroName = getDistro(); + } diff --git a/desktop/kde/plasma/kinfocenter/pspec.xml b/desktop/kde/plasma/kinfocenter/pspec.xml new file mode 100755 index 0000000000..0485cd9598 --- /dev/null +++ b/desktop/kde/plasma/kinfocenter/pspec.xml @@ -0,0 +1,114 @@ + + + + + kinfocenter + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 info center + KDE5 Utility that provides information about a computer system. + http://download.kde.org/stable/plasma/5.3.2/kinfocenter-5.3.2.tar.xz + + qt5-base-devel + python3 + pciutils-devel + libX11-devel + libgcc + kcmutils-devel + kcompletion-devel + kconfig-devel + kdelibs4-support-devel + kdoctools-devel + ki18n-devel + kio-devel + kwindowsystem-devel + kxmlgui-devel + kservice-devel + kcoreaddons-devel + kdbusaddons-devel + kiconthemes-devel + kconfigwidgets-devel + kwidgetsaddons-devel + libraw1394-devel + plasma-framework-devel + solid-devel + pciutils-devel + mesa-glu-devel + extra-cmake-modules + + + + + + + + kinfocenter + + qt5-base + qt5-declarative + pciutils + libX11 + libgcc + kservice + kcoreaddons + kdbusaddons + kiconthemes + kconfigwidgets + kwidgetsaddons + kcompletion + kconfig + kdelibs4-support + ki18n + kio + kxmlgui + libraw1394 + kwayland + kcmutils + solid + kdeclarative + mesa-glu + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kcm-about-distrorc + + + kde-workspace + + + kde-workspace + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 64f379f55e14e2120fddb2b6e5acacbdedf2518e Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 18:13:56 +0200 Subject: [PATCH 111/152] libksysguard version bump and check --- desktop/kde/plasma/libksysguard/actions.py | 19 + .../files/libksysguard_kauth.diff | 339 ++++++++++++++++++ desktop/kde/plasma/libksysguard/pspec.xml | 103 ++++++ 3 files changed, 461 insertions(+) create mode 100644 desktop/kde/plasma/libksysguard/actions.py create mode 100644 desktop/kde/plasma/libksysguard/files/libksysguard_kauth.diff create mode 100755 desktop/kde/plasma/libksysguard/pspec.xml diff --git a/desktop/kde/plasma/libksysguard/actions.py b/desktop/kde/plasma/libksysguard/actions.py new file mode 100644 index 0000000000..389685f7a8 --- /dev/null +++ b/desktop/kde/plasma/libksysguard/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING.LIB") diff --git a/desktop/kde/plasma/libksysguard/files/libksysguard_kauth.diff b/desktop/kde/plasma/libksysguard/files/libksysguard_kauth.diff new file mode 100644 index 0000000000..b267af97d1 --- /dev/null +++ b/desktop/kde/plasma/libksysguard/files/libksysguard_kauth.diff @@ -0,0 +1,339 @@ +diff --git a/processcore/CMakeLists.txt b/processcore/CMakeLists.txt +index 9fef4ec..939d055 100644 +--- a/processcore/CMakeLists.txt ++++ b/processcore/CMakeLists.txt +@@ -41,18 +41,18 @@ install( FILES processes.h process.h DESTINATION ${INCLUDE_INSTALL_DIR}/ksysguar + #------ KAuth stuff + + # Auth example helper +-# set(ksysguardprocesslist_helper_srcs +-# helper.cpp +-# process.cpp +-# processes_local_p.cpp +-# processes_base_p.cpp) +-# +-# add_executable(ksysguardprocesslist_helper ${ksysguardprocesslist_helper_srcs}) +-# target_link_libraries(ksysguardprocesslist_helper ) +-# install(TARGETS ksysguardprocesslist_helper DESTINATION ${LIBEXEC_INSTALL_DIR}) +-# +-# kauth_install_helper_files(ksysguardprocesslist_helper org.kde.ksysguard.processlisthelper root) +-# kauth_install_actions(org.kde.ksysguard.processlisthelper actions.actions) +-# +-# set_target_properties(ksysguardprocesslist_helper PROPERTIES COMPILE_FLAGS "-Wall -ggdb") ++set(ksysguardprocesslist_helper_srcs ++ helper.cpp ++ process.cpp ++ processes_local_p.cpp ++ processes_base_p.cpp) ++ ++add_executable(ksysguardprocesslist_helper ${ksysguardprocesslist_helper_srcs}) ++target_link_libraries(ksysguardprocesslist_helper Qt5::Core KF5::Auth KF5::I18n) ++install(TARGETS ksysguardprocesslist_helper DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) ++ ++kauth_install_helper_files(ksysguardprocesslist_helper org.kde.ksysguard.processlisthelper root) ++kauth_install_actions(org.kde.ksysguard.processlisthelper actions.actions) ++ ++set_target_properties(ksysguardprocesslist_helper PROPERTIES COMPILE_FLAGS "-Wall -ggdb") + +diff --git a/processcore/helper.cpp b/processcore/helper.cpp +index 6c1f570..c34ab1e 100644 +--- a/processcore/helper.cpp ++++ b/processcore/helper.cpp +@@ -23,24 +23,26 @@ + #include "helper.h" + #include "processes_local_p.h" + ++using namespace KAuth; ++ + KSysGuardProcessListHelper::KSysGuardProcessListHelper() + { + qRegisterMetaType >(); + } + + /* The functions here run as ROOT. So be careful. DO NOT TRUST THE INPUTS TO BE SANE. */ +-#define GET_PID(i) parameters.value(QString("pid%1").arg(i), -1).toULongLong(); if(pid < 0) return KAuth::ActionReply::HelperErrorReply; +-KAuth::ActionReply KSysGuardProcessListHelper::sendsignal(QVariantMap parameters) { +- KAuth::ActionReply errorReply(KAuth::ActionReply::HelperError); ++#define GET_PID(i) parameters.value(QString("pid%1").arg(i), -1).toULongLong(); if(pid < 0) return ActionReply(ActionReply::HelperErrorType); ++ActionReply KSysGuardProcessListHelper::sendsignal(QVariantMap parameters) { ++ ActionReply reply(ActionReply::HelperErrorType); + if(!parameters.contains("signal")) { +- errorReply.setErrorDescription("Internal error - no signal parameter was passed to the helper"); +- errorReply.setErrorCode(1); +- return errorReply; ++ reply.setErrorDescription("Internal error - no signal parameter was passed to the helper"); ++ reply.setErrorCode(static_cast(1)); ++ return reply; + } + if(!parameters.contains("pidcount")) { +- errorReply.setErrorDescription("Internal error - no pidcount parameter was passed to the helper"); +- errorReply.setErrorCode(2); +- return errorReply; ++ reply.setErrorDescription("Internal error - no pidcount parameter was passed to the helper"); ++ reply.setErrorCode(static_cast(2)); ++ return reply; + } + + KSysGuard::ProcessesLocal processes; +@@ -56,17 +58,17 @@ KAuth::ActionReply KSysGuardProcessListHelper::sendsignal(QVariantMap parameters + success = successForThisPid && success; + } + if(success) { +- return KAuth::ActionReply::SuccessReply; ++ return ActionReply::SuccessReply(); + } else { +- errorReply.setErrorDescription(QString("Could not send signal to: ") + errorList.join(", ")); +- errorReply.setErrorCode(0); +- return errorReply; ++ reply.setErrorDescription(QString("Could not send signal to: ") + errorList.join(", ")); ++ reply.setErrorCode(static_cast(0)); ++ return reply; + } + } + +-KAuth::ActionReply KSysGuardProcessListHelper::renice(QVariantMap parameters) { ++ActionReply KSysGuardProcessListHelper::renice(QVariantMap parameters) { + if(!parameters.contains("nicevalue") || !parameters.contains("pidcount")) +- return KAuth::ActionReply::HelperErrorReply; ++ return ActionReply(ActionReply::HelperErrorType); + + KSysGuard::ProcessesLocal processes; + int niceValue = qvariant_cast(parameters.value("nicevalue")); +@@ -77,14 +79,14 @@ KAuth::ActionReply KSysGuardProcessListHelper::renice(QVariantMap parameters) { + success = processes.setNiceness(pid, niceValue) && success; + } + if(success) +- return KAuth::ActionReply::SuccessReply; ++ return ActionReply::SuccessReply(); + else +- return KAuth::ActionReply::HelperErrorReply; ++ return ActionReply(ActionReply::HelperErrorType); + } + +-KAuth::ActionReply KSysGuardProcessListHelper::changeioscheduler(QVariantMap parameters) { ++ActionReply KSysGuardProcessListHelper::changeioscheduler(QVariantMap parameters) { + if(!parameters.contains("ioScheduler") || !parameters.contains("ioSchedulerPriority") || !parameters.contains("pidcount")) +- return KAuth::ActionReply::HelperErrorReply; ++ return ActionReply(ActionReply::HelperErrorType); + + KSysGuard::ProcessesLocal processes; + int ioScheduler = qvariant_cast(parameters.value("ioScheduler")); +@@ -96,14 +98,14 @@ KAuth::ActionReply KSysGuardProcessListHelper::changeioscheduler(QVariantMap par + success = processes.setIoNiceness(pid, ioScheduler, ioSchedulerPriority) && success; + } + if(success) +- return KAuth::ActionReply::SuccessReply; ++ return ActionReply::SuccessReply(); + else +- return KAuth::ActionReply::HelperErrorReply; ++ return ActionReply(ActionReply::HelperErrorType); + + } +-KAuth::ActionReply KSysGuardProcessListHelper::changecpuscheduler(QVariantMap parameters) { ++ActionReply KSysGuardProcessListHelper::changecpuscheduler(QVariantMap parameters) { + if(!parameters.contains("cpuScheduler") || !parameters.contains("cpuSchedulerPriority") || !parameters.contains("pidcount")) +- return KAuth::ActionReply::HelperErrorReply; ++ return ActionReply(ActionReply::HelperErrorType); + + KSysGuard::ProcessesLocal processes; + int cpuScheduler = qvariant_cast(parameters.value("cpuScheduler")); +@@ -116,9 +118,9 @@ KAuth::ActionReply KSysGuardProcessListHelper::changecpuscheduler(QVariantMap pa + success = processes.setScheduler(pid, cpuScheduler, cpuSchedulerPriority) && success; + } + if(success) +- return KAuth::ActionReply::SuccessReply; ++ return ActionReply::SuccessReply(); + else +- return KAuth::ActionReply::HelperErrorReply; ++ return ActionReply(ActionReply::HelperErrorType); + + } + KAUTH_HELPER_MAIN("org.kde.ksysguard.processlisthelper", KSysGuardProcessListHelper) +diff --git a/processcore/processes_linux_p.cpp b/processcore/processes_linux_p.cpp +index 65b8dfd..0cff0e8 100644 +--- a/processcore/processes_linux_p.cpp ++++ b/processcore/processes_linux_p.cpp +@@ -22,7 +22,7 @@ + #include "processes_local_p.h" + #include "process.h" + +-#include ++#include + + #include + #include +diff --git a/processui/ksysguardprocesslist.cpp b/processui/ksysguardprocesslist.cpp +index 1651a0a..ba9d8c9 100644 +--- a/processui/ksysguardprocesslist.cpp ++++ b/processui/ksysguardprocesslist.cpp +@@ -48,6 +48,9 @@ + #include //For SIGTERM + + #include ++#include ++#include ++#include + #include + #include + #include +@@ -188,7 +191,7 @@ struct KSysGuardProcessListPrivate { + int totalRowCount(const QModelIndex &parent) const; + + /** Helper function to setup 'action' with the given pids */ +- void setupKAuthAction(KAuth::Action *action, const QList & pids) const; ++ void setupKAuthAction(KAuth::Action &action, const QList & pids) const; + + /** fire a timer event if we are set to use our internal timer*/ + void fireTimerEvent(); +@@ -392,15 +395,15 @@ int KSysGuardProcessListPrivate::totalRowCount(const QModelIndex &parent ) const + return total; + } + +-void KSysGuardProcessListPrivate::setupKAuthAction(KAuth::Action *action, const QList & pids) const ++void KSysGuardProcessListPrivate::setupKAuthAction(KAuth::Action &action, const QList & pids) const + { +- action->setHelperId("org.kde.ksysguard.processlisthelper"); ++ action.setHelperId("org.kde.ksysguard.processlisthelper"); + + int processCount = pids.count(); + for(int i = 0; i < processCount; i++) { +- action->addArgument(QString("pid%1").arg(i), pids[i]); ++ action.addArgument(QString("pid%1").arg(i), pids[i]); + } +- action->addArgument("pidcount", processCount); ++ action.addArgument("pidcount", processCount); + } + void KSysGuardProcessList::selectionChanged() + { +@@ -1023,23 +1026,19 @@ bool KSysGuardProcessList::reniceProcesses(const QList &pids, int nic + + + #warning KAuth needs porting, but docu is not adjusted, no idea how to do it +-#if 0 +- KAuth::Action *action = new KAuth::Action("org.kde.ksysguard.processlisthelper.renice"); +- action->setParentWidget(window()); ++ KAuth::Action action("org.kde.ksysguard.processlisthelper.renice"); ++ action.setParentWidget(window()); + d->setupKAuthAction( action, unreniced_pids); +- action->addArgument("nicevalue", niceValue); +- KAuth::ActionReply reply = action->execute(); ++ action.addArgument("nicevalue", niceValue); ++ KAuth::ExecuteJob *job = action.execute(); + +- if (reply == KAuth::ActionReply::SuccessReply) { ++ if (job->exec()) { + updateList(); +- delete action; +- } else if (reply != KAuth::ActionReply::UserCancelled && reply != KAuth::ActionReply::AuthorizationDenied) { ++ } else if (!job->exec()) { + KMessageBox::sorry(this, i18n("You do not have the permission to renice the process and there " +- "was a problem trying to run as root. Error %1 %2", reply.errorCode(), reply.errorDescription())); +- delete action; ++ "was a problem trying to run as root. Error %1 %2", job->error(), job->errorString())); + return false; + } +-#endif + return true; + } + +@@ -1189,26 +1188,22 @@ bool KSysGuardProcessList::changeIoScheduler(const QList< long long> &pids, KSys + if(!d->mModel.isLocalhost()) return false; //We can't use kauth to affect non-localhost processes + + #warning KAuth needs porting, but docu is not adjusted, no idea how to do it +-#if 0 +- KAuth::Action *action = new KAuth::Action("org.kde.ksysguard.processlisthelper.changeioscheduler"); +- action->setParentWidget(window()); ++ KAuth::Action action("org.kde.ksysguard.processlisthelper.changeioscheduler"); ++ action.setParentWidget(window()); + + d->setupKAuthAction( action, unchanged_pids); +- action->addArgument("ioScheduler", (int)newIoSched); +- action->addArgument("ioSchedulerPriority", newIoSchedPriority); ++ action.addArgument("ioScheduler", (int)newIoSched); ++ action.addArgument("ioSchedulerPriority", newIoSchedPriority); + +- KAuth::ActionReply reply = action->execute(); ++ KAuth::ExecuteJob *job = action.execute(); + +- if (reply == KAuth::ActionReply::SuccessReply) { ++ if (job->exec()) { + updateList(); +- delete action; +- } else if (reply != KAuth::ActionReply::UserCancelled && reply != KAuth::ActionReply::AuthorizationDenied) { ++ } else if (!job->exec()) { + KMessageBox::sorry(this, i18n("You do not have the permission to change the I/O priority of the process and there " +- "was a problem trying to run as root. Error %1 %2", reply.errorCode(), reply.errorDescription())); +- delete action; ++ "was a problem trying to run as root. Error %1 %2", job->error(), job->errorString())); + return false; + } +-#endif + return true; + } + +@@ -1226,24 +1221,20 @@ bool KSysGuardProcessList::changeCpuScheduler(const QList< long long> &pids, KSy + if(!d->mModel.isLocalhost()) return false; //We can't use KAuth to affect non-localhost processes + + #warning KAuth needs porting, but docu is not adjusted, no idea how to do it +-#if 0 +- KAuth::Action *action = new KAuth::Action("org.kde.ksysguard.processlisthelper.changecpuscheduler"); +- action->setParentWidget(window()); ++ KAuth::Action action("org.kde.ksysguard.processlisthelper.changecpuscheduler"); ++ action.setParentWidget(window()); + d->setupKAuthAction( action, unchanged_pids); +- action->addArgument("cpuScheduler", (int)newCpuSched); +- action->addArgument("cpuSchedulerPriority", newCpuSchedPriority); +- KAuth::ActionReply reply = action->execute(); ++ action.addArgument("cpuScheduler", (int)newCpuSched); ++ action.addArgument("cpuSchedulerPriority", newCpuSchedPriority); ++ KAuth::ExecuteJob *job = action.execute(); + +- if (reply == KAuth::ActionReply::SuccessReply) { ++ if (job->exec()) { + updateList(); +- delete action; +- } else if (reply != KAuth::ActionReply::UserCancelled && reply != KAuth::ActionReply::AuthorizationDenied) { ++ } else if (!job->exec()) { + KMessageBox::sorry(this, i18n("You do not have the permission to change the CPU Scheduler for the process and there " +- "was a problem trying to run as root. Error %1 %2", reply.errorCode(), reply.errorDescription())); +- delete action; ++ "was a problem trying to run as root. Error %1 %2", job->error(), job->errorString())); + return false; + } +-#endif + return true; + } + +@@ -1262,26 +1253,20 @@ bool KSysGuardProcessList::killProcesses(const QList< long long> &pids, int sig) + if(!d->mModel.isLocalhost()) return false; //We can't elevate privileges to kill non-localhost processes + + #warning KAuth needs porting, but docu is not adjusted, no idea how to do it +-#if 0 + KAuth::Action action("org.kde.ksysguard.processlisthelper.sendsignal"); + action.setParentWidget(window()); +- d->setupKAuthAction( &action, unkilled_pids); ++ //action.setHelperId("org.kde.ksysguard.processlisthelper"); ++ d->setupKAuthAction( action, unkilled_pids); + action.addArgument("signal", sig); +- KAuth::ActionReply reply = action.execute(); ++ KAuth::ExecuteJob *job = action.execute(); + +- if (reply == KAuth::ActionReply::SuccessReply) { ++ if (job->exec()) { + updateList(); +- } else if (reply.type() == KAuth::ActionReply::HelperError) { +- if (reply.errorCode() > 0) +- KMessageBox::sorry(this, i18n("You do not have the permission to kill the process and there " +- "was a problem trying to run as root. %1", reply.errorDescription())); +- return false; +- } else if (reply != KAuth::ActionReply::UserCancelled && reply != KAuth::ActionReply::AuthorizationDenied) { ++ } else if (!job->exec()) { + KMessageBox::sorry(this, i18n("You do not have the permission to kill the process and there " +- "was a problem trying to run as root. Error %1 %2", reply.errorCode(), reply.errorDescription())); ++ "was a problem trying to run as root. Error %1 %2", job->error(), job->errorString())); + return false; + } +-#endif + return true; + } + diff --git a/desktop/kde/plasma/libksysguard/pspec.xml b/desktop/kde/plasma/libksysguard/pspec.xml new file mode 100755 index 0000000000..1e5f7b995b --- /dev/null +++ b/desktop/kde/plasma/libksysguard/pspec.xml @@ -0,0 +1,103 @@ + + + + + libksysguard + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Task management and system monitoring library + Task management and system monitoring library + http://download.kde.org/stable/plasma/5.3.2/libksysguard-5.3.2.tar.xz + + qt5-base-devel + python3 + kdoctools-devel + libgcc + libX11-devel + zlib-devel + extra-cmake-modules + + + + + + + + libksysguard + + qt5-base + libgcc + libX11 + zlib + libXres + qt5-webkit + qt5-x11extras + kwindowsystem + kconfigwidgets + kwidgetsaddons + kconfig + kauth + kcoreaddons + kdelibs4-support + ki18n + plasma-framework + + + /etc + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + libksysguard-devel + Development files for libksysguard + + qt5-base-devel + libksysguard + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + kde-workspace-devel + + + kde-workspace-devel + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-12 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 2ba8cd17668d7f0f5f9caf63e8233572900c5612 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 18:22:14 +0200 Subject: [PATCH 112/152] ksysguard version bump and check --- desktop/kde/plasma/ksysguard/actions.py | 19 +++ ...01-Use-run-for-ksysguardd-s-pid-file.patch | 25 ++++ desktop/kde/plasma/ksysguard/pspec.xml | 110 ++++++++++++++++++ 3 files changed, 154 insertions(+) create mode 100644 desktop/kde/plasma/ksysguard/actions.py create mode 100644 desktop/kde/plasma/ksysguard/files/0001-Use-run-for-ksysguardd-s-pid-file.patch create mode 100755 desktop/kde/plasma/ksysguard/pspec.xml diff --git a/desktop/kde/plasma/ksysguard/actions.py b/desktop/kde/plasma/ksysguard/actions.py new file mode 100644 index 0000000000..ec16cb043f --- /dev/null +++ b/desktop/kde/plasma/ksysguard/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING", "COPYING.DOC", "README") diff --git a/desktop/kde/plasma/ksysguard/files/0001-Use-run-for-ksysguardd-s-pid-file.patch b/desktop/kde/plasma/ksysguard/files/0001-Use-run-for-ksysguardd-s-pid-file.patch new file mode 100644 index 0000000000..d6c9a4a4af --- /dev/null +++ b/desktop/kde/plasma/ksysguard/files/0001-Use-run-for-ksysguardd-s-pid-file.patch @@ -0,0 +1,25 @@ +From 69a8d66c4682410537ce8d1f2b7012fb49773005 Mon Sep 17 00:00:00 2001 +From: Hrvoje Senjan +Date: Wed, 3 Sep 2014 23:13:35 +0200 +Subject: [PATCH 1/1] Use /run for ksysguardd's pid file + +--- + ksysguardd/ksysguardd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ksysguardd/ksysguardd.c b/ksysguardd/ksysguardd.c +index a5ecca1..883f8a1 100644 +--- a/ksysguardd/ksysguardd.c ++++ b/ksysguardd/ksysguardd.c +@@ -62,7 +62,7 @@ static ClientInfo ClientList[ MAX_CLIENTS ]; + static int SocketPort = -1; + static unsigned char BindToAllInterfaces = 0; + static int CurrentSocket; +-static const char LockFile[] = "/var/run/ksysguardd.pid"; ++static const char LockFile[] = "/run/ksysguardd.pid"; + static const char *ConfigFile = KSYSGUARDDRCFILE; + + void signalHandler( int sig ); +-- +2.1.0 + diff --git a/desktop/kde/plasma/ksysguard/pspec.xml b/desktop/kde/plasma/ksysguard/pspec.xml new file mode 100755 index 0000000000..ecb9690d8d --- /dev/null +++ b/desktop/kde/plasma/ksysguard/pspec.xml @@ -0,0 +1,110 @@ + + + + + ksysguard + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE system monitor + KDE5 system monitor daemon and service. + http://download.kde.org/stable/plasma/5.3.2/ksysguard-5.3.2.tar.xz + + qt5-base-devel + libgcc + kio-devel + kxmlgui-devel + kcompletion-devel + kdbusaddons-devel + kiconthemes-devel + kwindowsystem-devel + kconfigwidgets-devel + knotifications-devel + kwidgetsaddons-devel + lm_sensors-devel + python3 + extra-cmake-modules + kdoctools-devel + kconfig-devel + kcoreaddons-devel + kdelibs4-support-devel + ki18n-devel + kinit + kitemviews-devel + knewstuff-devel + libksysguard-devel + plasma-framework-devel + + + + + + + + ksysguard + + qt5-base + libgcc + icon-theme-hicolor + kio + kxmlgui + kcompletion + kdbusaddons + kiconthemes + kwindowsystem + kconfigwidgets + knotifications + kwidgetsaddons + lm_sensors + icon-theme-hicolor + xdg-utils + kdoctools + kconfig + kcoreaddons + kdelibs4-support + ki18n + kinit + kitemviews + knewstuff + libksysguard + plasma-framework + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-12 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From c0d9dc88ed93f6323c1ed6835cd78e6e692d0b92 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 18:39:43 +0200 Subject: [PATCH 113/152] system-settings version bump and check --- desktop/kde/plasma/system-settings/actions.py | 19 ++++ desktop/kde/plasma/system-settings/pspec.xml | 88 +++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 desktop/kde/plasma/system-settings/actions.py create mode 100755 desktop/kde/plasma/system-settings/pspec.xml diff --git a/desktop/kde/plasma/system-settings/actions.py b/desktop/kde/plasma/system-settings/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/plasma/system-settings/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/system-settings/pspec.xml b/desktop/kde/plasma/system-settings/pspec.xml new file mode 100755 index 0000000000..850c5d7921 --- /dev/null +++ b/desktop/kde/plasma/system-settings/pspec.xml @@ -0,0 +1,88 @@ + + + + + system-settings + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 system settings manager + System-settings is a control panel for KDE5 Plasma + http://download.kde.org/stable/plasma/5.3.2/systemsettings-5.3.2.tar.xz + + qt5-base-devel + kdoctools-devel + libgcc + python3 + extra-cmake-modules + + + + + system-settings + + qt5-base + kauth + libgcc + kcompletion + kcoreaddons + kconfigwidgets + kwidgetsaddons + kcmutils + kconfig + kdbusaddons + khtml + ki18n + kiconthemes + kio + kitemviews + kservice + kwindowsystem + kxmlgui + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + system-settings-devel + Development files for system-settings + + qt5-base-devel + system-settings + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-29 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 433ca872f618293d6044566704018ec9a3f126b9 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 22:30:55 +0200 Subject: [PATCH 114/152] polkit-kde-authentication-agent-1 version bump and check --- .../actions.py | 19 +++++ .../pspec.xml | 77 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 desktop/kde/plasma/polkit-kde-authentication-agent-1/actions.py create mode 100755 desktop/kde/plasma/polkit-kde-authentication-agent-1/pspec.xml diff --git a/desktop/kde/plasma/polkit-kde-authentication-agent-1/actions.py b/desktop/kde/plasma/polkit-kde-authentication-agent-1/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/plasma/polkit-kde-authentication-agent-1/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/polkit-kde-authentication-agent-1/pspec.xml b/desktop/kde/plasma/polkit-kde-authentication-agent-1/pspec.xml new file mode 100755 index 0000000000..b7998dd088 --- /dev/null +++ b/desktop/kde/plasma/polkit-kde-authentication-agent-1/pspec.xml @@ -0,0 +1,77 @@ + + + + + polkit-kde-authentication-agent-1 + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + app:gui + The KDE Plasma Workspace Components + The Polkit-KDE-Agent package contains a graphical Polkit authentication agent for the KDE Plasma Desktop. + http://download.kde.org/stable/plasma/5.3.2/polkit-kde-agent-1-5.3.2.tar.xz + + qt5-base-devel + kdoctools-devel + libgcc + python3 + extra-cmake-modules + + + + + + + polkit-kde-authentication-agent-1 + + qt5-base + libgcc + kcrash + kcoreaddons + polkit-qt + ki18n + kdbusaddons + kiconthemes + kwindowsystem + knotifications + kwidgetsaddons + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-29 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From e5a6f33006b7bb84e616b439719886e3262e2773 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 22:38:55 +0200 Subject: [PATCH 115/152] ksshaskpass version bump and check --- desktop/kde/plasma/ksshaskpass/actions.py | 19 ++++++ .../plasma/ksshaskpass/files/ksshaskpass.sh | 2 + desktop/kde/plasma/ksshaskpass/pspec.xml | 67 +++++++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 desktop/kde/plasma/ksshaskpass/actions.py create mode 100644 desktop/kde/plasma/ksshaskpass/files/ksshaskpass.sh create mode 100755 desktop/kde/plasma/ksshaskpass/pspec.xml diff --git a/desktop/kde/plasma/ksshaskpass/actions.py b/desktop/kde/plasma/ksshaskpass/actions.py new file mode 100644 index 0000000000..b7b74bc57e --- /dev/null +++ b/desktop/kde/plasma/ksshaskpass/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README", "COPYING", "ChangeLog") diff --git a/desktop/kde/plasma/ksshaskpass/files/ksshaskpass.sh b/desktop/kde/plasma/ksshaskpass/files/ksshaskpass.sh new file mode 100644 index 0000000000..ae0aaa9e68 --- /dev/null +++ b/desktop/kde/plasma/ksshaskpass/files/ksshaskpass.sh @@ -0,0 +1,2 @@ +test -f /usr/bin/ksshaskpass && export SSH_ASKPASS="/usr/bin/ksshaskpass" + diff --git a/desktop/kde/plasma/ksshaskpass/pspec.xml b/desktop/kde/plasma/ksshaskpass/pspec.xml new file mode 100755 index 0000000000..911c464734 --- /dev/null +++ b/desktop/kde/plasma/ksshaskpass/pspec.xml @@ -0,0 +1,67 @@ + + + + + ksshaskpass + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + ssh-add helper that uses kwallet and kpassworddialog + ssh-add helper that uses kwallet and kpassworddialog + http://download.kde.org/stable/plasma/5.3.2/ksshaskpass-5.3.2.tar.xz + + qt5-base-devel + kdoctools-devel + libgcc + python3 + extra-cmake-modules + + + + + ksshaskpass + + qt5-base + libgcc + kcoreaddons + kwidgetsaddons + ki18n + kwallet + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + ksshaskpass.sh + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-18 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 8727c398bc5eb4cd8c4fd70e6ee30493a74813e4 Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 22:48:00 +0200 Subject: [PATCH 116/152] kmenuedit version bump and check --- desktop/kde/plasma/kmenuedit/actions.py | 19 ++++++ desktop/kde/plasma/kmenuedit/pspec.xml | 78 +++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 desktop/kde/plasma/kmenuedit/actions.py create mode 100755 desktop/kde/plasma/kmenuedit/pspec.xml diff --git a/desktop/kde/plasma/kmenuedit/actions.py b/desktop/kde/plasma/kmenuedit/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/plasma/kmenuedit/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/kmenuedit/pspec.xml b/desktop/kde/plasma/kmenuedit/pspec.xml new file mode 100755 index 0000000000..f39a209cbd --- /dev/null +++ b/desktop/kde/plasma/kmenuedit/pspec.xml @@ -0,0 +1,78 @@ + + + + + kmenuedit + http://www.kde.org + + Pisi Linux admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Provides the interface and basic tools for the KDE workspace + Provides the interface and basic tools for the KDE workspace + http://download.kde.org/stable/plasma/5.3.2/kmenuedit-5.3.2.tar.xz + + qt5-base-devel + kdoctools-devel + libgcc + extra-cmake-modules + python3 + + + + + kmenuedit + + qt5-base + libgcc + kconfig + kservice + kcompletion + kcoreaddons + kconfigwidgets + kwidgetsaddons + kdbusaddons + kdelibs4-support + ki18n + kiconthemes + kio + kxmlgui + sonnet + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-15 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 49071d08eabfd801054734702fc194ca713adf3b Mon Sep 17 00:00:00 2001 From: groni Date: Wed, 1 Jul 2015 23:30:22 +0200 Subject: [PATCH 117/152] plasma-nm version bump and check --- desktop/kde/plasma/plasma-nm/actions.py | 19 ++++++ desktop/kde/plasma/plasma-nm/pspec.xml | 91 +++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 desktop/kde/plasma/plasma-nm/actions.py create mode 100755 desktop/kde/plasma/plasma-nm/pspec.xml diff --git a/desktop/kde/plasma/plasma-nm/actions.py b/desktop/kde/plasma/plasma-nm/actions.py new file mode 100644 index 0000000000..f539eaa4b7 --- /dev/null +++ b/desktop/kde/plasma/plasma-nm/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("README", "COPYING.LIB", "COPYING") diff --git a/desktop/kde/plasma/plasma-nm/pspec.xml b/desktop/kde/plasma/plasma-nm/pspec.xml new file mode 100755 index 0000000000..4f776722aa --- /dev/null +++ b/desktop/kde/plasma/plasma-nm/pspec.xml @@ -0,0 +1,91 @@ + + + + + plasma-nm + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + Plasma applet written in QML for managing network connections + Plasma applet written in QML for managing network connections + http://download.kde.org/stable/plasma/5.3.2/plasma-nm-5.3.2.tar.xz + + qt5-base-devel + libgcc + networkmanager-qt-devel + modemmanger-qt-devel + kdelibs4-support-devel + python3 + openconnect-devel + kdoctools-devel + NetworkManager-devel + mobile-broadband-provider-info + extra-cmake-modules + + + + + plasma-nm + + qt5-base + libgcc + openconnect + kio + networkmanager-qt + modemmanager-qt + ki18n + solid + kconfig + kwallet + kxmlgui + kservice + kitemviews + qt5-declarative + kcompletion + kcoreaddons + kdbusaddons + kiconthemes + kwindowsystem + kconfigwidgets + knotifications + kwidgetsaddons + kdelibs4-support + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-14 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + From dd43cb98459216c9c16666d770e2d32112c102b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Thu, 2 Jul 2015 12:38:22 +0300 Subject: [PATCH 118/152] libXrandr fix deps. --- x11/library/libXrandr/pspec.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/x11/library/libXrandr/pspec.xml b/x11/library/libXrandr/pspec.xml index 97f78c4c12..33791b372c 100644 --- a/x11/library/libXrandr/pspec.xml +++ b/x11/library/libXrandr/pspec.xml @@ -16,6 +16,8 @@ libXext-devel libXrender-devel + libX11-devel + util-macros @@ -24,6 +26,7 @@ libXext libXrender + libX11 /usr/lib @@ -53,12 +56,14 @@ 32-bit shared libraries for libXrandr emul32 + glibc-32bit libX11-32bit libXext-32bit libXrender-32bit libXrandr + glibc-32bit libX11-32bit libXext-32bit libXrender-32bit From 5ff905ab217f4be48b6a3e4c3aacba582569ffd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Thu, 2 Jul 2015 12:43:46 +0300 Subject: [PATCH 119/152] libXScrnSaver fix deps. --- x11/library/libXScrnSaver/pspec.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/x11/library/libXScrnSaver/pspec.xml b/x11/library/libXScrnSaver/pspec.xml index a28c593305..088b56ea1d 100644 --- a/x11/library/libXScrnSaver/pspec.xml +++ b/x11/library/libXScrnSaver/pspec.xml @@ -15,6 +15,8 @@ mirrors://xorg/individual/lib/libXScrnSaver-1.2.2.tar.bz2 libXext-devel + libX11-devel + util-macros @@ -22,6 +24,7 @@ libXScrnSaver libXext + libX11 /usr/lib @@ -50,11 +53,13 @@ 32-bit shared libraries for libXScrnSaver emul32 + glibc-32bit libX11-32bit libXext-32bit libXScrnSaver + glibc-32bit libX11-32bit libXext-32bit From c93c39b00ae9b8527cb8df06f4f953410dff2961 Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 2 Jul 2015 12:24:53 +0200 Subject: [PATCH 120/152] libkscreen version bump and check --- desktop/kde/plasma/libkscreen/actions.py | 19 ++++++ desktop/kde/plasma/libkscreen/pspec.xml | 76 ++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 desktop/kde/plasma/libkscreen/actions.py create mode 100755 desktop/kde/plasma/libkscreen/pspec.xml diff --git a/desktop/kde/plasma/libkscreen/actions.py b/desktop/kde/plasma/libkscreen/actions.py new file mode 100644 index 0000000000..1ead2575cd --- /dev/null +++ b/desktop/kde/plasma/libkscreen/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING.LIB", "COPYING") diff --git a/desktop/kde/plasma/libkscreen/pspec.xml b/desktop/kde/plasma/libkscreen/pspec.xml new file mode 100755 index 0000000000..f84f999ea5 --- /dev/null +++ b/desktop/kde/plasma/libkscreen/pspec.xml @@ -0,0 +1,76 @@ + + + + + libkscreen + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 screen management library + Dynamic display management library for KDE + http://download.kde.org/stable/plasma/5.3.2/libkscreen-5.3.2.tar.xz + + qt5-base-devel + qt5-x11extras-devel + libgcc + libxcb-devel + xcb-util-devel + xcb-util-image-devel + xcb-util-keysyms-devel + libXcursor-devel + libXrandr-devel + extra-cmake-modules + + + + + libkscreen + + qt5-base + libxcb + libgcc + qt5-x11extras + + + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + libkscreen-devel + Development files for libkscreen + + qt5-base-devel + libkscreen + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2015-07-02 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 932e2a103cf6e9c6de87898970ae4abf2b0def64 Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 2 Jul 2015 12:31:46 +0200 Subject: [PATCH 121/152] kscreen version bump and check --- desktop/kde/plasma/kscreen/actions.py | 19 ++++++++ desktop/kde/plasma/kscreen/pspec.xml | 69 +++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 desktop/kde/plasma/kscreen/actions.py create mode 100755 desktop/kde/plasma/kscreen/pspec.xml diff --git a/desktop/kde/plasma/kscreen/actions.py b/desktop/kde/plasma/kscreen/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/plasma/kscreen/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/kscreen/pspec.xml b/desktop/kde/plasma/kscreen/pspec.xml new file mode 100755 index 0000000000..4c495b428c --- /dev/null +++ b/desktop/kde/plasma/kscreen/pspec.xml @@ -0,0 +1,69 @@ + + + + + kscreen + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + Provides the interface and basic tools for the KDE workspace + Provides the interface and basic tools for the KDE workspace + http://download.kde.org/stable/plasma/5.3.2/kscreen-5.3.2.tar.xz + + qt5-base-devel + qt5-graphicaleffects + python3 + libgcc + kdoctools-devel + extra-cmake-modules + + + + + kscreen + + qt5-base + libgcc + libkscreen + qt5-declarative + kcoreaddons + kglobalaccel + kconfigwidgets + kwidgetsaddons + kdbusaddons + ki18n + kxmlgui + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + + 2015-07-02 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From d3b470ec48ef61da626cb57f3738dfa7269bff38 Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 2 Jul 2015 13:28:53 +0200 Subject: [PATCH 122/152] kwin version bump and check --- desktop/kde/plasma/kwin/actions.py | 19 ++++ desktop/kde/plasma/kwin/pspec.xml | 161 +++++++++++++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 desktop/kde/plasma/kwin/actions.py create mode 100755 desktop/kde/plasma/kwin/pspec.xml diff --git a/desktop/kde/plasma/kwin/actions.py b/desktop/kde/plasma/kwin/actions.py new file mode 100644 index 0000000000..f586811bf7 --- /dev/null +++ b/desktop/kde/plasma/kwin/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COMPLIANCE", "CONFIGURING", "COPYING", "HACKING", "README") diff --git a/desktop/kde/plasma/kwin/pspec.xml b/desktop/kde/plasma/kwin/pspec.xml new file mode 100755 index 0000000000..f90267b54e --- /dev/null +++ b/desktop/kde/plasma/kwin/pspec.xml @@ -0,0 +1,161 @@ + + + + + kwin + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 window manager + KWin is the window manager of the K desktop environment. + http://download.kde.org/stable/plasma/5.3.2/kwin-5.3.2.tar.xz + + qt5-base-devel + qt5-tools-devel + qt5-multimedia-devel + kwayland + kdecorations-devel + qt5-script-devel + qt5-x11extras-devel + qt5-declarative-devel + kiconthemes-devel + kauth-devel + libXxf86vm-devel + libXext-devel + kf5-kactivities-devel + kcmutils-devel + kcompletion-devel + kconfig-devel + kconfigwidgets-devel + kcoreaddons-devel + kcrash-devel + kdeclarative-devel + kdoctools-devel + kglobalaccel-devel + ki18n-devel + kinit + kio-devel + knewstuff-devel + knotifications-devel + kservice-devel + kwidgetsaddons-devel + kwindowsystem-devel + kxmlgui-devel + plasma-framework-devel + mesa-devel + libICE-devel + libSM-devel + wayland-devel + wayland-client + wayland-cursor + libxkbcommon-devel + xcb-util-keysyms-devel + xcb-util-image-devel + libXcursor-devel + libepoxy-devel + libgcc + libX11-devel + libxcb-devel + + + + + kwin + + qt5-base + libgcc + libX11 + libxcb + qt5-script+ + kwayland+ + kdecorations+ + qt5-x11extras+ + qt5-declarative+ + kiconthemes+ + kauth+ + kf5-kactivities+ + kcmutils+ + kcompletion+ + kconfig+ + kconfigwidgets+ + kcoreaddons+ + kcrash+ + kdeclarative+ + kglobalaccel+ + ki18n+ + kio+ + knewstuff+ + knotifications+ + kservice+ + kwidgetsaddons+ + kwindowsystem+ + kxmlgui+ + plasma-framework+ + mesa+ + libICE+ + libSM+ + wayland-cursor+ + libxkbcommon+ + xcb-util-keysyms+ + xcb-util-image+ + libepoxy+ + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + kwin-devel + Development files for kwin + + qt5-base-devel + kwin + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + kde-workspace-devel + + + kde-workspace-devel + + + + + + 2015-07-02 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-12 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 51d79a5c04f54f694577dd030b2f60cd1644ea29 Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 2 Jul 2015 15:37:29 +0200 Subject: [PATCH 123/152] plasma-workspace version bump and check --- .../kde/plasma/plasma-workspace/actions.py | 26 +++ .../kde/plasma/plasma-workspace/comar/kde.pam | 6 + .../files/0001-Rename-qdbus-in-startkde.patch | 32 +++ ...0003-Remove-export-of-QT_PLUGIN_PATH.patch | 29 +++ .../files/create_kdehome.patch | 19 ++ .../kde/plasma/plasma-workspace/files/kde.pam | 6 + .../files/lockscreen-focus.patch | 17 ++ desktop/kde/plasma/plasma-workspace/pspec.xml | 207 ++++++++++++++++++ 8 files changed, 342 insertions(+) create mode 100755 desktop/kde/plasma/plasma-workspace/actions.py create mode 100644 desktop/kde/plasma/plasma-workspace/comar/kde.pam create mode 100644 desktop/kde/plasma/plasma-workspace/files/0001-Rename-qdbus-in-startkde.patch create mode 100644 desktop/kde/plasma/plasma-workspace/files/0003-Remove-export-of-QT_PLUGIN_PATH.patch create mode 100644 desktop/kde/plasma/plasma-workspace/files/create_kdehome.patch create mode 100644 desktop/kde/plasma/plasma-workspace/files/kde.pam create mode 100644 desktop/kde/plasma/plasma-workspace/files/lockscreen-focus.patch create mode 100755 desktop/kde/plasma/plasma-workspace/pspec.xml diff --git a/desktop/kde/plasma/plasma-workspace/actions.py b/desktop/kde/plasma/plasma-workspace/actions.py new file mode 100755 index 0000000000..9737c14ca2 --- /dev/null +++ b/desktop/kde/plasma/plasma-workspace/actions.py @@ -0,0 +1,26 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DLIB_INSTALL_DIR=lib \ + -DLIBEXEC_INSTALL_DIR=lib \ + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + pisitools.dosym("/usr/lib/drkonqi", "/usr/lib/libexec/drkonqi") + + pisitools.dodoc("COPYING", "HACKING") + diff --git a/desktop/kde/plasma/plasma-workspace/comar/kde.pam b/desktop/kde/plasma/plasma-workspace/comar/kde.pam new file mode 100644 index 0000000000..1e48de3f18 --- /dev/null +++ b/desktop/kde/plasma/plasma-workspace/comar/kde.pam @@ -0,0 +1,6 @@ +#%PAM-1.0 + +auth include system-login +account include system-login +password include system-login +session include system-login diff --git a/desktop/kde/plasma/plasma-workspace/files/0001-Rename-qdbus-in-startkde.patch b/desktop/kde/plasma/plasma-workspace/files/0001-Rename-qdbus-in-startkde.patch new file mode 100644 index 0000000000..30ed016829 --- /dev/null +++ b/desktop/kde/plasma/plasma-workspace/files/0001-Rename-qdbus-in-startkde.patch @@ -0,0 +1,32 @@ +diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake +index 91c8a3c..0c658bd 100644 +--- a/startkde/startkde.cmake ++++ b/startkde/startkde.cmake +@@ -20,13 +20,13 @@ unset DYLD_FORCE_FLAT_NAMESPACE + bindir=`echo "$0" | sed -n 's,^\(/.*\)/[^/][^/]*$,\1,p'` + if [ -n "$bindir" ]; then + qbindir=`qtpaths --binaries-dir` +- qdbus=$qbindir/qdbus ++ qdbus=$qbindir/qdbus-qt5 + case $PATH in + $bindir|$bindir:*|*:$bindir|*:$bindir:*) ;; + *) PATH=$bindir:$PATH; export PATH;; + esac + else +- qdbus=qdbus ++ qdbus=qdbus-qt5 + fi + + # Check if a KDE session already is running and whether it's possible to connect to X +@@ -300,9 +300,9 @@ fi + if $qdbus >/dev/null 2>/dev/null; then + : # ok + else +- echo 'startkde: Could not start D-Bus. Can you call qdbus?' 1>&2 ++ echo 'startkde: Could not start D-Bus. Can you call qdbus-qt5?' 1>&2 + test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null +- xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?" ++ xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus-qt5?" + exit 1 + fi + diff --git a/desktop/kde/plasma/plasma-workspace/files/0003-Remove-export-of-QT_PLUGIN_PATH.patch b/desktop/kde/plasma/plasma-workspace/files/0003-Remove-export-of-QT_PLUGIN_PATH.patch new file mode 100644 index 0000000000..75950ada26 --- /dev/null +++ b/desktop/kde/plasma/plasma-workspace/files/0003-Remove-export-of-QT_PLUGIN_PATH.patch @@ -0,0 +1,29 @@ +From dde9b1c1930d333d8daff25c73400e1e67f3c630 Mon Sep 17 00:00:00 2001 +From: Hrvoje Senjan +Date: Sun, 7 Sep 2014 22:55:24 +0200 +Subject: [PATCH 3/3] Remove export of QT_PLUGIN_PATH + +--- + startkde/startkde.cmake | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake +index 51721d1..1d67be0 100644 +--- a/startkde/startkde.cmake ++++ b/startkde/startkde.cmake +@@ -220,12 +220,6 @@ for prefix in `echo $scriptpath`; do + done + done + +-# Set the path for Qt plugins provided by KDE +-QT_PLUGIN_PATH=${QT_PLUGIN_PATH+$QT_PLUGIN_PATH:}`qtpaths --plugin-dir` +-# TODO: Do we really need this? +-QT_PLUGIN_PATH=$QT_PLUGIN_PATH:$kdehome/lib/kde5/plugins/ +-export QT_PLUGIN_PATH +- + # Activate the kde font directories. + # + # There are 4 directories that may be used for supplying fonts for KDE. +-- +2.1.0 + diff --git a/desktop/kde/plasma/plasma-workspace/files/create_kdehome.patch b/desktop/kde/plasma/plasma-workspace/files/create_kdehome.patch new file mode 100644 index 0000000000..b29f4b163a --- /dev/null +++ b/desktop/kde/plasma/plasma-workspace/files/create_kdehome.patch @@ -0,0 +1,19 @@ +diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake +index 0c658bd..51721d1 100644 +--- a/startkde/startkde.cmake ++++ b/startkde/startkde.cmake +@@ -64,6 +64,14 @@ fi + + mkdir -p $configDir + ++kdehome=$HOME/@KDE_DEFAULT_HOME@ ++test -n "$KDEHOME" && kdehome=`echo "$KDEHOME"|sed "s,^~/,$HOME/,"` ++ ++# see kstartupconfig source for usage ++mkdir -m 700 -p $kdehome ++mkdir -m 700 -p $kdehome/share ++mkdir -m 700 -p $kdehome/share/config ++ + #This is basically setting defaults so we can use them with kstartupconfig5 + cat >$configDir/startupconfigkeys < + + + + plasma-workspace + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + app:gui + The KDE5 Plasma Workspace Components + The KDE5 Plasma Workspace Components + http://download.kde.org/stable/plasma/5.3.2/plasma-workspace-5.3.2.tar.xz + + qt5-base-devel + libkscreen-devel + libksysguard-devel + libqalculate-devel + gpsd-devel + kwayland + kf5-baloo-devel + extra-cmake-modules + kdelibs4-support-devel + kdoctools-devel + krunner-devel + kwin-devel + libXcursor-devel + libXrender-devel + xorg-util + xcb-util-keysyms-devel + xcb-util-image-devel + xcb-util-renderutil-devel + networkmanager-qt-devel + kxmlrpcclient-devel + kio-devel + kjs-devel + pam + zlib-devel + libX11-devel + libXau-devel + libgcc + libxcb-devel + kf5-kactivities-devel + extra-cmake-modules + + + + + + + + + plasma-workspace + + qt5-base+ + qt5-tools + cln + kio + kjs + pam + zlib + libX11 + libXau + libgcc + libxcb + kf5-kactivities + gpsd + libSM + libXi + libICE + kio + kjs + libXfixes + kf5-baloo + kauth + kdesu + ki18n + solid + qt5-script + qt5-phonon + qt5-webkit + kcrash + kconfig + kwallet + kxmlgui + kpackage + kservice + qt5-x11extras + kdewebkit + kidletime + wayland-client + wayland-server + kbookmarks + kguiaddons + kitemviews + qt5-declarative + qt5-libdbusmenu + kcompletion + kcoreaddons + kdbusaddons + kiconthemes + kjobwidgets + kdeclarative + kglobalaccel + ktextwidgets + kwindowsystem + kxmlrpcclient + kconfigwidgets + knotifications + kwidgetsaddons + plasma-framework + kde-cli-tools + kjsembed + knewstuff + knotifyconfig + ktexteditor + kwayland + libkscreen + libksysguard + libqalculate + krunner + libksysguard + kdelibs4-support + networkmanager-qt + libXrender + xcb-util-keysyms + + + /etc/pam.d + /etc/xdg + /usr/share + /usr/share/applications + /usr/share/locale + /usr/bin + /usr/lib/qt5/plugins + /usr/lib/qt5/qml + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + plasma-workspace-devel + Development files for kde5 plasma-workspace + + qt5-base-devel + plasma-workspace + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + kde.pam + + + kde-workspace-devel + + + kde-workspace-devel + + + + + drkonqi + KDE crash handler + + kdewebkit + kxmlrpcclient + plasma-workspace + + + /usr/lib/libexec + + + + + + 2015-07-02 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-12 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From ecdf9efff23e5ffeda5f66477f7d5ecd9d2ef66c Mon Sep 17 00:00:00 2001 From: groni Date: Thu, 2 Jul 2015 15:41:06 +0200 Subject: [PATCH 124/152] plasma-workspace remove pisi packages --- desktop/kde/plasma/plasma-workspace/pspec.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/desktop/kde/plasma/plasma-workspace/pspec.xml b/desktop/kde/plasma/plasma-workspace/pspec.xml index 6c9c412425..45186a2e30 100755 --- a/desktop/kde/plasma/plasma-workspace/pspec.xml +++ b/desktop/kde/plasma/plasma-workspace/pspec.xml @@ -22,7 +22,7 @@ libqalculate-devel gpsd-devel kwayland - kf5-baloo-devel + baloo-devel extra-cmake-modules kdelibs4-support-devel kdoctools-devel @@ -44,7 +44,7 @@ libXau-devel libgcc libxcb-devel - kf5-kactivities-devel + kactivities-devel extra-cmake-modules @@ -69,7 +69,7 @@ libXau libgcc libxcb - kf5-kactivities + kactivities gpsd libSM libXi @@ -77,7 +77,7 @@ kio kjs libXfixes - kf5-baloo + baloo kauth kdesu ki18n From bf111299621b61379f154f384bd804901f34f80c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Thu, 2 Jul 2015 23:49:54 +0300 Subject: [PATCH 125/152] xcb-util-image fix deps --- x11/library/xcb-util-image/pspec.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/x11/library/xcb-util-image/pspec.xml b/x11/library/xcb-util-image/pspec.xml index da85a07eba..e7d4560e15 100644 --- a/x11/library/xcb-util-image/pspec.xml +++ b/x11/library/xcb-util-image/pspec.xml @@ -13,12 +13,18 @@ A number of libraries which sit on top of libxcb The xcb-util-image module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. http://xcb.freedesktop.org/dist/xcb-util-image-0.3.9.tar.bz2 + + util-macros + libxcb-devel + xcb-util-devel + xcb-util-image xcb-util + libxcb /usr/lib @@ -46,8 +52,11 @@ emul32 libxcb-32bit + xcb-util-32bit + glibc-32bit + glibc-32bit xcb-util-32bit libxcb-32bit From fa420defe0b03b8fec40bea3116f92e6d5c52f3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 00:38:50 +0300 Subject: [PATCH 126/152] xcb-util-keysyms fix deps --- x11/library/xcb-util-keysyms/pspec.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/x11/library/xcb-util-keysyms/pspec.xml b/x11/library/xcb-util-keysyms/pspec.xml index f633804891..6fb5f67684 100644 --- a/x11/library/xcb-util-keysyms/pspec.xml +++ b/x11/library/xcb-util-keysyms/pspec.xml @@ -13,10 +13,17 @@ A number of libraries which sit on top of libxcb The xcb-util-keysyms module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.3.9.tar.bz2 + + util-macros + libxcb-devel + xcb-util-keysyms + + libxcb + /usr/lib /usr/share/doc @@ -43,10 +50,12 @@ emul32 libxcb-32bit + glibc-32bit xcb-util-keysyms libxcb-32bit + glibc-32bit /usr/lib32 From 4122b5694ffd107220848b77b7b96e239db2d17a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 00:47:18 +0300 Subject: [PATCH 127/152] xcb-util-renderutil fix deps --- x11/library/xcb-util-renderutil/pspec.xml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/x11/library/xcb-util-renderutil/pspec.xml b/x11/library/xcb-util-renderutil/pspec.xml index e87b73674c..22d73508eb 100644 --- a/x11/library/xcb-util-renderutil/pspec.xml +++ b/x11/library/xcb-util-renderutil/pspec.xml @@ -13,11 +13,18 @@ A number of libraries which sit on top of libxcb The xcb-util-renderutil module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2 + + util-macros + libxcb-devel + xcb-util-renderutil - + + libxcb + + /usr/lib /usr/share/doc @@ -42,10 +49,11 @@ 32-bit shared libraries for xcb-util-renderutil emul32 + glibc-32bit libxcb-32bit - xcb-util + glibc-32bit libxcb-32bit From 4b0014fab3eadce31988c7c7d8a54912f5010dc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 00:53:37 +0300 Subject: [PATCH 128/152] xcb-util-wm fix deps --- x11/library/xcb-util-wm/pspec.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/x11/library/xcb-util-wm/pspec.xml b/x11/library/xcb-util-wm/pspec.xml index 3e1c2c4ba9..08c2d9d28d 100644 --- a/x11/library/xcb-util-wm/pspec.xml +++ b/x11/library/xcb-util-wm/pspec.xml @@ -13,10 +13,17 @@ A number of libraries which sit on top of libxcb The xcb-util-wm module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. http://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2 + + util-macros + libxcb-devel + xcb-util-wm + + libxcb + /usr/lib /usr/share/doc @@ -43,10 +50,12 @@ emul32 libxcb-32bit + glibc-32bit xcb-util-wm libxcb-32bit + glibc-32bit /usr/lib32 From 8ce3d893a7c5d474cd7c901de6f1640a4462c2d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 00:54:13 +0300 Subject: [PATCH 129/152] index . --- pisi-index.xml | 8884 ++++++++++++++++++++++++++++++++++--- pisi-index.xml.sha1sum | 2 +- pisi-index.xml.xz | Bin 65584 -> 78780 bytes pisi-index.xml.xz.sha1sum | 2 +- 4 files changed, 8149 insertions(+), 739 deletions(-) diff --git a/pisi-index.xml b/pisi-index.xml index 0c89d2f1c8..be403907d3 100644 --- a/pisi-index.xml +++ b/pisi-index.xml @@ -82,9 +82,7 @@ JasPer is a software-based implementation of the codec specified in the JPEG-2000 Part-1 standard (ISO/IEC 15444-1:2000). http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-1.900.1.zip - freeglut-devel - mesa-devel - mesa-glu-devel + libjpeg-turbo-devel jasper-1.900.1-fixes-20081208.patch.bz2 @@ -94,9 +92,6 @@ jasper - freeglut - mesa - mesa-glu libjpeg-turbo @@ -119,7 +114,7 @@ Development files for jasper jasper için geliştirme dosyaları - jasper + jasper /usr/include @@ -132,21 +127,26 @@ emul32 emul32 - mesa-32bit - freeglut-32bit + glibc-32bit libjpeg-turbo-32bit - jasper - mesa-32bit - freeglut-32bit + jasper libjpeg-turbo-32bit + glibc-32bit /usr/lib32 + + 2015-06-26 + 1.900.1 + Rebuild, fixed + Hakan Yıldız + hknyldz93@gmail.com + 2014-05-21 1.900.1 @@ -3892,6 +3892,106 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + ocaml + http://www.ocaml.org/ + + Serdar Soytetir + kaptan@pisilinux.org + + OPL + app:console + programming.language.ocaml + Fast modern type-inferring functional programming language + Hızlı ve modern bir programlama dili + A fast modern type-inferring functional programming language descended from the ML (Meta Language) family. + OcaML, ML dilinin soyundan gelen fonksiyonel bir programlama dilidir + http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02.1.tar.xz + + zlib-devel + ncurses-devel + libX11-devel + chrpath + + + fedora/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch + fedora/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch + fedora/0003-Don-t-add-rpaths-to-libraries.patch + fedora/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch + fedora/0005-configure-Allow-user-defined-C-compiler-flags.patch + fedora/0009-arg-Add-no_arg-and-get_arg-helper-functions.patch + fedora/0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch + fedora/0011-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch + + programming/language/ocaml/ocaml/pspec.xml + + + ocaml + + zlib + ncurses + libX11 + + + /usr/bin/ + /usr/lib/ + /usr/share/doc/ + /usr/share/man/ + + + + + 2015-04-04 + 4.02.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-11-16 + 4.00.2 + Rebuild + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-09-23 + 4.00.2 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-24 + 3.4.1 + Version bump. + PisiLinux Community + admins@pisilinux.org + + + 2014-02-07 + 4.00.1 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-01-29 + 4.01.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2012-09-20 + 4.00.0 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + ruby @@ -4076,6 +4176,408 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + python-MarkupSafe + http://pypi.python.org/pypi/MarkupSafe + + PisiLinux Community + admins@pisilinux.org + + BSD + library + programming.language.python + Implements a XML/HTML/XHTML Markup safe string for Python + XML/HTML/XHTML markup dilleri için güvenli python karakter dizeleri gerçekleştirimi + python-MarkupSafe, implements a unicode subclass that supports HTML strings. + python-MarkupSafe, HTML karakter dizeleri için unicode bir alt sınıf gerçekleştirimi sağlar. + http://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.23.tar.gz + + python-setuptools + + programming/language/python/python-MarkupSafe/pspec.xml + + + python-MarkupSafe + + /usr/lib/python2.* + /usr/share/doc + + + + + 2014-05-29 + 0.23 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2011-11-11 + 0.15 + First release + Erdinç Gültekin + admins@pisilinux.org + + + + + + python-beaker + http://beaker.groovie.org/ + + PisiLinux Community + admins@pisilinux.org + + BSD + library + programming.language.python + A Session and Caching library with WSGI Middleware + Oturum ve önbellekleme kitaplığı + python-beaker is a web session and general caching library that includes WSGI middleware for use in web applications. + python-beaker, web programları için oturum ve genel önbellekleme fonksiyonlarını içeren bir kitaplıktır. + http://pypi.python.org/packages/source/B/Beaker/Beaker-1.6.4.tar.gz + + python-setuptools + + programming/language/python/python-beaker/pspec.xml + + + python-beaker + + /usr/lib/ + /usr/share/doc + + + + + 2013-11-04 + 1.6.4 + Rebuild + Erdinç Gültekin + admins@pisilinux.org + + + 2012-11-11 + 1.6.4 + First release + Erdinç Gültekin + admins@pisilinux.org + + + + + + python-mako + http://www.makotemplates.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + app:console + library + programming.language.python + A python templating language + Python şablonlama dili + python-mako is a super-fast templating language that borrows the best ideas from the existing templating languages. + python-mako, varolan şablonlama dillerindeki en iyi fikirleri bir araya getiren süper hızlı bir şablonlama dilidir. + http://pypi.python.org/packages/source/M/Mako/Mako-0.9.1.tar.gz + + python-setuptools + + programming/language/python/python-mako/pspec.xml + + + python-mako + + python-beaker + python-MarkupSafe + + + /usr/bin + /usr/lib + /usr/share/doc + + + + python-mako-docs + python-mako için belgelendirme dosyaları + + python-mako + + + /usr/share/doc/*/html + /usr/share/doc/*/build + /usr/share/doc/*/examples + + + + + 2014-04-16 + 0.9.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-11-11 + 0.7.3 + First release + Erdinç Gültekin + admins@pisilinux.org + + + + + + tcl + http://www.tcl.tk + + PisiLinux Community + admins@pisilinux.org + + as-is + app:console + programming.language.tcl + Tcl programming language + Tcl programlama dili + Tcl provides a powerful platform for creating integration applications that tie together diverse applications, protocols, devices, and frameworks. + Tcl, çeşitli uygulamalar geliştirmek için kullanılabilen bir programlama dilidir. + Tcl provee una plataforma potente para crear aplicaciones de integración de diversos aplicaciones, protocolos, dispositivos y frameworks + mirrors://sourceforge/tcl/tcl8.6.4-src.tar.gz + + zlib-devel + + programming/language/tcl/tcl/pspec.xml + + + tcl + + zlib + + + /usr/bin + /usr/lib + /usr/lib/tcl8.5 + /usr/share/doc + /usr/share/man + + + + tcl-devel + Development files for tcl + tcl için geliştirme dosyaları + + tcl + + + /usr/include + /usr/lib/*.a + /usr/lib/pkgconfig + /usr/lib/tclConfig.sh + /usr/share/man/man3 + + + + sqlite-tcl + files for sqlite-tcl + + tcl + + + /usr/lib/sqlite3.8.8.3/libsqlite* + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.3.tm + /usr/share/man/mann/tdbc_sqlite3.n + /usr/share/man/mann/sqlite3.n + + + + + 2015-06-11 + 8.6.4 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-03 + 8.6.3 + Rebuild. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-12-12 + 8.6.3 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-09-30 + 8.6.2 + Version bump. + Kamil Atlı + suvari@pisilinux.org + + + 2014-05-17 + 8.6.1 + Add patch. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-01-06 + 8.6.1 + Rebuild to fix stripping. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-24 + 8.6.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-07-26 + 8.6.0 + Move pc files to devel pack, increase release no. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-01-26 + 8.6.0 + bump + Erdinç Gültekin + admins@pisilinux.org + + + 2012-09-15 + 8.5.12 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + + + + tcltk + http://www.tcl.tk + + PisiLinux Community + admins@pisilinux.org + + as-is + library + programming.language.tcl + Tk est une boîte à outils X11 implémentée avec le langage de script Tcl. + An X11 toolkit implemented with the Tcl scripting language + Tcl betik dili ile yazılmış X11 araç ve kitaplıkları + Tk is an X Windows widget set designed to work closely with the tcl scripting language. It allows you to write simple programs with full featured GUIs in only a little more time then it takes to write a text based interface. + Tk, tcl betik dili ile birlikte kullanılması için tasarlanmış bir X Windows araç setidir. Metin tabanlı arayüzlere oranla daha kısa sürede tam özellikli grafik arayüzlere sahip basit programlar yazmanızı sağlar. + mirrors://sourceforge/tcl/tk8.6.3-src.tar.gz + + tcl-devel + libX11-devel + libXft-devel + fontconfig-devel + + + tk-8.6.1-conf.patch + tk-8.6.1-fix-xft.patch + tk-8.6.1-make.patch + + programming/language/tcl/tcltk/pspec.xml + + + tcltk + + tcl + libX11 + libXft + fontconfig + + + /usr/bin + /usr/lib + /usr/lib/tk8.5 + /usr/share/doc + /usr/share/man + + + + tcltk-devel + Development files for tcltk + tcltk için geliştirme dosyaları + + tcltk + + + /usr/include + /usr/lib/*.a + /usr/lib/tkConfig.sh + /usr/lib/pkgconfig + /usr/share/man/man3 + + + + + 2014-12-14 + 8.6.3 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-09-30 + 8.6.2 + Version bump. + Kamil Atlı + suvari@pisilinux.org + + + 2014-05-17 + 8.6.1 + Version bump and add patch. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-03-09 + 8.6.0 + Rebuild + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-07-26 + 8.6.0 + Move pc files to devel pack, increase release no. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-01-26 + 8.6.0 + bump + Erdinç Gültekin + admins@pisilinux.org + + + 2012-09-15 + 8.5.12 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + libbsd @@ -4373,6 +4875,412 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + libedit + http://www.thrysoee.dk/editline + + PisiLinux Community + admins@pisilinux.org + + BSD + library + programming.misc + An autotool and libtoolized port of the NetBSD Editline library + NetBSD Editline kitaplığının Linux portu + libedit is a command line editing and history library. It is designed to be used by interactive programs that allow the user to type commands at a terminal prompt. + libedit, geçmiş bilgisini ve komut satırı düzenleme işlerini kolaylaştıran bir kitaplıktır. + http://thrysoee.dk/editline/libedit-20150325-3.1.tar.gz + + ncurses-devel + + programming/misc/libedit/pspec.xml + + + libedit + + ncurses + + + /usr/lib + /usr/share/man + /usr/share/doc + + + + libedit-devel + Development files for libedit + libedit için geliştirme dosyaları + + libedit + + + /usr/include + /usr/lib/pkgconfig + /usr/share/man/man3 + + + + + 2015-06-25 + 3.1_20150325 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-05-19 + 3.1_20140213 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2013-10-27 + 3.1_20130712 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-10-17 + 3.0_20120601 + First release + Marcin Bojara + marcin@pisilinux.org + + + + + + libtalloc + http://talloc.samba.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv3+ + library + programming.misc + Hierarchical pool based memory allocator + Bellek yönetim kitaplığı + libtalloc is a library which implements a hierarchical allocator with destructors which is the core memory allocator in samba. + libtalloc, samba hizmetinin temel bellek ayırıcısını oluşturan hiyerarşik havuz tabanlı ayırıcıyı gerçekleyen kitaplıktır. + http://www.samba.org/ftp/talloc/talloc-2.1.2.tar.gz + + docbook-xsl + libxslt-devel + python-devel + attr-devel + + programming/misc/libtalloc/pspec.xml + + + libtalloc + + python + attr + + + /usr/lib + /usr/share/man + /usr/share/doc + + + + libtalloc-devel + Development files for libtalloc + libtalloc için geliştirme dosyaları + + libtalloc + + + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/include + /usr/share/man/man3 + + + + libtalloc-32bit + 32-bit shared libraries for libtalloc + libtalloc için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + glibc-32bit + attr-32bit + + + glibc-32bit + attr-32bit + libtalloc + + + /usr/lib32 + + + + + 2015-06-28 + 2.1.2 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-05-22 + 2.1.1 + Version bump. + Kamil Atlı + suvarice@gmail.com + + + 2014-04-23 + 2.1.0 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-09 + 2.0.8 + Rebuild for buildhost + PisiLinux Community + admins@pisilinux.org + + + 2013-07-07 + 2.0.8 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-09-25 + 2.0.7 + First release + Erdem Artan + admins@pisilinux.org + + + + + + llvm + http://www.llvm.org/ + + Serdar Soytetir + kaptan@pisilinux.org + + NCSA + programming.build + The Low Level Virtual Machine + Düşük Seviye Sanal Makine (LLVM) + The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. + LLVM projesi, modüler ve tekrar tekrar kullanılabilir derleyici teknolojileri koleksiyonudur. Adının aksine geleneksel sanal makinelerden çok farklıdır; ancak sanal makineleri oluşturmak için faydalı kitaplıklar içerir. + http://llvm.org/releases/3.5.0/llvm-3.5.0.src.tar.xz + http://llvm.org/releases/3.5.0/cfe-3.5.0.src.tar.xz + http://llvm.org/releases/3.5.0/clang-tools-extra-3.5.0.src.tar.xz + http://llvm.org/releases/3.5.0/compiler-rt-3.5.0.src.tar.xz + + zlib-devel + libxml2-devel + ncurses-devel + ocaml + libffi-devel + groff + libedit-devel + binutils + + + llvm-3.5.0-fix-cmake-llvm-exports.patch + llvm-3.5.0-force-link-pass.o.patch + + programming/build/llvm/pspec.xml + + + llvm + app:console + library + + llvm-libs + libxml2 + libgcc + ncurses + + + /usr/bin + /usr/bin/llvm-config + /usr/include/llvm* + /usr/lib/llvm + /usr/lib + /etc/ld.so.conf.d + /etc/llvm + /usr/share/doc + /usr/share/vim + /usr/share/llvm/cmake + /usr/share/kde4 + /usr/share/man + + + + llvm-libs + library + + zlib + libffi + libedit + libgcc + ncurses + + + /usr/lib/llvm/libLLVM-3* + /usr/share/licenses/llvm-libs/LICENSE + + + + llvm-ocaml + OCaml binding for LLVM + LLVM için OCaml bağlayıcısı + library + programming.language.ocaml + + llvm + ocaml + + + /usr/lib/ocaml + + + + llvm-clang-analyzer + A source code analysis framework + C ve Objective-C için kod analiz altyapısı + The Clang Static Analyzer consists of both a source code analysis framework and a standalone tool that finds bugs in C and Objective-C programs. + app:console + + llvm-clang + + + /usr/lib/clang-analyzer + /usr/bin/scan-* + + + + llvm-clang + A C language family front-end for LLVM + LLVM için C dili ailesi ön ucu + The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler. + + llvm-libs + libgcc + ncurses + + + /usr/bin/clang* + /usr/bin/tblgen + /usr/lib/clang + /usr/lib/clang/libclang.so + /usr/share/man/man1/clang.1 + + + + llvm-clang-devel + Development headers for llvm-clang + llvm-clang için başlık dosyaları + + llvm-clang + + + /usr/include/clang + /usr/include/clang-c + + + + llvm-docs + Documentation for LLVM + LLVM belgeleri + data:doc + programming.docs + + /usr/share/doc/llvm/html + /usr/share/doc/llvm/ocamldoc + + + + llvm-32bit + 32-bit shared libraries for llvm + emul32 + emul32 + + zlib-32bit + libffi-32bit + + + llvm + libgcc + libedit + ncurses-32bit + zlib-32bit + libffi-32bit + + + /usr/lib32 + + + + + 2014-09-23 + 3.5.0 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-11 + 3.4.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-11 + 3.4.1 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-09-01 + 3.3 + Release bump, already cleaned. + marcin bojara + marcin@pisilinux.org + + + 2013-07-26 + 3.3 + Version bump. + marcin bojara + marcin@pisilinux.org + + + 2013-02-18 + 3.2 + version bump + PisiLinux Community + admins@pisilinux.org + + + 2012-06-11 + 3.1 + First release + marcin bojara + marcin@pisilinux.org + + + poppler-data @@ -5822,6 +6730,94 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + libxshmfence + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + X.Org libxshmfence library + libxshmfence is the X Window System video extension library. + mirrors://xorg/individual/lib/libxshmfence-1.2.tar.bz2 + + libXext-devel + util-macros + + x11/library/libxshmfence/pspec.xml + + + libxshmfence + + libXext + + + /usr/lib + /usr/share/doc + + + + libxshmfence-devel + Development files for libxshmfence + + libxshmfence + libXext-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libxshmfence-32bit + 32-bit shared libraries for libxshmfence + emul32 + emul32 + + glibc-32bit + libX11-32bit + libXext-32bit + + + libxshmfence + glibc-32bit + libX11-32bit + libXext-32bit + + + /usr/lib32 + + + + + 2015-05-05 + 1.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 1.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.1 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + libXfixes @@ -6155,10 +7151,17 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression The xcb-util-renderutil module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. xcb-util-renderutil modülü, çekirdek X protokolü ve bazı eklentiler için libxcb temelli kitaplıklar içerir. http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2 + + util-macros + libxcb-devel + x11/library/xcb-util-renderutil/pspec.xml xcb-util-renderutil + + libxcb + /usr/lib /usr/share/doc @@ -6184,10 +7187,11 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression emul32 emul32 + glibc-32bit libxcb-32bit - xcb-util + glibc-32bit libxcb-32bit @@ -6232,6 +7236,365 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + libvdpau + http://freedesktop.org/wiki/Software/VDPAU + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Wrapper library for the Video Decode and Presentation API + Video kodu çözme ve sunma API'si için ara kitaplık + VDPAU is the Video Decode and Presentation API for UNIX. It provides an interface to video decode acceleration and presentation hardware present in modern GPUs. + VDPAU (Video Decode and Presentation API for UNIX), modern grafik işlemcilerde yer alan video kod çözümü hızlandırma ve sunma donanımına bir arayüz sağlar. + http://people.freedesktop.org/~aplattner/vdpau/libvdpau-0.9.tar.gz + + libXext-devel + + x11/library/libvdpau/pspec.xml + + + libvdpau + + libXext + + + /etc + /usr/lib + /usr/share/doc + + + + libvdpau-devel + Development files for libvdpau + libvdpau için geliştirme dosyaları + + libvdpau + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + libvdpau-32bit + 32-bit shared libraries for libvdpau + libvdpau için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + glibc-32bit + libXext-32bit + + + libvdpau + glibc-32bit + libXext-32bit + + + /usr/lib32 + + + + + 2015-01-22 + 0.9 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-09-01 + 0.8 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 0.7 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-20 + 0.7 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-10-07 + 0.7 + Version bump, clean actions.py. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 0.6 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-06 + 0.6 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-10-10 + 0.5 + First release + Marcinn Bojara + marcin@pisilinux.org + + + + + + libXv + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie Xv de X.Org + X.Org Xv library + X.Org Xv kitaplığı + X.Org Xv Bibliothek + LibXv is the X Window System video extension library. + mirrors://xorg/individual/lib/libXv-1.0.10.tar.bz2 + + libX11-devel + libXext-devel + util-macros + + x11/library/libXv/pspec.xml + + + libXv + + libX11 + libXext + + + /usr/lib + /usr/share/doc + + + + libXv-devel + Development files for libXv + libXv için geliştirme dosyaları + + libXv + libXext-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libXv-32bit + 32-bit shared libraries for libXv + libXv için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + glibc-32bit + libX11-32bit + libXext-32bit + + + libXv + glibc-32bit + libX11-32bit + libXext-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 1.0.10 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.0.10 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-12 + 1.0.10 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-08-25 + 1.0.9 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.0.9 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-21 + 1.0.8 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.0.7 + First release + Erdem Artan + admins@pisilinux.org + + + + + + libXxf86vm + http://x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie Xxf86vm de X.Org + X.Org Xxf86vm library + X.Org Xxf86vm kitaplığı + X.Org Xxf86vm Bibliothek + LibXxf86vm is the client library for the XFree86-VidMode X extension. + mirrors://xorg/individual/lib/libXxf86vm-1.1.3.tar.bz2 + + libXext-devel + libX11-devel + util-macros + + x11/library/libXxf86vm/pspec.xml + + + libXxf86vm + + libX11 + libXext + + + /usr/lib + /usr/share/doc + + + + libXxf86vm-devel + Development files for libXxf86vm + libXxf86vm için geliştirme dosyaları + + libXxf86vm + libXext-devel + + + /usr/include/X11 + /usr/lib/pkgconfig/ + /usr/lib32/pkgconfig + /usr/share/man + + + + libXxf86vm-32bit + 32-bit shared libraries for libXxf86vm + libXxf86vm için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libXext-32bit + + + libXxf86vm + libXext-32bit + libX11-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 1.1.3 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.1.3 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 1.1.3 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-26 + 1.1.3 + Move pc files to devel pack, rebuild. + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-06-21 + 1.1.3 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.1.2 + First release + Erdem Artan + admins@pisilinux.org + + + xcb-util-wm @@ -6248,10 +7611,17 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression The xcb-util-wm module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. xcb-util-wm modülü, çekirdek X protokolü ve bazı eklentiler için libxcb temelli kitaplıklar içerir. http://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2 + + util-macros + libxcb-devel + x11/library/xcb-util-wm/pspec.xml xcb-util-wm + + libxcb + /usr/lib /usr/share/doc @@ -6278,10 +7648,12 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression emul32 libxcb-32bit + glibc-32bit xcb-util-wm libxcb-32bit + glibc-32bit /usr/lib32 @@ -6343,7 +7715,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression http://dri.freedesktop.org/libdrm/libdrm-2.4.60.tar.bz2 libpciaccess-devel - cairo-32bit x11/library/libdrm/pspec.xml @@ -6432,10 +7803,12 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression emul32 emul32 + glibc-32bit libpciaccess-32bit libdrm + glibc-32bit libpciaccess-32bit @@ -6593,10 +7966,17 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Wayland Compositor Infrastructure Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. http://wayland.freedesktop.org/releases/wayland-1.7.0.tar.xz + + libffi-devel + expat-devel + x11/library/wayland/pspec.xml wayland + + expat + /usr/bin /usr/share/doc/ @@ -6609,6 +7989,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression wayland-client Wayland client library + libffi wayland @@ -6630,6 +8011,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression wayland-server Wayland server library + libffi wayland @@ -6656,10 +8038,14 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression emul32 libffi-32bit + glibc-32bit + expat-32bit wayland + expat-32bit libffi-32bit + glibc-32bit /usr/lib32 @@ -6724,6 +8110,357 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + libXvMC + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie XvMC de X.Org + X.Org XvMC library + X.Org XvMC kitaplığı + X.Org XvMC Bibliothek + LibXvMC is the X-Video Motion Compensation Library. + mirrors://xorg/individual/lib/libXvMC-1.0.8.tar.bz2 + + libX11-devel + libXext-devel + libXv-devel + xorg-proto + util-macros + + x11/library/libXvMC/pspec.xml + + + libXvMC + + libXext + libX11 + + + /usr/lib + /usr/share/doc + + + + libXvMC-devel + Development files for libXvMC + libXvMC için geliştirme dosyaları + + libXv-devel + libXext-devel + libXvMC + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/doc/libXvMC/XvMC_API.txt + + + + libXvMC-32bit + 32-bit shared libraries for libXvMC + libXvMC için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + libXv-32bit + libX11-32bit + libXext-32bit + + + libX11-32bit + libXext-32bit + libXvMC + + + /usr/lib32 + + + + + 2014-05-16 + 1.0.8 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-19 + 1.0.8 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-11-06 + 1.0.8 + Fix deps. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-10-07 + 1.0.8 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-02 + 1.0.8 + Split 32bit. + PisiLinux Community + admins@pisilinux.org + + + 2013-08-25 + 1.0.8 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 1.0.8 + Rebuild + PisiLinux Community + admins@pisilinux.org + + + 2013-06-21 + 1.0.8 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.0.7 + First release + Erdem Artan + admins@pisilinux.org + + + + + + libpciaccess + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + X.Org PCI access library + X.Org PCI erişim kitaplığı + libpciaccess is the Xorg library for portable PCI access routines across multiple operating systems. + libpciaccess, değişik işletim sistemleri için taşınabilir PCI erişim rutinleri içeren Xorg kitaplığıdır. + mirrors://xorg/individual/lib/libpciaccess-0.13.4.tar.bz2 + + util-macros + + x11/library/libpciaccess/pspec.xml + + + libpciaccess + + /usr/lib + /usr/share/doc + + + + libpciaccess-devel + Development files for libpciaccess + libpciaccess için geliştirme dosyaları + + libpciaccess + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + libpciaccess-32bit + 32-bit shared libraries for libpciaccess + libpciaccess için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + glibc-32bit + + + glibc-32bit + libpciaccess + + + /usr/lib32 + + + + + 2015-05-05 + 0.13.4 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 0.13.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 0.13.2 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 0.13.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-21 + 0.13.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-01 + 0.13.1 + rebuild + Erdinc Gültekin + erdincgultekin@pisilinux.org + + + 2012-11-22 + 0.13.1 + First release + Marcin Bojara + marcin@pisilinux.org + + + + + + libXScrnSaver + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie XScrnSaver de X.Org + X.Org XScrnSaver library + X.Org XScrnSaver kitaplığı + X.Org XScrnSaver Bibliothek + LibXScrnSaver allows using screensavers in X clients. + mirrors://xorg/individual/lib/libXScrnSaver-1.2.2.tar.bz2 + + libXext-devel + libX11-devel + util-macros + + x11/library/libXScrnSaver/pspec.xml + + + libXScrnSaver + + libXext + libX11 + + + /usr/lib + /usr/share/doc + + + + libXScrnSaver-devel + Development files for libXScrnSaver + libXScrnSaver için geliştirme dosyaları + + libXScrnSaver + libXext-devel + + + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libXScrnSaver-32bit + 32-bit shared libraries for libXScrnSaver + libXScrnSaver için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + glibc-32bit + libX11-32bit + libXext-32bit + + + libXScrnSaver + glibc-32bit + libX11-32bit + libXext-32bit + + + /usr/lib32 + + + + + 2014-05-16 + 1.2.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-07 + 1.2.2 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 1.2.2 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-06-01 + 1.2.2 + First release + Erdem Artan + admins@pisilinux.org + + + libX11 @@ -6968,6 +8705,61 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + libomxil-bellagio + http://omxil.sourceforge.net + + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + LGPLv2.1 + library + x11.library + An opensource implementation of the OpenMAX Integration Layer API + An opensource implementation of the OpenMAX Integration Layer API + An opensource implementation of the OpenMAX Integration Layer API + An opensource implementation of the OpenMAX Integration Layer API + http://downloads.sourceforge.net/project/omxil/omxil/Bellagio%200.9.3/libomxil-bellagio-0.9.3.tar.gz + + glibc-devel + + + fedora-fixes.patch + + x11/library/libomxil-bellagio/pspec.xml + + + libomxil-bellagio + + /usr/bin + /usr/lib + /usr/share + /usr/share/man + /usr/share/doc + + + + libomxil-bellagio-devel + Development files for mesa + + libomxil-bellagio + + + /usr/include + /usr/lib/pkgconfig + + + + + 2015-04-07 + 0.9.3 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + libXtst @@ -7117,6 +8909,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXdamage libXfixes + libX11 /usr/lib @@ -7130,6 +8923,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXdamage libXfixes-devel + libX11-devel /usr/include/X11 @@ -7144,9 +8938,12 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression emul32 emul32 - libXfixes + glibc-32bit + libX11-32bit + libXfixes-32bit + glibc-32bit libXdamage libXfixes-32bit libX11-32bit @@ -7223,12 +9020,18 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression The xcb-util-image module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. xcb-util-image modülü, çekirdek X protokolü ve bazı eklentiler için libxcb temelli kitaplıklar içerir. http://xcb.freedesktop.org/dist/xcb-util-image-0.3.9.tar.bz2 + + util-macros + libxcb-devel + xcb-util-devel + x11/library/xcb-util-image/pspec.xml xcb-util-image xcb-util + libxcb /usr/lib @@ -7256,8 +9059,11 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression emul32 libxcb-32bit + xcb-util-32bit + glibc-32bit + glibc-32bit xcb-util-32bit libxcb-32bit @@ -7326,9 +9132,12 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression llvm-libs llvm-clang-devel xorg-proto + expat-devel libdrm-devel libXext-devel wayland-devel + wayland-server + wayland-client libvdpau-devel libXfixes-devel libtalloc-devel @@ -7337,6 +9146,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXxf86vm-devel libXvMC-devel libXv-devel + eudev-devel python-mako libxshmfence-devel @@ -7346,6 +9156,11 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression mesa llvm-libs + llvm-clang + libX11 + libgcc + libxcb + expat libdrm libXext libXfixes @@ -7358,8 +9173,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libdrm-nouveau wayland-client wayland-server - llvm-clang - libclc libxshmfence @@ -7410,7 +9223,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libdrm-32bit libXext-32bit libXvMC-32bit - libudev-32bit + eudev-32bit wayland-32bit libvdpau-32bit libXfixes-32bit @@ -7419,8 +9232,12 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libdrm-intel-32bit libdrm-radeon-32bit libdrm-nouveau-32bit + libxshmfence-32bit + glibc-32bit + libgcc + libcxb-32bit expat-32bit libX11-32bit libdrm-32bit @@ -7436,6 +9253,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libxshmfence-32bit libdrm-radeon-32bit libdrm-nouveau-32bit + wayland-32bit mesa @@ -7604,10 +9422,17 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Library to convert evdev keycodes to keysyms Evdev keycode'larını keysms türüne çeviren bir kitaplık https://github.com/xkbcommon/libxkbcommon/archive/xkbcommon-0.5.0.tar.gz + + util-macros + libxcb-devel + x11/library/libxkbcommon/pspec.xml libxkbcommon + + libxcb + /usr/share/doc/libxkbcommon/ /usr/lib/lib*.so* @@ -7631,9 +9456,14 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression 32-bit shared libraries for libxkbcommon emul32 emul32 + + libxcb-32bit + glibc-32bit + libxkbcommon libxcb-32bit + glibc-32bit /usr/lib32 @@ -7727,6 +9557,135 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + libXft + http://www.x.org/ + + PisiLinux Community + admins@pisilinux.org + + MIT + library + x11.library + Librairie Xft de X.Org + X.Org Xft library + X.Org Xft kitaplığı + X.Org Xft Bibliothek + libXft is the X FreeType interface library. + mirrors://xorg/individual/lib/libXft-2.3.2.tar.bz2 + + util-macros + freetype-devel + expat-devel + fontconfig-devel + libXrender-devel + + x11/library/libXft/pspec.xml + + + libXft + + libX11 + freetype + fontconfig + libXrender + + + /usr/lib + /usr/share/doc + + + + libXft-devel + Development files for libXft + libXft için geliştirme dosyaları + + libXft + freetype-devel + fontconfig-devel + libXrender-devel + + + /usr/bin + /usr/include/X11 + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/man + + + + libXft-32bit + 32-bit shared libraries for libXft + libXft için 32-bit paylaşımlı kitaplıklar + emul32 + emul32 + + freetype-32bit + fontconfig-32bit + libXrender-32bit + zlib-32bit + libX11-32bit + glibc-32bit + + + libXft + freetype-32bit + fontconfig-32bit + libXrender-32bit + zlib-32bit + libX11-32bit + glibc-32bit + + + /usr/lib32 + + + + + 2014-08-31 + 2.3.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-05-16 + 2.3.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-01 + 2.3.1 + Rebuild for freetype. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-10-07 + 2.3.1 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-08-25 + 2.3.1 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-22 + 2.3.1 + First release + Marcin Bojara + marcin@pisilinux.org + + + libXrandr @@ -7747,6 +9706,8 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXext-devel libXrender-devel + libX11-devel + util-macros x11/library/libXrandr/pspec.xml @@ -7755,6 +9716,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXext libXrender + libX11 /usr/lib @@ -7784,12 +9746,14 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression emul32 emul32 + glibc-32bit libX11-32bit libXext-32bit libXrender-32bit libXrandr + glibc-32bit libX11-32bit libXext-32bit libXrender-32bit @@ -8111,6 +10075,9 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXcursor is the X Cursor management library. It allows using different mouse skins and modifying of the text cursor. mirrors://xorg/individual/lib/libXcursor-1.1.14.tar.bz2 + util-macros + libX11-devel + xorg-proto libXfixes-devel libXrender-devel @@ -8119,6 +10086,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXcursor + libX11 libXfixes libXrender @@ -8134,6 +10102,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXcursor libXfixes-devel + libX11-devel libXrender-devel @@ -8150,12 +10119,14 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression emul32 emul32 + glibc-32bit libX11-32bit libXfixes-32bit libXrender-32bit libXcursor + glibc-32bit libX11-32bit libXfixes-32bit libXrender-32bit @@ -8226,10 +10197,18 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression X.Org Xrender Bibliothek The X Rendering Extension (Render) introduces digital image composition as the foundation of a new rendering model within the X Window System. Rendering geometric figures is accomplished by client-side tesselation into either triangles or trapezoids. mirrors://xorg/individual/lib/libXrender-0.9.8.tar.bz2 + + libX11-devel + xorg-proto + util-macros + x11/library/libXrender/pspec.xml libXrender + + libX11 + /usr/lib /usr/share/doc @@ -8241,6 +10220,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression libXrender için geliştirme dosyaları libXrender + libX11-devel /usr/include/X11 @@ -8256,10 +10236,12 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression emul32 emul32 + glibc-32bit libX11-32bit libXrender + glibc-32bit libX11-32bit @@ -8320,10 +10302,17 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression The xcb-util-keysyms module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. xcb-util-keysyms modülü, çekirdek X protokolü ve bazı eklentiler için libxcb temelli kitaplıklar içerir. http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.3.9.tar.bz2 + + util-macros + libxcb-devel + x11/library/xcb-util-keysyms/pspec.xml xcb-util-keysyms + + libxcb + /usr/lib /usr/share/doc @@ -8349,10 +10338,12 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression emul32 libxcb-32bit + glibc-32bit xcb-util-keysyms libxcb-32bit + glibc-32bit /usr/lib32 @@ -8752,10 +10743,17 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression The xcb-util module provides a number of libraries which sit on top of libxcb, the core X protocol library, and some of the extension libraries. xcb-util modülü, çekirdek X protokolü ve bazı eklentiler için libxcb temelli kitaplıklar içerir. http://xcb.freedesktop.org/dist/xcb-util-0.3.9.tar.bz2 + + util-macros + libxcb-devel + x11/library/xcb-util/pspec.xml xcb-util + + libxcb + /usr/lib /usr/share/doc @@ -8782,10 +10780,12 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression emul32 libxcb-32bit + glibc-32bit xcb-util libxcb-32bit + glibc-32bit /usr/lib32 @@ -11067,6 +13067,74 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kfilemetadata + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 library for extracting meta data from files. + KDE library for extracting meta data from files. + http://download.kde.org/stable/plasma/5.3.1/kfilemetadata-5.9.1.tar.xz + + qt5-base-devel + python + extra-cmake-modules + + desktop/kde/kde5-plasma/kfilemetadata/pspec.xml + + + kfilemetadata + + qt5-base + ebook-tools + libgcc + exiv2-libs + taglib + ffmpeg + taglib + poppler-qt5 + karchive + ki18n + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kfilemetadata-devel + Development files for kfilemetadata + + qt5-base-devel + kfilemetadata + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-03 + 5.9.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-khelpcenter @@ -12719,6 +14787,281 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + qrencode + http://fukuchi.org/works/qrencode/index.en.html + + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + LGPLv2.1 + library + unknown + A C library for encoding data in a QR code symbol + QR kod sembolüne veri gömmek için bir kitaplık + qrencode is a C library for encoding data in a QR Code symbol, a kind of 2D symbology that can be scanned by handy terminals such as a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000 characters, and is highly robust. + qrencode, cep telefonları gibi mobil cihazlar tarafından kolaylıkla taranabilen, 2 boyutlu bir sembol olan QR kod içerisinde veri gömmek için kullanılan bir kitaplıktır. + http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz + + libsdl-devel + m4 + + desktop/kde/addon/qrencode/pspec.xml + + + qrencode + + libpng + + + /usr/lib + /usr/bin/qrencode + /usr/share/man/man1 + /usr/share/doc + + + + qrencode-devel + Development files for qrencode + qrencode için geliştirme dosyaları + + qrencode + + + /usr/include + /usr/lib/pkgconfig + + + + + 2015-02-22 + 3.4.4 + Rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-02-22 + 3.3.1 + Rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2012-04-05 + 3.3.1 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + + + + prison-qt5 + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + MIT + library + unknown + A barcode API to produce QRCode barcodes and DataMatrix barcode + A barcode API to produce QRCode barcodes and DataMatrix barcode. + http://download.kde.org/stable/prison/1.1/src/prison-1.1.0.tar.xz + + python3 + mesa-devel + + desktop/kde/addon/prison-qt5/pspec.xml + + + prison-qt5 + + qt + libgcc + mesa + libdmtx + qrencode + + + /usr/lib + /usr/share/doc + + + prison + + + prison + + + + prison-qt5-devel + Development files for libepoxy + + prison-qt5 + + + /usr/include + /usr/lib/pkgconfig + + + prison-devel + + + prison-devel + + + + + 2015-06-29 + 1.1.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + libdmtx + http://www.libdmtx.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv2+ + library + unknown + A Library for working with Data Matrix 2D bar-codes + Data Matrix 2D barkodlarıyla çalışmak için kitaplık + libdmtx is an open source software for reading and writing Data Matrix 2D bar-codes on Linux, Unix, OS X, Windows and mobile devices. + libdmtx, Linux, Unix, OS X, Windows ve mobil işletim sistemlerinde Data Matrix 2D barkodlarını okumak ve yazmak için kullanılan açık kaynaklı bir kitaplıktır. + http://sourceforge.net/projects/libdmtx/files/libdmtx/0.7.4/libdmtx-0.7.4.tar.gz + + imagemagick-devel + + desktop/kde/addon/libdmtx/pspec.xml + + + libdmtx + + imagemagick + + + /usr/lib + /usr/share/doc + + + + libdmtx-devel + Development files for libdmtx + libdmtx için geliştirme dosyaları + + libdmtx + + + /usr/include + /usr/lib/pkgconfig + /usr/share/man/man3 + + + + + 2015-06-05 + 0.7.4 + Rebuild. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2011-08-09 + 0.7.4 + First release + Pisi Linux Admins + admins@pisilinux.org + + + + + + kross + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE5 application scripting helper + Kross is a scripting bridge to embed scripting functionality into an application. It supports QtScript as a scripting interpreter backend. + http://download.kde.org/stable/frameworks/5.11/portingAids/kross-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + kdoctools-devel + extra-cmake-modules + + desktop/kde/porting-aids/kross/pspec.xml + + + kross + + qt5-base + qt5-script + libgcc + kcoreaddons + ki18n + kcompletion + kiconthemes + kio + kparts + kwidgetsaddons + kxmlgui + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + kross-devel + Development files for kross + + qt5-base-devel + kross + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-kjsembed @@ -12783,6 +15126,71 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kmediaplayer + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE5 media player Plugin interface for media player features + KMediaPlayer builds on the KParts framework to provide a common interface for KParts that can play media files. + http://download.kde.org/stable/frameworks/5.11/portingAids/kmediaplayer-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/porting-aids/kmediaplayer/pspec.xml + + + kmediaplayer + + qt5-base + libgcc + kparts + kxmlgui + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kmediaplayer-devel + Development files for kmediaplayer + + qt5-base-devel + kmediaplayer + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-kjs @@ -12927,7 +15335,11 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel perl-URI qt5-tools-devel - kde5-kdoctools-devel + libSM-devel + docbook-xml + openssl-devel + intltool + kdoctools-devel NetworkManager-devel extra-cmake-modules @@ -12981,7 +15393,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression Development files for kdelibs4-support qt5-base-devel - kde5-kdelibs4-support + kde5-kdelibs4-support /usr/include @@ -12990,6 +15402,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-23 + 5.10.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-06-01 5.10.0 @@ -13150,6 +15569,253 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kjsembed + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + JavaScript support for HTML rendering engine on KDE5 + The KJSEmbed library is an easy-to-use wrapper around the KDE ECMAScript interpreter (kjs) that makes it easy to add scriptability to an application. + http://download.kde.org/stable/frameworks/5.11/portingAids/kjsembed-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + kdoctools-devel + python3 + extra-cmake-modules + + desktop/kde/porting-aids/kjsembed/pspec.xml + + + kjsembed + + qt5-base + qt5-svg + libgcc + ki18n + kjs + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + + kjsembed-devel + Development files for kjsembed + + qt5-base-devel + kjsembed + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kjs + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + JavaScript engine for KDE + This library provides an ECMAScript compatible interpreter. The ECMA standard is based on well known scripting languages such as Netscape's JavaScript and Microsoft's JScript. + http://download.kde.org/stable/frameworks/5.11/portingAids/kjs-5.11.0.tar.xz + + qt5-base-devel + libpcre-devel + libgcc + kdoctools-devel + extra-cmake-modules + + desktop/kde/porting-aids/kjs/pspec.xml + + + kjs + + qt5-base + libgcc + libpcre + + + /usr/bin + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + + kjs-devel + Development files for kjs + + qt5-base-devel + kjs + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kdelibs4-support + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Code and utilities to ease the transition to KDE Frameworks 5 + KDELibs4Support provides libraries to port KDE4 programs to QT5/KDE5 + http://download.kde.org/stable/frameworks/5.11/portingAids/kdelibs4support-5.11.0.tar.xz + + qt5-base-devel + perl-URI + qt5-tools-devel + libSM-devel + docbook-xml + openssl-devel + libX11-devel + intltool + kdoctools-devel + NetworkManager-devel + extra-cmake-modules + + desktop/kde/porting-aids/kdelibs4-support/pspec.xml + + + kdelibs4-support + + qt5-base + libICE + libgcc + libX11 + qt5-svg + qt5-x11extras + libSM + kauth + solid + kcodecs + kcoreaddons + kjobwidgets + kcompletion + kconfig + kconfigwidgets + kcrash + kdbusaddons + kglobalaccel + kguiaddons + ki18n + kiconthemes + kio + kitemviews + knotifications + kparts + kservice + ktextwidgets + kxmlgui + kwindowsystem + kwidgetsaddons + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + kdelibs4-support-devel + Development files for kdelibs4-support + + qt5-base-devel + kdelibs4-support + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-kmediaplayer @@ -13209,6 +15875,179 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + krunner + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Krunner Framework for providing different actions given a string query + Framework Integration is a set of plugins responsible for better integration of Qt applications when running on a KDE Plasma workspace. + http://download.kde.org/stable/frameworks/5.11/portingAids/krunner-5.11.0.tar.xz + + qt5-base-devel + kdoctools-devel + extra-cmake-modules + + desktop/kde/porting-aids/krunner/pspec.xml + + + krunner + + qt5-base + qt5-declarative + libgcc + kconfig + kcoreaddons + ki18n + kio + kservice + plasma-framework + solid + threadweaver + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + krunner-devel + Development files for krunner + + qt5-base-devel + krunner + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + khtml + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + HTML rendering engine for KDE + KHTML is a web rendering engine, based on the KParts technology and using KJS for JavaScript support. + http://download.kde.org/stable/frameworks/5.11/portingAids/khtml-5.11.0.tar.xz + + qt5-base-devel + zlib-devel + libX11-devel + zlib + openssl-devel + extra-cmake-modules + + desktop/kde/porting-aids/khtml/pspec.xml + + + khtml + + qt5-base + qt5-x11extras + qt5-phonon + zlib + openssl + giflib + zlib + libX11 + libgcc + libpng + libjpeg-turbo + sonnet + kcodecs + kconfig + kjobwidgets + kwidgetsaddons + kcompletion + karchive + kconfigwidgets + kcoreaddons + kglobalaccel + ki18n + kiconthemes + kio + kjs + knotifications + kparts + kservice + ktextwidgets + kwallet + kwindowsystem + kxmlgui + + + /etc + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + khtml-devel + Development files for khtml + + khtml + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-02 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-kxmlgui @@ -13231,7 +16070,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression session-restore.patch - desktop/kde/kde5-framework/kde5-kxmlgui/pspec.xml + desktop/kde/framework/kde5-kxmlgui/pspec.xml kde5-kxmlgui @@ -13281,6 +16120,83 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kcmutils + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Utilities for interacting with KCModules + KCMUtils provides various classes to work with KCModules. KCModules can be created with the KConfigWidgets framework. + http://download.kde.org/stable/frameworks/5.11/kcmutils-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/framework/kcmutils/pspec.xml + + + kcmutils + + qt5-base + qt5-declarative + libgcc + kdeclarative + kconfigwidgets + kwidgetsaddons + kconfig + kauth + kcoreaddons + ki18n + kiconthemes + kitemviews + kservice + kxmlgui + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kcmutils-devel + Development files for kcmutils + + qt5-base-devel + kcmutils + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-knotifications @@ -13301,7 +16217,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression python3 extra-cmake-modules - desktop/kde/kde5-framework/kde5-knotifications/pspec.xml + desktop/kde/framework/kde5-knotifications/pspec.xml kde5-knotifications @@ -13349,6 +16265,97 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kactivities + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Library for KDE's Plasma Activities support + Kactivities provides an API for using and interacting with the Plasma Activities Manager. + http://download.kde.org/stable/frameworks/5.11/kactivities-5.11.0.tar.xz + + qt5-base-devel + python3 + boost-devel + extra-cmake-modules + + + build-source.patch + + desktop/kde/framework/kactivities/pspec.xml + + + kactivities + + qt5-base + qt5-declarative + libgcc + kconfig + kconfigwidgets + kcoreaddons + kcmutils + kdeclarative + kdbusaddons + ki18n + kio + kglobalaccel + kservice + kxmlgui + kwindowsystem + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kactivities + + + kactivities + + + + kactivities-devel + Development files for kactivities + + qt5-base-devel + boost-devel + kactivities + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-kjobwidgets @@ -13369,7 +16376,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-tools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kjobwidgets/pspec.xml + desktop/kde/framework/kde5-kjobwidgets/pspec.xml kde5-kjobwidgets @@ -13434,7 +16441,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression avahi-compat-libdns_sd-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kdnssd/pspec.xml + desktop/kde/framework/kde5-kdnssd/pspec.xml kde5-kdnssd @@ -13492,7 +16499,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression extra-cmake-modules qt5-x11extras-devel - desktop/kde/kde5-framework/kde5-kidletime/pspec.xml + desktop/kde/framework/kde5-kidletime/pspec.xml kde5-kidletime @@ -13550,7 +16557,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression python3 extra-cmake-modules - desktop/kde/kde5-framework/kde5-kunitconversion/pspec.xml + desktop/kde/framework/kde5-kunitconversion/pspec.xml kde5-kunitconversion @@ -13609,7 +16616,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression python3 extra-cmake-modules - desktop/kde/kde5-framework/kde5-kwallet/pspec.xml + desktop/kde/framework/kde5-kwallet/pspec.xml kde5-kwallet @@ -13675,7 +16682,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kdeclarative/pspec.xml + desktop/kde/framework/kde5-kdeclarative/pspec.xml kde5-kdeclarative @@ -13728,7 +16735,84 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kauth + kinit + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE applications initialization utility + Process launcher to speed up launching KDE applications. + http://download.kde.org/stable/frameworks/5.11/kinit-5.11.0.tar.xz + + qt5-base-devel + kdoctools-devel + extra-cmake-modules + + desktop/kde/framework/kinit/pspec.xml + + + kinit + + qt5-base + libX11 + libcap + libgcc + kcrash + kcoreaddons + kconfig + kdoctools + ki18n + kio + kservice + kwindowsystem + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/locale + /usr/bin + /usr/share/doc + /usr/share/man + + + + kinit-devel + Development files for kinit + + qt5-base-devel + kinit + + + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kguiaddons http://www.kde.org Pisi Linux Admins @@ -13737,37 +16821,32 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression LGPLv2 library unknown - Abstraction to system policy and authentication features - Framework which lets applications perform actions as a privileged user - http://download.kde.org/stable/frameworks/5.11/kauth-5.11.0.tar.xz + Utilities for graphical user interfaces + The KDE GUI addons provide utilities for graphical user interfaces in the areas of colors, fonts, text, images, keyboard input. Development files. + http://download.kde.org/stable/frameworks/5.11/kguiaddons-5.11.0.tar.xz qt5-base-devel - qt5-tools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kauth/pspec.xml + desktop/kde/framework/kguiaddons/pspec.xml - kde5-kauth + kguiaddons qt5-base - polkit-qt - kde5-kcoreaddons + qt5-x11extras - /etc - /usr/share /usr/lib/qt5 /usr/lib /usr/share/doc - kde5-kauth-devel - Development files for kauth + kguiaddons-devel + Development files for kguiaddons - kde5-kauth - kde5-kcoreaddons-devel + kguiaddons /usr/include @@ -13813,7 +16892,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression kde5-kdoctools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kdesignerplugin/pspec.xml + desktop/kde/framework/kde5-kdesignerplugin/pspec.xml kde5-kdesignerplugin @@ -13854,6 +16933,69 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + attica + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Open Collaboration Service client library, based on Qt 5 + Attica is a library to access Open Collaboration Service servers, based on Qt 5. + http://download.kde.org/stable/frameworks/5.11/attica-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/framework/attica/pspec.xml + + + attica + + qt5-base + libgcc + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + attica-devel + Development files for attica5 + + qt5-base-devel + attica + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-20 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-modemmanger-qt @@ -13874,7 +17016,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression ModemManager-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-modemmanager-qt/pspec.xml + desktop/kde/framework/kde5-modemmanager-qt/pspec.xml kde5-modemmanager-qt @@ -13915,7 +17057,141 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kwidgetsaddons + kauth + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Abstraction to system policy and authentication features + Framework which lets applications perform actions as a privileged user + http://download.kde.org/stable/frameworks/5.11/kauth-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/framework/kauth/pspec.xml + + + kauth + + qt5-base + polkit-qt + kcoreaddons + + + /etc + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kauth-devel + Development files for kauth + + kauth + kcoreaddons-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + karchive + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Qt 5 addon providing access to numerous types of archives + KArchive provides classes for easy reading, creation and manipulation of "archive" formats like ZIP and TAR. + http://download.kde.org/stable/frameworks/5.11/karchive-5.11.0.tar.xz + + qt5-base-devel + xz-devel + zlib-devel + bzip2 + extra-cmake-modules + + desktop/kde/framework/karchive/pspec.xml + + + karchive + + qt5-base + xz + zlib + bzip2 + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + karchive-devel + Development files for karchive + + qt5-base-devel + karchive + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-20 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kconfig http://www.kde.org Pisi Linux Admins @@ -13924,36 +17200,38 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression LGPLv2 library app:console + app:gui unknown - KDE5 desktop widgets - KdeWidgetsAddons is a framework contains addon widgets and shared libraries for applications using Qt5-Widgets. - http://download.kde.org/stable/frameworks/5.11/kwidgetsaddons-5.11.0.tar.xz + Advanced configuration system for KDE Frameworks 5 + Kconfig provides advanced libraries and tools for accessing configuration files. + http://download.kde.org/stable/frameworks/5.11/kconfig-5.11.0.tar.xz qt5-base-devel qt5-tools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kwidgetsaddons/pspec.xml + desktop/kde/framework/kconfig/pspec.xml - kde5-kwidgetsaddons + kconfig qt5-base /usr/share /usr/share/locale + /usr/bin /usr/lib/qt5 /usr/lib /usr/share/doc - kde5-kwidgetsaddons-devel - Development files for kwidgetsaddons + kconfig-devel + Development files for kconfig qt5-base-devel - kde5-kwidgetsaddons + kconfig /usr/include @@ -13998,7 +17276,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression python3 extra-cmake-modules - desktop/kde/kde5-framework/kde5-kdesu/pspec.xml + desktop/kde/framework/kde5-kdesu/pspec.xml kde5-kdesu @@ -14040,6 +17318,104 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + plasma-framework + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Plasma library and runtime components based upon KDE Frameworks 5 and Qt5 + Plasma library and runtime components based upon KF5 and Qt5 + http://download.kde.org/stable/frameworks/5.11/plasma-framework-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + kdoctools-devel + libxcb-devel + libX11-devel + libgcc + extra-cmake-modules + + desktop/kde/framework/plasma-framework/pspec.xml + + + plasma-framework + + qt5-base + qt5-svg + qt5-script + qt5-x11extras + qt5-declarative + mesa + libgcc + libX11 + libxcb + kf5-kactivities + knotifications + kpackage + karchive + kconfig + kconfigwidgets + kcoreaddons + kdbusaddons + kdeclarative + kdoctools + kglobalaccel + kguiaddons + ki18n + kiconthemes + kio + kparts + kservice + kwindowsystem + kxmlgui + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + plasma-framework-devel + Development files for plasma-framework + + qt5-base-devel + mesa-devel + plasma-framework + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-kglobalaccel @@ -14060,7 +17436,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression python3 extra-cmake-modules - desktop/kde/kde5-framework/kde5-kglobalaccel/pspec.xml + desktop/kde/framework/kde5-kglobalaccel/pspec.xml kde5-kglobalaccel @@ -14106,6 +17482,159 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + sonnet + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE spell schecking library + This framework contains two main components: Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces. The kwalletd used to safely store the passwords on KDE work spaces. + http://download.kde.org/stable/frameworks/5.11/sonnet-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/framework/sonnet/pspec.xml + + + sonnet + + qt5-base + libgcc + aspell + hunspell + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + + + + sonnet-devel + Development files for sonnet + + qt5-base-devel + sonnet + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kwindowsystem + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 window manager access framework + KWindowSystem provides information about the state of the window manager and allows asking the window manager to change the using a more high-level interface than the NETWinInfo/NETRootInfo low-level classes. + http://download.kde.org/stable/frameworks/5.11/kwindowsystem-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + qt5-x11extras-devel + libX11-devel + libgcc + libxcb-devel + libXrender-devel + libXfixes-devel + xcb-util-devel + xcb-util-keysyms-devel + extra-cmake-modules + + desktop/kde/framework/kwindowsystem/pspec.xml + + + kwindowsystem + + qt5-base + libX11 + libgcc + libxcb + qt5-x11extras + libXfixes + xcb-util-keysyms + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + + + + kwindowsystem-devel + Development files for kwindowsystem + + qt5-base-devel + libXrender-devel + libXfixes-devel + xcb-util-devel + xcb-util-keysyms-devel + kwindowsystem + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-23 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + extra-cmake-modules @@ -14123,7 +17652,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression python-sphinx - desktop/kde/kde5-framework/extra-cmake-modules/pspec.xml + desktop/kde/framework/extra-cmake-modules/pspec.xml extra-cmake-modules @@ -14143,6 +17672,158 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kdeclarative + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Integration of QML and KDE workspaces + KDeclarative provides integration of QML and KDE workspaces. + http://download.kde.org/stable/frameworks/5.11/kdeclarative-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/framework/kdeclarative/pspec.xml + + + kdeclarative + + qt5-base + libgcc + libepoxy + qt5-declarative + kpackage + kconfig + kservice + kcoreaddons + kglobalaccel + ki18n + kiconthemes + kio + kwidgetsaddons + kwindowsystem + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kdeclarative-devel + Development files for kdeclarative + + qt5-base-devel + kdeclarative + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kglobalaccel + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Global desktop keyboard shortcuts + KGlobalAccel allows you to have global accelerators that are independent of the focused window. + http://download.kde.org/stable/frameworks/5.11/kglobalaccel-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + python3 + extra-cmake-modules + + desktop/kde/framework/kglobalaccel/pspec.xml + + + kglobalaccel + + qt5-base + libgcc + libxcb + ki18n + kcrash + kconfig + qt5-x11extras + kcoreaddons + kdbusaddons + xcb-util-keysyms + kwindowsystem + + + /usr/bin + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kglobalaccel-devel + Development files for kglobalaccel + + kglobalaccel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-knewstuff @@ -14161,7 +17842,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-knewstuff/pspec.xml + desktop/kde/framework/kde5-knewstuff/pspec.xml kde5-knewstuff @@ -14220,62 +17901,55 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kdoctools - http://www.kde.org + kpackage + https://userbase.kde.org/KPackage - Pisi Linux Admins - admins@pisilinux.org + Stefan Gronewold(groni) + groni@pisilinux.org - LGPLv2 - library - app:console + LGPL + app:library unknown - KDE5 document generator - kdoctools is an application aims to generate documents from DocBook. - http://download.kde.org/stable/frameworks/5.11/kdoctools-5.11.0.tar.xz + Framework that lets applications manage user installable packages of non-binary assets + KPackage is dependent on the Smart package manager. + http://download.kde.org/stable/frameworks/5.11/kpackage-5.11.0.tar.xz qt5-base-devel - perl-URI - python + python3 libgcc - libxml2-devel - docbook-xml - docbook-xsl - docbook-sgml4_5 - kde5-ki18n-devel - kde5-karchive-devel + qt5-tools-devel extra-cmake-modules + kdoctools-devel - desktop/kde/kde5-framework/kde5-kdoctools/pspec.xml + desktop/kde/framework/kpackage/pspec.xml - kde5-kdoctools + kpackage qt5-base - libxml2 libgcc - libxslt - kde5-karchive + libX11 + libgcc + kconfig + ki18n + kcoreaddons + karchive - /usr/share - /usr/share/locale + /usr/bin /usr/lib/qt5 /usr/lib - /usr/bin - /usr/share/doc - /usr/share/man + /usr/share + /usr/share/locale + /usr/share/man/man1 - kde5-kdoctools-devel - Development files for kdoctools + kpackage-devel + Development files for kpackage qt5-base-devel - kde5-kdoctools - kde5-karchive-devel - libgcc - libxml2-devel + kpackage /usr/include @@ -14285,14 +17959,14 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - 2015-06-21 + 2015-06-23 5.11.0 Version bump. Stefan Gronewold(groni) groni@pisilinux.org - 2015-05-30 + 2015-05-31 5.10.0 First Release. Stefan Gronewold(groni) @@ -14300,6 +17974,75 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kjobwidgets + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Widgets for showing progress of asynchronous jobs + KJobWIdgets provides widgets for showing progress of asynchronous jobs. + http://download.kde.org/stable/frameworks/5.11/kjobwidgets-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/framework/kjobwidgets/pspec.xml + + + kjobwidgets + + qt5-base + libgcc + kcoreaddons + kwidgetsaddons + qt5-x11extras + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kjobwidgets-devel + Development files for kjobwidgets + + qt5-base-devel + kjobwidgets + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-kplotting @@ -14318,7 +18061,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kplotting/pspec.xml + desktop/kde/framework/kde5-kplotting/pspec.xml kde5-kplotting @@ -14354,6 +18097,59 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kimageformats + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Image formats addons for QT 5 + This framework provides additional image format plugins for QtGui. + http://download.kde.org/stable/frameworks/5.11/kimageformats-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/framework/kimageformats/pspec.xml + + + kimageformats + + qt5-base + libgcc + openexr-libs + ilmbase + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-ktextwidgets @@ -14374,7 +18170,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression python3 extra-cmake-modules - desktop/kde/kde5-framework/kde5-ktextwidgets/pspec.xml + desktop/kde/framework/kde5-ktextwidgets/pspec.xml kde5-ktextwidgets @@ -14434,7 +18230,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kcrash + kwallet http://www.kde.org Pisi Linux Admins @@ -14444,22 +18240,115 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression library app:console unknown - KDE5 crash handling application - KCrash provides support for intercepting and handling application crashes. - http://download.kde.org/stable/frameworks/5.10/kcrash-5.10.0.tar.xz + KDE password storage framework + This framework contains two main components: Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces. The kwalletd used to safely store the passwords on KDE work spaces. + http://download.kde.org/stable/frameworks/5.11/kwallet-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/framework/kwallet/pspec.xml + + + kwallet + + qt5-base + libgcc + libgcrypt + kconfig + kcoreaddons + kdbusaddons + ki18n + kiconthemes + knotifications + kservice + kwidgetsaddons + kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + + + + kwallet-devel + Development files for kwallet + + qt5-base-devel + kwallet + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + knewstuff + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Framework for downloading and sharing additional application data + The KNewStuff library implements collaborative data sharing for applications. + http://download.kde.org/stable/frameworks/5.11/knewstuff-5.11.0.tar.xz qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kcrash/pspec.xml + desktop/kde/framework/knewstuff/pspec.xml - kde5-kcrash + knewstuff qt5-base - qt5-x11extras - kde5-kcoreaddons - kde5-kwindowsystem + boost + libgcc + kwidgetsaddons + ktextwidgets + kiconthemes + kcompletion + kitemviews + karchive + kf5-attica + kconfig + kcoreaddons + kcmutils + kdeclarative + kdbusaddons + ki18n + kio + kglobalaccel + kservice + kxmlgui + kwindowsystem /usr/share @@ -14470,14 +18359,11 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kcrash-devel - Development files for kcrash + knewstuff-devel + Development files for knewstuff qt5-base-devel - qt5-x11extras-devel - kde5-kcrash - kde5-kcoreaddons-devel - kde5-kwindowsystem-devel + knewstuff /usr/include @@ -14486,6 +18372,80 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kdbusaddons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Extra modules for Qt-DBus + KDE5-KDBusAddons provides convenience classes on top of QtDBus, as well as an API to create KDED modules. + http://download.kde.org/stable/frameworks/5.11/kdbusaddons-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/framework/kdbusaddons/pspec.xml + + + kdbusaddons + + qt5-base + qt5-x11extras + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kdbusaddons-devel + Development files for kdbusaddons + + qt5-base-devel + kdbusaddons + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-05-30 5.10.0 @@ -14513,7 +18473,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-framework-integration/pspec.xml + desktop/kde/framework/kde5-framework-integration/pspec.xml kde5-framework-integration @@ -14565,7 +18525,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-karchive + ktexteditor http://www.kde.org Pisi Linux Admins @@ -14574,36 +18534,55 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression LGPLv2 library unknown - Qt 5 addon providing access to numerous types of archives - KArchive provides classes for easy reading, creation and manipulation of "archive" formats like ZIP and TAR. - http://download.kde.org/stable/frameworks/5.11/karchive-5.11.0.tar.xz + KDE5 text editor libraries + KTextEditor provides a powerful text editor component that you can embed in your application. + http://download.kde.org/stable/frameworks/5.11/ktexteditor-5.11.0.tar.xz qt5-base-devel - xz-devel - zlib-devel - bzip2 extra-cmake-modules - desktop/kde/kde5-framework/kde5-karchive/pspec.xml + desktop/kde/framework/ktexteditor/pspec.xml - kde5-karchive + ktexteditor + qt5-script qt5-base + libgcc + ktextwidgets + kwidgetsaddons + kconfigwidgets + kjobwidgets + kiconthemes + kcoreaddons + kcompletion + kitemviews + kxmlgui + kcodecs + karchive + kguiaddons + kconfig + ki18n + kio + ki18n + kparts + sonnet + /etc /usr/share + /usr/share/locale /usr/lib/qt5 /usr/lib /usr/share/doc - kde5-karchive-devel - Development files for karchive + ktexteditor-devel + Development files for ktexteditor qt5-base-devel - kde5-karchive + ktexteditor /usr/include @@ -14613,7 +18592,152 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - 2015-06-20 + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + knotifications + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE5 Desktop notifications + KNotification is used to notify the user of an event. It covers feedback and persistent events. + http://download.kde.org/stable/frameworks/5.11/knotifications-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + python3 + extra-cmake-modules + + desktop/kde/framework/knotifications/pspec.xml + + + knotifications + + qt5-base + qt5-phonon + qt5-libdbusmenu + libgcc + libX11 + libXtst + qt5-x11extras + kconfig + kcodecs + kcoreaddons + kiconthemes + kservice + kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + knotifications-devel + Development files for knotifications + + qt5-base-devel + knotifications + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + ki18n + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE Gettext-based UI text internationalization. + KDE grafik arabirim yerelleştirme kitaplığı + KI18n provides functionality for internationalizing user interface text in applications, based on the GNU Gettext translation system. + ki18n, KDE Frameworks 5 için, Gettext tabanlı bir grafik arabirim yerelleştirme kitaplığıdır + http://download.kde.org/stable/frameworks/5.11/ki18n-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/framework/ki18n/pspec.xml + + + ki18n + + qt5-base + qt5-script + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + ki18n-devel + Development files for kde5-ki18n + ki18n için geliştirme dosyaları + + ki18n + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-21 5.11.0 Version bump. Stefan Gronewold(groni) @@ -14648,7 +18772,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression extra-cmake-modules python3 - desktop/kde/kde5-framework/kde5-kxmlrpcclient/pspec.xml + desktop/kde/framework/kde5-kxmlrpcclient/pspec.xml kde5-kxmlrpcclient @@ -14711,7 +18835,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-tools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kbookmarks/pspec.xml + desktop/kde/framework/kde5-kbookmarks/pspec.xml kde5-kbookmarks @@ -14776,7 +18900,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression kde5-kdoctools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kio/pspec.xml + desktop/kde/framework/kde5-kio/pspec.xml kde5-kio @@ -14841,78 +18965,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - - - kde5-kservice - http://www.kde.org - - Pisi Linux Admins - admins@pisilinux.org - - LGPLv2 - library - app:console - unknown - KDE5 Desktop Services - Kservice Provides a plugin framework for handling desktop services. Services can be applications or libraries. They can be bound to MIME types or handled by application specific code. - http://download.kde.org/stable/frameworks/5.10/kservice-5.10.0.tar.xz - - qt5-base-devel - python3 - kde5-kdoctools-devel - extra-cmake-modules - - desktop/kde/kde5-framework/kde5-kservice/pspec.xml - - - kde5-kservice - - qt5-base - kde5-kconfig - kde5-kcoreaddons - kde5-kcrash - kde5-kdbusaddons - kde5-ki18n - - - /etc - /usr/share - /usr/share/locale - /usr/bin - /usr/lib/qt5 - /usr/lib - /usr/share/man - /usr/share/doc - - - - kde5-kservice-devel - Development files for kservice - - qt5-base-devel - boost-devel - kde5-kservice - kde5-kconfig-devel - kde5-kcoreaddons-devel - kde5-kdbusaddons-devel - kde5-ki18n-devel - - - /usr/include - /usr/lib/cmake - /usr/lib/pkgconfig - - - - - 2015-05-30 - 5.10.0 - First Release. - Stefan Gronewold(groni) - groni@pisilinux.org - - - kde5-kactivities @@ -14937,7 +18989,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression build-source.patch - desktop/kde/kde5-framework/kde5-kactivities/pspec.xml + desktop/kde/framework/kde5-kactivities/pspec.xml kde5-kactivities @@ -14996,6 +19048,283 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kplotting + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + KDE5 Data plotting + Kplotting contains data plotting classes for QT 5 and KDE + http://download.kde.org/stable/frameworks/5.11/kplotting-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/framework/kplotting/pspec.xml + + + kplotting + + qt5-base + libgcc + + + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kplotting-devel + Development files for kplotting + + qt5-base-devel + kplotting + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kdesignerplugin + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + QT Designer integration for KDE5 Frameworks widgets + This framework provides plugins for Qt Designer that allow it to display the widgets provided by various KDE frameworks, as well as a utility (kgendesignerplugin) that can be used to generate other such plugins from ini-style description files. + http://download.kde.org/stable/frameworks/5.11/kdesignerplugin-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + kdoctools-devel + extra-cmake-modules + + desktop/kde/framework/kdesignerplugin/pspec.xml + + + kdesignerplugin + + qt5-base + libgcc + kdewebkit + kcoreaddons + kitemviews + kconfig + sonnet + kcompletion + kconfigwidgets + kiconthemes + kio + kplotting + ktextwidgets + kwidgetsaddons + kxmlgui + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kcrash + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Kcrash crash handling application + KCrash provides support for intercepting and handling application crashes. + http://download.kde.org/stable/frameworks/5.11/kcrash-5.11.0.tar.xz + + qt5-base-devel + libX11-devel + libgcc + extra-cmake-modules + + desktop/kde/framework/kcrash/pspec.xml + + + kcrash + + qt5-base + libX11 + libgcc + qt5-x11extras + kcoreaddons + kwindowsystem + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kcrash-devel + Development files for kcrash + + qt5-base-devel + qt5-x11extras-devel + kcrash + kcoreaddons-devel + kwindowsystem-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-23 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kxmlrpcclient + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + XML-RPC client library for KDE + This library contains simple XML-RPC Client support. It is used mainly by the egroupware module of kdepim, but is a complete client and is quite easy to use. Only one interface is exposed to the world, kxmlrpcclient/client.h and of that interface, you only need to use 3 methods: setUrl, setUserAgent and call. + http://download.kde.org/stable/frameworks/5.11/kxmlrpcclient-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + python3 + + desktop/kde/framework/kxmlrpcclient/pspec.xml + + + kxmlrpcclient + + qt5-base + libgcc + ki18n + kcoreaddons + kio + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kxmlrpcclient-devel + Development files for kdelibs4-support + + qt5-base-devel + kxmlrpcclient + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-plasma-framework @@ -15015,9 +19344,10 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel qt5-tools-devel kde5-kdoctools-devel + libxcb-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-plasma-framework/pspec.xml + desktop/kde/framework/kde5-plasma-framework/pspec.xml kde5-plasma-framework @@ -15102,7 +19432,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression extra-cmake-modules NetworkManager-devel - desktop/kde/kde5-framework/kde5-networkmanager-qt/pspec.xml + desktop/kde/framework/kde5-networkmanager-qt/pspec.xml kde5-networkmanager-qt @@ -15141,6 +19471,82 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kservice + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 Desktop Services + Kservice Provides a plugin framework for handling desktop services. Services can be applications or libraries. They can be bound to MIME types or handled by application specific code. + http://download.kde.org/stable/frameworks/5.11/kservice-5.11.0.tar.xz + + qt5-base-devel + python3 + kdoctools-devel + extra-cmake-modules + + desktop/kde/framework/kservice/pspec.xml + + + kservice + + qt5-base + libgcc + kconfig + kcoreaddons + kcrash + kdbusaddons + ki18n + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + + kservice-devel + Development files for kservice + + qt5-base-devel + boost-devel + kservice + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-knotifyconfig @@ -15159,7 +19565,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-knotifyconfig/pspec.xml + desktop/kde/framework/kde5-knotifyconfig/pspec.xml kde5-knotifyconfig @@ -15206,7 +19612,143 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kcompletion + kitemmodels + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Set of item models extending the Qt model-view framework + KItemModels provides a set of item models extending the Qt model-view framework. + http://download.kde.org/stable/frameworks/5.11/kitemmodels-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/framework/kitemmodels/pspec.xml + + + kitemmodels + + qt5-base + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kitemmodels-devel + Development files for kitemmodels + + qt5-base-devel + kitemmodels + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kpeople + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + A contact aggregation library for KDE + KPeople is a Framework for fetching contacts from different sources (Telepathy, Akonadi, Facebook, etc) and unifying them into a same model. + http://download.kde.org/stable/frameworks/5.11/kpeople-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/framework/kpeople/pspec.xml + + + kpeople + + qt5-base + qt5-declarative + libgcc + kconfig + qt5-declarative + kcoreaddons + kservice + kwidgetsaddons + ki18n + kitemviews + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kpeople-devel + Development files for kpeople + + qt5-base-devel + kpeople + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kdewebkit http://www.kde.org Pisi Linux Admins @@ -15216,39 +19758,196 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression library app:console unknown - Addon with auto completion widgets and classes - KCompletion provides widgets with advanced completion support as well as a lower-level completion class which can be used with your own widgets. - http://download.kde.org/stable/frameworks/5.11/kcompletion-5.11.0.tar.xz + KDE5 WebKit integration + KdeWebkit provides KDE integration of the QtWebKit library. + http://download.kde.org/stable/frameworks/5.11/kdewebkit-5.11.0.tar.xz qt5-base-devel - qt5-tools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kcompletion/pspec.xml + desktop/kde/framework/kdewebkit/pspec.xml - kde5-kcompletion + kdewebkit + qt5-webkit + libgcc + kconfig + kjobwidgets qt5-base - kde5-kconfig - kde5-kwidgetsaddons + kcoreaddons + kparts + kservice + kwallet + kio /usr/share + /usr/lib/qt5 + /usr/lib + /usr/mkspecs/modules/ + /usr/share/doc + + + + kdewebkit-devel + Development files for kdewebkit + + qt5-base-devel + kdewebkit + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kdesu + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + User interface for running shell commands with root privileges + kdesu provides functionality for building GUI front ends for (password asking) console mode programs. + http://download.kde.org/stable/frameworks/5.11/kdesu-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/framework/kdesu/pspec.xml + + + kdesu + + qt5-base + kcoreaddons + kpty + kservice + ki18n + kconfig + libgcc + libX11 + + /usr/share/locale - /usr/bin /usr/lib/qt5 /usr/lib /usr/share/doc - kde5-kcompletion-devel - Development files for kcompletion + kdesu-devel + Development files for kdesu qt5-base-devel - kde5-kcompletion - kde5-kwidgetsaddons-devel + kdesu + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kdoctools + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 document generator + kdoctools is an application aims to generate documents from DocBook. + http://download.kde.org/stable/frameworks/5.11/kdoctools-5.11.0.tar.xz + + qt5-base-devel + perl-URI + python + libgcc + libxml2-devel + docbook-xml + docbook-xsl + docbook-sgml4_5 + ki18n-devel + karchive-devel + extra-cmake-modules + + desktop/kde/framework/kdoctools/pspec.xml + + + kdoctools + + qt5-base + libxml2 + libgcc + libxslt + karchive + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + /usr/share/man + + + + kdoctools-devel + Development files for kdoctools + + qt5-base-devel + kdoctools + karchive-devel + libgcc + libxml2-devel /usr/include @@ -15275,7 +19974,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kwindowsystem + ktextwidgets http://www.kde.org Pisi Linux Admins @@ -15285,54 +19984,46 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression library app:console unknown - KDE5 window manager access framework - KWindowSystem provides information about the state of the window manager and allows asking the window manager to change the using a more high-level interface than the NETWinInfo/NETRootInfo low-level classes. - http://download.kde.org/stable/frameworks/5.11/kwindowsystem-5.11.0.tar.xz + KDE5 text editing widgets + KTextWidgets provides widgets for displaying and editing text. It supports rich text as well as plain text. + http://download.kde.org/stable/frameworks/5.11/ktextwidgets-5.11.0.tar.xz qt5-base-devel - qt5-tools-devel - qt5-x11extras-devel - libX11-devel - libgcc - libxcb-devel - libXrender-devel - libXfixes-devel - xcb-util-devel - xcb-util-keysyms-devel + python3 extra-cmake-modules - desktop/kde/kde5-framework/kde5-kwindowsystem/pspec.xml + desktop/kde/framework/ktextwidgets/pspec.xml - kde5-kwindowsystem + ktextwidgets qt5-base - libX11 libgcc - libxcb - qt5-x11extras - libXfixes - xcb-util-keysyms + kconfig + kcompletion + kconfigwidgets + kiconthemes + kwidgetsaddons + ki18n + sonnet + kservice + kcoreaddons + kwindowsystem /usr/share /usr/share/locale /usr/lib/qt5 /usr/lib - /usr/bin /usr/share/doc - kde5-kwindowsystem-devel - Development files for kwindowsystem + ktextwidgets-devel + Development files for ktextwidgets qt5-base-devel - libXrender-devel - libXfixes-devel - xcb-util-devel - xcb-util-keysyms-devel - kde5-kwindowsystem + ktextwidgets /usr/include @@ -15342,7 +20033,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - 2015-06-23 + 2015-06-25 5.11.0 Version bump. Stefan Gronewold(groni) @@ -15351,6 +20042,75 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression 2015-05-30 5.10.0 + First Release + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + knotifyconfig + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Configuration dialog for desktop notifications + KNotifyConfig provides a configuration dialog for desktop notifications which can be embedded in your application.. + http://download.kde.org/stable/frameworks/5.11/knotifyconfig-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/framework/knotifyconfig/pspec.xml + + + knotifyconfig + + qt5-base + qt5-phonon + libgcc + kconfig + kcompletion + ki18n + kio + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + knotifyconfig-devel + Development files for knotifyconfig + + qt5-base-devel + knotifyconfig + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 First Release. Stefan Gronewold(groni) groni@pisilinux.org @@ -15376,7 +20136,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-threadweaver/pspec.xml + desktop/kde/framework/kde5-threadweaver/pspec.xml kde5-threadweaver @@ -15414,7 +20174,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kcodecs + networkmanager-qt http://www.kde.org Pisi Linux Admins @@ -15422,36 +20182,40 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression LGPLv2 library + app:console unknown - Plugins allowing Qt applications to access further types of images - KDE5 KCodecs provide a collection of methods to manipulate strings using various encodings. - http://download.kde.org/stable/frameworks/5.11/kcodecs-5.11.0.tar.xz + A QT wrapper around the NetworkManager libraries + A QT wrapper around the NetworkManager libraries + http://download.kde.org/stable/frameworks/5.11/networkmanager-qt-5.11.0.tar.xz qt5-base-devel - qt5-tools-devel extra-cmake-modules + NetworkManager-devel - desktop/kde/kde5-framework/kde5-kcodecs/pspec.xml + desktop/kde/framework/networkmanager-qt/pspec.xml - kde5-kcodecs + networkmanager-qt qt5-base + NetworkManager + libgcc /usr/share /usr/share/locale + /usr/bin /usr/lib/qt5 /usr/lib /usr/share/doc - kde5-kcodecs-devel - Development files for kcodecs + networkmanager-qt-devel + Development files for networkmanager-qt qt5-base-devel - kde5-kcodecs + networkmanager-qt /usr/include @@ -15461,14 +20225,14 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - 2015-06-21 + 2015-06-25 5.11.0 Version bump. Stefan Gronewold(groni) groni@pisilinux.org - 2015-05-30 + 2015-06-01 5.10.0 First Release. Stefan Gronewold(groni) @@ -15478,7 +20242,81 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-sonnet + kparts + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Plugin framework for user interface components + This library implements the framework for KDE parts, which are elaborate widgets with a user-interface defined in terms of actions (menu items, toolbar icons). + http://download.kde.org/stable/frameworks/5.11/kparts-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/framework/kparts/pspec.xml + + + kparts + + qt5-base + libgcc + kjobwidgets + kconfig + kcoreaddons + ki18n + kiconthemes + knotifications + kservice + kwidgetsaddons + kxmlgui + kio + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kparts-devel + Development files for kparts + + qt5-base-devel + kparts + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kitemviews http://www.kde.org Pisi Linux Admins @@ -15488,38 +20326,37 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression library app:console unknown - KDE spell schecking library - This framework contains two main components: Interface to KWallet, the safe desktop-wide storage for passwords on KDE workspaces. The kwalletd used to safely store the passwords on KDE work spaces. - http://download.kde.org/stable/frameworks/5.10/sonnet-5.10.0.tar.xz + Set of item models extending the Qt model-view framework + KItemViews includes a set of views, which can be used with item models. It includes views for categorizing lists and to add search filters to flat and hierarchical lists. + http://download.kde.org/stable/frameworks/5.11/kitemviews-5.11.0.tar.xz qt5-base-devel + libgcc qt5-tools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-sonnet/pspec.xml + desktop/kde/framework/kitemviews/pspec.xml - kde5-sonnet + kitemviews qt5-base - aspell - hunspell + libgcc /usr/share /usr/share/locale /usr/lib/qt5 /usr/lib - /usr/bin /usr/share/doc - kde5-sonnet-devel - Development files for sonnet + kitemviews-devel + Development files for kitemviews qt5-base-devel - kde5-sonnet + kitemviews /usr/include @@ -15528,71 +20365,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - - 2015-05-30 - 5.10.0 - First Release. + + 2015-06-24 + 5.11.0 + Version bump. Stefan Gronewold(groni) groni@pisilinux.org - - - - - kde5-kiconthemes - http://www.kde.org - - Pisi Linux Admins - admins@pisilinux.org - - LGPLv2 - library - app:console - unknown - KDE5 icon utilities - This library contains classes to improve the handling of icons in applications using the KDE Frameworks. - http://download.kde.org/stable/frameworks/5.10/kiconthemes-5.10.0.tar.xz - - qt5-base-devel - python3 - extra-cmake-modules - - desktop/kde/kde5-framework/kde5-kiconthemes/pspec.xml - - - kde5-kiconthemes - - qt5-base - qt5-svg - kde5-kconfigwidgets - kde5-ki18n - kde5-kitemviews - kde5-kwidgetsaddons - kde5-kconfig - kde5-kcoreaddons - - - /usr/share - /usr/share/locale - /usr/bin - /usr/lib/qt5 - /usr/lib - /usr/share/doc - - - - kde5-kiconthemes-devel - Development files for kiconthemes - - kde5-kiconthemes - - - /usr/include - /usr/lib/cmake - /usr/lib/pkgconfig - - - 2015-05-30 5.10.0 @@ -15621,7 +20400,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression python3 extra-cmake-modules - desktop/kde/kde5-framework/kde5-kcmutils/pspec.xml + desktop/kde/framework/kde5-kcmutils/pspec.xml kde5-kcmutils @@ -15671,138 +20450,6 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - - - kde5-ki18n - http://www.kde.org - - Pisi Linux Admins - admins@pisilinux.org - - LGPLv2 - library - unknown - KDE Gettext-based UI text internationalization. - KI18n provides functionality for internationalizing user interface text in applications, based on the GNU Gettext translation system. - http://download.kde.org/stable/frameworks/5.11/ki18n-5.11.0.tar.xz - - qt5-base-devel - python3 - extra-cmake-modules - - desktop/kde/kde5-framework/kde5-ki18n/pspec.xml - - - kde5-ki18n - - qt5-base - qt5-script - - - /usr/share - /usr/share/locale - /usr/lib/qt5 - /usr/lib - /usr/share/doc - /usr/share/man - - - - kde5-ki18n-devel - Development files for kde5-ki18n - - kde5-ki18n - - - /usr/include - /usr/lib/cmake - /usr/lib/pkgconfig - - - - - 2015-06-21 - 5.11.0 - Version bump. - Stefan Gronewold(groni) - groni@pisilinux.org - - - 2015-05-30 - 5.10.0 - First Release. - Stefan Gronewold(groni) - groni@pisilinux.org - - - - - - kde5-kconfig - http://www.kde.org - - Pisi Linux Admins - admins@pisilinux.org - - LGPLv2 - library - app:console - app:gui - unknown - Advanced configuration system for KDE Frameworks 5 - Kconfig provides advanced libraries and tools for accessing configuration files. - http://download.kde.org/stable/frameworks/5.11/kconfig-5.11.0.tar.xz - - qt5-base-devel - qt5-tools-devel - extra-cmake-modules - - desktop/kde/kde5-framework/kde5-kconfig/pspec.xml - - - kde5-kconfig - - qt5-base - - - /usr/share - /usr/share/locale - /usr/bin - /usr/lib/qt5 - /usr/lib - /usr/share/doc - - - - kde5-kconfig-devel - Development files for kde5-kconfig - - qt5-base-devel - kde5-kconfig - - - /usr/include - /usr/lib/cmake - /usr/lib/pkgconfig - - - - - 2015-06-21 - 5.11.0 - Version bump. - Stefan Gronewold(groni) - groni@pisilinux.org - - - 2015-05-30 - 5.10.0 - First Release. - Stefan Gronewold(groni) - groni@pisilinux.org - - - kde5-kparts @@ -15821,7 +20468,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kparts/pspec.xml + desktop/kde/framework/kde5-kparts/pspec.xml kde5-kparts @@ -15889,7 +20536,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression kde5-kdoctools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kinit/pspec.xml + desktop/kde/framework/kde5-kinit/pspec.xml kde5-kinit @@ -15955,7 +20602,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kimageformats/pspec.xml + desktop/kde/framework/kde5-kimageformats/pspec.xml kde5-kimageformats @@ -15983,7 +20630,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kded + kded http://www.kde.org Pisi Linux Admins @@ -15995,23 +20642,23 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression unknown KDE5 daemon Kded runs in the background and performs a number of small tasks. - http://download.kde.org/stable/frameworks/5.10/kded-5.10.0.tar.xz + http://download.kde.org/stable/frameworks/5.11/kded-5.11.0.tar.xz qt5-base-devel - kde5-kdoctools-devel + kdoctools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kded/pspec.xml + desktop/kde/framework/kde5-kded/pspec.xml - kde5-kded + kded qt5-base - kde5-kcoreaddons - kde5-kconfig - kde5-kcrash - kde5-kdbusaddons - kde5-kservice + kcoreaddons + kconfig + kcrash + kdbusaddons + kservice /usr/share @@ -16023,11 +20670,11 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kded-devel - Development files for kde5-kded + kded-devel + Development files for kded qt5-base-devel - kde5-kded + kded /usr/lib/cmake @@ -16035,6 +20682,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + 2015-06-06 5.10.0 @@ -16044,6 +20698,147 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kpty + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Libraries for pseudo terminal devices + Kpty provides primitives to interface with pseudo terminal devices as well as a KProcess derived class for running child processes and communicating with them using kpty. + http://download.kde.org/stable/frameworks/5.11/kpty-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/framework/kpty/pspec.xml + + + kpty + + qt5-base + utempter + libgcc + kcoreaddons + ki18n + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kpty-devel + Development files for kpty + + qt5-base-devel + utempter-devel + kcoreaddons-devel + ki18n-devel + kpty + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kcompletion + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Addon with auto completion widgets and classes + KCompletion provides widgets with advanced completion support as well as a lower-level completion class which can be used with your own widgets. + http://download.kde.org/stable/frameworks/5.11/kcompletion-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/framework/kcompletion/pspec.xml + + + kcompletion + + qt5-base + libgcc + kconfig + kwidgetsaddons + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kcompletion-devel + Development files for kcompletion + + qt5-base-devel + kcompletion + kwidgetsaddons-devel + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-kpeople @@ -16063,7 +20858,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression python3 extra-cmake-modules - desktop/kde/kde5-framework/kde5-kpeople/pspec.xml + desktop/kde/framework/kde5-kpeople/pspec.xml kde5-kpeople @@ -16110,7 +20905,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-solid + kidletime http://www.kde.org Pisi Linux Admins @@ -16120,38 +20915,42 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression library app:console unknown - KDE5 hardware integration framework - Solid is a device integration framework.It provides a way of querying and interacting with hardware independently of the underlying operating system. - http://download.kde.org/stable/frameworks/5.11/solid-5.11.0.tar.xz + Idle time reporting utility + KIdleTime is a singleton reporting information on idle time. It is useful not only for finding out about the current idle time of the PC, but also for getting notified upon idle time events, such as custom timeouts, or user activity. + http://download.kde.org/stable/frameworks/5.11/kidletime-5.11.0.tar.xz qt5-base-devel - libudev-devel - qt5-tools-devel - qt5-declarative + libX11-devel + libgcc + libxcb-devel extra-cmake-modules + qt5-x11extras-devel - desktop/kde/kde5-framework/kde5-solid/pspec.xml + desktop/kde/framework/kidletime/pspec.xml - kde5-solid + kidletime qt5-base + libX11 + libgcc + libxcb + libXScrnSaver + libXext + qt5-x11extras /usr/share - /usr/share/locale /usr/lib/qt5 /usr/lib - /usr/bin /usr/share/doc - kde5-solid-devel - Development files for solid + kidletime-devel + Development files for kidletime - qt5-base-devel - kde5-solid + kidletime /usr/include @@ -16161,14 +20960,14 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - 2015-06-23 + 2015-06-27 5.11.0 Version bump. Stefan Gronewold(groni) groni@pisilinux.org - 2015-05-31 + 2015-06-01 5.10.0 First Release. Stefan Gronewold(groni) @@ -16178,7 +20977,213 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kapidox + kcodecs + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Plugins allowing Qt applications to access further types of images + KDE5 KCodecs provide a collection of methods to manipulate strings using various encodings. + http://download.kde.org/stable/frameworks/5.11/kcodecs-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/framework/kcodecs/pspec.xml + + + kcodecs + + qt5-base + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kcodecs-devel + Development files for kcodecs + + qt5-base-devel + kcodecs + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kwidgetsaddons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 desktop widgets + KdeWidgetsAddons is a framework contains addon widgets and shared libraries for applications using Qt5-Widgets. + http://download.kde.org/stable/frameworks/5.11/kwidgetsaddons-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/framework/kwidgetsaddons/pspec.xml + + + kwidgetsaddons + + qt5-base + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kwidgetsaddons-devel + Development files for kwidgetsaddons + + qt5-base-devel + kwidgetsaddons + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kconfigwidgets + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + app:gui + unknown + Kconfig widgets + KConfigWidgets provides easy-to-use classes to create configuration dialogs, as well as a set of widgets which uses KConfig to store their settings. + http://download.kde.org/stable/frameworks/5.11/kconfigwidgets-5.11.0.tar.xz + + qt5-base-devel + python3 + ki18n-devel + kdoctools-devel + extra-cmake-modules + + desktop/kde/framework/kconfigwidgets/pspec.xml + + + kconfigwidgets + + qt5-base + kauth + kcodecs + kdoctools + kconfig + kcoreaddons + kguiaddons + ki18n + kwidgetsaddons + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + /usr/share/man + + + + kconfigwidgets-devel + Development files for kconfigwidgets + + kconfigwidgets + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-21 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-30 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kapidox http://www.kde.org Pisi Linux Admins @@ -16196,10 +21201,10 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kapidox/pspec.xml + desktop/kde/framework/kapidox/pspec.xml - kde5-kapidox + kapidox qt5-base @@ -16227,6 +21232,73 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kdnssd + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + unknown + Network service discovery using Zeroconf + KDNSSD is a library for handling the DNS-based Service Discovery Protocol (DNS-SD), the layer of Zeroconf that allows network services, such as printers, to be discovered without any user intervention or centralized infrastructure. + http://download.kde.org/stable/frameworks/5.11/kdnssd-5.11.0.tar.xz + + qt5-base-devel + qt5-tools + avahi-devel + avahi-compat-libdns_sd-devel + extra-cmake-modules + + desktop/kde/framework/kdnssd/pspec.xml + + + kdnssd + + qt5-base + libgcc + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kdnssd-devel + Development files for kdnssd. + + qt5-base-devel + kdnssd + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-ktexteditor @@ -16245,7 +21317,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-ktexteditor/pspec.xml + desktop/kde/framework/kde5-ktexteditor/pspec.xml kde5-ktexteditor @@ -16305,70 +21377,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kpty - http://www.kde.org - - Pisi Linux Admins - admins@pisilinux.org - - LGPLv2 - library - unknown - Libraries for pseudo terminal devices - Kpty provides primitives to interface with pseudo terminal devices as well as a KProcess derived class for running child processes and communicating with them using kpty. - http://download.kde.org/stable/frameworks/5.10/kpty-5.10.0.tar.xz - - qt5-base-devel - python3 - extra-cmake-modules - - desktop/kde/kde5-framework/kde5-kpty/pspec.xml - - - kde5-kpty - - qt5-base - utempter - kde5-kcoreaddons - kde5-ki18n - - - /usr/share - /usr/share/locale - /usr/lib/qt5 - /usr/lib - /usr/share/doc - - - - kde5-kpty-devel - Development files for kpty - - qt5-base-devel - utempter-devel - kde5-kcoreaddons-devel - kde5-ki18n-devel - kde5-kpty - - - /usr/include - /usr/lib/cmake - /usr/lib/pkgconfig - - - - - 2015-05-30 - 5.10.0 - First Release. - Stefan Gronewold(groni) - groni@pisilinux.org - - - - - - kde5-kconfigwidgets + kiconthemes http://www.kde.org Pisi Linux Admins @@ -16377,31 +21386,28 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression LGPLv2 library app:console - app:gui unknown - Kconfig widgets - KDE5-KConfigWidgets provides easy-to-use classes to create configuration dialogs, as well as a set of widgets which uses KConfig to store their settings. - http://download.kde.org/stable/frameworks/5.11/kconfigwidgets-5.11.0.tar.xz + KDE5 icon utilities + This library contains classes to improve the handling of icons in applications using the KDE Frameworks. + http://download.kde.org/stable/frameworks/5.11/kiconthemes-5.11.0.tar.xz qt5-base-devel python3 - kde5-ki18n-devel - kde5-kdoctools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kconfigwidgets/pspec.xml + desktop/kde/framework/kiconthemes/pspec.xml - kde5-kconfigwidgets + kiconthemes qt5-base - kde5-kauth - kde5-kcodecs - kde5-kconfig - kde5-kcoreaddons - kde5-kguiaddons - kde5-ki18n - kde5-kwidgetsaddons + qt5-svg + kconfigwidgets + ki18n + kitemviews + kwidgetsaddons + kconfig + kcoreaddons /usr/share @@ -16410,14 +21416,13 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression /usr/lib/qt5 /usr/lib /usr/share/doc - /usr/share/man - kde5-kconfigwidgets-devel - Development files for kconfigwidgets + kiconthemes-devel + Development files for kiconthemes - kde5-kconfigwidgets + kiconthemes /usr/include @@ -16427,7 +21432,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - 2015-06-21 + 2015-06-22 5.11.0 Version bump. Stefan Gronewold(groni) @@ -16444,7 +21449,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-attica + frameworkintegration http://www.kde.org Pisi Linux Admins @@ -16453,33 +21458,117 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression LGPLv2 library unknown - Open Collaboration Service client library, based on Qt 5 - Attica is a library to access Open Collaboration Service servers, based on Qt 5. - http://download.kde.org/stable/frameworks/5.11/attica-5.11.0.tar.xz + Framework providing components to allow applications to integrate with a KDE Workspace + Framework Integration is a set of plugins responsible for better integration of Qt applications when running on a KDE Plasma workspace. + http://download.kde.org/stable/frameworks/5.11/frameworkintegration-5.11.0.tar.xz qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-attica/pspec.xml + desktop/kde/framework/frameworkintegration/pspec.xml - kde5-attica + frameworkintegration qt5-base + libgcc + libxcb + libXcursor + qt5-x11extras + kconfig + kxmlgui + kcompletion + kcoreaddons + kjobwidgets + kconfigwidgets + kiconthemes + ki18n + kio + knotifications + kwidgetsaddons /usr/share + /usr/share/locale /usr/lib/qt5 /usr/lib /usr/share/doc - kde5-attica-devel - Development files for attica5 + frameworkintegration-devel + Development files for framework-integration qt5-base-devel - kde5-attica + frameworkintegration + + + /usr/include + /usr/lib/cmake + + + + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + New Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kemoticons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE emoticon manager + KEmoticons converts emoticons from text to a graphical representation with images in HTML. + http://download.kde.org/stable/frameworks/5.11/kemoticons-5.11.0.tar.xz + + qt5-base-devel + python3 + extra-cmake-modules + + desktop/kde/framework/kemoticons/pspec.xml + + + kemoticons + + qt5-base + libgcc + karchive + kcoreaddons + kconfig + kservice + + + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kemoticons-devel + Development files for kemoticons + + kemoticons /usr/include @@ -16488,20 +21577,150 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - - 2015-06-20 + + 2015-06-27 5.11.0 Version bump. Stefan Gronewold(groni) groni@pisilinux.org - - 2015-05-30 + + 2015-05-31 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + modemmanger-qt + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Qt wrapper for ModemManager DBus API + Qt wrapper for ModemManager DBus API + http://download.kde.org/stable/frameworks/5.11/modemmanager-qt-5.11.0.tar.xz + + qt5-base-devel + ModemManager-devel + extra-cmake-modules + + desktop/kde/framework/modemmanager-qt/pspec.xml + + + modemmanager-qt + + qt5-base + libgcc + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + modemmanger-qt-devel + Development files for kde5-modemmanger-qt + + qt5-base-devel + modemmanager-qt + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-27 + 5.11.0 Version bump. Stefan Gronewold(groni) groni@pisilinux.org + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + threadweaver + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Multi-threaded programming framework for KDE + ThreadWeaver is a helper for multithreaded programming. It uses a job-based interface to queue tasks and execute them in an efficient way. + http://download.kde.org/stable/frameworks/5.11/threadweaver-5.11.0.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/framework/threadweaver/pspec.xml + + + threadweaver + + qt5-base + libgcc + + + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + threadweaver-devel + Development files for threadweaver + + qt5-base-devel + threadweaver + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-28 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + @@ -16524,7 +21743,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression python3 extra-cmake-modules - desktop/kde/kde5-framework/kde5-kemoticons/pspec.xml + desktop/kde/framework/kde5-kemoticons/pspec.xml kde5-kemoticons @@ -16567,7 +21786,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kcoreaddons + solid http://www.kde.org Pisi Linux Admins @@ -16577,57 +21796,55 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression library app:console unknown - Utilities for core application functionality and accessing the OS - KCoreAddons provides classes built on top of QtCore to perform various tasks such as manipulating mime types, autosaving files, creating backup files, generating random sequences, performing text manipulations such as macro replacement, accessing user information and many more. - http://download.kde.org/stable/frameworks/5.11/kcoreaddons-5.11.0.tar.xz + KDE5 hardware integration framework + Solid is a device integration framework.It provides a way of querying and interacting with hardware independently of the underlying operating system. + http://download.kde.org/stable/frameworks/5.11/solid-5.11.0.tar.xz qt5-base-devel + libudev-devel qt5-tools-devel + qt5-declarative extra-cmake-modules - desktop/kde/kde5-framework/kde5-kcoreaddons/pspec.xml + desktop/kde/framework/solid/pspec.xml - kde5-kcoreaddons + solid qt5-base - gamin /usr/share /usr/share/locale - /usr/bin /usr/lib/qt5 /usr/lib + /usr/bin /usr/share/doc - kde5-kcoreaddons-devel - Development files for kcoreaddons + solid-devel + Development files for solid qt5-base-devel - kde5-kcoreaddons + solid /usr/include /usr/lib/cmake /usr/lib/pkgconfig - - System.Package - - 2015-06-21 + 2015-06-23 5.11.0 Version bump. Stefan Gronewold(groni) groni@pisilinux.org - 2015-05-30 + 2015-05-31 5.10.0 First Release. Stefan Gronewold(groni) @@ -16637,7 +21854,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kdbusaddons + kxmlgui http://www.kde.org Pisi Linux Admins @@ -16645,39 +21862,49 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression LGPLv2 library - app:console unknown - Extra modules for Qt-DBus - KDE5-KDBusAddons provides convenience classes on top of QtDBus, as well as an API to create KDED modules. - http://download.kde.org/stable/frameworks/5.11/kdbusaddons-5.11.0.tar.xz + Framework for managing menu and toolbar actions + Kxmlgui provides a framework for managing menu and toolbar actions in an abstract way. + http://download.kde.org/stable/frameworks/5.11/kxmlgui-5.11.0.tar.xz qt5-base-devel - qt5-tools-devel + python3 extra-cmake-modules - desktop/kde/kde5-framework/kde5-kdbusaddons/pspec.xml + desktop/kde/framework/kxmlgui/pspec.xml - kde5-kdbusaddons + kxmlgui qt5-base - qt5-x11extras + libgcc + attica + kcoreaddons + kconfig + kconfigwidgets + kglobalaccel + ki18n + kiconthemes + kitemviews + ktextwidgets + kwidgetsaddons + kwindowsystem + /etc /usr/share /usr/share/locale - /usr/bin /usr/lib/qt5 /usr/lib /usr/share/doc - kde5-kdbusaddons-devel - Development files for kdbusaddons + kxmlgui-devel + Development files for kxmlgui qt5-base-devel - kde5-kdbusaddons + kxmlgui /usr/include @@ -16687,14 +21914,14 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - 2015-06-21 + 2015-06-25 5.11.0 Version bump. Stefan Gronewold(groni) groni@pisilinux.org - 2015-05-30 + 2015-05-31 5.10.0 First Release. Stefan Gronewold(groni) @@ -16721,7 +21948,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression qt5-base-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kdewebkit/pspec.xml + desktop/kde/framework/kde5-kdewebkit/pspec.xml kde5-kdewebkit @@ -16769,7 +21996,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kitemmodels + kio http://www.kde.org Pisi Linux Admins @@ -16777,103 +22004,68 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression LGPLv2 library + app:console unknown - Set of item models extending the Qt model-view framework - KItemModels provides a set of item models extending the Qt model-view framework. - http://download.kde.org/stable/frameworks/5.10/kitemmodels-5.10.0.tar.xz + Resource and network access abstraction + Network transparent access to files and data + http://download.kde.org/stable/frameworks/5.11/kio-5.11.0.tar.xz qt5-base-devel + kdoctools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kitemmodels/pspec.xml + desktop/kde/framework/kio/pspec.xml - kde5-kitemmodels + kio qt5-base + acl + attr + libgcc + libxml2 + mit-kerberos + knotifications + libxslt + qt5-script + qt5-x11extras + karchive + kconfig + kcodecs + kbookmarks + kcompletion + kconfigwidgets + kcoreaddons + kdbusaddons + ki18n + kiconthemes + kitemviews + kjobwidgets + kservice + ktextwidgets + kwallet + kwidgetsaddons + kwindowsystem + kxmlgui + solid + /etc/ + /usr/bin /usr/share /usr/share/locale /usr/lib/qt5 /usr/lib /usr/share/doc + /usr/share/man - kde5-kitemmodels-devel - Development files for kitemmodels + kio-devel + Development files for kio qt5-base-devel - kde5-kitemmodels - - - /usr/include - /usr/lib/cmake - /usr/lib/pkgconfig - - - - - 2015-05-30 - 5.10.0 - First Release. - Stefan Gronewold(groni) - groni@pisilinux.org - - - - - - kde5-kpackage - https://userbase.kde.org/KPackage - - Stefan Gronewold(groni) - groni@pisilinux.org - - LGPL - app:library - unknown - Framework that lets applications manage user installable packages of non-binary assets - Framework that lets applications manage user installable packages of non-binary assets - KPackage is dependent on the Smart package manager. - KPackage is dependent on the Smart package manager. - http://download.kde.org/stable/frameworks/5.11/kpackage-5.11.0.tar.xz - - qt5-base-devel - python3 - libgcc - qt5-tools-devel - extra-cmake-modules - kde5-kdoctools-devel - - desktop/kde/kde5-framework/kde5-kpackage/pspec.xml - - - kde5-kpackage - - qt5-base - libgcc - kde5-kconfig - kde5-ki18n - kde5-kcoreaddons - kde5-karchive - - - /usr/bin - /usr/lib/qt5 - /usr/lib - /usr/share - /usr/share/locale - /usr/share/man/man1 - - - - kpackage-devel - Development files for kpackage - - qt5-base-devel - kde5-kpackage + kio /usr/include @@ -16883,7 +22075,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - 2015-06-23 + 2015-06-27 5.11.0 Version bump. Stefan Gronewold(groni) @@ -16900,7 +22092,78 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kguiaddons + kded + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 daemon + Kded runs in the background and performs a number of small tasks. + http://download.kde.org/stable/frameworks/5.11/kded-5.11.0.tar.xz + + qt5-base-devel + kdoctools-devel + extra-cmake-modules + + desktop/kde/framework/kded/pspec.xml + + + kded + + qt5-base + libgcc + kcoreaddons + kconfig + kcrash + kdbusaddons + kservice + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/bin + /usr/share/doc + /usr/share/man + + + + kded-devel + Development files for kded + + qt5-base-devel + kded + + + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-06-24 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kbookmarks http://www.kde.org Pisi Linux Admins @@ -16909,32 +22172,44 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression LGPLv2 library unknown - Utilities for graphical user interfaces - The KDE GUI addons provide utilities for graphical user interfaces in the areas of colors, fonts, text, images, keyboard input. Development files. - http://download.kde.org/stable/frameworks/5.11/kguiaddons-5.11.0.tar.xz + Access and manipulate bookmarks stored using XBEL format + Framework which lets you access and manipulate bookmarks stored using XBEL format + http://download.kde.org/stable/frameworks/5.11/kbookmarks-5.11.0.tar.xz qt5-base-devel + python3 + qt5-tools-devel extra-cmake-modules - desktop/kde/kde5-framework/kde5-kguiaddons/pspec.xml + desktop/kde/framework/kbookmarks/pspec.xml - kde5-kguiaddons + kbookmarks qt5-base - qt5-x11extras + libgcc + kcoreaddons + kcodecs + kconfig + kiconthemes + kwidgetsaddons + kxmlgui + /etc + /usr/share + /usr/share/locale /usr/lib/qt5 /usr/lib /usr/share/doc - kde5-kguiaddons-devel - Development files for kguiaddons + kbookmarks-devel + Development files for kbookmarks - kde5-kguiaddons + qt5-base-devel + kbookmarks /usr/include @@ -16942,6 +22217,76 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression /usr/lib/pkgconfig + + + 2015-06-25 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-31 + 5.10.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kcoreaddons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Utilities for core application functionality and accessing the OS + KCoreAddons provides classes built on top of QtCore to perform various tasks such as manipulating mime types, autosaving files, creating backup files, generating random sequences, performing text manipulations such as macro replacement, accessing user information and many more. + http://download.kde.org/stable/frameworks/5.11/kcoreaddons-5.11.0.tar.xz + + qt5-base-devel + qt5-tools-devel + extra-cmake-modules + + desktop/kde/framework/kcoreaddons/pspec.xml + + + kcoreaddons + + qt5-base + gamin + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kcoreaddons-devel + Development files for kcoreaddons + + qt5-base-devel + kcoreaddons + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + System.Package + + 2015-06-21 @@ -16961,7 +22306,7 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kitemviews + kunitconversion http://www.kde.org Pisi Linux Admins @@ -16969,22 +22314,23 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression LGPLv2 library - app:console unknown - Set of item models extending the Qt model-view framework - KItemViews includes a set of views, which can be used with item models. It includes views for categorizing lists and to add search filters to flat and hierarchical lists. - http://download.kde.org/stable/frameworks/5.10/kitemviews-5.10.0.tar.xz + KDE unit conversion framework + KUnitConversion provides functions to convert values in different physical units. + http://download.kde.org/stable/frameworks/5.11/kunitconversion-5.11.0.tar.xz qt5-base-devel - qt5-tools-devel + python3 extra-cmake-modules - desktop/kde/kde5-framework/kde5-kitemviews/pspec.xml + desktop/kde/framework/kunitconversion/pspec.xml - kde5-kitemviews + kunitconversion qt5-base + libgcc + ki18n /usr/share @@ -16995,11 +22341,11 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - kde5-kitemviews-devel - Development files for kitemviews + kunitconversion-devel + Development files for kunitconversion qt5-base-devel - kde5-kitemviews + kunitconversion /usr/include @@ -17008,10 +22354,17 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression - - 2015-05-30 + + 2015-06-27 + 5.11.0 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-01 5.10.0 - First Release. + Version bump. Stefan Gronewold(groni) groni@pisilinux.org @@ -17179,6 +22532,1990 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + ksshaskpass + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + ssh-add helper that uses kwallet and kpassworddialog + ssh-add helper that uses kwallet and kpassworddialog + http://download.kde.org/stable/plasma/5.3.2/ksshaskpass-5.3.2.tar.xz + + qt5-base-devel + kdoctools-devel + libgcc + python3 + extra-cmake-modules + + desktop/kde/plasma/ksshaskpass/pspec.xml + + + ksshaskpass + + qt5-base + libgcc + kcoreaddons + kwidgetsaddons + ki18n + kwallet + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + ksshaskpass.sh + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-18 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + breeze + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 Plasma artwork + Artwork, styles and assets for the Breeze visual style for the Plasma Desktop + http://download.kde.org/stable/plasma/5.3.2/breeze-5.3.2.tar.xz + + qt5-base-devel + libxcb-devel + libgcc + qt5-x11extras-devel + frameworkintegration-devel + kdecorations-devel + kcoreaddons-devel + ki18n-devel + kwindowsystem-devel + kconfig-devel + kguiaddons-devel + kcoreaddons-devel + kconfigwidgets-devel + kwidgetsaddons-devel + extra-cmake-modules + + desktop/kde/plasma/breeze/pspec.xml + + + breeze-style + + qt5-base + libgcc + kconfig + kguiaddons + kcoreaddons + kconfigwidgets + kwidgetsaddons + qt5-x11extras + libxcb + frameworkintegration + kcmutils + kcoreaddons + ki18n + kwindowsystem + kdecorations + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + breeze-icons + + breeze-style + + + /usr/share/icons + + + + breeze-cursors + + breeze-style + + + /usr/share/icons/breeze_cursors + + + + breeze-wallpapers + + qt5-base + + + /usr/share/wallpapers + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde-cli-tools + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Additional client tools for KDE applications + Tools based on KDE Frameworks 5 to better interact with the system + http://download.kde.org/stable/plasma/5.3.2/kde-cli-tools-5.3.2.tar.xz + + qt5-base-devel + libX11-devel + libgcc + kdoctools-devel + python3 + extra-cmake-modules + + desktop/kde/plasma/kde-cli-tools/pspec.xml + + + kde-cli-tools + + qt5-base + qt5-svg + libX11 + libgcc + kio + ki18n + kservice + qt5-x11extras + kcompletion + kcoreaddons + kiconthemes + kwindowsystem + kconfigwidgets + kwidgetsaddons + kcmutils + kconfig + kdelibs4-support + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + kdesu + + + System.Package + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + polkit-kde-authentication-agent-1 + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + app:gui + unknown + The KDE Plasma Workspace Components + The Polkit-KDE-Agent package contains a graphical Polkit authentication agent for the KDE Plasma Desktop. + http://download.kde.org/stable/plasma/5.3.2/polkit-kde-agent-1-5.3.2.tar.xz + + qt5-base-devel + kdoctools-devel + libgcc + python3 + extra-cmake-modules + + desktop/kde/plasma/polkit-kde-authentication-agent-1/pspec.xml + + + polkit-kde-authentication-agent-1 + + qt5-base + libgcc + kcrash + kcoreaddons + polkit-qt + ki18n + kdbusaddons + kiconthemes + kwindowsystem + knotifications + kwidgetsaddons + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-29 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kfilemetadata + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 library for extracting meta data from files. + KDE library for extracting meta data from files. + http://download.kde.org/stable/plasma/5.3.2/kfilemetadata-5.9.2.tar.xz + + qt5-base-devel + python + extra-cmake-modules + + desktop/kde/plasma/kfilemetadata/pspec.xml + + + kfilemetadata + + qt5-base + ebook-tools + libgcc + exiv2-libs + taglib + ffmpeg + taglib + poppler-qt5 + karchive + ki18n + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kfilemetadata-devel + Development files for kfilemetadata + + qt5-base-devel + kfilemetadata + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-07-01 + 5.9.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-03 + 5.9.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + libksysguard + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Task management and system monitoring library + Task management and system monitoring library + http://download.kde.org/stable/plasma/5.3.2/libksysguard-5.3.2.tar.xz + + qt5-base-devel + python3 + kdoctools-devel + libgcc + libX11-devel + zlib-devel + extra-cmake-modules + + desktop/kde/plasma/libksysguard/pspec.xml + + + libksysguard + + qt5-base + libgcc + libX11 + zlib + libXres + qt5-webkit + qt5-x11extras + kwindowsystem + kconfigwidgets + kwidgetsaddons + kconfig + kauth + kcoreaddons + kdelibs4-support + ki18n + plasma-framework + + + /etc + /usr/share + /usr/share/locale + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + libksysguard-devel + Development files for libksysguard + + qt5-base-devel + libksysguard + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + kde-workspace-devel + + + kde-workspace-devel + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-12 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + bluez-qt + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + GPLv2 + library + unknown + Qt wrapper for KDE 5 Bluez DBus API + Qt wrapper for KDE 5 DBus API. + http://download.kde.org/stable/plasma/5.3.2/bluez-qt-5.3.2.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/plasma/bluez-qt/pspec.xml + + + bluez-qt + + qt5-base + qt5-declarative + libgcc + + + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + bluez-qt-devel + Development files for bluez-qt + + qt5-base-devel + bluez-qt + + + /usr/include + /usr/lib/cmake + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + baloo + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + Framework for searching and managing metadata + Baloo is a framework for searching and managing metada + http://download.kde.org/stable/plasma/5.3.2/baloo-5.9.2.tar.xz + + qt5-base-devel + kdoctools-devel + python3 + extra-cmake-modules + + desktop/kde/plasma/baloo/pspec.xml + + + baloo + + qt5-base + qt5-declarative + xapian-core + kcoreaddons + kdbusaddons + kauth + libgcc + kcmutils + kconfig + kcrash + kdelibs4-support + ki18n + kidletime + kio + krunner + solid + kf5-kfilemetadata + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + baloo + + + baloo + + + + baloo-devel + Development files for baloo-widgets + + qt5-base-devel + baloo + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + baloo-devel + + + baloo-devel + + + + + 2015-07-01 + 5.9.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.9.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kdecorations + https://projects.kde.org/projects/kde/workspace/kdecoration + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv3 + library + unknown + Plugin based library to create window decorations + Plugin based library to create window decorations + http://download.kde.org/stable/plasma/5.3.2/kdecoration-5.3.2.tar.xz + + qt5-base-devel + extra-cmake-modules + + desktop/kde/plasma/kdecorations/pspec.xml + + + kdecorations + + qt5-base + libgcc + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + kdecorations-devel + Development files for kdecorations + + qt5-base-devel + kdecorations + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + kde-workspace-devel + + + kde-workspace-devel + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + libkscreen + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 screen management library + Dynamic display management library for KDE + http://download.kde.org/stable/plasma/5.3.2/libkscreen-5.3.2.tar.xz + + qt5-base-devel + qt5-x11extras-devel + libgcc + libxcb-devel + xcb-util-devel + xcb-util-image-devel + xcb-util-keysyms-devel + libXcursor-devel + libXrandr-devel + extra-cmake-modules + + desktop/kde/plasma/libkscreen/pspec.xml + + + libkscreen + + qt5-base + libxcb + libgcc + qt5-x11extras + + + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + libkscreen-devel + Development files for libkscreen + + qt5-base-devel + libkscreen + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-07-02 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kinfocenter + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 info center + KDE5 Utility that provides information about a computer system. + http://download.kde.org/stable/plasma/5.3.2/kinfocenter-5.3.2.tar.xz + + qt5-base-devel + python3 + pciutils-devel + libX11-devel + libgcc + kcmutils-devel + kcompletion-devel + kconfig-devel + kdelibs4-support-devel + kdoctools-devel + ki18n-devel + kio-devel + kwindowsystem-devel + kxmlgui-devel + kservice-devel + kcoreaddons-devel + kdbusaddons-devel + kiconthemes-devel + kconfigwidgets-devel + kwidgetsaddons-devel + libraw1394-devel + plasma-framework-devel + solid-devel + pciutils-devel + mesa-glu-devel + extra-cmake-modules + + desktop/kde/plasma/kinfocenter/pspec.xml + + + kinfocenter + + qt5-base + qt5-declarative + pciutils + libX11 + libgcc + kservice + kcoreaddons + kdbusaddons + kiconthemes + kconfigwidgets + kwidgetsaddons + kcompletion + kconfig + kdelibs4-support + ki18n + kio + kxmlgui + libraw1394 + kwayland + kcmutils + solid + kdeclarative + mesa-glu + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + kcm-about-distrorc + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + system-settings + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 system settings manager + System-settings is a control panel for KDE5 Plasma + http://download.kde.org/stable/plasma/5.3.2/systemsettings-5.3.2.tar.xz + + qt5-base-devel + kdoctools-devel + libgcc + python3 + extra-cmake-modules + + desktop/kde/plasma/system-settings/pspec.xml + + + system-settings + + qt5-base + kauth + libgcc + kcompletion + kcoreaddons + kconfigwidgets + kwidgetsaddons + kcmutils + kconfig + kdbusaddons + khtml + ki18n + kiconthemes + kio + kitemviews + kservice + kwindowsystem + kxmlgui + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + system-settings-devel + Development files for system-settings + + qt5-base-devel + system-settings + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-29 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kmenuedit + http://www.kde.org + + Pisi Linux admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Provides the interface and basic tools for the KDE workspace + Provides the interface and basic tools for the KDE workspace + http://download.kde.org/stable/plasma/5.3.2/kmenuedit-5.3.2.tar.xz + + qt5-base-devel + kdoctools-devel + libgcc + extra-cmake-modules + python3 + + desktop/kde/plasma/kmenuedit/pspec.xml + + + kmenuedit + + qt5-base + libgcc + kconfig + kservice + kcompletion + kcoreaddons + kconfigwidgets + kwidgetsaddons + kdbusaddons + kdelibs4-support + ki18n + kiconthemes + kio + kxmlgui + sonnet + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-15 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + plasma-nm + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + Plasma applet written in QML for managing network connections + Plasma applet written in QML for managing network connections + http://download.kde.org/stable/plasma/5.3.2/plasma-nm-5.3.2.tar.xz + + qt5-base-devel + libgcc + networkmanager-qt-devel + modemmanger-qt-devel + kdelibs4-support-devel + python3 + openconnect-devel + kdoctools-devel + NetworkManager-devel + mobile-broadband-provider-info + extra-cmake-modules + + desktop/kde/plasma/plasma-nm/pspec.xml + + + plasma-nm + + qt5-base + libgcc + openconnect + kio + networkmanager-qt + modemmanager-qt + ki18n + solid + kconfig + kwallet + kxmlgui + kservice + kitemviews + qt5-declarative + kcompletion + kcoreaddons + kdbusaddons + kiconthemes + kwindowsystem + kconfigwidgets + knotifications + kwidgetsaddons + kdelibs4-support + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-14 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kwayland + http://www.kde.org + + Stefan Gronewold(groni) + groni@pisilinux.org + + LGPLv3 + library + unknown + Qt-style Client and Server library wrapper for the Wayland libraries + Qt-style Client and Server library wrapper for the Wayland libraries + http://download.kde.org/stable/plasma/5.3.2/kwayland-5.3.2.tar.xz + + qt5-base-devel + libgcc + extra-cmake-modules + wayland-devel + + desktop/kde/plasma/kwayland/pspec.xml + + + kwayland + + qt5-base + libgcc + wayland-client + wayland-server + + + /usr/lib + /usr/share/doc + + + + kwayland-devel + + qt5-base-devel + kwayland + + + /usr/lib/cmake + /usr/include + /usr/lib/pkgconfig + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kwin + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE5 window manager + KWin is the window manager of the K desktop environment. + http://download.kde.org/stable/plasma/5.3.2/kwin-5.3.2.tar.xz + + qt5-base-devel + qt5-tools-devel + qt5-multimedia-devel + kwayland + kdecorations-devel + qt5-script-devel + qt5-x11extras-devel + qt5-declarative-devel + kiconthemes-devel + kauth-devel + libXxf86vm-devel + libXext-devel + kf5-kactivities-devel + kcmutils-devel + kcompletion-devel + kconfig-devel + kconfigwidgets-devel + kcoreaddons-devel + kcrash-devel + kdeclarative-devel + kdoctools-devel + kglobalaccel-devel + ki18n-devel + kinit + kio-devel + knewstuff-devel + knotifications-devel + kservice-devel + kwidgetsaddons-devel + kwindowsystem-devel + kxmlgui-devel + plasma-framework-devel + mesa-devel + libICE-devel + libSM-devel + wayland-devel + wayland-client + wayland-cursor + libxkbcommon-devel + xcb-util-keysyms-devel + xcb-util-image-devel + libXcursor-devel + libepoxy-devel + libgcc + libX11-devel + libxcb-devel + + desktop/kde/plasma/kwin/pspec.xml + + + kwin + + qt5-base + libgcc + libX11 + libxcb + qt5-script + kwayland + kdecorations + qt5-x11extras + qt5-declarative + kiconthemes + kauth + kf5-kactivities + kcmutils + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdeclarative + kglobalaccel + ki18n + kio + knewstuff + knotifications + kservice + kwidgetsaddons + kwindowsystem + kxmlgui + plasma-framework + mesa + libICE + libSM + wayland-cursor + libxkbcommon + xcb-util-keysyms + xcb-util-image + libepoxy + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + kwin-devel + Development files for kwin + + qt5-base-devel + kwin + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + kde-workspace-devel + + + kde-workspace-devel + + + + + 2015-07-02 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-12 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kdeplasma-addons + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Additional client tools for KDE applications + Additional client tools for KDE applications + http://download.kde.org/stable/plasma/5.3.2/kdeplasma-addons-5.3.2.tar.xz + + qt5-base-devel + libgcc + libxcb-devel + glib2-devel + scim-devel + ibus-devel + kdoctools-devel + kdelibs4-support-devel + extra-cmake-modules + + desktop/kde/plasma/kdeplasma-addons/pspec.xml + + + kdeplasma-addons + + qt5-base + plasma-framework + libgcc + libxcb + glib2 + knewstuff + krunner + kio + ki18n + kross + sonnet + kconfig + kxmlgui + karchive + kpackage + kservice + qt5-x11extras + qt5-declarative + kcompletion + kcoreaddons + kwindowsystem + kconfigwidgets + knotifications + kwidgetsaddons + kunitconversion + kdelibs4-support + ibus + scim-libs + xcb-util-keysyms + + + /usr/share + /etc/xdg + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + bluedevil + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE 5 Bluetooth Stack + Integrate the Bluetooth technology within KDE workspace and applications + http://download.kde.org/stable/plasma/5.3.2/bluedevil-5.3.2.tar.xz + + qt5-base-devel + kded-devel + plasma-framework-devel + extra-cmake-modules + + desktop/kde/plasma/bluedevil/pspec.xml + + + bluedevil + + qt5-base + libgcc + bluez-qt + kio + ki18n + kconfig + qt5-declarative + kcompletion + kcoreaddons + kdbusaddons + kiconthemes + kconfigwidgets + knotifications + kwidgetsaddons + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + ksysguard + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE system monitor + KDE5 system monitor daemon and service. + http://download.kde.org/stable/plasma/5.3.2/ksysguard-5.3.2.tar.xz + + qt5-base-devel + libgcc + kio-devel + kxmlgui-devel + kcompletion-devel + kdbusaddons-devel + kiconthemes-devel + kwindowsystem-devel + kconfigwidgets-devel + knotifications-devel + kwidgetsaddons-devel + lm_sensors-devel + python3 + extra-cmake-modules + kdoctools-devel + kconfig-devel + kcoreaddons-devel + kdelibs4-support-devel + ki18n-devel + kinit + kitemviews-devel + knewstuff-devel + libksysguard-devel + plasma-framework-devel + + desktop/kde/plasma/ksysguard/pspec.xml + + + ksysguard + + qt5-base + libgcc + icon-theme-hicolor + kio + kxmlgui + kcompletion + kdbusaddons + kiconthemes + kwindowsystem + kconfigwidgets + knotifications + kwidgetsaddons + lm_sensors + icon-theme-hicolor + xdg-utils + kdoctools + kconfig + kcoreaddons + kdelibs4-support + ki18n + kinit + kitemviews + knewstuff + libksysguard + plasma-framework + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-12 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kio-extras + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Additional KIO-slaves for KDE5 applications + Additional KIO-slaves for KDE5 applications + http://download.kde.org/stable/plasma/5.3.2/kio-extras-5.3.2.tar.xz + + qt5-base-devel + python3 + libgcc + gettext + shared-mime-info + libmtp-devel + shared-mime-info + openexr-devel + openslp-devel + karchive-devel + kconfig-devel + kcoreaddons-devel + kdbusaddons-devel + kdelibs4-support-devel + kdnssd-devel + kdoctools-devel + khtml-devel + ki18n-devel + kiconthemes-devel + kio-devel + solid-devel + libjpeg-turbo-devel + libssh-devel + openslp-devel + qt5-phonon-devel + samba-devel + exiv2-devel + extra-cmake-modules + + desktop/kde/plasma/kio-extras/pspec.xml + + + kio-extras + + qt5-base + qt5-svg + libgcc + libmtp + kpty + kparts + kcodecs + kxmlgui + kservice + kbookmarks + kguiaddons + kconfigwidgets + openexr + karchive + kconfig + kcoreaddons + kdbusaddons + kdelibs4-support + kdnssd + kdoctools + khtml + ki18n + kiconthemes + kio + solid + libjpeg-turbo + libssh + openslp + qt5-phonon + samba + exiv2-libs + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-14 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + khelpcenter + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + KDE Help Center + KDE help center utility to read help documentation about various KDE applications. + http://download.kde.org/stable/plasma/5.3.2/khelpcenter-5.3.2.tar.xz + + qt5-base-devel + python3 + qt5-libdbusmenu-devel + kinit-devel + libgcc + kcmutils-devel + khtml-devel + kdelibs4-support-devel + extra-cmake-modules + + desktop/kde/plasma/khelpcenter/pspec.xml + + + khelpcenter + + qt5-base + kio + libgcc + khtml + ki18n + kparts + kcodecs + kconfig + kxmlgui + kcmutils + kservice + kcompletion + kcoreaddons + kdbusaddons + kiconthemes + kwindowsystem + kconfigwidgets + kwidgetsaddons + kdelibs4-support + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kscreen + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + unknown + Provides the interface and basic tools for the KDE workspace + Provides the interface and basic tools for the KDE workspace + http://download.kde.org/stable/plasma/5.3.2/kscreen-5.3.2.tar.xz + + qt5-base-devel + qt5-graphicaleffects + python3 + libgcc + kdoctools-devel + extra-cmake-modules + + desktop/kde/plasma/kscreen/pspec.xml + + + kscreen + + qt5-base + libgcc + libkscreen + qt5-declarative + kcoreaddons + kglobalaccel + kconfigwidgets + kwidgetsaddons + kdbusaddons + ki18n + kxmlgui + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + 2015-07-02 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + + + + kde-gtk-config + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + unknown + GTK2 and GTK3 Configurator for KDE + Configuration dialog to adapt GTK+ applications appearance to your taste under KDE. + http://download.kde.org/stable/plasma/5.3.2/kde-gtk-config-5.3.2.tar.xz + + qt5-base-devel + kio-devel + libgcc + glib2-devel + ki18n-devel + kcoreaddons-devel + kiconthemes-devel + kwidgetsaddons-devel + kcmutils-devel + karchive-devel + kauth-devel + kconfigwidgets-devel + knewstuff-devel + gtk2-devel + gtk3-devel + extra-cmake-modules + + desktop/kde/plasma/kde-gtk-config/pspec.xml + + + kde-gtk-config + + qt5-base + libgcc + glib2 + kio + ki18n + kcoreaddons + kiconthemes + kwidgetsaddons + kcmutils + karchive + kauth + knewstuff + kconfigwidgets + gtk2 + gtk3 + + + /usr/share + /etc/xdg/cgc* + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-runtime + + + kde-runtime + + + + + 2015-07-01 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-06 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + prison-qt5 @@ -17245,6 +24582,79 @@ uses SIMD instructions (MMX, SSE2, etc.) to accelerate baseline JPEG compression + + + kate + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + app:gui + unknown + Advanced Text Editor + Plasma library and runtime components based upon KF5 and Qt5 + http://download.kde.org/stable/applications/15.04.2/src/kate-15.04.2.tar.xz + + qt5-base-devel + plasma-framework-devel + python3 + kdoctools-devel + extra-cmake-modules + + desktop/kde/kde5-application/kate/pspec.xml + + + kate + + qt5-base + libgcc + knewstuff + ki18n + kconfig + kguiaddons + kjobwidgets + kitemmodels + kio + kparts + ktexteditor + kwindowsystem + kxmlgui + plasma-framework + kwallet + kservice + kbookmarks + kcompletion + kcoreaddons + kdbusaddons + kiconthemes + ktextwidgets + threadweaver + kconfigwidgets + knotifications + kwidgetsaddons + + + /usr/share + /etc/xdg + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + + + 2015-06-03 + 15.04.2 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + kde5-konsole diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum index 6477dfcd57..8cd6932f51 100644 --- a/pisi-index.xml.sha1sum +++ b/pisi-index.xml.sha1sum @@ -1 +1 @@ -21ac95f403ea282848893903c7f2eff06db4d50a \ No newline at end of file +05c7da290a12f3f08864fcb88e9194a2c6b1f6a0 \ No newline at end of file diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz index fff4a55a20144ec28fe8db09688e5cfda3fe4a6e..bc52378c38ae89b8f322d7e2d9ca5dfa265bc5db 100644 GIT binary patch delta 78120 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 delta 64820 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

+VZ!FAZtMUy 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%0D>CxU2ZEy5!*CN4^S_ZLqf7T&&GwW5(KRxkZ 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 BP!j+E diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum index 8a5911512d..09fc8adaf0 100644 --- a/pisi-index.xml.xz.sha1sum +++ b/pisi-index.xml.xz.sha1sum @@ -1 +1 @@ -99495b132ef22892848aaba58d10a369ebda7188 \ No newline at end of file +234d63ce3646d79210e1e22bd24a17a7ee3e6125 \ No newline at end of file From 85bc56cff2aff9e3ff9cc1c5b540ac3f55526b8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 00:58:49 +0300 Subject: [PATCH 130/152] gstreamer cosmetic fix --- multimedia/video/gstreamer/pspec.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/multimedia/video/gstreamer/pspec.xml b/multimedia/video/gstreamer/pspec.xml index 999787ba04..c0e31c9adc 100644 --- a/multimedia/video/gstreamer/pspec.xml +++ b/multimedia/video/gstreamer/pspec.xml @@ -14,6 +14,10 @@

GStreamer streaming media framework runtime GStreamer is a streaming media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just about anything else media-related. http://ftp.gnome.org/pub/gnome/sources/gstreamer/0.10/gstreamer-0.10.36.tar.xz + + gobject-introspection-devel + libxml2-devel + wrapper-plugins.patch @@ -23,13 +27,9 @@ gstreamer - - gobject-introspection-devel - libxml2-devel - - + gobject-introspection - libxml2 + libxml2 /usr/bin @@ -78,10 +78,10 @@ - + 2015-06-26 0.10.36 - Rebuilt, fixed. + Rebuild, fixed. Hakan Yıldız hknyldz93@gmail.com From 4ea77054550e3292f74ea01e2115051b78ab4ef2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 10:19:21 +0300 Subject: [PATCH 131/152] icu4c, and firebird verbump --- programming/misc/icu4c/pspec.xml | 23 +++++++++++++++++++++-- server/database/firebird/pspec.xml | 15 +++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/programming/misc/icu4c/pspec.xml b/programming/misc/icu4c/pspec.xml index 449b658c96..09c83f5df0 100644 --- a/programming/misc/icu4c/pspec.xml +++ b/programming/misc/icu4c/pspec.xml @@ -13,8 +13,11 @@ International Components for Unicode ICU is a mature, widely used set of C/C++ and Java libraries for Unicode support, software internationalization and globalization (i18n/g11n). This package contains the C/C++ libraries. - http://download.icu-project.org/files/icu4c/54.1/icu4c-54_1-src.tgz + http://source.icu-project.org/repos/icu/icu/tags/release-55-1/APIChangeReport.html --> + http://download.icu-project.org/files/icu4c/55.1/icu4c-55_1-src.tgz + + libgcc + @@ -22,6 +25,9 @@ icu4c + + libgcc + /usr/bin /usr/sbin @@ -52,8 +58,14 @@ emul32 32-bit shared libraries for icu4c _emul32 + + libgcc + glibc-32bit + icu4c + libgcc + glibc-32bit /usr/lib32/libicu* @@ -62,6 +74,13 @@ + + 2015-07-03 + 55.1 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + 2015-01-22 54.1 diff --git a/server/database/firebird/pspec.xml b/server/database/firebird/pspec.xml index 705b0c7ec9..61fd7b20ff 100644 --- a/server/database/firebird/pspec.xml +++ b/server/database/firebird/pspec.xml @@ -15,7 +15,7 @@ library A relational database offering many ANSI SQL-99 features Firebird is an open source relational database management system offering many ANSI SQL-99 features. - http://sourceforge.net/projects/firebird/files/firebird/2.5.2-Release/Firebird-2.5.2.26540-0.tar.bz2/download + http://sourceforge.net/projects/firebird/files/firebird/2.5.4-Release/Firebird-2.5.4.26856-0.tar.bz2 icu4c-devel btyacc @@ -34,6 +34,9 @@ firebird-client + + libgcc + Firebird database client library Firebird relational database client library. @@ -50,12 +53,13 @@ firebird-superserver - Firebird super server firebird-client icu4c libedit + libgcc + Firebird super server /etc/firebird /etc/env.d/50firebird @@ -98,6 +102,13 @@ + + 2015-07-03 + 2.5.4.26856 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + 2014-05-19 2.5.2.26540 From 3cdda07e29753fee57bded64060d3ee2b345d5dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 10:45:15 +0300 Subject: [PATCH 132/152] unixODBC fix deps --- programming/misc/unixODBC/pspec.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/programming/misc/unixODBC/pspec.xml b/programming/misc/unixODBC/pspec.xml index a485f7aa73..087be40267 100644 --- a/programming/misc/unixODBC/pspec.xml +++ b/programming/misc/unixODBC/pspec.xml @@ -14,10 +14,16 @@ ODBC Interface for Linux The unixODBC Project goals are to develop and promote unixODBC to be the definitive standard for ODBC on non MS Windows platforms. http://www.unixodbc.org/unixODBC-2.3.2.tar.gz + + libtool-ltdl + unixODBC + + libtool-ltdl + /etc /usr/bin From aeea8eafa729c4ddccb2498bb6d5624b2845724b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 10:59:39 +0300 Subject: [PATCH 133/152] libaio in programming/library --- programming/library/libaio/actions.py | 37 ++++++++ .../libaio/files/92_unused_warnings.patch | 44 +++++++++ .../libaio/files/libaio-0.3.106-build.patch | 26 ++++++ .../files/libaio-0.3.107-ar-ranlib.patch | 17 ++++ .../files/libaio-0.3.109-generic-arch.patch | 62 +++++++++++++ .../files/libaio-0.3.109-testcase-8.patch | 19 ++++ .../libaio-0.3.109-unify-bits-endian.patch | 60 ++++++++++++ .../libaio/files/libaio-0.3.109-x32.patch | 63 +++++++++++++ .../files/libaio-install-to-slash.patch | 30 ++++++ programming/library/libaio/pspec.xml | 93 +++++++++++++++++++ programming/library/libaio/translations.xml | 14 +++ 11 files changed, 465 insertions(+) create mode 100644 programming/library/libaio/actions.py create mode 100644 programming/library/libaio/files/92_unused_warnings.patch create mode 100644 programming/library/libaio/files/libaio-0.3.106-build.patch create mode 100644 programming/library/libaio/files/libaio-0.3.107-ar-ranlib.patch create mode 100644 programming/library/libaio/files/libaio-0.3.109-generic-arch.patch create mode 100644 programming/library/libaio/files/libaio-0.3.109-testcase-8.patch create mode 100644 programming/library/libaio/files/libaio-0.3.109-unify-bits-endian.patch create mode 100644 programming/library/libaio/files/libaio-0.3.109-x32.patch create mode 100644 programming/library/libaio/files/libaio-install-to-slash.patch create mode 100644 programming/library/libaio/pspec.xml create mode 100644 programming/library/libaio/translations.xml diff --git a/programming/library/libaio/actions.py b/programming/library/libaio/actions.py new file mode 100644 index 0000000000..309784d537 --- /dev/null +++ b/programming/library/libaio/actions.py @@ -0,0 +1,37 @@ +#!/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 build(): + pisitools.dosed("src/Makefile", "=-shared", r"= -Wl,-O1,--as-needed -shared") + if get.buildTYPE() == "emul32": + pisitools.dosed(".", "\/lib$", r"/lib%s\n" % "32" if get.buildTYPE() == "emul32" else "", filePattern="Makefile") + autotools.make() + +#def check(): + #shelltools.cd("harness") + #pisitools.dodir("testdir") + + #autotools.make("check prefix=../src libdir=../src") + + +def install(): + + if get.buildTYPE() == "emul32": + autotools.rawInstall("prefix=%s/usr \ + includedir=%s/usr/include \ + libdir%s/=usr/lib32 " % ((get.installDIR(), ) * 3)) + pisitools.remove("/usr/lib32/libaio.a") + else: + autotools.rawInstall("prefix=%s/usr \ + includedir=%s/usr/include \ + libdir%s/=usr/lib " % ((get.installDIR(), ) * 3)) + pisitools.remove("/usr/lib/libaio.a") + + pisitools.dodoc("ChangeLog", "COPYING", "TODO") diff --git a/programming/library/libaio/files/92_unused_warnings.patch b/programming/library/libaio/files/92_unused_warnings.patch new file mode 100644 index 0000000000..d3b22ab921 --- /dev/null +++ b/programming/library/libaio/files/92_unused_warnings.patch @@ -0,0 +1,44 @@ +Index: b/harness/cases/12.t +=================================================================== +--- a/harness/cases/12.t ++++ b/harness/cases/12.t +@@ -18,7 +18,7 @@ + + int test_main(void) + { +- int res, status; ++ int status; + pid_t pid; + sigset_t set; + +@@ -35,7 +35,7 @@ + if (pid == 0) + test_child(); + +- res = waitpid(pid, &status, 0); ++ waitpid(pid, &status, 0); + + if (WIFEXITED(status)) { + int failed = (WEXITSTATUS(status) != 0); +Index: b/harness/cases/14.t +=================================================================== +--- a/harness/cases/14.t ++++ b/harness/cases/14.t +@@ -59,7 +59,7 @@ + /* from 12.t */ + int test_main(void) + { +- int res, status; ++ int status; + pid_t pid; + sigset_t set; + +@@ -75,7 +75,7 @@ + if (pid == 0) + test_child(); + +- res = waitpid(pid, &status, 0); ++ waitpid(pid, &status, 0); + + if (WIFEXITED(status)) { + int failed = (WEXITSTATUS(status) != 0); \ No newline at end of file diff --git a/programming/library/libaio/files/libaio-0.3.106-build.patch b/programming/library/libaio/files/libaio-0.3.106-build.patch new file mode 100644 index 0000000000..4a8434bb7e --- /dev/null +++ b/programming/library/libaio/files/libaio-0.3.106-build.patch @@ -0,0 +1,26 @@ +--- src/Makefile.orig 2006-07-09 19:46:41.000000000 -0700 ++++ src/Makefile 2006-07-09 19:51:00.000000000 -0700 +@@ -2,11 +2,10 @@ + includedir=$(prefix)/include + libdir=$(prefix)/lib + +-ARCH := $(shell uname -m | sed -e s/i.86/i386/) +-CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC +-SO_CFLAGS=-shared $(CFLAGS) ++CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC ++SO_CFLAGS=-shared $(CFLAGS) + L_CFLAGS=$(CFLAGS) +-LINK_FLAGS= ++LINK_FLAGS=-lgcc -lrt $(LDFLAGS) + + soname=libaio.so.1 + minor=0 +@@ -48,7 +47,7 @@ + ranlib libaio.a + + $(libname): $(libaio_sobjs) libaio.map +- $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS) ++ $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname,$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS) + + install: $(all_targets) + install -D -m 644 libaio.h $(includedir)/libaio.h diff --git a/programming/library/libaio/files/libaio-0.3.107-ar-ranlib.patch b/programming/library/libaio/files/libaio-0.3.107-ar-ranlib.patch new file mode 100644 index 0000000000..d1ec1403a0 --- /dev/null +++ b/programming/library/libaio/files/libaio-0.3.107-ar-ranlib.patch @@ -0,0 +1,17 @@ +--- a/src/Makefile ++++ b/src/Makefile +@@ -42,10 +42,12 @@ + $(CC) $(L_CFLAGS) -c -o $@ $< + + ++AR ?= ar ++RANLIB ?= ranlib + libaio.a: $(libaio_objs) + rm -f libaio.a +- ar r libaio.a $^ +- ranlib libaio.a ++ $(AR) r libaio.a $^ ++ $(RANLIB) libaio.a + + $(libname): $(libaio_sobjs) libaio.map + $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname,$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS) diff --git a/programming/library/libaio/files/libaio-0.3.109-generic-arch.patch b/programming/library/libaio/files/libaio-0.3.109-generic-arch.patch new file mode 100644 index 0000000000..fea3aeeee4 --- /dev/null +++ b/programming/library/libaio/files/libaio-0.3.109-generic-arch.patch @@ -0,0 +1,62 @@ +From 5e96c73d5dfbdea8d0be82b7f3fc8d6735e5dfa7 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Sun, 17 Jan 2010 17:07:48 -0500 +Subject: [PATCH] add a generic syscall() fallback + +Signed-off-by: Mike Frysinger +--- + src/syscall-generic.h | 29 +++++++++++++++++++++++++++++ + src/syscall.h | 3 ++- + 2 files changed, 31 insertions(+), 1 deletions(-) + create mode 100644 src/syscall-generic.h + +diff --git a/src/syscall-generic.h b/src/syscall-generic.h +new file mode 100644 +index 0000000..24d7c7c +--- /dev/null ++++ b/src/syscall-generic.h +@@ -0,0 +1,29 @@ ++#include ++#include ++#include ++ ++#define _body_io_syscall(sname, args...) \ ++{ \ ++ int ret = syscall(__NR_##sname, ## args); \ ++ return ret < 0 ? -errno : ret; \ ++} ++ ++#define io_syscall1(type,fname,sname,type1,arg1) \ ++type fname(type1 arg1) \ ++_body_io_syscall(sname, (long)arg1) ++ ++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ ++type fname(type1 arg1,type2 arg2) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2) ++ ++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ ++type fname(type1 arg1,type2 arg2,type3 arg3) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3) ++ ++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ ++type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4) ++ ++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, type5,arg5) \ ++type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ ++_body_io_syscall(sname, (long)arg1, (long)arg2, (long)arg3, (long)arg4, (long)arg5) +diff --git a/src/syscall.h b/src/syscall.h +index 78becfe..d954af0 100644 +--- a/src/syscall.h ++++ b/src/syscall.h +@@ -25,5 +25,6 @@ + #elif defined(__arm__) + #include "syscall-arm.h" + #else +-#error "add syscall-arch.h" ++#warning "using generic syscall method" ++#include "syscall-generic.h" + #endif +-- +1.7.3.1 + diff --git a/programming/library/libaio/files/libaio-0.3.109-testcase-8.patch b/programming/library/libaio/files/libaio-0.3.109-testcase-8.patch new file mode 100644 index 0000000000..de05421b58 --- /dev/null +++ b/programming/library/libaio/files/libaio-0.3.109-testcase-8.patch @@ -0,0 +1,19 @@ +Do not ignore return value of ftruncate(): testcases are compiled with -Werror, +and ftruncate is declared with attribute warn_unused_result. +--- harness/cases/8.t.orig 2012-03-09 16:40:04.074168070 +0100 ++++ harness/cases/8.t 2012-03-09 16:40:57.777278646 +0100 +@@ -9,12 +9,13 @@ + { + long long min = 0, max = 9223372036854775807LL; + char c = 0; ++ int ret; + + while (max - min > 1) { + if (pwrite64(fd, &c, 1, (min + max) / 2) == -1) + max = (min + max) / 2; + else { +- ftruncate(fd, 0); ++ ret = ftruncate(fd, 0); assert(ret == 0); + min = (min + max) / 2; + } + } diff --git a/programming/library/libaio/files/libaio-0.3.109-unify-bits-endian.patch b/programming/library/libaio/files/libaio-0.3.109-unify-bits-endian.patch new file mode 100644 index 0000000000..a94ea20bea --- /dev/null +++ b/programming/library/libaio/files/libaio-0.3.109-unify-bits-endian.patch @@ -0,0 +1,60 @@ +diff --git a/src/libaio.h b/src/libaio.h +index ffe8259..4a6c9fb 100644 +--- a/src/libaio.h ++++ b/src/libaio.h +@@ -49,40 +49,34 @@ typedef enum io_iocb_cmd { + IO_CMD_PWRITEV = 8, + } io_iocb_cmd_t; + +-#if defined(__i386__) /* little endian, 32 bits */ ++/* little endian, 32 bits */ ++#if defined(__i386__) || defined(__sh__) || defined(__bfin__) || \ ++ defined(__ARMEL__) || defined(__MIPSEL__) || defined(__cris__) + #define PADDED(x, y) x; unsigned y + #define PADDEDptr(x, y) x; unsigned y + #define PADDEDul(x, y) unsigned long x; unsigned y ++ ++/* little endian, 64 bits */ + #elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) + #define PADDED(x, y) x, y + #define PADDEDptr(x, y) x + #define PADDEDul(x, y) unsigned long x +-#elif defined(__powerpc64__) /* big endian, 64 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x,y) x +-#define PADDEDul(x, y) unsigned long x +-#elif defined(__PPC__) /* big endian, 32 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x, y) unsigned y; x +-#define PADDEDul(x, y) unsigned y; unsigned long x +-#elif defined(__s390x__) /* big endian, 64 bits */ ++ ++/* big endian, 64 bits */ ++#elif defined(__powerpc64__) || defined(__s390x__) || \ ++ (defined(__sparc__) && defined(__arch64__)) + #define PADDED(x, y) unsigned y; x + #define PADDEDptr(x,y) x + #define PADDEDul(x, y) unsigned long x +-#elif defined(__s390__) /* big endian, 32 bits */ +-#define PADDED(x, y) unsigned y; x +-#define PADDEDptr(x, y) unsigned y; x +-#define PADDEDul(x, y) unsigned y; unsigned long x +-#elif defined(__arm__) +-# if defined (__ARMEB__) /* big endian, 32 bits */ ++ ++/* big endian, 32 bits */ ++#elif defined(__PPC__) || defined(__s390__) || defined(__ARMEB__) || \ ++ defined(__MIPSEB__) || defined(__sparc__) || defined(__m68k__) || \ ++ defined(__hppa__) || defined(__frv__) || defined(__avr32__) + #define PADDED(x, y) unsigned y; x + #define PADDEDptr(x, y) unsigned y; x + #define PADDEDul(x, y) unsigned y; unsigned long x +-# else /* little endian, 32 bits */ +-#define PADDED(x, y) x; unsigned y +-#define PADDEDptr(x, y) x; unsigned y +-#define PADDEDul(x, y) unsigned long x; unsigned y +-# endif ++ + #else + #error endian? + #endif \ No newline at end of file diff --git a/programming/library/libaio/files/libaio-0.3.109-x32.patch b/programming/library/libaio/files/libaio-0.3.109-x32.patch new file mode 100644 index 0000000000..1d2c2a9050 --- /dev/null +++ b/programming/library/libaio/files/libaio-0.3.109-x32.patch @@ -0,0 +1,63 @@ +http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=f5c071d93c9e6f57930bce56b1e4f009c160a826 + +Upstream-Status: Pending + +Properly load arguments 5 an 6 for x86-64 syscall +Use asm ("r10") and asm ("r8") to load arguments 5 an 6 for x86-64 +syscall so that it works with both x32 and x86-64. + +Received this patch from H.J. Lu + +Signed-Off-By: Nitin A Kamble +2011/12/02 + +--- libaio-0.3.109/src/syscall-x86_64.h.x32 2009-10-09 11:17:02.000000000 -0700 ++++ libaio-0.3.109/src/syscall-x86_64.h 2011-12-02 09:09:07.537603224 -0800 +@@ -1,8 +1,18 @@ ++#ifndef __NR_io_setup + #define __NR_io_setup 206 ++#endif ++#ifndef __NR_io_destroy + #define __NR_io_destroy 207 ++#endif ++#ifndef __NR_io_getevents + #define __NR_io_getevents 208 ++#endif ++#ifndef __NR_io_submit + #define __NR_io_submit 209 ++#endif ++#ifndef __NR_io_cancel + #define __NR_io_cancel 210 ++#endif + + #define __syscall_clobber "r11","rcx","memory" + #define __syscall "syscall" +@@ -42,10 +52,11 @@ return __res; \ + type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ + { \ + long __res; \ +-__asm__ volatile ("movq %5,%%r10 ;" __syscall \ ++register long __a4 asm ("r10") = (long) arg4; \ ++__asm__ volatile (__syscall \ + : "=a" (__res) \ + : "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \ +- "d" ((long)(arg3)),"g" ((long)(arg4)) : __syscall_clobber,"r10" ); \ ++ "d" ((long)(arg3)),"r" (__a4)); \ + return __res; \ + } + +@@ -54,10 +65,11 @@ return __res; \ + type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ + { \ + long __res; \ +-__asm__ volatile ("movq %5,%%r10 ; movq %6,%%r8 ; " __syscall \ ++register long __a4 asm ("r10") = (long) arg4; \ ++register long __a5 asm ("r8") = (long) arg5; \ ++__asm__ volatile ( __syscall \ + : "=a" (__res) \ + : "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \ +- "d" ((long)(arg3)),"g" ((long)(arg4)),"g" ((long)(arg5)) : \ +- __syscall_clobber,"r8","r10" ); \ ++ "d" ((long)(arg3)),"r" (__a4),"r" (__a5)); \ + return __res; \ + } diff --git a/programming/library/libaio/files/libaio-install-to-slash.patch b/programming/library/libaio/files/libaio-install-to-slash.patch new file mode 100644 index 0000000000..98fbfe0d5e --- /dev/null +++ b/programming/library/libaio/files/libaio-install-to-slash.patch @@ -0,0 +1,30 @@ +diff -up libaio-0.3.107/src/Makefile.orig libaio-0.3.107/src/Makefile +--- libaio-0.3.107/src/Makefile.orig 2009-01-20 10:07:31.520105235 -0500 ++++ libaio-0.3.107/src/Makefile 2009-01-20 10:08:51.199104930 -0500 +@@ -1,6 +1,7 @@ + prefix=/usr +-includedir=$(prefix)/include +-libdir=$(prefix)/lib ++includedir=/usr/include ++libdir=/usr/lib ++usrlibdir=/usr/lib + + ARCH := $(shell uname -m | sed -e s/i.86/i386/) + CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC +@@ -51,11 +52,11 @@ $(libname): $(libaio_sobjs) libaio.map + $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS) + + install: $(all_targets) +- install -D -m 644 libaio.h $(includedir)/libaio.h +- install -D -m 644 libaio.a $(libdir)/libaio.a +- install -D -m 755 $(libname) $(libdir)/$(libname) +- ln -sf $(libname) $(libdir)/$(soname) +- ln -sf $(libname) $(libdir)/libaio.so ++ install -D -m 644 libaio.h $(destdir)$(includedir)/libaio.h ++ install -D -m 644 libaio.a $(destdir)$(usrlibdir)/libaio.a ++ install -D -m 755 $(libname) $(destdir)$(libdir)/$(libname) ++ ln -sf $(libdir)/$(libname) $(destdir)$(libdir)/$(soname) ++ ln -sf $(libdir)/$(libname) $(destdir)$(usrlibdir)/libaio.so + + $(libaio_objs): libaio.h + \ No newline at end of file diff --git a/programming/library/libaio/pspec.xml b/programming/library/libaio/pspec.xml new file mode 100644 index 0000000000..e8d1b1c762 --- /dev/null +++ b/programming/library/libaio/pspec.xml @@ -0,0 +1,93 @@ + + + + + libaio + http://lse.sourceforge.net/io/aio.html + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + library + Linux-native asynchronous I/O access library + libaio has a richer API and capability set than the simple POSIX async I/O facility. + http://enterprise-storage-os.googlecode.com/files/libaio-0.3.109.tar.bz2 + + libaio-0.3.106-build.patch + + libaio-0.3.107-ar-ranlib.patch + 92_unused_warnings.patch + libaio-0.3.109-testcase-8.patch + libaio-0.3.109-generic-arch.patch + libaio-0.3.109-unify-bits-endian.patch + libaio-0.3.109-x32.patch + + + + + libaio + + /lib + /usr/lib + /usr/share/doc + + + + + libaio-32bit + emul32 + 32-bit shared libraries for libaio + emul32 + + libaio + + + /usr/lib32 + + + + + libaio-devel + Development files for libaio + + libaio + + + /usr/include + + /usr/share/man/man3 + + + + + + 2014-05-19 + 0.3.109 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-03-06 + 0.3.109 + Add emul32 + Marcin Bojara + marcin@pisilinux.org + + + 2013-03-16 + 0.3.109 + URL Fixed + PisiLinux Community + admins@pisilinux.org + + + 2012-11-14 + 0.3.109 + First release + PisiLinux Community + admins@pisilinux.org + + + \ No newline at end of file diff --git a/programming/library/libaio/translations.xml b/programming/library/libaio/translations.xml new file mode 100644 index 0000000000..4b27c4a2bf --- /dev/null +++ b/programming/library/libaio/translations.xml @@ -0,0 +1,14 @@ + + + + libaio + Linux asenkron girdi/çıktı kütüphanesi + libaio, basit POSIX asenkron girdi/çıktı desteğinden daha iyi bir programlama arayüzü sunan bir kütüphanedir. + Librairie d'entrée/sortie asynchrone utilisant l'interface native du noyau. + + + + libaio-devel + libaio için geliştirme dosyaları + + From 88c555859c64e554909133fdc67156e5a700d39a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 11:34:04 +0300 Subject: [PATCH 134/152] libevent is dep recommended for mariadb --- programming/misc/libevent/actions.py | 26 ++++++ .../files/libevent-2.0.13-manpages-on.patch | 12 +++ .../libevent-2.0.21-stable-automake-fix.patch | 24 +++++ .../libevent/files/libevent-linkage_fix.diff | 11 +++ programming/misc/libevent/pspec.xml | 89 +++++++++++++++++++ programming/misc/libevent/translations.xml | 14 +++ 6 files changed, 176 insertions(+) create mode 100644 programming/misc/libevent/actions.py create mode 100644 programming/misc/libevent/files/libevent-2.0.13-manpages-on.patch create mode 100644 programming/misc/libevent/files/libevent-2.0.21-stable-automake-fix.patch create mode 100644 programming/misc/libevent/files/libevent-linkage_fix.diff create mode 100644 programming/misc/libevent/pspec.xml create mode 100644 programming/misc/libevent/translations.xml diff --git a/programming/misc/libevent/actions.py b/programming/misc/libevent/actions.py new file mode 100644 index 0000000000..6ec44ad35d --- /dev/null +++ b/programming/misc/libevent/actions.py @@ -0,0 +1,26 @@ +#!/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 + +WorkDir = "libevent-%s-stable" % get.srcVERSION() + +def setup(): + pisitools.dosed("Makefile.am", "libevent_extra_la_LIBADD =", "libevent_extra_la_LIBADD = libevent.la ") + autotools.autoreconf("-fi") + autotools.configure("--disable-static") + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("README") diff --git a/programming/misc/libevent/files/libevent-2.0.13-manpages-on.patch b/programming/misc/libevent/files/libevent-2.0.13-manpages-on.patch new file mode 100644 index 0000000000..97dd633844 --- /dev/null +++ b/programming/misc/libevent/files/libevent-2.0.13-manpages-on.patch @@ -0,0 +1,12 @@ +diff -up libevent-2.0.13-stable/Doxyfile.orig libevent-2.0.13-stable/Doxyfile +--- libevent-2.0.13-stable/Doxyfile.orig 2011-07-05 13:04:30.000000000 -0400 ++++ libevent-2.0.13-stable/Doxyfile 2011-08-10 08:18:42.036654445 -0400 +@@ -175,7 +175,7 @@ LATEX_HIDE_INDICES = NO + # If the GENERATE_MAN tag is set to YES (the default) Doxygen will + # generate man pages + +-GENERATE_MAN = NO ++GENERATE_MAN = YES + + # The MAN_EXTENSION tag determines the extension that is added to + # the generated man pages (default is the subroutine's section .3) diff --git a/programming/misc/libevent/files/libevent-2.0.21-stable-automake-fix.patch b/programming/misc/libevent/files/libevent-2.0.21-stable-automake-fix.patch new file mode 100644 index 0000000000..cf8ab2b916 --- /dev/null +++ b/programming/misc/libevent/files/libevent-2.0.21-stable-automake-fix.patch @@ -0,0 +1,24 @@ +diff -Naur -x '*~' libevent-2.0.21-stable/configure.in libevent-2.0.21-stable-automake-fix/configure.in +--- libevent-2.0.21-stable/configure.in 2012-11-18 07:34:13.000000000 +0100 ++++ libevent-2.0.21-stable-automake-fix/configure.in 2012-12-31 14:04:30.219499020 +0100 +@@ -12,7 +12,7 @@ + AC_CONFIG_MACRO_DIR([m4]) + + AM_INIT_AUTOMAKE(libevent,2.0.21-stable) +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADER(config.h) + AC_DEFINE(NUMERIC_VERSION, 0x02001500, [Numeric representation of the version]) + + dnl Initialize prefix. +diff -Naur -x '*~' libevent-2.0.21-stable/test/Makefile.am libevent-2.0.21-stable-automake-fix/test/Makefile.am +--- libevent-2.0.21-stable/test/Makefile.am 2012-05-31 06:08:19.000000000 +0200 ++++ libevent-2.0.21-stable-automake-fix/test/Makefile.am 2012-12-31 14:10:49.045538012 +0100 +@@ -19,7 +19,7 @@ + EXTRA_PROGRAMS = regress + noinst_HEADERS = tinytest.h tinytest_macros.h regress.h tinytest_local.h + +-TESTS = $(top_srcdir)/test/test.sh ++TESTS = test.sh + + BUILT_SOURCES = + if BUILD_REGRESS diff --git a/programming/misc/libevent/files/libevent-linkage_fix.diff b/programming/misc/libevent/files/libevent-linkage_fix.diff new file mode 100644 index 0000000000..0210239383 --- /dev/null +++ b/programming/misc/libevent/files/libevent-linkage_fix.diff @@ -0,0 +1,11 @@ +--- Makefile.am 2011-06-14 10:17:58.169588904 +0200 ++++ Makefile.am.oden 2011-06-14 10:22:36.410588885 +0200 +@@ -178,7 +178,7 @@ + MAYBE_CORE = libevent_core.la + else + NO_UNDEFINED = +-MAYBE_CORE = ++MAYBE_CORE = libevent_core.la + endif + + GENERIC_LDFLAGS = -version-info $(VERSION_INFO) $(NO_UNDEFINED) diff --git a/programming/misc/libevent/pspec.xml b/programming/misc/libevent/pspec.xml new file mode 100644 index 0000000000..77e2fcff9f --- /dev/null +++ b/programming/misc/libevent/pspec.xml @@ -0,0 +1,89 @@ + + + + + libevent + http://monkey.org/~provos/libevent + + PisiLinux Community + admins@pisilinux.org + + BSD + library + A library to execute a function when a specific event occurs on a file descriptor + The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. libevent is meant to replace the asynchronous event loop found in event driven network servers. An application just needs to call event_dispatch() and can then add or remove events dynamically without having to change the event loop. + https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz + + openssl-devel + zlib-devel + + + libevent-linkage_fix.diff + libevent-2.0.13-manpages-on.patch + libevent-2.0.21-stable-automake-fix.patch + + + + + libevent + + openssl + + + /usr/bin + /usr/lib + /usr/share/doc + + + + + libevent-devel + Development files for libevent + + libevent + + + /usr/include + /usr/lib/pkgconfig + /usr/share/man/man3 + + + + + + 2014-05-31 + 2.0.21 + Rebuild. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-25 + 2.0.21 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-07-27 + 2.0.21 + Move pc files to devel pack, rebuild + PisiLinux Community + admins@pisilinux.org + + + 2013-03-27 + 2.0.21 + bump + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2012-10-14 + 2.0.20 + First release + PisiLinux Community + admins@pisilinux.org + + + \ No newline at end of file diff --git a/programming/misc/libevent/translations.xml b/programming/misc/libevent/translations.xml new file mode 100644 index 0000000000..b90b5499da --- /dev/null +++ b/programming/misc/libevent/translations.xml @@ -0,0 +1,14 @@ + + + + libevent + Dosya tanımlayıcıları üzerindeki belirli değişiklerde belirli fonksiyonların çalıştırılmasını sağlayan bir kitaplığı + Une librairie pour exécuter une fonction lorsqu'un événement spécifique a lieu sur un descripteur (descriptor) de fichier. + libevent dosya tanımlayıcısında tanımlı bir olay oluştuğunda ya da zamanaşımı olduğunda belirlenmiş fonksiyonların çalıştırılma mekanizmasını sağlar. Olay güdümlü(event-driven) ağ sunucularının bulundurduğu asenkron olay döngülerinin(event-loop) yerine alması anlamına gelir. Uygulamanın olay döngüsünü degiştirmek zorunda kalmadan dinamik olarak olay ekleme ve silme işlemlerini yapabilmek için yalnızca event_dispatch() fonksiyonunu çağırması yeterli olur. + + + + libevent-devel + libevent için geliştirme dosyaları + + From 823233c94ab527c56583ed81ccfa8c8386b79e01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 12:04:50 +0300 Subject: [PATCH 135/152] mariadb fix deps and version bump --- server/database/mariadb/pspec.xml | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/server/database/mariadb/pspec.xml b/server/database/mariadb/pspec.xml index fd048025ec..27b3e9f4a6 100644 --- a/server/database/mariadb/pspec.xml +++ b/server/database/mariadb/pspec.xml @@ -12,10 +12,18 @@ app:console MariaDB is a drop-in replacement for MySQL MariaDB strives to be the logical choice for database professionals looking for a robust, scalable, and reliable SQL server. - ftp://ftp.ulak.net.tr/pub/MariaDB/mariadb-10.0.17/source/mariadb-10.0.17.tar.gz + ftp://ftp.ulak.net.tr/pub/MariaDB/mariadb-10.0.20/source/mariadb-10.0.20.tar.gz + ncurses-devel + zlib-devel + libxml2-devel + readline-devel + libevent-devel + openssl-devel + libpcre-devel libaio-devel unixODBC-devel + cmake @@ -27,6 +35,11 @@ library The shared libraries required for MariaDB clients + zlib + libgcc + libpcre + libxml2 + openssl libaio unixODBC @@ -73,6 +86,11 @@ mariadb-lib libaio + zlib + libgcc + libpcre + ncurses + openssl mysql-client @@ -89,7 +107,9 @@ mariadb-lib mariadb-client - libaio + zlib + libgcc + openssl mysql-server @@ -150,6 +170,13 @@ + + 2015-07-03 + 10.0.20 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + 2015-01-25 10.0.17 From cac083e613d6a00ffb79f32f8d767d7a19cc7607 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 15:36:10 +0300 Subject: [PATCH 136/152] work 4 postgresql --- server/database/postgresql/pspec.xml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/server/database/postgresql/pspec.xml b/server/database/postgresql/pspec.xml index 260fb7cb12..316334eb63 100644 --- a/server/database/postgresql/pspec.xml +++ b/server/database/postgresql/pspec.xml @@ -12,12 +12,16 @@ service A powerful, open source relational database system PostgreSQL is a powerful, open source relational database system. - http://ftp.postgresql.org/pub/source/v9.3.4/postgresql-9.3.4.tar.bz2 + https://ftp.postgresql.org/pub/source/v9.3.9/postgresql-9.3.9.tar.bz2 mit-kerberos + pam-devel + readline-devel + zlib-devel + openssl-devel tcl-devel - libxslt-devel - libxml2-devel + libxslt + libxml2 @@ -98,6 +102,13 @@ + + 2015-07-03 + 9.3.9 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + 2014-05-19 9.3.4 From 26e8ef1d572425ff3489592346d6f6e6250f090a Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 15:11:11 +0200 Subject: [PATCH 137/152] powerdevil version bump and check --- desktop/kde/plasma/powerdevil/actions.py | 19 ++++++ desktop/kde/plasma/powerdevil/pspec.xml | 87 ++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 desktop/kde/plasma/powerdevil/actions.py create mode 100755 desktop/kde/plasma/powerdevil/pspec.xml diff --git a/desktop/kde/plasma/powerdevil/actions.py b/desktop/kde/plasma/powerdevil/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/plasma/powerdevil/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/powerdevil/pspec.xml b/desktop/kde/plasma/powerdevil/pspec.xml new file mode 100755 index 0000000000..b4b31b4af9 --- /dev/null +++ b/desktop/kde/plasma/powerdevil/pspec.xml @@ -0,0 +1,87 @@ + + + + + powerdevil + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE power manager module + KDE Power Management module. Provides kded daemon DBus helper and KCM for configuring Power settings + http://download.kde.org/stable/plasma/5.3.2/powerdevil-5.3.2.tar.xz + + qt5-base-devel + kdoctools-devel + kidletime-devel + libgcc + libxcb-devel + libudev-devel + plasma-workspace-devel + extra-cmake-modules + + + + + powerdevil + + qt5-base + kdoctools + kidletime + libgcc + libxcb + libudev + plasma-workspace + kio + kauth + ki18n + solid + kconfig + kxmlgui + kservice + qt5-x11extras + libkscreen + kf5-kactivities + kcompletion + kcoreaddons + kdbusaddons + kglobalaccel + knotifyconfig + kconfigwidgets + knotifications + kwidgetsaddons + kdelibs4-support + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + + 2015-07-03 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-29 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 087fcd1c3e8aea309724b6f61fb825df5af68602 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 16:32:16 +0300 Subject: [PATCH 138/152] works for openldap --- server/auth/cyrus-sasl/actions.py | 76 ++++++ server/auth/cyrus-sasl/comar/package.py | 11 + server/auth/cyrus-sasl/comar/service.py | 26 +++ .../0011_saslauthd_ac_prog_libtool.patch | 15 ++ .../cyrus-sasl/files/0025_ld_as_needed.patch | 27 +++ .../0026_drop_krb5support_dependency.patch | 14 ++ ...ont_use_la_files_for_opening_plugins.patch | 134 +++++++++++ .../auth/cyrus-sasl/files/CVE-2013-4122.patch | 116 ++++++++++ ...yrus-sasl-2.1.20-saslauthd.conf-path.patch | 20 ++ .../files/cyrus-sasl-2.1.21-sizes.patch | 120 ++++++++++ .../files/cyrus-sasl-2.1.22-as-needed.patch | 11 + .../files/cyrus-sasl-2.1.22-kerberos4.patch | 26 +++ .../cyrus-sasl-2.1.22-ldap-timeout.patch | 25 ++ .../files/cyrus-sasl-2.1.22-qa.patch | 22 ++ .../files/cyrus-sasl-2.1.23-man.patch | 37 +++ .../files/cyrus-sasl-2.1.26-keytab.patch | 36 +++ .../files/cyrus-sasl-2.1.26-no_rpath.patch | 19 ++ .../cyrus-sasl-2.1.26-obsolete-macro.patch | 13 ++ ...2.1.26-prefer-SCRAM-SHA-1-over-PLAIN.patch | 51 ++++ .../files/cyrus-sasl-2.1.26-relro.patch | 59 +++++ .../files/cyrus-sasl-2.1.26-size_t.patch | 12 + .../files/cyrus-sasl-2.1.26-warnings.patch | 74 ++++++ server/auth/cyrus-sasl/files/saslauthd.confd | 16 ++ server/auth/cyrus-sasl/files/saslauthd.pam | 6 + server/auth/cyrus-sasl/files/tmpfiles.conf | 1 + server/auth/cyrus-sasl/pspec.xml | 129 +++++++++++ server/auth/cyrus-sasl/translations.xml | 13 ++ server/auth/mit-kerberos/pspec.xml | 2 +- server/database/postgresql/actions.py | 2 +- server/database/postgresql/pspec.xml | 8 +- server/openldap/actions.py | 100 ++++++++ server/openldap/comar/package.py | 17 ++ server/openldap/comar/slapd.py | 23 ++ server/openldap/comar/slurpd.py | 17 ++ .../openldap-autoconf-pkgconfig-nss.patch | 49 ++++ .../files/fedora/openldap-dns-priority.patch | 192 +++++++++++++++ .../files/fedora/openldap-ldapi-sasl.patch | 55 +++++ .../fedora/openldap-ldaprc-currentdir.patch | 20 ++ ...p-nss-certs-from-certdb-fallback-pem.patch | 86 +++++++ ...enldap-nss-ignore-certdb-type-prefix.patch | 47 ++++ .../fedora/openldap-nss-pk11-freeslot.patch | 27 +++ ...p-nss-regex-search-hashed-cacert-dir.patch | 91 ++++++++ .../openldap-nss-update-list-of-ciphers.patch | 193 +++++++++++++++ .../fedora/openldap-reentrant-gethostby.patch | 33 +++ .../files/fedora/openldap-sql-linking.patch | 14 ++ ..._dlopenadvise-to-get-RTLD_GLOBAL-set.patch | 41 ++++ .../openldap-syncrepl-unset-tls-options.patch | 62 +++++ ...openldap-tls-no-reuse-of-tls_session.patch | 92 ++++++++ .../fedora/openldap-userconfig-setgid.patch | 92 ++++++++ server/openldap/files/gencert.sh | 111 +++++++++ .../files/openldap-2.4.39-blfs_paths-1.patch | 188 +++++++++++++++ .../files/openldap-2.4.39-ntlm-1.patch | 219 ++++++++++++++++++ .../openldap-2.4.39-symbol_versions-1.patch | 160 +++++++++++++ server/openldap/files/slapd.conf | 9 + server/openldap/files/tmpfiles.conf | 1 + server/openldap/pspec.xml | 166 +++++++++++++ server/openldap/translations.xml | 13 ++ util/crypt/nss/pspec.xml | 2 + 58 files changed, 3236 insertions(+), 5 deletions(-) create mode 100644 server/auth/cyrus-sasl/actions.py create mode 100644 server/auth/cyrus-sasl/comar/package.py create mode 100644 server/auth/cyrus-sasl/comar/service.py create mode 100644 server/auth/cyrus-sasl/files/0011_saslauthd_ac_prog_libtool.patch create mode 100644 server/auth/cyrus-sasl/files/0025_ld_as_needed.patch create mode 100644 server/auth/cyrus-sasl/files/0026_drop_krb5support_dependency.patch create mode 100644 server/auth/cyrus-sasl/files/0030-dont_use_la_files_for_opening_plugins.patch create mode 100644 server/auth/cyrus-sasl/files/CVE-2013-4122.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.20-saslauthd.conf-path.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.21-sizes.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-as-needed.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-kerberos4.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-ldap-timeout.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-qa.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.23-man.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-keytab.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-no_rpath.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-obsolete-macro.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-prefer-SCRAM-SHA-1-over-PLAIN.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-relro.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-size_t.patch create mode 100644 server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-warnings.patch create mode 100644 server/auth/cyrus-sasl/files/saslauthd.confd create mode 100644 server/auth/cyrus-sasl/files/saslauthd.pam create mode 100644 server/auth/cyrus-sasl/files/tmpfiles.conf create mode 100644 server/auth/cyrus-sasl/pspec.xml create mode 100644 server/auth/cyrus-sasl/translations.xml create mode 100644 server/openldap/actions.py create mode 100644 server/openldap/comar/package.py create mode 100644 server/openldap/comar/slapd.py create mode 100644 server/openldap/comar/slurpd.py create mode 100644 server/openldap/files/fedora/openldap-autoconf-pkgconfig-nss.patch create mode 100644 server/openldap/files/fedora/openldap-dns-priority.patch create mode 100644 server/openldap/files/fedora/openldap-ldapi-sasl.patch create mode 100644 server/openldap/files/fedora/openldap-ldaprc-currentdir.patch create mode 100644 server/openldap/files/fedora/openldap-nss-certs-from-certdb-fallback-pem.patch create mode 100644 server/openldap/files/fedora/openldap-nss-ignore-certdb-type-prefix.patch create mode 100644 server/openldap/files/fedora/openldap-nss-pk11-freeslot.patch create mode 100644 server/openldap/files/fedora/openldap-nss-regex-search-hashed-cacert-dir.patch create mode 100644 server/openldap/files/fedora/openldap-nss-update-list-of-ciphers.patch create mode 100644 server/openldap/files/fedora/openldap-reentrant-gethostby.patch create mode 100644 server/openldap/files/fedora/openldap-sql-linking.patch create mode 100644 server/openldap/files/fedora/openldap-switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.patch create mode 100644 server/openldap/files/fedora/openldap-syncrepl-unset-tls-options.patch create mode 100644 server/openldap/files/fedora/openldap-tls-no-reuse-of-tls_session.patch create mode 100644 server/openldap/files/fedora/openldap-userconfig-setgid.patch create mode 100644 server/openldap/files/gencert.sh create mode 100644 server/openldap/files/openldap-2.4.39-blfs_paths-1.patch create mode 100644 server/openldap/files/openldap-2.4.39-ntlm-1.patch create mode 100644 server/openldap/files/openldap-2.4.39-symbol_versions-1.patch create mode 100644 server/openldap/files/slapd.conf create mode 100644 server/openldap/files/tmpfiles.conf create mode 100644 server/openldap/pspec.xml create mode 100644 server/openldap/translations.xml diff --git a/server/auth/cyrus-sasl/actions.py b/server/auth/cyrus-sasl/actions.py new file mode 100644 index 0000000000..283514a333 --- /dev/null +++ b/server/auth/cyrus-sasl/actions.py @@ -0,0 +1,76 @@ +#!/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(): + pisitools.dosed("libsasl2.pc.in", "libdir = @libdir@", "prefix=/usr\nexec_prefix=${prefix}\nlibdir = @libdir@") + def cleanup(): + for p in ("config.*", "ltconfig", "ltmain.sh", "libtool.m4"): + shelltools.unlink("config/%s" % p) + + cleanup() + autotools.autoreconf("-vfi --no-recursive -I config -I cmulocal") + shelltools.cd("saslauthd") + cleanup() + autotools.autoreconf("-vi --no-recursive -I config -I ../cmulocal -I ../config") + shelltools.cd("..") + + pisitools.cflags.add("-fPIC") + + # Don't disable ldap support to break circular dep. with openldap + # As workaround, we remove openldap-client runtime dep. in pspec + autotools.configure("--with-saslauthd=/run/saslauthd \ + --with-pwcheck=/var/lib/sasl2 \ + --with-configdir=/etc/sasl2 \ + --with-plugindir=/usr/lib/sasl2 \ + --with-dbpath=/etc/sasl2/sasldb2 \ + --with-pam \ + --with-ldap \ + --with-openssl \ + --with-dblib=gdbm \ + --with-gss_impl=mit \ + --with-devrandom=/dev/urandom \ + --without-pgsql \ + --without-mysql \ + --enable-anon \ + --enable-cram \ + --enable-digest \ + --enable-gssapi \ + --enable-login \ + --enable-ntlm \ + --enable-plain \ + --enable-ldapdb \ + --enable-checkapop \ + --enable-alwaystrue \ + --disable-java \ + --disable-krb4 \ + --disable-otp \ + --disable-srp \ + --disable-sql \ + --disable-passdss \ + --disable-macos-framework \ + --disable-static") + +def build(): + autotools.make("-j1") + autotools.make("-C saslauthd testsaslauthd") + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + autotools.rawInstall("DESTDIR=%s -C plugins" % get.installDIR()) + + pisitools.dodir("/etc/sasl2") + pisitools.dodir("/run/saslauthd") + + for doc in ["AUTHORS", "COPYING", "ChangeLog", "LDAP_SASLAUTHD", "NEWS", "README"]: + pisitools.newdoc("saslauthd/%s" % doc, "saslauthd/%s" % doc) + + pisitools.dohtml("doc/*.html") + pisitools.dodoc("AUTHORS", "COPYING", "ChangeLog", "NEWS", "README", "doc/TODO", "doc/*.txt") diff --git a/server/auth/cyrus-sasl/comar/package.py b/server/auth/cyrus-sasl/comar/package.py new file mode 100644 index 0000000000..997efd2baa --- /dev/null +++ b/server/auth/cyrus-sasl/comar/package.py @@ -0,0 +1,11 @@ +#!/usr/bin/python + +import os + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + if not os.path.exists("/etc/sasl2/sasldb2"): + os.system("/usr/sbin/saslpasswd2 -f /etc/sasl2/sasldb2 -p login") + os.system("/usr/sbin/saslpasswd2 -f /etc/sasl2/sasldb2 -d login") + + os.system("/bin/chown root:mail /etc/sasl2/sasldb2") + os.system("/bin/chmod 0640 /etc/sasl2/sasldb2") diff --git a/server/auth/cyrus-sasl/comar/service.py b/server/auth/cyrus-sasl/comar/service.py new file mode 100644 index 0000000000..04ba1f063e --- /dev/null +++ b/server/auth/cyrus-sasl/comar/service.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- + +from comar.service import * + +serviceType = "server" +serviceDesc = _({"en": "Cyrus-SASL Daemon", + "tr": "Cyrus-SASL Servisi"}) +serviceConf = "saslauthd" + +SOCKETDIR = "/run/saslauthd" +PIDFILE = "/run/saslauthd/saslauthd.pid" + +@synchronized +def start(): + startService(command="/usr/sbin/saslauthd", + args="-m %s %s" % (SOCKETDIR, config.get("SASLAUTHD_OPTS", "")), + pidfile=PIDFILE, + donotify=True) + +@synchronized +def stop(): + stopService(pidfile=PIDFILE, + donotify=True) + +def status(): + return isServiceRunning(PIDFILE) diff --git a/server/auth/cyrus-sasl/files/0011_saslauthd_ac_prog_libtool.patch b/server/auth/cyrus-sasl/files/0011_saslauthd_ac_prog_libtool.patch new file mode 100644 index 0000000000..3805b4857c --- /dev/null +++ b/server/auth/cyrus-sasl/files/0011_saslauthd_ac_prog_libtool.patch @@ -0,0 +1,15 @@ +0011_saslauthd_ac_prog_libtool.dpatch by + +Enable libtool use. + +diff -urNad trunk~/saslauthd/configure.in trunk/saslauthd/configure.in +--- trunk~/saslauthd/configure.in 2006-05-29 22:52:42.000000000 +0300 ++++ trunk/saslauthd/configure.in 2006-11-01 23:41:51.000000000 +0200 +@@ -25,6 +25,7 @@ + AC_PROG_MAKE_SET + AC_PROG_LN_S + AC_PROG_INSTALL ++AC_PROG_LIBTOOL + + dnl Checks for build foo + CMU_C___ATTRIBUTE__ diff --git a/server/auth/cyrus-sasl/files/0025_ld_as_needed.patch b/server/auth/cyrus-sasl/files/0025_ld_as_needed.patch new file mode 100644 index 0000000000..67b48b4a49 --- /dev/null +++ b/server/auth/cyrus-sasl/files/0025_ld_as_needed.patch @@ -0,0 +1,27 @@ +Author: Matthias Klose +Desription: Fix FTBFS, add $(SASL_DB_LIB) as dependency to libsasldb, and use +it. +--- a/saslauthd/Makefile.am ++++ b/saslauthd/Makefile.am +@@ -16,7 +16,7 @@ EXTRA_saslauthd_sources = getaddrinfo.c + saslauthd_DEPENDENCIES = saslauthd-main.o @LTLIBOBJS@ + saslauthd_LDADD = @SASL_KRB_LIB@ \ + @GSSAPIBASE_LIBS@ @GSSAPI_LIBS@ @LIB_CRYPT@ @LIB_SIA@ \ +- @LIB_SOCKET@ @SASL_DB_LIB@ @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@ ++ @LIB_SOCKET@ ../sasldb/libsasldb.la @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@ + + testsaslauthd_SOURCES = testsaslauthd.c utils.c + testsaslauthd_LDADD = @LIB_SOCKET@ +--- a/sasldb/Makefile.am ++++ b/sasldb/Makefile.am +@@ -55,8 +55,8 @@ noinst_LIBRARIES = libsasldb.a + + libsasldb_la_SOURCES = allockey.c sasldb.h + EXTRA_libsasldb_la_SOURCES = $(extra_common_sources) +-libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND) +-libsasldb_la_LIBADD = $(SASL_DB_BACKEND) ++libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND) $(SASL_DB_LIB) ++libsasldb_la_LIBADD = $(SASL_DB_BACKEND) $(SASL_DB_LIB) + + # Prevent make dist stupidity + libsasldb_a_SOURCES = diff --git a/server/auth/cyrus-sasl/files/0026_drop_krb5support_dependency.patch b/server/auth/cyrus-sasl/files/0026_drop_krb5support_dependency.patch new file mode 100644 index 0000000000..cc00867ef0 --- /dev/null +++ b/server/auth/cyrus-sasl/files/0026_drop_krb5support_dependency.patch @@ -0,0 +1,14 @@ +Author: Roberto C. Sanchez +Description: Drop gratuitous dependency on krb5support +--- a/cmulocal/sasl2.m4 ++++ b/cmulocal/sasl2.m4 +@@ -112,9 +112,6 @@ if test "$gssapi" != no; then + fi + + if test "$gss_impl" = "auto" -o "$gss_impl" = "mit"; then +- # check for libkrb5support first +- AC_CHECK_LIB(krb5support,krb5int_getspecific,K5SUP=-lkrb5support K5SUPSTATIC=$gssapi_dir/libkrb5support.a,,${LIB_SOCKET}) +- + gss_failed=0 + AC_CHECK_LIB(gssapi_krb5,gss_unwrap,gss_impl="mit",gss_failed=1, + ${GSSAPIBASE_LIBS} -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err ${K5SUP} ${LIB_SOCKET}) diff --git a/server/auth/cyrus-sasl/files/0030-dont_use_la_files_for_opening_plugins.patch b/server/auth/cyrus-sasl/files/0030-dont_use_la_files_for_opening_plugins.patch new file mode 100644 index 0000000000..14a322496e --- /dev/null +++ b/server/auth/cyrus-sasl/files/0030-dont_use_la_files_for_opening_plugins.patch @@ -0,0 +1,134 @@ +--- a/lib/dlopen.c ++++ b/lib/dlopen.c +@@ -247,105 +247,6 @@ static int _sasl_plugin_load(char *plugi + return result; + } + +-/* this returns the file to actually open. +- * out should be a buffer of size PATH_MAX +- * and may be the same as in. */ +- +-/* We'll use a static buffer for speed unless someone complains */ +-#define MAX_LINE 2048 +- +-static int _parse_la(const char *prefix, const char *in, char *out) +-{ +- FILE *file; +- size_t length; +- char line[MAX_LINE]; +- char *ntmp = NULL; +- +- if(!in || !out || !prefix || out == in) return SASL_BADPARAM; +- +- /* Set this so we can detect failure */ +- *out = '\0'; +- +- length = strlen(in); +- +- if (strcmp(in + (length - strlen(LA_SUFFIX)), LA_SUFFIX)) { +- if(!strcmp(in + (length - strlen(SO_SUFFIX)),SO_SUFFIX)) { +- /* check for a .la file */ +- strcpy(line, prefix); +- strcat(line, in); +- length = strlen(line); +- *(line + (length - strlen(SO_SUFFIX))) = '\0'; +- strcat(line, LA_SUFFIX); +- file = fopen(line, "r"); +- if(file) { +- /* We'll get it on the .la open */ +- fclose(file); +- return SASL_FAIL; +- } +- } +- strcpy(out, prefix); +- strcat(out, in); +- return SASL_OK; +- } +- +- strcpy(line, prefix); +- strcat(line, in); +- +- file = fopen(line, "r"); +- if(!file) { +- _sasl_log(NULL, SASL_LOG_WARN, +- "unable to open LA file: %s", line); +- return SASL_FAIL; +- } +- +- while(!feof(file)) { +- if(!fgets(line, MAX_LINE, file)) break; +- if(line[strlen(line) - 1] != '\n') { +- _sasl_log(NULL, SASL_LOG_WARN, +- "LA file has too long of a line: %s", in); +- return SASL_BUFOVER; +- } +- if(line[0] == '\n' || line[0] == '#') continue; +- if(!strncmp(line, "dlname=", sizeof("dlname=") - 1)) { +- /* We found the line with the name in it */ +- char *end; +- char *start; +- size_t len; +- end = strrchr(line, '\''); +- if(!end) continue; +- start = &line[sizeof("dlname=")-1]; +- len = strlen(start); +- if(len > 3 && start[0] == '\'') { +- ntmp=&start[1]; +- *end='\0'; +- /* Do we have dlname="" ? */ +- if(ntmp == end) { +- _sasl_log(NULL, SASL_LOG_DEBUG, +- "dlname is empty in .la file: %s", in); +- return SASL_FAIL; +- } +- strcpy(out, prefix); +- strcat(out, ntmp); +- } +- break; +- } +- } +- if(ferror(file) || feof(file)) { +- _sasl_log(NULL, SASL_LOG_WARN, +- "Error reading .la: %s\n", in); +- fclose(file); +- return SASL_FAIL; +- } +- fclose(file); +- +- if(!(*out)) { +- _sasl_log(NULL, SASL_LOG_WARN, +- "Could not find a dlname line in .la file: %s", in); +- return SASL_FAIL; +- } +- +- return SASL_OK; +-} + #endif /* DO_DLOPEN */ + + /* loads a plugin library */ +@@ -499,18 +400,18 @@ int _sasl_load_plugins(const add_plugin_ + if (length + pos>=PATH_MAX) continue; /* too big */ + + if (strcmp(dir->d_name + (length - strlen(SO_SUFFIX)), +- SO_SUFFIX) +- && strcmp(dir->d_name + (length - strlen(LA_SUFFIX)), +- LA_SUFFIX)) ++ SO_SUFFIX)) + continue; + ++ /* We only use .so files for loading plugins */ ++ + memcpy(name,dir->d_name,length); + name[length]='\0'; + +- result = _parse_la(prefix, name, tmp); +- if(result != SASL_OK) +- continue; +- ++ /* Create full name with path */ ++ strncpy(tmp, prefix, PATH_MAX); ++ strncat(tmp, name, PATH_MAX); ++ + /* skip "lib" and cut off suffix -- + this only need be approximate */ + strcpy(plugname, name + 3); diff --git a/server/auth/cyrus-sasl/files/CVE-2013-4122.patch b/server/auth/cyrus-sasl/files/CVE-2013-4122.patch new file mode 100644 index 0000000000..d6b9800e66 --- /dev/null +++ b/server/auth/cyrus-sasl/files/CVE-2013-4122.patch @@ -0,0 +1,116 @@ +From dedad73e5e7a75d01a5f3d5a6702ab8ccd2ff40d Mon Sep 17 00:00:00 2001 +From: mancha +Date: Thu, 11 Jul 2013 09:08:07 +0000 +Subject: Handle NULL returns from glibc 2.17+ crypt() + +Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL +(w/ NULL return) if the salt violates specifications. Additionally, +on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords +passed to crypt() fail with EPERM (w/ NULL return). + +When using glibc's crypt(), check return value to avoid a possible +NULL pointer dereference. + +Patch by mancha1@hush.com. +--- +diff --git a/pwcheck/pwcheck_getpwnam.c b/pwcheck/pwcheck_getpwnam.c +index 4b34222..400289c 100644 +--- a/pwcheck/pwcheck_getpwnam.c ++++ b/pwcheck/pwcheck_getpwnam.c +@@ -32,6 +32,7 @@ char *userid; + char *password; + { + char* r; ++ char* crpt_passwd; + struct passwd *pwd; + + pwd = getpwnam(userid); +@@ -41,7 +42,7 @@ char *password; + else if (pwd->pw_passwd[0] == '*') { + r = "Account disabled"; + } +- else if (strcmp(pwd->pw_passwd, crypt(password, pwd->pw_passwd)) != 0) { ++ else if (!(crpt_passwd = crypt(password, pwd->pw_passwd)) || strcmp(pwd->pw_passwd, (const char *)crpt_passwd) != 0) { + r = "Incorrect password"; + } + else { +diff --git a/pwcheck/pwcheck_getspnam.c b/pwcheck/pwcheck_getspnam.c +index 2b11286..6d607bb 100644 +--- a/pwcheck/pwcheck_getspnam.c ++++ b/pwcheck/pwcheck_getspnam.c +@@ -32,13 +32,15 @@ char *userid; + char *password; + { + struct spwd *pwd; ++ char *crpt_passwd; + + pwd = getspnam(userid); + if (!pwd) { + return "Userid not found"; + } + +- if (strcmp(pwd->sp_pwdp, crypt(password, pwd->sp_pwdp)) != 0) { ++ crpt_passwd = crypt(password, pwd->sp_pwdp); ++ if (!crpt_passwd || strcmp(pwd->sp_pwdp, (const char *)crpt_passwd) != 0) { + return "Incorrect password"; + } + else { +diff --git a/saslauthd/auth_getpwent.c b/saslauthd/auth_getpwent.c +index fc8029d..d4ebe54 100644 +--- a/saslauthd/auth_getpwent.c ++++ b/saslauthd/auth_getpwent.c +@@ -77,6 +77,7 @@ auth_getpwent ( + { + /* VARIABLES */ + struct passwd *pw; /* pointer to passwd file entry */ ++ char *crpt_passwd; /* encrypted password */ + int errnum; + /* END VARIABLES */ + +@@ -105,7 +106,8 @@ auth_getpwent ( + } + } + +- if (strcmp(pw->pw_passwd, (const char *)crypt(password, pw->pw_passwd))) { ++ crpt_passwd = crypt(password, pw->pw_passwd); ++ if (!crpt_passwd || strcmp(pw->pw_passwd, (const char *)crpt_passwd)) { + if (flags & VERBOSE) { + syslog(LOG_DEBUG, "DEBUG: auth_getpwent: %s: invalid password", login); + } +diff --git a/saslauthd/auth_shadow.c b/saslauthd/auth_shadow.c +index 677131b..1988afd 100644 +--- a/saslauthd/auth_shadow.c ++++ b/saslauthd/auth_shadow.c +@@ -210,8 +210,8 @@ auth_shadow ( + RETURN("NO Insufficient permission to access NIS authentication database (saslauthd)"); + } + +- cpw = strdup((const char *)crypt(password, sp->sp_pwdp)); +- if (strcmp(sp->sp_pwdp, cpw)) { ++ cpw = crypt(password, sp->sp_pwdp); ++ if (!cpw || strcmp(sp->sp_pwdp, (const char *)cpw)) { + if (flags & VERBOSE) { + /* + * This _should_ reveal the SHADOW_PW_LOCKED prefix to an +@@ -221,10 +221,8 @@ auth_shadow ( + syslog(LOG_DEBUG, "DEBUG: auth_shadow: pw mismatch: '%s' != '%s'", + sp->sp_pwdp, cpw); + } +- free(cpw); + RETURN("NO Incorrect password"); + } +- free(cpw); + + /* + * The following fields will be set to -1 if: +@@ -286,7 +284,7 @@ auth_shadow ( + RETURN("NO Invalid username"); + } + +- if (strcmp(upw->upw_passwd, crypt(password, upw->upw_passwd)) != 0) { ++ if (!(cpw = crypt(password, upw->upw_passwd)) || (strcmp(upw->upw_passwd, (const char *)cpw) != 0)) { + if (flags & VERBOSE) { + syslog(LOG_DEBUG, "auth_shadow: pw mismatch: %s != %s", + password, upw->upw_passwd); +-- +cgit v0.9.2 diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.20-saslauthd.conf-path.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.20-saslauthd.conf-path.patch new file mode 100644 index 0000000000..822be9a56d --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.20-saslauthd.conf-path.patch @@ -0,0 +1,20 @@ +--- cyrus-sasl-2.1.20/saslauthd/saslauthd.mdoc 2005-05-06 16:05:44.000000000 -0400 ++++ cyrus-sasl-2.1.20/saslauthd/saslauthd.mdoc 2005-05-06 16:05:39.000000000 -0400 +@@ -216,7 +216,7 @@ + .Em (All platforms that support OpenLDAP 2.0 or higher) + .Pp + Authenticate against an ldap server. The ldap configuration parameters are +-read from /usr/local/etc/saslauthd.conf. The location of this file can be ++read from /etc/saslauthd.conf. The location of this file can be + changed with the -O parameter. See the LDAP_SASLAUTHD file included with the + distribution for the list of available parameters. + .It Li sia +@@ -249,7 +249,7 @@ + .Bl -tag -width "/run/saslauthd/mux" + .It Pa /run/saslauthd/mux + The default communications socket. +-.It Pa /usr/local/etc/saslauthd.conf ++.It Pa /etc/saslauthd.conf + The default configuration file for ldap support. + .El + .Sh SEE ALSO diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.21-sizes.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.21-sizes.patch new file mode 100644 index 0000000000..006962bd24 --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.21-sizes.patch @@ -0,0 +1,120 @@ +Prefer types in to our own, because it removes file content +conflicts between 32- and 64-bit architectures. RFEd as #2829. + +--- cyrus-sasl-2.1.21/configure.in 2006-05-16 07:37:52.000000000 -0400 ++++ cyrus-sasl-2.1.21/configure.in 2006-05-16 07:37:52.000000000 -0400 +@@ -1083,6 +1083,10 @@ + AC_HEADER_DIRENT + AC_HEADER_SYS_WAIT + AC_CHECK_HEADERS(des.h dlfcn.h fcntl.h limits.h malloc.h paths.h strings.h sys/file.h sys/time.h syslog.h unistd.h inttypes.h sys/uio.h sys/param.h sysexits.h stdarg.h varargs.h) ++AC_CHECK_TYPES([long long, int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t],,,[ ++#ifdef HAVE_INTTYPES_H ++#include ++#endif]) + + IPv6_CHECK_SS_FAMILY() + IPv6_CHECK_SA_LEN() +--- cyrus-sasl-2.1.21/include/makemd5.c 2003-02-13 14:55:52.000000000 -0500 ++++ cyrus-sasl-2.1.21/include/makemd5.c 2006-05-16 07:45:08.000000000 -0400 +@@ -82,12 +82,19 @@ + */ + + ++#ifdef HAVE_CONFIG_H ++#include "../config.h" ++#endif + + #include + #include + #include + #include + ++#ifdef HAVE_INTTYPES_H ++#include ++#endif ++ + + static void + my_strupr(char *s) +@@ -122,6 +129,18 @@ + static void + try_signed(FILE *f, int len) + { ++#ifdef HAVE_INT8_T ++ BITSIZE(int8_t); ++#endif ++#ifdef HAVE_INT16_T ++ BITSIZE(int16_t); ++#endif ++#ifdef HAVE_INT32_T ++ BITSIZE(int32_t); ++#endif ++#ifdef HAVE_INT64_T ++ BITSIZE(int64_t); ++#endif + BITSIZE(signed char); + BITSIZE(short); + BITSIZE(int); +@@ -135,6 +154,18 @@ + static void + try_unsigned(FILE *f, int len) + { ++#ifdef HAVE_UINT8_T ++ BITSIZE(uint8_t); ++#endif ++#ifdef HAVE_UINT16_T ++ BITSIZE(uint16_t); ++#endif ++#ifdef HAVE_UINT32_T ++ BITSIZE(uint32_t); ++#endif ++#ifdef HAVE_UINT64_T ++ BITSIZE(uint64_t); ++#endif + BITSIZE(unsigned char); + BITSIZE(unsigned short); + BITSIZE(unsigned int); +@@ -165,6 +196,11 @@ + "/* POINTER defines a generic pointer type */\n" + "typedef unsigned char *POINTER;\n" + "\n" ++#ifdef HAVE_INTTYPES_H ++ "/* We try to define integer types for our use */\n" ++ "#include \n" ++ "\n" ++#endif + ); + return 1; + } +@@ -212,31 +248,15 @@ + + print_pre(f); + +-#ifndef HAVE_INT8_T + try_signed (f, 8); +-#endif /* HAVE_INT8_T */ +-#ifndef HAVE_INT16_T + try_signed (f, 16); +-#endif /* HAVE_INT16_T */ +-#ifndef HAVE_INT32_T + try_signed (f, 32); +-#endif /* HAVE_INT32_T */ +-#ifndef HAVE_INT64_T + try_signed (f, 64); +-#endif /* HAVE_INT64_T */ + +-#ifndef HAVE_U_INT8_T + try_unsigned (f, 8); +-#endif /* HAVE_INT8_T */ +-#ifndef HAVE_U_INT16_T + try_unsigned (f, 16); +-#endif /* HAVE_U_INT16_T */ +-#ifndef HAVE_U_INT32_T + try_unsigned (f, 32); +-#endif /* HAVE_U_INT32_T */ +-#ifndef HAVE_U_INT64_T + try_unsigned (f, 64); +-#endif /* HAVE_U_INT64_T */ + + print_post(f); + diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-as-needed.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-as-needed.patch new file mode 100644 index 0000000000..1294cb5077 --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-as-needed.patch @@ -0,0 +1,11 @@ +--- saslauthd/configure.in.orig 2006-05-23 15:53:17.000000000 -0700 ++++ saslauthd/configure.in 2006-05-23 15:53:33.000000000 -0700 +@@ -77,7 +77,7 @@ + AC_DEFINE(AUTH_SASLDB,[],[Include SASLdb Support]) + SASL_DB_PATH_CHECK() + SASL_DB_CHECK() +- SASL_DB_LIB="$SASL_DB_LIB ../sasldb/.libs/libsasldb.al" ++ SASL_DB_LIB="../sasldb/.libs/libsasldb.a $SASL_DB_LIB" + fi + + AC_ARG_ENABLE(httpform, [ --enable-httpform enable HTTP form authentication [[no]] ], diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-kerberos4.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-kerberos4.patch new file mode 100644 index 0000000000..09e23d7bc5 --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-kerberos4.patch @@ -0,0 +1,26 @@ +diff -up cyrus-sasl-2.1.22/config/kerberos_v4.m4.krb4 cyrus-sasl-2.1.22/config/kerberos_v4.m4 +--- cyrus-sasl-2.1.22/config/kerberos_v4.m4.krb4 2005-05-07 06:14:55.000000000 +0200 ++++ cyrus-sasl-2.1.22/config/kerberos_v4.m4 2008-08-14 23:41:26.000000000 +0200 +@@ -102,7 +102,6 @@ AC_DEFUN([SASL_KERBEROS_V4_CHK], [ + if test -n "${cyrus_krbinclude}"; then + CPPFLAGS="$CPPFLAGS -I${cyrus_krbinclude}" + fi +- LDFLAGS="$LDFLAGS -L$krb4/lib" + fi + + if test "$with_des" != no; then +diff -up cyrus-sasl-2.1.22/plugins/kerberos4.c.krb4 cyrus-sasl-2.1.22/plugins/kerberos4.c +--- cyrus-sasl-2.1.22/plugins/kerberos4.c.krb4 2005-01-10 08:08:53.000000000 +0100 ++++ cyrus-sasl-2.1.22/plugins/kerberos4.c 2008-08-14 23:36:33.000000000 +0200 +@@ -49,11 +49,7 @@ + #include + + #ifdef WITH_DES +-# ifdef WITH_SSL_DES +-# include +-# else + # include +-# endif /* WITH_SSL_DES */ + #endif /* WITH_DES */ + + #ifdef WIN32 diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-ldap-timeout.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-ldap-timeout.patch new file mode 100644 index 0000000000..82c6c826c1 --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-ldap-timeout.patch @@ -0,0 +1,25 @@ +commit c9447e1c3ffba88783e5d9396b832be82d3c78fc +Author: Kazuo Ito +Date: Wed Dec 10 12:03:29 2008 +0900 + + support for LDAP_OPT_TIMEOUT + + OpenLDAP since 2.4 implements support for this option in ldap_result(), + among other things. + +diff --git a/saslauthd/lak.c b/saslauthd/lak.c +index 803d51f..8714265 100644 +--- a/saslauthd/lak.c ++++ b/saslauthd/lak.c +@@ -833,6 +833,11 @@ static int lak_connect( + syslog(LOG_WARNING|LOG_AUTH, "Unable to set LDAP_OPT_NETWORK_TIMEOUT %d.%d.", lak->conf->timeout.tv_sec, lak->conf->timeout.tv_usec); + } + ++ rc = ldap_set_option(lak->ld, LDAP_OPT_TIMEOUT, &(lak->conf->timeout)); ++ if (rc != LDAP_OPT_SUCCESS) { ++ syslog(LOG_WARNING|LOG_AUTH, "Unable to set LDAP_OPT_TIMEOUT %d.%d.", lak->conf->timeout.tv_sec, lak->conf->timeout.tv_usec); ++ } ++ + rc = ldap_set_option(lak->ld, LDAP_OPT_TIMELIMIT, &(lak->conf->time_limit)); + if (rc != LDAP_OPT_SUCCESS) { + syslog(LOG_WARNING|LOG_AUTH, "Unable to set LDAP_OPT_TIMELIMIT %d.", lak->conf->time_limit); diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-qa.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-qa.patch new file mode 100644 index 0000000000..4f7b04f135 --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.22-qa.patch @@ -0,0 +1,22 @@ +fix missing prototype warnings + +--- cyrus-sasl-2.1.22/lib/auxprop.c ++++ cyrus-sasl-2.1.22/lib/auxprop.c +@@ -43,6 +43,7 @@ + */ + + #include ++#include + #include + #include + #include +--- cyrus-sasl-2.1.22/pwcheck/pwcheck_getspnam.c ++++ cyrus-sasl-2.1.22/pwcheck/pwcheck_getspnam.c +@@ -24,6 +24,7 @@ OF OR IN CONNECTION WITH THE USE OR PERF + ******************************************************************/ + + #include ++#include + + extern char *crypt(); + diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.23-man.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.23-man.patch new file mode 100644 index 0000000000..5a16187f01 --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.23-man.patch @@ -0,0 +1,37 @@ +diff -up cyrus-sasl-2.1.23/mac/libdes/src/des_crypt.man cyrus-sasl-2.1.23/mac/libdes/src/des_crypt +diff -up cyrus-sasl-2.1.23/mac/libdes/src/des.man cyrus-sasl-2.1.23/mac/libdes/src/des +diff -up cyrus-sasl-2.1.23/man/Makefile.am.man cyrus-sasl-2.1.23/man/Makefile.am +--- cyrus-sasl-2.1.23/man/Makefile.am.man 2010-02-05 10:40:17.000000000 +0100 ++++ cyrus-sasl-2.1.23/man/Makefile.am 2010-02-05 10:40:47.000000000 +0100 +@@ -54,6 +54,6 @@ man_MANS = sasl_authorize_t.3 sasl_done. + sasl_auxprop_getctx.3 sasl_auxprop.3 sasl_idle.3 \ + sasl_errdetail.3 sasl_user_exists.3 sasl_setpass.3 \ + sasl_server_userdb_checkpass_t.3 sasl_server_userdb_setpass_t.3 \ +- sasl_global_listmech.3 sasl_getconfpath_t.3 ++ sasl_global_listmech.3 sasl_getconfpath_t.3 testsaslauthd.8 + + EXTRA_DIST = $(man_MANS) +diff -up cyrus-sasl-2.1.23/man/testsaslauthd.8.man cyrus-sasl-2.1.23/man/testsaslauthd.8 +--- cyrus-sasl-2.1.23/man/testsaslauthd.8.man 2010-02-05 10:40:07.000000000 +0100 ++++ cyrus-sasl-2.1.23/man/testsaslauthd.8 2010-02-05 09:48:43.000000000 +0100 +@@ -0,0 +1,20 @@ ++.\" Hey, EMACS: -*- nroff -*- ++.TH TESTSASLAUTHD 8 "14 October 2006" ++.SH NAME ++testsaslauthd \- test utility for the SASL authentication server ++.SH SYNOPSIS ++.B testsaslauthd ++.RI "[ " \(hyr " " realm " ] [ " \(hys " " servicename " ] [ " \(hyf " " socket " " path " ] [ " \(hyR " " repeatnum " ]" ++.SH DESCRIPTION ++This manual page documents briefly the ++.B testsaslauthd ++command. ++.PP ++.SH SEE ALSO ++.BR saslauthd (8). ++.br ++.SH AUTHOR ++testsaslauthd was written by Carnegie Mellon University. ++.PP ++This manual page was written by Roberto C. Sanchez , ++for the Debian project (but may be used by others). diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-keytab.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-keytab.patch new file mode 100644 index 0000000000..390b5176a4 --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-keytab.patch @@ -0,0 +1,36 @@ +diff --git a/cmulocal/sasl2.m4 b/cmulocal/sasl2.m4 +index 3c2841a..b086b8f 100644 +--- a/cmulocal/sasl2.m4 ++++ b/cmulocal/sasl2.m4 +@@ -269,6 +269,18 @@ if test "$gssapi" != no; then + cmu_save_LIBS="$LIBS" + LIBS="$LIBS $GSSAPIBASE_LIBS" + AC_CHECK_FUNCS(gsskrb5_register_acceptor_identity) ++ if test "$ac_cv_func_gsskrb5_register_acceptor_identity" = no ; then ++ AC_CHECK_HEADERS(gssapi/gssapi_krb5.h) ++ if test "$ac_cv_header_gssapi_gssapi_krb5_h" = "yes"; then ++ AC_CHECK_DECL(gsskrb5_register_acceptor_identity, ++ [AC_DEFINE(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY,1, ++ [Define if your GSSAPI implementation defines gsskrb5_register_acceptor_identity])],, ++ [ ++ AC_INCLUDES_DEFAULT ++ #include ++ ]) ++ fi ++ fi + AC_CHECK_FUNCS(gss_decapsulate_token) + AC_CHECK_FUNCS(gss_encapsulate_token) + AC_CHECK_FUNCS(gss_oid_equal) +diff --git a/plugins/gssapi.c b/plugins/gssapi.c +index 6be9d23..e6fcf46 100644 +--- a/plugins/gssapi.c ++++ b/plugins/gssapi.c +@@ -51,6 +51,8 @@ + #include + #endif + ++#include ++ + #ifdef WIN32 + # include + diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-no_rpath.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-no_rpath.patch new file mode 100644 index 0000000000..7028db6fe7 --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-no_rpath.patch @@ -0,0 +1,19 @@ +--- cmulocal/cyrus.m4~ 2014-01-09 11:31:10.423302394 +0100 ++++ cmulocal/cyrus.m4 2014-01-09 11:31:56.823302243 +0100 +@@ -32,14 +32,5 @@ + dnl runpath initialization + AC_DEFUN([CMU_GUESS_RUNPATH_SWITCH], [ + # CMU GUESS RUNPATH SWITCH +- AC_CACHE_CHECK(for runpath switch, andrew_cv_runpath_switch, [ +- # first, try -R +- SAVE_LDFLAGS="${LDFLAGS}" +- LDFLAGS="-R /usr/lib" +- AC_TRY_LINK([],[],[andrew_cv_runpath_switch="-R"], [ +- LDFLAGS="-Wl,-rpath,/usr/lib" +- AC_TRY_LINK([],[],[andrew_cv_runpath_switch="-Wl,-rpath,"], +- [andrew_cv_runpath_switch="none"]) +- ]) +- LDFLAGS="${SAVE_LDFLAGS}" +- ])]) ++ andrew_runpath_switch="none" ++ ]) diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-obsolete-macro.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-obsolete-macro.patch new file mode 100644 index 0000000000..a836d8fb4e --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-obsolete-macro.patch @@ -0,0 +1,13 @@ +diff --git a/configure.in b/configure.in +index e70c99a..60f366c 100644 +--- a/configure.in ++++ b/configure.in +@@ -1416,7 +1416,7 @@ inline static unsigned int sleep(unsigned int seconds) { + #endif /* CONFIG_H */ + ]) + +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADERS(config.h) + + AC_OUTPUT(Makefile + libsasl2.pc diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-prefer-SCRAM-SHA-1-over-PLAIN.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-prefer-SCRAM-SHA-1-over-PLAIN.patch new file mode 100644 index 0000000000..af88e81ed8 --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-prefer-SCRAM-SHA-1-over-PLAIN.patch @@ -0,0 +1,51 @@ +commit 26dcfb2d7176b78e70757aa5d01951a28ca217c7 +Author: Alexey Melnikov +Date: Fri Jul 5 16:37:59 2013 +0100 + + Treat SCRAM-SHA-1/DIGEST-MD5 as more secure than PLAIN when selecting the best client side SASL mechanism + + Both SCRAM-SHA-1 & DIGEST-MD5 are lacking SASL_SEC_PASS_CREDENTIALS security + flag, which prevented them from being chosen over PLAIN when PLAIN is selected + as the best mechanism first. For example the problem can be observed when + the server advertises "PLAIN DIGEST-MD5 SCRAM-SHA-1" (PLAIN just has to be + returned before SCRAM/DIGEST.) + + Cyrus SASL bug # 3793 + +diff --git a/lib/client.c b/lib/client.c +index 62dfb0b..31fe346 100644 +--- a/lib/client.c ++++ b/lib/client.c +@@ -658,6 +658,20 @@ _sasl_cbinding_disp(sasl_client_params_t *cparams, + return SASL_OK; + } + ++static int ++_sasl_are_current_security_flags_worse_then_best(unsigned best_security_flags, ++ unsigned current_security_flags) ++{ ++ /* We don't qualify SASL_SEC_PASS_CREDENTIALS as "secure" flag */ ++ best_security_flags &= ~SASL_SEC_PASS_CREDENTIALS; ++ ++ if ((current_security_flags ^ best_security_flags) & best_security_flags) { ++ return 1; ++ } else { ++ return 0; ++ } ++} ++ + /* select a mechanism for a connection + * mechlist -- mechanisms server has available (punctuation ignored) + * secret -- optional secret from previous session +@@ -823,8 +837,9 @@ int sasl_client_start(sasl_conn_t *conn, + */ + + if (bestm && +- ((m->m.plug->security_flags ^ bestm->m.plug->security_flags) & +- bestm->m.plug->security_flags)) { ++ _sasl_are_current_security_flags_worse_then_best( ++ bestm->m.plug->security_flags, ++ m->m.plug->security_flags)) { + break; + } + diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-relro.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-relro.patch new file mode 100644 index 0000000000..3a405f6541 --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-relro.patch @@ -0,0 +1,59 @@ +diff -up cyrus-sasl-2.1.26/lib/Makefile.am.relro cyrus-sasl-2.1.26/lib/Makefile.am +--- cyrus-sasl-2.1.26/lib/Makefile.am.relro 2012-10-12 16:05:48.000000000 +0200 ++++ cyrus-sasl-2.1.26/lib/Makefile.am 2013-02-11 14:18:01.749053772 +0100 +@@ -64,7 +64,7 @@ LIB_DOOR= @LIB_DOOR@ + lib_LTLIBRARIES = libsasl2.la + + libsasl2_la_SOURCES = $(common_sources) $(common_headers) +-libsasl2_la_LDFLAGS = -version-info $(sasl_version) ++libsasl2_la_LDFLAGS = -Wl,-z,relro -version-info $(sasl_version) + libsasl2_la_DEPENDENCIES = $(LTLIBOBJS) + libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR) + +diff -up cyrus-sasl-2.1.26/lib/Makefile.in.relro cyrus-sasl-2.1.26/lib/Makefile.in +--- cyrus-sasl-2.1.26/lib/Makefile.in.relro 2013-11-13 16:55:09.606555125 +0100 ++++ cyrus-sasl-2.1.26/lib/Makefile.in 2013-11-13 16:56:43.331096795 +0100 +@@ -330,7 +330,7 @@ common_headers = saslint.h + common_sources = auxprop.c canonusr.c checkpw.c client.c common.c config.c external.c md5.c saslutil.c server.c seterror.c dlopen.c ../plugins/plugin_common.c + lib_LTLIBRARIES = libsasl2.la + libsasl2_la_SOURCES = $(common_sources) $(common_headers) +-libsasl2_la_LDFLAGS = -version-info $(sasl_version) ++libsasl2_la_LDFLAGS = -Wl,-z,relro -version-info $(sasl_version) + libsasl2_la_DEPENDENCIES = $(LTLIBOBJS) + libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR) + @MACOSX_TRUE@framedir = /Library/Frameworks/SASL2.framework +diff -up cyrus-sasl-2.1.26/plugins/Makefile.am.relro cyrus-sasl-2.1.26/plugins/Makefile.am +--- cyrus-sasl-2.1.26/plugins/Makefile.am.relro 2012-10-12 16:05:48.000000000 +0200 ++++ cyrus-sasl-2.1.26/plugins/Makefile.am 2013-02-11 14:18:01.749053772 +0100 +@@ -50,7 +50,7 @@ + plugin_version = 3:0:0 + + INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/sasldb -I$(top_builddir)/include +-AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir) -version-info $(plugin_version) ++AM_LDFLAGS = -Wl,-z,relro -module -export-dynamic -rpath $(plugindir) -version-info $(plugin_version) + + COMPAT_OBJS = @LTGETADDRINFOOBJS@ @LTGETNAMEINFOOBJS@ @LTSNPRINTFOBJS@ + +diff -up cyrus-sasl-2.1.26/plugins/Makefile.in.relro cyrus-sasl-2.1.26/plugins/Makefile.in +--- cyrus-sasl-2.1.26/plugins/Makefile.in.relro 2013-11-13 16:57:08.430974081 +0100 ++++ cyrus-sasl-2.1.26/plugins/Makefile.in 2013-11-13 16:57:58.911727846 +0100 +@@ -364,7 +364,7 @@ top_srcdir = @top_srcdir@ + # CURRENT:REVISION:AGE + plugin_version = 3:0:0 + INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/sasldb -I$(top_builddir)/include +-AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir) -version-info $(plugin_version) ++AM_LDFLAGS = -Wl,-z,relro -module -export-dynamic -rpath $(plugindir) -version-info $(plugin_version) + COMPAT_OBJS = @LTGETADDRINFOOBJS@ @LTGETNAMEINFOOBJS@ @LTSNPRINTFOBJS@ + EXTRA_DIST = makeinit.sh NTMakefile + noinst_SCRIPTS = makeinit.sh +diff -up cyrus-sasl-2.1.26/saslauthd/Makefile.am.relro cyrus-sasl-2.1.26/saslauthd/Makefile.am +--- cyrus-sasl-2.1.26/saslauthd/Makefile.am.relro 2013-02-11 14:18:36.910900647 +0100 ++++ cyrus-sasl-2.1.26/saslauthd/Makefile.am 2013-02-11 14:20:17.336463915 +0100 +@@ -17,6 +17,7 @@ saslauthd_DEPENDENCIES = saslauthd-main. + saslauthd_LDADD = @SASL_KRB_LIB@ \ + @GSSAPIBASE_LIBS@ @GSSAPI_LIBS@ @LIB_CRYPT@ @LIB_SIA@ \ + @LIB_SOCKET@ ../sasldb/libsasldb.la @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@ ++saslauthd_LDFLAGS = -pie -Wl,-z,now + + testsaslauthd_SOURCES = testsaslauthd.c utils.c + testsaslauthd_LDADD = @LIB_SOCKET@ diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-size_t.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-size_t.patch new file mode 100644 index 0000000000..cde823835b --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-size_t.patch @@ -0,0 +1,12 @@ +diff -up cyrus-sasl-2.1.26/include/sasl.h.size_t cyrus-sasl-2.1.26/include/sasl.h +--- cyrus-sasl-2.1.26/include/sasl.h.size_t 2012-10-12 09:05:48.000000000 -0500 ++++ cyrus-sasl-2.1.26/include/sasl.h 2013-01-31 13:21:04.007739327 -0600 +@@ -223,6 +223,8 @@ extern "C" { + * they must be called before all other SASL functions: + */ + ++#include ++ + /* memory allocation functions which may optionally be replaced: + */ + typedef void *sasl_malloc_t(size_t); diff --git a/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-warnings.patch b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-warnings.patch new file mode 100644 index 0000000000..f7127bb0d9 --- /dev/null +++ b/server/auth/cyrus-sasl/files/cyrus-sasl-2.1.26-warnings.patch @@ -0,0 +1,74 @@ +diff -up cyrus-sasl-2.1.26/lib/server.c.warnings cyrus-sasl-2.1.26/lib/server.c +--- cyrus-sasl-2.1.26/lib/server.c.warnings 2012-10-12 16:05:48.000000000 +0200 ++++ cyrus-sasl-2.1.26/lib/server.c 2012-12-20 17:49:39.620254792 +0100 +@@ -650,7 +650,7 @@ static int load_config(const sasl_callba + goto done; + } + +- snprintf(config_filename, len, "%.*s%c%s.conf", path_len, path_to_config, ++ snprintf(config_filename, len, "%.*s%c%s.conf", (int)path_len, path_to_config, + HIER_DELIMITER, global_callbacks.appname); + + /* Ask the application if it's safe to use this file */ +diff -up cyrus-sasl-2.1.26/plugins/gssapi.c.warnings cyrus-sasl-2.1.26/plugins/gssapi.c +--- cyrus-sasl-2.1.26/plugins/gssapi.c.warnings 2012-01-28 00:31:36.000000000 +0100 ++++ cyrus-sasl-2.1.26/plugins/gssapi.c 2012-12-20 17:49:39.620254792 +0100 +@@ -202,7 +202,8 @@ sasl_gss_seterror_(const sasl_utils_t *u + OM_uint32 msg_ctx; + int ret; + char *out = NULL; +- size_t len, curlen = 0; ++ size_t len; ++ unsigned curlen = 0; + const char prefix[] = "GSSAPI Error: "; + + if (!utils) return SASL_OK; +diff -up cyrus-sasl-2.1.26/plugins/ldapdb.c.warnings cyrus-sasl-2.1.26/plugins/ldapdb.c +--- cyrus-sasl-2.1.26/plugins/ldapdb.c.warnings 2012-01-28 00:31:36.000000000 +0100 ++++ cyrus-sasl-2.1.26/plugins/ldapdb.c 2012-12-20 17:49:39.621254788 +0100 +@@ -22,6 +22,7 @@ + + #include "plugin_common.h" + ++#define LDAP_DEPRECATED 1 + #include + + static char ldapdb[] = "ldapdb"; +diff -up cyrus-sasl-2.1.26/plugins/plugin_common.c.warnings cyrus-sasl-2.1.26/plugins/plugin_common.c +--- cyrus-sasl-2.1.26/plugins/plugin_common.c.warnings 2013-09-03 14:40:35.181455452 +0200 ++++ cyrus-sasl-2.1.26/plugins/plugin_common.c 2013-09-03 14:40:38.320441024 +0200 +@@ -94,7 +94,7 @@ static void sockaddr_unmapped( + if (!IN6_IS_ADDR_V4MAPPED((&sin6->sin6_addr))) + return; + sin4 = (struct sockaddr_in *)sa; +- addr = *(uint32_t *)&sin6->sin6_addr.s6_addr[12]; ++ addr = *(uint32_t *)&sin6->sin6_addr.s6_addr32[3]; + port = sin6->sin6_port; + memset(sin4, 0, sizeof(struct sockaddr_in)); + sin4->sin_addr.s_addr = addr; +diff -up cyrus-sasl-2.1.26/saslauthd/auth_httpform.c.warnings cyrus-sasl-2.1.26/saslauthd/auth_httpform.c +--- cyrus-sasl-2.1.26/saslauthd/auth_httpform.c.warnings 2012-10-12 16:05:48.000000000 +0200 ++++ cyrus-sasl-2.1.26/saslauthd/auth_httpform.c 2013-09-03 14:39:25.411776109 +0200 +@@ -574,7 +574,7 @@ auth_httpform ( + "Content-Type: application/x-www-form-urlencoded" CRLF + "Content-Length: %d" TWO_CRLF + "%s", +- r_uri, r_host, r_port, strlen(req), req); ++ r_uri, r_host, r_port, (int)strlen(req), req); + + if (flags & VERBOSE) { + syslog(LOG_DEBUG, "auth_httpform: sending %s %s %s", +diff -up cyrus-sasl-2.1.26/saslauthd/auth_shadow.c.warnings cyrus-sasl-2.1.26/saslauthd/auth_shadow.c +--- cyrus-sasl-2.1.26/saslauthd/auth_shadow.c.warnings 2012-10-12 16:05:48.000000000 +0200 ++++ cyrus-sasl-2.1.26/saslauthd/auth_shadow.c 2012-12-20 17:49:39.621254788 +0100 +@@ -70,6 +70,10 @@ + # include + # endif /* ! HAVE_GETUSERPW */ + ++# ifdef HAVE_CRYPT_H ++# include ++# endif ++ + # include "auth_shadow.h" + # include "globals.h" + /* END PUBLIC DEPENDENCIES */ diff --git a/server/auth/cyrus-sasl/files/saslauthd.confd b/server/auth/cyrus-sasl/files/saslauthd.confd new file mode 100644 index 0000000000..abbb75f86e --- /dev/null +++ b/server/auth/cyrus-sasl/files/saslauthd.confd @@ -0,0 +1,16 @@ +# Specify the authentications mechanism. +# List: getpwent,kerberos5,pam,rimap,shadow,ldap +# *NOTE* For actual list see: saslauthd -v +SASLAUTHD_OPTS="-a pam" + +# Specify the hostname for remote IMAP server. +# *NOTE* Only needed if rimap auth mech is used. +#SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -O localhost" + +# Specify the number of worker processes to create. +#SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -n 5" + +# Enable credential cache, cache size, and timeout. +# *NOTE* Size is measured in kilobytes +# Timeout is measured in seconds +#SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -c -s 128 -t 30" diff --git a/server/auth/cyrus-sasl/files/saslauthd.pam b/server/auth/cyrus-sasl/files/saslauthd.pam new file mode 100644 index 0000000000..2c5a5347ad --- /dev/null +++ b/server/auth/cyrus-sasl/files/saslauthd.pam @@ -0,0 +1,6 @@ +#%PAM-1.0 + +auth required pam_nologin.so +auth include system-auth +account include system-auth +session include system-auth diff --git a/server/auth/cyrus-sasl/files/tmpfiles.conf b/server/auth/cyrus-sasl/files/tmpfiles.conf new file mode 100644 index 0000000000..7258b1a9ff --- /dev/null +++ b/server/auth/cyrus-sasl/files/tmpfiles.conf @@ -0,0 +1 @@ +d /run/saslauthd 0755 root root - - diff --git a/server/auth/cyrus-sasl/pspec.xml b/server/auth/cyrus-sasl/pspec.xml new file mode 100644 index 0000000000..b6ab0d7e00 --- /dev/null +++ b/server/auth/cyrus-sasl/pspec.xml @@ -0,0 +1,129 @@ + + + + + cyrus-sasl + http://asg.web.cmu.edu/sasl/ + + PisiLinux Community + admins@pisilinux.org + + as-is + library + service + The Cyrus SASL (Simple Authentication and Security Layer) + cyrus-sasl is the Simple Authentication and Security Layer, a method for adding authentication support to connection-based protocols. To use SASL, a protocol includes a command for identifying and authenticating a user to a server and for optionally negotiating protection of subsequent protocol interactions. + http://cyrusimap.org/releases/cyrus-sasl-2.1.26.tar.gz + + mit-kerberos + + + + CVE-2013-4122.patch + 0011_saslauthd_ac_prog_libtool.patch + 0025_ld_as_needed.patch + 0026_drop_krb5support_dependency.patch + 0030-dont_use_la_files_for_opening_plugins.patch + cyrus-sasl-2.1.20-saslauthd.conf-path.patch + cyrus-sasl-2.1.21-sizes.patch + cyrus-sasl-2.1.22-as-needed.patch + cyrus-sasl-2.1.22-qa.patch + cyrus-sasl-2.1.22-kerberos4.patch + cyrus-sasl-2.1.22-ldap-timeout.patch + cyrus-sasl-2.1.23-man.patch + cyrus-sasl-2.1.26-keytab.patch + cyrus-sasl-2.1.26-no_rpath.patch + cyrus-sasl-2.1.26-obsolete-macro.patch + cyrus-sasl-2.1.26-prefer-SCRAM-SHA-1-over-PLAIN.patch + cyrus-sasl-2.1.26-relro.patch + cyrus-sasl-2.1.26-size_t.patch + cyrus-sasl-2.1.26-warnings.patch + + + + + cyrus-sasl + + openldap-client + mit-kerberos + + + /etc + /usr/lib/tmpfiles.d/cyrus-sasl.conf + /usr/sbin + /usr/lib + /usr/share/cyrus-sasl-2 + /run + /usr/share/man + /usr/share/doc + + + saslauthd.confd + saslauthd.pam + tmpfiles.conf + + + System.Service + System.Package + + + + + cyrus-sasl-devel + Development files for cyrus-sasl + + cyrus-sasl + + + /usr/include + /usr/lib/pkgconfig + /usr/share/doc/cyrus-sasl/*.txt + /usr/share/man/man3 + + + + + + 2014-07-05 + 2.1.26 + Release bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-01-09 + 2.1.26 + Version bump. Add tmpfiles.conf + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-30 + 2.1.25 + Rebuild + PisiLinux Community + admins@pisilinux.org + + + 2013-05-05 + 2.1.25 + Added some patches and remove unused. + Aydın Demirel + aydin@demirel.web.tr + + + 2013-04-25 + 2.1.25 + Dep Fixed. + PisiLinux Community + admins@pisilinux.org + + + 2012-09-29 + 2.1.25 + First release + PisiLinux Community + admins@pisilinux.org + + + diff --git a/server/auth/cyrus-sasl/translations.xml b/server/auth/cyrus-sasl/translations.xml new file mode 100644 index 0000000000..97378329ca --- /dev/null +++ b/server/auth/cyrus-sasl/translations.xml @@ -0,0 +1,13 @@ + + + + cyrus-sasl + Cyrus basit kimlik tanımlama ve güvenlik katmanı + Cyrus-sasl, bağlantı tabanlı protokoller için kullanılan bir kimlik doğrulama uygulamasıdır. Çoğunlukla Smtp doğrulaması için kullanılır. + + + + cyrus-sasl-devel + cyrus-sasl için geliştirme dosyaları + + diff --git a/server/auth/mit-kerberos/pspec.xml b/server/auth/mit-kerberos/pspec.xml index ed87ae8e84..010e9862c2 100644 --- a/server/auth/mit-kerberos/pspec.xml +++ b/server/auth/mit-kerberos/pspec.xml @@ -26,7 +26,7 @@ krb5-config_LDFLAGS.patch - + rebuild-configure-scripts.patch fix-python-detection.patch diff --git a/server/database/postgresql/actions.py b/server/database/postgresql/actions.py index 437615bb7b..e76141a115 100644 --- a/server/database/postgresql/actions.py +++ b/server/database/postgresql/actions.py @@ -21,7 +21,7 @@ def setup(): --with-pam \ --with-libxml \ --with-libxslt \ - --with-ldap \ + --without-ldap \ --enable-integer-datetimes \ --enable-thread-safety \ --enable-depend \ diff --git a/server/database/postgresql/pspec.xml b/server/database/postgresql/pspec.xml index 316334eb63..8ece19e861 100644 --- a/server/database/postgresql/pspec.xml +++ b/server/database/postgresql/pspec.xml @@ -15,13 +15,15 @@ https://ftp.postgresql.org/pub/source/v9.3.9/postgresql-9.3.9.tar.bz2 mit-kerberos - pam-devel + e2fsprogs-devel + pam-devel readline-devel zlib-devel + python-devel openssl-devel tcl-devel - libxslt - libxml2 + libxslt-devel + libxml2-devel diff --git a/server/openldap/actions.py b/server/openldap/actions.py new file mode 100644 index 0000000000..3623aae981 --- /dev/null +++ b/server/openldap/actions.py @@ -0,0 +1,100 @@ +#!/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 + +KeepSpecial = ["libtool"] + +def setup(): + pisitools.dosed( + "include/ldap_defaults.h", + "(#define LDAPI_SOCK).*", + '\\1 "/run/openldap/slapd.sock"' + ) + pisitools.dosed("servers/slapd/Makefile.in", "(\$\(DESTDIR\))\$\(localstatedir\)(\/run)", r"\1\2") + + pisitools.flags.add("-D_REENTRANT -D_GNU_SOURCE -fPIC -Wl,--as-needed -DLDAP_CONNECTIONLESS") + #pisitools.ldflags.add("-pie") + + options = "--prefix=/usr \ + --enable-bdb \ + --enable-hdb=mod \ + --enable-slapd \ + --enable-passwd=mod \ + --enable-dnssrv=mod \ + --enable-ldap \ + --enable-wrappers \ + --enable-meta=mod \ + --enable-monitor=mod \ + --enable-null=mod \ + --enable-shell=mod \ + --enable-rewrite \ + --enable-rlookups \ + --enable-aci \ + --enable-modules \ + --enable-cleartext \ + --enable-lmpasswd \ + --enable-spasswd \ + --enable-slapi \ + --enable-dyngroup \ + --enable-proxycache \ + --enable-perl \ + --enable-syslog \ + --enable-dynamic \ + --enable-local \ + --enable-proctitle \ + --enable-overlays=mod \ + --with-pic \ + --with-cyrus-sasl \ + --with-threads \ + --without-fetch \ + --enable-crypt \ + --enable-ipv6 \ + --enable-dynacl \ + --enable-shared \ + --disable-static \ + --disable-slp \ + --localstatedir=/var/lib" + + if get.buildTYPE() == "emul32": + options += " --prefix=/emul32 \ + --libdir=/usr/lib32 \ + --libexecdir=/emul32/libexec \ + --disable-bdb \ + --disable-hdb \ + --disable-wrappers \ + --disable-spasswd \ + --disable-perl \ + --with-tls \ + --without-cyrus-sasl" + else: options += " --with-tls=moznss" + + shelltools.export("AUTOMAKE", "/bin/true") + autotools.autoreconf("-fi") + autotools.configure(options) + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make("-j1") + +def install(): + if get.buildTYPE() == "emul32": + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + return + + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + + pisitools.dodir("/run/openldap") + pisitools.dodir("/etc/openldap/ssl") + + pisitools.dodoc("ANNOUNCEMENT", "CHANGES", "COPYRIGHT", "README", "LICENSE") + + pisitools.remove("/usr/lib/*.la") + pisitools.remove("/usr/libexec/openldap/*.la") diff --git a/server/openldap/comar/package.py b/server/openldap/comar/package.py new file mode 100644 index 0000000000..4fb89377f2 --- /dev/null +++ b/server/openldap/comar/package.py @@ -0,0 +1,17 @@ +#!/usr/bin/python + +import os +import pwd +import grp + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.system("/bin/chown ldap:ldap /var/lib/openldap-data") + os.system("/bin/chown ldap:ldap /var/lib/openldap-slurp") + os.system("/bin/chown ldap:ldap /run/openldap") + os.system("/bin/chown root:ldap /etc/openldap/slapd.conf") + os.system("/bin/chown root:ldap /etc/openldap/slapd.conf.default") + os.system("/bin/chmod 0700 /var/lib/openldap-data") + os.system("/bin/chmod 0700 /var/lib/openldap-slurp") + os.system("/bin/chmod 0755 /run/openldap") + os.system("/bin/chmod 0640 /etc/openldap/slapd.conf") + os.system("/bin/chmod 0640 /etc/openldap/slapd.conf.default") diff --git a/server/openldap/comar/slapd.py b/server/openldap/comar/slapd.py new file mode 100644 index 0000000000..768adf7aef --- /dev/null +++ b/server/openldap/comar/slapd.py @@ -0,0 +1,23 @@ +from comar.service import * + +serviceType = "server" +serviceDesc = _({"en": "OpenLDAP Server", + "tr": "OpenLDAP Sunucusu"}) +serviceConf = "slapd" + +def start(): + import os + os.environ["LC_ALL"] = "C" + os.environ["LANG"] = "C" + + startService(command="/usr/libexec/slapd", + args="-u ldap -g ldap %s" % config.get("OPTS", ""), + pidfile="/run/openldap/slapd.pid", + donotify=True) + +def stop(): + stopService(pidfile="/run/openldap/slapd.pid", + donotify=True) + +def status(): + return isServiceRunning("/run/openldap/slapd.pid") diff --git a/server/openldap/comar/slurpd.py b/server/openldap/comar/slurpd.py new file mode 100644 index 0000000000..dcc9a1f7ca --- /dev/null +++ b/server/openldap/comar/slurpd.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +from comar.service import * + +serviceType = "server" +serviceDesc = _({"en": "Slurpd Daemon", + "tr": "Slurpd Servisi"}) + +def start(): + startService(command="/usr/libexec/slurpd", + donotify=True) + +def stop(): + stopService(command="/usr/libexec/slurpd", + donotify=True) + +def status(): + return isServiceRunning(command="/usr/libexec/slurpd") diff --git a/server/openldap/files/fedora/openldap-autoconf-pkgconfig-nss.patch b/server/openldap/files/fedora/openldap-autoconf-pkgconfig-nss.patch new file mode 100644 index 0000000000..8b4bb199ca --- /dev/null +++ b/server/openldap/files/fedora/openldap-autoconf-pkgconfig-nss.patch @@ -0,0 +1,49 @@ +Use pkg-config for Mozilla NSS library detection + +Author: Jan Vcelak + +--- + configure.in | 22 +++++----------------- + 1 file changed, 5 insertions(+), 17 deletions(-) + +diff --git a/configure.in b/configure.in +index ecffe30..2a9cfb4 100644 +--- a/configure.in ++++ b/configure.in +@@ -1223,28 +1223,16 @@ if test $ol_link_tls = no ; then + fi + fi + +-dnl NOTE: caller must specify -I/path/to/nspr4 and -I/path/to/nss3 +-dnl and -L/path/to/nspr4 libs and -L/path/to/nss3 libs if those libs +-dnl are not in the default system location + if test $ol_link_tls = no ; then + if test $ol_with_tls = moznss || test $ol_with_tls = auto ; then +- have_moznss=no +- AC_CHECK_HEADERS([nssutil.h]) +- if test "$ac_cv_header_nssutil_h" = yes ; then +- AC_CHECK_LIB([nss3], [NSS_Initialize], +- [ have_moznss=yes ], [ have_moznss=no ]) +- fi ++ PKG_CHECK_MODULES(MOZNSS, [nss nspr], [have_moznss=yes], [have_moznss=no]) + +- if test "$have_moznss" = yes ; then ++ if test $have_moznss = yes ; then + ol_with_tls=moznss + ol_link_tls=yes +- AC_DEFINE(HAVE_MOZNSS, 1, +- [define if you have MozNSS]) +- TLS_LIBS="-lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4" +- else +- if test $ol_with_tls = moznss ; then +- AC_MSG_ERROR([MozNSS not found - please specify the location to the NSPR and NSS header files in CPPFLAGS and the location to the NSPR and NSS libraries in LDFLAGS (if not in the system location)]) +- fi ++ AC_DEFINE(HAVE_MOZNSS, 1, [define if you have MozNSS]) ++ TLS_LIBS="$MOZNSS_LIBS" ++ CFLAGS="$CFLAGS $MOZNSS_CFLAGS" + fi + fi + fi +-- +1.7.11.7 + diff --git a/server/openldap/files/fedora/openldap-dns-priority.patch b/server/openldap/files/fedora/openldap-dns-priority.patch new file mode 100644 index 0000000000..8dc0923801 --- /dev/null +++ b/server/openldap/files/fedora/openldap-dns-priority.patch @@ -0,0 +1,192 @@ +Implement priority/weight for DNS SRV records + +From RFC 2782: + + A client MUST attempt to contact the target host with the + lowest-numbered priority it can reach. + +This patch sorts the DNS SRV records by their priority, and +additionally gives records with a larger weight a higher probability +of appearing earlier. This way, the DNS SRV records are tried in the +order of their priority. + +Author: James M Leddy +Upstream ITS: #7027 +Resolves: #733078 + +--- + libraries/libldap/dnssrv.c | 106 ++++++++++++++++++++++++++++++++++---------- + 1 files changed, 83 insertions(+), 23 deletions(-) + +diff --git a/libraries/libldap/dnssrv.c b/libraries/libldap/dnssrv.c +index 16b1544..40f93b4 100644 +--- a/libraries/libldap/dnssrv.c ++++ b/libraries/libldap/dnssrv.c +@@ -174,6 +174,46 @@ int ldap_domain2dn( + return LDAP_SUCCESS; + } + ++#ifdef HAVE_RES_QUERY ++#define DNSBUFSIZ (64*1024) ++typedef struct srv_record { ++ u_short priority; ++ u_short weight; ++ u_short port; ++ char hostname[DNSBUFSIZ]; ++} srv_record; ++ ++ ++static int srv_cmp(const void *aa, const void *bb){ ++ srv_record *a=(srv_record *)aa; ++ srv_record *b=(srv_record *)bb; ++ u_long total; ++ ++ if(a->priority < b->priority) { ++ return -1; ++ } ++ if(a->priority > b->priority) { ++ return 1; ++ } ++ if(a->priority == b->priority){ ++ /* targets with same priority are in psudeo random order */ ++ if (a->weight == 0 && b->weight == 0) { ++ if (rand() % 2) { ++ return -1; ++ } else { ++ return 1; ++ } ++ } ++ total = a->weight + b->weight; ++ if (rand() % total < a->weight) { ++ return -1; ++ } else { ++ return 1; ++ } ++ } ++} ++#endif /* HAVE_RES_QUERY */ ++ + /* + * Lookup and return LDAP servers for domain (using the DNS + * SRV record _ldap._tcp.domain). +@@ -183,15 +223,16 @@ int ldap_domain2hostlist( + char **list ) + { + #ifdef HAVE_RES_QUERY +-#define DNSBUFSIZ (64*1024) +- char *request; +- char *hostlist = NULL; ++ char *request; ++ char *hostlist = NULL; ++ srv_record *hostent_head=NULL; ++ int i; + int rc, len, cur = 0; + unsigned char reply[DNSBUFSIZ]; ++ int hostent_count=0; + + assert( domain != NULL ); + assert( list != NULL ); +- + if( *domain == '\0' ) { + return LDAP_PARAM_ERROR; + } +@@ -223,8 +264,7 @@ int ldap_domain2hostlist( + unsigned char *p; + char host[DNSBUFSIZ]; + int status; +- u_short port; +- /* int priority, weight; */ ++ u_short port, priority, weight; + + /* Parse out query */ + p = reply; +@@ -263,40 +303,56 @@ int ldap_domain2hostlist( + size = (p[0] << 8) | p[1]; + p += 2; + if (type == T_SRV) { +- int buflen; + status = dn_expand(reply, reply + len, p + 6, host, sizeof(host)); + if (status < 0) { + goto out; + } +- /* ignore priority and weight for now */ +- /* priority = (p[0] << 8) | p[1]; */ +- /* weight = (p[2] << 8) | p[3]; */ ++ ++ /* Get priority weight and port */ ++ priority = (p[0] << 8) | p[1]; ++ weight = (p[2] << 8) | p[3]; + port = (p[4] << 8) | p[5]; + + if ( port == 0 || host[ 0 ] == '\0' ) { + goto add_size; + } + +- buflen = strlen(host) + STRLENOF(":65355 "); +- hostlist = (char *) LDAP_REALLOC(hostlist, cur + buflen + 1); +- if (hostlist == NULL) { +- rc = LDAP_NO_MEMORY; +- goto out; ++ hostent_head = (srv_record *) LDAP_REALLOC(hostent_head, (hostent_count+1)*(sizeof(srv_record))); ++ if(hostent_head==NULL){ ++ rc=LDAP_NO_MEMORY; ++ goto out; ++ + } +- if (cur > 0) { +- /* not first time around */ +- hostlist[cur++] = ' '; +- } +- cur += sprintf(&hostlist[cur], "%s:%hu", host, port); ++ hostent_head[hostent_count].priority=priority; ++ hostent_head[hostent_count].weight=weight; ++ hostent_head[hostent_count].port=port; ++ strncpy(hostent_head[hostent_count].hostname, host,255); ++ hostent_count=hostent_count+1; + } + add_size:; + p += size; + } + } ++ qsort(hostent_head, hostent_count, sizeof(srv_record), srv_cmp); ++ ++ for(i=0; i0){ ++ hostlist[cur++]=' '; ++ } ++ cur += sprintf(&hostlist[cur], "%s:%hd", hostent_head[i].hostname, hostent_head[i].port); ++ } ++ + if (hostlist == NULL) { +- /* No LDAP servers found in DNS. */ +- rc = LDAP_UNAVAILABLE; +- goto out; ++ /* No LDAP servers found in DNS. */ ++ rc = LDAP_UNAVAILABLE; ++ goto out; + } + + rc = LDAP_SUCCESS; +@@ -308,8 +364,12 @@ add_size:; + if (request != NULL) { + LDAP_FREE(request); + } ++ if (hostent_head != NULL) { ++ LDAP_FREE(hostent_head); ++ } + if (rc != LDAP_SUCCESS && hostlist != NULL) { + LDAP_FREE(hostlist); ++ + } + return rc; + #else +-- +1.7.6 + diff --git a/server/openldap/files/fedora/openldap-ldapi-sasl.patch b/server/openldap/files/fedora/openldap-ldapi-sasl.patch new file mode 100644 index 0000000000..058cc1c32e --- /dev/null +++ b/server/openldap/files/fedora/openldap-ldapi-sasl.patch @@ -0,0 +1,55 @@ +From 69709289b083c53ba41d2cef7d65120220f8c59b Mon Sep 17 00:00:00 2001 +From: Sumit Bose +Date: Tue, 7 May 2013 17:02:57 +0200 +Subject: [PATCH] LDAPI SASL fix + +Resolves: #960222 +--- + libraries/libldap/cyrus.c | 19 ++++++++++++++++--- + 1 Datei geändert, 16 Zeilen hinzugefügt(+), 3 Zeilen entfernt(-) + +diff --git a/libraries/libldap/cyrus.c b/libraries/libldap/cyrus.c +index 28c241b..a9acf36 100644 +--- a/libraries/libldap/cyrus.c ++++ b/libraries/libldap/cyrus.c +@@ -394,6 +394,8 @@ ldap_int_sasl_bind( + struct berval ccred = BER_BVNULL; + int saslrc, rc; + unsigned credlen; ++ char my_hostname[HOST_NAME_MAX + 1]; ++ int free_saslhost = 0; + + Debug( LDAP_DEBUG_TRACE, "ldap_int_sasl_bind: %s\n", + mechs ? mechs : "", 0, 0 ); +@@ -454,14 +456,25 @@ ldap_int_sasl_bind( + + /* If we don't need to canonicalize just use the host + * from the LDAP URI. ++ * Always use the result of gethostname() for LDAPI. + */ +- if ( nocanon ) ++ if (ld->ld_defconn->lconn_server->lud_scheme != NULL && ++ strcmp("ldapi", ld->ld_defconn->lconn_server->lud_scheme) == 0) { ++ rc = gethostname(my_hostname, HOST_NAME_MAX + 1); ++ if (rc == 0) { ++ saslhost = my_hostname; ++ } else { ++ saslhost = "localhost"; ++ } ++ } else if ( nocanon ) + saslhost = ld->ld_defconn->lconn_server->lud_host; +- else ++ else { + saslhost = ldap_host_connected_to( ld->ld_defconn->lconn_sb, + "localhost" ); ++ free_saslhost = 1; ++ } + rc = ldap_int_sasl_open( ld, ld->ld_defconn, saslhost ); +- if ( !nocanon ) ++ if ( free_saslhost ) + LDAP_FREE( saslhost ); + } + +-- +1.7.11.7 + diff --git a/server/openldap/files/fedora/openldap-ldaprc-currentdir.patch b/server/openldap/files/fedora/openldap-ldaprc-currentdir.patch new file mode 100644 index 0000000000..420c1f98c5 --- /dev/null +++ b/server/openldap/files/fedora/openldap-ldaprc-currentdir.patch @@ -0,0 +1,20 @@ +Disables opening of ldaprc file in current directory. + +Resolves: #38402 +Upstream: ITS #1131 +Author: Henning Schmiedehausen + +diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c +index 8617527..e6b17b4 100644 +--- a/libraries/libldap/init.c ++++ b/libraries/libldap/init.c +@@ -352,9 +352,6 @@ static void openldap_ldap_init_w_userconf(const char *file) + if(path != NULL) { + LDAP_FREE(path); + } +- +- /* try file */ +- openldap_ldap_init_w_conf(file, 1); + } + + static void openldap_ldap_init_w_env( diff --git a/server/openldap/files/fedora/openldap-nss-certs-from-certdb-fallback-pem.patch b/server/openldap/files/fedora/openldap-nss-certs-from-certdb-fallback-pem.patch new file mode 100644 index 0000000000..d20e48aa64 --- /dev/null +++ b/server/openldap/files/fedora/openldap-nss-certs-from-certdb-fallback-pem.patch @@ -0,0 +1,86 @@ +MozNSS: load certificates from certdb, fallback to PEM + +If TLS_CACERT pointed to a PEM file and TLS_CACERTDIR was set to NSS +certificate database, the backend assumed that the certificate is always +located in the certificate database. This assumption might be wrong. + +This patch makes the library to try to load the certificate from NSS +database and fallback to PEM file if unsuccessfull. + +Author: Jan Vcelak +Upstream ITS: #7389 +Resolves: #857455 + +diff --git a/libraries/libldap/tls_m.c b/libraries/libldap/tls_m.c +index 6847bea..8339391 100644 +--- a/libraries/libldap/tls_m.c ++++ b/libraries/libldap/tls_m.c +@@ -1412,7 +1412,7 @@ tlsm_ctx_load_private_key( tlsm_ctx *ctx ) + /* prefer unlocked key, then key from opened certdb, then any other */ + if ( unlocked_key ) + ctx->tc_private_key = unlocked_key; +- else if ( ctx->tc_certdb_slot ) ++ else if ( ctx->tc_certdb_slot && !ctx->tc_using_pem ) + ctx->tc_private_key = PK11_FindKeyByDERCert( ctx->tc_certdb_slot, ctx->tc_certificate, pin_arg ); + else + ctx->tc_private_key = PK11_FindKeyByAnyCert( ctx->tc_certificate, pin_arg ); +@@ -1909,8 +1909,6 @@ tlsm_deferred_init( void *arg ) + } + return -1; + } +- +- ctx->tc_using_pem = PR_TRUE; + } + + NSS_SetDomesticPolicy(); +@@ -2363,15 +2361,9 @@ tlsm_deferred_ctx_init( void *arg ) + + /* set up our cert and key, if any */ + if ( lt->lt_certfile ) { +- /* if using the PEM module, load the PEM file specified by lt_certfile */ +- /* otherwise, assume this is the name of a cert already in the db */ +- if ( ctx->tc_using_pem ) { +- /* this sets ctx->tc_certificate to the correct value */ +- int rc = tlsm_add_cert_from_file( ctx, lt->lt_certfile, PR_FALSE ); +- if ( rc ) { +- return rc; +- } +- } else { ++ ++ /* first search in certdb (lt_certfile is nickname) */ ++ if ( ctx->tc_certdb ) { + char *tmp_certname; + + if ( tlsm_is_tokenname_certnick( lt->lt_certfile )) { +@@ -2391,8 +2383,31 @@ tlsm_deferred_ctx_init( void *arg ) + Debug( LDAP_DEBUG_ANY, + "TLS: error: the certificate '%s' could not be found in the database - error %d:%s.\n", + lt->lt_certfile, errcode, PR_ErrorToString( errcode, PR_LANGUAGE_I_DEFAULT ) ); ++ } ++ } ++ ++ /* fallback to PEM module (lt_certfile is filename) */ ++ if ( !ctx->tc_certificate ) { ++ if ( !pem_module && tlsm_init_pem_module() ) { ++ int pem_errcode = PORT_GetError(); ++ Debug( LDAP_DEBUG_ANY, ++ "TLS: fallback to PEM impossible, module cannot be loaded - error %d:%s.\n", ++ pem_errcode, PR_ErrorToString( pem_errcode, PR_LANGUAGE_I_DEFAULT ), 0 ); + return -1; + } ++ ++ /* this sets ctx->tc_certificate to the correct value */ ++ if ( !tlsm_add_cert_from_file( ctx, lt->lt_certfile, PR_FALSE ) ) { ++ ctx->tc_using_pem = PR_TRUE; ++ } ++ } ++ ++ if ( ctx->tc_certificate ) { ++ Debug( LDAP_DEBUG_ANY, ++ "TLS: certificate '%s' successfully loaded from %s.\n", lt->lt_certfile, ++ ctx->tc_using_pem ? "PEM file" : "moznss database", 0); ++ } else { ++ return -1; + } + } + diff --git a/server/openldap/files/fedora/openldap-nss-ignore-certdb-type-prefix.patch b/server/openldap/files/fedora/openldap-nss-ignore-certdb-type-prefix.patch new file mode 100644 index 0000000000..2fab916e28 --- /dev/null +++ b/server/openldap/files/fedora/openldap-nss-ignore-certdb-type-prefix.patch @@ -0,0 +1,47 @@ +MozNSS: ignore certdb database type prefix when checking existence of the directory + +If the certdb is specified including the database type prefix (e.g. +sql:, dbm:), the prefix has to be ignored when checking the +certificate directory existence. + +Author: Jan Vcelak +Upstream ITS: #7388 +Resolves: #857373 + +--- + libraries/libldap/tls_m.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/libraries/libldap/tls_m.c b/libraries/libldap/tls_m.c +index 49a3f8f..5ee21a2 100644 +--- a/libraries/libldap/tls_m.c ++++ b/libraries/libldap/tls_m.c +@@ -1633,6 +1633,7 @@ tlsm_get_certdb_prefix( const char *certdir, char **realcertdir, char **prefix ) + { + char sep = PR_GetDirectorySeparator(); + char *ptr = NULL; ++ char *chkpath = NULL; + struct PRFileInfo prfi; + PRStatus prc; + +@@ -1643,8 +1644,16 @@ tlsm_get_certdb_prefix( const char *certdir, char **realcertdir, char **prefix ) + return; + } + +- prc = PR_GetFileInfo( certdir, &prfi ); ++ /* ignore database type prefix (e.g. sql:, dbm:) if provided */ ++ chkpath = strchr( certdir, ':' ); ++ if ( chkpath != NULL ) { ++ chkpath += 1; ++ } else { ++ chkpath = certdir; ++ } ++ + /* if certdir exists (file or directory) then it cannot specify a prefix */ ++ prc = PR_GetFileInfo( chkpath, &prfi ); + if ( prc == PR_SUCCESS ) { + return; + } +-- +1.7.11.7 + diff --git a/server/openldap/files/fedora/openldap-nss-pk11-freeslot.patch b/server/openldap/files/fedora/openldap-nss-pk11-freeslot.patch new file mode 100644 index 0000000000..9ac541d22f --- /dev/null +++ b/server/openldap/files/fedora/openldap-nss-pk11-freeslot.patch @@ -0,0 +1,27 @@ +Resolves: #929357 + +From 6330d1b87a45b447f33fe8ffd6fbbce9e60bb0ec Mon Sep 17 00:00:00 2001 +From: Rich Megginson +Date: Thu, 28 Mar 2013 19:05:02 -0600 +Subject: [PATCH] must call PK11_FreeSlot after SECMOD_CloseUserDB to remove ref to slot + +--- + libraries/libldap/tls_m.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/libraries/libldap/tls_m.c b/libraries/libldap/tls_m.c +index 072d41d..c59d303 100644 +--- a/libraries/libldap/tls_m.c ++++ b/libraries/libldap/tls_m.c +@@ -2063,6 +2063,8 @@ tlsm_ctx_free ( tls_ctx *ctx ) + "TLS: could not close certdb slot - error %d:%s.\n", + errcode, PR_ErrorToString( errcode, PR_LANGUAGE_I_DEFAULT ), 0 ); + } ++ PK11_FreeSlot( c->tc_certdb_slot ); ++ c->tc_certdb_slot = NULL; + } + PL_strfree( c->tc_pin_file ); + c->tc_pin_file = NULL; +-- +1.7.1 + diff --git a/server/openldap/files/fedora/openldap-nss-regex-search-hashed-cacert-dir.patch b/server/openldap/files/fedora/openldap-nss-regex-search-hashed-cacert-dir.patch new file mode 100644 index 0000000000..03493db2b0 --- /dev/null +++ b/server/openldap/files/fedora/openldap-nss-regex-search-hashed-cacert-dir.patch @@ -0,0 +1,91 @@ +MozNSS: better file name matching for hashed CA certificate directory + +CA certificate files in OpenSSL compatible CACERTDIR were loaded if the file extension was '.0'. However the file name +should be 8 letters long certificate hash of the certificate subject name, followed by a numeric suffix which is used +to differentiate between two certificates with the same subject name. + +Wit this patch, certificate file names are matched correctly (using regular expressions). + +Author: Jan Vcelak +Upstream ITS: #7374 +Resolves: #852786 + +diff --git a/libraries/libldap/tls_m.c b/libraries/libldap/tls_m.c +index 5e49fc5..61d71d4 100644 +--- a/libraries/libldap/tls_m.c ++++ b/libraries/libldap/tls_m.c +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + + #include "ldap-int.h" + #include "ldap-tls.h" +@@ -118,9 +119,7 @@ static const PRIOMethods tlsm_PR_methods; + + #define PEM_LIBRARY "nsspem" + #define PEM_MODULE "PEM" +-/* hash files for use with cacertdir have this file name suffix */ +-#define PEM_CA_HASH_FILE_SUFFIX ".0" +-#define PEM_CA_HASH_FILE_SUFFIX_LEN 2 ++#define PEM_CA_HASH_FILE_REGEX "^[0-9a-f]{8}\\.[0-9]+$" + + static SECMODModule *pem_module; + +@@ -1541,6 +1540,7 @@ tlsm_init_ca_certs( tlsm_ctx *ctx, const char *cacertfile, const char *cacertdir + PRDir *dir; + PRDirEntry *entry; + PRStatus fistatus = PR_FAILURE; ++ regex_t hashfile_re; + + memset( &fi, 0, sizeof(fi) ); + fistatus = PR_GetFileInfo( cacertdir, &fi ); +@@ -1570,20 +1570,30 @@ tlsm_init_ca_certs( tlsm_ctx *ctx, const char *cacertfile, const char *cacertdir + goto done; + } + ++ if ( regcomp( &hashfile_re, PEM_CA_HASH_FILE_REGEX, REG_NOSUB|REG_EXTENDED ) != 0 ) { ++ Debug( LDAP_DEBUG_ANY, "TLS: cannot compile regex for CA hash files matching\n", 0, 0, 0 ); ++ goto done; ++ } ++ + do { + entry = PR_ReadDir( dir, PR_SKIP_BOTH | PR_SKIP_HIDDEN ); + if ( ( NULL != entry ) && ( NULL != entry->name ) ) { + char *fullpath = NULL; +- char *ptr; ++ int match; + +- ptr = PL_strrstr( entry->name, PEM_CA_HASH_FILE_SUFFIX ); +- if ( ( ptr == NULL ) || ( *(ptr + PEM_CA_HASH_FILE_SUFFIX_LEN) != '\0' ) ) { ++ match = regexec( &hashfile_re, entry->name, 0, NULL, 0 ); ++ if ( match == REG_NOMATCH ) { + Debug( LDAP_DEBUG_TRACE, +- "TLS: file %s does not end in [%s] - does not appear to be a CA certificate " +- "directory file with a properly hashed file name - skipping.\n", +- entry->name, PEM_CA_HASH_FILE_SUFFIX, 0 ); ++ "TLS: skipping '%s' - filename does not have expected format " ++ "(certificate hash with numeric suffix)\n", entry->name, 0, 0 ); ++ continue; ++ } else if ( match != 0 ) { ++ Debug( LDAP_DEBUG_ANY, ++ "TLS: cannot execute regex for CA hash file matching (%d).\n", ++ match, 0, 0 ); + continue; + } ++ + fullpath = PR_smprintf( "%s/%s", cacertdir, entry->name ); + if ( !tlsm_add_cert_from_file( ctx, fullpath, isca ) ) { + Debug( LDAP_DEBUG_TRACE, +@@ -1599,6 +1609,7 @@ tlsm_init_ca_certs( tlsm_ctx *ctx, const char *cacertfile, const char *cacertdir + PR_smprintf_free( fullpath ); + } + } while ( NULL != entry ); ++ regfree ( &hashfile_re ); + PR_CloseDir( dir ); + } + done: +-- +1.7.11.4 + diff --git a/server/openldap/files/fedora/openldap-nss-update-list-of-ciphers.patch b/server/openldap/files/fedora/openldap-nss-update-list-of-ciphers.patch new file mode 100644 index 0000000000..d5986c0031 --- /dev/null +++ b/server/openldap/files/fedora/openldap-nss-update-list-of-ciphers.patch @@ -0,0 +1,193 @@ +MozNSS: update list of supported cipher suites + +The updated list includes all ciphers implemented in Mozilla NSS 3.13.15 + +Author: Jan Vcelak +Upstream ITS: #7374 + +diff --git a/libraries/libldap/tls_m.c b/libraries/libldap/tls_m.c +index 1422ce2..5e49fc5 100644 +--- a/libraries/libldap/tls_m.c ++++ b/libraries/libldap/tls_m.c +@@ -211,27 +211,34 @@ typedef struct { + int num; /* The cipher id */ + int attr; /* cipher attributes: algorithms, etc */ + int version; /* protocol version valid for this cipher */ +- int bits; /* bits of strength */ +- int alg_bits; /* bits of the algorithm */ + int strength; /* LOW, MEDIUM, HIGH */ + int enabled; /* Enabled by default? */ + } cipher_properties; + + /* cipher attributes */ +-#define SSL_kRSA 0x00000001L +-#define SSL_aRSA 0x00000002L +-#define SSL_aDSS 0x00000004L +-#define SSL_DSS SSL_aDSS +-#define SSL_eNULL 0x00000008L +-#define SSL_DES 0x00000010L +-#define SSL_3DES 0x00000020L +-#define SSL_RC4 0x00000040L +-#define SSL_RC2 0x00000080L +-#define SSL_AES 0x00000100L +-#define SSL_MD5 0x00000200L +-#define SSL_SHA1 0x00000400L +-#define SSL_SHA SSL_SHA1 +-#define SSL_RSA (SSL_kRSA|SSL_aRSA) ++#define SSL_kRSA 0x00000001L ++#define SSL_aRSA 0x00000002L ++#define SSL_RSA (SSL_kRSA|SSL_aRSA) ++#define SSL_aDSA 0x00000004L ++#define SSL_DSA SSL_aDSA ++#define SSL_eNULL 0x00000008L ++#define SSL_DES 0x00000010L ++#define SSL_3DES 0x00000020L ++#define SSL_RC4 0x00000040L ++#define SSL_RC2 0x00000080L ++#define SSL_AES128 0x00000100L ++#define SSL_AES256 0x00000200L ++#define SSL_AES (SSL_AES128|SSL_AES256) ++#define SSL_MD5 0x00000400L ++#define SSL_SHA1 0x00000800L ++#define SSL_kEDH 0x00001000L ++#define SSL_CAMELLIA128 0x00002000L ++#define SSL_CAMELLIA256 0x00004000L ++#define SSL_CAMELLIA (SSL_CAMELLIA128|SSL_CAMELLIA256) ++#define SSL_SEED 0x00008000L ++#define SSL_kECDH 0x00010000L ++#define SSL_kECDHE 0x00020000L ++#define SSL_aECDSA 0x00040000L + + /* cipher strength */ + #define SSL_NULL 0x00000001L +@@ -248,29 +255,70 @@ typedef struct { + + /* Cipher translation */ + static cipher_properties ciphers_def[] = { +- /* SSL 2 ciphers */ +- {"DES-CBC3-MD5", SSL_EN_DES_192_EDE3_CBC_WITH_MD5, SSL_kRSA|SSL_aRSA|SSL_3DES|SSL_MD5, SSL2, 168, 168, SSL_HIGH, SSL_ALLOWED}, +- {"RC2-CBC-MD5", SSL_EN_RC2_128_CBC_WITH_MD5, SSL_kRSA|SSL_aRSA|SSL_RC2|SSL_MD5, SSL2, 128, 128, SSL_MEDIUM, SSL_ALLOWED}, +- {"RC4-MD5", SSL_EN_RC4_128_WITH_MD5, SSL_kRSA|SSL_aRSA|SSL_RC4|SSL_MD5, SSL2, 128, 128, SSL_MEDIUM, SSL_ALLOWED}, +- {"DES-CBC-MD5", SSL_EN_DES_64_CBC_WITH_MD5, SSL_kRSA|SSL_aRSA|SSL_DES|SSL_MD5, SSL2, 56, 56, SSL_LOW, SSL_ALLOWED}, +- {"EXP-RC2-CBC-MD5", SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5, SSL_kRSA|SSL_aRSA|SSL_RC2|SSL_MD5, SSL2, 40, 128, SSL_EXPORT40, SSL_ALLOWED}, +- {"EXP-RC4-MD5", SSL_EN_RC4_128_EXPORT40_WITH_MD5, SSL_kRSA|SSL_aRSA|SSL_RC4|SSL_MD5, SSL2, 40, 128, SSL_EXPORT40, SSL_ALLOWED}, +- +- /* SSL3 ciphers */ +- {"RC4-MD5", SSL_RSA_WITH_RC4_128_MD5, SSL_kRSA|SSL_aRSA|SSL_RC4|SSL_MD5, SSL3, 128, 128, SSL_MEDIUM, SSL_ALLOWED}, +- {"RC4-SHA", SSL_RSA_WITH_RC4_128_SHA, SSL_kRSA|SSL_aRSA|SSL_RC4|SSL_SHA1, SSL3, 128, 128, SSL_MEDIUM, SSL_ALLOWED}, +- {"DES-CBC3-SHA", SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_3DES|SSL_SHA1, SSL3, 168, 168, SSL_HIGH, SSL_ALLOWED}, +- {"DES-CBC-SHA", SSL_RSA_WITH_DES_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_DES|SSL_SHA1, SSL3, 56, 56, SSL_LOW, SSL_ALLOWED}, +- {"EXP-RC4-MD5", SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_kRSA|SSL_aRSA|SSL_RC4|SSL_MD5, SSL3, 40, 128, SSL_EXPORT40, SSL_ALLOWED}, +- {"EXP-RC2-CBC-MD5", SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5, SSL_kRSA|SSL_aRSA|SSL_RC2|SSL_MD5, SSL3, 0, 0, SSL_EXPORT40, SSL_ALLOWED}, +- {"NULL-MD5", SSL_RSA_WITH_NULL_MD5, SSL_kRSA|SSL_aRSA|SSL_eNULL|SSL_MD5, SSL3, 0, 0, SSL_NULL, SSL_NOT_ALLOWED}, +- {"NULL-SHA", SSL_RSA_WITH_NULL_SHA, SSL_kRSA|SSL_aRSA|SSL_eNULL|SSL_SHA1, SSL3, 0, 0, SSL_NULL, SSL_NOT_ALLOWED}, ++ ++ /* ++ * Use the same DEFAULT cipher list as OpenSSL, which is defined as: ALL:!aNULL:!eNULL:!SSLv2 ++ */ ++ ++ /* SSLv2 ciphers */ ++ {"DES-CBC-MD5", SSL_EN_DES_64_CBC_WITH_MD5, SSL_kRSA|SSL_aRSA|SSL_DES|SSL_MD5, SSL2, SSL_LOW, SSL_NOT_ALLOWED}, ++ {"DES-CBC3-MD5", SSL_EN_DES_192_EDE3_CBC_WITH_MD5, SSL_kRSA|SSL_aRSA|SSL_3DES|SSL_MD5, SSL2, SSL_HIGH, SSL_NOT_ALLOWED}, ++ {"RC2-CBC-MD5", SSL_EN_RC2_128_CBC_WITH_MD5, SSL_kRSA|SSL_aRSA|SSL_RC2|SSL_MD5, SSL2, SSL_MEDIUM, SSL_NOT_ALLOWED}, ++ {"RC4-MD5", SSL_EN_RC4_128_WITH_MD5, SSL_kRSA|SSL_aRSA|SSL_RC4|SSL_MD5, SSL2, SSL_MEDIUM, SSL_NOT_ALLOWED}, ++ {"EXP-RC2-CBC-MD5", SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5, SSL_kRSA|SSL_aRSA|SSL_RC2|SSL_MD5, SSL2, SSL_EXPORT40, SSL_NOT_ALLOWED}, ++ {"EXP-RC4-MD5", SSL_EN_RC4_128_EXPORT40_WITH_MD5, SSL_kRSA|SSL_aRSA|SSL_RC4|SSL_MD5, SSL2, SSL_EXPORT40, SSL_NOT_ALLOWED}, ++ ++ /* SSLv3 ciphers */ ++ {"NULL-MD5", SSL_RSA_WITH_NULL_MD5, SSL_kRSA|SSL_aRSA|SSL_eNULL|SSL_MD5, SSL3, SSL_NULL, SSL_NOT_ALLOWED}, ++ {"NULL-SHA", SSL_RSA_WITH_NULL_SHA, SSL_kRSA|SSL_aRSA|SSL_eNULL|SSL_SHA1, SSL3, SSL_NULL, SSL_NOT_ALLOWED}, ++ {"DES-CBC-SHA", SSL_RSA_WITH_DES_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_DES|SSL_SHA1, SSL3, SSL_LOW, SSL_ALLOWED}, ++ {"DES-CBC3-SHA", SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_3DES|SSL_SHA1, SSL3, SSL_HIGH, SSL_ALLOWED}, ++ {"RC4-MD5", SSL_RSA_WITH_RC4_128_MD5, SSL_kRSA|SSL_aRSA|SSL_RC4|SSL_MD5, SSL3, SSL_MEDIUM, SSL_ALLOWED}, ++ {"RC4-SHA", SSL_RSA_WITH_RC4_128_SHA, SSL_kRSA|SSL_aRSA|SSL_RC4|SSL_SHA1, SSL3, SSL_MEDIUM, SSL_ALLOWED}, ++ {"EXP-RC2-CBC-MD5", SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5, SSL_kRSA|SSL_aRSA|SSL_RC2|SSL_MD5, SSL3, SSL_EXPORT40, SSL_ALLOWED}, ++ {"EXP-RC4-MD5", SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_kRSA|SSL_aRSA|SSL_RC4|SSL_MD5, SSL3, SSL_EXPORT40, SSL_ALLOWED}, ++ {"EDH-RSA-DES-CBC-SHA", SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_kEDH|SSL_aRSA|SSL_DES|SSL_SHA1, SSL3, SSL_LOW, SSL_ALLOWED}, ++ {"EDH-RSA-DES-CBC3-SHA", SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_kEDH|SSL_aRSA|SSL_3DES|SSL_SHA1, SSL3, SSL_HIGH, SSL_ALLOWED}, ++ {"EDH-DSS-DES-CBC-SHA", SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_kEDH|SSL_aDSA|SSL_DES|SSL_SHA1, SSL3, SSL_LOW, SSL_ALLOWED}, ++ {"EDH-DSS-DES-CBC3-SHA", SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_kEDH|SSL_aDSA|SSL_3DES|SSL_SHA1, SSL3, SSL_HIGH, SSL_ALLOWED}, + + /* TLSv1 ciphers */ +- {"EXP1024-DES-CBC-SHA", TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_DES|SSL_SHA, TLS1, 56, 56, SSL_EXPORT56, SSL_ALLOWED}, +- {"EXP1024-RC4-SHA", TLS_RSA_EXPORT1024_WITH_RC4_56_SHA, SSL_kRSA|SSL_aRSA|SSL_RC4|SSL_SHA, TLS1, 56, 56, SSL_EXPORT56, SSL_ALLOWED}, +- {"AES128-SHA", TLS_RSA_WITH_AES_128_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_AES|SSL_SHA, TLS1, 128, 128, SSL_HIGH, SSL_ALLOWED}, +- {"AES256-SHA", TLS_RSA_WITH_AES_256_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_AES|SSL_SHA, TLS1, 256, 256, SSL_HIGH, SSL_ALLOWED}, ++ {"EXP1024-DES-CBC-SHA", TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_DES|SSL_SHA1, TLS1, SSL_EXPORT56, SSL_ALLOWED}, ++ {"EXP1024-RC4-SHA", TLS_RSA_EXPORT1024_WITH_RC4_56_SHA, SSL_kRSA|SSL_aRSA|SSL_RC4|SSL_SHA1, TLS1, SSL_EXPORT56, SSL_ALLOWED}, ++ {"SEED-SHA", TLS_RSA_WITH_SEED_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_SEED|SSL_SHA1, TLS1, SSL_MEDIUM, SSL_ALLOWED}, ++ {"AES128-SHA", TLS_RSA_WITH_AES_128_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_AES128|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"AES256-SHA", TLS_RSA_WITH_AES_256_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_AES256|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"CAMELLIA256-SHA", TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_CAMELLIA|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"CAMELLIA128-SHA", TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, SSL_kRSA|SSL_aRSA|SSL_CAMELLIA|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"DHE-RSA-AES128-SHA", TLS_DHE_RSA_WITH_AES_128_CBC_SHA, SSL_kEDH|SSL_aRSA|SSL_AES128|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"DHE-RSA-AES256-SHA", TLS_DHE_RSA_WITH_AES_256_CBC_SHA, SSL_kEDH|SSL_aRSA|SSL_AES256|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"DHE-RSA-CAMELLIA128-SHA", TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, SSL_kEDH|SSL_aRSA|SSL_CAMELLIA128|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"DHE-RSA-CAMELLIA256-SHA", TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, SSL_kEDH|SSL_aRSA|SSL_CAMELLIA256|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"DHE-DSS-RC4-SHA", TLS_DHE_DSS_WITH_RC4_128_SHA, SSL_kEDH|SSL_aDSA|SSL_RC4|SSL_SHA1, TLS1, SSL_MEDIUM, SSL_ALLOWED}, ++ {"DHE-DSS-AES128-SHA", TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_kEDH|SSL_aDSA|SSL_AES128|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"DHE-DSS-AES256-SHA", TLS_DHE_DSS_WITH_AES_256_CBC_SHA, SSL_kEDH|SSL_aDSA|SSL_AES256|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"DHE-DSS-CAMELLIA128-SHA", TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, SSL_kEDH|SSL_aDSA|SSL_CAMELLIA128|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"DHE-DSS-CAMELLIA256-SHA", TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, SSL_kEDH|SSL_aDSA|SSL_CAMELLIA256|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"ECDH-RSA-NULL-SHA", TLS_ECDH_RSA_WITH_NULL_SHA, SSL_kECDH|SSL_aRSA|SSL_eNULL|SSL_SHA1, TLS1, SSL_NULL, SSL_NOT_ALLOWED}, ++ {"ECDH-RSA-RC4-SHA", TLS_ECDH_RSA_WITH_RC4_128_SHA, SSL_kECDH|SSL_aRSA|SSL_RC4|SSL_SHA1, TLS1, SSL_MEDIUM, SSL_ALLOWED}, ++ {"ECDH-RSA-DES-CBC3-SHA", TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, SSL_kECDH|SSL_aRSA|SSL_3DES|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"ECDH-RSA-AES128-SHA", TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, SSL_kECDH|SSL_aRSA|SSL_AES128|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"ECDH-RSA-AES256-SHA", TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, SSL_kECDH|SSL_aRSA|SSL_AES256|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"ECDH-ECDSA-NULL-SHA", TLS_ECDH_ECDSA_WITH_NULL_SHA, SSL_kECDH|SSL_aECDSA|SSL_eNULL|SSL_SHA1, TLS1, SSL_NULL, SSL_NOT_ALLOWED}, ++ {"ECDH-ECDSA-RC4-SHA", TLS_ECDH_ECDSA_WITH_RC4_128_SHA, SSL_kECDH|SSL_aECDSA|SSL_RC4|SSL_SHA1, TLS1, SSL_MEDIUM, SSL_ALLOWED}, ++ {"ECDH-ECDSA-DES-CBC3-SHA", TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, SSL_kECDH|SSL_aECDSA|SSL_3DES|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"ECDH-ECDSA-AES128-SHA", TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, SSL_kECDH|SSL_aECDSA|SSL_AES128|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"ECDH-ECDSA-AES256-SHA", TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, SSL_kECDH|SSL_aECDSA|SSL_AES256|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"ECDHE-RSA-NULL-SHA", TLS_ECDHE_RSA_WITH_NULL_SHA, SSL_kECDHE|SSL_aRSA|SSL_eNULL|SSL_SHA1, TLS1, SSL_NULL, SSL_NOT_ALLOWED}, ++ {"ECDHE-RSA-RC4-SHA", TLS_ECDHE_RSA_WITH_RC4_128_SHA, SSL_kECDHE|SSL_aRSA|SSL_RC4|SSL_SHA1, TLS1, SSL_MEDIUM, SSL_ALLOWED}, ++ {"ECDHE-RSA-DES-CBC3-SHA", TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_kECDHE|SSL_aRSA|SSL_3DES|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"ECDHE-RSA-AES128-SHA", TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, SSL_kECDHE|SSL_aRSA|SSL_AES128|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"ECDHE-RSA-AES256-SHA", TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, SSL_kECDHE|SSL_aRSA|SSL_AES256|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"ECDHE-ECDSA-NULL-SHA", TLS_ECDHE_ECDSA_WITH_NULL_SHA, SSL_kECDHE|SSL_aECDSA|SSL_eNULL|SSL_SHA1, TLS1, SSL_NULL, SSL_NOT_ALLOWED}, ++ {"ECDHE-ECDSA-RC4-SHA", TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, SSL_kECDHE|SSL_aECDSA|SSL_RC4|SSL_SHA1, TLS1, SSL_MEDIUM, SSL_ALLOWED}, ++ {"ECDHE-ECDSA-DES-CBC3-SHA", TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, SSL_kECDHE|SSL_aECDSA|SSL_3DES|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"ECDHE-ECDSA-AES128-SHA", TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, SSL_kECDHE|SSL_aECDSA|SSL_AES128|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, ++ {"ECDHE-ECDSA-AES256-SHA", TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, SSL_kECDHE|SSL_aECDSA|SSL_AES256|SSL_SHA1, TLS1, SSL_HIGH, SSL_ALLOWED}, + }; + + #define ciphernum (sizeof(ciphers_def)/sizeof(cipher_properties)) +@@ -577,6 +625,10 @@ nss_parse_ciphers(const char *cipherstr, int cipher_list[ciphernum]) + mask |= SSL_RSA; + } else if ((!strcmp(cipher, "NULL")) || (!strcmp(cipher, "eNULL"))) { + mask |= SSL_eNULL; ++ } else if (!strcmp(cipher, "AES128")) { ++ mask |= SSL_AES128; ++ } else if (!strcmp(cipher, "AES256")) { ++ mask |= SSL_AES256; + } else if (!strcmp(cipher, "AES")) { + mask |= SSL_AES; + } else if (!strcmp(cipher, "3DES")) { +@@ -591,6 +643,24 @@ nss_parse_ciphers(const char *cipherstr, int cipher_list[ciphernum]) + mask |= SSL_MD5; + } else if ((!strcmp(cipher, "SHA")) || (!strcmp(cipher, "SHA1"))) { + mask |= SSL_SHA1; ++ } else if (!strcmp(cipher, "EDH")) { ++ mask |= SSL_kEDH; ++ } else if (!strcmp(cipher, "DSS")) { ++ mask |= SSL_aDSA; ++ } else if (!strcmp(cipher, "CAMELLIA128")) { ++ mask |= SSL_CAMELLIA128; ++ } else if (!strcmp(cipher, "CAMELLIA256")) { ++ mask |= SSL_CAMELLIA256; ++ } else if (!strcmp(cipher, "CAMELLIA")) { ++ mask |= SSL_CAMELLIA; ++ } else if (!strcmp(cipher, "SEED")) { ++ mask |= SSL_SEED; ++ } else if (!strcmp(cipher, "ECDH")) { ++ mask |= SSL_kECDH; ++ } else if (!strcmp(cipher, "ECDHE")) { ++ mask |= SSL_kECDHE; ++ } else if (!strcmp(cipher, "ECDSA")) { ++ mask |= SSL_aECDSA; + } else if (!strcmp(cipher, "SSLv2")) { + protocol |= SSL2; + } else if (!strcmp(cipher, "SSLv3")) { +-- +1.7.11.4 + diff --git a/server/openldap/files/fedora/openldap-reentrant-gethostby.patch b/server/openldap/files/fedora/openldap-reentrant-gethostby.patch new file mode 100644 index 0000000000..140b6e3381 --- /dev/null +++ b/server/openldap/files/fedora/openldap-reentrant-gethostby.patch @@ -0,0 +1,33 @@ +The non-reentrant gethostbyXXXX() functions deadlock if called recursively, for +example if libldap needs to be initialized from within gethostbyXXXX() (which +actually happens if nss_ldap is used for hostname resolution and earlier +modules can't resolve the local host name), so use the reentrant versions of +the functions, even if we're not being compiled for use in libldap_r + +Resolves: #179730 +Author: Jeffery Layton + +diff --git a/libraries/libldap/util-int.c b/libraries/libldap/util-int.c +index 373c81c..a012062 100644 +--- a/libraries/libldap/util-int.c ++++ b/libraries/libldap/util-int.c +@@ -52,8 +52,8 @@ extern int h_errno; + #ifndef LDAP_R_COMPILE + # undef HAVE_REENTRANT_FUNCTIONS + # undef HAVE_CTIME_R +-# undef HAVE_GETHOSTBYNAME_R +-# undef HAVE_GETHOSTBYADDR_R ++/* # undef HAVE_GETHOSTBYNAME_R */ ++/* # undef HAVE_GETHOSTBYADDR_R */ + + #else + # include +@@ -317,7 +317,7 @@ ldap_pvt_csnstr(char *buf, size_t len, unsigned int replica, unsigned int mod) + #define BUFSTART (1024-32) + #define BUFMAX (32*1024-32) + +-#if defined(LDAP_R_COMPILE) ++#if defined(LDAP_R_COMPILE) || defined(HAVE_GETHOSTBYNAME_R) && defined(HAVE_GETHOSTBYADDR_R) + static char *safe_realloc( char **buf, int len ); + + #if !(defined(HAVE_GETHOSTBYNAME_R) && defined(HAVE_GETHOSTBYADDR_R)) diff --git a/server/openldap/files/fedora/openldap-sql-linking.patch b/server/openldap/files/fedora/openldap-sql-linking.patch new file mode 100644 index 0000000000..c7edf8c6d1 --- /dev/null +++ b/server/openldap/files/fedora/openldap-sql-linking.patch @@ -0,0 +1,14 @@ +Removes unnecessary linking of SQL libraries into slapd. This makes openldap-servers package +independent on libodbc. (SQL backend is packaged separately in openldap-servers-sql.) + +--- openldap-2.4.24.orig/build/top.mk ++++ openldap-2.4.24/build/top.mk +@@ -201,7 +201,7 @@ SLAPD_SQL_LDFLAGS = @SLAPD_SQL_LDFLAGS@ + SLAPD_SQL_INCLUDES = @SLAPD_SQL_INCLUDES@ + SLAPD_SQL_LIBS = @SLAPD_SQL_LIBS@ + +-SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ @SLAPD_SQL_LDFLAGS@ @SLAPD_SQL_LIBS@ @SLAPD_SLP_LIBS@ @SLAPD_GMP_LIBS@ $(ICU_LIBS) ++SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ @SLAPD_SLP_LIBS@ @SLAPD_GMP_LIBS@ $(ICU_LIBS) + + # Our Defaults + CC = $(AC_CC) diff --git a/server/openldap/files/fedora/openldap-switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.patch b/server/openldap/files/fedora/openldap-switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.patch new file mode 100644 index 0000000000..ed4f2ad875 --- /dev/null +++ b/server/openldap/files/fedora/openldap-switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.patch @@ -0,0 +1,41 @@ +From: Jan-Marek Glogowski +Date: Tue, 18 May 2010 17:47:05 +0200 +Subject: [PATCH] Switch to lt_dlopenadvise() to get RTLD_GLOBAL set. + +Proof of concept for fixing http://bugs.debian.org/327585 +(patch ported from freeradius bug http://bugs.debian.org/416266) + +Resolves: #960048 +--- +--- openldap/servers/slapd/module.c.orig 2010-05-18 17:42:04.000000000 +0200 ++++ openldap/servers/slapd/module.c 2010-05-18 17:45:46.000000000 +0200 +@@ -117,6 +117,20 @@ + return -1; /* not found */ + } + ++static lt_dlhandle slapd_lt_dlopenext_global( const char *filename ) ++{ ++ lt_dlhandle handle = 0; ++ lt_dladvise advise; ++ ++ if (!lt_dladvise_init (&advise) && !lt_dladvise_ext (&advise) ++ && !lt_dladvise_global (&advise)) ++ handle = lt_dlopenadvise (filename, advise); ++ ++ lt_dladvise_destroy (&advise); ++ ++ return handle; ++} ++ + int module_load(const char* file_name, int argc, char *argv[]) + { + module_loaded_t *module; +@@ -180,7 +194,7 @@ + * to calling Debug. This is because Debug is a macro that expands + * into multiple function calls. + */ +- if ((module->lib = lt_dlopenext(file)) == NULL) { ++ if ((module->lib = slapd_lt_dlopenext_global(file)) == NULL) { + error = lt_dlerror(); + #ifdef HAVE_EBCDIC + strcpy( ebuf, error ); diff --git a/server/openldap/files/fedora/openldap-syncrepl-unset-tls-options.patch b/server/openldap/files/fedora/openldap-syncrepl-unset-tls-options.patch new file mode 100644 index 0000000000..156971ad08 --- /dev/null +++ b/server/openldap/files/fedora/openldap-syncrepl-unset-tls-options.patch @@ -0,0 +1,62 @@ +allow unsetting of tls_* syncrepl options + +Author: Patrick Monnerat +Upstream ITS: #7042 +Resolves: #734187 + +diff --git a/libraries/libldap/tls2.c b/libraries/libldap/tls2.c +index 654a4bf..10b993b 100644 +--- a/libraries/libldap/tls2.c ++++ b/libraries/libldap/tls2.c +@@ -735,27 +735,27 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg ) + return 0; + case LDAP_OPT_X_TLS_CACERTFILE: + if ( lo->ldo_tls_cacertfile ) LDAP_FREE( lo->ldo_tls_cacertfile ); +- lo->ldo_tls_cacertfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL; ++ lo->ldo_tls_cacertfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL; + return 0; + case LDAP_OPT_X_TLS_CACERTDIR: + if ( lo->ldo_tls_cacertdir ) LDAP_FREE( lo->ldo_tls_cacertdir ); +- lo->ldo_tls_cacertdir = arg ? LDAP_STRDUP( (char *) arg ) : NULL; ++ lo->ldo_tls_cacertdir = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL; + return 0; + case LDAP_OPT_X_TLS_CERTFILE: + if ( lo->ldo_tls_certfile ) LDAP_FREE( lo->ldo_tls_certfile ); +- lo->ldo_tls_certfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL; ++ lo->ldo_tls_certfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL; + return 0; + case LDAP_OPT_X_TLS_KEYFILE: + if ( lo->ldo_tls_keyfile ) LDAP_FREE( lo->ldo_tls_keyfile ); +- lo->ldo_tls_keyfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL; ++ lo->ldo_tls_keyfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL; + return 0; + case LDAP_OPT_X_TLS_DHFILE: + if ( lo->ldo_tls_dhfile ) LDAP_FREE( lo->ldo_tls_dhfile ); +- lo->ldo_tls_dhfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL; ++ lo->ldo_tls_dhfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL; + return 0; + case LDAP_OPT_X_TLS_CRLFILE: /* GnuTLS only */ + if ( lo->ldo_tls_crlfile ) LDAP_FREE( lo->ldo_tls_crlfile ); +- lo->ldo_tls_crlfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL; ++ lo->ldo_tls_crlfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL; + return 0; + case LDAP_OPT_X_TLS_REQUIRE_CERT: + if ( !arg ) return -1; +@@ -783,7 +783,7 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg ) + #endif + case LDAP_OPT_X_TLS_CIPHER_SUITE: + if ( lo->ldo_tls_ciphersuite ) LDAP_FREE( lo->ldo_tls_ciphersuite ); +- lo->ldo_tls_ciphersuite = arg ? LDAP_STRDUP( (char *) arg ) : NULL; ++ lo->ldo_tls_ciphersuite = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL; + return 0; + + case LDAP_OPT_X_TLS_PROTOCOL_MIN: +@@ -794,7 +794,7 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg ) + if ( ld != NULL ) + return -1; + if ( lo->ldo_tls_randfile ) LDAP_FREE (lo->ldo_tls_randfile ); +- lo->ldo_tls_randfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL; ++ lo->ldo_tls_randfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL; + break; + case LDAP_OPT_X_TLS_NEWCTX: + if ( !arg ) return -1; diff --git a/server/openldap/files/fedora/openldap-tls-no-reuse-of-tls_session.patch b/server/openldap/files/fedora/openldap-tls-no-reuse-of-tls_session.patch new file mode 100644 index 0000000000..5c397d1ae3 --- /dev/null +++ b/server/openldap/files/fedora/openldap-tls-no-reuse-of-tls_session.patch @@ -0,0 +1,92 @@ +TLS: do not reuse tls_session if hostname check fails + +If multiple servers are specified, the connection to the first one succeeds, and the hostname verification fails, +*tls_session is not dropped, but reused when connecting to the second server. + +This is a problem with Mozilla NSS backend because another handshake cannot be performed on the same file descriptor. +From this reason, hostname checking was moved into ldap_int_tls_connect() before connection error handling. + +Author: Jan Vcelak +Upstream ITS: #7373 +Resolves: #852476 + +diff --git a/libraries/libldap/tls2.c b/libraries/libldap/tls2.c +index 10b993b..a3cd590 100644 +--- a/libraries/libldap/tls2.c ++++ b/libraries/libldap/tls2.c +@@ -320,7 +320,7 @@ update_flags( Sockbuf *sb, tls_session * ssl, int rc ) + */ + + static int +-ldap_int_tls_connect( LDAP *ld, LDAPConn *conn ) ++ldap_int_tls_connect( LDAP *ld, LDAPConn *conn, const char *host ) + { + Sockbuf *sb = conn->lconn_sb; + int err; +@@ -365,6 +365,10 @@ ldap_int_tls_connect( LDAP *ld, LDAPConn *conn ) + errno = WSAGetLastError(); + #endif + ++ if ( err == 0 ) { ++ err = ldap_pvt_tls_check_hostname( ld, ssl, host ); ++ } ++ + if ( err < 0 ) + { + char buf[256], *msg; +@@ -495,7 +499,15 @@ ldap_pvt_tls_check_hostname( LDAP *ld, void *s, const char *name_in ) + { + tls_session *session = s; + +- return tls_imp->ti_session_chkhost( ld, session, name_in ); ++ if (ld->ld_options.ldo_tls_require_cert != LDAP_OPT_X_TLS_NEVER && ++ ld->ld_options.ldo_tls_require_cert != LDAP_OPT_X_TLS_ALLOW) { ++ ld->ld_errno = tls_imp->ti_session_chkhost( ld, session, name_in ); ++ if (ld->ld_errno != LDAP_SUCCESS) { ++ return ld->ld_errno; ++ } ++ } ++ ++ return LDAP_SUCCESS; + } + + int +@@ -857,7 +869,7 @@ ldap_int_tls_start ( LDAP *ld, LDAPConn *conn, LDAPURLDesc *srv ) + #endif /* LDAP_USE_NON_BLOCKING_TLS */ + + ld->ld_errno = LDAP_SUCCESS; +- ret = ldap_int_tls_connect( ld, conn ); ++ ret = ldap_int_tls_connect( ld, conn, host ); + + #ifdef LDAP_USE_NON_BLOCKING_TLS + while ( ret > 0 ) { /* this should only happen for non-blocking io */ +@@ -878,7 +890,7 @@ ldap_int_tls_start ( LDAP *ld, LDAPConn *conn, LDAPURLDesc *srv ) + } else { + /* ldap_int_poll called ldap_pvt_ndelay_off */ + ber_sockbuf_ctrl( ld->ld_sb, LBER_SB_OPT_SET_NONBLOCK, sb ); +- ret = ldap_int_tls_connect( ld, conn ); ++ ret = ldap_int_tls_connect( ld, conn, host ); + if ( ret > 0 ) { /* need to call tls_connect once more */ + struct timeval curr_time_tv, delta_tv; + +@@ -935,20 +947,6 @@ ldap_int_tls_start ( LDAP *ld, LDAPConn *conn, LDAPURLDesc *srv ) + return (ld->ld_errno); + } + +- ssl = ldap_pvt_tls_sb_ctx( sb ); +- assert( ssl != NULL ); +- +- /* +- * compare host with name(s) in certificate +- */ +- if (ld->ld_options.ldo_tls_require_cert != LDAP_OPT_X_TLS_NEVER && +- ld->ld_options.ldo_tls_require_cert != LDAP_OPT_X_TLS_ALLOW) { +- ld->ld_errno = ldap_pvt_tls_check_hostname( ld, ssl, host ); +- if (ld->ld_errno != LDAP_SUCCESS) { +- return ld->ld_errno; +- } +- } +- + return LDAP_SUCCESS; + } + diff --git a/server/openldap/files/fedora/openldap-userconfig-setgid.patch b/server/openldap/files/fedora/openldap-userconfig-setgid.patch new file mode 100644 index 0000000000..8b9be3014a --- /dev/null +++ b/server/openldap/files/fedora/openldap-userconfig-setgid.patch @@ -0,0 +1,92 @@ + + + +openldap.git - openldap + + + + + + +
+ + + + +
+summaryrefslogtreecommitdiffstats
+ + + +
+
+
blob: 70f0d28ecab7c4152aa414adde93e462179ba0f8 (plain) + + +
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+
Normally, skips reading of user configuration file when running with different effective UID.
+This patch adds the same behavior for GID.
+
+Author: Nalin Dahyabhai <nalin@redhat.com>
+
+diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c
+index e6b17b4..fbf4829 100644
+--- a/libraries/libldap/init.c
++++ b/libraries/libldap/init.c
+@@ -678,7 +678,7 @@ void ldap_int_initialize( struct ldapoptions *gopts, int *dbglvl )
+ 	openldap_ldap_init_w_sysconf(LDAP_CONF_FILE);
+ 
+ #ifdef HAVE_GETEUID
+-	if ( geteuid() != getuid() )
++	if ( geteuid() != getuid() || getegid() != getgid() )
+ 		return;
+ #endif
+ 
+
+
+ +
+ + diff --git a/server/openldap/files/gencert.sh b/server/openldap/files/gencert.sh new file mode 100644 index 0000000000..d8f74ff21f --- /dev/null +++ b/server/openldap/files/gencert.sh @@ -0,0 +1,111 @@ +#!/bin/sh +# Last update 20050401 - Christian Zoffoli + +VERSION="0.3" +openssl="/usr/bin/openssl" +opensslopts="" +ldapconfdir="/etc/openldap/ssl" +pemfile="${ldapconfdir}/ldap.pem" +randfile="${ldapconfdir}/ldap.rand" +cfgfile="${ldapconfdir}/ldap.cfg" + +function fixperms { + chown root:ldap ${ldapconfdir} -R + find ${ldapconfdir} -type f -exec chmod 640 \{\} \; + chmod 750 ${ldapconfdir} +} + + +if [ ! -x ${openssl} ]; then + exit 0 +fi + +if [ ! -d ${ldapconfdir} ]; then + mkdir -p ${ldapconfdir} +fi + +fixperms + +if [ -f ${pemfile} ]; then + echo "${pemfile} already exist, dying" + exit 0 +fi + + +dd if=/dev/urandom of=$randfile count=1 2>/dev/null + +echo "" +echo "______________________________________________________________________${T_ME}" +echo "" +echo "Creating self-signed certificate -- Version ${VERSION}" +echo "" +echo "______________________________________________________________________${T_ME}" +echo "" + + +COMMONNAME=`hostname` +if [ ! -n "$COMMONNAME" ]; then + COMMONNAME="www.openldap.org" +fi + + +if [ -f ${cfgfile} ]; then + echo "${cfgfile} found, would you like to use it ? (y/n)" + read answer + + case "$answer" in + y|Y) + opensslopts="-batch" + ;; + n|N) + cat >${cfgfile} <&2 + exit 1 +else + echo -e "\nCertificate creation done!" +fi + +if [ -f ${randfile} ]; then + rm -f ${randfile} +fi + +if [ -f ${pemfile} ]; then + fixperms +fi diff --git a/server/openldap/files/openldap-2.4.39-blfs_paths-1.patch b/server/openldap/files/openldap-2.4.39-blfs_paths-1.patch new file mode 100644 index 0000000000..5102904788 --- /dev/null +++ b/server/openldap/files/openldap-2.4.39-blfs_paths-1.patch @@ -0,0 +1,188 @@ +Submitted By: Armin K. +Date: 2012-04-06 +Initial Package Version: 2.4.30 +Upstream Status: BLFS Specific +Origin: Self +Description: Patch changes various installation options, such as ldap database path, + configuration file options, slapd install location, etc. + +--- openldap.orig/doc/man/man5/slapd-bdb.5 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/doc/man/man5/slapd-bdb.5 2012-04-06 00:18:54.171136608 +0200 +@@ -131,7 +131,7 @@ + associated indexes live. + A separate directory must be specified for each database. + The default is +-.BR LOCALSTATEDIR/openldap\-data . ++.BR LOCALSTATEDIR/lib/openldap . + .TP + .B dirtyread + Allow reads of modified but not yet committed data. +--- openldap.orig/doc/man/man5/slapd.conf.5 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/doc/man/man5/slapd.conf.5 2012-04-06 00:18:54.174136671 +0200 +@@ -1987,7 +1987,7 @@ + # The database directory MUST exist prior to + # running slapd AND should only be accessible + # by the slapd/tools. Mode 0700 recommended. +-directory LOCALSTATEDIR/openldap\-data ++directory LOCALSTATEDIR/lib/openldap + # Indices to maintain + index objectClass eq + index cn,sn,mail pres,eq,approx,sub +--- openldap.orig/doc/man/man5/slapd-config.5 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/doc/man/man5/slapd-config.5 2012-04-06 00:18:54.194137078 +0200 +@@ -2029,7 +2029,7 @@ + # The database directory MUST exist prior to + # running slapd AND should only be accessible + # by the slapd/tools. Mode 0700 recommended. +-olcDbDirectory: LOCALSTATEDIR/openldap\-data ++olcDbDirectory: LOCALSTATEDIR/lib/openldap + # Indices to maintain + olcDbIndex: objectClass eq + olcDbIndex: cn,sn,mail pres,eq,approx,sub +--- openldap.orig/include/ldap_defaults.h 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/include/ldap_defaults.h 2012-04-06 00:18:54.200137199 +0200 +@@ -39,7 +39,7 @@ + #define LDAP_ENV_PREFIX "LDAP" + + /* default ldapi:// socket */ +-#define LDAPI_SOCK LDAP_RUNDIR LDAP_DIRSEP "run" LDAP_DIRSEP "ldapi" ++#define LDAPI_SOCK LDAP_RUNDIR LDAP_DIRSEP "run" LDAP_DIRSEP "openldap" LDAP_DIRSEP "ldapi" + + /* + * SLAPD DEFINITIONS +@@ -47,7 +47,7 @@ + /* location of the default slapd config file */ + #define SLAPD_DEFAULT_CONFIGFILE LDAP_SYSCONFDIR LDAP_DIRSEP "slapd.conf" + #define SLAPD_DEFAULT_CONFIGDIR LDAP_SYSCONFDIR LDAP_DIRSEP "slapd.d" +-#define SLAPD_DEFAULT_DB_DIR LDAP_RUNDIR LDAP_DIRSEP "openldap-data" ++#define SLAPD_DEFAULT_DB_DIR LDAP_RUNDIR LDAP_DIRSEP "lib" LDAP_DIRSEP "openldap" + #define SLAPD_DEFAULT_DB_MODE 0600 + #define SLAPD_DEFAULT_UCDATA LDAP_DATADIR LDAP_DIRSEP "ucdata" + /* default max deref depth for aliases */ +--- openldap.orig/libraries/liblber/Makefile.in 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/libraries/liblber/Makefile.in 2012-04-06 00:18:54.204137280 +0200 +@@ -48,6 +48,6 @@ + + install-local: FORCE + -$(MKDIR) $(DESTDIR)$(libdir) +- $(LTINSTALL) $(INSTALLFLAGS) -m 644 $(LIBRARY) $(DESTDIR)$(libdir) ++ $(LTINSTALL) $(INSTALLFLAGS) -m 755 $(LIBRARY) $(DESTDIR)$(libdir) + $(LTFINISH) $(DESTDIR)$(libdir) + +--- openldap.orig/libraries/libldap/Makefile.in 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/libraries/libldap/Makefile.in 2012-04-06 00:18:54.204137280 +0200 +@@ -68,7 +68,7 @@ + + install-local: $(CFFILES) FORCE + -$(MKDIR) $(DESTDIR)$(libdir) +- $(LTINSTALL) $(INSTALLFLAGS) -m 644 $(LIBRARY) $(DESTDIR)$(libdir) ++ $(LTINSTALL) $(INSTALLFLAGS) -m 755 $(LIBRARY) $(DESTDIR)$(libdir) + $(LTFINISH) $(DESTDIR)$(libdir) + -$(MKDIR) $(DESTDIR)$(sysconfdir) + @for i in $(CFFILES); do \ +--- openldap.orig/libraries/libldap_r/Makefile.in 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/libraries/libldap_r/Makefile.in 2012-04-06 00:18:54.208137362 +0200 +@@ -83,6 +83,6 @@ + + install-local: $(CFFILES) FORCE + -$(MKDIR) $(DESTDIR)$(libdir) +- $(LTINSTALL) $(INSTALLFLAGS) -m 644 $(LIBRARY) $(DESTDIR)$(libdir) ++ $(LTINSTALL) $(INSTALLFLAGS) -m 755 $(LIBRARY) $(DESTDIR)$(libdir) + $(LTFINISH) $(DESTDIR)$(libdir) + +--- openldap.orig/servers/slapd/Makefile.in 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/servers/slapd/Makefile.in 2012-04-06 00:18:54.208137362 +0200 +@@ -370,10 +370,10 @@ + install-conf install-db-config install-schema install-tools + + install-slapd: FORCE +- -$(MKDIR) $(DESTDIR)$(libexecdir) ++ -$(MKDIR) $(DESTDIR)$(sbindir) + -$(MKDIR) $(DESTDIR)$(localstatedir)/run + $(LTINSTALL) $(INSTALLFLAGS) $(STRIP) -m 755 \ +- slapd$(EXEEXT) $(DESTDIR)$(libexecdir) ++ slapd$(EXEEXT) $(DESTDIR)$(sbindir) + @for i in $(SUBDIRS); do \ + if test -d $$i && test -f $$i/Makefile ; then \ + echo; echo " cd $$i; $(MAKE) $(MFLAGS) install"; \ +@@ -439,9 +439,9 @@ + + install-db-config: FORCE + @-$(MKDIR) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) +- @-$(INSTALL) -m 700 -d $(DESTDIR)$(localstatedir)/openldap-data ++ @-$(INSTALL) -m 700 -d $(DESTDIR)$(localstatedir)/lib/openldap + $(INSTALL) $(INSTALLFLAGS) -m 600 $(srcdir)/DB_CONFIG \ +- $(DESTDIR)$(localstatedir)/openldap-data/DB_CONFIG.example ++ $(DESTDIR)$(localstatedir)/lib/openldap/DB_CONFIG.example + $(INSTALL) $(INSTALLFLAGS) -m 600 $(srcdir)/DB_CONFIG \ + $(DESTDIR)$(sysconfdir)/DB_CONFIG.example + +@@ -449,6 +449,6 @@ + -$(MKDIR) $(DESTDIR)$(sbindir) + for i in $(SLAPTOOLS); do \ + $(RM) $(DESTDIR)$(sbindir)/$$i$(EXEEXT); \ +- $(LN_S) -f $(DESTDIR)$(libexecdir)/slapd$(EXEEXT) $(DESTDIR)$(sbindir)/$$i$(EXEEXT); \ ++ $(LN_S) -f $(DESTDIR)$(sbindir)/slapd$(EXEEXT) $(DESTDIR)$(sbindir)/$$i$(EXEEXT); \ + done + +--- openldap.orig/servers/slapd/slapd.conf 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/servers/slapd/slapd.conf 2012-04-06 00:21:12.891992222 +0200 +@@ -10,14 +10,12 @@ + # service AND an understanding of referrals. + #referral ldap://root.openldap.org + +-pidfile %LOCALSTATEDIR%/run/slapd.pid +-argsfile %LOCALSTATEDIR%/run/slapd.args ++pidfile %LOCALSTATEDIR%/run/openldap/slapd.pid ++argsfile %LOCALSTATEDIR%/run/openldap/slapd.args + + # Load dynamic backend modules: +-# modulepath %MODULEDIR% +-# moduleload back_bdb.la +-# moduleload back_hdb.la +-# moduleload back_ldap.la ++modulepath %MODULEDIR% ++moduleload back_bdb + + # Sample security restrictions + # Require integrity protection (prevent hijacking) +@@ -46,20 +44,26 @@ + # + # rootdn can always read and write EVERYTHING! + ++# Specific Backend Directives for bdb: ++backend bdb ++ + ####################################################################### + # BDB database definitions + ####################################################################### + + database bdb + suffix "dc=my-domain,dc=com" +-rootdn "cn=Manager,dc=my-domain,dc=com" ++#rootdn "cn=Manager,dc=my-domain,dc=com" ++ + # Cleartext passwords, especially for the rootdn, should + # be avoid. See slappasswd(8) and slapd.conf(5) for details. + # Use of strong authentication encouraged. +-rootpw secret ++#rootpw secret ++ + # The database directory MUST exist prior to running slapd AND + # should only be accessible by the slapd and slap tools. + # Mode 700 recommended. +-directory %LOCALSTATEDIR%/openldap-data ++directory %LOCALSTATEDIR%/lib/openldap ++ + # Indices to maintain + index objectClass eq +--- openldap.orig/servers/slapd/slapi/Makefile.in 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/servers/slapd/slapi/Makefile.in 2012-04-06 00:18:54.210137403 +0200 +@@ -46,6 +46,6 @@ + install-local: FORCE + if test "$(BUILD_MOD)" = "yes"; then \ + $(MKDIR) $(DESTDIR)$(libdir); \ +- $(LTINSTALL) $(INSTALLFLAGS) -m 644 $(LIBRARY) $(DESTDIR)$(libdir); \ ++ $(LTINSTALL) $(INSTALLFLAGS) -m 755 $(LIBRARY) $(DESTDIR)$(libdir); \ + fi + diff --git a/server/openldap/files/openldap-2.4.39-ntlm-1.patch b/server/openldap/files/openldap-2.4.39-ntlm-1.patch new file mode 100644 index 0000000000..ae981ebca5 --- /dev/null +++ b/server/openldap/files/openldap-2.4.39-ntlm-1.patch @@ -0,0 +1,219 @@ +Submitted By: Armin K. +Date: 2012-04-06 +Initial Package Version: 2.4.30 +Upstream Status: Unknown +Origin: Debian +Description: Patch from evolution-exchange (2.10.3). The ldap_ntlm_bind function is + actually called by evolution-data-server, checked at version 1.12.2. + Without this patch, the Exchange addressbook integration uses simple binds + with cleartext passwords. + +--- openldap.orig/include/ldap.h 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/include/ldap.h 2012-04-01 00:20:00.059827789 +0200 +@@ -2517,5 +2517,25 @@ + LDAPControl **ctrls, + LDAPDerefRes **drp )); + ++/* ++ * hacks for NTLM ++ */ ++#define LDAP_AUTH_NTLM_REQUEST ((ber_tag_t) 0x8aU) ++#define LDAP_AUTH_NTLM_RESPONSE ((ber_tag_t) 0x8bU) ++LDAP_F( int ) ++ldap_ntlm_bind LDAP_P(( ++ LDAP *ld, ++ LDAP_CONST char *dn, ++ ber_tag_t tag, ++ struct berval *cred, ++ LDAPControl **sctrls, ++ LDAPControl **cctrls, ++ int *msgidp )); ++LDAP_F( int ) ++ldap_parse_ntlm_bind_result LDAP_P(( ++ LDAP *ld, ++ LDAPMessage *res, ++ struct berval *challenge)); ++ + LDAP_END_DECL + #endif /* _LDAP_H */ +--- openldap.orig/libraries/libldap/Makefile.in 2012-04-01 00:18:54.233419658 +0200 ++++ openldap/libraries/libldap/Makefile.in 2012-04-01 00:20:00.060827810 +0200 +@@ -27,7 +27,7 @@ + init.c options.c print.c string.c util-int.c schema.c \ + charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \ + tls2.c tls_o.c tls_g.c tls_m.c \ +- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \ ++ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \ + assertion.c deref.c ldif.c fetch.c + + OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \ +@@ -40,7 +40,7 @@ + init.lo options.lo print.lo string.lo util-int.lo schema.lo \ + charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \ + tls2.lo tls_o.lo tls_g.lo tls_m.lo \ +- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \ ++ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \ + assertion.lo deref.lo ldif.lo fetch.lo + + LDAP_INCDIR= ../../include +--- openldap.orig/libraries/libldap/ntlm.c 1970-01-01 01:00:00.000000000 +0100 ++++ openldap/libraries/libldap/ntlm.c 2012-04-01 00:20:00.059827789 +0200 +@@ -0,0 +1,138 @@ ++/* $OpenLDAP: pkg/ldap/libraries/libldap/ntlm.c,v 1.1.4.10 2002/01/04 20:38:21 kurt Exp $ */ ++/* ++ * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved. ++ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file ++ */ ++ ++/* Mostly copied from sasl.c */ ++ ++#include "portable.h" ++ ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include "ldap-int.h" ++ ++int ++ldap_ntlm_bind( ++ LDAP *ld, ++ LDAP_CONST char *dn, ++ ber_tag_t tag, ++ struct berval *cred, ++ LDAPControl **sctrls, ++ LDAPControl **cctrls, ++ int *msgidp ) ++{ ++ BerElement *ber; ++ int rc; ++ ber_int_t id; ++ ++ Debug( LDAP_DEBUG_TRACE, "ldap_ntlm_bind\n", 0, 0, 0 ); ++ ++ assert( ld != NULL ); ++ assert( LDAP_VALID( ld ) ); ++ assert( msgidp != NULL ); ++ ++ if( msgidp == NULL ) { ++ ld->ld_errno = LDAP_PARAM_ERROR; ++ return ld->ld_errno; ++ } ++ ++ /* create a message to send */ ++ if ( (ber = ldap_alloc_ber_with_options( ld )) == NULL ) { ++ ld->ld_errno = LDAP_NO_MEMORY; ++ return ld->ld_errno; ++ } ++ ++ assert( LBER_VALID( ber ) ); ++ ++ LDAP_NEXT_MSGID( ld, id ); ++ rc = ber_printf( ber, "{it{istON}" /*}*/, ++ id, LDAP_REQ_BIND, ++ ld->ld_version, dn, tag, ++ cred ); ++ ++ /* Put Server Controls */ ++ if( ldap_int_put_controls( ld, sctrls, ber ) != LDAP_SUCCESS ) { ++ ber_free( ber, 1 ); ++ return ld->ld_errno; ++ } ++ ++ if ( ber_printf( ber, /*{*/ "N}" ) == -1 ) { ++ ld->ld_errno = LDAP_ENCODING_ERROR; ++ ber_free( ber, 1 ); ++ return ld->ld_errno; ++ } ++ ++ /* send the message */ ++ *msgidp = ldap_send_initial_request( ld, LDAP_REQ_BIND, dn, ber, id ); ++ ++ if(*msgidp < 0) ++ return ld->ld_errno; ++ ++ return LDAP_SUCCESS; ++} ++ ++int ++ldap_parse_ntlm_bind_result( ++ LDAP *ld, ++ LDAPMessage *res, ++ struct berval *challenge) ++{ ++ ber_int_t errcode; ++ ber_tag_t tag; ++ BerElement *ber; ++ ber_len_t len; ++ ++ Debug( LDAP_DEBUG_TRACE, "ldap_parse_ntlm_bind_result\n", 0, 0, 0 ); ++ ++ assert( ld != NULL ); ++ assert( LDAP_VALID( ld ) ); ++ assert( res != NULL ); ++ ++ if ( ld == NULL || res == NULL ) { ++ return LDAP_PARAM_ERROR; ++ } ++ ++ if( res->lm_msgtype != LDAP_RES_BIND ) { ++ ld->ld_errno = LDAP_PARAM_ERROR; ++ return ld->ld_errno; ++ } ++ ++ if ( ld->ld_error ) { ++ LDAP_FREE( ld->ld_error ); ++ ld->ld_error = NULL; ++ } ++ if ( ld->ld_matched ) { ++ LDAP_FREE( ld->ld_matched ); ++ ld->ld_matched = NULL; ++ } ++ ++ /* parse results */ ++ ++ ber = ber_dup( res->lm_ber ); ++ ++ if( ber == NULL ) { ++ ld->ld_errno = LDAP_NO_MEMORY; ++ return ld->ld_errno; ++ } ++ ++ tag = ber_scanf( ber, "{ioa" /*}*/, ++ &errcode, challenge, &ld->ld_error ); ++ ber_free( ber, 0 ); ++ ++ if( tag == LBER_ERROR ) { ++ ld->ld_errno = LDAP_DECODING_ERROR; ++ return ld->ld_errno; ++ } ++ ++ ld->ld_errno = errcode; ++ ++ return( ld->ld_errno ); ++} ++ +--- openldap.orig/libraries/libldap_r/Makefile.in 2012-04-01 00:18:54.234419703 +0200 ++++ openldap/libraries/libldap_r/Makefile.in 2012-04-01 00:20:00.060827810 +0200 +@@ -29,7 +29,7 @@ + init.c options.c print.c string.c util-int.c schema.c \ + charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \ + tls2.c tls_o.c tls_g.c tls_m.c \ +- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \ ++ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \ + assertion.c deref.c ldif.c fetch.c + SRCS = threads.c rdwr.c rmutex.c tpool.c rq.c \ + thr_posix.c thr_cthreads.c thr_thr.c thr_nt.c \ +@@ -47,7 +47,7 @@ + init.lo options.lo print.lo string.lo util-int.lo schema.lo \ + charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \ + tls2.lo tls_o.lo tls_g.lo tls_m.lo \ +- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \ ++ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \ + assertion.lo deref.lo ldif.lo fetch.lo + + LDAP_INCDIR= ../../include diff --git a/server/openldap/files/openldap-2.4.39-symbol_versions-1.patch b/server/openldap/files/openldap-2.4.39-symbol_versions-1.patch new file mode 100644 index 0000000000..f393f01b1d --- /dev/null +++ b/server/openldap/files/openldap-2.4.39-symbol_versions-1.patch @@ -0,0 +1,160 @@ +Submitted By: Armin K. +Date: 2012-04-06 +Initial Package Version: 2.4.30 +Upstream Status: Unknown +Origin: Debian +Description: This patch enables symbol versioning in ldap libraries. Without this + patch some applications might generate a warning about missing symbol + versions. + +--- openldap.orig/build/openldap.m4 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/build/openldap.m4 2012-04-01 17:29:50.973881411 +0200 +@@ -1136,3 +1136,54 @@ + #endif + ], [ol_cv_ssl_crl_compat=yes], [ol_cv_ssl_crl_compat=no])]) + ]) ++ ++dnl ==================================================================== ++dnl check for symbol versioning support ++AC_DEFUN([OL_SYMBOL_VERSIONING], ++[AC_CACHE_CHECK([for .symver assembler directive], ++ [ol_cv_asm_symver_directive],[ ++cat > conftest.s <&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then ++ ol_cv_asm_symver_directive=yes ++else ++ ol_cv_asm_symver_directive=no ++fi ++rm -f conftest*]) ++AC_CACHE_CHECK([for ld --version-script], ++ [ol_cv_ld_version_script_option],[ ++if test $ol_cv_asm_symver_directive = yes; then ++ cat > conftest.s < conftest.map <&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then ++ if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared ++ -o conftest.so conftest.o ++ -Wl,--version-script,conftest.map ++ 1>&AS_MESSAGE_LOG_FD]); ++ then ++ ol_cv_ld_version_script_option=yes ++ else ++ ol_cv_ld_version_script_option=no ++ fi ++ else ++ ol_cv_ld_version_script_option=no ++ fi ++else ++ ol_cv_ld_version_script_option=no ++fi ++rm -f conftest*])]) +--- openldap.orig/build/top.mk 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/build/top.mk 2012-04-01 17:29:50.972881390 +0200 +@@ -104,6 +104,9 @@ + # LINK_LIBS referenced in library and module link commands. + LINK_LIBS = $(MOD_LIBS) $(@PLAT@_LINK_LIBS) + ++# option to pass to $(CC) to support library symbol versioning, if any ++VERSION_OPTION = @VERSION_OPTION@ ++ + LTSTATIC = @LTSTATIC@ + + LTLINK = $(LIBTOOL) --mode=link \ +@@ -113,7 +116,7 @@ + $(CC) $(LT_CFLAGS) $(LT_CPPFLAGS) $(LIB_DEFS) -c + + LTLINK_LIB = $(LIBTOOL) $(LTONLY_LIB) --mode=link \ +- $(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_LIB) ++ $(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_LIB) $(VERSION_FLAGS) + + LTCOMPILE_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=compile \ + $(CC) $(LT_CFLAGS) $(LT_CPPFLAGS) $(MOD_DEFS) -c +--- openldap.orig/configure.in 2012-02-29 18:37:09.000000000 +0100 ++++ openldap/configure.in 2012-04-01 17:29:50.981881580 +0200 +@@ -1907,6 +1907,13 @@ + fi + AC_SUBST(LTSTATIC)dnl + ++VERSION_OPTION="" ++OL_SYMBOL_VERSIONING ++if test $ol_cv_ld_version_script_option = yes ; then ++ VERSION_OPTION="-Wl,--version-script=" ++fi ++AC_SUBST(VERSION_OPTION) ++ + dnl ---------------------------------------------------------------- + if test $ol_enable_wrappers != no ; then + AC_CHECK_HEADERS(tcpd.h,[ +--- openldap.orig/libraries/liblber/liblber.map 1970-01-01 01:00:00.000000000 +0100 ++++ openldap/libraries/liblber/liblber.map 2012-04-01 17:29:50.983881622 +0200 +@@ -0,0 +1,8 @@ ++OPENLDAP_2.4_2 { ++ global: ++ ber_*; ++ der_alloc; ++ lutil_*; ++ local: ++ *; ++}; +--- openldap.orig/libraries/liblber/Makefile.in 2012-04-01 17:27:12.042526978 +0200 ++++ openldap/libraries/liblber/Makefile.in 2012-04-01 17:29:50.982881601 +0200 +@@ -38,6 +38,9 @@ + XXLIBS = + NT_LINK_LIBS = $(AC_LIBS) + UNIX_LINK_LIBS = $(AC_LIBS) ++ifneq (,$(VERSION_OPTION)) ++ VERSION_FLAGS = "$(VERSION_OPTION)$(srcdir)/liblber.map" ++endif + + dtest: $(XLIBS) dtest.o + $(LTLINK) -o $@ dtest.o $(LIBS) +--- openldap.orig/libraries/libldap/libldap.map 1970-01-01 01:00:00.000000000 +0100 ++++ openldap/libraries/libldap/libldap.map 2012-04-01 17:29:50.981881580 +0200 +@@ -0,0 +1,7 @@ ++OPENLDAP_2.4_2 { ++ global: ++ ldap_*; ++ ldif_*; ++ local: ++ *; ++}; +--- openldap.orig/libraries/libldap/Makefile.in 2012-04-01 17:27:12.043527000 +0200 ++++ openldap/libraries/libldap/Makefile.in 2012-04-01 17:29:50.982881601 +0200 +@@ -52,6 +52,9 @@ + XXLIBS = $(SECURITY_LIBS) $(LUTIL_LIBS) + NT_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS) + UNIX_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS) ++ifneq (,$(VERSION_OPTION)) ++ VERSION_FLAGS = $(VERSION_OPTION)$(srcdir)/libldap.map ++endif + + apitest: $(XLIBS) apitest.o + $(LTLINK) -o $@ apitest.o $(LIBS) +--- openldap.orig/libraries/libldap_r/Makefile.in 2012-04-01 17:27:12.043527000 +0200 ++++ openldap/libraries/libldap_r/Makefile.in 2012-04-01 17:29:50.971881369 +0200 +@@ -61,6 +61,9 @@ + XXXLIBS = $(LTHREAD_LIBS) + NT_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS) + UNIX_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS) $(LTHREAD_LIBS) ++ifneq (,$(VERSION_OPTION)) ++ VERSION_FLAGS = "$(VERSION_OPTION)$(XXDIR)/libldap.map" ++endif + + .links : Makefile + @for i in $(XXSRCS); do \ diff --git a/server/openldap/files/slapd.conf b/server/openldap/files/slapd.conf new file mode 100644 index 0000000000..94cc57adc6 --- /dev/null +++ b/server/openldap/files/slapd.conf @@ -0,0 +1,9 @@ +# conf.d file for openldap +# +# To enable both the standard unciphered server and the ssl encrypted +# one uncomment this line or set any other server starting options +# you may desire. +# +# OPTS="-h 'ldaps:// ldap:// ldapi://%2frun%2fopenldap%2fslapd.sock'" +# Uncomment the below to use the new slapd configuration for openldap 2.3 +OPTS="-h 'ldaps:// ldap:// ldapi://%2frun%2fopenldap%2fslapd.sock'" diff --git a/server/openldap/files/tmpfiles.conf b/server/openldap/files/tmpfiles.conf new file mode 100644 index 0000000000..cdcb10d03a --- /dev/null +++ b/server/openldap/files/tmpfiles.conf @@ -0,0 +1 @@ +d /run/openldap 0755 ldap ldap - - \ No newline at end of file diff --git a/server/openldap/pspec.xml b/server/openldap/pspec.xml new file mode 100644 index 0000000000..61d95fde56 --- /dev/null +++ b/server/openldap/pspec.xml @@ -0,0 +1,166 @@ + + + + + openldap + http://www.openldap.org + + PisiLinux Community + admins@pisilinux.org + + OPENLDAP + Open-source suite of LDAP applications and development tools + OpenLDAP is an open-source suite of LDAP (Lightweight Directory Access Protocol) applications and development tools + ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.41.tgz + + nss-devel + db-devel + tcp-wrappers-devel + + libtool-ltdl + + + openldap-2.4.39-blfs_paths-1.patch + openldap-2.4.39-symbol_versions-1.patch + openldap-2.4.39-ntlm-1.patch + fedora/openldap-sql-linking.patch + fedora/openldap-reentrant-gethostby.patch + fedora/openldap-ldaprc-currentdir.patch + fedora/openldap-userconfig-setgid.patch + + fedora/openldap-syncrepl-unset-tls-options.patch + fedora/openldap-nss-update-list-of-ciphers.patch + fedora/openldap-tls-no-reuse-of-tls_session.patch + fedora/openldap-nss-regex-search-hashed-cacert-dir.patch + fedora/openldap-nss-ignore-certdb-type-prefix.patch + fedora/openldap-nss-certs-from-certdb-fallback-pem.patch + fedora/openldap-nss-pk11-freeslot.patch + fedora/openldap-switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.patch + fedora/openldap-ldapi-sasl.patch + fedora/openldap-autoconf-pkgconfig-nss.patch + + + + + openldap-client + library + app:console + Command-line ldap client commands (ldapsearch, ldapadd etc..) + + nss + + + + /etc/openldap/ldap.conf* + /usr/include + /usr/bin + /usr/lib + /usr/share/man/man1 + /usr/share/man/man5/ldap.conf.5 + + + + + openldap-server + service + OpenLDAP server slapd and releated tools + OpenLDAP server slapd, additional backends, configuration files, schema definitions required for operation, and database maintenance tools + + nss + cyrus-sasl + openldap-client + + + /etc/conf.d + /etc/openldap + /usr/lib/tmpfiles.d/openldap-server.conf + /usr/sbin + /usr/libexec + /usr/share/man/man3 + /usr/share/man/man5 + /usr/share/man/man8 + /usr/share/doc + /var/lib + /run/openldap + + + tmpfiles.conf + slapd.conf + gencert.sh + + + System.Package + System.Service + + + + + openldap-32bit + emul32 + 32-bit shared libraries for openldap + emul32 + + openssl-32bit + libtool-ltdl-32bit + + + openssl-32bit + openldap-client + + + /usr/lib32 + + + + + + 2015-07-01 + 2.4.41 + Release bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-05-17 + 2.4.39 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-03 + 2.4.39 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-01-09 + 2.4.38 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-08-20 + 2.4.33 + ignore cyrus + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2012-09-19 + 2.4.33 + First release + PisiLinux Community + admins@pisilinux.org + + + 2012-09-19 + 2.4.32 + First release + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + diff --git a/server/openldap/translations.xml b/server/openldap/translations.xml new file mode 100644 index 0000000000..c95463a4ee --- /dev/null +++ b/server/openldap/translations.xml @@ -0,0 +1,13 @@ + + + + openldap + LDAP uygulamaları ve geliştirme araçları + LDAP hizmeti için gereken uygulamalar ve geliştirme araçlarını içerir + + + + openldap-32bit + openldap için 32-bit paylaşımlı kitaplıklar + + diff --git a/util/crypt/nss/pspec.xml b/util/crypt/nss/pspec.xml index c76c168577..d6d9937737 100644 --- a/util/crypt/nss/pspec.xml +++ b/util/crypt/nss/pspec.xml @@ -24,6 +24,8 @@ nspr-devel + sqlite-devel + zlib-devel nss-3.18.1-standalone-1.patch From 2a17d9368d3beefa6acf2aa2c92cb9f0cea008d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 16:34:31 +0300 Subject: [PATCH 139/152] cyrus-sasl cause circle dep --- server/openldap/actions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/openldap/actions.py b/server/openldap/actions.py index 3623aae981..de83f14301 100644 --- a/server/openldap/actions.py +++ b/server/openldap/actions.py @@ -51,7 +51,7 @@ def setup(): --enable-proctitle \ --enable-overlays=mod \ --with-pic \ - --with-cyrus-sasl \ + --without-cyrus-sasl \ --with-threads \ --without-fetch \ --enable-crypt \ From 5bae0bd55d7ad6d9d9e8431ebf9772a0f48dec09 Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 15:47:55 +0200 Subject: [PATCH 140/152] plasma-desktop version bump and check --- desktop/kde/plasma/plasma-desktop/actions.py | 19 +++ desktop/kde/plasma/plasma-desktop/pspec.xml | 132 +++++++++++++++++++ 2 files changed, 151 insertions(+) create mode 100644 desktop/kde/plasma/plasma-desktop/actions.py create mode 100755 desktop/kde/plasma/plasma-desktop/pspec.xml diff --git a/desktop/kde/plasma/plasma-desktop/actions.py b/desktop/kde/plasma/plasma-desktop/actions.py new file mode 100644 index 0000000000..05ee11b37a --- /dev/null +++ b/desktop/kde/plasma/plasma-desktop/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("HACKING", "COPYING") diff --git a/desktop/kde/plasma/plasma-desktop/pspec.xml b/desktop/kde/plasma/plasma-desktop/pspec.xml new file mode 100755 index 0000000000..84c7561591 --- /dev/null +++ b/desktop/kde/plasma/plasma-desktop/pspec.xml @@ -0,0 +1,132 @@ + + + + + plasma-desktop + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 plasma workspace + This package contains the basic packages for a Plasma workspace. + http://download.kde.org/stable/plasma/5.3.2/plasma-desktop-5.3.2.tar.xz + + qt5-base-devel + boost-devel + kdoctools-devel + kio-devel + libX11-devel + libgcc + libxcb-devel + freetype-devel + libusb-compat-devel + xorg-server-devel + xorg-input-evdev-devel + xorg-input-synaptics-devel + extra-cmake-modules + + + + + plasma-desktop + + qt5-base + kio + libX11 + libgcc + libxcb + freetype + libusb-compat + kf5-baloo + libxkbfile + kconfigwidgets + kwindowsystem + kpeople + knotifications + kwin + kwindowsystem + knotifyconfig + libcanberra + sonnet + powerdevil + system-settings + libXi+ + libXft + qt5-svg + libXfixes + fontconfig + kauth + ki18n + solid + libXcursor + qt5-phonon + kparts + kcodecs + kconfig + krunner + kwallet + kxmlgui + karchive + kcmutils + kservice + qt5-x11extras + knewstuff + xcb-util-image + kbookmarks + kemoticons + kguiaddons + kitemviews + pulseaudio-libs + qt5-declarative + kf5-kactivities + kcompletion + kcoreaddons + kdbusaddons + kiconthemes + kjobwidgets + kdeclarative + kglobalaccel + kwidgetsaddons + kdelibs4-support + plasma-framework + plasma-workspace + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kcm-touchpad-frameworks + + + kcm-touchpad-frameworks, kdebase-workspace + + + + + + 2015-07-02 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-29 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 9c0c5416188d90678b8add1595d8ff9b3a4f56c7 Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 15:53:54 +0200 Subject: [PATCH 141/152] kwrited version bump and check --- desktop/kde/plasma/kwrited/actions.py | 19 +++++++ desktop/kde/plasma/kwrited/pspec.xml | 71 +++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 desktop/kde/plasma/kwrited/actions.py create mode 100755 desktop/kde/plasma/kwrited/pspec.xml diff --git a/desktop/kde/plasma/kwrited/actions.py b/desktop/kde/plasma/kwrited/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/plasma/kwrited/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/kwrited/pspec.xml b/desktop/kde/plasma/kwrited/pspec.xml new file mode 100755 index 0000000000..741843fbaf --- /dev/null +++ b/desktop/kde/plasma/kwrited/pspec.xml @@ -0,0 +1,71 @@ + + + + + kwrited + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 daemon listening for wall and write messages + KDE5 daemon listening for wall and write messages + http://download.kde.org/stable/plasma/5.3.2/kwrited-5.3.2.tar.xz + + qt5-base-devel + ki18n-devel + kdoctools-devel + kcoreaddons-devel + knotifications-devel + kpty-devel + libgcc + kdelibs4-support-devel + kdbusaddons-devel + extra-cmake-modules + + + + + kwrited + + qt5-base + kpty + libgcc + kcoreaddons + knotifications + kdbusaddons + + + /usr/share + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + + 2015-07-03 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-14 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 0d284c018a990ad86b05da15e3d13aa916803680 Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 16:04:58 +0200 Subject: [PATCH 142/152] khotkeys version bump and check --- desktop/kde/plasma/khotkeys/actions.py | 19 +++++ desktop/kde/plasma/khotkeys/pspec.xml | 104 +++++++++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 desktop/kde/plasma/khotkeys/actions.py create mode 100755 desktop/kde/plasma/khotkeys/pspec.xml diff --git a/desktop/kde/plasma/khotkeys/actions.py b/desktop/kde/plasma/khotkeys/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/plasma/khotkeys/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/khotkeys/pspec.xml b/desktop/kde/plasma/khotkeys/pspec.xml new file mode 100755 index 0000000000..f0a7f1adf1 --- /dev/null +++ b/desktop/kde/plasma/khotkeys/pspec.xml @@ -0,0 +1,104 @@ + + + + + khotkeys + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 hotkey daemon + KDE hotkey daemon module allows you to configure custom keyboard shortcuts and mouse gestures. + http://download.kde.org/stable/plasma/5.3.2/khotkeys-5.3.2.tar.xz + + qt5-base-devel + python3 + kdoctools-devel + libgcc + libX11-devel + kconfig-devel + kservice-devel + qt5-x11extras-devel + kcompletion-devel + kcoreaddons-devel + ktextwidgets-devel + kwindowsystem-devel + kconfigwidgets-devel + kwidgetsaddons-devel + kcmutils-devel + kdbusaddons-devel + kdelibs4-support-devel + kglobalaccel-devel + ki18n-devel + kio-devel + kxmlgui-devel + plasma-framework-devel + plasma-workspace-devel + libgcc + extra-cmake-modules + + + + + khotkeys + + qt5-base + kconfig + libgcc + libX11 + kservice + qt5-x11extras + kcompletion + kcoreaddons + ktextwidgets + kwindowsystem + kconfigwidgets + kwidgetsaddons + kcmutils + kdbusaddons + kdelibs4-support + kglobalaccel + ki18n + kio + kxmlgui + plasma-framework + plasma-workspace + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + + 2015-07-02 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-15 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 48e3c65f5b5eb7c9d01ddccf725e575313fee2d0 Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 16:07:17 +0200 Subject: [PATCH 143/152] plasma-desktop remove unused dependency --- desktop/kde/plasma/plasma-desktop/pspec.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/desktop/kde/plasma/plasma-desktop/pspec.xml b/desktop/kde/plasma/plasma-desktop/pspec.xml index 84c7561591..47cebdb11d 100755 --- a/desktop/kde/plasma/plasma-desktop/pspec.xml +++ b/desktop/kde/plasma/plasma-desktop/pspec.xml @@ -82,7 +82,7 @@ kitemviews pulseaudio-libs qt5-declarative - kf5-kactivities + kactivities kcompletion kcoreaddons kdbusaddons From 17f929152327c0a546aa10fcaa6941ed9a6d9147 Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 16:13:53 +0200 Subject: [PATCH 144/152] milou version bump and check --- desktop/kde/plasma/milou/actions.py | 18 ++++++++ desktop/kde/plasma/milou/pspec.xml | 71 +++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 desktop/kde/plasma/milou/actions.py create mode 100755 desktop/kde/plasma/milou/pspec.xml diff --git a/desktop/kde/plasma/milou/actions.py b/desktop/kde/plasma/milou/actions.py new file mode 100644 index 0000000000..ccb7abe2b6 --- /dev/null +++ b/desktop/kde/plasma/milou/actions.py @@ -0,0 +1,18 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + diff --git a/desktop/kde/plasma/milou/pspec.xml b/desktop/kde/plasma/milou/pspec.xml new file mode 100755 index 0000000000..decce922d7 --- /dev/null +++ b/desktop/kde/plasma/milou/pspec.xml @@ -0,0 +1,71 @@ + + + + + milou + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDedicated search application built on top of Baloo + Dedicated search application built on top of Baloo + http://download.kde.org/stable/plasma/5.3.2/milou-5.3.2.tar.xz + + qt5-base-devel + qt5-declarative + python3 + libgcc + kdoctools-devel + kdeclarative-devel + ki18n-devel + krunner-devel + plasma-framework-devel + kconfig-devel + kservice-devel + kcoreaddons-devel + extra-cmake-modules + + + + + milou + + qt5-base + qt5-declarative + krunner + libgcc + kconfig + kservice + kcoreaddons + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + + 2015-07-03 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-12 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From ec1c0fd2cdda3a60de43065bf5ebd4035af764fb Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 16:40:57 +0200 Subject: [PATCH 145/152] oxygen-themes version bump and check --- desktop/kde/plasma/oxygen-themes/actions.py | 19 +++++ desktop/kde/plasma/oxygen-themes/pspec.xml | 84 +++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 desktop/kde/plasma/oxygen-themes/actions.py create mode 100755 desktop/kde/plasma/oxygen-themes/pspec.xml diff --git a/desktop/kde/plasma/oxygen-themes/actions.py b/desktop/kde/plasma/oxygen-themes/actions.py new file mode 100644 index 0000000000..56638b7e32 --- /dev/null +++ b/desktop/kde/plasma/oxygen-themes/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/oxygen-themes/pspec.xml b/desktop/kde/plasma/oxygen-themes/pspec.xml new file mode 100755 index 0000000000..66f7a7278f --- /dev/null +++ b/desktop/kde/plasma/oxygen-themes/pspec.xml @@ -0,0 +1,84 @@ + + + + + oxygen-themes + http://www.kde.org + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + library + app:console + KDE5 Oxygen themes + KDE5 Oxygen themes + http://download.kde.org/stable/plasma/5.3.2/oxygen-5.3.2.tar.xz + + qt5-base-devel + python3 + kdoctools-devel + libgcc + libxcb-devel + kdecorations-devel + frameworkintegration-devel + automoc4 + gettext + extra-cmake-modules + + + + + oxygen-themes + + qt5-base + python3 + ki18n + kconfig + libgcc + libxcb + kdecorations + qt5-x11extras + kguiaddons + kcompletion + kcoreaddons + kwindowsystem + kconfigwidgets + kwidgetsaddons + frameworkintegration + + + + /usr/share + /usr/share/locale + /usr/share/icons + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + + 2015-07-03 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-11 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 12c3d3fd53b22f3bd99645b1d5da4576f956dc70 Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 17:04:00 +0200 Subject: [PATCH 146/152] plasma-sdk version bump and check --- desktop/kde/plasma/plasma-sdk/actions.py | 19 ++++++ desktop/kde/plasma/plasma-sdk/pspec.xml | 81 ++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 desktop/kde/plasma/plasma-sdk/actions.py create mode 100755 desktop/kde/plasma/plasma-sdk/pspec.xml diff --git a/desktop/kde/plasma/plasma-sdk/actions.py b/desktop/kde/plasma/plasma-sdk/actions.py new file mode 100644 index 0000000000..ce3ebf2e23 --- /dev/null +++ b/desktop/kde/plasma/plasma-sdk/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING", "COPYING.LIB") diff --git a/desktop/kde/plasma/plasma-sdk/pspec.xml b/desktop/kde/plasma/plasma-sdk/pspec.xml new file mode 100755 index 0000000000..c2f4b229ae --- /dev/null +++ b/desktop/kde/plasma/plasma-sdk/pspec.xml @@ -0,0 +1,81 @@ + + + + + plasma-sdk + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + app:gui + Applications useful for Plasma development + Applications useful for Plasma development + http://download.kde.org/stable/plasma/5.3.2/plasma-sdk-5.3.2.tar.xz + + qt5-base-devel + qt5-webkit-devel + libgcc + extra-cmake-modules + + + + + + + plasma-sdk + + qt5-base + ktexteditor + plasma-framework + kio + libgcc + ki18n + kconfig + karchive + kpackage + kservice + qt5-declarative + kcompletion + kcoreaddons + kiconthemes + kdeclarative + kconfigwidgets + kwidgetsaddons + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + + 2015-07-03 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-14 + 5.3.1 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From d0c982ef00cb54d8ab4e4c6b22970041b8bde149 Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 17:14:52 +0200 Subject: [PATCH 147/152] plasma-mediacenter version bump and check --- .../kde/plasma/plasma-mediacenter/actions.py | 19 +++++ .../kde/plasma/plasma-mediacenter/pspec.xml | 69 +++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 desktop/kde/plasma/plasma-mediacenter/actions.py create mode 100755 desktop/kde/plasma/plasma-mediacenter/pspec.xml diff --git a/desktop/kde/plasma/plasma-mediacenter/actions.py b/desktop/kde/plasma/plasma-mediacenter/actions.py new file mode 100644 index 0000000000..81e02e04ae --- /dev/null +++ b/desktop/kde/plasma/plasma-mediacenter/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("COPYING", "COPYING.LIB", "LICENSE", "README", "ChangeLog") diff --git a/desktop/kde/plasma/plasma-mediacenter/pspec.xml b/desktop/kde/plasma/plasma-mediacenter/pspec.xml new file mode 100755 index 0000000000..8ae271ff15 --- /dev/null +++ b/desktop/kde/plasma/plasma-mediacenter/pspec.xml @@ -0,0 +1,69 @@ + + + + + plasma-mediacenter + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + GPLv2 + library + A mediacenter user interface based on KDE Plasma components + A mediacenter user interface based on KDE Plasma components + http://download.kde.org/stable/plasma/5.3.2/plasma-mediacenter-5.3.2.tar.xz + + qt5-base-devel + qt5-multimedia-devel + libgcc + kf5-kfilemetadata-devel + kf5-baloo-devel + extra-cmake-modules + + + + + plasma-mediacenter + + qt5-base + kf5-baloo + kf5-kfilemetadata + libgcc + kfilemetadata + kcoreaddons + qt5-declarative + kguiaddons + kservice + kconfig + ki18n + kio + taglib + + + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + + + + 2015-07-03 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-18 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From 99f75b5e5df3c344b8f19bf84e86a8990f23c166 Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 17:38:33 +0200 Subject: [PATCH 148/152] sddm rebuild and check --- desktop/kde/plasma/sddm/actions.py | 23 + desktop/kde/plasma/sddm/comar/package.py | 46 ++ desktop/kde/plasma/sddm/comar/service.py | 31 + desktop/kde/plasma/sddm/files/sddm | 18 + .../sddm/files/sddm-0.10.0-upower.patch | 12 + .../sddm/files/sddm-0.11.0-consolekit.patch | 13 + desktop/kde/plasma/sddm/files/sddm-autologin | 16 + desktop/kde/plasma/sddm/files/sddm-greeter | 11 + desktop/kde/plasma/sddm/files/sddm.conf | 84 ++ .../kde/plasma/sddm/files/sddm_upstream.patch | 746 ++++++++++++++++++ desktop/kde/plasma/sddm/files/sddm_y | 10 + desktop/kde/plasma/sddm/files/sddm_yedek | 18 + desktop/kde/plasma/sddm/pspec.xml | 78 ++ 13 files changed, 1106 insertions(+) create mode 100644 desktop/kde/plasma/sddm/actions.py create mode 100644 desktop/kde/plasma/sddm/comar/package.py create mode 100644 desktop/kde/plasma/sddm/comar/service.py create mode 100644 desktop/kde/plasma/sddm/files/sddm create mode 100644 desktop/kde/plasma/sddm/files/sddm-0.10.0-upower.patch create mode 100644 desktop/kde/plasma/sddm/files/sddm-0.11.0-consolekit.patch create mode 100644 desktop/kde/plasma/sddm/files/sddm-autologin create mode 100644 desktop/kde/plasma/sddm/files/sddm-greeter create mode 100644 desktop/kde/plasma/sddm/files/sddm.conf create mode 100644 desktop/kde/plasma/sddm/files/sddm_upstream.patch create mode 100644 desktop/kde/plasma/sddm/files/sddm_y create mode 100644 desktop/kde/plasma/sddm/files/sddm_yedek create mode 100755 desktop/kde/plasma/sddm/pspec.xml diff --git a/desktop/kde/plasma/sddm/actions.py b/desktop/kde/plasma/sddm/actions.py new file mode 100644 index 0000000000..7bb0bc98f8 --- /dev/null +++ b/desktop/kde/plasma/sddm/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import cmaketools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +def setup(): + cmaketools.configure("-DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib/sddm \ + -DBUILD_MAN_PAGES=ON") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("COPYING") diff --git a/desktop/kde/plasma/sddm/comar/package.py b/desktop/kde/plasma/sddm/comar/package.py new file mode 100644 index 0000000000..152cbe045e --- /dev/null +++ b/desktop/kde/plasma/sddm/comar/package.py @@ -0,0 +1,46 @@ +#!/usr/bin/python + +import os, re +import shutil + +OUR_ID = 65 +OUR_NAME = "sddm" +OUR_DESC = "sddm" + +DATADIR = "/var/lib/sddm" +DATADIRMODE = 0755 + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + + # On first install... + if not os.path.exists(DATADIR): + os.makedirs(DATADIR, DATADIRMODE) + + try: + os.system ("groupadd -g %d %s" % (OUR_ID, OUR_NAME)) + os.system ("useradd -m -d /var/lib/sddm -r -s /bin/false -u %d -g %d %s -c %s" % (OUR_ID, OUR_ID, OUR_NAME, OUR_DESC)) + os.system ("passwd -l sddm > /dev/null") + os.system("/bin/chown -R sddm:sddm %s" % DATADIR) + except: + pass + +# os.system ("groupadd --system %s" % (OUR_NAME)) +# os.system ("useradd -c 'sddm' --system -d /var/lib/sddm -s /sbin/nologin -g %s %s" % (OUR_NAME, OUR_DESC)) + + + + # os.system("/bin/chown -R sddm:sddm /var/log/sddm.log") + + + +def postRemove(): + try: + os.system ("userdel %s" % OUR_NAME) + os.system ("groupdel %s" % OUR_NAME) + except: + pass + + + + + diff --git a/desktop/kde/plasma/sddm/comar/service.py b/desktop/kde/plasma/sddm/comar/service.py new file mode 100644 index 0000000000..058a771fec --- /dev/null +++ b/desktop/kde/plasma/sddm/comar/service.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +from comar.service import * +import os + +serviceType="server" +serviceDesc=_({"en": "sddm Server", + "tr": "sddm Sunucusu"}) +serviceDefault="on" +PIDFILE="/run/sddm/sddm.pid" +DAEMON="/usr/bin/sddm" + +@synchronized +def start(): + startService(command=DAEMON, + pidfile=PIDFILE, + detach=True, + donotify=True) + + +@synchronized +def stop(): + stopService(pidfile=PIDFILE, + donotify=True) + + try: + os.unlink(PIDFILE) + except OSError: + pass + +def status(): + return isServiceRunning(PIDFILE) diff --git a/desktop/kde/plasma/sddm/files/sddm b/desktop/kde/plasma/sddm/files/sddm new file mode 100644 index 0000000000..b66e9367cc --- /dev/null +++ b/desktop/kde/plasma/sddm/files/sddm @@ -0,0 +1,18 @@ +# Begin /etc/pam.d/sddm + +auth required pam_unix.so try_first_pass nullok +auth optional pam_permit.so +auth required pam_env.so + +account required pam_unix.so +account optional pam_permit.so +account required pam_time.so + +password required pam_unix.so try_first_pass nullok sha512 shadow +password optional pam_permit.so + +session required pam_limits.so +session required pam_unix.so +session optional pam_permit.so + +# End /etc/pam.d/sddm \ No newline at end of file diff --git a/desktop/kde/plasma/sddm/files/sddm-0.10.0-upower.patch b/desktop/kde/plasma/sddm/files/sddm-0.10.0-upower.patch new file mode 100644 index 0000000000..63daf89175 --- /dev/null +++ b/desktop/kde/plasma/sddm/files/sddm-0.10.0-upower.patch @@ -0,0 +1,12 @@ +diff -u -r sddm-0.9.0.orig/src/daemon/PowerManager.cpp sddm-0.9.0/src/daemon/PowerManager.cpp +--- sddm-0.9.0.orig/src/daemon/PowerManager.cpp 2014-10-01 18:40:37.402683578 +0200 ++++ sddm-0.9.0/src/daemon/PowerManager.cpp 2014-10-01 18:40:43.502618164 +0200 +@@ -197,7 +197,7 @@ + m_backends << new Login1Backend(); + + // check if upower interface exists +- if (interface->isServiceRegistered(UPOWER_SERVICE)) ++// if (interface->isServiceRegistered(UPOWER_SERVICE)) + m_backends << new UPowerBackend(); + } + \ No newline at end of file diff --git a/desktop/kde/plasma/sddm/files/sddm-0.11.0-consolekit.patch b/desktop/kde/plasma/sddm/files/sddm-0.11.0-consolekit.patch new file mode 100644 index 0000000000..9295d0ef82 --- /dev/null +++ b/desktop/kde/plasma/sddm/files/sddm-0.11.0-consolekit.patch @@ -0,0 +1,13 @@ +diff --git a/data/scripts/Xsession b/data/scripts/Xsession +index a5d270d..4b48524 100755 +--- a/data/scripts/Xsession ++++ b/data/scripts/Xsession +@@ -74,7 +74,7 @@ case $session in + exec xterm -geometry 80x24-0-0 + ;; + *) +- eval exec "$session" ++ eval exec ck-launch-session "$session" + ;; + esac + exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop." \ No newline at end of file diff --git a/desktop/kde/plasma/sddm/files/sddm-autologin b/desktop/kde/plasma/sddm/files/sddm-autologin new file mode 100644 index 0000000000..b24b3bf6cf --- /dev/null +++ b/desktop/kde/plasma/sddm/files/sddm-autologin @@ -0,0 +1,16 @@ +# Begin /etc/pam.d/sddm-autologin + +auth requisite pam_nologin.so +auth required pam_env.so + +auth required pam_succeed_if.so uid >= 1000 quiet +auth required pam_permit.so + +account include system-account + +password required pam_deny.so + +session required pam_limits.so +session include system-session + +# End /etc/pam.d/sddm-autologin \ No newline at end of file diff --git a/desktop/kde/plasma/sddm/files/sddm-greeter b/desktop/kde/plasma/sddm/files/sddm-greeter new file mode 100644 index 0000000000..b039ab5799 --- /dev/null +++ b/desktop/kde/plasma/sddm/files/sddm-greeter @@ -0,0 +1,11 @@ +# Begin /etc/pam.d/sddm-greeter + +auth required pam_env.so +auth required pam_permit.so + +account required pam_permit.so +password required pam_deny.so +session required pam_unix.so +-session optional pam_systemd.so + +# End /etc/pam.d/sddm-greeter \ No newline at end of file diff --git a/desktop/kde/plasma/sddm/files/sddm.conf b/desktop/kde/plasma/sddm/files/sddm.conf new file mode 100644 index 0000000000..311531317b --- /dev/null +++ b/desktop/kde/plasma/sddm/files/sddm.conf @@ -0,0 +1,84 @@ +[Autologin] +# Autologin again on session exit +Relogin=false + +# Autologin session +Session=plasma.desktop + +# Autologin user +User= + + +[General] +# Halt command +HaltCommand=/sbin/shutdown -h -P now + +# Initial NumLock state +# Valid values: on|off|none +# If property is set to none, numlock won't be changed +Numlock=none + +# Reboot command +RebootCommand=/sbin/shutdown -r now + + +[Theme] +# Current theme name +Current=maui + +# Cursor theme +CursorTheme=breeze + +# Face icon directory +# The files should be in username.face.icon format +FacesDir=/usr/share/sddm/faces + +# Theme directory path +ThemeDir=/usr/share/sddm/themes + + +[Users] +# Default $PATH +DefaultPath=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin + +# Hidden shells +# Users with these shells as their default won't be listed +HideShells= + +# Hidden users +HideUsers=git,sddm + +# Maximum user id for displayed users +MaximumUid=65000 + +# Minimum user id for displayed users +MinimumUid=1000 + +# Remember the session of the last successfully logged in user +RememberLastSession=true + +# Remember the last successfully logged in user +RememberLastUser=true + + +[XDisplay] +# Xsetup script path +# A script to execute when starting the display server +DisplayCommand=/usr/share/sddm/scripts/Xsetup + +# Minimum VT +# The lowest virtual terminal number that will be used. +MinimumVT=1 + +# X server path +ServerPath=/usr/bin/X + +# Xsession script path +# A script to execute when starting the desktop session +SessionCommand=/usr/share/sddm/scripts/Xsession + +# Session description directory +SessionDir=/usr/share/xsessions + +# Xauth path +XauthPath=/usr/bin/xauth diff --git a/desktop/kde/plasma/sddm/files/sddm_upstream.patch b/desktop/kde/plasma/sddm/files/sddm_upstream.patch new file mode 100644 index 0000000000..28d9df4d2c --- /dev/null +++ b/desktop/kde/plasma/sddm/files/sddm_upstream.patch @@ -0,0 +1,746 @@ +diff -Nuar sddm-0.11.0/ChangeLog sddm-master/ChangeLog +--- sddm-0.11.0/ChangeLog 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/ChangeLog 2015-03-08 18:18:48.000000000 +0200 +@@ -4,6 +4,10 @@ + - Bug fixes + * Others + ++## 0.12.0 - XXXX-XX-XX ++---------------------- ++ * Add Arabic translation by Safa Alfulaij. ++ + ## 0.11.0 - 2014-11-20 + ---------------------- + + Reload the configuration every time we start a new session +@@ -15,7 +19,6 @@ + + ## 0.10.0 - 2014-10-16 + ---------------------- +- + + Set default icon theme from greeter theme configuration. + + Set cursor theme according to greeter theme configuration. + - Never permit a login as the sddm user (CVE-2014-7271) +diff -Nuar sddm-0.11.0/CMakeLists.txt sddm-master/CMakeLists.txt +--- sddm-0.11.0/CMakeLists.txt 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/CMakeLists.txt 2015-03-08 18:18:48.000000000 +0200 +@@ -77,7 +77,9 @@ + + # find qt5 imports dir + get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION) +-exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" RETURN_VALUE return_code OUTPUT_VARIABLE QT_IMPORTS_DIR) ++if(NOT QT_IMPORTS_DIR) ++ exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" RETURN_VALUE return_code OUTPUT_VARIABLE QT_IMPORTS_DIR) ++endif() + + # Set components version + set(COMPONENTS_VERSION 2.0) +@@ -98,7 +100,12 @@ + add_definitions(-DHAVE_SYSTEMD) + set(CMAKE_AUTOMOC_MOC_OPTIONS -DHAVE_SYSTEMD) + +- pkg_check_modules(JOURNALD "libsystemd-journal") ++ # libsystemd-journal was merged into libsystemd in 209 ++ if(${SYSTEMD_VERSION} VERSION_LESS 209) ++ pkg_check_modules(JOURNALD "libsystemd-journal") ++ else() ++ pkg_check_modules(JOURNALD "libsystemd") ++ endif() + + if(ENABLE_JOURNALD) + if(JOURNALD_FOUND) +@@ -109,8 +116,11 @@ + endif() + endif() + +- execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=systemdsystemunitdir systemd OUTPUT_VARIABLE SYSTEMD_SYSTEM_UNIT_DIR) +- string(REGEX REPLACE "[ \t\n]+" "" SYSTEMD_SYSTEM_UNIT_DIR ${SYSTEMD_SYSTEM_UNIT_DIR}) ++ if (NOT DEFINED SYSTEMD_SYSTEM_UNIT_DIR) ++ execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=systemdsystemunitdir systemd OUTPUT_VARIABLE SYSTEMD_SYSTEM_UNIT_DIR) ++ string(REGEX REPLACE "[ \t\n]+" "" SYSTEMD_SYSTEM_UNIT_DIR ${SYSTEMD_SYSTEM_UNIT_DIR}) ++ endif() ++ + set(MINIMUM_VT 1) + set(HALT_COMMAND "/usr/bin/systemctl poweroff") + set(REBOOT_COMMAND "/usr/bin/systemctl reboot") +diff -Nuar sddm-0.11.0/CONTRIBUTORS sddm-master/CONTRIBUTORS +--- sddm-0.11.0/CONTRIBUTORS 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/CONTRIBUTORS 2015-03-08 18:18:48.000000000 +0200 +@@ -43,3 +43,4 @@ + a.k.a. Harvey + raffarti + w41l ++Sérgio Marques +diff -Nuar sddm-0.11.0/data/man/sddm.conf.rst.in sddm-master/data/man/sddm.conf.rst.in +--- sddm-0.11.0/data/man/sddm.conf.rst.in 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/man/sddm.conf.rst.in 2015-03-08 18:18:48.000000000 +0200 +@@ -65,6 +65,10 @@ + Path of the X server. + Default value is "/usr/bin/X". + ++`XephyrPath=` ++ Path of the Xephyr. ++ Default value is "/usr/bin/Xephyr". ++ + `XauthPath=` + Path of the Xauth. + Default value is "/usr/bin/xauth". +@@ -104,11 +108,11 @@ + Default value is 65000. + + `HideUsers=` +- Users that shouldn't show up in the user list. ++ Comma-separated list of Users that shouldn't show up in the user list. + Default value is empty. + + `HideShells=` +- Shells of users that shouldn't show up in the user list. ++ Comma-separated list of Shells of users that shouldn't show up in the user list. + Default value is empty. + + `RememberLastUser=` +diff -Nuar sddm-0.11.0/data/man/sddm.rst.in sddm-master/data/man/sddm.rst.in +--- sddm-0.11.0/data/man/sddm.rst.in 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/man/sddm.rst.in 2015-03-08 18:18:48.000000000 +0200 +@@ -25,9 +25,9 @@ + easily create pleasant, modern looking interfaces for sddm. + + sddm runs the greeter as a system user named **sddm** +-whose home directory need to be set to **/var/lib/sddm**. ++whose home directory needs to be set to **/var/lib/sddm**. + +-If pam and systemd are available, the greeter will go through logind ++If pam and systemd are available, the greeter will go through logind, + which will give it access to drm devices. + + Distributions without pam and systemd will need to put the **sddm** user +diff -Nuar sddm-0.11.0/data/scripts/Xsession sddm-master/data/scripts/Xsession +--- sddm-0.11.0/data/scripts/Xsession 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/scripts/Xsession 2015-03-08 18:18:48.000000000 +0200 +@@ -20,9 +20,8 @@ + . $HOME/.profile + fi + ;; +- */zsh) ++*/zsh) + [ -z "$ZSH_NAME" ] && exec $SHELL $0 "$@" +- emulate -R sh + [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc + zhome=${ZDOTDIR:-$HOME} + # zshenv is always sourced automatically. +@@ -30,6 +29,7 @@ + [ -f $zhome/.zprofile ] && . $zhome/.zprofile + [ -f $zdir/zlogin ] && . $zdir/zlogin + [ -f $zhome/.zlogin ] && . $zhome/.zlogin ++ emulate -R sh + ;; + */csh|*/tcsh) + # [t]cshrc is always sourced automatically. +diff -Nuar sddm-0.11.0/data/translations/ar.ts sddm-master/data/translations/ar.ts +--- sddm-0.11.0/data/translations/ar.ts 1970-01-01 02:00:00.000000000 +0200 ++++ sddm-master/data/translations/ar.ts 2015-03-08 18:18:48.000000000 +0200 +@@ -0,0 +1,59 @@ ++ ++ ++ ++ ++ TextConstants ++ ++ Welcome to %1 ++ مرحبًا في %1 ++ ++ ++ Warning, Caps Lock is ON! ++ تحذير، مفتاح Caps Lock ممكّن! ++ ++ ++ Layout ++ التّخطيط ++ ++ ++ Login ++ لِج ++ ++ ++ Login failed ++ فشل الولوج ++ ++ ++ Login succeeded ++ نجح الولوج ++ ++ ++ Password ++ كلمة المرور ++ ++ ++ Enter your username and password ++ أدخِل اسم المستخدم وكلمة مروره ++ ++ ++ Reboot ++ أعد الإقلاع ++ ++ ++ Session ++ الجلسة ++ ++ ++ Shutdown ++ أطفئ ++ ++ ++ User name ++ اسم المستخدم ++ ++ ++ Select your user and enter password ++ اختر مستخدمًا وأدخِل كلمة مروره ++ ++ ++ +diff -Nuar sddm-0.11.0/data/translations/CMakeLists.txt sddm-master/data/translations/CMakeLists.txt +--- sddm-0.11.0/data/translations/CMakeLists.txt 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/translations/CMakeLists.txt 2015-03-08 18:18:48.000000000 +0200 +@@ -1,9 +1,11 @@ + set(TRANSLATION_FILES ++ ar.ts + cs.ts + de.ts + et.ts + fi.ts + fr.ts ++ hu.ts + it.ts + ja.ts + pl.ts +diff -Nuar sddm-0.11.0/data/translations/hu.ts sddm-master/data/translations/hu.ts +--- sddm-0.11.0/data/translations/hu.ts 1970-01-01 02:00:00.000000000 +0200 ++++ sddm-master/data/translations/hu.ts 2015-03-08 18:18:48.000000000 +0200 +@@ -0,0 +1,59 @@ ++ ++ ++ ++ ++ TextConstants ++ ++ Welcome to %1 ++ Üdvözöljük - %1 ++ ++ ++ Warning, Caps Lock is ON! ++ Figyelem: a Caps Lock BE van kapcsolva! ++ ++ ++ Layout ++ Nézet ++ ++ ++ Login ++ Bejelentkezés ++ ++ ++ Login failed ++ Bejelentkezés sikertelen ++ ++ ++ Login succeeded ++ Sikeres bejelentkezés ++ ++ ++ Password ++ Jelszó ++ ++ ++ Enter your username and password ++ Írja be a felhasználónevét és a jelszavát ++ ++ ++ Reboot ++ Újraindítás ++ ++ ++ Session ++ Munkamenet ++ ++ ++ Shutdown ++ Leállítás ++ ++ ++ User name ++ Felhasználónév ++ ++ ++ Select your user and enter password ++ Válassza ki a felhasználónevét és írja be a jelszavát ++ ++ ++ +diff -Nuar sddm-0.11.0/data/translations/it.ts sddm-master/data/translations/it.ts +--- sddm-0.11.0/data/translations/it.ts 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/translations/it.ts 2015-03-08 18:18:48.000000000 +0200 +@@ -21,7 +21,7 @@ + + + Login failed +- Accesso fallito ++ Accesso non riuscito + + + Login succeeded +diff -Nuar sddm-0.11.0/data/translations/pt_PT.ts sddm-master/data/translations/pt_PT.ts +--- sddm-0.11.0/data/translations/pt_PT.ts 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/translations/pt_PT.ts 2015-03-08 18:18:48.000000000 +0200 +@@ -5,11 +5,11 @@ + TextConstants + + Welcome to %1 +- Bem-vindo a %1 ++ Bem-vindo ao %1 + + + Warning, Caps Lock is ON! +- Atenção, Caps Lock está ligada! ++ Atenção, Caps Lock está ativo! + + + Layout +@@ -17,15 +17,15 @@ + + + Login +- Sessão ++ Autenticação + + + Login failed +- A autenticação falhou ++ Falha de autenticação + + + Login succeeded +- Autentificação com sucesso ++ Autenticação efetuada + + + Password +@@ -33,7 +33,7 @@ + + + Enter your username and password +- Escreva o seu nome de utilizador e senha ++ Escreva o seu nome de utilizador e a senha + + + Reboot +diff -Nuar sddm-0.11.0/data/translations/tr.ts sddm-master/data/translations/tr.ts +--- sddm-0.11.0/data/translations/tr.ts 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/data/translations/tr.ts 2015-03-08 18:18:48.000000000 +0200 +@@ -5,7 +5,7 @@ + TextConstants + + Welcome to %1 +- Hoşgeldiniz (%1) ++ Hoş Geldiniz (%1) + + + Warning, Caps Lock is ON! +@@ -29,11 +29,11 @@ + + + Password +- Şifre ++ Parola + + + Enter your username and password +- Kullanıcı adınızı ve şifrenizi giriniz ++ Kullanıcı adınızı ve parolanızı giriniz + + + Reboot +@@ -53,7 +53,7 @@ + + + Select your user and enter password +- Kullanıcınızı seçiniz ve şifrenizi giriniz ++ Kullanıcınızı seçiniz ve parolanızı giriniz + + + +diff -Nuar sddm-0.11.0/README.md sddm-master/README.md +--- sddm-0.11.0/README.md 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/README.md 2015-03-08 18:18:48.000000000 +0200 +@@ -2,7 +2,7 @@ + + [![Build Status](https://travis-ci.org/sddm/sddm.svg?branch=master)](https://travis-ci.org/sddm/sddm) + +-SDDM is a modern display manager for X11 aiming to be fast, simple and beatiful. It uses modern technologies like QtQuick, which in turn gives the designer the ability to create smooth, animated user interfaces. ++SDDM is a modern display manager for X11 aiming to be fast, simple and beautiful. It uses modern technologies like QtQuick, which in turn gives the designer the ability to create smooth, animated user interfaces. + + SDDM is extremely themeable. We put no restrictions on the user interface design, it is completely up to the designer. We simply provide a few callbacks to the user interface which can be used for authentication, suspend etc. To further ease theme creation we provide some premade components like a textbox, a combox etc. + +diff -Nuar sddm-0.11.0/src/common/Configuration.h sddm-master/src/common/Configuration.h +--- sddm-0.11.0/src/common/Configuration.h 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/common/Configuration.h 2015-03-08 18:18:48.000000000 +0200 +@@ -54,6 +54,7 @@ + // TODO: Not absolutely sure if everything belongs here. Xsessions, VT and probably some more seem universal + Section(XDisplay, + Entry(ServerPath, QString, _S("/usr/bin/X"), _S("X server path")); ++ Entry(XephyrPath, QString, _S("/usr/bin/Xephyr"), _S("Xephyr path")); + Entry(XauthPath, QString, _S("/usr/bin/xauth"), _S("Xauth path")); + Entry(SessionDir, QString, _S("/usr/share/xsessions"), _S("Session description directory")); + Entry(SessionCommand, QString, _S(SESSION_COMMAND), _S("Xsession script path\n" +diff -Nuar sddm-0.11.0/src/daemon/Display.cpp sddm-master/src/daemon/Display.cpp +--- sddm-0.11.0/src/daemon/Display.cpp 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/Display.cpp 2015-03-08 18:18:48.000000000 +0200 +@@ -40,8 +40,8 @@ + #include + + namespace SDDM { +- Display::Display(const int displayId, const int terminalId, Seat *parent) : QObject(parent), +- m_displayId(displayId), m_terminalId(terminalId), ++ Display::Display(const int terminalId, Seat *parent) : QObject(parent), ++ m_terminalId(terminalId), + m_auth(new Auth(this)), + m_displayServer(new XorgDisplayServer(this)), + m_seat(parent), +@@ -73,8 +73,8 @@ + stop(); + } + +- const int Display::displayId() const { +- return m_displayId; ++ QString Display::displayId() const { ++ return m_displayServer->display(); + } + + const int Display::terminalId() const { +diff -Nuar sddm-0.11.0/src/daemon/Display.h sddm-master/src/daemon/Display.h +--- sddm-0.11.0/src/daemon/Display.h 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/Display.h 2015-03-08 18:18:48.000000000 +0200 +@@ -39,10 +39,10 @@ + Q_OBJECT + Q_DISABLE_COPY(Display) + public: +- explicit Display(const int displayId, const int terminalId, Seat *parent); ++ explicit Display(int terminalId, Seat *parent); + ~Display(); + +- const int displayId() const; ++ QString displayId() const; + const int terminalId() const; + + const QString &name() const; +@@ -71,7 +71,6 @@ + bool m_relogin { true }; + bool m_started { false }; + +- int m_displayId { 0 }; + int m_terminalId { 7 }; + + QString m_passPhrase; +diff -Nuar sddm-0.11.0/src/daemon/Seat.cpp sddm-master/src/daemon/Seat.cpp +--- sddm-0.11.0/src/daemon/Seat.cpp 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/Seat.cpp 2015-03-08 18:18:48.000000000 +0200 +@@ -51,36 +51,25 @@ + return m_name; + } + +- void Seat::createDisplay(int displayId, int terminalId) { ++ void Seat::createDisplay(int terminalId) { + //reload config if needed + mainConfig.load(); + +- if (displayId == -1) { +- // find unused display +- displayId = findUnused(0, [&](const int number) { +- bool alreadyExists = m_displayIds.contains(number); +- if (!alreadyExists) +- alreadyExists = XorgDisplayServer::displayExists(number); +- return alreadyExists; +- }); +- +- // find unused terminal ++ if (terminalId == -1) { ++ // find unused terminal + terminalId = findUnused(mainConfig.XDisplay.MinimumVT.get(), [&](const int number) { + return m_terminalIds.contains(number); + }); + } + +- // mark display as used +- m_displayIds << displayId; +- + // mark terminal as used + m_terminalIds << terminalId; + + // log message +- qDebug() << "Adding new display" << displayId << "on vt" << terminalId << "..."; ++ qDebug() << "Adding new display" << "on vt" << terminalId << "..."; + + // create a new display +- Display *display = new Display(displayId, terminalId, this); ++ Display *display = new Display(terminalId, this); + + // restart display on stop + connect(display, SIGNAL(stopped()), this, SLOT(displayStopped())); +@@ -92,26 +81,14 @@ + display->start(); + } + +- void Seat::removeDisplay(int displayId) { +- qDebug() << "Removing display" << displayId << "..."; +- +- // display object +- Display *display = nullptr; ++ void Seat::removeDisplay(Display* display) { ++ qDebug() << "Removing display" << display->displayId() << "..."; + +- // find display +- for (Display *d: m_displays) +- if (d->displayId() == displayId) +- display = d; +- +- // check if found +- if (display == nullptr) +- return; + + // remove display from list + m_displays.removeAll(display); + + // mark display and terminal ids as unused +- m_displayIds.removeAll(display->displayId()); + m_terminalIds.removeAll(display->terminalId()); + + // stop the display +@@ -127,7 +104,7 @@ + Display *display = qobject_cast(sender()); + + // remove display +- removeDisplay(display->displayId()); ++ removeDisplay(display); + + // restart otherwise + if (m_displays.isEmpty()) +diff -Nuar sddm-0.11.0/src/daemon/Seat.h sddm-master/src/daemon/Seat.h +--- sddm-0.11.0/src/daemon/Seat.h 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/Seat.h 2015-03-08 18:18:48.000000000 +0200 +@@ -34,8 +34,8 @@ + const QString &name() const; + + public slots: +- void createDisplay(int displayId = -1, int terminalId = -1); +- void removeDisplay(int displayId); ++ void createDisplay(int terminalId = -1); ++ void removeDisplay(SDDM::Display* display); + + private slots: + void displayStopped(); +@@ -45,7 +45,6 @@ + + QList m_displays; + QList m_terminalIds; +- QList m_displayIds; + }; + } + +diff -Nuar sddm-0.11.0/src/daemon/Utils.h sddm-master/src/daemon/Utils.h +--- sddm-0.11.0/src/daemon/Utils.h 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/Utils.h 2015-03-08 18:18:48.000000000 +0200 +@@ -21,6 +21,8 @@ + #ifndef SDDM_UTILS_H + #define SDDM_UTILS_H + ++#include ++ + namespace SDDM { + + inline QString generateName(int length) { +diff -Nuar sddm-0.11.0/src/daemon/XorgDisplayServer.cpp sddm-master/src/daemon/XorgDisplayServer.cpp +--- sddm-0.11.0/src/daemon/XorgDisplayServer.cpp 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/XorgDisplayServer.cpp 2015-03-08 18:18:48.000000000 +0200 +@@ -28,6 +28,9 @@ + #include + #include + #include ++#include ++ ++#include + + #include + +@@ -36,9 +39,6 @@ + + namespace SDDM { + XorgDisplayServer::XorgDisplayServer(Display *parent) : DisplayServer(parent) { +- // figure out the X11 display +- m_display = QString(":%1").arg(displayPtr()->displayId()); +- + // get auth directory + QString authDir = RUNTIME_DIR; + +@@ -50,7 +50,7 @@ + QDir().mkpath(authDir); + + // set auth path +- m_authPath = QString("%1/%2").arg(authDir).arg(m_display); ++ m_authPath = QString("%1/%2").arg(authDir).arg(QUuid::createUuid().toString()); + + // generate cookie + std::random_device rd; +@@ -70,10 +70,6 @@ + stop(); + } + +- bool XorgDisplayServer::displayExists(int number) { +- return QFile(QString("/tmp/.X%1-lock").arg(number)).exists(); +- } +- + const QString &XorgDisplayServer::display() const { + return m_display; + } +@@ -136,44 +132,72 @@ + if (daemonApp->testing()) { + QStringList args; + args << m_display << "-ac" << "-br" << "-noreset" << "-screen" << "800x600"; +- process->start("/usr/bin/Xephyr", args); ++ process->start(mainConfig.XDisplay.XephyrPath.get(), args); ++ ++ ++ // wait for display server to start ++ if (!process->waitForStarted()) { ++ // log message ++ qCritical() << "Failed to start display server process."; ++ ++ // return fail ++ return false; ++ } ++ emit started(); + } else { + // set process environment + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); +- env.insert("DISPLAY", m_display); +- env.insert("XAUTHORITY", m_authPath); + env.insert("XCURSOR_THEME", mainConfig.Theme.CursorTheme.get()); + process->setProcessEnvironment(env); + +- // tell the display server to notify us when we can connect +- SignalHandler::ignoreSigusr1(); ++ //create pipe for communicating with X server ++ //0 == read from X, 1== write to from X ++ int pipeFds[2]; ++ if (pipe(pipeFds) != 0) { ++ qCritical("Could not create pipe to start X server"); ++ } + + // start display server + QStringList args; +- args << m_display +- << "-auth" << m_authPath ++ args << "-auth" << m_authPath + << "-nolisten" << "tcp" + << "-background" << "none" + << "-noreset" ++ << "-displayfd" << QString::number(pipeFds[1]) + << QString("vt%1").arg(displayPtr()->terminalId()); + qDebug() << "Running:" + << qPrintable(mainConfig.XDisplay.ServerPath.get()) + << qPrintable(args.join(" ")); + process->start(mainConfig.XDisplay.ServerPath.get(), args); +- SignalHandler::initializeSigusr1(); +- connect(DaemonApp::instance()->signalHandler(), SIGNAL(sigusr1Received()), this, SIGNAL(started())); +- } + +- // wait for display server to start +- if (!process->waitForStarted()) { +- // log message +- qCritical() << "Failed to start display server process."; ++ // wait for display server to start ++ if (!process->waitForStarted()) { ++ // log message ++ qCritical() << "Failed to start display server process."; ++ ++ // return fail ++ close(pipeFds[0]); ++ return false; ++ } ++ ++ QFile readPipe; ++ ++ if (!readPipe.open(pipeFds[0], QIODevice::ReadOnly)) { ++ qCritical("Failed to open pipe to start X Server "); ++ ++ close(pipeFds[0]); ++ return false; ++ } ++ QByteArray displayNumber = readPipe.readLine(); ++ displayNumber.prepend(QByteArray(":")); ++ displayNumber.remove(displayNumber.size() -1, 1); //trim trailing whitespace ++ m_display= displayNumber; ++ ++ // close our pipe ++ close(pipeFds[0]); + +- // return fail +- return false; +- } +- if (daemonApp->testing()) + emit started(); ++ } + + // set flag + m_started = true; +diff -Nuar sddm-0.11.0/src/daemon/XorgDisplayServer.h sddm-master/src/daemon/XorgDisplayServer.h +--- sddm-0.11.0/src/daemon/XorgDisplayServer.h 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/daemon/XorgDisplayServer.h 2015-03-08 18:18:48.000000000 +0200 +@@ -33,8 +33,6 @@ + explicit XorgDisplayServer(Display *parent); + ~XorgDisplayServer(); + +- static bool displayExists(int number); +- + const QString &display() const; + const QString &authPath() const; + +diff -Nuar sddm-0.11.0/src/greeter/SessionModel.cpp sddm-master/src/greeter/SessionModel.cpp +--- sddm-0.11.0/src/greeter/SessionModel.cpp 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/greeter/SessionModel.cpp 2015-03-08 18:18:48.000000000 +0200 +@@ -57,6 +57,7 @@ + continue; + SessionPtr si { new Session { session, "", "", "" } }; + QTextStream in(&inputFile); ++ bool execAllowed = true; + while (!in.atEnd()) { + QString line = in.readLine(); + if (line.startsWith("Name=")) +@@ -65,9 +66,15 @@ + si->exec = line.mid(5); + if (line.startsWith("Comment=")) + si->comment = line.mid(8); ++ if (line.startsWith("TryExec=")) { ++ QFileInfo fi(line.mid(8)); ++ if (!fi.exists() || !fi.isExecutable()) ++ execAllowed = false; ++ } + } + // add to sessions list +- d->sessions.push_back(si); ++ if (execAllowed) ++ d->sessions.push_back(si); + // close file + inputFile.close(); + } +diff -Nuar sddm-0.11.0/src/helper/backend/PamBackend.cpp sddm-master/src/helper/backend/PamBackend.cpp +--- sddm-0.11.0/src/helper/backend/PamBackend.cpp 2014-11-20 17:47:24.000000000 +0200 ++++ sddm-master/src/helper/backend/PamBackend.cpp 2015-03-08 18:18:48.000000000 +0200 +@@ -251,7 +251,9 @@ + QProcessEnvironment sessionEnv = m_app->session()->processEnvironment(); + QString display = sessionEnv.value("DISPLAY"); + if (!display.isEmpty()) { ++#ifdef PAM_XDISPLAY + m_pam->setItem(PAM_XDISPLAY, qPrintable(display)); ++#endif + m_pam->setItem(PAM_TTY, qPrintable(display)); + } + if (!m_pam->putEnv(sessionEnv)) { diff --git a/desktop/kde/plasma/sddm/files/sddm_y b/desktop/kde/plasma/sddm/files/sddm_y new file mode 100644 index 0000000000..0a76cc169d --- /dev/null +++ b/desktop/kde/plasma/sddm/files/sddm_y @@ -0,0 +1,10 @@ +# Begin /etc/pam.d/sddm +#%PAM-1.0 +auth substack system-auth +auth optional pam_gnome_keyring.so +account include system-auth +session optional pam_keyinit.so force revoke +session include system-auth +session optional pam_console.so +session optional pam_gnome_keyring.so auto_start +session optional pam_selinux.so diff --git a/desktop/kde/plasma/sddm/files/sddm_yedek b/desktop/kde/plasma/sddm/files/sddm_yedek new file mode 100644 index 0000000000..b66e9367cc --- /dev/null +++ b/desktop/kde/plasma/sddm/files/sddm_yedek @@ -0,0 +1,18 @@ +# Begin /etc/pam.d/sddm + +auth required pam_unix.so try_first_pass nullok +auth optional pam_permit.so +auth required pam_env.so + +account required pam_unix.so +account optional pam_permit.so +account required pam_time.so + +password required pam_unix.so try_first_pass nullok sha512 shadow +password optional pam_permit.so + +session required pam_limits.so +session required pam_unix.so +session optional pam_permit.so + +# End /etc/pam.d/sddm \ No newline at end of file diff --git a/desktop/kde/plasma/sddm/pspec.xml b/desktop/kde/plasma/sddm/pspec.xml new file mode 100755 index 0000000000..3aaa4d6dbe --- /dev/null +++ b/desktop/kde/plasma/sddm/pspec.xml @@ -0,0 +1,78 @@ + + + + + sddm + https://github.com/sddm/sddm + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + QML based X11 display manager + KDE Power Management module. Provides kded daemon DBus helper and KCM for configuring Power settings + https://github.com/sddm/sddm/archive/v0.11.0.tar.gz + + qt5-base-devel + qt5-tools-devel + qt5-base-devel + libgcc + pkgconfig + libxcb-devel + libxkbfile-devel + extra-cmake-modules + docutils + + + sddm_upstream.patch + sddm-0.10.0-upower.patch + sddm-0.11.0-consolekit.patch + + + + + sddm + + qt5-base + qt5-declarative + libgcc + libxcb + + + /etc + /usr/share + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/man + /usr/share/doc + + + sddm.conf + sddm + + + System.Service + System.Package + + + + + + 2015-07-03 + 0.11 + Rebuild. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-09-20 + 0.11 + First release + Stefan Gronewold (groni) + groni@pisilinux.org + + + From 6fbbf86e5f9863b3209d86b7718c364380b96d44 Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 17:46:47 +0200 Subject: [PATCH 149/152] sddm-kcm version bump and check --- desktop/kde/plasma/sddm-kcm/actions.py | 19 +++++ desktop/kde/plasma/sddm-kcm/pspec.xml | 89 ++++++++++++++++++++ desktop/kde/plasma/sddm-kcm/translations.xml | 8 ++ 3 files changed, 116 insertions(+) create mode 100644 desktop/kde/plasma/sddm-kcm/actions.py create mode 100644 desktop/kde/plasma/sddm-kcm/pspec.xml create mode 100644 desktop/kde/plasma/sddm-kcm/translations.xml diff --git a/desktop/kde/plasma/sddm-kcm/actions.py b/desktop/kde/plasma/sddm-kcm/actions.py new file mode 100644 index 0000000000..b6b9ec50d8 --- /dev/null +++ b/desktop/kde/plasma/sddm-kcm/actions.py @@ -0,0 +1,19 @@ +#!/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 kde5 +from pisi.actionsapi import pisitools + +def setup(): + kde5.configure() + +def build(): + kde5.make() + +def install(): + kde5.install() + + pisitools.dodoc("CONTRIBUTORS", "COPYING", "README") diff --git a/desktop/kde/plasma/sddm-kcm/pspec.xml b/desktop/kde/plasma/sddm-kcm/pspec.xml new file mode 100644 index 0000000000..ca2e4ecea7 --- /dev/null +++ b/desktop/kde/plasma/sddm-kcm/pspec.xml @@ -0,0 +1,89 @@ + + + + + sddm-kcm + https://projects.kde.org/projects/kde/workspace/sddm-kcm + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + app:console + KDE5 Config Module for SDDM + KDE5 Config Module for SDDM + http://download.kde.org/stable/plasma/5.3.2/sddm-kcm-5.3.2.tar.xz + + kcoreaddons-devel + kdoctools-devel + kconfigwidgets-devel + kauth-devel + libgcc + libX11-devel + kxmlgui-devel + ki18n-devel + qt5-base-devel + kio-devel + qt5-declarative-devel + qt5-tools-devel + qt5-x11extras-devel + kconfig-devel + docutils + libXcursor-devel + extra-cmake-modules + + + + + sddm-kcm + + kcoreaddons + sddm + libgcc + libX11 + kconfigwidgets + kauth + kxmlgui + ki18n + qt5-base + kio + kdoctools + libXcursor + kconfig + qt5-x11extras + qt5-declarative + xorg-server-xephyr + + + /etc/dbus-1/system.d + /usr/share/dbus-1/system-services + /usr/share/kservices5 + /usr/share/ + /usr/share/polkit-1/actions + /usr/share/locale + /usr/bin + /usr/lib/cmake + /usr/lib/qt5/plugins + /usr/lib/libexec/kauth + /usr/lib + /usr/share/doc + + + + + + 2015-07-03 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-06-14 + 5.3.1 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + diff --git a/desktop/kde/plasma/sddm-kcm/translations.xml b/desktop/kde/plasma/sddm-kcm/translations.xml new file mode 100644 index 0000000000..97bfd3908d --- /dev/null +++ b/desktop/kde/plasma/sddm-kcm/translations.xml @@ -0,0 +1,8 @@ + + + + kde5-sddm-kcm + KDE5 Config Module for SDDM + KDE5 Config Module for SDDM + + From cc24f7d958ac24481ff66ef8b458c4e699275d99 Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 17:49:10 +0200 Subject: [PATCH 150/152] plasma-mediacenter remove unused dependency --- desktop/kde/plasma/plasma-mediacenter/pspec.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/desktop/kde/plasma/plasma-mediacenter/pspec.xml b/desktop/kde/plasma/plasma-mediacenter/pspec.xml index 8ae271ff15..01fbbc9d7c 100755 --- a/desktop/kde/plasma/plasma-mediacenter/pspec.xml +++ b/desktop/kde/plasma/plasma-mediacenter/pspec.xml @@ -17,8 +17,8 @@ qt5-base-devel qt5-multimedia-devel libgcc - kf5-kfilemetadata-devel - kf5-baloo-devel + kfilemetadata-devel + baloo-devel extra-cmake-modules @@ -27,8 +27,7 @@ plasma-mediacenter qt5-base - kf5-baloo - kf5-kfilemetadata + baloo libgcc kfilemetadata kcoreaddons From 0450ea3b646a9dd0d1919a5bbd92f84ad952d3b5 Mon Sep 17 00:00:00 2001 From: groni Date: Fri, 3 Jul 2015 18:06:38 +0200 Subject: [PATCH 151/152] plasma-workspace-wallpapers version bump and check --- .../plasma-workspace-wallpapers/actions.py | 27 ++++ .../plasma-workspace-wallpapers/pspec.xml | 129 ++++++++++++++++++ 2 files changed, 156 insertions(+) create mode 100755 desktop/kde/plasma/plasma-workspace-wallpapers/actions.py create mode 100755 desktop/kde/plasma/plasma-workspace-wallpapers/pspec.xml diff --git a/desktop/kde/plasma/plasma-workspace-wallpapers/actions.py b/desktop/kde/plasma/plasma-workspace-wallpapers/actions.py new file mode 100755 index 0000000000..8f1b9185ee --- /dev/null +++ b/desktop/kde/plasma/plasma-workspace-wallpapers/actions.py @@ -0,0 +1,27 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import cmaketools + +def setup(): + cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \ + -DECM_MKSPECS_INSTALL_DIR=/usr/lib/qt5/mkspecs/modules \ + -DLIB_INSTALL_DIR=lib \ + -DPYTHON_EXECUTABLE=/usr/bin/python3 \ + -DQML_INSTALL_DIR=lib/qt5/qml \ + -DQT_PLUGIN_INSTALL_DIR=lib/qt5/plugins \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DBUILD_TESTING=OFF") + +def build(): + cmaketools.make() + +def install(): + cmaketools.install() + + pisitools.dodoc("COPYING", "AUTHORS") + diff --git a/desktop/kde/plasma/plasma-workspace-wallpapers/pspec.xml b/desktop/kde/plasma/plasma-workspace-wallpapers/pspec.xml new file mode 100755 index 0000000000..15e1769d48 --- /dev/null +++ b/desktop/kde/plasma/plasma-workspace-wallpapers/pspec.xml @@ -0,0 +1,129 @@ + + + + + plasma-workspace-wallpapers + http://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:console + app:gui + The KDE Plasma Workspace Components + The KDE Plasma Workspace Components + http://download.kde.org/stable/plasma/5.3.2/plasma-workspace-wallpapers-5.3.2.tar.xz + + qt5-base-devel + alsa-lib-devel + baloo-devel + kactivities-devel + kcmutils-devel + kcoreaddons-devel + kcrash-devel + kdeclarative-devel + kdelibs4-support-devel + kdesu-devel + kdewebkit-devel + kdoctools-devel + kidletime-devel + kjsembed-devel + knewstuff-devel + knotifyconfig-devel + krunner-devel + ktexteditor-devel + kwallet-devel + kwin-devel + libkscreen-devel + libksysguard-devel + plasma-framework-devel + solid-devel + frameworkintegration-devel + breeze-style + milou + qt5-phonon-devel + libqalculate-devel + prison-qt5-devel + libXrender-devel + xcb-util-keysyms-devel + xcb-util-image-devel + libXcursor-devel + + + + + + + plasma-workspace-wallpapers + + qt5-base + alsa-lib + baloo + kactivities + kcmutils + kcoreaddons + kcrash + kdeclarative + kdelibs4-support + kdesu + kdewebkit + kdoctools + kidletime + kjsembed + knewstuff + knotifyconfig + krunner + ktexteditor + kwallet + kwin + libkscreen + libksysguard + plasma-framework + solid + frameworkintegration + breeze-style + milou + qt5-phonon + libqalculate + prison-qt5 + libXrender + xcb-util-keysyms + xcb-util-image + libXcursor + + + /etc + /usr/share + /usr/share/locale + /usr/bin + /usr/lib/qt5 + /usr/lib + /usr/share/doc + + + kde-workspace + + + kde-workspace + + + + + + 2015-07-03 + 5.3.2 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2015-05-25 + 5.3.0 + First Release. + Stefan Gronewold(groni) + groni@pisilinux.org + + + From ac9620acb74c809bd308012259e65c83ee437801 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Fri, 3 Jul 2015 20:03:26 +0300 Subject: [PATCH 152/152] cyrus-sasl fix deps, openldap dependency cause circledep, removed. --- server/auth/cyrus-sasl/actions.py | 7 +++++-- server/auth/cyrus-sasl/pspec.xml | 11 ++++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/server/auth/cyrus-sasl/actions.py b/server/auth/cyrus-sasl/actions.py index 283514a333..dff49fe666 100644 --- a/server/auth/cyrus-sasl/actions.py +++ b/server/auth/cyrus-sasl/actions.py @@ -32,7 +32,7 @@ def setup(): --with-plugindir=/usr/lib/sasl2 \ --with-dbpath=/etc/sasl2/sasldb2 \ --with-pam \ - --with-ldap \ + --without-ldap \ --with-openssl \ --with-dblib=gdbm \ --with-gss_impl=mit \ @@ -46,7 +46,7 @@ def setup(): --enable-login \ --enable-ntlm \ --enable-plain \ - --enable-ldapdb \ + --disable-ldapdb \ --enable-checkapop \ --enable-alwaystrue \ --disable-java \ @@ -57,6 +57,9 @@ def setup(): --disable-passdss \ --disable-macos-framework \ --disable-static") + + # for remove unused + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") def build(): autotools.make("-j1") diff --git a/server/auth/cyrus-sasl/pspec.xml b/server/auth/cyrus-sasl/pspec.xml index b6ab0d7e00..53f3baca73 100644 --- a/server/auth/cyrus-sasl/pspec.xml +++ b/server/auth/cyrus-sasl/pspec.xml @@ -16,6 +16,11 @@ http://cyrusimap.org/releases/cyrus-sasl-2.1.26.tar.gz mit-kerberos + pam-devel + gdbm-devel + e2fsprogs-devel + openssl-devel + groff @@ -44,8 +49,12 @@ cyrus-sasl - openldap-client + mit-kerberos + pam + gdbm + e2fsprogs + openssl /etc

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