diff --git a/net-p2p/amule/Makefile b/net-p2p/amule/Makefile index 6c3e04ab07bf..8f83b670cc50 100644 --- a/net-p2p/amule/Makefile +++ b/net-p2p/amule/Makefile @@ -1,8 +1,7 @@ # Created by: Ganael LAPLANCHE PORTNAME= amule -PORTVERSION= 2.3.2 -PORTREVISION= 12 +PORTVERSION= 2.3.3 CATEGORIES= net-p2p MASTER_SITES= SF/${PORTNAME}/aMule/${PORTVERSION} DISTNAME= aMule-${PORTVERSION} @@ -33,9 +32,8 @@ LDFLAGS+= -lpthread SHEBANG_FILES= src/utils/scripts/*.pl src/utils/xas/*.pl src/libs/ec/*.pl -OPTIONS_DEFINE= ALC ALCC AMULECMD AMULEDAEMON AMULEGUI CAS DEBUG DOCS ED2K \ - FILEVIEW MMAP MONOLITHIC NLS UPNP \ - WEBSERVER WXCAS XAS +OPTIONS_DEFINE= ALC ALCC AMULECMD AMULEDAEMON AMULEGUI BOOST CAS DEBUG \ + DOCS ED2K FILEVIEW MMAP MONOLITHIC NLS UPNP WEBSERVER WXCAS XAS ALC_DESC= Compile aMule Link Creator for GUI ALCC_DESC= Compile aMule Link Creator for console AMULECMD_DESC= Compile aMule command line client @@ -70,6 +68,9 @@ AMULEDAEMON_USE= RC_SUBR=amuled AMULEGUI_CONFIGURE_ON= --enable-amule-gui +BOOST_CONFIGURE_ON= --with-boost +BOOST_LIB_DEPENDS+= libboost_system.so:devel/boost-libs + CAS_CONFIGURE_ON= --enable-cas CAS_LIB_DEPENDS= libgd.so:graphics/gd diff --git a/net-p2p/amule/distinfo b/net-p2p/amule/distinfo index 9dc096c067a6..f1b1d4918d33 100644 --- a/net-p2p/amule/distinfo +++ b/net-p2p/amule/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1474196934 -SHA256 (aMule-2.3.2.tar.xz) = f64720fdc8c6cfa06bdcd4ca3922d30a0ddddba9c897f5bec7605009c7683928 -SIZE (aMule-2.3.2.tar.xz) = 3895300 +TIMESTAMP = 1633789872 +SHA256 (aMule-2.3.3.tar.xz) = a647309642331f3e033fdf0196e7232cdc67f46739d12a0294be06885f70c8bd +SIZE (aMule-2.3.3.tar.xz) = 3699376 diff --git a/net-p2p/amule/files/patch-m4_libupnp.m4 b/net-p2p/amule/files/patch-m4_libupnp.m4 deleted file mode 100644 index 8b39d9eadff3..000000000000 --- a/net-p2p/amule/files/patch-m4_libupnp.m4 +++ /dev/null @@ -1,23 +0,0 @@ ---- m4/libupnp.m4.orig 2016-09-16 07:55:06 UTC -+++ m4/libupnp.m4 -@@ -45,11 +45,16 @@ m4_define([MIN_LIBUPNP_VERSION], [m4_ifv - - dnl Test for --with-libupnp-prefix - AC_ARG_WITH( -- [libupnp-prefix], -- [AS_HELP_STRING( -+ [libupnp-prefix],[ -+ AS_HELP_STRING( - [--with-libupnp-prefix=PREFIX], -- [UPnP library location])], -- [export PKG_CONFIG_PATH=$withval/lib/pkgconfig]) -+ [UPnP library location])],[ -+ AS_IF([test -d "$withval/lib64/pkgconfig"],[ -+ export PKG_CONFIG_PATH=$withval/lib64/pkgconfig -+ ],[ -+ export PKG_CONFIG_PATH=$withval/lib/pkgconfig -+ ]) -+ ]) - - dnl Check for libupnp >= MIN_LIBUPNP_VERSION - AS_IF([test $cross_compiling = no], [ diff --git a/net-p2p/amule/files/patch-src_ClientCreditsList.cpp b/net-p2p/amule/files/patch-src_ClientCreditsList.cpp deleted file mode 100644 index 03377e4105d5..000000000000 --- a/net-p2p/amule/files/patch-src_ClientCreditsList.cpp +++ /dev/null @@ -1,16 +0,0 @@ -From 27c13f3e622b8a3eaaa05bb62b0149604bdcc9e8 Mon Sep 17 00:00:00 2001 -From: Tommy Jerry Mairo -Date: Wed, 21 Mar 2018 19:56:28 +0100 -Subject: [PATCH] Bugfix: API mismatch with crypto++ 6.0.0 - ---- src/ClientCreditsList.cpp.orig 2016-09-16 07:55:06 UTC -+++ src/ClientCreditsList.cpp -@@ -312,7 +312,7 @@ void CClientCreditsList::InitalizeCrypting() - // calculate and store public key - CryptoPP::RSASSA_PKCS1v15_SHA_Verifier pubkey(*static_cast(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) { diff --git a/net-p2p/amule/files/patch-src_UPnPBase.cpp b/net-p2p/amule/files/patch-src_UPnPBase.cpp deleted file mode 100644 index bcc65519608e..000000000000 --- a/net-p2p/amule/files/patch-src_UPnPBase.cpp +++ /dev/null @@ -1,332 +0,0 @@ ---- src/UPnPBase.cpp.orig 2016-09-16 09:55:07.000000000 +0200 -+++ src/UPnPBase.cpp 2020-10-07 09:01:15.821714000 +0200 -@@ -823,14 +823,18 @@ - s_CtrlPoint = this; - // 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(); -@@ -1127,7 +1131,11 @@ - - - // 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,24 +1157,47 @@ - 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) { -@@ -1194,8 +1225,14 @@ - 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); -@@ -1216,28 +1253,60 @@ - 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); - 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: -@@ -1252,19 +1321,39 @@ - //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 -+ msg << "Error in Event Subscribe Callback"; - } 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; -@@ -1280,29 +1369,56 @@ - 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); -@@ -1321,17 +1437,34 @@ - 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 - ""); - } - /* No need for any processing here, just print out results. -@@ -1342,21 +1475,37 @@ - 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 = -+#else - TvCtrlPointHandleGetVar( - sv_event->CtrlUrl, - sv_event->StateVarName, - sv_event->CurrentVal ); -+#endif - #endif - } - break; diff --git a/net-p2p/amule/files/patch-src_UPnPBase.h b/net-p2p/amule/files/patch-src_UPnPBase.h deleted file mode 100644 index 463404ac6c11..000000000000 --- a/net-p2p/amule/files/patch-src_UPnPBase.h +++ /dev/null @@ -1,18 +0,0 @@ ---- src/UPnPBase.h.orig 2016-09-16 07:55:07 UTC -+++ 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( diff --git a/net-p2p/amule/files/patch-src_webserver_src_php_amule_lib.cpp b/net-p2p/amule/files/patch-src_webserver_src_php_amule_lib.cpp deleted file mode 100644 index 0308e5b4eea5..000000000000 --- a/net-p2p/amule/files/patch-src_webserver_src_php_amule_lib.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/webserver/src/php_amule_lib.cpp.orig 2016-09-16 09:55:07.000000000 +0200 -+++ src/webserver/src/php_amule_lib.cpp 2018-03-17 09:50:11.347042000 +0100 -@@ -564,7 +564,7 @@ - case 1: search_type = EC_SEARCH_GLOBAL; break; - case 2: search_type = EC_SEARCH_KAD; break; - default: -- php_report_error(PHP_ERROR, "Invalid search type %"PRIu64, si->var->value.int_val); -+ php_report_error(PHP_ERROR, "Invalid search type %" PRIu64, si->var->value.int_val); - return; - } - diff --git a/net-p2p/amule/files/patch-src_webserver_src_php_core_lib.cpp b/net-p2p/amule/files/patch-src_webserver_src_php_core_lib.cpp deleted file mode 100644 index cbf0b583221a..000000000000 --- a/net-p2p/amule/files/patch-src_webserver_src_php_core_lib.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/webserver/src/php_core_lib.cpp.orig 2016-09-16 09:55:07.000000000 +0200 -+++ src/webserver/src/php_core_lib.cpp 2018-03-17 09:46:29.766922000 +0100 -@@ -71,7 +71,7 @@ - if ( ref ) printf("&"); - switch(node->type) { - case PHP_VAL_BOOL: printf("bool(%s)\n", node->int_val ? "true" : "false"); break; -- case PHP_VAL_INT: printf("int(%"PRIu64")\n", node->int_val); break; -+ case PHP_VAL_INT: printf("int(%" PRIu64 ")\n", node->int_val); break; - case PHP_VAL_FLOAT: printf("float(%f)\n", node->float_val); break; - case PHP_VAL_STRING: printf("string(%d) \"%s\"\n", (int)strlen(node->str_val), node->str_val); break; - case PHP_VAL_OBJECT: printf("Object(%s)\n", node->obj_val.class_name); break; diff --git a/net-p2p/amule/files/patch-src_webserver_src_php_syntree.cpp b/net-p2p/amule/files/patch-src_webserver_src_php_syntree.cpp deleted file mode 100644 index d396e01a8809..000000000000 --- a/net-p2p/amule/files/patch-src_webserver_src_php_syntree.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/webserver/src/php_syntree.cpp.orig 2016-09-16 09:55:07.000000000 +0200 -+++ src/webserver/src/php_syntree.cpp 2018-03-15 03:38:18.205741000 +0100 -@@ -926,7 +926,7 @@ - switch(val->type) { - case PHP_VAL_NONE: buff[0] = 0; break; - case PHP_VAL_BOOL: -- case PHP_VAL_INT: snprintf(buff, sizeof(buff), "%"PRIu64, val->int_val); break; -+ case PHP_VAL_INT: snprintf(buff, sizeof(buff), "%" PRIu64, val->int_val); break; - case PHP_VAL_FLOAT: snprintf(buff, sizeof(buff), "%.02f", val->float_val); break; - case PHP_VAL_STRING: return; - case PHP_VAL_ARRAY: { diff --git a/net-p2p/amule/pkg-plist b/net-p2p/amule/pkg-plist index ccc853045a60..22fd4411cf8e 100644 --- a/net-p2p/amule/pkg-plist +++ b/net-p2p/amule/pkg-plist @@ -124,6 +124,7 @@ %%DATADIR%%/skins/Mac_Gray.zip %%DATADIR%%/skins/gnome.zip %%DATADIR%%/skins/kde4.zip +%%DATADIR%%/skins/papirus.zip %%DATADIR%%/skins/priscilla.zip %%DATADIR%%/skins/tango.zip %%DATADIR%%/skins/xfce.zip