summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Vinson <nvinson234@gmail.com>2016-12-12 23:45:55 -0800
committerLars Wendler <polynomial-c@gentoo.org>2016-12-13 15:55:16 +0100
commitd663a68c1b428f18fe13677b57944b9868f23806 (patch)
tree4b03161bf802cc9f3ba11033061ae3328c334bd3 /net-irc/hexchat
parentwww-apps/nextcloud: drop old versions (diff)
downloadgentoo-d663a68c1b428f18fe13677b57944b9868f23806.tar.gz
gentoo-d663a68c1b428f18fe13677b57944b9868f23806.tar.bz2
gentoo-d663a68c1b428f18fe13677b57944b9868f23806.zip
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/hexchat')
-rw-r--r--net-irc/hexchat/files/hexchat-2.12.4-libressl.patch29
-rw-r--r--net-irc/hexchat/hexchat-2.12.4-r1.ebuild148
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 000000000000..3b3adc09dd55
--- /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 000000000000..ddcfa91f1395
--- /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
+}