summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVlad Glagolev2015-03-06 14:28:12 +0300
committerVlad Glagolev2015-03-06 14:28:12 +0300
commitc0c0ea86a07ab9ee4689f252d3e2d75e9939e0c8 (patch)
tree5d247fd59f42bccf13ed3f000a96cd0662a8d91c
parentfdb9f64d8d8e9254f08774fa5e279add8ee815a1 (diff)
links-twibright: fixed build with libressl
-rw-r--r--http/links-twibright/HISTORY4
-rwxr-xr-xhttp/links-twibright/PRE_BUILD7
-rw-r--r--http/links-twibright/libressl.patch17
3 files changed, 28 insertions, 0 deletions
diff --git a/http/links-twibright/HISTORY b/http/links-twibright/HISTORY
index 673b5535e4..4a74038e88 100644
--- a/http/links-twibright/HISTORY
+++ b/http/links-twibright/HISTORY
@@ -1,3 +1,7 @@
+2015-03-06 Vlad Glagolev <stealth@sourcemage.org>
+ * PRE_BUILD: optionally apply a patch
+ * libressl.patch: added, to fix build with libressl
+
2014-12-25 Ladislav Hagara <hgr@vabo.cz>
* DETAILS: 2.9
diff --git a/http/links-twibright/PRE_BUILD b/http/links-twibright/PRE_BUILD
new file mode 100755
index 0000000000..6efb37b85a
--- /dev/null
+++ b/http/links-twibright/PRE_BUILD
@@ -0,0 +1,7 @@
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
+
+# the patch drops EGD support for LibreSSL, so make it optional
+if is_depends_enabled $SPELL $(get_spell_provider $SPELL SSL) && [[ $(get_spell_provider $SPELL SSL) == "libressl" ]]; then
+ patch -p1 < "$SPELL_DIRECTORY/libressl.patch"
+fi
diff --git a/http/links-twibright/libressl.patch b/http/links-twibright/libressl.patch
new file mode 100644
index 0000000000..2b8939342d
--- /dev/null
+++ b/http/links-twibright/libressl.patch
@@ -0,0 +1,17 @@
+diff -Naur links-2.8/https.c links-2.8-1/https.c
+--- links-2.8/https.c 2013-09-20 23:17:00.000000000 +0200
++++ links-2.8-1/https.c 2014-07-17 10:24:34.338197062 +0200
+@@ -36,11 +36,8 @@
+ unsigned os_pool_size;
+
+ const unsigned char *f = (const unsigned char *)RAND_file_name(cast_char f_randfile, sizeof(f_randfile));
+- if (f && RAND_egd(cast_const_char f) < 0) {
+- /* Not an EGD, so read and write to it */
+- if (RAND_load_file(cast_const_char f_randfile, -1))
+- RAND_write_file(cast_const_char f_randfile);
+- }
++ if (RAND_load_file(cast_const_char f_randfile, -1))
++ RAND_write_file(cast_const_char f_randfile);
+
+ os_seed_random(&os_pool, &os_pool_size);
+ if (os_pool_size) RAND_add(os_pool, os_pool_size, os_pool_size);