From c20aed5e61e3d7eba6b19d7794e674f350a5f894 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 10 Oct 2022 18:44:21 +0100 Subject: [PATCH] postfix: add support for linux-6 Without this change `postfix` fails to build on `linux-6` as: postfix> ATTENTION: postfix> ATTENTION: Unknown system type: Linux 6.0.0 postfix> ATTENTION: --- pkgs/servers/mail/postfix/default.nix | 3 +++ pkgs/servers/mail/postfix/linux-6.patch | 26 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/servers/mail/postfix/linux-6.patch diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix index 65e0041a01eb..2f60ce540702 100644 --- a/pkgs/servers/mail/postfix/default.nix +++ b/pkgs/servers/mail/postfix/default.nix @@ -53,6 +53,9 @@ in stdenv.mkDerivation rec { url = "https://src.fedoraproject.org/rpms/postfix/raw/2f9d42453e67ebc43f786d98262a249037f80a77/f/postfix-3.6.2-glibc-234-build-fix.patch"; sha256 = "sha256-xRUL5gaoIt6HagGlhsGwvwrAfYvzMgydsltYMWvl9BI="; }) + + # linux-6 compatibility + ./linux-6.patch ]; postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' diff --git a/pkgs/servers/mail/postfix/linux-6.patch b/pkgs/servers/mail/postfix/linux-6.patch new file mode 100644 index 000000000000..ee9a3be740a7 --- /dev/null +++ b/pkgs/servers/mail/postfix/linux-6.patch @@ -0,0 +1,26 @@ +Extracted fix from postfix-3.8-20221006 snapshot: + https://github.com/vdukhovni/postfix/commit/b65530350fa4a7eee40946160fd80c3e1e0b63e5 +--- a/makedefs ++++ b/makedefs +@@ -627,7 +627,8 @@ EOF + : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} + : ${PLUGIN_LD="${CC-gcc} -shared"} + ;; +- Linux.[345].*) SYSTYPE=LINUX$RELEASE_MAJOR ++ Linux.[3456].*) ++ SYSTYPE=LINUX$RELEASE_MAJOR + case "$CCARGS" in + *-DNO_DB*) ;; + *-DHAS_DB*) ;; +--- a/src/util/sys_defs.h ++++ b/src/util/sys_defs.h +@@ -751,7 +751,8 @@ extern int initgroups(const char *, int); + /* + * LINUX. + */ +-#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5) ++#if defined(LINUX2) || defined(LINUX3) || defined(LINUX4) || defined(LINUX5) \ ++ || defined(LINUX6) + #define SUPPORTED + #define UINT32_TYPE unsigned int + #define UINT16_TYPE unsigned short