dev-libs/efl: support gnutls-3.4
authorAlon Bar-Lev <alonbl@gentoo.org>
Sat, 4 Mar 2017 00:36:03 +0000 (02:36 +0200)
committerAlon Bar-Lev <alonbl@gentoo.org>
Sat, 4 Mar 2017 00:37:16 +0000 (02:37 +0200)
Bug: 584924

Package-Manager: Portage-2.3.3, Repoman-2.3.1

dev-libs/efl/efl-1.17.0-r1.ebuild [new file with mode: 0644]
dev-libs/efl/files/efl-1.17.0-gnutls-3.4.patch [new file with mode: 0644]

diff --git a/dev-libs/efl/efl-1.17.0-r1.ebuild b/dev-libs/efl/efl-1.17.0-r1.ebuild
new file mode 100644 (file)
index 0000000..27b0c68
--- /dev/null
@@ -0,0 +1,279 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+MY_P=${P/_/-}
+
+if [[ "${PV}" == "9999" ]] ; then
+       EGIT_SUB_PROJECT="core"
+       EGIT_URI_APPEND="${PN}"
+elif [[ *"${PV}" == *"_pre"* ]] ; then
+       MY_P=${P%%_*}
+       SRC_URI="https://download.enlightenment.org/pre-releases/${MY_P}.tar.xz"
+       EKEY_STATE="snap"
+else
+       SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${MY_P}.tar.xz"
+       EKEY_STATE="release"
+fi
+
+inherit enlightenment pax-utils
+
+DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
+IUSE="+bmp debug drm +eet egl fbcon +fontconfig fribidi gif gles glib gnutls gstreamer harfbuzz +ico ibus jpeg2k libressl neon oldlua opengl ssl physics pixman +png +ppm +psd pulseaudio scim sdl sound systemd tga tiff tslib v4l valgrind wayland webp X xim xine xpm"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+REQUIRED_USE="
+       pulseaudio?     ( sound )
+       opengl?         ( || ( X sdl wayland ) )
+       gles?           ( || ( X wayland ) )
+       gles?           ( !sdl )
+       gles?           ( egl )
+       sdl?            ( opengl )
+       wayland?        ( egl !opengl gles )
+       xim?            ( X )
+"
+
+RDEPEND="
+       drm? (
+               >=dev-libs/libinput-0.8
+               media-libs/mesa[gbm]
+               >=x11-libs/libdrm-2.4
+               >=x11-libs/libxkbcommon-0.3.0
+       )
+       fontconfig? ( media-libs/fontconfig )
+       fribidi? ( dev-libs/fribidi )
+       gif? ( media-libs/giflib )
+       glib? ( dev-libs/glib:2 )
+       gnutls? ( net-libs/gnutls )
+       !gnutls? (
+               ssl? (
+                       !libressl? ( dev-libs/openssl:0= )
+                       libressl? ( dev-libs/libressl )
+               )
+       )
+       gstreamer? (
+               media-libs/gstreamer:1.0
+               media-libs/gst-plugins-base:1.0
+       )
+       harfbuzz? ( media-libs/harfbuzz )
+       ibus? ( app-i18n/ibus )
+       jpeg2k? ( media-libs/openjpeg:0 )
+       !oldlua? ( >=dev-lang/luajit-2.0.0 )
+       oldlua? ( dev-lang/lua:* )
+       physics? ( >=sci-physics/bullet-2.80 )
+       pixman? ( x11-libs/pixman )
+       png? ( media-libs/libpng:0= )
+       pulseaudio? ( media-sound/pulseaudio )
+       scim? ( app-i18n/scim )
+       sdl? (
+               media-libs/libsdl2
+               virtual/opengl
+       )
+       sound? ( media-libs/libsndfile )
+       systemd? ( sys-apps/systemd )
+       tiff? ( media-libs/tiff:0= )
+       tslib? ( x11-libs/tslib )
+       valgrind? ( dev-util/valgrind )
+       wayland? (
+               >=dev-libs/wayland-1.8.0
+               >=x11-libs/libxkbcommon-0.3.1
+               media-libs/mesa[gles2,wayland]
+       )
+       webp? ( media-libs/libwebp )
+       X? (
+               x11-libs/libXcursor
+               x11-libs/libX11
+               x11-libs/libXcomposite
+               x11-libs/libXdamage
+               x11-libs/libXext
+               x11-libs/libXfixes
+               x11-libs/libXinerama
+               x11-libs/libXp
+               x11-libs/libXrandr
+               x11-libs/libXrender
+               x11-libs/libXtst
+               x11-libs/libXScrnSaver
+
+               opengl? (
+                       x11-libs/libX11
+                       x11-libs/libXrender
+                       virtual/opengl
+               )
+
+               gles? (
+                       x11-libs/libX11
+                       x11-libs/libXrender
+                       virtual/opengl
+               )
+       )
+       xine? ( >=media-libs/xine-lib-1.1.1 )
+       xpm? ( x11-libs/libXpm )
+
+       sys-apps/dbus
+       >=sys-apps/util-linux-2.20.0
+       sys-libs/zlib
+       virtual/jpeg:0=
+
+       !dev-libs/ecore
+       !dev-libs/edbus
+       !dev-libs/eet
+       !dev-libs/eeze
+       !dev-libs/efreet
+       !dev-libs/eina
+       !dev-libs/eio
+       !dev-libs/embryo
+       !dev-libs/eobj
+       !dev-libs/ephysics
+       !media-libs/edje
+       !media-libs/emotion
+       !media-libs/ethumb
+       !media-libs/evas
+"
+#external lz4 support currently broken because of unstable ABI/API
+#      app-arch/lz4
+
+#soft blockers added above for binpkg users
+#hard blocks are needed for building
+CORE_EFL_CONFLICTS="
+       !!dev-libs/ecore
+       !!dev-libs/edbus
+       !!dev-libs/eet
+       !!dev-libs/eeze
+       !!dev-libs/efreet
+       !!dev-libs/eina
+       !!dev-libs/eio
+       !!dev-libs/embryo
+       !!dev-libs/eobj
+       !!dev-libs/ephysics
+       !!media-libs/edje
+       !!media-libs/emotion
+       !!media-libs/ethumb
+       !!media-libs/evas
+"
+
+DEPEND="
+       ${CORE_EFL_CONFLICTS}
+
+       ${RDEPEND}
+       doc? ( app-doc/doxygen )
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+       enlightenment_src_prepare
+
+       epatch "${FILESDIR}/${P}-gnutls-3.4.patch"
+
+       # Remove stupid sleep command.
+       # Also back out gnu make hack that causes regen of Makefiles.
+       # Delete var setting that causes the build to abort.
+       sed -i \
+               -e '/sleep 10/d' \
+               -e '/^#### Work around bug in automake check macro$/,/^#### Info$/d' \
+               -e '/BARF_OK=/s:=.*:=:' \
+               configure || die
+}
+
+src_configure() {
+       if use ssl && use gnutls ; then
+               einfo "You enabled both USE=ssl and USE=gnutls, but only one can be used;"
+               einfo "gnutls has been selected for you."
+       fi
+       if use opengl && use gles ; then
+               einfo "You enabled both USE=opengl and USE=gles, but only one can be used;"
+               einfo "opengl has been selected for you."
+       fi
+
+       E_ECONF=(
+               --with-profile=$(usex debug debug release)
+               --with-crypto=$(usex gnutls gnutls $(usex ssl openssl none))
+               --with-x11=$(usex X xlib none)
+               $(use_with X x)
+               --with-opengl=$(usex opengl full $(usex gles es none))
+               --with-glib=$(usex glib)
+               --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb
+
+               $(use_enable bmp image-loader-bmp)
+               $(use_enable bmp image-loader-wbmp)
+               $(use_enable drm)
+               $(use_enable doc)
+               $(use_enable eet image-loader-eet)
+               $(use_enable egl)
+               $(use_enable fbcon fb)
+               $(use_enable fontconfig)
+               $(use_enable fribidi)
+               $(use_enable gif image-loader-gif)
+               $(use_enable gstreamer gstreamer1)
+               $(use_enable harfbuzz)
+               $(use_enable ico image-loader-ico)
+               $(use_enable ibus)
+               $(use_enable jpeg2k image-loader-jp2k)
+               $(use_enable neon)
+               $(use_enable nls)
+               $(use_enable oldlua lua-old)
+               $(use_enable physics)
+               $(use_enable pixman)
+               $(use_enable pixman pixman-font)
+               $(use_enable pixman pixman-rect)
+               $(use_enable pixman pixman-line)
+               $(use_enable pixman pixman-poly)
+               $(use_enable pixman pixman-image)
+               $(use_enable pixman pixman-image-scale-sample)
+               $(use_enable png image-loader-png)
+               $(use_enable ppm image-loader-pmaps)
+               $(use_enable psd image-loader-psd)
+               $(use_enable pulseaudio)
+               $(use_enable scim)
+               $(use_enable sdl)
+               $(use_enable sound audio)
+               $(use_enable systemd)
+               $(use_enable tga image-loader-tga)
+               $(use_enable tiff image-loader-tiff)
+               $(use_enable tslib)
+               $(use_enable v4l v4l2)
+               $(use_enable valgrind)
+               $(use_enable wayland)
+               $(use_enable webp image-loader-webp)
+               $(use_enable xim)
+               $(use_enable xine)
+               $(use_enable xpm image-loader-xpm)
+               --enable-cserve
+               --enable-image-loader-generic
+               --enable-image-loader-jpeg
+
+               --disable-tizen
+               --disable-gesture
+               --disable-gstreamer
+               --enable-xinput2
+               --disable-xinput22
+               --disable-multisense
+               --enable-libmount
+
+               # external lz4 support currently broken because of unstable ABI/API
+               #--enable-liblz4
+       )
+
+       enlightenment_src_configure
+}
+
+src_compile() {
+       if host-is-pax && ! use oldlua ; then
+               # We need to build the lua code first so we can pax-mark it. #547076
+               local target='_e_built_sources_target_gogogo_'
+               printf '%s: $(BUILT_SOURCES)\n' "${target}" >> src/Makefile || die
+               emake -C src "${target}"
+               emake -C src bin/elua/elua
+               pax-mark m src/bin/elua/.libs/elua
+       fi
+       enlightenment_src_compile
+}
+
+src_install() {
+       MAKEOPTS+=" -j1"
+
+       enlightenment_src_install
+}
diff --git a/dev-libs/efl/files/efl-1.17.0-gnutls-3.4.patch b/dev-libs/efl/files/efl-1.17.0-gnutls-3.4.patch
new file mode 100644 (file)
index 0000000..6c5f8eb
--- /dev/null
@@ -0,0 +1,39 @@
+From 6f42992b4f1110f44d2db57cd6fe42559cfffdc2 Mon Sep 17 00:00:00 2001
+From: Cedric BAIL <cedric@osg.samsung.com>
+Date: Wed, 21 Sep 2016 10:33:44 -0700
+Subject: [PATCH] eet: fix gnutls support with newer version.
+
+---
+ src/lib/eet/eet_cipher.c | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/src/lib/eet/eet_cipher.c b/src/lib/eet/eet_cipher.c
+index a34fdff..cf9ef71 100644
+--- a/src/lib/eet/eet_cipher.c
++++ b/src/lib/eet/eet_cipher.c
+@@ -679,7 +679,6 @@ eet_identity_check(const void   *data_base,
+    gnutls_datum_t datum;
+    gnutls_datum_t signature;
+    gnutls_pubkey_t pubkey;
+-   gnutls_digest_algorithm_t hash_algo;
+    unsigned char *hash;
+    gcry_md_hd_t md;
+    int err;
+@@ -717,10 +716,10 @@ eet_identity_check(const void   *data_base,
+    if (gnutls_pubkey_import_x509(pubkey, cert, 0) < 0)
+      goto on_error;
+-   if (gnutls_pubkey_get_verify_algorithm(pubkey, &signature, &hash_algo) < 0)
+-     goto on_error;
+-
+-   if (gnutls_pubkey_verify_hash(pubkey, 0, &datum, &signature) < 0)
++   if (gnutls_pubkey_verify_hash2(pubkey,
++                                  gnutls_x509_crt_get_signature_algorithm(cert),
++                                  0,
++                                  &datum, &signature) < 0)
+      goto on_error;
+    if (sha1)
+-- 
+2.10.2
+