summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorBernard Cafarelli <voyageur@gentoo.org>2015-01-22 09:24:32 +0000
committerBernard Cafarelli <voyageur@gentoo.org>2015-01-22 09:24:32 +0000
commitaad15bc47731773b09a614ad7f437819fc7efc22 (patch)
tree19ab792be38e987c503102b2b650b4abeef92281 /x11-wm
parentold (diff)
downloadgentoo-2-aad15bc47731773b09a614ad7f437819fc7efc22.tar.gz
gentoo-2-aad15bc47731773b09a614ad7f437819fc7efc22.tar.bz2
gentoo-2-aad15bc47731773b09a614ad7f437819fc7efc22.zip
Backport webp detection patch from upstream, thanks Charlie Gehlin <charlie@gehlin.com> in bug #537240
(Portage version: 2.2.15/cvs/Linux x86_64, signed Manifest commit with key C74525F2)
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/windowmaker/ChangeLog7
-rw-r--r--x11-wm/windowmaker/files/windowmaker-0.95.6-webp_detection.patch70
-rw-r--r--x11-wm/windowmaker/windowmaker-0.95.6.ebuild4
3 files changed, 79 insertions, 2 deletions
diff --git a/x11-wm/windowmaker/ChangeLog b/x11-wm/windowmaker/ChangeLog
index bb715369ce86..96fe43c371e6 100644
--- a/x11-wm/windowmaker/ChangeLog
+++ b/x11-wm/windowmaker/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for x11-wm/windowmaker
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/windowmaker/ChangeLog,v 1.150 2015/01/21 09:59:33 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/windowmaker/ChangeLog,v 1.151 2015/01/22 09:24:32 voyageur Exp $
+
+ 22 Jan 2015; Bernard Cafarelli <voyageur@gentoo.org>
+ windowmaker-0.95.6.ebuild, +files/windowmaker-0.95.6-webp_detection.patch:
+ Backport webp detection patch from upstream, thanks Charlie Gehlin
+ <charlie@gehlin.com> in bug #537240
21 Jan 2015; Bernard Cafarelli <voyageur@gentoo.org>
windowmaker-0.92.0-r11.ebuild, -windowmaker-0.95.3-r1.ebuild,
diff --git a/x11-wm/windowmaker/files/windowmaker-0.95.6-webp_detection.patch b/x11-wm/windowmaker/files/windowmaker-0.95.6-webp_detection.patch
new file mode 100644
index 000000000000..a451486288f6
--- /dev/null
+++ b/x11-wm/windowmaker/files/windowmaker-0.95.6-webp_detection.patch
@@ -0,0 +1,70 @@
+From e1146e56e08af2a66aecedffc6ff31d8ddcb25f3 Mon Sep 17 00:00:00 2001
+From: Christophe CURIS <christophe.curis@free.fr>
+Date: Mon, 15 Dec 2014 23:49:29 +0100
+Subject: [PATCH] configure: rewrote the detection for WebP image library
+
+Unfortunately, the detection was broken because the header is using a hack
+on the function name to provide compatibility between different versions of
+the API, which means the usual link test, which uses a known name of a
+symbol, cannot work without also using the header to get the hack applied
+on the function's name.
+
+The new detection mechanism now simply check for both header and link at
+the same time, so we're probably safe until a Major API change is decided,
+in which case we will also have to update WRaster's code anyway.
+
+Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
+---
+ m4/wm_imgfmt_check.m4 | 36 ++++++++++++++++++++++++++++--------
+ 1 files changed, 28 insertions(+), 8 deletions(-)
+
+diff --git a/m4/wm_imgfmt_check.m4 b/m4/wm_imgfmt_check.m4
+index cad2d72..d07e618 100644
+--- a/m4/wm_imgfmt_check.m4
++++ b/m4/wm_imgfmt_check.m4
+@@ -187,14 +187,34 @@ AC_DEFUN_ONCE([WM_IMGFMT_CHECK_TIFF],
+ # the variable 'supported_gfx'
+ # When not found, append info to variable 'unsupported'
+ AC_DEFUN_ONCE([WM_IMGFMT_CHECK_WEBP],
+-[WM_LIB_CHECK([WEBP], ["-lwebp"], [VP8DecodeLayer], [$XLFLAGS $XLIBS],
+- [wm_save_CFLAGS="$CFLAGS"
+- AS_IF([wm_fn_lib_try_compile "webp/decode.h" "" "return 0" ""],
+- [],
+- [AC_MSG_ERROR([found $CACHEVAR but could not find appropriate header - are you missing libwebp-dev package?])])
+- CFLAGS="$wm_save_CFLAGS"],
+- [supported_gfx], [GFXLIBS])dnl
+-]) dnl AC_DEFUN
++[AS_IF([test "x$enable_webp" = "xno"],
++ [unsupported="$unsupported WebP"],
++ [AC_CACHE_CHECK([for WebP support library], [wm_cv_imgfmt_webp],
++ [wm_cv_imgfmt_webp=no
++ dnl
++ dnl The library is using a special trick on the functions to provide
++ dnl compatibility between versions, so we cannot try linking against
++ dnl a symbol without first using the header to handle it
++ wm_save_LIBS="$LIBS"
++ LIBS="$LIBS -lwebp"
++ AC_TRY_LINK(
++ [@%:@include <webp/decode.h>],
++ [WebPGetFeatures(NULL, 1024, NULL);],
++ [wm_cv_imgfmt_webp="-lwebp"])
++ LIBS="$wm_save_LIBS"
++ AS_IF([test "x$enable_webp$wm_cv_imgfmt_webp" = "xyesno"],
++ [AC_MSG_ERROR([explicit WebP support requested but no library found])])dnl
++ ])
++ AS_IF([test "x$wm_cv_imgfmt_webp" = "xno"],
++ [unsupported="$unsupported WebP"
++ enable_webp="no"],
++ [supported_gfx="$supported_gfx WebP"
++ WM_APPEND_ONCE([$wm_cv_imgfmt_webp], [GFXLIBS])dnl
++ AC_DEFINE([USE_WEBP], [1],
++ [defined when valid Webp library with header was found])])dnl
++ ])
++AM_CONDITIONAL([USE_WEBP], [test "x$enable_webp" != "xno"])dnl
++])
+
+
+ # WM_IMGFMT_CHECK_XPM
+--
+1.7.6.6.GIT
+
diff --git a/x11-wm/windowmaker/windowmaker-0.95.6.ebuild b/x11-wm/windowmaker/windowmaker-0.95.6.ebuild
index 45e1dcc258b3..2b637985cbb7 100644
--- a/x11-wm/windowmaker/windowmaker-0.95.6.ebuild
+++ b/x11-wm/windowmaker/windowmaker-0.95.6.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/windowmaker/windowmaker-0.95.6.ebuild,v 1.3 2015/01/21 09:59:33 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/windowmaker/windowmaker-0.95.6.ebuild,v 1.4 2015/01/22 09:24:32 voyageur Exp $
EAPI=5
inherit autotools eutils
@@ -45,6 +45,8 @@ src_prepare() {
done;
epatch "${FILESDIR}"/${PN}-0.95.3-fix_underlinking.patch
+ epatch "${FILESDIR}"/${P}-webp_detection.patch
+
eautoreconf
}