+
+
#
# Now fixup the normal glibc
#
@@ -96,6 +98,14 @@ patch -p0 < $SPELL_DIRECTORY/Makefile.patch &&
# no idea why or how this is missing from configure
patch -p0 < $SPELL_DIRECTORY/as_fn_executable_p.patch &&
+patch -p1 < $SPELL_DIRECTORY/glibc-2.19-fix-sign-in-bsloww1-input.patch &&
+patch -p1 < $SPELL_DIRECTORY/glibc-2.19-xattr_header.patch &&
+
+patch -p1 <
$SPELL_DIRECTORY/00_all_0005-reload-etc-resolv.conf-when-it-has-changed.patch
&&
+patch -p1 <
$SPELL_DIRECTORY/00_all_0007-rtld-do-not-ignore-arch-specific-CFLAGS.patch
&&
+patch -p1 <
$SPELL_DIRECTORY/00_all_0008-nptl-handle-EAGAIN-with-some-futex-operations.patch
&&
+patch -p1 < $SPELL_DIRECTORY/00_all_0011-arm-fix-PIC-vs-SHARED-typos.patch
&&
+
# disabled libgd detection/building memusagestat for now until a better
# fix has been found, bug #8277
#sedit 's/LIBGD=yes/LIBGD=no/' $SOURCE_DIRECTORY/configure &&
diff --git a/libs/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch
b/libs/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch
new file mode 100644
index 0000000..91b0c9a
--- /dev/null
+++ b/libs/glibc/glibc-2.19-fix-sign-in-bsloww1-input.patch
@@ -0,0 +1,71 @@
+From ffe768a90912f9bce43b70a82576b3dc99e3121c Mon Sep 17 00:00:00 2001
+From: Siddhesh Poyarekar <siddhesh AT redhat.com>
+Date: Thu, 27 Feb 2014 21:29:16 +0530
+Subject: [PATCH] Fix sign of input to bsloww1 (BZ #16623)
+
+In 84ba214c, I removed some redundant sign computations and in the
+process, I incorrectly got rid of a temporary variable, thus passing
+the absolute value of the input to bsloww1. This caused #16623.
+
+This fix undoes the incorrect change.
+---
+ sysdeps/ieee754/dbl-64/s_sin.c | 16 ++++++++++------
+ 3 files changed, 18 insertions(+), 7 deletions(-)
+
+diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c
+index 6105e9f..50109b8 100644
+--- a/sysdeps/ieee754/dbl-64/s_sin.c
++++ b/sysdeps/ieee754/dbl-64/s_sin.c
+@@ -447,19 +447,21 @@ __sin (double x)
+ }
+ else
+ {
++ double t;
+ if (a > 0)
+ {
+ m = 1;
++ t = a;
+ db = da;
+ }
+ else
+ {
+ m = 0;
+- a = -a;
++ t = -a;
+ db = -da;
+ }
+- u.x = big + a;
+- y = a - (u.x - big);
++ u.x = big + t;
++ y = t - (u.x - big);
+ res = do_sin (u, y, db, &cor);
+ cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
+ retval = ((res == res + cor) ? ((m) ? res : -res)
+@@ -671,19 +673,21 @@ __cos (double x)
+ }
+ else
+ {
++ double t;
+ if (a > 0)
+ {
+ m = 1;
++ t = a;
+ db = da;
+ }
+ else
+ {
+ m = 0;
+- a = -a;
++ t = -a;
+ db = -da;
+ }
+- u.x = big + a;
+- y = a - (u.x - big);
++ u.x = big + t;
++ y = t - (u.x - big);
+ res = do_sin (u, y, db, &cor);
+ cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
+ retval = ((res == res + cor) ? ((m) ? res : -res)
+--
+1.9.0
+
diff --git a/libs/glibc/glibc-2.19-xattr_header.patch
b/libs/glibc/glibc-2.19-xattr_header.patch
new file mode 100644
index 0000000..438626e
--- /dev/null
+++ b/libs/glibc/glibc-2.19-xattr_header.patch
@@ -0,0 +1,42 @@
+From: Serge Hallyn <serge.hallyn AT ubuntu.com>
+Date: Tue, 11 Mar 2014 04:17:07 +0000 (-0500)
+Subject: misc/sys/xattr.h: guard against linux uapi header inclusion
+X-Git-Url: https://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=fdbe8eae;hp=fede7a5ffa188c22c3789135bd5cf82e487dd3d0
+
+misc/sys/xattr.h: guard against linux uapi header inclusion
+
+If the glibc xattr.h header is included after the uapi header,
+compilation fails due to an enum re-using a #define from the
+uapi header. Protect against this by guarding the define and
+enum inclusions against each other.
+
+(A corresponding kernel patch has been sent here:
+http://lkml.org/lkml/2014/3/7/331 )
+
+(See https://lists.debian.org/debian-glibc/2014/03/msg00029.html
+and https://sourceware.org/glibc/wiki/Synchronizing_Headers
+for more information.)
+
+Signed-off-by: Serge Hallyn <serge.hallyn AT ubuntu.com>
+---
+
+diff --git a/misc/sys/xattr.h b/misc/sys/xattr.h
+index 929cd87..796df90 100644
+--- a/misc/sys/xattr.h
++++ b/misc/sys/xattr.h
+@@ -26,6 +26,7 @@ __BEGIN_DECLS
+
+ /* The following constants should be used for the fifth parameter of
+ `*setxattr'. */
++#ifndef __USE_KERNEL_XATTR_DEFS
+ enum
+ {
+ XATTR_CREATE = 1, /* set value, fail if attr already exists. */
+@@ -33,6 +34,7 @@ enum
+ XATTR_REPLACE = 2 /* set value, fail if attr does not exist. */
+ #define XATTR_REPLACE XATTR_REPLACE
+ };
++#endif
+
+ /* Set the attribute NAME of the file pointed to by PATH to VALUE (which
+ is SIZE bytes long). Return 0 on success, -1 for errors. */
diff --git a/libs/libevdev/DETAILS b/libs/libevdev/DETAILS
index cdca82b..607d447 100755
--- a/libs/libevdev/DETAILS
+++ b/libs/libevdev/DETAILS
@@ -1,6 +1,6 @@
SPELL=libevdev
- VERSION=1.2
-
SOURCE_HASH=sha512:cb97b4555747481f1268976a8457d1c49498d2fdda7050008eff3a0d3961f2f11a344c9763da13a2eb030fd716f3c54ca3d073cee8b3a8f1b0669df2fb814098
+ VERSION=1.2.1
+
SOURCE_HASH=sha512:4a075168dabc9f934f8e129dfc754799a75fa43cc861d2fc5327613f7d1b23d49ff6a6188c7a51ba5c55a2d109d417a047d24e6eea5ba6da1b97851278d85452
SOURCE=$SPELL-$VERSION.tar.xz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
WEB_SITE=http://www.freedesktop.org/wiki/Software/libevdev/
diff --git a/libs/libevdev/HISTORY b/libs/libevdev/HISTORY
index 8c5b39d..b89f8d0 100644
--- a/libs/libevdev/HISTORY
+++ b/libs/libevdev/HISTORY
@@ -1,3 +1,6 @@
+2014-05-27 Treeve Jelbert <treeve AT sourcemage.org>
+ * DETAILS: version 1.2.1
+
2014-05-13 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: version 1.2