From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 0782D139083 for ; Sun, 3 Dec 2017 23:17:18 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6053BE0F1D; Sun, 3 Dec 2017 23:17:17 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 2AFBBE0F1D for ; Sun, 3 Dec 2017 23:17:17 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 01C3633BEA7 for ; Sun, 3 Dec 2017 23:17:16 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id B6A43AC4C for ; Sun, 3 Dec 2017 23:17:14 +0000 (UTC) From: "Matt Thode" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Matt Thode" Message-ID: <1512343018.bb2668b25a60043cebec65fdcfa9c1082495d7b7.prometheanfire@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/wget/, net-misc/wget/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-misc/wget/Manifest net-misc/wget/files/wget-1.92.2-openssl-1.1.0-r1.patch net-misc/wget/wget-1.19.2-r2.ebuild X-VCS-Directories: net-misc/wget/files/ net-misc/wget/ X-VCS-Committer: prometheanfire X-VCS-Committer-Name: Matt Thode X-VCS-Revision: bb2668b25a60043cebec65fdcfa9c1082495d7b7 X-VCS-Branch: master Date: Sun, 3 Dec 2017 23:17:14 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 0de6eb87-26bf-46b3-bb52-6b472f0c676f X-Archives-Hash: 89be07389c8ade273377dd71ed7265ba commit: bb2668b25a60043cebec65fdcfa9c1082495d7b7 Author: Matthew Thode gentoo org> AuthorDate: Sun Dec 3 23:16:30 2017 +0000 Commit: Matt Thode gentoo org> CommitDate: Sun Dec 3 23:16:58 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb2668b2 net-misc/wget: fix build on openssl 1.1 Package-Manager: Portage-2.3.14, Repoman-2.3.6 net-misc/wget/Manifest | 4 +- .../wget/files/wget-1.92.2-openssl-1.1.0-r1.patch | 80 +++++++++++++++ net-misc/wget/wget-1.19.2-r2.ebuild | 114 +++++++++++++++++++++ 3 files changed, 196 insertions(+), 2 deletions(-) diff --git a/net-misc/wget/Manifest b/net-misc/wget/Manifest index b0bee83e879..0cd18ff7446 100644 --- a/net-misc/wget/Manifest +++ b/net-misc/wget/Manifest @@ -1,2 +1,2 @@ -DIST wget-1.19.1.tar.xz 2111756 SHA256 0c950b9671881222a4d385b013c9604e98a8025d1988529dfca0e93617744cd2 SHA512 00864d225439bcb7c5af01d7ef19efa615427812d3320ab3f4c8f62c38191e837b1392397843f935d7dc5860a4d0ce89ee31f2730c4a729402f1f2bf3e5f64e5 WHIRLPOOL 2a4bd80f1e7134637227609f532ee3385472a6895ff22efeface42d082072a09abaa5dd2d8653bfdab015de801d31426b01d73ab5dd1a6864b84c29dc8e72462 -DIST wget-1.19.2.tar.gz 4349267 SHA256 4f4a673b6d466efa50fbfba796bd84a46ae24e370fa562ede5b21ab53c11a920 SHA512 a0f8afcc0767a8fd1acd64b1b1b27d177bc938e70cc3709c1b3faa6c1426ec926642cd8e49d292cec0268ee507683539b5152072110106de5a728a03efd8cedd WHIRLPOOL 64398a8fc132a21d81d6fd7c97335739525fb8b31eca4aa4aa7048f251691c05ad1f004c36d6e633abf02d174ffefcb2176213e68fefb76bce505d247940af3a +DIST wget-1.19.1.tar.xz 2111756 BLAKE2B e5dcaa791f78bb2d7de19a6f689430cd692e1232b7392102936e5f3b4e3592861bcfc78e27df0c4b02a9002ce4c755e765a0a51749670464789fc9f07f8787f7 SHA512 00864d225439bcb7c5af01d7ef19efa615427812d3320ab3f4c8f62c38191e837b1392397843f935d7dc5860a4d0ce89ee31f2730c4a729402f1f2bf3e5f64e5 +DIST wget-1.19.2.tar.gz 4349267 BLAKE2B 3622d39ea477d4137bd7f2a443d141d8832e2e1adf4dceb5c396aea782fee31bd69ad2b49771062f25c57e6a21701f844077000dfa175e89eae26cf4c3fdca09 SHA512 a0f8afcc0767a8fd1acd64b1b1b27d177bc938e70cc3709c1b3faa6c1426ec926642cd8e49d292cec0268ee507683539b5152072110106de5a728a03efd8cedd diff --git a/net-misc/wget/files/wget-1.92.2-openssl-1.1.0-r1.patch b/net-misc/wget/files/wget-1.92.2-openssl-1.1.0-r1.patch new file mode 100644 index 00000000000..79f33b15759 --- /dev/null +++ b/net-misc/wget/files/wget-1.92.2-openssl-1.1.0-r1.patch @@ -0,0 +1,80 @@ +--- a/src/openssl.c ++++ b/src/openssl.c +@@ -174,11 +174,16 @@ ssl_init (void) + { + SSL_METHOD const *meth; + long ssl_options = 0; ++#if !defined(LIBRESSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER >= 0x10100000L) ++ int ssl_proto_version = 0; ++#endif + + #if OPENSSL_VERSION_NUMBER >= 0x00907000 + if (ssl_true_initialized == 0) + { ++#if OPENSSL_API_COMPAT < 0x10100000L + OPENSSL_config (NULL); ++#endif + ssl_true_initialized = 1; + } + #endif +@@ -202,8 +207,12 @@ ssl_init (void) + CONF_modules_load_file(NULL, NULL, + CONF_MFLAGS_DEFAULT_SECTION|CONF_MFLAGS_IGNORE_MISSING_FILE); + #endif ++#if OPENSSL_API_COMPAT >= 0x10100000L ++ OPENSSL_init_ssl(0, NULL); ++#else + SSL_library_init (); + SSL_load_error_strings (); ++#endif + #if OPENSSL_VERSION_NUMBER < 0x10100000L + SSLeay_add_all_algorithms (); + SSLeay_add_ssl_algorithms (); +@@ -229,16 +238,31 @@ ssl_init (void) + ssl_options |= SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3; + break; + case secure_protocol_tlsv1: ++#if !defined(LIBRESSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER >= 0x10100000L) ++ meth = TLS_client_method(); ++ ssl_proto_version = TLS1_VERSION; ++#else + meth = TLSv1_client_method (); ++#endif + break; + + #if OPENSSL_VERSION_NUMBER >= 0x10001000 + case secure_protocol_tlsv1_1: ++#if !defined(LIBRESSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER >= 0x10100000L) ++ meth = TLS_client_method(); ++ ssl_proto_version = TLS1_1_VERSION; ++#else + meth = TLSv1_1_client_method (); ++#endif + break; + + case secure_protocol_tlsv1_2: ++#if !defined(LIBRESSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER >= 0x10100000L) ++ meth = TLS_client_method(); ++ ssl_proto_version = TLS1_2_VERSION; ++#else + meth = TLSv1_2_client_method (); ++#endif + break; + #else + case secure_protocol_tlsv1_1: +@@ -262,8 +286,15 @@ ssl_init (void) + if (!ssl_ctx) + goto error; + ++#if !defined(LIBRESSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER >= 0x10100000L) + if (ssl_options) + SSL_CTX_set_options (ssl_ctx, ssl_options); ++#endif ++ ++#if !defined(LIBRESSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER >=0x10100000L) ++ if (ssl_proto_version) ++ SSL_CTX_set_min_proto_version(ssl_ctx, ssl_proto_version); ++#endif + + /* OpenSSL ciphers: https://www.openssl.org/docs/apps/ciphers.html + * Since we want a good protection, we also use HIGH (that excludes MD4 ciphers and some more) diff --git a/net-misc/wget/wget-1.19.2-r2.ebuild b/net-misc/wget/wget-1.19.2-r2.ebuild new file mode 100644 index 00000000000..b1bda330b2e --- /dev/null +++ b/net-misc/wget/wget-1.19.2-r2.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python3_{4,5,6} ) + +inherit flag-o-matic python-any-r1 toolchain-funcs + +DESCRIPTION="Network utility to retrieve files from the WWW" +HOMEPAGE="https://www.gnu.org/software/wget/" +SRC_URI="mirror://gnu/wget/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug gnutls idn ipv6 libressl nls ntlm pcre +ssl static test uuid zlib" +REQUIRED_USE=" ntlm? ( !gnutls ssl ) gnutls? ( ssl )" + +PATCHES=( "${FILESDIR}"/${PN}-1.19.2-fix-segfault-due-to-derefencing-null-ptr.patch + "${FILESDIR}"/${PN}-1.92.2-openssl-1.1.0-r1.patch ) + +# Force a newer libidn2 to avoid libunistring deps. #612498 +LIB_DEPEND="idn? ( >=net-dns/libidn2-0.14[static-libs(+)] ) + pcre? ( dev-libs/libpcre[static-libs(+)] ) + ssl? ( + gnutls? ( net-libs/gnutls:0=[static-libs(+)] ) + !gnutls? ( + !libressl? ( dev-libs/openssl:0=[static-libs(+)] ) + libressl? ( dev-libs/libressl[static-libs(+)] ) + ) + ) + uuid? ( sys-apps/util-linux[static-libs(+)] ) + zlib? ( sys-libs/zlib[static-libs(+)] )" +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )" +DEPEND="${RDEPEND} + app-arch/xz-utils + virtual/pkgconfig + static? ( ${LIB_DEPEND} ) + test? ( + ${PYTHON_DEPS} + dev-lang/perl + dev-perl/HTTP-Daemon + dev-perl/HTTP-Message + dev-perl/IO-Socket-SSL + ) + nls? ( sys-devel/gettext )" + +DOCS=( AUTHORS MAILING-LIST NEWS README doc/sample.wgetrc ) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + default + + # revert some hack that breaks linking, bug #585924 + if [[ ${CHOST} == *-darwin* ]] \ + || [[ ${CHOST} == *-solaris* ]] \ + || [[ ${CHOST} == *-uclibc* ]] \ + || [[ ${CHOST} == *-cygwin* ]] \ + ; then + sed -i \ + -e 's/^ LIBICONV=$/:/' \ + configure || die + fi +} + +src_configure() { + # fix compilation on Solaris, we need filio.h for FIONBIO as used in + # the included gnutls -- force ioctl.h to include this header + [[ ${CHOST} == *-solaris* ]] && append-cppflags -DBSD_COMP=1 + + if use static ; then + append-ldflags -static + tc-export PKG_CONFIG + PKG_CONFIG+=" --static" + fi + + # There is no flag that controls this. libunistring-prefix only + # controls the search path (which is why we turn it off below). + # Further, libunistring is only needed w/older libidn2 installs, + # and since we force the latest, we can force off libunistring. #612498 + ac_cv_libunistring=no \ + econf \ + --disable-assert \ + --disable-rpath \ + --without-included-libunistring \ + --without-libunistring-prefix \ + $(use_enable debug) \ + $(use_enable idn iri) \ + $(use_enable ipv6) \ + $(use_enable nls) \ + $(use_enable ntlm) \ + $(use_enable pcre) \ + $(use_enable ssl digest) \ + $(use_enable ssl opie) \ + $(use_with idn libidn) \ + $(use_with ssl ssl $(usex gnutls gnutls openssl)) \ + $(use_with uuid libuuid) \ + $(use_with zlib) +} + +src_install() { + default + + sed -i \ + -e "s:/usr/local/etc:${EPREFIX}/etc:g" \ + "${ED}"/etc/wgetrc \ + "${ED}"/usr/share/man/man1/wget.1 \ + "${ED}"/usr/share/info/wget.info \ + || die +}