www-client/dillo: Fix compiling against >dev-libs/openssl-1.1
authorJeroen Roovers <jer@gentoo.org>
Sun, 9 Feb 2020 11:43:47 +0000 (12:43 +0100)
committerJeroen Roovers <jer@gentoo.org>
Sun, 9 Feb 2020 11:45:15 +0000 (12:45 +0100)
Package-Manager: Portage-2.3.87, Repoman-2.3.20
Closes: https://bugs.gentoo.org/708732
Signed-off-by: Jeroen Roovers <jer@gentoo.org>
www-client/dillo/dillo-3.0.5-r3.ebuild [new file with mode: 0644]
www-client/dillo/files/dillo-3.0.5-openssl-1.1.patch [new file with mode: 0644]

diff --git a/www-client/dillo/dillo-3.0.5-r3.ebuild b/www-client/dillo/dillo-3.0.5-r3.ebuild
new file mode 100644 (file)
index 0000000..f2cd65b
--- /dev/null
@@ -0,0 +1,70 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools desktop multilib toolchain-funcs
+
+DESCRIPTION="Lean FLTK based web browser"
+HOMEPAGE="https://www.dillo.org/"
+SRC_URI="
+       https://www.dillo.org/download/${P}.tar.bz2
+       mirror://gentoo/${PN}.png
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc +gif ipv6 +jpeg libressl +png ssl"
+
+RDEPEND="
+       >=x11-libs/fltk-1.3
+       sys-libs/zlib
+       jpeg? ( virtual/jpeg:0 )
+       png? ( >=media-libs/libpng-1.2:0 )
+       ssl? (
+               !libressl? ( dev-libs/openssl:0= )
+               libressl? ( dev-libs/libressl )
+       )
+"
+BDEPEND="
+       ${RDEPEND}
+       doc? ( app-doc/doxygen )
+"
+PATCHES=(
+       "${FILESDIR}"/${PN}2-inbuf.patch
+       "${FILESDIR}"/${PN}-3.0.5-fno-common.patch
+       "${FILESDIR}"/${PN}-3.0.5-openssl-1.1.patch
+)
+DOCS="AUTHORS ChangeLog README NEWS doc/*.txt doc/README"
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       econf  \
+               $(use_enable gif) \
+               $(use_enable ipv6) \
+               $(use_enable jpeg) \
+               $(use_enable png) \
+               $(use_enable ssl) \
+               --docdir="/usr/share/doc/${PF}"
+}
+
+src_compile() {
+       emake AR=$(tc-getAR)
+       if use doc; then
+               doxygen Doxyfile || die
+       fi
+}
+
+src_install() {
+       dodir /etc
+       default
+
+       use doc && dodoc -r html
+
+       doicon "${DISTDIR}"/${PN}.png
+       make_desktop_entry ${PN} Dillo
+}
diff --git a/www-client/dillo/files/dillo-3.0.5-openssl-1.1.patch b/www-client/dillo/files/dillo-3.0.5-openssl-1.1.patch
new file mode 100644 (file)
index 0000000..f216941
--- /dev/null
@@ -0,0 +1,26 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -286,7 +286,7 @@
+   if test "x$ssl_ok" = "xyes"; then
+     old_libs="$LIBS"
+-    AC_CHECK_LIB(ssl, SSL_library_init, ssl_ok=yes, ssl_ok=no, -lcrypto)
++    AC_CHECK_LIB(ssl, OPENSSL_config, ssl_ok=yes, ssl_ok=no, -lcrypto)
+     LIBS="$old_libs"
+   fi
+--- a/dpi/https.c
++++ b/dpi/https.c
+@@ -476,7 +476,11 @@
+       case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
+          /*Either self signed and untrusted*/
+          /*Extract CN from certificate name information*/
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+          if ((cn = strstr(remote_cert->name, "/CN=")) == NULL) {
++#else
++         if ((cn = strstr(X509_get_subject_name(remote_cert), "/CN=")) == NULL) {
++#endif
+             strcpy(buf, "(no CN given)");
+          } else {
+             char *cn_end;
+