diff --git a/contrib/src/gnutls/0001-fix-mkdir-permissions-on-Windows.patch b/contrib/src/gnutls/0001-fix-mkdir-permissions-on-Windows.patch
new file mode 100644
index 0000000000000000000000000000000000000000..5422e72a3baafd5b97460de8b87ef319909cf835
--- /dev/null
+++ b/contrib/src/gnutls/0001-fix-mkdir-permissions-on-Windows.patch
@@ -0,0 +1,25 @@
+From bad7151d1ae625a87e0ed05a2a7f5af25417bab2 Mon Sep 17 00:00:00 2001
+From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
+Date: Wed, 12 Mar 2025 14:47:10 -0400
+Subject: [PATCH] fix mkdir permissions on Windows
+
+---
+ SMP/unistd.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/SMP/unistd.h b/SMP/unistd.h
+index b54d4be1..eb712c95 100644
+--- a/SMP/unistd.h
++++ b/SMP/unistd.h
+@@ -27,6 +27,8 @@
+ #   include_next <unistd.h>
+ #else
+ 
++#define mkdir(path, mode) mkdir(path)
++
+ #include <stdlib.h>
+ #include <process.h>
+ #include <direct.h>
+-- 
+2.34.1
+
diff --git a/contrib/src/gnutls/package.json b/contrib/src/gnutls/package.json
index e930d94ae557976872d267d05a380df183a73cd3..3be3464e2cbe63493ff45f88363611dcea9dfabc 100644
--- a/contrib/src/gnutls/package.json
+++ b/contrib/src/gnutls/package.json
@@ -17,6 +17,7 @@
             "git init",
             "git remote add origin https://github.com/ShiftMediaProject/gnutls.git || true",
             "git fetch origin --depth=1 --tags && git reset --hard 3.8.3",
+            "git apply ../../src/gnutls/0001-fix-mkdir-permissions-on-Windows.patch",
             "git submodule update --init --recursive --depth=1 gnulib devel/libtasn1"
         ]
     }