--- libsecret-0.20.1/libsecret/secret-file-backend.c.orig	2019-10-14 17:15:45.000000000 +0200
+++ libsecret-0.20.1/libsecret/secret-file-backend.c	2020-02-24 19:23:26.052238200 +0100
@@ -25,9 +25,11 @@
 
 EGG_SECURE_DECLARE (secret_file_backend);
 
+#ifndef _WIN32
 #include <gio/gunixfdlist.h>
 #include <gio/gunixinputstream.h>
 #include <glib-unix.h>
+#endif
 
 #define PORTAL_BUS_NAME "org.freedesktop.portal.Desktop"
 #define PORTAL_OBJECT_PATH "/org/freedesktop/portal/desktop"
@@ -151,7 +153,7 @@
 	g_task_return_boolean (task, TRUE);
 	g_object_unref (task);
 }
-
+#ifndef _WIN32
 typedef struct {
 	gint io_priority;
 	GFile *file;
@@ -412,6 +414,7 @@
 						  task);
 	g_object_unref (fd_list);
 }
+#endif
 
 static void
 secret_file_backend_real_init_async (GAsyncInitable *initable,
@@ -427,7 +430,9 @@
 	const gchar *envvar;
 	GTask *task;
 	GError *error = NULL;
+#ifndef _WIN32
 	InitClosure *init;
+#endif
 	gboolean ret;
 
 	task = g_task_new (initable, cancellable, callback, user_data);
@@ -482,12 +487,14 @@
 					    NULL);
 		g_object_unref (file);
 		secret_value_unref (password);
+#ifndef _WIN32
 	} else if (g_file_test ("/.flatpak-info", G_FILE_TEST_EXISTS)) {
 		init = g_slice_new0 (InitClosure);
 		init->io_priority = io_priority;
 		init->file = file;
 		g_task_set_task_data (task, init, init_closure_free);
 		g_bus_get (G_BUS_TYPE_SESSION, cancellable, on_bus_get, task);
+#endif
 	} else {
 		g_task_return_new_error (task,
 					 G_IO_ERROR,
