Add patch for libxcrypt

This commit is contained in:
Björn Esser 2018-01-22 21:10:32 +01:00 committed by Iryna Shcherbina
parent 8ab3c20b1a
commit 212f3d7eb8
2 changed files with 54 additions and 0 deletions

View File

@ -0,0 +1,47 @@
From 6811089dbf34a2cef9799e1cb6d63b863b58739f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= <besser82@fedoraproject.org>
Date: Sun, 21 Jan 2018 18:55:31 +0100
Subject: [PATCH] cryptmodule: Include <crypt.h> 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 <sys/types.h>
+#if defined(HAVE_XCRYPT)
+#include <crypt.h>
+#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

View File

@ -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