diff --git a/filesystems/ntfs2btrfs/Makefile b/filesystems/ntfs2btrfs/Makefile index 46483c612478..0d712efea5dc 100644 --- a/filesystems/ntfs2btrfs/Makefile +++ b/filesystems/ntfs2btrfs/Makefile @@ -1,26 +1,19 @@ PORTNAME= ntfs2btrfs -PORTVERSION= 20230501 -PORTREVISION= 1 +PORTVERSION= 20260810 CATEGORIES= filesystems sysutils MAINTAINER= danfe@FreeBSD.org COMMENT= NTFS to Btrfs in-place conversion utility WWW= https://github.com/maharmstone/ntfs2btrfs LICENSE= GPLv2+ -BUILD_DEPENDS= ${LOCALBASE}/include/fmt/format.h:devel/libfmt LIB_DEPENDS= liblzo2.so:archivers/lzo2 libzstd.so:archivers/zstd -USES= cmake pkgconfig +USES= cmake llvm:min=17 pkgconfig USE_GITHUB= yes GH_ACCOUNT= maharmstone PLIST_FILES= sbin/${PORTNAME} share/man/man8/${PORTNAME}.8.gz -post-patch: -# One should not try to mmap(2) disk devices on FreeBSD, it won't work - @${REINPLACE_CMD} -e '3449s,WIN32,_${OPSYS}__,' \ - ${WRKSRC}/src/ntfs2btrfs.cpp - .include diff --git a/filesystems/ntfs2btrfs/distinfo b/filesystems/ntfs2btrfs/distinfo index e0ecb1e9b75e..420c90bcd7a3 100644 --- a/filesystems/ntfs2btrfs/distinfo +++ b/filesystems/ntfs2btrfs/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1682974776 -SHA256 (maharmstone-ntfs2btrfs-20230501_GH0.tar.gz) = 15924a22e9d80e4ca28bf5524708dd8f69d840df1e781a659ce953fee7d90730 -SIZE (maharmstone-ntfs2btrfs-20230501_GH0.tar.gz) = 98816 +TIMESTAMP = 1786384501 +SHA256 (maharmstone-ntfs2btrfs-20260810_GH0.tar.gz) = be3d2deb3c042c862df3ca75b46245300f45e279206bddabd8aa1fc8c92c1a58 +SIZE (maharmstone-ntfs2btrfs-20260810_GH0.tar.gz) = 98932 diff --git a/filesystems/ntfs2btrfs/files/patch-CMakeLists.txt b/filesystems/ntfs2btrfs/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..5226d047f848 --- /dev/null +++ b/filesystems/ntfs2btrfs/files/patch-CMakeLists.txt @@ -0,0 +1,15 @@ +--- CMakeLists.txt.orig 2026-08-10 17:55:01 UTC ++++ CMakeLists.txt +@@ -80,10 +80,12 @@ if(WITH_ZLIB) + endif() + + if(WITH_LZO) ++ target_include_directories(ntfs2btrfs PRIVATE ${LZO_INCLUDEDIR}) + target_link_libraries(ntfs2btrfs ${LZO_LINK_LIBRARIES}) + endif() + + if(WITH_ZSTD) ++ target_include_directories(ntfs2btrfs PRIVATE ${ZSTD_INCLUDEDIR}) + target_link_libraries(ntfs2btrfs ${ZSTD_LINK_LIBRARIES}) + endif() + diff --git a/filesystems/ntfs2btrfs/files/patch-src_ntfs.cpp b/filesystems/ntfs2btrfs/files/patch-src_ntfs.cpp deleted file mode 100644 index 74817c12412f..000000000000 --- a/filesystems/ntfs2btrfs/files/patch-src_ntfs.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/ntfs.cpp.orig 2023-05-01 20:59:36 UTC -+++ src/ntfs.cpp -@@ -465,7 +465,7 @@ string_view ntfs::find_sd(uint32_t id, ntfs_file& secu - } - - static void walk_btree(const index_root& ir, const list& mappings, const index_node_header& inh, ntfs& dev, -- const invocable auto& func, unsigned int level) { -+ const function& func, unsigned int level) { - auto ent = reinterpret_cast((uint8_t*)&inh + inh.first_entry); - - do { diff --git a/filesystems/ntfs2btrfs/files/patch-src_rollback.cpp b/filesystems/ntfs2btrfs/files/patch-src_rollback.cpp index c2eee62d1842..a0f4465b5cd5 100644 --- a/filesystems/ntfs2btrfs/files/patch-src_rollback.cpp +++ b/filesystems/ntfs2btrfs/files/patch-src_rollback.cpp @@ -1,11 +1,12 @@ ---- src/rollback.cpp.orig 2023-05-01 20:59:36 UTC +--- src/rollback.cpp.orig 2026-08-10 17:55:01 UTC +++ src/rollback.cpp -@@ -309,7 +309,7 @@ void btrfs::read_chunks() { +@@ -324,7 +324,8 @@ void btrfs::read_chunks() { - auto& ci = *(CHUNK_ITEM*)(ptr + sizeof(key)); + auto& ci = *(btrfs_chunk*)(ptr + sizeof(key)); -- basic_string_view chunk_item{ptr + sizeof(key), sizeof(ci) + (ci.num_stripes * sizeof(CHUNK_ITEM_STRIPE))}; -+ basic_string_view chunk_item{reinterpret_cast(ptr) + sizeof(key), sizeof(ci) + (ci.num_stripes * sizeof(CHUNK_ITEM_STRIPE))}; +- basic_string_view chunk_item{ptr + sizeof(key), offsetof(btrfs_chunk, stripe) + (ci.num_stripes * sizeof(btrfs_stripe))}; ++ basic_string_view chunk_item{reinterpret_cast(ptr) + sizeof(key), ++ offsetof(btrfs_chunk, stripe) + ci.num_stripes * sizeof(btrfs_stripe)}; - chunks.emplace(key.offset, buffer_t{chunk_item.data(), chunk_item.data() + chunk_item.size()}); + chunks.emplace(+key.offset, buffer_t{chunk_item.data(), chunk_item.data() + chunk_item.size()});