From ef56399d3926854679a0ee6dbff11ce9262de888 Mon Sep 17 00:00:00 2001 From: Florian Brandes Date: Sun, 7 Jul 2024 08:53:27 +0200 Subject: [PATCH] python312Packages.pypamtest: 1.1.3 -> 1.1.5 fix python 3.12 compatibility Signed-off-by: Florian Brandes --- .../libraries/libpam-wrapper/default.nix | 27 +++++++++---- .../libraries/libpam-wrapper/python.patch | 38 +++++++++++++++++++ 2 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 pkgs/development/libraries/libpam-wrapper/python.patch diff --git a/pkgs/development/libraries/libpam-wrapper/default.nix b/pkgs/development/libraries/libpam-wrapper/default.nix index 0701ae0fc55f..2505219507b3 100644 --- a/pkgs/development/libraries/libpam-wrapper/default.nix +++ b/pkgs/development/libraries/libpam-wrapper/default.nix @@ -1,23 +1,34 @@ -{ lib, stdenv -, fetchgit -, cmake -, linux-pam -, enablePython ? false -, python ? null +{ + lib, + stdenv, + fetchgit, + cmake, + linux-pam, + substituteAll, + enablePython ? false, + python ? null, }: assert enablePython -> python != null; stdenv.mkDerivation rec { pname = "libpam-wrapper"; - version = "1.1.3"; + version = "1.1.5"; src = fetchgit { url = "git://git.samba.org/pam_wrapper.git"; rev = "pam_wrapper-${version}"; - sha256 = "00mqhsashx7njrvxz085d0b88nizhdy7m3x17ip5yhvwsl63km6p"; + hash = "sha256-AtfkiCUvCxUfll6lOlbMyy5AhS5R2BGF1+ecC1VuwzM="; }; + patches = [ + (substituteAll { + src = ./python.patch; + siteDir = "${python.sitePackages}"; + includeDir = "include/${lib.versions.major python.version}.${lib.versions.minor python.version}"; + }) + ]; + nativeBuildInputs = [ cmake ] ++ lib.optionals enablePython [ python ]; # We must use linux-pam, using openpam will result in broken fprintd. diff --git a/pkgs/development/libraries/libpam-wrapper/python.patch b/pkgs/development/libraries/libpam-wrapper/python.patch new file mode 100644 index 000000000000..0ddb05d26fa9 --- /dev/null +++ b/pkgs/development/libraries/libpam-wrapper/python.patch @@ -0,0 +1,38 @@ +diff --git a/cmake/Modules/FindPythonSiteLibs.cmake b/cmake/Modules/FindPythonSiteLibs.cmake +index ab2931e..08e2c98 100644 +--- a/cmake/Modules/FindPythonSiteLibs.cmake ++++ b/cmake/Modules/FindPythonSiteLibs.cmake +@@ -27,30 +27,9 @@ + + if (PYTHON_EXECUTABLE) + ### PYTHON_SITELIB +- execute_process( +- COMMAND +- ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(plat_specific=True, prefix=''))" +- OUTPUT_VARIABLE +- PYTHON_SITELIB_OUTPUT_VARIABLE +- RESULT_VARIABLE +- PYTHON_SITELIB_RESULT_VARIABLE +- OUTPUT_STRIP_TRAILING_WHITESPACE +- ) +- if (NOT PYTHON_SITELIB_RESULT_VARIABLE) +- file(TO_CMAKE_PATH "${PYTHON_SITELIB_OUTPUT_VARIABLE}" PYTHON_SITELIB) +- endif () ++ file(TO_CMAKE_PATH "@siteDir@" PYTHON_SITELIB) ++ + + ### PYTHON_SITEINC +- execute_process( +- COMMAND +- ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_inc; print(get_python_inc(plat_specific=True, prefix=''))" +- OUTPUT_VARIABLE +- PYTHON_SITEINC_OUTPUT_VARIABLE +- RESULT_VARIABLE +- PYTHON_SITEINC_RESULT_VARIABLE +- OUTPUT_STRIP_TRAILING_WHITESPACE +- ) +- if (NOT PYTHON_SITEINC_RESULT_VARIABLE) +- file(TO_CMAKE_PATH "${PYTHON_SITEINC_OUTPUT_VARIABLE}" PYTHON_SITEINC) +- endif () ++ file(TO_CMAKE_PATH "@includeDir@" PYTHON_SITEINC) + endif (PYTHON_EXECUTABLE)