--- libportal/notification.c 2025-02-12 18:38:40.000000000 +0800 +++ libportal/notification.c 2025-05-21 23:36:36.000000000 +0800 @@ -24,6 +24,10 @@ #include "config.h" +#ifndef __APPLE__ +#define HAVE_MEMFD_CREATE 1 +#endif + #define _GNU_SOURCE #include #include @@ -82,7 +86,15 @@ gpointer shm; gsize bytes_len; +#if HAVE_MEMFD_CREATE fd = memfd_create (name, MFD_ALLOW_SEALING); +#else + char tmpname[] = "/tmp/notification-XXXXXX"; + fd = mkstemp(tmpname); + if (fd != -1) { + unlink(tmpname); + } +#endif if (fd == -1) { int saved_errno = errno; @@ -328,7 +340,15 @@ { g_autofd int fd = -1; +#if HAVE_MEMFD_CREATE fd = memfd_create ("notification-media", MFD_ALLOW_SEALING); +#else + char tmpname[] = "/tmp/notification-media-XXXXXX"; + fd = mkstemp(tmpname); + if (fd != -1) { + unlink(tmpname); + } +#endif if (fd == -1) { int saved_errno = errno;