editors/imhex: Update to 1.26.2

This commit is contained in:
MANTANI Nobutaka 2023-01-09 20:50:07 +09:00
parent 39fa508f06
commit 95e795fe22
16 changed files with 132 additions and 110 deletions

View File

@ -1,5 +1,5 @@
PORTNAME= imhex
PORTVERSION= 1.25.0
PORTVERSION= 1.26.2
DISTVERSIONPREFIX= v
CATEGORIES= editors
MASTER_SITES= https://git.sr.ht/~danyspin97/xdgpp/blob/f01f810714443d0f10c333d4d1d9c0383be41375/:xdg
@ -58,11 +58,11 @@ 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= a9ada89
GH_TAG_IMHEX_PATTERNS= a4a1430
GH_TAG_JTHREAD= 0fa8d39
GH_TAG_LIBROMFS= 53a6bf5
GH_TAG_NATIVEFILEDIALOG= d4df2b6
GH_TAG_PATTERN_LANGUAGE= 7aeac4a
GH_TAG_LIBROMFS= 59d8cec
GH_TAG_NATIVEFILEDIALOG= 6efc824
GH_TAG_PATTERN_LANGUAGE= 58f1702
GH_TAG_YARA= ba94b4f
CMAKE_ARGS= -DUSE_SYSTEM_CURL=ON -DUSE_SYSTEM_NLOHMANN_JSON=ON \

View File

@ -1,10 +1,10 @@
TIMESTAMP = 1669206632
TIMESTAMP = 1673255964
SHA256 (imhex/xdg.hpp) = 2e08ce74adb71ff9b9aa9e1c999733fccd4b00967b9cf0c0e51dbf049392a9ec
SIZE (imhex/xdg.hpp) = 7674
SHA256 (imhex/WerWolv-ImHex-v1.25.0_GH0.tar.gz) = c2d730df224252159f9be3d2a3cbf3a592bfe38101414e06f64b0ac1776ec2c2
SIZE (imhex/WerWolv-ImHex-v1.25.0_GH0.tar.gz) = 11001840
SHA256 (imhex/btzy-nativefiledialog-extended-d4df2b6_GH0.tar.gz) = a0440e52bd25b8f85cb25ef68fe19ca39b4b0fad39358d5a501b317cad9d0f69
SIZE (imhex/btzy-nativefiledialog-extended-d4df2b6_GH0.tar.gz) = 412249
SHA256 (imhex/WerWolv-ImHex-v1.26.2_GH0.tar.gz) = bd5b24ec8b5e3cf907eb88f3769b6b8d4aeca5e8cb5b43fe880dd012c92d75ed
SIZE (imhex/WerWolv-ImHex-v1.26.2_GH0.tar.gz) = 11058206
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
SIZE (imhex/capstone-engine-capstone-d5141c0_GH0.tar.gz) = 5761632
SHA256 (imhex/CLIUtils-CLI11-faea921_GH0.tar.gz) = 84773ee9577e6b719e5a84ad62cc381cf3027756690e1db839eaa50bcafc6c78
@ -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-a9ada89_GH0.tar.gz) = fd1be6d54d1dfdeeb94cc3cb9789e6079cee80a0a3dc409b8d0c961eee747f17
SIZE (imhex/WerWolv-ImHex-Patterns-a9ada89_GH0.tar.gz) = 5180991
SHA256 (imhex/WerWolv-PatternLanguage-7aeac4a_GH0.tar.gz) = 170f3852353c28858fa3756b03f55a4a9bbd69561da071c36834bc00a56f19ca
SIZE (imhex/WerWolv-PatternLanguage-7aeac4a_GH0.tar.gz) = 420016
SHA256 (imhex/WerWolv-libromfs-53a6bf5_GH0.tar.gz) = 2caa05a847665ebff301dd7e684b4c7a1a9cc903a3bc0a83d4dccfdc1ea616de
SIZE (imhex/WerWolv-libromfs-53a6bf5_GH0.tar.gz) = 3799
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

View File

@ -1,18 +1,7 @@
--- cmake/build_helpers.cmake.orig 2022-10-08 08:03:47 UTC
--- cmake/build_helpers.cmake.orig 2023-01-05 08:53:49 UTC
+++ cmake/build_helpers.cmake
@@ -383,24 +383,15 @@ function(downloadImHexPatternsFiles dest)
else ()
set(PATTERNS_BRANCH ImHex-v${IMHEX_VERSION})
endif ()
-
- FetchContent_Declare(
- imhex_patterns
- GIT_REPOSITORY https://github.com/WerWolv/ImHex-Patterns.git
- GIT_TAG master
- )
-
- FetchContent_Populate(imhex_patterns)
-
@@ -370,13 +370,13 @@ function(downloadImHexPatternsFiles dest)
else ()
# Maybe patterns are cloned to a subdirectory
- set(imhex_patterns_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ImHex-Patterns")
@ -27,11 +16,19 @@
endforeach ()
endif ()
@@ -408,7 +399,6 @@ endfunction()
@@ -384,7 +384,6 @@ endfunction()
macro(setupCompilerWarnings target)
set(IMHEX_COMMON_FLAGS "-Wall -Wextra -Werror")
set(IMHEX_COMMON_FLAGS "-Wall -Wextra -Wpedantic -Werror")
- set(IMHEX_C_FLAGS "${IMHEX_COMMON_FLAGS} -Wno-restrict -Wno-stringop-overread -Wno-stringop-overflow")
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)

View File

@ -1,11 +0,0 @@
--- lib/external/libromfs/generator/source/main.cpp.orig 2022-11-23 12:47:55 UTC
+++ lib/external/libromfs/generator/source/main.cpp
@@ -87,7 +87,7 @@ int main() {
for (std::uint64_t i = 0; i < identifierCount; i++) {
std::printf("libromfs: Bundling resource: %s\n", paths[i].string().c_str());
- outputFile << " " << "{ \"" << paths[i].string() << "\", romfs::Resource({ reinterpret_cast<std::byte*>(resource_" LIBROMFS_PROJECT_NAME "_" << i << ".data()), " << "resource_" LIBROMFS_PROJECT_NAME "_" << i << ".size() }) " << "},\n";
+ outputFile << " " << "{ \"" << paths[i].string() << "\", romfs::Resource({ reinterpret_cast<std::byte*>(resource_" LIBROMFS_PROJECT_NAME "_" << i << ".data()), " << "resource_" LIBROMFS_PROJECT_NAME "_" << i << ".size() - 1 }) " << "},\n";
}
outputFile << "};";
}

View File

@ -0,0 +1,11 @@
--- 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)

View File

@ -1,11 +0,0 @@
--- lib/external/pattern_language/lib/CMakeLists.txt.orig 2022-08-18 14:28:54 UTC
+++ lib/external/pattern_language/lib/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.16)
project(libpl)
-set(CMAKE_CXX_STANDARD 20)
+set(CMAKE_CXX_STANDARD 23)
if (LIBPL_SHARED_LIBRARY)
set(LIBRARY_TYPE SHARED)

View File

@ -0,0 +1,17 @@
--- lib/external/pattern_language/lib/include/pl/core/ast/ast_node.hpp.orig 2023-01-05 15:11:08 UTC
+++ lib/external/pattern_language/lib/include/pl/core/ast/ast_node.hpp
@@ -15,11 +15,11 @@ namespace pl::core::ast {
class ASTNode : public Cloneable<ASTNode> {
public:
- constexpr ASTNode() = default;
+ ASTNode() = default;
- constexpr virtual ~ASTNode() = default;
+ virtual ~ASTNode() = default;
- constexpr ASTNode(const ASTNode &) = default;
+ ASTNode(const ASTNode &) = default;
[[nodiscard]] constexpr u32 getLine() const { return this->m_line; }
[[nodiscard]] constexpr u32 getColumn() const { return this->m_column; }

View File

@ -0,0 +1,11 @@
--- lib/external/pattern_language/lib/include/pl/core/ast/ast_node_builtin_type.hpp.orig 2023-01-05 15:12:35 UTC
+++ lib/external/pattern_language/lib/include/pl/core/ast/ast_node_builtin_type.hpp
@@ -15,7 +15,7 @@ namespace pl::core::ast {
class ASTNodeBuiltinType : public ASTNode {
public:
- constexpr explicit ASTNodeBuiltinType(Token::ValueType type)
+ explicit ASTNodeBuiltinType(Token::ValueType type)
: ASTNode(), m_type(type) { }
[[nodiscard]] constexpr const auto &getType() const { return this->m_type; }

View File

@ -1,9 +1,9 @@
--- lib/external/pattern_language/lib/include/pl/core/evaluator.hpp.orig 2022-09-16 15:53:53 UTC
--- lib/external/pattern_language/lib/include/pl/core/evaluator.hpp.orig 2023-01-05 14:44:51 UTC
+++ lib/external/pattern_language/lib/include/pl/core/evaluator.hpp
@@ -6,6 +6,7 @@
#include <optional>
@@ -7,6 +7,7 @@
#include <vector>
#include <memory>
#include <unordered_set>
+#include <unordered_map>
#include <pl/core/log_console.hpp>

View File

@ -1,9 +1,15 @@
--- lib/external/pattern_language/lib/include/pl/core/token.hpp.orig 2022-11-19 17:06:38 UTC
--- 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
@@ -148,9 +148,9 @@ namespace pl::core {
@@ -151,14 +151,14 @@ namespace pl::core {
bool global;
std::string comment;
- constexpr bool operator==(const DocComment &) const = default;
+ bool operator==(const DocComment &) const = default;
};
using Literal = std::variant<char, bool, u128, i128, double, std::string, ptrn::Pattern *>;
using ValueTypes = std::variant<Keyword, Identifier, Operator, Literal, ValueType, Separator>;
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) {}
@ -12,7 +18,7 @@
[[nodiscard]] constexpr static inline bool isInteger(const ValueType &type) {
return isUnsigned(type) || isSigned(type);
}
@@ -206,133 +206,133 @@ namespace pl::core {
@@ -227,134 +227,134 @@ namespace pl::core {
namespace tkn {
@ -70,12 +76,14 @@
namespace Literal {
- constexpr auto IdentifierValue = [](const std::string &name = { }) -> Token { return createToken(core::Token::Type::Identifier, Token::Identifier(name)); };
- constexpr auto NumericValue = [](const Token::Literal &value = { }) -> Token { return createToken(core::Token::Type::Integer, value); };
- constexpr auto StringValue = [](const std::string &value = { }) -> Token { return createToken(core::Token::Type::String, Token::Literal(value)); };
+ inline auto IdentifierValue = [](const std::string &name = { }) -> Token { return createToken(core::Token::Type::Identifier, Token::Identifier(name)); };
+ inline auto NumericValue = [](const Token::Literal &value = { }) -> Token { return createToken(core::Token::Type::Integer, value); };
+ inline auto StringValue = [](const std::string &value = { }) -> Token { return createToken(core::Token::Type::String, Token::Literal(value)); };
- constexpr auto IdentifierValue = [](const std::string &name = { }) -> Token { return createToken(core::Token::Type::Identifier, Token::Identifier(name)); };
- constexpr auto NumericValue = [](const Token::Literal &value = { }) -> Token { return createToken(core::Token::Type::Integer, value); };
- constexpr auto StringValue = [](const std::string &value = { }) -> Token { return createToken(core::Token::Type::String, Token::Literal(value)); };
- constexpr auto DocComment = [](bool global, const std::string &value) -> Token { return { core::Token::Type::DocComment, Token::DocComment { global, value }, 1, 1 }; };
+ inline auto IdentifierValue = [](const std::string &name = { }) -> Token { return createToken(core::Token::Type::Identifier, Token::Identifier(name)); };
+ inline auto NumericValue = [](const Token::Literal &value = { }) -> Token { return createToken(core::Token::Type::Integer, value); };
+ inline auto StringValue = [](const std::string &value = { }) -> Token { return createToken(core::Token::Type::String, Token::Literal(value)); };
+ inline auto DocComment = [](bool global, const std::string &value) -> Token { return { core::Token::Type::DocComment, Token::DocComment { global, value }, 1, 1 }; };
- constexpr auto Identifier = createToken(core::Token::Type::Identifier, { });
- constexpr auto Numeric = createToken(core::Token::Type::Integer, { });

View File

@ -1,10 +0,0 @@
--- lib/libimhex/CMakeLists.txt.orig 2022-10-08 08:03:47 UTC
+++ lib/libimhex/CMakeLists.txt
@@ -27,7 +27,6 @@ set(FPHSA_NAME_MISMATCHED ON CACHE BOOL "")
find_package(PkgConfig REQUIRED)
if (NOT USE_SYSTEM_NFD)
- set(NFD_PORTAL ON CACHE BOOL "Use Portals for Linux file dialogs" FORCE)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/nativefiledialog ${CMAKE_CURRENT_BINARY_DIR}/external/nativefiledialog EXCLUDE_FROM_ALL)
set_target_properties(nfd PROPERTIES POSITION_INDEPENDENT_CODE ON)
set(NFD_LIBRARIES nfd)

View File

@ -1,4 +1,4 @@
--- lib/libimhex/source/helpers/fs.cpp.orig 2022-10-08 08:03:47 UTC
--- lib/libimhex/source/helpers/fs.cpp.orig 2023-01-05 08:53:49 UTC
+++ lib/libimhex/source/helpers/fs.cpp
@@ -14,10 +14,15 @@
#include <shlobj.h>
@ -16,12 +16,3 @@
#include <filesystem>
namespace hex::fs {
@@ -189,7 +194,7 @@ namespace hex::fs {
#endif
}
- constexpr std::vector<std::fs::path> appendPath(std::vector<std::fs::path> paths, const std::fs::path &folder) {
+ std::vector<std::fs::path> appendPath(std::vector<std::fs::path> paths, const std::fs::path &folder) {
for (auto &path : paths)
path = path / folder;

View File

@ -1,6 +1,6 @@
--- plugins/builtin/source/content/settings_entries.cpp.orig 2022-10-08 08:03:47 UTC
--- plugins/builtin/source/content/settings_entries.cpp.orig 2023-01-05 08:53:49 UTC
+++ plugins/builtin/source/content/settings_entries.cpp
@@ -21,8 +21,7 @@ namespace {
@@ -22,8 +22,7 @@ namespace {
userFolders.clear();
std::vector<std::string> paths = setting;
for (const auto &path : paths) {

View File

@ -1,6 +1,6 @@
--- plugins/builtin/source/content/views/view_find.cpp.orig 2022-10-08 08:03:47 UTC
--- plugins/builtin/source/content/views/view_find.cpp.orig 2023-01-05 08:53:49 UTC
+++ plugins/builtin/source/content/views/view_find.cpp
@@ -153,34 +153,87 @@ namespace hex::plugin::builtin {
@@ -153,34 +153,86 @@ namespace hex::plugin::builtin {
}
template<typename Type, typename StorageType>
@ -16,14 +16,12 @@
+ } catch (...) {
return { false, { }, 0 };
+ }
- if (value < std::numeric_limits<Type>::min() || value > std::numeric_limits<Type>::max())
+ if (value < std::numeric_limits<Type>::lowest() || value > std::numeric_limits<Type>::max())
return { false, { }, 0 };
return { true, value, sizeof(Type) };
}
+ 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));
@ -35,12 +33,12 @@
+ return { false, { }, 0 };
+ }
+
+ if (value < std::numeric_limits<Type>::lowest() || value > std::numeric_limits<Type>::max())
+ return { false, { }, 0 };
+
+ return { true, value, sizeof(Type) };
+ }
+
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));
@ -102,7 +100,7 @@
default: return { false, { }, 0 };
}
}
@@ -293,7 +346,7 @@ namespace hex::plugin::builtin {
@@ -293,7 +345,7 @@ namespace hex::plugin::builtin {
auto occurrence = reader.begin();
while (true) {
@ -111,7 +109,7 @@
if (occurrence == reader.end())
break;
@@ -377,8 +430,12 @@ namespace hex::plugin::builtin {
@@ -377,8 +429,12 @@ namespace hex::plugin::builtin {
reader.seek(searchRegion.getStartAddress());
reader.setEndAddress(searchRegion.getEndAddress());

View File

@ -1,6 +1,6 @@
--- plugins/builtin/source/content/views/view_pattern_editor.cpp.orig 2022-11-23 07:51:06 UTC
--- 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
@@ -461,7 +461,7 @@ namespace hex::plugin::builtin {
@@ -439,7 +439,7 @@ namespace hex::plugin::builtin {
dataProvider->setReadOnly(true);
auto hexEditor = ui::HexEditor();
@ -9,7 +9,7 @@
if (this->m_runningEvaluators != 0)
return std::nullopt;
if (!ImHexApi::Provider::isValid())
@@ -483,7 +483,7 @@ namespace hex::plugin::builtin {
@@ -461,7 +461,7 @@ namespace hex::plugin::builtin {
auto patternProvider = ImHexApi::Provider::get();
@ -18,7 +18,7 @@
hexEditor.setProvider(dataProvider.get());
hexEditor.draw(480_scaled);
@@ -944,7 +944,7 @@ namespace hex::plugin::builtin {
@@ -934,7 +934,7 @@ namespace hex::plugin::builtin {
if (type->isTemplateType())
continue;

View File

@ -1,5 +1,5 @@
bin/imhex
lib/libimhex.so.1.25.0
lib/libimhex.so.1.26.2
share/applications/imhex.desktop
%%DATADIR%%/constants/_schema.json
%%DATADIR%%/constants/crc16.json
@ -18,14 +18,35 @@ share/applications/imhex.desktop
%%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