summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-p2p/amule/Manifest1
-rw-r--r--net-p2p/amule/amule-2.3.2-r5.ebuild155
-rw-r--r--net-p2p/amule/files/amule-2.3.2-Fixed-compilation-with-newer-bfd.patch33
-rw-r--r--net-p2p/amule/files/amule-2.3.2-cryptopp-6.patch25
-rw-r--r--net-p2p/amule/files/amule-2.3.2-desktop-mimetype.patch30
-rw-r--r--net-p2p/amule/files/amule-2.3.2-fix-crash-closing-last-search-tab-1.patch97
-rw-r--r--net-p2p/amule/files/amule-2.3.2-fix-crash-closing-last-search-tab-2.patch159
-rw-r--r--net-p2p/amule/files/amule-2.3.2-fix-crash-shared-dir-utf8.patch78
-rw-r--r--net-p2p/amule/files/amule-2.3.2-fix-crash-when-shared-files-changed.patch50
-rw-r--r--net-p2p/amule/files/amule-2.3.2-libupnp-1.14.patch24
-rw-r--r--net-p2p/amule/files/amule-2.3.2-libupnp-1.6.patch350
-rw-r--r--net-p2p/amule/files/amule-2.3.2-libupnp-1.8.patch263
12 files changed, 0 insertions, 1265 deletions
diff --git a/net-p2p/amule/Manifest b/net-p2p/amule/Manifest
index 83f4b988336f..0b9d01e1aa4e 100644
--- a/net-p2p/amule/Manifest
+++ b/net-p2p/amule/Manifest
@@ -1,2 +1 @@
-DIST aMule-2.3.2.tar.xz 3895300 BLAKE2B cf1bce3a0fcd0c108e369b7aed257f067a4ce3ce2fd4e8509b577ac58f8bc52fbc9aabc5c703bc9111dd06ac011ee1f3756279b093b69bcaada106226493237a SHA512 3064b086f8459b4372ea0c11f239a08167c7beac3dde26889f056f617b480b487bea10c2cae8fdfa1ae99c10fc9e715adc8e01e4b968389861aa47c3ec8c0016
DIST aMule-2.3.3.tar.xz 3699376 BLAKE2B 4b1fb98bd52e4c75f81773020d4fc258f8e7c4d7a5d40a7aadabc8fd27b3079705761650fdcd7cd089da77575a74f1950f02039ee14bf4b9894550b8b3d9191b SHA512 a5a80c5ddd1e107d92070c1d8e232c2762c4c54791abc067c739eef7c690062ed164dd7733808f80c762719261162aeb3d602308964dda2670a0bb059d87b74e
diff --git a/net-p2p/amule/amule-2.3.2-r5.ebuild b/net-p2p/amule/amule-2.3.2-r5.ebuild
deleted file mode 100644
index 30856b930175..000000000000
--- a/net-p2p/amule/amule-2.3.2-r5.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-WX_GTK_VER="3.0-gtk3"
-
-inherit wxwidgets xdg-utils
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/amule-project/amule"
- inherit autotools git-r3
-else
- MY_P="${PN/m/M}-${PV}"
- SRC_URI="https://download.sourceforge.net/${PN}/${MY_P}.tar.xz"
- S="${WORKDIR}/${MY_P}"
- KEYWORDS="~alpha amd64 ~arm ppc ppc64 ~sparc x86"
-fi
-
-DESCRIPTION="aMule, the all-platform eMule p2p client"
-HOMEPAGE="http://www.amule.org/"
-
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE="daemon debug geoip nls remote stats upnp +X"
-
-RDEPEND="
- dev-libs/boost:=
- dev-libs/crypto++:=
- sys-libs/binutils-libs:0=
- sys-libs/readline:0=
- sys-libs/zlib
- >=x11-libs/wxGTK-3.0.4:${WX_GTK_VER}[X?]
- daemon? ( acct-user/amule )
- geoip? ( dev-libs/geoip )
- nls? ( virtual/libintl )
- remote? (
- acct-user/amule
- media-libs/libpng:0=
- )
- stats? ( media-libs/gd:=[jpeg,png] )
- upnp? ( net-libs/libupnp:0 )
-"
-DEPEND="${RDEPEND}
- X? ( dev-util/desktop-file-utils )
-"
-BDEPEND="
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.3.2-fix-crash-shared-dir-utf8.patch"
- "${FILESDIR}/${PN}-2.3.2-fix-crash-closing-last-search-tab-1.patch"
- "${FILESDIR}/${PN}-2.3.2-fix-crash-closing-last-search-tab-2.patch"
- "${FILESDIR}/${PN}-2.3.2-cryptopp-6.patch"
- "${FILESDIR}/${PN}-2.3.2-disable-version-check.patch"
- "${FILESDIR}/${PN}-2.3.2-fix-crash-when-shared-files-changed.patch"
- "${FILESDIR}/${PN}-2.3.2-libupnp-1.8.patch"
- "${FILESDIR}/${PN}-2.3.2-libupnp-1.6.patch"
- "${FILESDIR}/${PN}-2.3.2-Fixed-compilation-with-newer-bfd.patch"
- "${FILESDIR}/${PN}-2.3.2-desktop-mimetype.patch"
- "${FILESDIR}/${PN}-2.3.2-libupnp-1.14.patch"
-)
-
-pkg_setup() {
- setup-wxwidgets
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} == 9999 ]]; then
- ./autogen.sh || die
- fi
-}
-
-src_configure() {
- local myconf=(
- --with-denoise-level=0
- --with-wx-config="${WX_CONFIG}"
- --enable-amulecmd
- --with-boost
- $(use_enable debug)
- $(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)
- )
-
- if use X; then
- myconf+=(
- $(use_enable remote amule-gui)
- $(use_enable stats alc)
- $(use_enable stats wxcas)
- )
- else
- myconf+=(
- --disable-monolithic
- --disable-amule-gui
- --disable-alc
- --disable-wxcas
- )
- fi
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
-
- if use daemon; then
- newconfd "${FILESDIR}"/amuled.confd-r1 amuled
- newinitd "${FILESDIR}"/amuled.initd amuled
- fi
- if use remote; then
- newconfd "${FILESDIR}"/amuleweb.confd-r1 amuleweb
- newinitd "${FILESDIR}"/amuleweb.initd amuleweb
- fi
-
- if use daemon || use remote; then
- keepdir /var/lib/${PN}
- fowners amule:amule /var/lib/${PN}
- fperms 0750 /var/lib/${PN}
- fi
-}
-
-pkg_postinst() {
- local ver
-
- if use daemon || use remote; then
- for ver in ${REPLACING_VERSIONS}; do
- if ver_test ${ver} -lt "2.3.2-r4"; then
- elog "Default user under which amuled and amuleweb daemons are started"
- elog "have been changed from p2p to amule. Default home directory have been"
- elog "changed as well."
- echo
- elog "If you want to preserve old download/share location, you can create"
- elog "symlink /var/lib/amule/.aMule pointing to the old location and adjust"
- elog "files ownership *or* restore AMULEUSER and AMULEHOME variables in"
- elog "/etc/conf.d/{amuled,amuleweb} to the old values."
-
- break
- fi
- done
- fi
-
- use X && xdg_desktop_database_update
-}
-
-pkg_postrm() {
- use X && xdg_desktop_database_update
-}
diff --git a/net-p2p/amule/files/amule-2.3.2-Fixed-compilation-with-newer-bfd.patch b/net-p2p/amule/files/amule-2.3.2-Fixed-compilation-with-newer-bfd.patch
deleted file mode 100644
index 3ef8a21fa45c..000000000000
--- a/net-p2p/amule/files/amule-2.3.2-Fixed-compilation-with-newer-bfd.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From c0c28234a40b1b575ce51cdfe5ffa5dac3a7494c Mon Sep 17 00:00:00 2001
-From: Werner Mahr <werner@vollstreckernet.de>
-Date: Fri, 31 Jan 2020 17:55:24 +0100
-Subject: [PATCH] Fixed compilation with newer bfd. Fixes: #174
-
----
- src/libs/common/MuleDebug.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/libs/common/MuleDebug.cpp b/src/libs/common/MuleDebug.cpp
-index 5d8d75890..0ebf2ab07 100644
---- a/src/libs/common/MuleDebug.cpp
-+++ b/src/libs/common/MuleDebug.cpp
-@@ -268,14 +268,14 @@ void get_file_line_info(bfd *abfd, asection *section, void* _address)
- return;
- }
-
-- bfd_vma vma = bfd_get_section_vma(abfd, section);
-+ bfd_vma vma = section->vma;
-
- unsigned long address = (unsigned long)_address;
- if (address < vma) {
- return;
- }
-
-- bfd_size_type size = bfd_section_size(abfd, section);
-+ bfd_size_type size = section->size;
- if (address > (vma + size)) {
- return;
- }
---
-2.24.1
-
diff --git a/net-p2p/amule/files/amule-2.3.2-cryptopp-6.patch b/net-p2p/amule/files/amule-2.3.2-cryptopp-6.patch
deleted file mode 100644
index d23534475603..000000000000
--- a/net-p2p/amule/files/amule-2.3.2-cryptopp-6.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 27c13f3e622b8a3eaaa05bb62b0149604bdcc9e8 Mon Sep 17 00:00:00 2001
-From: Tommy Jerry Mairo <tommy.mairo@gmail.com>
-Date: Wed, 21 Mar 2018 19:56:28 +0100
-Subject: [PATCH] Bugfix: API mismatch with crypto++ 6.0.0
-
----
- src/ClientCreditsList.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/ClientCreditsList.cpp b/src/ClientCreditsList.cpp
-index 3bea9fe2d..69e881fd8 100644
---- a/src/ClientCreditsList.cpp
-+++ b/src/ClientCreditsList.cpp
-@@ -312,7 +312,7 @@ void CClientCreditsList::InitalizeCrypting()
- // calculate and store public key
- CryptoPP::RSASSA_PKCS1v15_SHA_Verifier pubkey(*static_cast<CryptoPP::RSASSA_PKCS1v15_SHA_Signer *>(m_pSignkey));
- CryptoPP::ArraySink asink(m_abyMyPublicKey, 80);
-- pubkey.DEREncode(asink);
-+ pubkey.GetMaterial().Save(asink);
- m_nMyPublicKeyLen = asink.TotalPutLength();
- asink.MessageEnd();
- } catch (const CryptoPP::Exception& e) {
---
-2.16.4
-
diff --git a/net-p2p/amule/files/amule-2.3.2-desktop-mimetype.patch b/net-p2p/amule/files/amule-2.3.2-desktop-mimetype.patch
deleted file mode 100644
index cd8ba4c2fc50..000000000000
--- a/net-p2p/amule/files/amule-2.3.2-desktop-mimetype.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 048e86d44e09ef9dc1897c432660a712109b263a Mon Sep 17 00:00:00 2001
-From: Werner Mahr <werner@vollstreckernet.de>
-Date: Mon, 29 Apr 2019 18:37:35 +0200
-Subject: [PATCH] Added imetype-handler for amule ed2k-links. Patch taken from
- debian.
-
----
- amule.desktop | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/amule.desktop b/amule.desktop
-index 70be367af..1cfb38010 100644
---- a/amule.desktop
-+++ b/amule.desktop
-@@ -1,6 +1,6 @@
- [Desktop Entry]
- Name=aMule
--Exec=amule
-+Exec=amule %u
- Icon=amule
- Terminal=false
- Type=Application
-@@ -8,3 +8,4 @@ Categories=Network;P2P;
- Comment=A client for the eD2k network
- Comment[fr]=Un client pour le réseau eD2k
- Comment[tr]=eD2k ağı için istemci
-+MimeType=x-scheme-handler/ed2k;
---
-2.26.2
-
diff --git a/net-p2p/amule/files/amule-2.3.2-fix-crash-closing-last-search-tab-1.patch b/net-p2p/amule/files/amule-2.3.2-fix-crash-closing-last-search-tab-1.patch
deleted file mode 100644
index c480165eb983..000000000000
--- a/net-p2p/amule/files/amule-2.3.2-fix-crash-closing-last-search-tab-1.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 0f0c5c220228aea81142c7c00f73414cdb1b507a Mon Sep 17 00:00:00 2001
-From: gaffa <gaffa@confuseacat.dk>
-Date: Wed, 12 Oct 2016 19:36:21 +0200
-Subject: [PATCH] A workaround for inconsistent behaviour in wxWidgets, where
- the button release signal is falling through. Instead of calling DeletePage
- directly an event is added to delete the page after the button release event
- has been processed by all handlers.
-
----
- src/MuleNotebook.cpp | 17 ++++++++++++++++-
- src/MuleNotebook.h | 13 +++++++++++++
- 2 files changed, 29 insertions(+), 1 deletion(-)
-
-diff --git a/src/MuleNotebook.cpp b/src/MuleNotebook.cpp
-index ff3ba294e..4ab23ce18 100644
---- a/src/MuleNotebook.cpp
-+++ b/src/MuleNotebook.cpp
-@@ -32,6 +32,7 @@
-
- DEFINE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_PAGE_CLOSING)
- DEFINE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_ALL_PAGES_CLOSED)
-+DEFINE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_DELETE_PAGE)
-
- BEGIN_EVENT_TABLE(CMuleNotebook, wxNotebook)
- EVT_RIGHT_DOWN(CMuleNotebook::OnRMButton)
-@@ -44,6 +45,7 @@ BEGIN_EVENT_TABLE(CMuleNotebook, wxNotebook)
- EVT_LEFT_UP(CMuleNotebook::OnMouseButtonRelease)
- EVT_MIDDLE_UP(CMuleNotebook::OnMouseButtonRelease)
- EVT_MOTION(CMuleNotebook::OnMouseMotion)
-+ EVT_MULENOTEBOOK_DELETE_PAGE(wxID_ANY, CMuleNotebook::OnDeletePage)
- END_EVENT_TABLE()
-
- CMuleNotebook::CMuleNotebook( wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name )
-@@ -60,6 +62,12 @@ CMuleNotebook::~CMuleNotebook()
- DeleteAllPages();
- }
-
-+void CMuleNotebook::OnDeletePage(wxBookCtrlEvent& evt)
-+{
-+ int page = evt.GetSelection();
-+ DeletePage(page);
-+}
-+
-
- bool CMuleNotebook::DeletePage(int nPage)
- {
-@@ -216,7 +224,14 @@ void CMuleNotebook::OnMouseButtonRelease(wxMouseEvent &event)
- if ((tab != -1) && (((flags == wxNB_HITTEST_ONICON) && event.LeftUp()) ||
- ((flags == wxNB_HITTEST_ONLABEL) && event.MiddleUp()))) {
- // User did click on a 'x' or middle click on the label
-- DeletePage(tab);
-+
-+ /* WORKAROUND: Instead of calling DeletePage, we need to wait for the
-+ * mouse release signal to reach Gtk. Inconsistent with normal wxEvent
-+ * behaviour the button release handler in wxWidgets don't evaluate
-+ * the result of the signal handling. */
-+ wxNotebookEvent evt( wxEVT_COMMAND_MULENOTEBOOK_DELETE_PAGE, GetId(), tab );
-+ evt.SetEventObject(this);
-+ AddPendingEvent( evt );
- } else {
- // Is not a 'x'. Send this event up.
- event.Skip();
-diff --git a/src/MuleNotebook.h b/src/MuleNotebook.h
-index dda097d07..ab2809d88 100644
---- a/src/MuleNotebook.h
-+++ b/src/MuleNotebook.h
-@@ -31,7 +31,16 @@
-
- DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_PAGE_CLOSING, -1)
- DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_ALL_PAGES_CLOSED, -1)
-+DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_DELETE_PAGE, -1)
-
-+#define EVT_MULENOTEBOOK_DELETE_PAGE(id, fn) \
-+ DECLARE_EVENT_TABLE_ENTRY( \
-+ wxEVT_COMMAND_MULENOTEBOOK_DELETE_PAGE, \
-+ id, \
-+ -1, \
-+ (wxObjectEventFunction)(wxEventFunction)(wxNotebookEventFunction) &fn, \
-+ NULL \
-+ ),
- #define EVT_MULENOTEBOOK_PAGE_CLOSING(id, fn) \
- DECLARE_EVENT_TABLE_ENTRY( \
- wxEVT_COMMAND_MULENOTEBOOK_PAGE_CLOSING, \
-@@ -107,6 +116,10 @@ public:
- */
- void SetPopupHandler( wxWindow* widget );
-
-+private:
-+ // Internal handler. Workaround for wxWidgets Tab-Crash bug.
-+ void OnDeletePage(wxBookCtrlEvent& evt);
-+
- protected:
- /**
- * Event handler for left or middle mouse button release (for closing pages)
---
-2.16.4
-
diff --git a/net-p2p/amule/files/amule-2.3.2-fix-crash-closing-last-search-tab-2.patch b/net-p2p/amule/files/amule-2.3.2-fix-crash-closing-last-search-tab-2.patch
deleted file mode 100644
index e47970beb0c8..000000000000
--- a/net-p2p/amule/files/amule-2.3.2-fix-crash-closing-last-search-tab-2.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-From 4c94c2d9f3be8b9068966f15aebc29b8c9b706ab Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?D=C3=A9vai=20Tam=C3=A1s?= <gonosztopi@amule.org>
-Date: Mon, 17 Oct 2016 22:14:26 +0200
-Subject: [PATCH] Apply the workaround only if needed
-
-This way it'll be easy for us to remove the workaround once wxWidgets fixes
-the bug.
----
- docs/Changelog | 4 ++++
- src/MuleNotebook.cpp | 19 ++++++++++++++-----
- src/MuleNotebook.h | 8 ++++++++
- 3 files changed, 26 insertions(+), 5 deletions(-)
-
-diff --git a/docs/Changelog b/docs/Changelog
-index 7dbff70b2..e9176dd51 100644
---- a/docs/Changelog
-+++ b/docs/Changelog
-@@ -2,6 +2,10 @@ Version 2.4.0 - The river knows.
- ----------
- 201?-??-??
-
-+ gaffatape:
-+ * Workaround for bug in wxWidgets causing aMule to crash on
-+ closing the last search tab
-+
- GonoszTopi:
- * Fix restoring toolbar orientation on 'Cancel'
-
-diff --git a/src/MuleNotebook.cpp b/src/MuleNotebook.cpp
-index 4ab23ce18..5d3ad0453 100644
---- a/src/MuleNotebook.cpp
-+++ b/src/MuleNotebook.cpp
-@@ -32,7 +32,10 @@
-
- DEFINE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_PAGE_CLOSING)
- DEFINE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_ALL_PAGES_CLOSED)
-+
-+#if MULE_NEEDS_DELETEPAGE_WORKAROUND
- DEFINE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_DELETE_PAGE)
-+#endif
-
- BEGIN_EVENT_TABLE(CMuleNotebook, wxNotebook)
- EVT_RIGHT_DOWN(CMuleNotebook::OnRMButton)
-@@ -45,9 +48,12 @@ BEGIN_EVENT_TABLE(CMuleNotebook, wxNotebook)
- EVT_LEFT_UP(CMuleNotebook::OnMouseButtonRelease)
- EVT_MIDDLE_UP(CMuleNotebook::OnMouseButtonRelease)
- EVT_MOTION(CMuleNotebook::OnMouseMotion)
-+#if MULE_NEEDS_DELETEPAGE_WORKAROUND
- EVT_MULENOTEBOOK_DELETE_PAGE(wxID_ANY, CMuleNotebook::OnDeletePage)
-+#endif
- END_EVENT_TABLE()
-
-+
- CMuleNotebook::CMuleNotebook( wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name )
- : wxNotebook(parent, id, pos, size, style, name)
- {
-@@ -62,11 +68,14 @@ CMuleNotebook::~CMuleNotebook()
- DeleteAllPages();
- }
-
-+
-+#if MULE_NEEDS_DELETEPAGE_WORKAROUND
- void CMuleNotebook::OnDeletePage(wxBookCtrlEvent& evt)
- {
- int page = evt.GetSelection();
- DeletePage(page);
- }
-+#endif // MULE_NEEDS_DELETEPAGE_WORKAROUND
-
-
- bool CMuleNotebook::DeletePage(int nPage)
-@@ -208,7 +217,6 @@ void CMuleNotebook::OnPopupCloseOthers(wxCommandEvent& WXUNUSED(evt))
-
- void CMuleNotebook::OnMouseButtonRelease(wxMouseEvent &event)
- {
--
- if (GetImageList() == NULL) {
- // This Mulenotebook has no images on tabs, so nothing to do.
- event.Skip();
-@@ -224,7 +232,7 @@ void CMuleNotebook::OnMouseButtonRelease(wxMouseEvent &event)
- if ((tab != -1) && (((flags == wxNB_HITTEST_ONICON) && event.LeftUp()) ||
- ((flags == wxNB_HITTEST_ONLABEL) && event.MiddleUp()))) {
- // User did click on a 'x' or middle click on the label
--
-+#if MULE_NEEDS_DELETEPAGE_WORKAROUND
- /* WORKAROUND: Instead of calling DeletePage, we need to wait for the
- * mouse release signal to reach Gtk. Inconsistent with normal wxEvent
- * behaviour the button release handler in wxWidgets don't evaluate
-@@ -232,16 +240,18 @@ void CMuleNotebook::OnMouseButtonRelease(wxMouseEvent &event)
- wxNotebookEvent evt( wxEVT_COMMAND_MULENOTEBOOK_DELETE_PAGE, GetId(), tab );
- evt.SetEventObject(this);
- AddPendingEvent( evt );
-+#else
-+ DeletePage(tab);
-+#endif // MULE_NEEDS_DELETEPAGE_WORKAROUND
- } else {
- // Is not a 'x'. Send this event up.
- event.Skip();
- }
--
- }
-
-+
- void CMuleNotebook::OnMouseMotion(wxMouseEvent &event)
- {
--
- if (GetImageList() == NULL) {
- // This Mulenotebook has no images on tabs, so nothing to do.
- event.Skip();
-@@ -263,7 +273,6 @@ void CMuleNotebook::OnMouseMotion(wxMouseEvent &event)
- // Is not a 'x'. Send this event up.
- event.Skip();
- }
--
- }
-
- // File_checked_for_headers
-diff --git a/src/MuleNotebook.h b/src/MuleNotebook.h
-index ab2809d88..14f61ee68 100644
---- a/src/MuleNotebook.h
-+++ b/src/MuleNotebook.h
-@@ -28,9 +28,13 @@
-
- #include <wx/notebook.h>
-
-+#define MULE_NEEDS_DELETEPAGE_WORKAROUND wxCHECK_VERSION(3,0,2)
-+
-
- DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_PAGE_CLOSING, -1)
- DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_ALL_PAGES_CLOSED, -1)
-+
-+#if MULE_NEEDS_DELETEPAGE_WORKAROUND
- DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_DELETE_PAGE, -1)
-
- #define EVT_MULENOTEBOOK_DELETE_PAGE(id, fn) \
-@@ -41,6 +45,8 @@ DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MULENOTEBOOK_DELETE_PAGE, -1)
- (wxObjectEventFunction)(wxEventFunction)(wxNotebookEventFunction) &fn, \
- NULL \
- ),
-+#endif // MULE_NEEDS_DELETEPAGE_WORKAROUND
-+
- #define EVT_MULENOTEBOOK_PAGE_CLOSING(id, fn) \
- DECLARE_EVENT_TABLE_ENTRY( \
- wxEVT_COMMAND_MULENOTEBOOK_PAGE_CLOSING, \
-@@ -116,9 +122,11 @@ public:
- */
- void SetPopupHandler( wxWindow* widget );
-
-+#if MULE_NEEDS_DELETEPAGE_WORKAROUND
- private:
- // Internal handler. Workaround for wxWidgets Tab-Crash bug.
- void OnDeletePage(wxBookCtrlEvent& evt);
-+#endif // MULE_NEEDS_DELETEPAGE_WORKAROUND
-
- protected:
- /**
---
-2.16.4
-
diff --git a/net-p2p/amule/files/amule-2.3.2-fix-crash-shared-dir-utf8.patch b/net-p2p/amule/files/amule-2.3.2-fix-crash-shared-dir-utf8.patch
deleted file mode 100644
index aa92ff6c81ee..000000000000
--- a/net-p2p/amule/files/amule-2.3.2-fix-crash-shared-dir-utf8.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 17816ed02f59bab9c27310e7f24c73266b0a3003 Mon Sep 17 00:00:00 2001
-From: persmule <persmule@gmail.com>
-Date: Wed, 5 Oct 2016 13:47:46 +0800
-Subject: [PATCH] Add a routine to set file name conversion for amuled which
- based on wxAppConsole
-
----
- src/amule.h | 7 +++++++
- src/amuled.cpp | 35 +++++++++++++++++++++++++++++++++++
- 2 files changed, 42 insertions(+)
-
-diff --git a/src/amule.h b/src/amule.h
-index f25702f60..240c02dd9 100644
---- a/src/amule.h
-+++ b/src/amule.h
-@@ -553,6 +553,13 @@ private:
- int OnExit();
-
- virtual int InitGui(bool geometry_enable, wxString &geometry_string);
-+ // The GTK wxApps sets its file name conversion properly
-+ // in wxApp::Initialize(), while wxAppConsole::Initialize()
-+ // does not, leaving wxConvFile being set to wxConvLibc. File
-+ // name conversion should be set otherwise amuled will abort to
-+ // handle non-ASCII file names which monolithic amule can handle.
-+ // This function are overrided to perform this.
-+ virtual bool Initialize(int& argc_, wxChar **argv_);
-
- #ifdef AMULED_APPTRAITS
- struct sigaction m_oldSignalChildAction;
-diff --git a/src/amuled.cpp b/src/amuled.cpp
-index 486da5973..86e1ff8b8 100644
---- a/src/amuled.cpp
-+++ b/src/amuled.cpp
-@@ -704,6 +704,41 @@ int CamuleDaemonApp::InitGui(bool ,wxString &)
- return 0;
- }
-
-+bool CamuleDaemonApp::Initialize(int& argc_, wxChar **argv_)
-+{
-+ if ( !wxAppConsole::Initialize(argc_, argv_) ) {
-+ return false;
-+ }
-+
-+#ifdef __UNIX__
-+ wxString encName;
-+#if wxUSE_INTL
-+ // if a non default locale is set,
-+ // assume that the user wants his
-+ // filenames in this locale too
-+ encName = wxLocale::GetSystemEncodingName().Upper();
-+
-+ // But don't consider ASCII in this case.
-+ if ( !encName.empty() ) {
-+ if ( encName == wxT("US-ASCII") ) {
-+ // This means US-ASCII when returned
-+ // from GetEncodingFromName().
-+ encName.clear();
-+ }
-+ }
-+#endif // wxUSE_INTL
-+
-+ // in this case, UTF-8 is used by default.
-+ if ( encName.empty() ) {
-+ encName = wxT("UTF-8");
-+ }
-+
-+ static wxConvBrokenFileNames fileconv(encName);
-+ wxConvFileName = &fileconv;
-+#endif // __UNIX__
-+
-+ return true;
-+}
-
- int CamuleDaemonApp::OnExit()
- {
---
-2.16.4
-
diff --git a/net-p2p/amule/files/amule-2.3.2-fix-crash-when-shared-files-changed.patch b/net-p2p/amule/files/amule-2.3.2-fix-crash-when-shared-files-changed.patch
deleted file mode 100644
index 81e0ef7b6296..000000000000
--- a/net-p2p/amule/files/amule-2.3.2-fix-crash-when-shared-files-changed.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 110a056fa4bcfc0fe8c1f8eadcc2bd5df0bbf5e1 Mon Sep 17 00:00:00 2001
-From: xinhuang <xinhuang.abc@gmail.com>
-Date: Thu, 4 Jan 2018 00:44:35 -0800
-Subject: [PATCH] fix crash when shared files changed on Shared files tab
-
----
- src/extern/wxWidgets/listctrl.cpp | 10 ----------
- src/extern/wxWidgets/listctrl.h | 5 -----
- 2 files changed, 15 deletions(-)
-
-diff --git a/src/extern/wxWidgets/listctrl.cpp b/src/extern/wxWidgets/listctrl.cpp
-index 18a30f205..460700691 100644
---- a/src/extern/wxWidgets/listctrl.cpp
-+++ b/src/extern/wxWidgets/listctrl.cpp
-@@ -5803,16 +5803,6 @@ bool wxGenericListCtrl::DoPopupMenu( wxMenu *menu, int x, int y )
- #endif
- }
-
--void wxGenericListCtrl::DoClientToScreen( int *x, int *y ) const
--{
-- m_mainWin->DoClientToScreen(x, y);
--}
--
--void wxGenericListCtrl::DoScreenToClient( int *x, int *y ) const
--{
-- m_mainWin->DoScreenToClient(x, y);
--}
--
- void wxGenericListCtrl::SetFocus()
- {
- // The test in window.cpp fails as we are a composite
-diff --git a/src/extern/wxWidgets/listctrl.h b/src/extern/wxWidgets/listctrl.h
-index b18a61866..e72f7eaf0 100644
---- a/src/extern/wxWidgets/listctrl.h
-+++ b/src/extern/wxWidgets/listctrl.h
-@@ -232,11 +232,6 @@ public:
- protected:
- virtual bool DoPopupMenu( wxMenu *menu, int x, int y );
-
-- // take into account the coordinates difference between the container
-- // window and the list control window itself here
-- virtual void DoClientToScreen( int *x, int *y ) const;
-- virtual void DoScreenToClient( int *x, int *y ) const;
--
- virtual wxSize DoGetBestSize() const;
-
- // return the text for the given column of the given item
---
-2.21.0
-
diff --git a/net-p2p/amule/files/amule-2.3.2-libupnp-1.14.patch b/net-p2p/amule/files/amule-2.3.2-libupnp-1.14.patch
deleted file mode 100644
index d68e4776e0a6..000000000000
--- a/net-p2p/amule/files/amule-2.3.2-libupnp-1.14.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/src/UPnPBase.cpp 2016-09-16 09:55:07.000000000 +0200
-+++ b/src/UPnPBase.cpp 2020-09-03 12:37:43.861231093 +0200
-@@ -824,13 +824,17 @@ m_WanService(NULL)
- // Null string at first
- std::ostringstream msg;
-
-+ // Declare those here to avoid
-+ // "jump to label ‘error’ [-fpermissive] crosses initialization
-+ // of ‘char* ipAddress’"
-+ unsigned short port;
-+ char *ipAddress;
-+
- // Start UPnP
- int ret;
-- char *ipAddress = NULL;
-- unsigned short port = 0;
-- ret = UpnpInit(ipAddress, udpPort);
-+ ret = UpnpInit2(0, udpPort);
- if (ret != UPNP_E_SUCCESS) {
-- msg << "error(UpnpInit): Error code ";
-+ msg << "error(UpnpInit2): Error code ";
- goto error;
- }
- port = UpnpGetServerPort();
diff --git a/net-p2p/amule/files/amule-2.3.2-libupnp-1.6.patch b/net-p2p/amule/files/amule-2.3.2-libupnp-1.6.patch
deleted file mode 100644
index 0fd0edfbd8f3..000000000000
--- a/net-p2p/amule/files/amule-2.3.2-libupnp-1.6.patch
+++ /dev/null
@@ -1,350 +0,0 @@
-From cb30875bd4e45736ff4ee1137ff97316295ff7be Mon Sep 17 00:00:00 2001
-From: Pablo Barciela <scow@riseup.net>
-Date: Sat, 24 Nov 2018 01:23:58 +0100
-Subject: [PATCH] Fix build with libupnp 1.6
-
----
- src/UPnPBase.cpp | 138 ++++++++++++++++++++++++++++++++++++++++++++++-
- src/UPnPBase.h | 6 +++
- 2 files changed, 142 insertions(+), 2 deletions(-)
-
-diff --git a/src/UPnPBase.cpp b/src/UPnPBase.cpp
-index d4063a136..774ebfc32 100644
---- a/src/UPnPBase.cpp
-+++ b/src/UPnPBase.cpp
-@@ -1127,7 +1127,11 @@ bool CUPnPControlPoint::PrivateDeletePortMapping(
-
-
- // This function is static
-+#if UPNP_VERSION >= 10800
- int CUPnPControlPoint::Callback(Upnp_EventType_e EventType, const void *Event, void * /*Cookie*/)
-+#else
-+int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*Cookie*/)
-+#endif
- {
- std::ostringstream msg;
- std::ostringstream msg2;
-@@ -1149,25 +1153,47 @@ int CUPnPControlPoint::Callback(Upnp_EventType_e EventType, const void *Event, v
- msg2<< "UPNP_DISCOVERY_SEARCH_RESULT: ";
- // UPnP Discovery
- upnpDiscovery:
-+#if UPNP_VERSION >= 10800
- UpnpDiscovery *d_event = (UpnpDiscovery *)Event;
-+#else
-+ struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event;
-+#endif
- IXML_Document *doc = NULL;
-+#if UPNP_VERSION >= 10800
- int errCode = UpnpDiscovery_get_ErrCode(d_event);
- if (errCode != UPNP_E_SUCCESS) {
- msg << UpnpGetErrorMessage(errCode) << ".";
-+#else
-+ int ret;
-+ if (d_event->ErrCode != UPNP_E_SUCCESS) {
-+ msg << UpnpGetErrorMessage(d_event->ErrCode) << ".";
-+#endif
- AddDebugLogLineC(logUPnP, msg);
- }
- // Get the XML tree device description in doc
-+#if UPNP_VERSION >= 10800
- const char *location = UpnpDiscovery_get_Location_cstr(d_event);
- int ret = UpnpDownloadXmlDoc(location, &doc);
-+#else
-+ ret = UpnpDownloadXmlDoc(d_event->Location, &doc);
-+#endif
- if (ret != UPNP_E_SUCCESS) {
- msg << "Error retrieving device description from " <<
-+#if UPNP_VERSION >= 10800
- location << ": " <<
-+#else
-+ d_event->Location << ": " <<
-+#endif
- UpnpGetErrorMessage(ret) <<
- "(" << ret << ").";
- AddDebugLogLineC(logUPnP, msg);
- } else {
- msg2 << "Retrieving device description from " <<
-+#if UPNP_VERSION >= 10800
- location << ".";
-+#else
-+ d_event->Location << ".";
-+#endif
- AddDebugLogLineN(logUPnP, msg2);
- }
- if (doc) {
-@@ -1195,9 +1221,14 @@ upnpDiscovery:
- AddDebugLogLineC(logUPnP, msg);
- }
- // Add the root device to our list
-+#if UPNP_VERSION >= 10800
- int expires = UpnpDiscovery_get_Expires(d_event);
- upnpCP->AddRootDevice(rootDevice, urlBase,
- location, expires);
-+#else
-+ upnpCP->AddRootDevice(rootDevice, urlBase,
-+ d_event->Location, d_event->Expires);
-+#endif
- }
- // Free the XML doc tree
- IXML::Document::Free(doc);
-@@ -1218,35 +1249,62 @@ upnpDiscovery:
- case UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE: {
- //fprintf(stderr, "Callback: UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE\n");
- // UPnP Device Removed
-+#if UPNP_VERSION >= 10800
- UpnpDiscovery *dab_event = (UpnpDiscovery *)Event;
- int errCode = UpnpDiscovery_get_ErrCode(dab_event);
- if (errCode != UPNP_E_SUCCESS) {
-+#else
-+ struct Upnp_Discovery *dab_event = (struct Upnp_Discovery *)Event;
-+ if (dab_event->ErrCode != UPNP_E_SUCCESS) {
-+#endif
- msg << "error(UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE): " <<
-+#if UPNP_VERSION >= 10800
- UpnpGetErrorMessage(errCode) <<
-+#else
-+ UpnpGetErrorMessage(dab_event->ErrCode) <<
-+#endif
- ".";
- AddDebugLogLineC(logUPnP, msg);
- }
-+#if UPNP_VERSION >= 10800
- std::string devType = UpnpDiscovery_get_DeviceType_cstr(dab_event);
-+#else
-+ std::string devType = dab_event->DeviceType;
-+#endif
- // Check for an InternetGatewayDevice and removes it from the list
-- std::transform(devType.begin(), devType.end(),
-- devType.begin(), tolower);
-+
-+ std::transform(devType.begin(), devType.end(), devType.begin(), tolower);
-+
- if (stdStringIsEqualCI(devType, UPnP::Device::IGW)) {
-+#if UPNP_VERSION >= 10800
- const char *deviceID =
- UpnpDiscovery_get_DeviceID_cstr(dab_event);
- upnpCP->RemoveRootDevice(deviceID);
-+#else
-+ upnpCP->RemoveRootDevice(dab_event->DeviceId);
-+#endif
- }
- break;
- }
- case UPNP_EVENT_RECEIVED: {
- //fprintf(stderr, "Callback: UPNP_EVENT_RECEIVED\n");
- // Event reveived
-+#if UPNP_VERSION >= 10800
- UpnpEvent *e_event = (UpnpEvent *)Event;
- int eventKey = UpnpEvent_get_EventKey(e_event);
- IXML_Document *changedVariables =
- UpnpEvent_get_ChangedVariables(e_event);
- const std::string sid = UpnpEvent_get_SID_cstr(e_event);
-+#else
-+ struct Upnp_Event *e_event = (struct Upnp_Event *)Event;
-+ const std::string Sid = e_event->Sid;
-+#endif
- // Parses the event
-+#if UPNP_VERSION >= 10800
- upnpCP->OnEventReceived(sid, eventKey, changedVariables);
-+#else
-+ upnpCP->OnEventReceived(Sid, e_event->EventKey, e_event->ChangedVariables);
-+#endif
- break;
- }
- case UPNP_EVENT_SUBSCRIBE_COMPLETE:
-@@ -1261,19 +1319,38 @@ upnpDiscovery:
- //fprintf(stderr, "Callback: UPNP_EVENT_RENEWAL_COMPLETE\n");
- msg << "error(UPNP_EVENT_RENEWAL_COMPLETE): ";
- upnpEventRenewalComplete:
-+#if UPNP_VERSION >= 10800
- UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
- int errCode = UpnpEventSubscribe_get_ErrCode(es_event);
- if (errCode != UPNP_E_SUCCESS) {
-+#else
-+ struct Upnp_Event_Subscribe *es_event =
-+ (struct Upnp_Event_Subscribe *)Event;
-+ if (es_event->ErrCode != UPNP_E_SUCCESS) {
-+#endif
- msg << "Error in Event Subscribe Callback";
-+#if UPNP_VERSION >= 10800
- UPnP::ProcessErrorMessage(msg.str(), errCode, NULL, NULL);
-+#else
-+ UPnP::ProcessErrorMessage(
-+ msg.str(), es_event->ErrCode, NULL, NULL);
-+#endif
- } else {
- #if 0
-+#if UPNP_VERSION >= 10800
-+
- const UpnpString *publisherUrl =
- UpnpEventSubscribe_get_PublisherUrl(es_event);
- const char *sid = UpnpEvent_get_SID_cstr(es_event);
- int timeOut = UpnpEvent_get_TimeOut(es_event);
- TvCtrlPointHandleSubscribeUpdate(
- publisherUrl, sid, timeOut);
-+#else
-+ TvCtrlPointHandleSubscribeUpdate(
-+ GET_UPNP_STRING(es_event->PublisherUrl),
-+ es_event->Sid,
-+ es_event->TimeOut );
-+#endif
- #endif
- }
- break;
-@@ -1288,31 +1365,56 @@ upnpEventRenewalComplete:
- msg << "error(UPNP_EVENT_SUBSCRIPTION_EXPIRED): ";
- msg2 << "UPNP_EVENT_SUBSCRIPTION_EXPIRED: ";
- upnpEventSubscriptionExpired:
-+#if UPNP_VERSION >= 10800
- UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
-+#else
-+ struct Upnp_Event_Subscribe *es_event =
-+ (struct Upnp_Event_Subscribe *)Event;
-+#endif
- Upnp_SID newSID;
- memset(newSID, 0, sizeof(Upnp_SID));
- int TimeOut = 1801;
-+#if UPNP_VERSION >= 10800
- const char *publisherUrl =
- UpnpEventSubscribe_get_PublisherUrl_cstr(es_event);
-+#endif
- int ret = UpnpSubscribe(
- upnpCP->m_UPnPClientHandle,
-+#if UPNP_VERSION >= 10800
- publisherUrl,
-+#else
-+ GET_UPNP_STRING(es_event->PublisherUrl),
-+#endif
- &TimeOut,
- newSID);
- if (ret != UPNP_E_SUCCESS) {
- msg << "Error Subscribing to EventURL";
-+#if UPNP_VERSION >= 10800
- int errCode = UpnpEventSubscribe_get_ErrCode(es_event);
-+#endif
- UPnP::ProcessErrorMessage(
-+#if UPNP_VERSION >= 10800
- msg.str(), errCode, NULL, NULL);
-+#else
-+ msg.str(), es_event->ErrCode, NULL, NULL);
-+#endif
- } else {
- ServiceMap::iterator it =
-+#if UPNP_VERSION >= 10800
- upnpCP->m_ServiceMap.find(publisherUrl);
-+#else
-+ upnpCP->m_ServiceMap.find(GET_UPNP_STRING(es_event->PublisherUrl));
-+#endif
- if (it != upnpCP->m_ServiceMap.end()) {
- CUPnPService &service = *(it->second);
- service.SetTimeout(TimeOut);
- service.SetSID(newSID);
- msg2 << "Re-subscribed to EventURL '" <<
-+#if UPNP_VERSION >= 10800
- publisherUrl <<
-+#else
-+ GET_UPNP_STRING(es_event->PublisherUrl) <<
-+#endif
- "' with SID == '" <<
- newSID << "'.";
- AddDebugLogLineC(logUPnP, msg2);
-@@ -1331,19 +1433,34 @@ upnpEventSubscriptionExpired:
- case UPNP_CONTROL_ACTION_COMPLETE: {
- //fprintf(stderr, "Callback: UPNP_CONTROL_ACTION_COMPLETE\n");
- // This is here if we choose to do this asynchronously
-+#if UPNP_VERSION >= 10800
- UpnpActionComplete *a_event = (UpnpActionComplete *)Event;
- int errCode = UpnpActionComplete_get_ErrCode(a_event);
- IXML_Document *actionResult =
- UpnpActionComplete_get_ActionResult(a_event);
- if (errCode != UPNP_E_SUCCESS) {
-+#else
-+ struct Upnp_Action_Complete *a_event =
-+ (struct Upnp_Action_Complete *)Event;
-+ if (a_event->ErrCode != UPNP_E_SUCCESS) {
-+#endif
- UPnP::ProcessErrorMessage(
- "UpnpSendActionAsync",
-+#if UPNP_VERSION >= 10800
- errCode, NULL,
- actionResult);
-+#else
-+ a_event->ErrCode, NULL,
-+ a_event->ActionResult);
-+#endif
- } else {
- // Check the response document
- UPnP::ProcessActionResponse(
-+#if UPNP_VERSION >= 10800
- actionResult,
-+#else
-+ a_event->ActionResult,
-+#endif
- "<UpnpSendActionAsync>");
- }
- /* No need for any processing here, just print out results.
-@@ -1354,17 +1471,28 @@ upnpEventSubscriptionExpired:
- case UPNP_CONTROL_GET_VAR_COMPLETE: {
- //fprintf(stderr, "Callback: UPNP_CONTROL_GET_VAR_COMPLETE\n");
- msg << "error(UPNP_CONTROL_GET_VAR_COMPLETE): ";
-+#if UPNP_VERSION >= 10800
- UpnpStateVarComplete *sv_event = (UpnpStateVarComplete *)Event;
- int errCode = UpnpStateVarComplete_get_ErrCode(sv_event);
- if (errCode != UPNP_E_SUCCESS) {
-+#else
-+ struct Upnp_State_Var_Complete *sv_event =
-+ (struct Upnp_State_Var_Complete *)Event;
-+ if (sv_event->ErrCode != UPNP_E_SUCCESS) {
-+#endif
- msg << "m_UpnpGetServiceVarStatusAsync";
- UPnP::ProcessErrorMessage(
-+#if UPNP_VERSION >= 10800
- msg.str(), errCode, NULL, NULL);
-+#else
-+ msg.str(), sv_event->ErrCode, NULL, NULL);
-+#endif
- } else {
- #if 0
- // Warning: The use of UpnpGetServiceVarStatus and
- // UpnpGetServiceVarStatusAsync is deprecated by the
- // UPnP forum.
-+#if UPNP_VERSION >= 10800
- const char *ctrlUrl =
- UpnpStateVarComplete_get_CtrlUrl(sv_event);
- const char *stateVarName =
-@@ -1373,6 +1501,12 @@ upnpEventSubscriptionExpired:
- UpnpStateVarComplete_get_CurrentVal(sv_event);
- TvCtrlPointHandleGetVar(
- ctrlUrl, stateVarName, currentVal);
-+#else
-+ TvCtrlPointHandleGetVar(
-+ sv_event->CtrlUrl,
-+ sv_event->StateVarName,
-+ sv_event->CurrentVal );
-+#endif
- #endif
- }
- break;
-diff --git a/src/UPnPBase.h b/src/UPnPBase.h
-index 92753b86a..efe63bf0f 100644
---- a/src/UPnPBase.h
-+++ b/src/UPnPBase.h
-@@ -489,9 +489,15 @@ public:
-
- // Callback function
- static int Callback(
-+#if UPNP_VERSION >= 10800
- Upnp_EventType_e EventType,
- const void *Event,
- void *Cookie);
-+#else
-+ Upnp_EventType EventType,
-+ void* Event,
-+ void* Cookie);
-+#endif
-
- private:
- void OnEventReceived(
---
-2.24.1
-
diff --git a/net-p2p/amule/files/amule-2.3.2-libupnp-1.8.patch b/net-p2p/amule/files/amule-2.3.2-libupnp-1.8.patch
deleted file mode 100644
index 42672a85a6a5..000000000000
--- a/net-p2p/amule/files/amule-2.3.2-libupnp-1.8.patch
+++ /dev/null
@@ -1,263 +0,0 @@
-From f6dccde218fed8dabd3c61efce02d29b320858fe Mon Sep 17 00:00:00 2001
-From: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
-Date: Tue, 2 Oct 2018 18:17:43 -0300
-Subject: [PATCH] Make aMule compatible with libupnp 1.8
-
----
- src/UPnPBase.cpp | 110 +++++++++++++++++++++++++++--------------------
- src/UPnPBase.h | 6 +--
- 2 files changed, 66 insertions(+), 50 deletions(-)
-
-diff --git a/src/UPnPBase.cpp b/src/UPnPBase.cpp
-index 01a7c3a05..d4063a136 100644
---- a/src/UPnPBase.cpp
-+++ b/src/UPnPBase.cpp
-@@ -1127,7 +1127,7 @@ bool CUPnPControlPoint::PrivateDeletePortMapping(
-
-
- // This function is static
--int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*Cookie*/)
-+int CUPnPControlPoint::Callback(Upnp_EventType_e EventType, const void *Event, void * /*Cookie*/)
- {
- std::ostringstream msg;
- std::ostringstream msg2;
-@@ -1149,24 +1149,25 @@ int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*
- msg2<< "UPNP_DISCOVERY_SEARCH_RESULT: ";
- // UPnP Discovery
- upnpDiscovery:
-- struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event;
-+ UpnpDiscovery *d_event = (UpnpDiscovery *)Event;
- IXML_Document *doc = NULL;
-- int ret;
-- if (d_event->ErrCode != UPNP_E_SUCCESS) {
-- msg << UpnpGetErrorMessage(d_event->ErrCode) << ".";
-+ int errCode = UpnpDiscovery_get_ErrCode(d_event);
-+ if (errCode != UPNP_E_SUCCESS) {
-+ msg << UpnpGetErrorMessage(errCode) << ".";
- AddDebugLogLineC(logUPnP, msg);
- }
- // Get the XML tree device description in doc
-- ret = UpnpDownloadXmlDoc(d_event->Location, &doc);
-+ const char *location = UpnpDiscovery_get_Location_cstr(d_event);
-+ int ret = UpnpDownloadXmlDoc(location, &doc);
- if (ret != UPNP_E_SUCCESS) {
- msg << "Error retrieving device description from " <<
-- d_event->Location << ": " <<
-+ location << ": " <<
- UpnpGetErrorMessage(ret) <<
- "(" << ret << ").";
- AddDebugLogLineC(logUPnP, msg);
- } else {
- msg2 << "Retrieving device description from " <<
-- d_event->Location << ".";
-+ location << ".";
- AddDebugLogLineN(logUPnP, msg2);
- }
- if (doc) {
-@@ -1194,8 +1195,9 @@ upnpDiscovery:
- AddDebugLogLineC(logUPnP, msg);
- }
- // Add the root device to our list
-+ int expires = UpnpDiscovery_get_Expires(d_event);
- upnpCP->AddRootDevice(rootDevice, urlBase,
-- d_event->Location, d_event->Expires);
-+ location, expires);
- }
- // Free the XML doc tree
- IXML::Document::Free(doc);
-@@ -1216,28 +1218,35 @@ upnpDiscovery:
- case UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE: {
- //fprintf(stderr, "Callback: UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE\n");
- // UPnP Device Removed
-- struct Upnp_Discovery *dab_event = (struct Upnp_Discovery *)Event;
-- if (dab_event->ErrCode != UPNP_E_SUCCESS) {
-+ UpnpDiscovery *dab_event = (UpnpDiscovery *)Event;
-+ int errCode = UpnpDiscovery_get_ErrCode(dab_event);
-+ if (errCode != UPNP_E_SUCCESS) {
- msg << "error(UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE): " <<
-- UpnpGetErrorMessage(dab_event->ErrCode) <<
-+ UpnpGetErrorMessage(errCode) <<
- ".";
- AddDebugLogLineC(logUPnP, msg);
- }
-- std::string devType = dab_event->DeviceType;
-+ std::string devType = UpnpDiscovery_get_DeviceType_cstr(dab_event);
- // Check for an InternetGatewayDevice and removes it from the list
-- std::transform(devType.begin(), devType.end(), devType.begin(), tolower);
-+ std::transform(devType.begin(), devType.end(),
-+ devType.begin(), tolower);
- if (stdStringIsEqualCI(devType, UPnP::Device::IGW)) {
-- upnpCP->RemoveRootDevice(dab_event->DeviceId);
-+ const char *deviceID =
-+ UpnpDiscovery_get_DeviceID_cstr(dab_event);
-+ upnpCP->RemoveRootDevice(deviceID);
- }
- break;
- }
- case UPNP_EVENT_RECEIVED: {
- //fprintf(stderr, "Callback: UPNP_EVENT_RECEIVED\n");
- // Event reveived
-- struct Upnp_Event *e_event = (struct Upnp_Event *)Event;
-- const std::string Sid = e_event->Sid;
-+ UpnpEvent *e_event = (UpnpEvent *)Event;
-+ int eventKey = UpnpEvent_get_EventKey(e_event);
-+ IXML_Document *changedVariables =
-+ UpnpEvent_get_ChangedVariables(e_event);
-+ const std::string sid = UpnpEvent_get_SID_cstr(e_event);
- // Parses the event
-- upnpCP->OnEventReceived(Sid, e_event->EventKey, e_event->ChangedVariables);
-+ upnpCP->OnEventReceived(sid, eventKey, changedVariables);
- break;
- }
- case UPNP_EVENT_SUBSCRIBE_COMPLETE:
-@@ -1252,24 +1261,23 @@ upnpDiscovery:
- //fprintf(stderr, "Callback: UPNP_EVENT_RENEWAL_COMPLETE\n");
- msg << "error(UPNP_EVENT_RENEWAL_COMPLETE): ";
- upnpEventRenewalComplete:
-- struct Upnp_Event_Subscribe *es_event =
-- (struct Upnp_Event_Subscribe *)Event;
-- if (es_event->ErrCode != UPNP_E_SUCCESS) {
-+ UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
-+ int errCode = UpnpEventSubscribe_get_ErrCode(es_event);
-+ if (errCode != UPNP_E_SUCCESS) {
- msg << "Error in Event Subscribe Callback";
-- UPnP::ProcessErrorMessage(
-- msg.str(), es_event->ErrCode, NULL, NULL);
-+ UPnP::ProcessErrorMessage(msg.str(), errCode, NULL, NULL);
- } else {
- #if 0
-+ const UpnpString *publisherUrl =
-+ UpnpEventSubscribe_get_PublisherUrl(es_event);
-+ const char *sid = UpnpEvent_get_SID_cstr(es_event);
-+ int timeOut = UpnpEvent_get_TimeOut(es_event);
- TvCtrlPointHandleSubscribeUpdate(
-- GET_UPNP_STRING(es_event->PublisherUrl),
-- es_event->Sid,
-- es_event->TimeOut );
-+ publisherUrl, sid, timeOut);
- #endif
- }
--
- break;
- }
--
- case UPNP_EVENT_AUTORENEWAL_FAILED:
- //fprintf(stderr, "Callback: UPNP_EVENT_AUTORENEWAL_FAILED\n");
- msg << "error(UPNP_EVENT_AUTORENEWAL_FAILED): ";
-@@ -1280,29 +1288,31 @@ upnpEventRenewalComplete:
- msg << "error(UPNP_EVENT_SUBSCRIPTION_EXPIRED): ";
- msg2 << "UPNP_EVENT_SUBSCRIPTION_EXPIRED: ";
- upnpEventSubscriptionExpired:
-- struct Upnp_Event_Subscribe *es_event =
-- (struct Upnp_Event_Subscribe *)Event;
-+ UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
- Upnp_SID newSID;
- memset(newSID, 0, sizeof(Upnp_SID));
- int TimeOut = 1801;
-+ const char *publisherUrl =
-+ UpnpEventSubscribe_get_PublisherUrl_cstr(es_event);
- int ret = UpnpSubscribe(
- upnpCP->m_UPnPClientHandle,
-- GET_UPNP_STRING(es_event->PublisherUrl),
-+ publisherUrl,
- &TimeOut,
- newSID);
- if (ret != UPNP_E_SUCCESS) {
- msg << "Error Subscribing to EventURL";
-+ int errCode = UpnpEventSubscribe_get_ErrCode(es_event);
- UPnP::ProcessErrorMessage(
-- msg.str(), es_event->ErrCode, NULL, NULL);
-+ msg.str(), errCode, NULL, NULL);
- } else {
- ServiceMap::iterator it =
-- upnpCP->m_ServiceMap.find(GET_UPNP_STRING(es_event->PublisherUrl));
-+ upnpCP->m_ServiceMap.find(publisherUrl);
- if (it != upnpCP->m_ServiceMap.end()) {
- CUPnPService &service = *(it->second);
- service.SetTimeout(TimeOut);
- service.SetSID(newSID);
- msg2 << "Re-subscribed to EventURL '" <<
-- GET_UPNP_STRING(es_event->PublisherUrl) <<
-+ publisherUrl <<
- "' with SID == '" <<
- newSID << "'.";
- AddDebugLogLineC(logUPnP, msg2);
-@@ -1321,17 +1331,19 @@ upnpEventSubscriptionExpired:
- case UPNP_CONTROL_ACTION_COMPLETE: {
- //fprintf(stderr, "Callback: UPNP_CONTROL_ACTION_COMPLETE\n");
- // This is here if we choose to do this asynchronously
-- struct Upnp_Action_Complete *a_event =
-- (struct Upnp_Action_Complete *)Event;
-- if (a_event->ErrCode != UPNP_E_SUCCESS) {
-+ UpnpActionComplete *a_event = (UpnpActionComplete *)Event;
-+ int errCode = UpnpActionComplete_get_ErrCode(a_event);
-+ IXML_Document *actionResult =
-+ UpnpActionComplete_get_ActionResult(a_event);
-+ if (errCode != UPNP_E_SUCCESS) {
- UPnP::ProcessErrorMessage(
- "UpnpSendActionAsync",
-- a_event->ErrCode, NULL,
-- a_event->ActionResult);
-+ errCode, NULL,
-+ actionResult);
- } else {
- // Check the response document
- UPnP::ProcessActionResponse(
-- a_event->ActionResult,
-+ actionResult,
- "<UpnpSendActionAsync>");
- }
- /* No need for any processing here, just print out results.
-@@ -1342,21 +1354,25 @@ upnpEventSubscriptionExpired:
- case UPNP_CONTROL_GET_VAR_COMPLETE: {
- //fprintf(stderr, "Callback: UPNP_CONTROL_GET_VAR_COMPLETE\n");
- msg << "error(UPNP_CONTROL_GET_VAR_COMPLETE): ";
-- struct Upnp_State_Var_Complete *sv_event =
-- (struct Upnp_State_Var_Complete *)Event;
-- if (sv_event->ErrCode != UPNP_E_SUCCESS) {
-+ UpnpStateVarComplete *sv_event = (UpnpStateVarComplete *)Event;
-+ int errCode = UpnpStateVarComplete_get_ErrCode(sv_event);
-+ if (errCode != UPNP_E_SUCCESS) {
- msg << "m_UpnpGetServiceVarStatusAsync";
- UPnP::ProcessErrorMessage(
-- msg.str(), sv_event->ErrCode, NULL, NULL);
-+ msg.str(), errCode, NULL, NULL);
- } else {
- #if 0
- // Warning: The use of UpnpGetServiceVarStatus and
- // UpnpGetServiceVarStatusAsync is deprecated by the
- // UPnP forum.
-+ const char *ctrlUrl =
-+ UpnpStateVarComplete_get_CtrlUrl(sv_event);
-+ const char *stateVarName =
-+ UpnpStateVarComplete_get_StateVarName(sv_event);
-+ const DOMString currentVal =
-+ UpnpStateVarComplete_get_CurrentVal(sv_event);
- TvCtrlPointHandleGetVar(
-- sv_event->CtrlUrl,
-- sv_event->StateVarName,
-- sv_event->CurrentVal );
-+ ctrlUrl, stateVarName, currentVal);
- #endif
- }
- break;
-diff --git a/src/UPnPBase.h b/src/UPnPBase.h
-index 9eafbd143..92753b86a 100644
---- a/src/UPnPBase.h
-+++ b/src/UPnPBase.h
-@@ -489,9 +489,9 @@ public:
-
- // Callback function
- static int Callback(
-- Upnp_EventType EventType,
-- void* Event,
-- void* Cookie);
-+ Upnp_EventType_e EventType,
-+ const void *Event,
-+ void *Cookie);
-
- private:
- void OnEventReceived(
---
-2.24.1
-