From 0152253521033bf2fdfffdbf7238e44a0d405e4d Mon Sep 17 00:00:00 2001 From: Thomas Raschbacher Date: Sun, 11 Mar 2018 22:22:57 +0100 Subject: new ebuild for efl without eclass and patch for libunwind --- dev-libs/efl/Manifest | 4 + dev-libs/efl/efl-1.20.7.ebuild | 273 +++++++++++++++++++++ .../efl/files/efl-1.20.7_autotools_libunwind.patch | 117 +++++++++ dev-libs/efl/metadata.xml | 32 +++ 4 files changed, 426 insertions(+) create mode 100644 dev-libs/efl/Manifest create mode 100644 dev-libs/efl/efl-1.20.7.ebuild create mode 100644 dev-libs/efl/files/efl-1.20.7_autotools_libunwind.patch create mode 100644 dev-libs/efl/metadata.xml diff --git a/dev-libs/efl/Manifest b/dev-libs/efl/Manifest new file mode 100644 index 0000000..6f40cae --- /dev/null +++ b/dev-libs/efl/Manifest @@ -0,0 +1,4 @@ +AUX efl-1.20.7_autotools_libunwind.patch 3508 SHA256 8ff054bc71d7f55b1b46d827b7b7aa3a9a703ae0b268aa678deeec23cb3a5de8 SHA512 9921aa489c923a70f9b057409dbb337153c7551f07e0a9007c6576bb6e673ba72146dbbe9e200574ce558c9a75b2895aa28499c4b276e3fb7e71a25b88e78042 WHIRLPOOL b373100b78f50157d08e7422f45912e321d182e0984449186143760d66dbeaf45b1a9d2a4b11bb55d3d7fb938c2b62b68020272d90a97b6c79bd9cd8ba592354 +DIST efl-1.20.7.tar.xz 65509444 SHA256 b0a9b765bcd7b012f1072da1d491fc8671aa089473f746901d93f5807a2c76fe SHA512 c1bf18b74316cf9bd0bc16635c216ca0d8005b2ded1c014b22590388e37368343e5e5318f526dcb042cfce8ab2c7a82655e4718cbcac5dd1ed0d2522a7a2d7de WHIRLPOOL cd5b7812c930e1878b858c5cb85dce7f180794627bc439f1b1d3cc78cdef1fb857788d6139484dadb69621bad41caa592f67df1e2d43b0f912044602441a1533 +EBUILD efl-1.20.7.ebuild 6905 SHA256 900b59c02bb35b6f171b9cf939ae87cff71dd0d5bb756440aae844e1a676bc9e SHA512 4a8ea58eb94cf22b6fd90c48c6f970a90ea8146ce2cfd8548826ca9a9658b1fc3e3ec55c01a38abd4bb249893d7c6c2a85755996dd108bfbdbcf46b19761bbad WHIRLPOOL 99c25a822891719c3a0aeb225a321a5976561778e2bb4171cd72aa8bda5b988bc758eaebd815332b1e147b8be0c4d6450b3e54e3af5041fab2765947416b14c3 +MISC metadata.xml 1610 SHA256 90c48fd43db13176074fb6560242b3303cff3e4ad4eed059b5730d759148d6bb SHA512 5bd3f346a65e6e21e0f12cda8bff96b5ef2ff37c49a8cc77c0fa9d08bb8398cbab284f060debdbd0781e08de7643111e5acc289c4129153f351790c8b3864217 WHIRLPOOL af0b50d14d8a08743290447c73b4e2eb22021a00490b577f40e1411f827f3fa3904f51059f21db0bdfd9878ed897081c9ef6e91bc55b10af9975bd9a90d98b8a diff --git a/dev-libs/efl/efl-1.20.7.ebuild b/dev-libs/efl/efl-1.20.7.ebuild new file mode 100644 index 0000000..1ee8e15 --- /dev/null +++ b/dev-libs/efl/efl-1.20.7.ebuild @@ -0,0 +1,273 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +MY_P=${P/_/-} +SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${MY_P}.tar.xz" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris" +HOMEPAGE="https://www.enlightenment.org/about-efl" + +inherit pax-utils +#eutils autotools + +DESCRIPTION="Enlightenment Foundation Libraries all-in-one package" + +LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB" +IUSE="+bmp debug doc drm +eet egl fbcon +fontconfig fribidi gif gles glib gnutls gstreamer harfbuzz +ico ibus jpeg2k libressl neon nls oldlua opengl ssl physics pixman +png postscript +ppm +psd pulseaudio raw scim sdl sound systemd tga tiff tslib unwind v4l valgrind wayland webp X xim xine xpm" + +SLOT="0" + +PATCHES=( + "${FILESDIR}/efl-1.20.7_autotools_libunwind.patch" +) + +REQUIRED_USE=" + pulseaudio? ( sound ) + opengl? ( || ( X sdl wayland ) ) + gles? ( || ( X wayland ) ) + gles? ( !sdl ) + gles? ( egl ) + sdl? ( opengl ) + wayland? ( egl !opengl gles ) + xim? ( X ) +" +# TODO: make gstreamer fixed dep +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 ) + postscript? ( app-text/libspectre ) + png? ( media-libs/libpng:0= ) + pulseaudio? ( media-sound/pulseaudio ) + raw? ( media-libs/libraw ) + 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 ) + unwind? ( sys-libs/libunwind ) + 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/elementary + !media-libs/emotion + !media-libs/ethumb + !media-libs/evas + !media-plugins/emotion_generic_players + !media-plugins/evas_generic_loaders +" +#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() { +# epatch "${FILESDIR}/efl-1.20.7_autotools_libunwind.patch" +# eautoreconf +#} + +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 + + 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) \ + $(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) \ + --enable-gstreamer1 \ + --disable-gstreamer \ + $(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 postscript spectre) \ + $(use_enable ppm image-loader-pmaps) \ + $(use_enable psd image-loader-psd) \ + $(use_enable pulseaudio) \ + $(use_enable raw libraw) \ + $(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) \ + $(use_enable unwind libunwind) \ + --enable-cserve \ + --enable-image-loader-generic \ + --enable-image-loader-jpeg \ + --disable-tizen \ + --disable-gesture \ + --disable-gstreamer \ + --enable-xinput2 \ + --disable-xinput22 \ + --enable-libmount + + # require gstreamer since upstream strongly discourages not using it + # $(use_enable gstreamer gstreamer1) \ + + + # external lz4 support currently broken because of unstable ABI/API + #--enable-liblz4 +} + +#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.20.7_autotools_libunwind.patch b/dev-libs/efl/files/efl-1.20.7_autotools_libunwind.patch new file mode 100644 index 0000000..049a958 --- /dev/null +++ b/dev-libs/efl/files/efl-1.20.7_autotools_libunwind.patch @@ -0,0 +1,117 @@ +--- efl-1.20.7/configure.ac_orig 2018-03-11 16:41:25.645887076 +0100 ++++ efl-1.20.7/configure.ac 2018-03-11 20:46:03.240998009 +0100 +@@ -905,7 +905,20 @@ + ;; + esac + +-EFL_CHECK_LIBUNWIND ++# Libunwind ++want_libunwind="yes" ++AC_ARG_ENABLE([libunwind], ++ [AS_HELP_STRING([--enable-libunwind],[enable libunwind support @<:@default=enabled@:>@])], ++ [ ++ if test "x${enableval}" = "xyes"; then ++ want_libunwind="yes" ++ else ++ want_libunwind="no" ++ fi ++ ], ++ [want_libunwind="yes"]) ++ ++EFL_CHECK_LIBUNWIND("$want_libunwind") + + EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"]) + EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"]) +--- efl-1.20.7/m4/efl_libunwind.m4_orig 2018-03-11 17:32:24.348118586 +0100 ++++ efl-1.20.7/m4/efl_libunwind.m4 2018-03-11 20:49:10.191012159 +0100 +@@ -11,40 +11,53 @@ + dnl in an obscure place on the system (but whom the compilers + dnl distributed by Apple are aware of). + dnl +-dnl Usage: EFL_CHECK_LIBUNWIND ++dnl Usage: EFL_CHECK_LIBUNWIND([WANT_LIBUNWIND]) + dnl will inconditionaly set UNWIND_CFLAGS and UNWIND_LIBS + dnl to follow pkg-config fashion. + dnl + AC_DEFUN([EFL_CHECK_LIBUNWIND], + [dnl +- dnl First, check with pkg-config +- PKG_CHECK_MODULES([UNWIND], [libunwind libunwind-generic], +- [have_unwind=yes], [have_unwind=no]) ++ dnl check if the user even wants libunwind ++ if test "$1" = "yes"; then ++ dnl First, check with pkg-config ++ PKG_CHECK_MODULES([UNWIND], [libunwind libunwind-generic], ++ [have_unwind=yes], [have_unwind=no]) + +- dnl No pkg-config file... maybe system built-in? +- if test "x${have_unwind}" = "xno"; then +- AC_LANG_PUSH([C]) +- AC_LINK_IFELSE( +- [AC_LANG_PROGRAM( +- [[ ++ dnl No pkg-config file... maybe system built-in? ++ if test "x${have_unwind}" = "xno"; then ++ AC_LANG_PUSH([C]) ++ AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[ + #include +- ]], +- [[ +- unw_context_t ctx; +- unw_getcontext(&ctx); +- ]] +- )], +- [ +- have_unwind="yes" +- ], +- [ +- have_unwind="no" +- ] +- ) +- AC_MSG_CHECKING([for native libunwind]) +- AC_MSG_RESULT([${have_unwind}]) +- AC_LANG_POP([C]) ++ ]], ++ [[ ++ unw_context_t ctx; ++ unw_getcontext(&ctx); ++ ]] ++ )], ++ [ ++ have_unwind="yes" ++ ], ++ [ ++ have_unwind="no" ++ ] ++ ) ++ AC_MSG_CHECKING([for native libunwind]) ++ AC_MSG_RESULT([${have_unwind}]) ++ AC_LANG_POP([C]) + ++ dnl Provide dummy variables to automake. ++ dnl In case pkg-config succeeded, these will be set and ++ dnl used in other automake files. To avoid, problems, ++ dnl we define empty variables. ++ UNWIND_CFLAGS="" ++ UNWIND_LIBS="" ++ AC_SUBST([UNWIND_CFLAGS]) ++ AC_SUBST([UNWIND_LIBS]) ++ fi ++ else ++ have_unwind="no" + dnl Provide dummy variables to automake. + dnl In case pkg-config succeeded, these will be set and + dnl used in other automake files. To avoid, problems, +@@ -52,9 +65,8 @@ + UNWIND_CFLAGS="" + UNWIND_LIBS="" + AC_SUBST([UNWIND_CFLAGS]) +- AC_SUBST([UNWIND_LIBS]) ++ AC_SUBST([UNWIND_LIBS]) + fi +- + AS_IF([test "x$have_unwind" = "xyes"], + [AC_DEFINE([HAVE_UNWIND], [1], [Have libunwind])]) + AM_CONDITIONAL(HAVE_UNWIND, test "x$have_unwind" = "xyes") diff --git a/dev-libs/efl/metadata.xml b/dev-libs/efl/metadata.xml new file mode 100644 index 0000000..534fc51 --- /dev/null +++ b/dev-libs/efl/metadata.xml @@ -0,0 +1,32 @@ + + + + + lordvan@gentoo.org + Thomas raschbacher + + + Enable WBMP image loader + Enable DRM engine + Enable Eet image loader + Enable EGL rendering + Enable bidirectional text support + Enable the OpenGL ES GL implementation + Enable dev-libs/glib support + Enable complex text shaping and layout support + Enable Intelligent Input Bus + Enable Ico image loader + USE dev-lang/lua instead of dev-lang/luajit + Enable Bullet physics effects and support + Enable PixMan for software rendering + Enable PMAPS image loader + Enable PSD image loader + Enable Smart Common Input Method + Enable Tga image loader + Enable x11-libs/tslib for touchscreen events + Enable debug support via sys-libs/libunwind + Enable usage of dev-util/valgrind in debug + Enable WebP image loader + Enable X Input Method + + -- cgit v1.2.3-65-gdbad