commit:     38d98ebcfa5aa1e87190eb3ed76fce7150b6ff51
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sat Nov  7 12:56:42 2015 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sat Nov  7 12:57:50 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38d98ebc

net-p2p/amule: Support wxGTK:3.0 (#465084)

Package-Manager: portage-2.2.23

 net-p2p/amule/amule-2.3.1-r1.ebuild         | 112 ++++++++++++++++++++++++++++
 net-p2p/amule/files/amule-2.3.1-build.patch |  10 +++
 net-p2p/amule/files/amule-2.3.1-wx3.0.patch |  45 +++++++++++
 3 files changed, 167 insertions(+)

diff --git a/net-p2p/amule/amule-2.3.1-r1.ebuild 
b/net-p2p/amule/amule-2.3.1-r1.ebuild
new file mode 100644
index 0000000..8335b24
--- /dev/null
+++ b/net-p2p/amule/amule-2.3.1-r1.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WX_GTK_VER="3.0"
+
+inherit eutils flag-o-matic wxwidgets user
+
+MY_P=${PN/m/M}-${PV}
+S="${WORKDIR}"/${MY_P}
+
+DESCRIPTION="aMule, the all-platform eMule p2p client"
+HOMEPAGE="http://www.amule.org/";
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="daemon debug geoip nls remote stats unicode upnp +X"
+
+RDEPEND="
+       >=dev-libs/crypto++-5
+       >=sys-libs/zlib-1.2.1
+       stats? ( >=media-libs/gd-2.0.26[jpeg] )
+       geoip? ( dev-libs/geoip )
+       upnp? ( >=net-libs/libupnp-1.6.6 )
+       remote? ( >=media-libs/libpng-1.2.0
+       unicode? ( >=media-libs/gd-2.0.26 ) )
+       X? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
+       !X? ( x11-libs/wxGTK:${WX_GTK_VER} )
+       !net-p2p/imule
+"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+       if use stats && ! use X; then
+               einfo "Note: You would need both the X and stats USE flags"
+               einfo "to compile aMule Statistics GUI."
+               einfo "I will now compile console versions only."
+       fi
+}
+
+pkg_preinst() {
+       if use daemon || use remote; then
+               enewgroup p2p
+               enewuser p2p -1 -1 /home/p2p p2p
+       fi
+}
+
+src_prepare() {
+       epatch "${FILESDIR}"/${PN}-2.2.6-fallocate.diff
+       # Bug 412371
+       epatch "${FILESDIR}"/${PN}-2.3.1-gcc47.patch
+
+       # https://bugs.gentoo.org/show_bug.cgi?id=465084
+       epatch "${FILESDIR}"/${PN}-2.3.1-wx3.0.patch
+       epatch "${FILESDIR}"/${PN}-2.3.1-build.patch
+}
+
+src_configure() {
+       local myconf
+
+       if use X; then
+               einfo "wxGTK with X support will be used"
+               need-wxwidgets unicode
+       else
+               einfo "wxGTK without X support will be used"
+               need-wxwidgets base-unicode
+       fi
+
+       if use X ; then
+               use stats && myconf="${myconf}
+                       --enable-wxcas
+                       --enable-alc"
+               use remote && myconf="${myconf}
+                       --enable-amule-gui"
+       else
+               myconf="
+                       --disable-monolithic
+                       --disable-amule-gui
+                       --disable-wxcas
+                       --disable-alc"
+       fi
+
+       econf \
+               --with-wx-config=${WX_CONFIG} \
+               --enable-amulecmd \
+               $(use_enable debug) \
+               $(use_enable !debug optimize) \
+               $(use_enable daemon amule-daemon) \
+               $(use_enable geoip) \
+               $(use_enable nls) \
+               $(use_enable remote webserver) \
+               $(use_enable stats cas) \
+               $(use_enable stats alcc) \
+               $(use_enable upnp) \
+               ${myconf}
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+
+       if use daemon; then
+               newconfd "${FILESDIR}"/amuled.confd amuled
+               newinitd "${FILESDIR}"/amuled.initd amuled
+       fi
+       if use remote; then
+               newconfd "${FILESDIR}"/amuleweb.confd amuleweb
+               newinitd "${FILESDIR}"/amuleweb.initd amuleweb
+       fi
+}

diff --git a/net-p2p/amule/files/amule-2.3.1-build.patch 
b/net-p2p/amule/files/amule-2.3.1-build.patch
new file mode 100644
index 0000000..2e977f3
--- /dev/null
+++ b/net-p2p/amule/files/amule-2.3.1-build.patch
@@ -0,0 +1,10 @@
+--- aMule-2.3.1/src/LoggerConsole.cpp~ 2011-06-13 10:50:25.000000000 +0200
++++ aMule-2.3.1/src/LoggerConsole.cpp  2015-04-11 10:58:20.592470541 +0200
+@@ -29,6 +29,7 @@
+ 
+ #include "Logger.h"                           // for Add(Debug)LogLineM()
+ 
++DEFINE_LOCAL_EVENT_TYPE(MULE_EVT_LOGLINE)
+ 
+ #ifdef __DEBUG__
+ bool CLogger::IsEnabled(DebugType /*type*/) const

diff --git a/net-p2p/amule/files/amule-2.3.1-wx3.0.patch 
b/net-p2p/amule/files/amule-2.3.1-wx3.0.patch
new file mode 100644
index 0000000..77568b1
--- /dev/null
+++ b/net-p2p/amule/files/amule-2.3.1-wx3.0.patch
@@ -0,0 +1,45 @@
+diff -ur aMule-2.3.1/src/amuled.cpp aMule-2.3.1.wx3/src/amuled.cpp
+--- aMule-2.3.1/src/amuled.cpp 2011-07-13 17:00:12.000000000 +0200
++++ aMule-2.3.1.wx3/src/amuled.cpp     2014-01-19 13:55:50.904800356 +0100
+@@ -423,7 +423,9 @@
+ #ifndef __WXMSW__
+ 
+ 
++/*
+ static EndProcessDataMap endProcDataMap;
++*/
+ 
+ 
+ int CDaemonAppTraits::WaitForChild(wxExecuteData &execData)
+@@ -449,6 +451,7 @@
+               wxSleep(1);
+               result = AmuleWaitPid(execData.pid, &status, WNOHANG, &msg);
+               if (result == 0) {
++              /*
+                       // Add a WxEndProcessData entry to the map, so that we 
can
+                       // support process termination
+                       wxEndProcessData *endProcData = new wxEndProcessData();
+@@ -456,6 +459,7 @@
+                       endProcData->process = execData.process;
+                       endProcData->tag = 0;
+                       endProcDataMap[execData.pid] = endProcData;
++              */
+ 
+                       status = execData.pid;
+               } else {
+@@ -480,6 +484,7 @@
+       msg << wxT("OnSignalChildHandler() has been called for child process 
with pid `") <<
+               siginfo->si_pid <<
+               wxT("'. ");
++/*
+       // Make sure we leave no zombies by calling waitpid()
+       int status = 0;
+       pid_t result = AmuleWaitPid(siginfo->si_pid, &status, WNOHANG, &msg);
+@@ -503,6 +508,7 @@
+                       msg << wxT(" Error: the child process pid is not on the 
pid map.");
+               }
+       }
++*/
+ 
+       // Log our passage here
+       AddDebugLogLineN(logGeneral, msg);

Reply via email to