diff --git a/net/arrowdl/Makefile b/net/arrowdl/Makefile index d18e8265d67a..261c12d2355c 100644 --- a/net/arrowdl/Makefile +++ b/net/arrowdl/Makefile @@ -1,40 +1,40 @@ PORTNAME= ${GH_PROJECT:tl} -PORTVERSION= 4.0.2 +PORTVERSION= 4.2.1 DISTVERSIONPREFIX= v CATEGORIES= net MAINTAINER= danfe@FreeBSD.org COMMENT= Multi-protocol standalone download manager WWW= https://www.arrow-dl.com/ -LICENSE= LGPL21+ +LICENSE= LGPL21+ # https://github.com/setvisible/ArrowDL/issues/246 LIB_DEPENDS= libtorrent-rasterbar.so:net-p2p/libtorrent-rasterbar2 USES= cmake qt:6 ssl USE_QT= base USE_GITHUB= yes GH_ACCOUNT= setvisible GH_PROJECT= ArrowDL CMAKE_OFF= BUILD_LAUNCHER BUILD_TESTS PLIST_FILES= bin/${GH_PROJECT} \ share/applications/${GH_PROJECT}.desktop \ share/pixmaps/${GH_PROJECT}.png post-extract: - @${RM} -r ${WRKSRC}/3rd/libtorrent-rasterbar + @cd ${WRKSRC}/3rd && ${RM} -r libtorrent-rasterbar qtwebengine yt-dlp @${RM} ${WRKSRC}/cmake/Modules/FindLibtorrentRasterbar.cmake do-install: ${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/src/${GH_PROJECT} \ ${STAGEDIR}${PREFIX}/bin ${INSTALL_DATA} \ ${WRKSRC}/installer/unix/appimage/${GH_PROJECT}.desktop \ ${STAGEDIR}${PREFIX}/share/applications ${INSTALL_DATA} \ ${WRKSRC}/installer/unix/portable/${GH_PROJECT}_64x64.png \ ${STAGEDIR}${PREFIX}/share/pixmaps/${GH_PROJECT}.png .include diff --git a/net/arrowdl/distinfo b/net/arrowdl/distinfo index 56344aff2da3..d8a4e55a0893 100644 --- a/net/arrowdl/distinfo +++ b/net/arrowdl/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1725712731 -SHA256 (setvisible-ArrowDL-v4.0.2_GH0.tar.gz) = 14dd870d4f5d9a749e77a79167e01044a552d77fbe66e878ac5e10b47f336e41 -SIZE (setvisible-ArrowDL-v4.0.2_GH0.tar.gz) = 34656742 +TIMESTAMP = 1742730975 +SHA256 (setvisible-ArrowDL-v4.2.1_GH0.tar.gz) = df44b18ab75b6efc645b2f5ea0932b3fa36c5e51865353c3ae5e9b1876b40622 +SIZE (setvisible-ArrowDL-v4.2.1_GH0.tar.gz) = 34835145 diff --git a/net/arrowdl/files/patch-src_core_session.cpp b/net/arrowdl/files/patch-src_core_session.cpp new file mode 100644 index 000000000000..166eca5aa8a1 --- /dev/null +++ b/net/arrowdl/files/patch-src_core_session.cpp @@ -0,0 +1,20 @@ +--- src/core/session.cpp.orig 2025-03-23 11:56:15 UTC ++++ src/core/session.cpp +@@ -255,7 +255,7 @@ void Session::read(QList &jobs, + { + QFile file(filename); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { +- qWarning("Couldn't open file."); ++ qWarning("Couldn't open file %s", filename.toStdString().c_str()); + return; + } + QByteArray saveData = file.readAll(); +@@ -275,7 +275,7 @@ void Session::write(const QList &jobs, + QFile file(filename); + + if (!file.open(QIODevice::WriteOnly)) { +- qWarning("Couldn't open save file."); ++ qWarning("Couldn't open save file %s", filename.toStdString().c_str()); + return; + } + diff --git a/net/arrowdl/files/patch-src_core_settings.cpp b/net/arrowdl/files/patch-src_core_settings.cpp new file mode 100644 index 000000000000..8747ca9a6e1e --- /dev/null +++ b/net/arrowdl/files/patch-src_core_settings.cpp @@ -0,0 +1,43 @@ +--- src/core/settings.cpp.orig 2025-03-23 11:56:15 UTC ++++ src/core/settings.cpp +@@ -20,6 +20,7 @@ + + #include + #include ++#include + #include + #include + +@@ -34,8 +35,11 @@ static QString defaultStreamHost() { + return DEFAULT_STREAM_HOST_LIST.join(STREAM_HOST_SEPARATOR); + } + +-static QString defaultTorrentShareFolder() { +- return QStandardPaths::writableLocation(QStandardPaths::DownloadLocation); ++static QString writableFolder(QStandardPaths::StandardLocation loc) { ++ const auto path = QStandardPaths::writableLocation(loc); ++ const QDir dir(path); ++ if (!dir.exists()) dir.mkpath("."); ++ return path; + } + + +@@ -90,7 +94,8 @@ Settings::Settings(QObject *parent) : AbstractSettings + addDefaultSettingBool(REGISTRY_REMOVE_COMPLETED, false); + addDefaultSettingBool(REGISTRY_REMOVE_CANCELED, false); + addDefaultSettingBool(REGISTRY_REMOVE_PAUSED, false); +- addDefaultSettingString(REGISTRY_DATABASE, QString("%0/queue.json").arg(qApp->applicationDirPath())); ++ addDefaultSettingString(REGISTRY_DATABASE, QString("%0/queue.json") ++ .arg(writableFolder(QStandardPaths::AppDataLocation))); + addDefaultSettingString(REGISTRY_HTTP_USER_AGENT, httpUserAgents().at(0)); + addDefaultSettingBool(REGISTRY_HTTP_REFERRER_ON, false); + addDefaultSettingString(REGISTRY_HTTP_REFERRER, QLatin1String("https://www.example.com/")); +@@ -140,7 +145,7 @@ Settings::Settings(QObject *parent) : AbstractSettings + // Tab Torrent + addDefaultSettingBool(REGISTRY_TORRENT_ENABLED, true); + addDefaultSettingBool(REGISTRY_TORRENT_SHARED, false); +- addDefaultSettingString(REGISTRY_TORRENT_DIR, defaultTorrentShareFolder()); ++ addDefaultSettingString(REGISTRY_TORRENT_DIR, writableFolder(QStandardPaths::DownloadLocation)); + addDefaultSettingString(REGISTRY_TORRENT_PEERS, QLatin1String("")); + addDefaultSettingString(REGISTRY_TORRENT_ADVANCED, QLatin1String("")); +