summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Thomas Anderson <tanderson@caltech.edu> 2015-03-29 14:34:23 -0700
committerAvatar Thomas Anderson <tanderson@caltech.edu> 2015-03-29 14:35:12 -0700
commit640135f407479713e4817ed4510137dbdb429f80 (patch)
tree81f4e7f1c9ef9c0fc21da1ec3fa68a6464211a31
parent550d3b508ca15d4eef6f480e0f4025becdd6bb11 (diff)
downloadenlightenment-640135f407479713e4817ed4510137dbdb429f80.tar.gz
enlightenment-640135f407479713e4817ed4510137dbdb429f80.tar.xz
efl: bump to 1.13.0
Add WebP option for image loading (recommended by upstream)
-rw-r--r--packages/enlightenment-platform/efl/efl-1.13.0.exheres-0 (renamed from packages/enlightenment-platform/efl/efl-1.12.3.exheres-0)5
-rw-r--r--packages/enlightenment-platform/efl/efl.exlib6
-rw-r--r--packages/enlightenment-platform/efl/files/efl-1.13.0-libinput-compat.patch91
3 files changed, 100 insertions, 2 deletions
diff --git a/packages/enlightenment-platform/efl/efl-1.12.3.exheres-0 b/packages/enlightenment-platform/efl/efl-1.13.0.exheres-0
index 8c5228a..30b6077 100644
--- a/packages/enlightenment-platform/efl/efl-1.12.3.exheres-0
+++ b/packages/enlightenment-platform/efl/efl-1.13.0.exheres-0
@@ -2,7 +2,7 @@
# Copyright 2014 Thomas G. Anderson
# Distributed under the terms of the GNU General Public License v2
-require efl
+require efl autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 1.14 1.13 ] ]
SLOT="1"
PLATFORMS="~amd64"
@@ -11,3 +11,6 @@ DEPENDENCIES="
build+run:
sdl? ( media-libs/SDL:2 )
"
+
+DEFAULT_SRC_PREPARE_PATCHES=( "${FILES}"/${PNV}-libinput-compat.patch )
+
diff --git a/packages/enlightenment-platform/efl/efl.exlib b/packages/enlightenment-platform/efl/efl.exlib
index 57e4299..db5d855 100644
--- a/packages/enlightenment-platform/efl/efl.exlib
+++ b/packages/enlightenment-platform/efl/efl.exlib
@@ -24,6 +24,7 @@ MYOPTIONS="
systemd
tiff
v4l
+ webp [[ description = [ Enables image rendering with Google's WebP format ] ]]
X
xine
"
@@ -44,6 +45,7 @@ DEPENDENCIES="
sys-apps/dbus
sys-apps/util-linux
sys-libs/zlib
+ sys-libs/libinput[>=0.6.0]
avahi? ( net-dns/avahi )
drm? ( x11-dri/libdrm[>=2.4]
x11-libs/libxkbcommon[>=0.3.0] )
@@ -56,6 +58,7 @@ DEPENDENCIES="
png? ( media-libs/libpng:1.5 )
systemd? ( sys-apps/systemd )
tiff? ( media-libs/tiff )
+ webp? ( media-libs/libwebp )
X? ( x11-libs/libX11
x11-libs/libXau
x11-libs/libxcb
@@ -98,6 +101,7 @@ DEPENDENCIES="
# need X, breaks sandbox trying to connect to dbus
RESTRICT="test"
+
# tests need X, upstream heavily warns against using gnutls over openssl, pixman is EVIL
DEFAULT_SRC_CONFIGURE_PARAMS=(
'--with-crypto=openssl'
@@ -124,6 +128,7 @@ DEFAULT_SRC_CONFIGURE_OPTION_ENABLES=(
'systemd'
'tiff image-loader-tiff'
'v4l v4l2'
+ 'webp image-loader-webp'
'xine'
)
@@ -135,4 +140,3 @@ DEFAULT_SRC_CONFIGURE_OPTION_WITHS=(
DEFAULT_SRC_CONFIGURE_TESTS=(
'--with-tests=regular --with-tests=none'
)
-
diff --git a/packages/enlightenment-platform/efl/files/efl-1.13.0-libinput-compat.patch b/packages/enlightenment-platform/efl/files/efl-1.13.0-libinput-compat.patch
new file mode 100644
index 0000000..6ed933d
--- /dev/null
+++ b/packages/enlightenment-platform/efl/files/efl-1.13.0-libinput-compat.patch
@@ -0,0 +1,91 @@
+From 52c48cfc214a9fb36db90748cfdf8095fd23db30 Mon Sep 17 00:00:00 2001
+From: Stefan Schmidt <s.schmidt@samsung.com>
+Date: Thu, 12 Feb 2015 18:01:55 +0100
+Subject: [PATCH] ecore/drm: Add support for changed libinput API since 0.8
+
+We check for libinput 06 or higher. In version 0.8 they got an API break
+(hopefully the last one before 1.0) which we did not support so far. I have
+seen libinput 0.9 used on gentoo and newer ubuntu systems so we should
+definitely support them.
+
+Adding a LIBINPUT_HIGHER_08 define to check for this. So far we have only one
+location where we need it. Once there is a libinput 1.0 we should remove the
+support for older versions.
+
+http://lists.freedesktop.org/archives/wayland-devel/2015-January/019383.html
+---
+ configure.ac | 15 +++++++++++++++
+ src/lib/ecore_drm/ecore_drm_evdev.c | 15 ++++++++++++++-
+ 2 files changed, 29 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 57c267a..97b8828 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3058,6 +3058,7 @@ AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
+
+
+ #### Ecore_Drm
++have_libinput_new="no"
+ EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"])
+
+ ### Additional options to configure
+@@ -3081,6 +3082,20 @@ EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
+ EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
+ EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
+
++# API change from 0.7 to 0.8. So we define this to support both for now.
++PKG_CHECK_EXISTS([libinput >= 0.8.0],
++ [have_libinput_new="yes"],
++ [have_libinput_new="no"])
++AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
++AC_MSG_RESULT([${have_libinput_new}])
++if test "x${have_libinput_new}" = "xyes";then
++ AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
++fi
++if test "x${have_libinput_new}" = "xno";then
++ AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
++fi
++
++
+ EFL_EVAL_PKGS([ECORE_DRM])
+
+ ### Checks for header files
+diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c b/src/lib/ecore_drm/ecore_drm_evdev.c
+index 8d6bbed..42b61f4 100644
+--- a/src/lib/ecore_drm/ecore_drm_evdev.c
++++ b/src/lib/ecore_drm/ecore_drm_evdev.c
+@@ -503,7 +503,6 @@ _device_handle_axis(struct libinput_device *device, struct libinput_event_pointe
+
+ if (!(ev = calloc(1, sizeof(Ecore_Event_Mouse_Wheel)))) return;
+
+- axis = libinput_event_pointer_get_axis(event);
+ timestamp = libinput_event_pointer_get_time(event);
+
+ ev->window = (Ecore_Window)input->dev->window;
+@@ -522,8 +521,22 @@ _device_handle_axis(struct libinput_device *device, struct libinput_event_pointe
+ ev->root.x = ev->x;
+ ev->root.y = ev->y;
+
++#ifdef LIBINPUT_HIGHER_08
++ axis = LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL;
++ if (libinput_event_pointer_has_axis(event, axis)) {
++ ev->z = libinput_event_pointer_get_axis_value(event, axis);
++ }
++
++ axis = LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL;
++ if (libinput_event_pointer_has_axis(event, axis)) {
++ ev->direction = 1;
++ ev->z = libinput_event_pointer_get_axis_value(event, axis);
++ }
++#else
++ axis = libinput_event_pointer_get_axis(event);
+ if (axis == LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL) ev->direction = 1;
+ ev->z = libinput_event_pointer_get_axis_value(event);
++#endif
+
+ ecore_event_add(ECORE_EVENT_MOUSE_WHEEL, ev, NULL, NULL);
+ }
+--
+2.3.1
+