Since the update to Python 3.6.3 in f906d6d18e
some of the Hypothesis tests in natsort suddenly begin to fail with
errors like this one:
res = '\x00\x00', f = <built-in function strxfrm>
> return partial(reduce, lambda res, f: f(res), functions)
E ValueError: embedded null character
The tests didn't fail with Python 3.6.2, but they did fail with Python
3.5 already.
I didn't dig through what the exact problem was, but I'd guess that the
problem could lie in Hypothesis itself. Unfortunately updating to the
latest version of Hypothesis didn't turn out to be that easy as well,
because the newer versions have a circular dependency on pytest and a
few other libraries.
So I opted against updating Hypothesis for now and just mark the tests
as "expected to fail" on purpose so that whenever we someday have a
newer version of Hypothesis, the build for natsort will fail and we can
remove this patch again.
Tested against Python 2.7, 3.4, 3.5 and 3.6 and all of the builds now
succeed.
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @jluttine, @FRidh
This is very similar to what we had in bb0b0822ef.
The xlocale.h header is no longer existing in glibc version 2.26, so we
need to avoid including it.
I've tested building against all of the libcxx attributes of LLVM 3.5,
3.7, 3.8, 3.9, 4 and 5.
All of them succeeded except version 3.5, which failed because of an
unrelated issue (build of libc++abi has failed, one of its
dependencies), so I only verified whether the patch applies cleanly.
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @vcunat
Since glibc 2.26, struct ucontext no longer exists but is wrapped in a
typedef ucontext_t.
This is basically a backport of the patch to gcc version 4.5 which was
introduced by @vcunat in f04b64c1e9.
Building against x86_64-linux and i686-linux now succeeds.
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @abbradar
The header file xlocale.h has been removed in glibc 2.26.
Quoting the release notes[1]:
* The nonstandard header <xlocale.h> has been removed. Most programs
should use <locale.h> instead. If you have a specific need for the
definition of locale_t with no other declarations, please contact
libc-alpha@sourceware.org and explain.
I've backported HaxeFoundation/neko@e286c8f330
against version 2.1.0 and the build now succeeds.
Signed-off-by: aszlig <aszlig@nix.build>
Fixes the build failure after the upgrade to glibc 2.26 in
9bb67d5c1e.
From the cfree(3) manpage:
This function should never be used. Use free(3) instead. Starting with
version 2.26, it has been removed from glibc.
From the glibc 2.26 release notes[1]:
* The obsolete function cfree has been removed. Applications should use
free instead.
[1]: https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @7c6f434c, @tohl