misc/far2l: update Far-2-Linux port to version 2.5.3 (sign of mistrust)

- Drop needless dependency on `devel/libfmt' which is not actually used,
  but was pulled for a quite bizarre reason: "sometimes libstd requires
  linking to libfmt, sometimes not, if libfmt [found] let's link to it",
  and prevent its accidental pick up if it's installed on user's system
- Revert to `find_package(LibArchive)' which had been recently replaced
  with pkgconf(1)-backed in version 2.5.1: this helps CMake to find the
  base system's library again; use it to handle RAR archives while here
- Amend the list of file suffixes (extensions) which look like archives
- Purge endian-related patch, this code now compiles cleanly on PowerPC

Reported by:	portscout
Confirmed by:	pkubaj (last item)
This commit is contained in:
Alexey Dokuchaev 2023-12-07 14:32:44 +00:00
parent 9cb9987c4d
commit c6914fc48e
4 changed files with 20 additions and 50 deletions

View file

@ -1,5 +1,5 @@
PORTNAME= far2l
PORTVERSION= 2.5.2
PORTVERSION= 2.5.3
DISTVERSIONPREFIX= v_
CATEGORIES= misc
@ -9,8 +9,7 @@ WWW= https://github.com/elfmz/far2l
LICENSE= GPLv2
LIB_DEPENDS= libfmt.so:devel/libfmt \
libpcre.so:devel/pcre \
LIB_DEPENDS= libpcre.so:devel/pcre \
libuchardet.so:textproc/uchardet \
libxerces-c.so:textproc/xerces-c3
RUN_DEPENDS= bash:shells/bash
@ -22,6 +21,8 @@ USES= cmake compiler:c++11-lang perl5 pkgconfig shebangfix ssl
USE_PERL5= build
SHEBANG_FILES= far2l/bootstrap/view.sh
CMAKE_OFF= UNRAR # libarchive handles *.rar files just fine
OPTIONS_DEFINE= NFS SFTP SMB WEBDAV WXGTK X11
OPTIONS_DEFAULT= NFS SFTP WEBDAV WXGTK X11
OPTIONS_SUB= yes
@ -46,9 +47,17 @@ X11_USES= xorg
X11_USE= XORG=ice,sm,x11,xext,xi
post-patch:
@${REINPLACE_CMD} -e 's,Linux x86_64,${OPSYS} ${ARCH},' \
${WRKSRC}/far2l/bootstrap/scripts/far2l_m4.pl
@${REINPLACE_CMD} -e \
's,pkg_search_module\((LibArchive\)[^)]*,find_package\1,' \
${WRKSRC}/CMakeLists.txt
@${REINPLACE_CMD} -e 's,^if (fmt_FOUND,& AND FALSE,' \
${WRKSRC}/colorer/CMakeLists.txt
@${REINPLACE_CMD} -e 's,bxg7,&l, ; s/zoo/tbz2,*.zst,*.&/' \
${WRKSRC}/far2l/src/hilight.cpp
@${GREP} -Rl --null --include=\*.cpp /bin/bash ${WRKSRC} | ${XARGS} \
-0 ${REINPLACE_CMD} -e 's,/bin/bash,${LOCALBASE}&,'
post-stage:
${RMDIR} ${STAGEDIR}${PREFIX}/lib/far2l/Plugins/NetRocks/plug/SHELL
.include <bsd.port.mk>

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1692098850
SHA256 (elfmz-far2l-v_2.5.2_GH0.tar.gz) = c8ae8bd7b9f242e267f4b13c81735706accdc40046dd262d30a4017b703f36b7
SIZE (elfmz-far2l-v_2.5.2_GH0.tar.gz) = 6483703
TIMESTAMP = 1699171546
SHA256 (elfmz-far2l-v_2.5.3_GH0.tar.gz) = e9de15221d2fcc164cf4a64e4f8239ff3a3b4d5a06601dd6c6f1e63fb5a91bdc
SIZE (elfmz-far2l-v_2.5.3_GH0.tar.gz) = 6529657

View file

@ -1,42 +0,0 @@
--- far2l/src/datetime.cpp.orig 2023-10-06 15:57:46 UTC
+++ far2l/src/datetime.cpp
@@ -531,15 +531,27 @@ int64_t FileTimeDifference(const FILETIME *a, const FI
{
LARGE_INTEGER A =
{
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
+ {(LONG)a->dwHighDateTime, a->dwLowDateTime}
+#else
{a->dwLowDateTime, (LONG)a->dwHighDateTime}
+#endif
},
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
+ B = {{(LONG)b->dwHighDateTime, b->dwLowDateTime}};
+#else
B = {{b->dwLowDateTime, (LONG)b->dwHighDateTime}};
+#endif
return A.QuadPart - B.QuadPart;
}
uint64_t FileTimeToUI64(const FILETIME *ft)
{
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
+ ULARGE_INTEGER A = { {ft->dwHighDateTime, ft->dwLowDateTime} };
+#else
ULARGE_INTEGER A = { {ft->dwLowDateTime, ft->dwHighDateTime} };
+#endif
return A.QuadPart;
}
@@ -761,7 +773,11 @@ void ConvertRelativeDate(const FILETIME &ft, FARString
void ConvertRelativeDate(const FILETIME &ft, FARString &strDaysText, FARString &strTimeText)
{
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
+ ULARGE_INTEGER time = { {ft.dwHighDateTime, ft.dwLowDateTime}};
+#else
ULARGE_INTEGER time = { {ft.dwLowDateTime, ft.dwHighDateTime}};
+#endif
UINT64 ms = (time.QuadPart/= 10000) % 1000;
UINT64 s = (time.QuadPart/= 1000) % 60;

View file

@ -4,6 +4,7 @@ lib/far2l/Plugins/NetRocks/plug/NetRocks-FILE.broker
lib/far2l/Plugins/NetRocks/plug/NetRocks-FTP.broker
%%NFS%%lib/far2l/Plugins/NetRocks/plug/NetRocks-NFS.broker
%%SFTP%%lib/far2l/Plugins/NetRocks/plug/NetRocks-SFTP.broker
lib/far2l/Plugins/NetRocks/plug/NetRocks-SHELL.broker
%%SMB%%lib/far2l/Plugins/NetRocks/plug/NetRocks-SMB.broker
%%WEBDAV%%lib/far2l/Plugins/NetRocks/plug/NetRocks-WebDAV.broker
lib/far2l/Plugins/NetRocks/plug/NetRocks.far-plug-wide
@ -39,6 +40,8 @@ share/applications/far2l.desktop
%%DATADIR%%/FarSpa.lng
%%DATADIR%%/FarUkr.hlf
%%DATADIR%%/FarUkr.lng
%%DATADIR%%/Plugins/NetRocks/plug/SHELL/remote.sh
%%DATADIR%%/Plugins/NetRocks/plug/SHELL/ways.ini
%%DATADIR%%/Plugins/NetRocks/plug/bel.lng
%%DATADIR%%/Plugins/NetRocks/plug/eng.lng
%%DATADIR%%/Plugins/NetRocks/plug/helpe.hlf