From 212f3d7eb8d9663bd56b2cdfa7067f4e57d83673 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Mon, 22 Jan 2018 21:10:32 +0100 Subject: [PATCH] Add patch for libxcrypt --- ...ude-crypt.h-for-declaration-of-crypt.patch | 47 +++++++++++++++++++ python37.spec | 7 +++ 2 files changed, 54 insertions(+) create mode 100644 00290-cryptmodule-Include-crypt.h-for-declaration-of-crypt.patch diff --git a/00290-cryptmodule-Include-crypt.h-for-declaration-of-crypt.patch b/00290-cryptmodule-Include-crypt.h-for-declaration-of-crypt.patch new file mode 100644 index 0000000..be62939 --- /dev/null +++ b/00290-cryptmodule-Include-crypt.h-for-declaration-of-crypt.patch @@ -0,0 +1,47 @@ +From 6811089dbf34a2cef9799e1cb6d63b863b58739f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= +Date: Sun, 21 Jan 2018 18:55:31 +0100 +Subject: [PATCH] cryptmodule: Include for declaration of crypt() if + needed + +Not every target system may provide a crypt() function in its stdlibc +and may use an external or replacement library, like libxcrypt, for +providing such functions. +--- + Modules/_cryptmodule.c | 4 ++++ + configure.ac | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/Modules/_cryptmodule.c b/Modules/_cryptmodule.c +index 58d179e6a3..bb26d83f55 100644 +--- a/Modules/_cryptmodule.c ++++ b/Modules/_cryptmodule.c +@@ -5,6 +5,10 @@ + + #include + ++#if defined(HAVE_XCRYPT) ++#include ++#endif ++ + /* Module crypt */ + + /*[clinic input] +diff --git a/configure.ac b/configure.ac +index 39e2e8e769..129c198c15 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2816,6 +2816,10 @@ LIBS="$withval $LIBS" + + PKG_PROG_PKG_CONFIG + ++# Check for libxcrypt is present. ++PKG_CHECK_MODULES([libxcrypt], libxcrypt, ++ AC_DEFINE([HAVE_XCRYPT], 1, [Define to 1 if libxcrypt is found.]), []) ++ + # Check for use of the system expat library + AC_MSG_CHECKING(for --with-system-expat) + AC_ARG_WITH(system_expat, +-- +2.16.0 + diff --git a/python37.spec b/python37.spec index 8681ba0..c9b3b12 100644 --- a/python37.spec +++ b/python37.spec @@ -374,6 +374,12 @@ Patch274: 00274-fix-arch-names.patch # Fixed upstream: https://bugs.python.org/issue32521 Patch289: 00289-fix-nis-compilation.patch +# 00290 # +# Not every target system may provide a crypt() function in its stdlibc +# and may use an external or replacement library, like libxcrypt, for +# providing such functions. +Patch290: 00290-cryptmodule-Include-crypt.h-for-declaration-of-crypt.patch + # (New patches go here ^^^) # # When adding new patches to "python" and "python3" in Fedora, EL, etc., @@ -676,6 +682,7 @@ sed -r -i s/'_PIP_VERSION = "[0-9.]+"'/'_PIP_VERSION = "%{pip_version}"'/ Lib/en %patch273 -p1 %patch274 -p1 %patch289 -p1 +%patch290 -p1 # Remove files that should be generated by the build