Date: Wed, 15 Feb 2023 14:27:18 GMT From: MANTANI Nobutaka <nobutaka@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: b72dc62032a1 - main - editors/imhex: Update to 1.27.1 Message-ID: <202302151427.31FERIYr002402@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by nobutaka: URL: https://cgit.FreeBSD.org/ports/commit/?id=b72dc62032a1313942c465d602ee4041daaa5467 commit b72dc62032a1313942c465d602ee4041daaa5467 Author: MANTANI Nobutaka <nobutaka@FreeBSD.org> AuthorDate: 2023-02-15 14:25:12 +0000 Commit: MANTANI Nobutaka <nobutaka@FreeBSD.org> CommitDate: 2023-02-15 14:26:42 +0000 editors/imhex: Update to 1.27.1 --- editors/imhex/Makefile | 15 +-- editors/imhex/distinfo | 18 +-- editors/imhex/files/patch-CMakeLists.txt | 13 +-- .../imhex/files/patch-cmake_build__helpers.cmake | 10 +- ...h-lib_external_pattern__language_CMakeLists.txt | 11 -- ...pattern__language_lib_include_pl_core_token.hpp | 22 ++-- ...n__language_lib_include_pl_patterns_pattern.hpp | 11 ++ ...b_libimhex_include_hex_data__processor_node.hpp | 4 +- ...ch-lib_libimhex_include_hex_helpers_patches.hpp | 26 +++++ ..._libimhex_source_api_project__file__manager.cpp | 11 ++ .../files/patch-lib_libimhex_source_helpers_fs.cpp | 13 ++- .../patch-lib_libimhex_source_helpers_patches.cpp | 126 +++++++++++++++++++++ editors/imhex/files/patch-main_CMakeLists.txt | 11 ++ ...ns_builtin_source_content_settings__entries.cpp | 4 +- ...ins_builtin_source_content_views_view__find.cpp | 124 ++------------------ ...ltin_source_content_views_view__hex__editor.cpp | 4 +- ..._source_content_views_view__pattern__editor.cpp | 10 +- ...h-plugins_builtin_source_ui_pattern__drawer.cpp | 12 ++ editors/imhex/pkg-plist | 94 ++++++++------- 19 files changed, 312 insertions(+), 227 deletions(-) diff --git a/editors/imhex/Makefile b/editors/imhex/Makefile index 97a1b8889cc4..b7a7eaed1b31 100644 --- a/editors/imhex/Makefile +++ b/editors/imhex/Makefile @@ -1,5 +1,5 @@ PORTNAME= imhex -PORTVERSION= 1.26.2 +PORTVERSION= 1.27.1 DISTVERSIONPREFIX= v CATEGORIES= editors MASTER_SITES= https://git.sr.ht/~danyspin97/xdgpp/blob/f01f810714443d0f10c333d4d1d9c0383be41375/:xdg @@ -28,8 +28,9 @@ EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} \ BUILD_DEPENDS= glm>0:math/glm \ nlohmann-json>0:devel/nlohmann-json \ + ${LOCALBASE}/include/hpx/functional.hpp:devel/hpx \ ${LOCALBASE}/include/range/v3/range.hpp:devel/range-v3 \ - ${LOCALBASE}/include/hpx/functional.hpp:devel/hpx + ${LOCALBASE}/include/tl/expected.hpp:devel/tl-expected LIB_DEPENDS= libcurl.so:ftp/curl \ libglfw.so:graphics/glfw \ libfreetype.so:print/freetype2 \ @@ -38,7 +39,7 @@ LIB_DEPENDS= libcurl.so:ftp/curl \ libtre.so:textproc/libtre USES= cmake gl gnome pkgconfig python:3.8+ xorg -USE_GL= gl +USE_GL= gl glu USE_GNOME= cairo gdkpixbuf2 gtk30 USE_XORG= x11 xcb xau xdmcp USE_GITHUB= yes @@ -58,16 +59,16 @@ GH_TUPLE= btzy:nativefiledialog-extended:${GH_TAG_NATIVEFILEDIALOG}:nativefiledi GH_TAG_CAPSTONE= d5141c0 GH_TAG_CLI11= faea921 GH_TAG_FMT= a337011 -GH_TAG_IMHEX_PATTERNS= a4a1430 +GH_TAG_IMHEX_PATTERNS= ea4dda0 GH_TAG_JTHREAD= 0fa8d39 -GH_TAG_LIBROMFS= 59d8cec +GH_TAG_LIBROMFS= 40cd303 GH_TAG_NATIVEFILEDIALOG= 6efc824 -GH_TAG_PATTERN_LANGUAGE= 58f1702 +GH_TAG_PATTERN_LANGUAGE= 0e32a23 GH_TAG_YARA= ba94b4f CMAKE_ARGS= -DUSE_SYSTEM_CURL=ON -DUSE_SYSTEM_NLOHMANN_JSON=ON \ -DIMHEX_STRIP_RELEASE=OFF -DIMHEX_PLUGINS_IN_SHARE=ON \ - -DIMHEX_OFFLINE_BUILD=ON + -DIMHEX_OFFLINE_BUILD=ON -DIMHEX_USE_GTK_FILE_PICKER=ON PORTDOCS= README.md diff --git a/editors/imhex/distinfo b/editors/imhex/distinfo index 49ab0dc33b8c..82517e4c5c78 100644 --- a/editors/imhex/distinfo +++ b/editors/imhex/distinfo @@ -1,8 +1,8 @@ -TIMESTAMP = 1673255964 +TIMESTAMP = 1676468817 SHA256 (imhex/xdg.hpp) = 2e08ce74adb71ff9b9aa9e1c999733fccd4b00967b9cf0c0e51dbf049392a9ec SIZE (imhex/xdg.hpp) = 7674 -SHA256 (imhex/WerWolv-ImHex-v1.26.2_GH0.tar.gz) = bd5b24ec8b5e3cf907eb88f3769b6b8d4aeca5e8cb5b43fe880dd012c92d75ed -SIZE (imhex/WerWolv-ImHex-v1.26.2_GH0.tar.gz) = 11058206 +SHA256 (imhex/WerWolv-ImHex-v1.27.1_GH0.tar.gz) = c0eaba25b6b01242ad23a6872d815372815d40d22a0f727e0b61da5dc59366a4 +SIZE (imhex/WerWolv-ImHex-v1.27.1_GH0.tar.gz) = 11716724 SHA256 (imhex/btzy-nativefiledialog-extended-6efc824_GH0.tar.gz) = 9ada1814eaedcdb8aaae1829443747ab385b6f296e3e756a483c34456e15dcbd SIZE (imhex/btzy-nativefiledialog-extended-6efc824_GH0.tar.gz) = 412533 SHA256 (imhex/capstone-engine-capstone-d5141c0_GH0.tar.gz) = 435d40757928fa73dec19c6d0fbf171bd76341391c8525ce1286927dab44c3e7 @@ -15,9 +15,9 @@ SHA256 (imhex/josuttis-jthread-0fa8d39_GH0.tar.gz) = ccd9c871dc2da9611e6d0cba5fc SIZE (imhex/josuttis-jthread-0fa8d39_GH0.tar.gz) = 4450456 SHA256 (imhex/VirusTotal-yara-ba94b4f_GH0.tar.gz) = 4c81120bff451a55deaa23b48155d3eb35955ce11a1d76fbfcbbe2c2e33770b9 SIZE (imhex/VirusTotal-yara-ba94b4f_GH0.tar.gz) = 1288534 -SHA256 (imhex/WerWolv-ImHex-Patterns-a4a1430_GH0.tar.gz) = 9de0d582a266df555548f941c1c3ba57f576056dad2315a7bf727ee00cc4c6ba -SIZE (imhex/WerWolv-ImHex-Patterns-a4a1430_GH0.tar.gz) = 6853083 -SHA256 (imhex/WerWolv-PatternLanguage-58f1702_GH0.tar.gz) = 80081c0962d4de1c0bd9287db0805451631956978814e071b81f14c74739082a -SIZE (imhex/WerWolv-PatternLanguage-58f1702_GH0.tar.gz) = 426049 -SHA256 (imhex/WerWolv-libromfs-59d8cec_GH0.tar.gz) = 2ece573aefce05d42969097a26ff8e3eb81a5bbdc35650f2b45338c1a0304d0c -SIZE (imhex/WerWolv-libromfs-59d8cec_GH0.tar.gz) = 4286 +SHA256 (imhex/WerWolv-ImHex-Patterns-ea4dda0_GH0.tar.gz) = da07b7b99386fba50db7132fcb67a40ac990d298c92a3a3687870d062e9cb5c3 +SIZE (imhex/WerWolv-ImHex-Patterns-ea4dda0_GH0.tar.gz) = 6896993 +SHA256 (imhex/WerWolv-PatternLanguage-0e32a23_GH0.tar.gz) = 596bc2636eb07c7de71de3fd6582d7c18ecdf1ac5bc6f55d593c07e12ce8653e +SIZE (imhex/WerWolv-PatternLanguage-0e32a23_GH0.tar.gz) = 428847 +SHA256 (imhex/WerWolv-libromfs-40cd303_GH0.tar.gz) = e785499616e1dfc2644be61706cf1fba49a8d8282c6aecf78efee02c6fbbca13 +SIZE (imhex/WerWolv-libromfs-40cd303_GH0.tar.gz) = 4301 diff --git a/editors/imhex/files/patch-CMakeLists.txt b/editors/imhex/files/patch-CMakeLists.txt index 210b207d0448..4839db5e37f7 100644 --- a/editors/imhex/files/patch-CMakeLists.txt +++ b/editors/imhex/files/patch-CMakeLists.txt @@ -1,15 +1,6 @@ ---- CMakeLists.txt.orig 2022-11-14 09:07:21 UTC +--- CMakeLists.txt.orig 2023-02-15 08:39:23 UTC +++ CMakeLists.txt -@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.20) - # Options - option(IMHEX_USE_BUNDLED_CA "Use the CA bundle in romfs instead of the system one" OFF) - option(IMHEX_PLUGINS_IN_SHARE "Put the plugins in share/imhex/plugins instead of lib[..]/imhex/plugins" OFF) --option(IMHEX_STRIP_RELEASE "Strip the release builds" ON) -+option(IMHEX_STRIP_RELEASE "Strip the release builds" OFF) - option(IMHEX_OFFLINE_BUILD "Enable offline build" OFF) - option(IMHEX_IGNORE_BAD_CLONE "Disable the bad clone prevention checks" OFF) - option(IMHEX_PATTERNS_PULL_MASTER "Download latest files from master branch of the ImHex-Patterns repo" OFF) -@@ -23,8 +23,6 @@ project(imhex VERSION ${IMHEX_VERSION}) +@@ -28,8 +28,6 @@ project(imhex # Make sure project is configured correctly setDefaultBuiltTypeIfUnset() diff --git a/editors/imhex/files/patch-cmake_build__helpers.cmake b/editors/imhex/files/patch-cmake_build__helpers.cmake index 3aed175bcc8d..375109f88029 100644 --- a/editors/imhex/files/patch-cmake_build__helpers.cmake +++ b/editors/imhex/files/patch-cmake_build__helpers.cmake @@ -1,4 +1,4 @@ ---- cmake/build_helpers.cmake.orig 2023-01-05 08:53:49 UTC +--- cmake/build_helpers.cmake.orig 2023-02-15 13:56:27 UTC +++ cmake/build_helpers.cmake @@ -370,13 +370,13 @@ function(downloadImHexPatternsFiles dest) @@ -24,11 +24,3 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${IMHEX_C_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IMHEX_C_FLAGS}") -@@ -434,7 +433,6 @@ macro(addBundledLibraries) - endif() - - if (NOT USE_SYSTEM_NFD) -- set(NFD_PORTAL ON CACHE BOOL "Use Portals for Linux file dialogs" FORCE) - add_subdirectory(${EXTERN_LIBS_FOLDER}/nativefiledialog EXCLUDE_FROM_ALL) - set_target_properties(nfd PROPERTIES POSITION_INDEPENDENT_CODE ON) - set(NFD_LIBRARIES nfd) diff --git a/editors/imhex/files/patch-lib_external_pattern__language_CMakeLists.txt b/editors/imhex/files/patch-lib_external_pattern__language_CMakeLists.txt deleted file mode 100644 index 23723b28f688..000000000000 --- a/editors/imhex/files/patch-lib_external_pattern__language_CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ ---- lib/external/pattern_language/CMakeLists.txt.orig 2023-01-05 15:06:41 UTC -+++ lib/external/pattern_language/CMakeLists.txt -@@ -8,8 +8,6 @@ option(LIBPL_ENABLE_TESTS "Enable testing" OFF) - option(LIBPL_ENABLE_CLI "Enable building the CLI tool" ON) - option(LIBPL_ENABLE_EXAMPLE "Enable building the examples" OFF) - --set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-stringop-overflow -Wno-array-bounds") -- - if (WIN32) - add_compile_definitions(OS_WINDOWS) - elseif (APPLE) diff --git a/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_core_token.hpp b/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_core_token.hpp index 51443a6ce271..d33644543603 100644 --- a/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_core_token.hpp +++ b/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_core_token.hpp @@ -1,6 +1,6 @@ ---- lib/external/pattern_language/lib/include/pl/core/token.hpp.orig 2023-01-09 11:44:49 UTC +--- lib/external/pattern_language/lib/include/pl/core/token.hpp.orig 2023-02-13 14:23:14 UTC +++ lib/external/pattern_language/lib/include/pl/core/token.hpp -@@ -151,14 +151,14 @@ namespace pl::core { +@@ -155,7 +155,7 @@ namespace pl::core { bool global; std::string comment; @@ -8,22 +8,22 @@ + bool operator==(const DocComment &) const = default; }; - using Literal = std::variant<char, bool, u128, i128, double, std::string, ptrn::Pattern *>; + struct Literal : public std::variant<char, bool, u128, i128, double, std::string, ptrn::Pattern *> { +@@ -183,7 +183,7 @@ namespace pl::core { + using ValueTypes = std::variant<Keyword, Identifier, Operator, Literal, ValueType, Separator, DocComment>; -+ // These changes are necessary for Clang -+ inline Token(Type type, auto value, u32 line, u32 column) : type(type), value(std::move(value)), line(line), column(column) {} - constexpr Token(Type type, auto value, u32 line, u32 column) : type(type), value(std::move(value)), line(line), column(column) {} -- ++ inline Token(Type type, auto value, u32 line, u32 column) : type(type), value(std::move(value)), line(line), column(column) {} + [[nodiscard]] constexpr static inline bool isInteger(const ValueType &type) { return isUnsigned(type) || isSigned(type); - } -@@ -227,134 +227,134 @@ namespace pl::core { +@@ -220,136 +220,136 @@ namespace pl::core { namespace tkn { - constexpr inline Token createToken(const core::Token::Type type, const core::Token::ValueTypes &value) { -+ inline pl::core::Token createToken(const core::Token::Type type, const core::Token::ValueTypes &value) { ++ inline Token createToken(const core::Token::Type type, const core::Token::ValueTypes &value) { return { type, value, 1, 1 }; } @@ -50,6 +50,8 @@ - constexpr auto In = createToken(core::Token::Type::Keyword, Token::Keyword::In); - constexpr auto Out = createToken(core::Token::Type::Keyword, Token::Keyword::Out); - constexpr auto Reference = createToken(core::Token::Type::Keyword, Token::Keyword::Reference); +- constexpr auto Null = createToken(core::Token::Type::Keyword, Token::Keyword::Null); +- constexpr auto Const = createToken(core::Token::Type::Keyword, Token::Keyword::Const); + inline auto If = createToken(core::Token::Type::Keyword, Token::Keyword::If); + inline auto Else = createToken(core::Token::Type::Keyword, Token::Keyword::Else); + inline auto While = createToken(core::Token::Type::Keyword, Token::Keyword::While); @@ -71,6 +73,8 @@ + inline auto In = createToken(core::Token::Type::Keyword, Token::Keyword::In); + inline auto Out = createToken(core::Token::Type::Keyword, Token::Keyword::Out); + inline auto Reference = createToken(core::Token::Type::Keyword, Token::Keyword::Reference); ++ inline auto Null = createToken(core::Token::Type::Keyword, Token::Keyword::Null); ++ inline auto Const = createToken(core::Token::Type::Keyword, Token::Keyword::Const); } diff --git a/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_patterns_pattern.hpp b/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_patterns_pattern.hpp new file mode 100644 index 000000000000..04b38f4f4b6c --- /dev/null +++ b/editors/imhex/files/patch-lib_external_pattern__language_lib_include_pl_patterns_pattern.hpp @@ -0,0 +1,11 @@ +--- lib/external/pattern_language/lib/include/pl/patterns/pattern.hpp.orig 2023-02-15 14:19:06 UTC ++++ lib/external/pattern_language/lib/include/pl/patterns/pattern.hpp +@@ -317,7 +317,7 @@ namespace pl::ptrn { + auto startOffset = child->getOffset(); + + child->setOffset(offset); +- PL_ON_SCOPE_EXIT { child->setOffset(startOffset); }; ++ [[maybe_unused]] auto PL_ANONYMOUS_VARIABLE(SCOPE_EXIT_) = ::pl::scope_guard::ScopeGuardOnExit() + [&, child=child]() { child->setOffset(startOffset); }; + + auto bytes = child->getBytes(); + std::copy(bytes.begin(), bytes.end(), std::back_inserter(result)); diff --git a/editors/imhex/files/patch-lib_libimhex_include_hex_data__processor_node.hpp b/editors/imhex/files/patch-lib_libimhex_include_hex_data__processor_node.hpp index b0388d966bd2..75f1f09572bf 100644 --- a/editors/imhex/files/patch-lib_libimhex_include_hex_data__processor_node.hpp +++ b/editors/imhex/files/patch-lib_libimhex_include_hex_data__processor_node.hpp @@ -1,6 +1,6 @@ ---- lib/libimhex/include/hex/data_processor/node.hpp.orig 2022-10-08 08:03:47 UTC +--- lib/libimhex/include/hex/data_processor/node.hpp.orig 2023-02-12 18:24:04 UTC +++ lib/libimhex/include/hex/data_processor/node.hpp -@@ -46,6 +46,7 @@ namespace hex::dp { +@@ -49,6 +49,7 @@ namespace hex::dp { struct NodeError { Node *node; std::string message; diff --git a/editors/imhex/files/patch-lib_libimhex_include_hex_helpers_patches.hpp b/editors/imhex/files/patch-lib_libimhex_include_hex_helpers_patches.hpp new file mode 100644 index 000000000000..fb97498212b6 --- /dev/null +++ b/editors/imhex/files/patch-lib_libimhex_include_hex_helpers_patches.hpp @@ -0,0 +1,26 @@ +--- lib/libimhex/include/hex/helpers/patches.hpp.orig 2023-02-13 15:24:10 UTC ++++ lib/libimhex/include/hex/helpers/patches.hpp +@@ -4,7 +4,7 @@ + + #include <map> + #include <vector> +-#include <expected> ++#include <tl/expected.hpp> + + namespace hex { + +@@ -18,9 +18,9 @@ namespace hex { + MissingEOF + }; + +- std::expected<std::vector<u8>, IPSError> generateIPSPatch(const Patches &patches); +- std::expected<std::vector<u8>, IPSError> generateIPS32Patch(const Patches &patches); ++ tl::expected<std::vector<u8>, IPSError> generateIPSPatch(const Patches &patches); ++ tl::expected<std::vector<u8>, IPSError> generateIPS32Patch(const Patches &patches); + +- std::expected<Patches, IPSError> loadIPSPatch(const std::vector<u8> &ipsPatch); +- std::expected<Patches, IPSError> loadIPS32Patch(const std::vector<u8> &ipsPatch); ++ tl::expected<Patches, IPSError> loadIPSPatch(const std::vector<u8> &ipsPatch); ++ tl::expected<Patches, IPSError> loadIPS32Patch(const std::vector<u8> &ipsPatch); + } +\ No newline at end of file diff --git a/editors/imhex/files/patch-lib_libimhex_source_api_project__file__manager.cpp b/editors/imhex/files/patch-lib_libimhex_source_api_project__file__manager.cpp new file mode 100644 index 000000000000..f8ed1e496d67 --- /dev/null +++ b/editors/imhex/files/patch-lib_libimhex_source_api_project__file__manager.cpp @@ -0,0 +1,11 @@ +--- lib/libimhex/source/api/project_file_manager.cpp.orig 2023-02-13 15:22:20 UTC ++++ lib/libimhex/source/api/project_file_manager.cpp +@@ -43,7 +43,7 @@ namespace hex { + return false; + } + +- auto providers = auto(ImHexApi::Provider::getProviders()); ++ auto providers = ImHexApi::Provider::getProviders(); + for (const auto &provider : providers) { + ImHexApi::Provider::remove(provider); + } diff --git a/editors/imhex/files/patch-lib_libimhex_source_helpers_fs.cpp b/editors/imhex/files/patch-lib_libimhex_source_helpers_fs.cpp index a1901ae5fa7c..ca035f5b4856 100644 --- a/editors/imhex/files/patch-lib_libimhex_source_helpers_fs.cpp +++ b/editors/imhex/files/patch-lib_libimhex_source_helpers_fs.cpp @@ -1,6 +1,6 @@ ---- lib/libimhex/source/helpers/fs.cpp.orig 2023-01-05 08:53:49 UTC +--- lib/libimhex/source/helpers/fs.cpp.orig 2023-02-12 18:24:04 UTC +++ lib/libimhex/source/helpers/fs.cpp -@@ -14,10 +14,15 @@ +@@ -15,10 +15,15 @@ #include <shlobj.h> #elif defined(OS_LINUX) #include <xdg.hpp> @@ -16,3 +16,12 @@ #include <filesystem> namespace hex::fs { +@@ -101,7 +106,7 @@ namespace hex::fs { + result = NFD::PickFolder(outPath, defaultPath.empty() ? nullptr : defaultPath.c_str()); + break; + default: +- std::unreachable(); ++ pl::hlp::unreachable(); + } + + if (result == NFD_OKAY){ diff --git a/editors/imhex/files/patch-lib_libimhex_source_helpers_patches.cpp b/editors/imhex/files/patch-lib_libimhex_source_helpers_patches.cpp new file mode 100644 index 000000000000..dd41c9f794f8 --- /dev/null +++ b/editors/imhex/files/patch-lib_libimhex_source_helpers_patches.cpp @@ -0,0 +1,126 @@ +--- lib/libimhex/source/helpers/patches.cpp.orig 2023-02-13 15:36:19 UTC ++++ lib/libimhex/source/helpers/patches.cpp +@@ -18,7 +18,7 @@ namespace hex { + std::memcpy((&buffer.back() - sizeof(T)) + 1, &bytes, sizeof(T)); + } + +- std::expected<std::vector<u8>, IPSError> generateIPSPatch(const Patches &patches) { ++ tl::expected<std::vector<u8>, IPSError> generateIPSPatch(const Patches &patches) { + std::vector<u8> result; + + pushStringBack(result, "PATCH"); +@@ -43,9 +43,9 @@ namespace hex { + bytes.push_back(values[i]); + + if (bytes.size() > 0xFFFF) +- return std::unexpected(IPSError::PatchTooLarge); ++ return tl::unexpected(IPSError::PatchTooLarge); + if (startAddress > 0xFFFF'FFFF) +- return std::unexpected(IPSError::AddressOutOfRange); ++ return tl::unexpected(IPSError::AddressOutOfRange); + + u32 address = startAddress.value(); + auto addressBytes = reinterpret_cast<u8 *>(&address); +@@ -68,7 +68,7 @@ namespace hex { + return result; + } + +- std::expected<std::vector<u8>, IPSError> generateIPS32Patch(const Patches &patches) { ++ tl::expected<std::vector<u8>, IPSError> generateIPS32Patch(const Patches &patches) { + std::vector<u8> result; + + pushStringBack(result, "IPS32"); +@@ -93,9 +93,9 @@ namespace hex { + bytes.push_back(values[i]); + + if (bytes.size() > 0xFFFF) +- return std::unexpected(IPSError::PatchTooLarge); ++ return tl::unexpected(IPSError::PatchTooLarge); + if (startAddress > 0xFFFF'FFFF) +- return std::unexpected(IPSError::AddressOutOfRange); ++ return tl::unexpected(IPSError::AddressOutOfRange); + + u32 address = startAddress.value(); + auto addressBytes = reinterpret_cast<u8 *>(&address); +@@ -119,12 +119,12 @@ namespace hex { + return result; + } + +- std::expected<Patches, IPSError> loadIPSPatch(const std::vector<u8> &ipsPatch) { ++ tl::expected<Patches, IPSError> loadIPSPatch(const std::vector<u8> &ipsPatch) { + if (ipsPatch.size() < (5 + 3)) +- return std::unexpected(IPSError::InvalidPatchHeader); ++ return tl::unexpected(IPSError::InvalidPatchHeader); + + if (std::memcmp(ipsPatch.data(), "PATCH", 5) != 0) +- return std::unexpected(IPSError::InvalidPatchHeader); ++ return tl::unexpected(IPSError::InvalidPatchHeader); + + Patches result; + bool foundEOF = false; +@@ -139,7 +139,7 @@ namespace hex { + // Handle normal record + if (size > 0x0000) { + if (ipsOffset + size > ipsPatch.size() - 3) +- return std::unexpected(IPSError::InvalidPatchFormat); ++ return tl::unexpected(IPSError::InvalidPatchFormat); + + for (u16 i = 0; i < size; i++) + result[offset + i] = ipsPatch[ipsOffset + i]; +@@ -148,7 +148,7 @@ namespace hex { + // Handle RLE record + else { + if (ipsOffset + 3 > ipsPatch.size() - 3) +- return std::unexpected(IPSError::InvalidPatchFormat); ++ return tl::unexpected(IPSError::InvalidPatchFormat); + + u16 rleSize = ipsPatch[ipsOffset + 0] | (ipsPatch[ipsOffset + 1] << 8); + +@@ -167,15 +167,15 @@ namespace hex { + if (foundEOF) + return result; + else +- return std::unexpected(IPSError::MissingEOF); ++ return tl::unexpected(IPSError::MissingEOF); + } + +- std::expected<Patches, IPSError> loadIPS32Patch(const std::vector<u8> &ipsPatch) { ++ tl::expected<Patches, IPSError> loadIPS32Patch(const std::vector<u8> &ipsPatch) { + if (ipsPatch.size() < (5 + 4)) +- return std::unexpected(IPSError::InvalidPatchHeader); ++ return tl::unexpected(IPSError::InvalidPatchHeader); + + if (std::memcmp(ipsPatch.data(), "IPS32", 5) != 0) +- return std::unexpected(IPSError::InvalidPatchHeader); ++ return tl::unexpected(IPSError::InvalidPatchHeader); + + Patches result; + bool foundEEOF = false; +@@ -190,7 +190,7 @@ namespace hex { + // Handle normal record + if (size > 0x0000) { + if (ipsOffset + size > ipsPatch.size() - 3) +- return std::unexpected(IPSError::InvalidPatchFormat); ++ return tl::unexpected(IPSError::InvalidPatchFormat); + + for (u16 i = 0; i < size; i++) + result[offset + i] = ipsPatch[ipsOffset + i]; +@@ -199,7 +199,7 @@ namespace hex { + // Handle RLE record + else { + if (ipsOffset + 3 > ipsPatch.size() - 3) +- return std::unexpected(IPSError::InvalidPatchFormat); ++ return tl::unexpected(IPSError::InvalidPatchFormat); + + u16 rleSize = ipsPatch[ipsOffset + 0] | (ipsPatch[ipsOffset + 1] << 8); + +@@ -218,7 +218,7 @@ namespace hex { + if (foundEEOF) + return result; + else +- return std::unexpected(IPSError::MissingEOF); ++ return tl::unexpected(IPSError::MissingEOF); + } + + } +\ No newline at end of file diff --git a/editors/imhex/files/patch-main_CMakeLists.txt b/editors/imhex/files/patch-main_CMakeLists.txt new file mode 100644 index 000000000000..47e20ae36dda --- /dev/null +++ b/editors/imhex/files/patch-main_CMakeLists.txt @@ -0,0 +1,11 @@ +--- main/CMakeLists.txt.orig 2023-02-13 15:50:24 UTC ++++ main/CMakeLists.txt +@@ -30,7 +30,7 @@ set_target_properties(main PROPERTIES + + add_compile_definitions(IMHEX_PROJECT_NAME="${PROJECT_NAME}") + +-target_link_libraries(main PRIVATE libromfs-imhex libimhex ${FMT_LIBRARIES}) ++target_link_libraries(main PRIVATE libromfs-imhex libimhex ${FMT_LIBRARIES} execinfo) + if (WIN32) + target_link_libraries(main PRIVATE usp10 wsock32 ws2_32 Dwmapi.lib) + else () diff --git a/editors/imhex/files/patch-plugins_builtin_source_content_settings__entries.cpp b/editors/imhex/files/patch-plugins_builtin_source_content_settings__entries.cpp index a4402a37bf5a..554360faa23e 100644 --- a/editors/imhex/files/patch-plugins_builtin_source_content_settings__entries.cpp +++ b/editors/imhex/files/patch-plugins_builtin_source_content_settings__entries.cpp @@ -1,6 +1,6 @@ ---- plugins/builtin/source/content/settings_entries.cpp.orig 2023-01-05 08:53:49 UTC +--- plugins/builtin/source/content/settings_entries.cpp.orig 2023-02-12 18:24:04 UTC +++ plugins/builtin/source/content/settings_entries.cpp -@@ -22,8 +22,7 @@ namespace { +@@ -24,8 +24,7 @@ namespace { userFolders.clear(); std::vector<std::string> paths = setting; for (const auto &path : paths) { diff --git a/editors/imhex/files/patch-plugins_builtin_source_content_views_view__find.cpp b/editors/imhex/files/patch-plugins_builtin_source_content_views_view__find.cpp index c548e2681e57..10e2dd5a7c40 100644 --- a/editors/imhex/files/patch-plugins_builtin_source_content_views_view__find.cpp +++ b/editors/imhex/files/patch-plugins_builtin_source_content_views_view__find.cpp @@ -1,106 +1,6 @@ ---- plugins/builtin/source/content/views/view_find.cpp.orig 2023-01-05 08:53:49 UTC +--- plugins/builtin/source/content/views/view_find.cpp.orig 2023-02-12 18:24:04 UTC +++ plugins/builtin/source/content/views/view_find.cpp -@@ -153,34 +153,86 @@ namespace hex::plugin::builtin { - } - - template<typename Type, typename StorageType> -- static std::tuple<bool, std::variant<u64, i64, float, double>, size_t> parseNumericValue(const std::string &string) { -+ static std::tuple<bool, u64, size_t> parseNumericValue_u(const std::string &string) { - static_assert(sizeof(StorageType) >= sizeof(Type)); - - StorageType value = 0x00; -- auto result = std::from_chars(string.data(), string.data() + string.size(), value); -- if (result.ec != std::errc() || result.ptr != string.data() + string.size()) -+ try { -+ value = std::stoull(string.data()); -+ } catch (...) { - return { false, { }, 0 }; -+ } -+ if (value < std::numeric_limits<Type>::lowest() || value > std::numeric_limits<Type>::max()) -+ return { false, { }, 0 }; - -+ return { true, value, sizeof(Type) }; -+ } -+ -+ template<typename Type, typename StorageType> -+ static std::tuple<bool, i64, size_t> parseNumericValue_i(const std::string &string) { -+ static_assert(sizeof(StorageType) >= sizeof(Type)); -+ -+ StorageType value = 0x00; -+ try { -+ value = std::stoll(string.data()); -+ } catch (...) { -+ return { false, { }, 0 }; -+ } -+ - if (value < std::numeric_limits<Type>::lowest() || value > std::numeric_limits<Type>::max()) - return { false, { }, 0 }; - - return { true, value, sizeof(Type) }; - } - -+ template<typename Type, typename StorageType> -+ static std::tuple<bool, float, size_t> parseNumericValue_f(const std::string &string) { -+ static_assert(sizeof(StorageType) >= sizeof(Type)); -+ -+ StorageType value = 0x00; -+ try { -+ value = std::stof(string.data()); -+ } catch (...) { -+ return { false, { }, 0 }; -+ } -+ -+ if (value < std::numeric_limits<Type>::lowest() || value > std::numeric_limits<Type>::max()) -+ return { false, { }, 0 }; -+ -+ return { true, value, sizeof(float) }; -+ } -+ -+ template<typename Type, typename StorageType> -+ static std::tuple<bool, double, size_t> parseNumericValue_d(const std::string &string) { -+ static_assert(sizeof(StorageType) >= sizeof(Type)); -+ -+ StorageType value = 0x00; -+ try { -+ value = std::stod(string.data()); -+ } catch (...) { -+ return { false, { }, 0 }; -+ } -+ -+ if (value < std::numeric_limits<Type>::lowest() || value > std::numeric_limits<Type>::max()) -+ return { false, { }, 0 }; -+ -+ return { true, value, sizeof(Type) }; -+ } -+ - std::tuple<bool, std::variant<u64, i64, float, double>, size_t> ViewFind::parseNumericValueInput(const std::string &input, SearchSettings::Value::Type type) { - switch (type) { - using enum SearchSettings::Value::Type; - -- case U8: return parseNumericValue<u8, u64>(input); -- case U16: return parseNumericValue<u16, u64>(input); -- case U32: return parseNumericValue<u32, u64>(input); -- case U64: return parseNumericValue<u64, u64>(input); -- case I8: return parseNumericValue<i8, i64>(input); -- case I16: return parseNumericValue<i16, i64>(input); -- case I32: return parseNumericValue<i32, i64>(input); -- case I64: return parseNumericValue<i64, i64>(input); -- case F32: return parseNumericValue<float, float>(input); -- case F64: return parseNumericValue<double, double>(input); -+ case U8: return parseNumericValue_u<u8, u64>(input); -+ case U16: return parseNumericValue_u<u16, u64>(input); -+ case U32: return parseNumericValue_u<u32, u64>(input); -+ case U64: return parseNumericValue_u<u64, u64>(input); -+ case I8: return parseNumericValue_i<i8, i64>(input); -+ case I16: return parseNumericValue_i<i16, i64>(input); -+ case I32: return parseNumericValue_i<i32, i64>(input); -+ case I64: return parseNumericValue_i<i64, i64>(input); -+ case F32: return parseNumericValue_f<float, float>(input); -+ case F64: return parseNumericValue_d<double, double>(input); - default: return { false, { }, 0 }; - } - } -@@ -293,7 +345,7 @@ namespace hex::plugin::builtin { +@@ -305,7 +305,7 @@ namespace hex::plugin::builtin { auto occurrence = reader.begin(); while (true) { @@ -109,18 +9,12 @@ if (occurrence == reader.end()) break; -@@ -377,8 +429,12 @@ namespace hex::plugin::builtin { - reader.seek(searchRegion.getStartAddress()); - reader.setEndAddress(searchRegion.getEndAddress()); +@@ -407,7 +407,7 @@ namespace hex::plugin::builtin { + if (validBytes == size) { + bytes &= hex::bitmask(size * 8); -- const auto [validMin, min, sizeMin] = parseNumericValueInput(settings.inputMin, settings.type); -- const auto [validMax, max, sizeMax] = parseNumericValueInput(settings.inputMax, settings.type); -+ const auto validMin = std::get<0>(parseNumericValueInput(settings.inputMin, settings.type)); -+ const auto min = std::get<1>(parseNumericValueInput(settings.inputMin, settings.type)); -+ const auto sizeMin = std::get<2>(parseNumericValueInput(settings.inputMin, settings.type)); -+ const auto validMax = std::get<0>(parseNumericValueInput(settings.inputMax, settings.type)); -+ const auto max = std::get<1>(parseNumericValueInput(settings.inputMax, settings.type)); -+ const auto sizeMax = std::get<2>(parseNumericValueInput(settings.inputMax, settings.type)); +- auto result = std::visit([&](auto tag) { ++ auto result = std::visit([&, min=min, max=max](auto tag) { + using T = std::remove_cvref_t<std::decay_t<decltype(tag)>>; - if (!validMin || !validMax || sizeMin != sizeMax) - return { }; + auto minValue = std::get<T>(min); diff --git a/editors/imhex/files/patch-plugins_builtin_source_content_views_view__hex__editor.cpp b/editors/imhex/files/patch-plugins_builtin_source_content_views_view__hex__editor.cpp index ba671e2666d4..d2e69f0e0684 100644 --- a/editors/imhex/files/patch-plugins_builtin_source_content_views_view__hex__editor.cpp +++ b/editors/imhex/files/patch-plugins_builtin_source_content_views_view__hex__editor.cpp @@ -1,6 +1,6 @@ ---- plugins/builtin/source/content/views/view_hex_editor.cpp.orig 2022-11-14 09:07:21 UTC +--- plugins/builtin/source/content/views/view_hex_editor.cpp.orig 2023-02-12 18:24:04 UTC +++ plugins/builtin/source/content/views/view_hex_editor.cpp -@@ -296,7 +296,7 @@ namespace hex::plugin::builtin { +@@ -297,7 +297,7 @@ namespace hex::plugin::builtin { reader.seek(this->m_searchPosition.value_or(provider->getBaseAddress())); constexpr static auto searchFunction = [](const auto &haystackBegin, const auto &haystackEnd, const auto &needleBegin, const auto &needleEnd) { diff --git a/editors/imhex/files/patch-plugins_builtin_source_content_views_view__pattern__editor.cpp b/editors/imhex/files/patch-plugins_builtin_source_content_views_view__pattern__editor.cpp index ba4910f07c4d..fe12e229b4fb 100644 --- a/editors/imhex/files/patch-plugins_builtin_source_content_views_view__pattern__editor.cpp +++ b/editors/imhex/files/patch-plugins_builtin_source_content_views_view__pattern__editor.cpp @@ -1,15 +1,15 @@ ---- plugins/builtin/source/content/views/view_pattern_editor.cpp.orig 2023-01-05 08:53:49 UTC +--- plugins/builtin/source/content/views/view_pattern_editor.cpp.orig 2023-02-15 08:39:23 UTC +++ plugins/builtin/source/content/views/view_pattern_editor.cpp -@@ -439,7 +439,7 @@ namespace hex::plugin::builtin { +@@ -437,7 +437,7 @@ namespace hex::plugin::builtin { dataProvider->setReadOnly(true); auto hexEditor = ui::HexEditor(); - hexEditor.setBackgroundHighlightCallback([this, id](u64 address, const u8 *, size_t) -> std::optional<color_t> { -+ hexEditor.setBackgroundHighlightCallback([this, id = id](u64 address, const u8 *, size_t) -> std::optional<color_t> { ++ hexEditor.setBackgroundHighlightCallback([this, id=id](u64 address, const u8 *, size_t) -> std::optional<color_t> { if (this->m_runningEvaluators != 0) return std::nullopt; if (!ImHexApi::Provider::isValid()) -@@ -461,7 +461,7 @@ namespace hex::plugin::builtin { +@@ -459,7 +459,7 @@ namespace hex::plugin::builtin { auto patternProvider = ImHexApi::Provider::get(); @@ -18,7 +18,7 @@ hexEditor.setProvider(dataProvider.get()); hexEditor.draw(480_scaled); -@@ -934,7 +934,7 @@ namespace hex::plugin::builtin { +@@ -931,7 +931,7 @@ namespace hex::plugin::builtin { if (type->isTemplateType()) continue; diff --git a/editors/imhex/files/patch-plugins_builtin_source_ui_pattern__drawer.cpp b/editors/imhex/files/patch-plugins_builtin_source_ui_pattern__drawer.cpp new file mode 100644 index 000000000000..3a6ff03be6c5 --- /dev/null +++ b/editors/imhex/files/patch-plugins_builtin_source_ui_pattern__drawer.cpp @@ -0,0 +1,12 @@ +--- plugins/builtin/source/ui/pattern_drawer.cpp.orig 2023-02-12 18:24:04 UTC ++++ plugins/builtin/source/ui/pattern_drawer.cpp +@@ -134,7 +134,8 @@ namespace hex::plugin::builtin::ui { + ImGui::TextUnformatted("hex.builtin.pattern_drawer.visualizer.invalid_parameter_count"_lang); + } else { + try { +- visualizer.callback(pattern, iteratable, reset, { arguments.begin() + 1, arguments.end() }); ++ const std::vector<pl::core::Token::Literal> args = { arguments.begin() + 1, arguments.end() }; ++ visualizer.callback(pattern, iteratable, reset, args); + } catch (std::exception &e) { + this->m_lastVisualizerError = e.what(); + } diff --git a/editors/imhex/pkg-plist b/editors/imhex/pkg-plist index 99cc78bdcf59..a050fd7085a4 100644 --- a/editors/imhex/pkg-plist +++ b/editors/imhex/pkg-plist @@ -1,57 +1,16 @@ bin/imhex -lib/libimhex.so.1.26.2 +lib/libimhex.so.1.27.1 share/applications/imhex.desktop %%DATADIR%%/constants/_schema.json %%DATADIR%%/constants/crc16.json %%DATADIR%%/constants/crc32.json %%DATADIR%%/constants/http_status.json %%DATADIR%%/constants/linux_errors.json -%%DATADIR%%/includes/hex/core.pat -%%DATADIR%%/includes/hex/dec.pat -%%DATADIR%%/includes/hex/http.pat -%%DATADIR%%/includes/hex/impl/imhex_check.pat -%%DATADIR%%/includes/hex/type/mangled.pat -%%DATADIR%%/includes/std/array.pat -%%DATADIR%%/includes/type/types/010.pat -%%DATADIR%%/includes/type/types/c.pat -%%DATADIR%%/includes/type/types/linux.pat -%%DATADIR%%/includes/type/types/rust.pat -%%DATADIR%%/includes/type/types/win32.pat -%%DATADIR%%/includes/type/base.pat -%%DATADIR%%/includes/type/bcd.pat -%%DATADIR%%/includes/type/color.pat -%%DATADIR%%/includes/type/magic.pat -%%DATADIR%%/patterns/bson.hexpat -%%DATADIR%%/patterns/chm.hexpat -%%DATADIR%%/patterns/coff.hexpat -%%DATADIR%%/patterns/cpio.pat -%%DATADIR%%/patterns/dmg.hexpat -%%DATADIR%%/patterns/fdt.pat -%%DATADIR%%/patterns/flac.hexpat -%%DATADIR%%/patterns/gif.hexpat -%%DATADIR%%/patterns/gzip.hexpat -%%DATADIR%%/patterns/id3.hexpat -%%DATADIR%%/patterns/macho.hexpat -%%DATADIR%%/patterns/minidump.hexpat -%%DATADIR%%/patterns/msgpack.hexpat -%%DATADIR%%/patterns/nbt.hexpat -%%DATADIR%%/patterns/ne.hexpat -%%DATADIR%%/patterns/pbzx.hexpat -%%DATADIR%%/patterns/pcx.hexpat -%%DATADIR%%/patterns/pfs0.hexpat -%%DATADIR%%/patterns/qoi.hexpat -%%DATADIR%%/patterns/sit5.hexpat -%%DATADIR%%/patterns/tar.hexpat -%%DATADIR%%/patterns/usb.hexpat -%%DATADIR%%/patterns/wad.hexpat -%%DATADIR%%/patterns/xci.hexpat -%%DATADIR%%/patterns/xilinx_bit.hexpat -%%DATADIR%%/patterns/zstd.hexpat %%DATADIR%%/encodings/arabic_iso.tbl %%DATADIR%%/encodings/arabic_windows.tbl -%%DATADIR%%/encodings/ascii.tbl %%DATADIR%%/encodings/ascii_ansi.tbl %%DATADIR%%/encodings/ascii_oem.tbl +%%DATADIR%%/encodings/ascii.tbl %%DATADIR%%/encodings/baltic_iso.tbl %%DATADIR%%/encodings/baltic_windows.tbl %%DATADIR%%/encodings/cyrillic_cp866.tbl @@ -74,6 +33,7 @@ share/applications/imhex.desktop %%DATADIR%%/encodings/jis_x_0211.tbl %%DATADIR%%/encodings/jis_x_0213.tbl %%DATADIR%%/encodings/macintosh.tbl +%%DATADIR%%/encodings/ms932.tbl %%DATADIR%%/encodings/pokegen1_en.tbl %%DATADIR%%/encodings/shiftjis.tbl %%DATADIR%%/encodings/thai.tbl @@ -81,6 +41,12 @@ share/applications/imhex.desktop %%DATADIR%%/encodings/turkish_windows.tbl %%DATADIR%%/encodings/utf8.tbl %%DATADIR%%/encodings/vietnamese.tbl +%%DATADIR%%/includes/hex/core.pat +%%DATADIR%%/includes/hex/dec.pat +%%DATADIR%%/includes/hex/http.pat +%%DATADIR%%/includes/hex/impl/imhex_check.pat +%%DATADIR%%/includes/hex/type/mangled.pat +%%DATADIR%%/includes/std/array.pat %%DATADIR%%/includes/std/bit.pat %%DATADIR%%/includes/std/core.pat %%DATADIR%%/includes/std/ctype.pat @@ -95,15 +61,24 @@ share/applications/imhex.desktop %%DATADIR%%/includes/std/string.pat %%DATADIR%%/includes/std/sys.pat %%DATADIR%%/includes/std/time.pat +%%DATADIR%%/includes/type/base.pat +%%DATADIR%%/includes/type/bcd.pat %%DATADIR%%/includes/type/byte.pat +%%DATADIR%%/includes/type/color.pat %%DATADIR%%/includes/type/float16.pat %%DATADIR%%/includes/type/guid.pat %%DATADIR%%/includes/type/ip.pat %%DATADIR%%/includes/type/leb128.pat %%DATADIR%%/includes/type/mac.pat +%%DATADIR%%/includes/type/magic.pat %%DATADIR%%/includes/type/path.pat %%DATADIR%%/includes/type/size.pat %%DATADIR%%/includes/type/time.pat +%%DATADIR%%/includes/type/types/010.pat +%%DATADIR%%/includes/type/types/c.pat +%%DATADIR%%/includes/type/types/linux.pat +%%DATADIR%%/includes/type/types/rust.pat +%%DATADIR%%/includes/type/types/win32.pat %%DATADIR%%/magic/nintendo_switch_magic %%DATADIR%%/magic/portable_executable_magic %%DATADIR%%/patterns/afe2.hexpat @@ -111,33 +86,66 @@ share/applications/imhex.desktop %%DATADIR%%/patterns/arm_cm_vtor.hexpat %%DATADIR%%/patterns/bencode.hexpat %%DATADIR%%/patterns/bmp.hexpat +%%DATADIR%%/patterns/bson.hexpat +%%DATADIR%%/patterns/cchva.hexpat +%%DATADIR%%/patterns/ccpal.hexpat +%%DATADIR%%/patterns/ccvxl.hexpat +%%DATADIR%%/patterns/chm.hexpat +%%DATADIR%%/patterns/coff.hexpat +%%DATADIR%%/patterns/cpio.pat %%DATADIR%%/patterns/dds.hexpat +%%DATADIR%%/patterns/dmg.hexpat %%DATADIR%%/patterns/elf.hexpat +%%DATADIR%%/patterns/fdt.pat +%%DATADIR%%/patterns/flac.hexpat %%DATADIR%%/patterns/fs.hexpat +%%DATADIR%%/patterns/gif.hexpat +%%DATADIR%%/patterns/gzip.hexpat %%DATADIR%%/patterns/ico.hexpat +%%DATADIR%%/patterns/id3.hexpat %%DATADIR%%/patterns/intel_hex.hexpat %%DATADIR%%/patterns/ip.hexpat %%DATADIR%%/patterns/iso.hexpat %%DATADIR%%/patterns/java_class.hexpat +%%DATADIR%%/patterns/jpeg.hexpat %%DATADIR%%/patterns/lnk.hexpat +%%DATADIR%%/patterns/macho.hexpat %%DATADIR%%/patterns/midi.hexpat +%%DATADIR%%/patterns/minidump.hexpat +%%DATADIR%%/patterns/msgpack.hexpat %%DATADIR%%/patterns/nacp.hexpat +%%DATADIR%%/patterns/nbt.hexpat +%%DATADIR%%/patterns/ne.hexpat %%DATADIR%%/patterns/nro.hexpat %%DATADIR%%/patterns/ntag.hexpat %%DATADIR%%/patterns/ogg.hexpat +%%DATADIR%%/patterns/pbzx.hexpat %%DATADIR%%/patterns/pcap.hexpat +%%DATADIR%%/patterns/pcx.hexpat %%DATADIR%%/patterns/pe.hexpat +%%DATADIR%%/patterns/pfs0.hexpat +%%DATADIR%%/patterns/pif.hexpat %%DATADIR%%/patterns/png.hexpat %%DATADIR%%/patterns/prodinfo.hexpat %%DATADIR%%/patterns/protobuf.hexpat +%%DATADIR%%/patterns/qbcl.hexpat +%%DATADIR%%/patterns/qoi.hexpat +%%DATADIR%%/patterns/sit5.hexpat %%DATADIR%%/patterns/spirv.hexpat %%DATADIR%%/patterns/stl.hexpat +%%DATADIR%%/patterns/tar.hexpat %%DATADIR%%/patterns/tga.hexpat %%DATADIR%%/patterns/uf2.hexpat +%%DATADIR%%/patterns/usb.hexpat %%DATADIR%%/patterns/vdf.hexpat %%DATADIR%%/patterns/vhdx.hexpat +%%DATADIR%%/patterns/wad.hexpat %%DATADIR%%/patterns/wav.hexpat +%%DATADIR%%/patterns/xbeh.hexpat +%%DATADIR%%/patterns/xci.hexpat +%%DATADIR%%/patterns/xilinx_bit.hexpat %%DATADIR%%/patterns/zip.hexpat +%%DATADIR%%/patterns/zstd.hexpat %%DATADIR%%/plugins/builtin.hexplug share/metainfo/net.werwolv.imhex.appdata.xml share/metainfo/net.werwolv.imhex.metainfo.xml
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202302151427.31FERIYr002402>