diff options
author | Nicholas Vinson <nvinson234@gmail.com> | 2016-12-12 23:45:55 -0800 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2016-12-13 15:55:16 +0100 |
commit | d663a68c1b428f18fe13677b57944b9868f23806 (patch) | |
tree | 4b03161bf802cc9f3ba11033061ae3328c334bd3 /net-irc | |
parent | ccbbf81de975d6c8b47a65566d592017e676be89 (diff) | |
download | gentoo-d663a68c1b428f18fe13677b57944b9868f23806.tar.gz gentoo-d663a68c1b428f18fe13677b57944b9868f23806.tar.xz |
net-irc/hexchat: Fix libreSSL and missing dep.
Adds preprocessor libreSSL check to Fix libreSSL compile-time.
Adds autconf-archive as a bdep.
Gentoo-bug: 602372
Gentoo-bug: 602438
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Closes: https://github.com/gentoo/gentoo/pull/3109
Diffstat (limited to 'net-irc')
-rw-r--r-- | net-irc/hexchat/files/hexchat-2.12.4-libressl.patch | 29 | ||||
-rw-r--r-- | net-irc/hexchat/hexchat-2.12.4-r1.ebuild | 148 |
2 files changed, 177 insertions, 0 deletions
diff --git a/net-irc/hexchat/files/hexchat-2.12.4-libressl.patch b/net-irc/hexchat/files/hexchat-2.12.4-libressl.patch new file mode 100644 index 00000000000..3b3adc09dd5 --- /dev/null +++ b/net-irc/hexchat/files/hexchat-2.12.4-libressl.patch @@ -0,0 +1,29 @@ +# diff -pU5 hexchat-2.12.4/src/common/ssl.c.old hexchat-2.12.4/src/common/ssl.c +--- hexchat-2.12.4/src/common/ssl.c ++++ hexchat-2.12.4/src/common/ssl.c +@@ -174,11 +174,11 @@ _SSL_get_cert_info (struct cert_info *ce + key = X509_get_X509_PUBKEY(peer_cert); + if (!X509_PUBKEY_get0_param(NULL, NULL, 0, &algor, key)) + return 1; + + alg = OBJ_obj2nid (algor->algorithm); +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined LIBRESSL_VERSION_NUMBER + sign_alg = OBJ_obj2nid (peer_cert->sig_alg->algorithm); + #else + sign_alg = X509_get_signature_nid (peer_cert); + #endif + ASN1_TIME_snprintf (notBefore, sizeof (notBefore), +@@ -304,11 +304,11 @@ _SSL_socket (SSL_CTX *ctx, int sd) + /* FATAL */ + __SSL_critical_error ("SSL_new"); + + SSL_set_fd (ssl, sd); + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined LIBRESSL_VERSION_NUMBER + method = ctx->method; + #else + method = SSL_CTX_get_ssl_method (ctx); + #endif + if (method == SSLv23_client_method()) diff --git a/net-irc/hexchat/hexchat-2.12.4-r1.ebuild b/net-irc/hexchat/hexchat-2.12.4-r1.ebuild new file mode 100644 index 00000000000..ddcfa91f139 --- /dev/null +++ b/net-irc/hexchat/hexchat-2.12.4-r1.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +PYTHON_COMPAT=( python{2_7,3_4,3_5} ) +inherit autotools fdo-mime gnome2-utils mono-env python-single-r1 + +DESCRIPTION="Graphical IRC client based on XChat" +HOMEPAGE="https://hexchat.github.io/" + +if [[ "${PV}" == "9999" ]] ; then + inherit git-r3 + SRC_URI="" + EGIT_REPO_URI="git://github.com/hexchat/hexchat.git" +else + SRC_URI="https://dl.hexchat.net/hexchat/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux" +fi + +LICENSE="GPL-2 plugin-fishlim? ( MIT )" +SLOT="0" +IUSE="dbus debug +gtk libcanberra libnotify libproxy libressl lua nls perl plugin-checksum plugin-fishlim plugin-sysinfo python spell ssl theme-manager" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +COMMON_DEPEND="dev-libs/glib:2 + dbus? ( sys-apps/dbus ) + gtk? ( x11-libs/gtk+:2 ) + libcanberra? ( media-libs/libcanberra ) + libproxy? ( net-libs/libproxy ) + libnotify? ( x11-libs/libnotify ) + lua? ( dev-lang/lua:= ) + nls? ( virtual/libintl ) + perl? ( dev-lang/perl ) + plugin-sysinfo? ( sys-apps/pciutils ) + python? ( ${PYTHON_DEPS} ) + spell? ( app-text/iso-codes ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + theme-manager? ( + || ( + ( dev-lang/mono[minimal] dev-dotnet/libgdiplus ) + dev-lang/mono[-minimal] + ) + )" + +RDEPEND="${COMMON_DEPEND} + spell? ( app-text/enchant )" +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + virtual/pkgconfig + dev-util/intltool + sys-devel/autoconf-archive + theme-manager? ( dev-util/monodevelop )" + +PATCHES=( + "${FILESDIR}/hexchat-2.12.2-configure.ac-remove-werror.patch" + "${FILESDIR}/hexchat-2.12.4-libressl.patch" +) + +src_prepare() { + default + eautoreconf +} + +pkg_setup() { + use python && python-single-r1_pkg_setup + if use theme-manager ; then + mono-env_pkg_setup + export XDG_CACHE_HOME="${T}/.cache" + fi +} + +src_configure() { + econf \ + --enable-plugin \ + $(use_enable nls) \ + $(use_enable ssl openssl) \ + $(use_enable gtk gtkfe) \ + $(use_enable !gtk textfe) \ + $(use_enable python python "${EPYTHON}") \ + $(use_enable perl) \ + $(use_enable plugin-checksum checksum) \ + $(use_enable plugin-fishlim fishlim) \ + $(use_enable plugin-sysinfo sysinfo) \ + $(use_enable dbus) \ + $(use_enable lua) \ + $(use_enable libnotify) \ + $(use_enable libcanberra) \ + $(use_enable libproxy) \ + $(use_enable spell isocodes) \ + $(use_enable debug) \ + $(use_with theme-manager) +} + +src_install() { + emake DESTDIR="${D}" \ + UPDATE_ICON_CACHE=true \ + UPDATE_MIME_DATABASE=true \ + UPDATE_DESKTOP_DATABASE=true \ + install + dodoc readme.md + find "${D}" -name '*.la' -delete || die +} + +pkg_preinst() { + if use gtk ; then + gnome2_icon_savelist + fi +} + +pkg_postinst() { + if use gtk ; then + gnome2_icon_cache_update + else + elog "You have disabled the gtk USE flag. This means you don't have" + elog "the GTK-GUI for HexChat but only a text interface called \"hexchat-text\"." + fi + + if use theme-manager ; then + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + elog "Themes are available at:" + elog " https://hexchat.github.io/themes.html" + fi + + elog + elog "optional dependencies:" + elog " media-sound/sox (sound playback if you don't have libcanberra" + elog " enabled)" + elog " x11-plugins/hexchat-javascript (javascript support)" + elog " x11-themes/sound-theme-freedesktop (default BEEP sound," + elog " needs libcanberra enabled)" +} + +pkg_postrm() { + if use gtk ; then + gnome2_icon_cache_update + fi + + if use theme-manager ; then + fdo-mime_desktop_database_update + fdo-mime_mime_database_update + fi +} |