svn commit: r554147 - in head/www/epiphany: . files
Tobias C. Berner
tcberner at FreeBSD.org
Thu Nov 5 18:20:06 UTC 2020
Author: tcberner
Date: Thu Nov 5 18:20:05 2020
New Revision: 554147
URL: https://svnweb.freebsd.org/changeset/ports/554147
Log:
www/epiphany: build error (no getrandom(2) on 11.x)
Add alternate implementation for missing getrandom(2) on 11.x (v2)
PR: 250128
Submitted by: John Hein <jcfyecrayz at liamekaens.com>
Added:
head/www/epiphany/files/extra-patch-lib_ephy-sync-utils.c (contents, props changed)
Modified:
head/www/epiphany/Makefile
Modified: head/www/epiphany/Makefile
==============================================================================
--- head/www/epiphany/Makefile Thu Nov 5 17:52:35 2020 (r554146)
+++ head/www/epiphany/Makefile Thu Nov 5 18:20:05 2020 (r554147)
@@ -41,6 +41,7 @@ PORTSCOUT= limitw:1,even
USES= compiler:c++11-lib cpe desktop-file-utils gettext gnome \
localbase:ldflags meson pkgconfig python:3.4+ shebangfix \
sqlite tar:xz xorg
+
CPE_VENDOR= gnome
USE_GNOME= cairo gnomedesktop3 intlhack libwnck3 libxml2 libxslt
USE_XORG= x11
@@ -55,4 +56,10 @@ SHEBANG_FILES= post_install.py
PLIST_SUB+= EPHY_VERSION=${PORTVERSION:R}
-.include <bsd.port.mk>
+.include <bsd.port.pre.mk>
+
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1200000
+EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-lib_ephy-sync-utils.c
+.endif
+
+.include <bsd.port.post.mk>
Added: head/www/epiphany/files/extra-patch-lib_ephy-sync-utils.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/epiphany/files/extra-patch-lib_ephy-sync-utils.c Thu Nov 5 18:20:05 2020 (r554147)
@@ -0,0 +1,27 @@
+11.x does not have getrandom(2) (or getentropy(3))
+
+--- lib/ephy-sync-utils.c.orig 2020-10-04 22:15:55 UTC
++++ lib/ephy-sync-utils.c
+@@ -24,6 +24,7 @@
+ #include "ephy-settings.h"
+
+ #include <errno.h>
++#include <fcntl.h>
+ #include <glib/gi18n.h>
+ #include <inttypes.h>
+ #include <json-glib/json-glib.h>
+@@ -189,7 +190,13 @@ ephy_sync_utils_generate_random_bytes (v
+ }
+ #else
+ do {
+- ret = getrandom (out, num_bytes, 0);
++ int fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC);
++ if (fd != -1) {
++ ret = read(fd, out, num_bytes);
++ (void)close(fd);
++ }
++ else
++ g_error ("Failed to open /dev/urandom to generate randomness: %s", g_strerror (errno));
+ } while (ret < (gssize)num_bytes && errno == EINTR);
+
+ if (ret != (gssize)num_bytes)
More information about the svn-ports-head
mailing list