head 1.1; access; symbols; locks; strict; comment @# @; 1.1 date 2026.06.24.13.37.09; author adam; state Exp; branches; next ; commitid DVWVHo8AsE0vs3LG; desc @@ 1.1 log @amule: updated to 3.0.0 3.0.0 Highlights Throughput rewrite. Disk I/O moved off the main thread, ASIO/EPOLLET races fixed, throttlers replaced with proper token-bucket limiters. Peer-to-peer download on the same hardware sees ~100–380× speedups across macOS / Linux / Windows over 2.3.3, plus aMule 3.0.0 sustains ~4.8× the upload throughput of eMule 0.70b on Windows. See Performance for the full matrix and per-PR breakdown. Both throttlers (MaxUpload, MaxDownload) were also broken pre-fix — MaxUpload=0 capped at "current rate + 5 KB/s", MaxDownload was a ratio controller rather than a literal cap. Both rewritten. Important user-facing bug fixes, but secondary to the headline numbers. Big-library / big-shareset scaling. Follow-up wave targeting nodes with 100 k+ shared files: per-file EC payload caches, skip-unchanged EC updates, local-peer ZLIB bypass, and a string of O(N²) → O(N log N) / O(1) algorithmic fixes across SharedFileList, SharedFilesCtrl, KnownFileList, wxListCtrl, ExternalConn, and amuleweb — the WebUI / amulegui stay responsive even on libraries where the previous GUI took minutes to redraw. CMake replaces autotools. Single build system, modern toolchain — minimum CMake 3.10, minimum wxWidgets 3.2.0. Native binaries for every major desktop. AppImage (x86_64 + aarch64), Flatpak (x86_64 + aarch64), macOS Universal2 .dmg (now bundling aMuleGUI.app alongside aMule.app), Windows portable .zip and NSIS installer (x64 + ARM64). First-run desktop integration prompt for AppImage; cross-platform autostart-on-login toggle. Auto-rescan of shared folders. wxFileSystemWatcher-driven, with recursive vs explicit-share intent split and coverage of Incoming + per-category Incoming dirs. HTTPS works again. CHTTPDownloadThread rewritten on top of wxWebRequest; the hand-rolled stack had silently stopped working against modern TLS. Kad parallel searches with alpha-frontier widening. MaxMindDB replaces deprecated GeoIP for IP→country. @ text @$NetBSD$ On Darwin, don't build app bundle. --- src/CMakeLists.txt.orig 2026-06-08 08:48:19.000000000 +0000 +++ src/CMakeLists.txt @@@@ -285,7 +285,7 @@@@ if (BUILD_MONOLITHIC) ) endif() - if (APPLE) + if (FALSE) set_target_properties (amule PROPERTIES MACOSX_BUNDLE TRUE MACOSX_BUNDLE_BUNDLE_NAME "aMule" @@@@ -355,7 +355,6 @@@@ if (BUILD_MONOLITHIC) install (TARGETS amule RUNTIME DESTINATION bin - BUNDLE DESTINATION . ) # Legacy /usr/share/pixmaps/ fallback for desktops that don't @@@@ -425,7 +424,7 @@@@ if (BUILD_REMOTEGUI) ) endif() - if (APPLE) + if (FALSE) # amulegui is a GUI wxApp (remote-control UI) — bundle it as a # .app so macOS gives it an icon in the Dock, a menu bar and # normal application lifecycle events, matching the monolithic @@@@ -492,7 +491,6 @@@@ if (BUILD_REMOTEGUI) install (TARGETS amulegui RUNTIME DESTINATION bin - BUNDLE DESTINATION . ) endif() @