diff --git a/extra/enlightenment/PKGBUILD b/extra/enlightenment/PKGBUILD new file mode 100644 index 000000000..a78521596 --- /dev/null +++ b/extra/enlightenment/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Ronald van Haren +# Contributor: Enlightenment Developers > + +# ALARM: Nicolas Boichat +# - Add upstream patch to fix overflow in e_desk.c + +pkgname=enlightenment +pkgver=0.18.8 +pkgrel=1.1 +pkgdesc="Enlightenment window manager" +arch=('i686' 'x86_64') +url="http://www.enlightenment.org" +license=('BSD') +depends=('elementary' 'xcb-util-keysyms' 'hicolor-icon-theme' 'pixman' 'mesa' + 'desktop-file-utils' 'udisks2' 'ttf-font' 'bluez-libs') +optdepends=('connman: network module' + 'acpid: power events on laptop lid close') +provides=("enlightenment17=$pkgver" 'notification-daemon') +conflicts=("enlightenment17") +replaces=("enlightenment17") +backup=('etc/enlightenment/sysactions.conf' + 'etc/xdg/menus/enlightenment.menu') +source=(http://download.enlightenment.org/rel/apps/${pkgname}/$pkgname-$pkgver.tar.gz + enlightenment-0.18.8-e-desk-overflow.patch) +install=enlightenment.install +sha1sums=('71d6212fc55ba65a47d656b0bc4891684445e3ff' + 'd915cfde817dddd9e2ecf673aea53dfd06344813') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i "${srcdir}/enlightenment-0.18.8-e-desk-overflow.patch" +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + export CFLAGS="$CFLAGS -fvisibility=hidden" + + ./configure --prefix=/usr --sysconfdir=/etc \ + --enable-wayland-egl \ + --enable-wayland-clients + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make -j1 DESTDIR="$pkgdir" install + + # install LICENSE + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/extra/enlightenment/enlightenment-0.18.8-e-desk-overflow.patch b/extra/enlightenment/enlightenment-0.18.8-e-desk-overflow.patch new file mode 100644 index 000000000..57041d17a --- /dev/null +++ b/extra/enlightenment/enlightenment-0.18.8-e-desk-overflow.patch @@ -0,0 +1,26 @@ +From 9e6c276905b13fb4a2d795fee5f98d52aecb354b Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani +Date: Sun, 1 Jun 2014 14:45:49 +0200 +Subject: bugfix: Fix buffer overflow in desk_show. + +Was the wrong structure type which caused writing after the allocated +size and was generally bad and wrong. + +Signed-off-by: Carlos Rafael Giani + +diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c +index 8c97364..854946a 100644 +--- a/src/bin/e_desk.c ++++ b/src/bin/e_desk.c +@@ -224,7 +224,7 @@ e_desk_show(E_Desk *desk) + E_Event_Desk_Show *ev; + E_Event_Desk_Before_Show *eev; + E_Event_Desk_After_Show *eeev; +- Edje_Message_Float_Set *msg; ++ Edje_Message_Int_Set *msg; + Eina_List *l; + E_Shelf *es; + int was_zone = 0, x, y, dx = 0, dy = 0; +-- +cgit v0.10.1 + diff --git a/extra/enlightenment/enlightenment.install b/extra/enlightenment/enlightenment.install new file mode 100644 index 000000000..1182e768f --- /dev/null +++ b/extra/enlightenment/enlightenment.install @@ -0,0 +1,12 @@ +post_install() { + update-mime-database usr/share/mime > /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +}