New commits:
commit e264a23ccfecb32f487f9a55474e686cf8c4e703
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>
gnutls: Apply gets.patch/x509.patch for DEFAULT/2.12 branch (Bug #493)
* gets.patch: Fix gets() removal from glibc 2.16 (Bug #493)
* x509.patch: Fix x509 compilation (found after Bug #493 fixed)
commit 7b1c3928fbd5089013731835c853699fdb8224af
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>
eina: Updated stable to 1.7.4
Remove SVN option, this code is now in the efl package
Remove posix and coverage configure options
configure: WARNING: unrecognized options: --enable-posix-threads,
--disable-coverage
commit 8b8fc2c43fd5e52f9d286df792bd3d792bfa18c8
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>
efl: Optionally depends on libwebp
diff --git a/crypto/gnutls/HISTORY b/crypto/gnutls/HISTORY
index 0a39617..d05bee4 100644
--- a/crypto/gnutls/HISTORY
+++ b/crypto/gnutls/HISTORY
@@ -1,3 +1,8 @@
+2013-01-04 Eric Sandall <sandalle AT sourcemage.org>
+ * PRE_BUILD: Apply gets.patch and x509.patch for DEFAULT and 2.12
branch
+ * gets.patch: Fix gets() removal from glibc 2.16 (Bug #493)
+ * x509.patch: Fix x509 compilation (found after Bug #493 fixed)
+
2012-12-29 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: 3.1,5
* PREPARE: add new branch 3.1
diff --git a/crypto/gnutls/PRE_BUILD b/crypto/gnutls/PRE_BUILD
new file mode 100755
index 0000000..19ad9af
--- /dev/null
+++ b/crypto/gnutls/PRE_BUILD
@@ -0,0 +1,12 @@
+default_pre_build &&
+
+# Fixes from https://aur.archlinux.org/packages/gnutls2/ for gnutls 2.12
+# May affect other 2.x versions, untested for them
+if [[ "x${GNUTLS_BRANCH}" == "2.12" ]] || [[ "x${GNUTLS_BRANCH}" ==
"xDEFAULT" ]]
+then
+ message "${MESSAGE_COLOR}Enabling insecure gets()...${DEFAULT_COLOR}" &&
+ cd "${SOURCE_DIRECTORY}" &&
+ patch -p1 < "${SPELL_DIRECTORY}"/gets.patch &&
+ message "${MESSAGE_COLOR}Apply x509 patch...${DEFAULT_COLOR}" &&
+ patch "${SOURCE_DIRECTORY}"/lib/x509/x509.c "${SPELL_DIRECTORY}"/x509.patch
+fi
diff --git a/crypto/gnutls/gets.patch b/crypto/gnutls/gets.patch
new file mode 100644
index 0000000..2ce70d3
--- /dev/null
+++ b/crypto/gnutls/gets.patch
@@ -0,0 +1,57 @@
+# From http://git.buildroot.net/buildroot/commit/?id=29b792690b4939b414fef1ad06f71c53feb1ed75
+From 855f72c4fe7f4bbf2137ab60357ae3b27bb65185 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni AT free-electrons.com>
+Date: Sat, 17 Nov 2012 17:45:41 +0100
+Subject: [PATCH] gets() no longer exists in (e)glibc >= 2.16
+
+gnutls has already updated gnulib upstream in more recent versions
+(3.x) but apparently not in the 2.x branch that we are using.
+
+This patch comes from OpenEmbedded, and has originally been written by
+Khem Raj <raj.khem AT gmail.com>.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni AT free-electrons.com>
+---
+ gl/stdio.in.h | 2 ++
+ lib/gl/stdio.in.h | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/gl/stdio.in.h b/gl/stdio.in.h
+index 9dc7c4a..8cb19d7 100644
+--- a/gl/stdio.in.h
++++ b/gl/stdio.in.h
+@@ -710,11 +710,13 @@ _GL_CXXALIAS_RPL (gets, char *, (char *s));
+ _GL_CXXALIAS_SYS (gets, char *, (char *s));
+ # undef gets
+ # endif
++# if defined gets
+ _GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++# endif
+ #endif
+
+
+diff --git a/lib/gl/stdio.in.h b/lib/gl/stdio.in.h
+index 03bea2a..cb6483b 100644
+--- a/lib/gl/stdio.in.h
++++ b/lib/gl/stdio.in.h
+@@ -710,11 +710,13 @@ _GL_CXXALIAS_RPL (gets, char *, (char *s));
+ _GL_CXXALIAS_SYS (gets, char *, (char *s));
+ # undef gets
+ # endif
++# if defined gets
+ _GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++# endif
+ #endif
+
+
+--
+1.7.9.5
+
diff --git a/crypto/gnutls/x509.patch b/crypto/gnutls/x509.patch
new file mode 100644
index 0000000..46127b4
--- /dev/null
+++ b/crypto/gnutls/x509.patch
@@ -0,0 +1,66 @@
+# From https://aur.archlinux.org/packages/gnutls2/
+diff -Naur gnutls-2.12.20.orig/lib/x509/x509.c gnutls-2.12.20/lib/x509/x509.c
+--- gnutls-2.12.20.orig/lib/x509/x509.c 2013-01-04 17:20:52.841585812
-0800
++++ gnutls-2.12.20/lib/x509/x509.c 2013-01-04 17:29:30.655702758 -0800
+@@ -2060,10 +2060,12 @@
+ int irdn, int iava, gnutls_x509_ava_st * ava)
+ {
+ ASN1_TYPE rdn, elem;
++ ASN1_DATA_NODE vnode;
+ long len;
+ int lenlen, remlen, ret;
+ char rbuf[ASN1_MAX_NAME_SIZE];
+- unsigned char cls, *ptr;
++ unsigned char cls;
++ const unsigned char *ptr;
+
+ iava++;
+ irdn++; /* 0->1, 1->2 etc */
+@@ -2084,8 +2086,15 @@
+ return GNUTLS_E_ASN1_ELEMENT_NOT_FOUND;
+ }
+
+- ava->oid.data = elem->value;
+- ava->oid.size = elem->value_len;
++ ret = asn1_read_node_value(elem, &vnode);
++ if (ret != ASN1_SUCCESS)
++ {
++ gnutls_assert ();
++ return GNUTLS_E_ASN1_ELEMENT_NOT_FOUND;
++ }
++
++ ava->oid.data = (void*)vnode.value;
++ ava->oid.size = vnode.value_len;
+
+ snprintf (rbuf, sizeof (rbuf), "?%d.value", iava);
+ elem = asn1_find_node (rdn, rbuf);
+@@ -2095,12 +2104,18 @@
+ return GNUTLS_E_ASN1_ELEMENT_NOT_FOUND;
+ }
+
++ ret = asn1_read_node_value(elem, &vnode);
++ if (ret != ASN1_SUCCESS)
++ {
++ gnutls_assert ();
++ return GNUTLS_E_ASN1_ELEMENT_NOT_FOUND;
++ }
+ /* The value still has the previous tag's length bytes, plus the
+ * current value's tag and length bytes. Decode them.
+ */
+
+- ptr = elem->value;
+- remlen = elem->value_len;
++ ptr = vnode.value;
++ remlen = vnode.value_len;
+ len = asn1_get_length_der (ptr, remlen, &lenlen);
+ if (len < 0)
+ {
+@@ -2131,7 +2146,7 @@
+ }
+ ava->value.size = tmp;
+ }
+- ava->value.data = ptr + lenlen;
++ ava->value.data = (void*)(ptr + lenlen);
+
+ return 0;
+ }
diff --git a/e-17/efl/DEPENDS b/e-17/efl/DEPENDS
index a734ede..1cbd499 100755
--- a/e-17/efl/DEPENDS
+++ b/e-17/efl/DEPENDS
@@ -36,6 +36,11 @@ optional_depends giflib \
'--disable-image-loader-gif' \
'for GIF image loader (recommended)' &&
+optional_depends libwebp \
+ '--enable-image-loader-webp' \
+ '--disable-image-loader-webp' \
+ 'for WebP image loader' &&
+
optional_depends pixman \
'--enable-pixman --enable-pixman-font --enable-pixman-rect
--enable-pixman-line --enable-pixman-poly --enable-pixman-image
--enable-pixman-image-scale-sample' \
'--disable-pixman' \
diff --git a/e-17/efl/HISTORY b/e-17/efl/HISTORY
index 3d1002d..ee61972 100644
--- a/e-17/efl/HISTORY
+++ b/e-17/efl/HISTORY
@@ -4,6 +4,7 @@
Optionally depends on fontconfig, sdl, pixman, curl tslib,
pulseaudio, and util-linux
Optionally depend on giflib and tiff for image loaders.
+ Optionally depends on libwebp.
* INSTALL: Fails with multiple make jobs, use make_single