commit:     924fd320039089f63e16403b5b1920291cb8d09d
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 18 20:06:05 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Sep 18 20:18:57 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=924fd320

net-irc/bobotpp: Allow for compiling with GCC 6

Gentoo-bug: 594152
* EAPI=6

Package-Manager: portage-2.3.0

 net-irc/bobotpp/bobotpp-2.2.3.ebuild               |  36 ++++---
 .../bobotpp/files/bobotpp-2.2.3-fix-c++14.patch    | 103 +++++++++++++++++++++
 2 files changed, 119 insertions(+), 20 deletions(-)

diff --git a/net-irc/bobotpp/bobotpp-2.2.3.ebuild 
b/net-irc/bobotpp/bobotpp-2.2.3.ebuild
index f42157f..c50d9b7 100644
--- a/net-irc/bobotpp/bobotpp-2.2.3.ebuild
+++ b/net-irc/bobotpp/bobotpp-2.2.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=4
+EAPI=6
 
-inherit autotools autotools-utils eutils
+inherit autotools
 
 DESCRIPTION="A flexible IRC bot scriptable in scheme"
 HOMEPAGE="http://unknownlamer.org/code/bobot.html";
@@ -18,34 +18,30 @@ IUSE="guile"
 DEPEND="guile? ( dev-scheme/guile )"
 RDEPEND="${DEPEND}"
 
+HTML_DOCS=( documentation/index.html )
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.2.2-asneeded.patch
+       "${FILESDIR}"/${PN}-2.2.3-stdout.patch
+       "${FILESDIR}"/${PN}-2.2.3-fix-c++14.patch
+)
+
 src_prepare() {
-       epatch "${FILESDIR}"/${PN}-2.2.2-asneeded.patch \
-               "${FILESDIR}"/${P}-stdout.patch
+       default
        eautoreconf
 }
 
 src_configure() {
-       local myeconfargs=(
-               --enable-crypt
+       econf \
+               --enable-crypt \
                $(use_enable guile scripting)
-       )
-
-       autotools-utils_src_configure
 }
 
 src_install() {
-       autotools-utils_src_install
+       default
+       docinto examples
+       dodoc -r examples/config examples/scripts
 
        dosym bobot++.info /usr/share/info/bobotpp.info
-
-       dodoc AUTHORS ChangeLog NEWS README TODO
-       dohtml documentation/index.html
-
-       docinto examples/config
-       dodoc examples/config/*
-
-       docinto examples/scripts
-       dodoc examples/scripts/*
 }
 
 pkg_postinst() {

diff --git a/net-irc/bobotpp/files/bobotpp-2.2.3-fix-c++14.patch 
b/net-irc/bobotpp/files/bobotpp-2.2.3-fix-c++14.patch
new file mode 100644
index 00000000..4f03c4a
--- /dev/null
+++ b/net-irc/bobotpp/files/bobotpp-2.2.3-fix-c++14.patch
@@ -0,0 +1,103 @@
+Fix building with C++14, which errors out due to ambiguity as a result of 
crappy implicit
+conversion operators running astray with new std::string and iostream 
interfaces.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=594152
+
+--- a/source/Bot.C
++++ b/source/Bot.C
+@@ -111,7 +111,7 @@
+   dccConnections = new DCCManager ();
+ 
+   // Let's read the alias file
+-  std::ifstream initFile(initFileName);
++  std::ifstream initFile(static_cast<const char*>(initFileName));
+ 
+   if (initFile) 
+     {
+@@ -217,7 +217,7 @@
+ void
+ Bot::readConfig()
+ {
+-  std::ifstream file(configFileName);
++  std::ifstream file(static_cast<const char*>(configFileName));
+   String temp;
+   int line = 1;
+ 
+@@ -736,11 +736,12 @@
+   logFileName = name;
+   logFile.close ();
+   logFile.clear ();
++  String myTempLogFileName(logs_dir + logFileName);
+ #if HAVE_IOSBASE
+-  logFile.open(logs_dir + logFileName, std::ios_base::out | 
++  logFile.open(static_cast<const char*>(myTempLogFileName), 
std::ios_base::out | 
+              std::ios_base::ate | std::ios_base::app);
+ #else
+-  logFile.open(logs_dir + logFileName, ios::out | ios::ate 
++  logFile.open(static_cast<const char*>(myTempLogFileName), ios::out | 
ios::ate 
+             | ios::app);
+ #endif
+ 
+--- a/source/Bot.H
++++ b/source/Bot.H
+@@ -43,8 +43,8 @@
+ #include <libguile.h>
+ #endif
+ 
+-#define VERSION_STRING PACKAGE" version "VERSION" by unknown_lamer@FreeNode 
<clin...@unknownlamer.org>\n1.97 and below by eb@IRCNet <e...@via.ecp.fr>"
+-#define COPYRIGHT_STRING PACKAGE" version "VERSION", Copyright (C) 1997-2000 
Etienne BERNARD\nCopyright (C) 2002,2003,2004,2005,2008 Clinton Ebadi"
++#define VERSION_STRING PACKAGE " version " VERSION " by 
unknown_lamer@FreeNode <clin...@unknownlamer.org>\n1.97 and below by eb@IRCNet 
<e...@via.ecp.fr>"
++#define COPYRIGHT_STRING PACKAGE " version " VERSION ", Copyright (C) 
1997-2000 Etienne BERNARD\nCopyright (C) 2002,2003,2004,2005,2008 Clinton Ebadi"
+ 
+ class Channel;
+ class DCCConnection;
+--- a/source/ShitList.C
++++ b/source/ShitList.C
+@@ -45,7 +45,7 @@
+ void
+ ShitList::read()
+ {
+-  std::ifstream file(listFileName);
++  std::ifstream file(static_cast<const char*>(listFileName));
+   String temp;
+   int line = 1;
+ 
+@@ -74,7 +74,7 @@
+ ShitList::save()
+ {
+   std::list<ShitEntry *>::iterator it = l.begin();
+-  std::ofstream file(listFileName);
++  std::ofstream file(static_cast<const char*>(listFileName));
+ 
+   if (!file)
+     return;
+--- a/source/UserCommands.C
++++ b/source/UserCommands.C
+@@ -612,7 +612,7 @@
+ 
+   StringTokenizer st(rest);
+   String command = Utils::to_upper (st.next_token());
+-  std::ifstream helpFile(cnx->bot->helpFileName);
++  std::ifstream helpFile(static_cast<const char*>(cnx->bot->helpFileName));
+ 
+   if (!helpFile) {
+     from->sendNotice(String("\002Error: I can not find the "
+--- a/source/UserList.C
++++ b/source/UserList.C
+@@ -39,7 +39,7 @@
+ void
+ UserList::read()
+ {
+-  std::ifstream file(listFilename);
++  std::ifstream file(static_cast<const char*>(listFilename));
+   String temp, empty = "";
+   int line = 1;
+ 
+@@ -88,7 +88,7 @@
+ UserList::save()
+ {
+   std::list<UserListItem *>::iterator it = l.begin();
+-  std::ofstream file(listFilename);
++  std::ofstream file(static_cast<const char*>(listFilename));
+   
+   if (!file)
+     return;

Reply via email to