Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 May 2021 11:16:35 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: 9f982c116499 - main - editors/imhex: Update to 1.8.0
Message-ID:  <202105241116.14OBGZAI067604@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=9f982c116499ae0da966b9f9b5bd084eef32116f

commit 9f982c116499ae0da966b9f9b5bd084eef32116f
Author:     MANTANI Nobutaka <nobutaka@FreeBSD.org>
AuthorDate: 2021-05-24 10:48:29 +0000
Commit:     MANTANI Nobutaka <nobutaka@FreeBSD.org>
CommitDate: 2021-05-24 11:14:53 +0000

    editors/imhex: Update to 1.8.0
    
    - Add dependency on ftp/curl, x11-toolkits/gtk30, and so on
    - Remove dependency on lang/gcc10
    - Fetch the snapshots of xdgpp, libfmt, nativefiledialog, and yara
      that are new submodules of ImHex (devel/libfmt and security/yara
      cannot be used because ImHex 1.8.0 is imcompatible with the release
      versions of them)
---
 editors/imhex/Makefile                             | 37 +++++++++------
 editors/imhex/distinfo                             | 14 ++++--
 .../imhex/files/patch-cmake_build__helpers.cmake   | 54 ++++++----------------
 .../imhex/files/patch-external_fmt_CMakeLists.txt  | 18 ++++++++
 .../patch-external_nativefiledialog_CMakeLists.txt | 11 +++++
 ...atch-plugins_builtin_source_math__evaluator.cpp | 10 ++++
 .../files/patch-plugins_libimhex_CMakeLists.txt    | 19 ++++++++
 editors/imhex/files/patch-source_window.cpp        | 11 -----
 editors/imhex/pkg-plist                            |  3 +-
 9 files changed, 108 insertions(+), 69 deletions(-)

diff --git a/editors/imhex/Makefile b/editors/imhex/Makefile
index edf61e4205e6..9bb85ff7d62e 100644
--- a/editors/imhex/Makefile
+++ b/editors/imhex/Makefile
@@ -1,8 +1,10 @@
 PORTNAME=	imhex
-PORTVERSION=	1.7.0
+PORTVERSION=	1.8.0
 DISTVERSIONPREFIX=	v
-PORTREVISION=	1
 CATEGORIES=	editors
+MASTER_SITES=	https://git.sr.ht/~danyspin97/xdgpp/blob/f01f810714443d0f10c333d4d1d9c0383be41375/:xdg
+DISTFILES=	xdg.hpp:xdg
+DIST_SUBDIR=	imhex
 
 MAINTAINER=	nobutaka@FreeBSD.org
 COMMENT=	Hex editor for reverse engineers and programmers
@@ -12,37 +14,44 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 
 NOT_FOR_ARCHS=	i386
 NOT_FOR_ARCHS_REASON=	__uint128_t and __int128_t are not supported
+EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX} \
+		btzy-nativefiledialog-extended-${GH_TAG_NATIVEFILEDIALOG}_GH0${EXTRACT_SUFX} \
+		fmtlib-fmt-${GH_TAG_FMT}_GH0${EXTRACT_SUFX} \
+		VirusTotal-yara-${GH_TAG_YARA}_GH0${EXTRACT_SUFX}
 
-BUILD_DEPENDS=	c++10:lang/gcc10 \
-		glm>0:math/glm \
+BUILD_DEPENDS=	glm>0:math/glm \
 		nlohmann-json>0:devel/nlohmann-json
 LIB_DEPENDS=	libcapstone.so:devel/capstone4 \
+		libcurl.so:ftp/curl \
 		libmbedtls.so:security/mbedtls \
 		libfreetype.so:print/freetype2 \
 		libglfw.so:graphics/glfw \
-		libstdc++.so:lang/gcc10 \
 		libtre.so:textproc/libtre
 
 USES=		cmake pkgconfig python:3.8+ xorg
+USE_GNOME=	cairo gdkpixbuf2 gtk30
 USE_XORG=	x11 xcb xau xdmcp
 USE_GITHUB=	yes
+
 GH_ACCOUNT=	WerWolv
 GH_PROJECT=	ImHex
-
-CC=	${LOCALBASE}/bin/gcc10
-CXX=	${LOCALBASE}/bin/c++10
+GH_TUPLE=	btzy:nativefiledialog-extended:${GH_TAG_NATIVEFILEDIALOG}:nativefiledialog \
+		fmtlib:fmt:${GH_TAG_FMT}:fmt \
+		VirusTotal:yara:${GH_TAG_YARA}:yara
+GH_TAG_FMT=	6271406
+GH_TAG_NATIVEFILEDIALOG=	300203a
+GH_TAG_YARA=	1842271
 
 PORTDOCS=	README.md
 
 OPTIONS_DEFINE=	DOCS NLS
 NLS_USES=	gettext
 
-post-patch:
-	${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" ${WRKSRC}/source/window.cpp
-
-post-install:
-	${STRIP_CMD} ${STAGEDIR}${PREFIX}/share/imhex/plugins/builtin.hexplug
-	${STRIP_CMD} ${STAGEDIR}${PREFIX}/share/imhex/plugins/example.hexplug
+post-extract:
+	${CP} ${DISTDIR}/${DIST_SUBDIR}/xdg.hpp ${WRKSRC}/external/xdgpp
+	${CP} -R ${WRKSRC_fmt}/* ${WRKSRC}/external/fmt
+	${CP} -R ${WRKSRC_nativefiledialog}/* ${WRKSRC}/external/nativefiledialog
+	${CP} -R ${WRKSRC_yara}/* ${WRKSRC}/external/yara/yara
 
 post-install-DOCS-on:
 	${MKDIR} ${STAGEDIR}${DOCSDIR}
diff --git a/editors/imhex/distinfo b/editors/imhex/distinfo
index 8cac4bc1b324..0bcddc3387bf 100644
--- a/editors/imhex/distinfo
+++ b/editors/imhex/distinfo
@@ -1,3 +1,11 @@
-TIMESTAMP = 1613820150
-SHA256 (WerWolv-ImHex-v1.7.0_GH0.tar.gz) = 891c9268dda958922698c6fdfcba34ec7b20853f3764fe9d58c4a932a6b0d3d8
-SIZE (WerWolv-ImHex-v1.7.0_GH0.tar.gz) = 1189375
+TIMESTAMP = 1621439913
+SHA256 (imhex/xdg.hpp) = 2e08ce74adb71ff9b9aa9e1c999733fccd4b00967b9cf0c0e51dbf049392a9ec
+SIZE (imhex/xdg.hpp) = 7674
+SHA256 (imhex/WerWolv-ImHex-v1.8.0_GH0.tar.gz) = 8a130a8b8c7a8d699bf621ba768098b19a01866ba2ee634376f8883bd39d703a
+SIZE (imhex/WerWolv-ImHex-v1.8.0_GH0.tar.gz) = 1757395
+SHA256 (imhex/btzy-nativefiledialog-extended-300203a_GH0.tar.gz) = 5db23b09fb098fa44cae663a5f2b38fc679dbf0a7acf9a8425500c9942478624
+SIZE (imhex/btzy-nativefiledialog-extended-300203a_GH0.tar.gz) = 400036
+SHA256 (imhex/fmtlib-fmt-6271406_GH0.tar.gz) = f07b01d4f092318f3da39d404f7cafbca311e7b576f09121adb1a54927826410
+SIZE (imhex/fmtlib-fmt-6271406_GH0.tar.gz) = 778679
+SHA256 (imhex/VirusTotal-yara-1842271_GH0.tar.gz) = a7148c3ddbc80746f60d56e0ecbbecc05c5f5401263ba95571aaf65dcaa75175
+SIZE (imhex/VirusTotal-yara-1842271_GH0.tar.gz) = 935600
diff --git a/editors/imhex/files/patch-cmake_build__helpers.cmake b/editors/imhex/files/patch-cmake_build__helpers.cmake
index 840a38de2b6d..5ecc6be04967 100644
--- a/editors/imhex/files/patch-cmake_build__helpers.cmake
+++ b/editors/imhex/files/patch-cmake_build__helpers.cmake
@@ -1,46 +1,20 @@
---- cmake/build_helpers.cmake.orig	2021-02-18 16:11:50 UTC
+--- cmake/build_helpers.cmake.orig	2021-05-18 19:25:59 UTC
 +++ cmake/build_helpers.cmake
-@@ -188,7 +188,7 @@ macro(createPackage)
+@@ -49,6 +49,8 @@ macro(findLibraries)
+         message(FATAL_ERROR "No valid version of Python 3 was found.")
      endif()
  
-     if (UNIX AND NOT APPLE)
--        install(TARGETS libimhex DESTINATION ${CMAKE_INSTALL_PREFIX})
-+        install(TARGETS libimhex DESTINATION "${CMAKE_INSTALL_PREFIX}/lib")
- 
-         string(REPLACE ":" ";" EXTRA_MAGICDBS "${EXTRA_MAGICDBS}")
- 
-@@ -199,9 +199,9 @@ macro(createPackage)
- 
-         if (NOT EXTRA_MAGICDBS STREQUAL "NOTFOUND")
-             if (EXTRA_MAGICDBS MATCHES ".*\\.mgc")
--                install(FILES "${EXTRA_MAGICDBS}" DESTINATION magic/)
-+                install(FILES "${EXTRA_MAGICDBS}" DESTINATION share/imhex/magic/)
-             else ()
--                install(FILES "${EXTRA_MAGICDBS}.mgc" DESTINATION magic/)
-+                install(FILES "${EXTRA_MAGICDBS}.mgc" DESTINATION share/imhex/magic/)
-             endif ()
-         endif ()
-     endif ()
-@@ -215,11 +215,11 @@ macro(createPackage)
-             )
++    find_package(CURL REQUIRED)
++
+     string(REPLACE "." ";" PYTHON_VERSION_MAJOR_MINOR ${Python_VERSION})
  
+     list(LENGTH PYTHON_VERSION_MAJOR_MINOR PYTHON_VERSION_COMPONENT_COUNT)
+@@ -162,7 +164,7 @@ macro(createPackage)
      foreach (plugin IN LISTS PLUGINS)
--        install(FILES "$<TARGET_FILE:${plugin}>" DESTINATION plugins/)
-+        install(FILES "$<TARGET_FILE:${plugin}>" DESTINATION share/imhex/plugins/)
-     endforeach ()
- 
-     # Install the magicdb files.
--    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/magic_dbs.mgc DESTINATION magic/ RENAME imhex.mgc)
-+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/magic_dbs.mgc DESTINATION share/imhex/magic/ RENAME imhex.mgc)
- 
-     if (CREATE_BUNDLE)
-         include(PostprocessBundle)
-@@ -241,7 +241,7 @@ macro(createPackage)
-         if (WIN32)
-             install(TARGETS imhex RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-         else ()
--            install(TARGETS imhex RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX})
-+            install(TARGETS imhex RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
-         endif ()
-     endif()
+         add_subdirectory("plugins/${plugin}")
+         set_target_properties(${plugin} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/plugins)
+-        install(TARGETS ${plugin} RUNTIME DESTINATION ${PLUGINS_INSTALL_LOCATION})
++        install(TARGETS ${plugin} LIBRARY DESTINATION ${PLUGINS_INSTALL_LOCATION})
+         add_dependencies(imhex ${plugin})
+     endforeach()
  
diff --git a/editors/imhex/files/patch-external_fmt_CMakeLists.txt b/editors/imhex/files/patch-external_fmt_CMakeLists.txt
new file mode 100644
index 000000000000..4b48b620ac43
--- /dev/null
+++ b/editors/imhex/files/patch-external_fmt_CMakeLists.txt
@@ -0,0 +1,18 @@
+--- external/fmt/CMakeLists.txt.orig	2021-05-19 16:12:27 UTC
++++ external/fmt/CMakeLists.txt
+@@ -195,7 +195,6 @@ else()
+ endif ()
+ 
+ add_library(fmt ${FMT_SOURCES} ${FMT_HEADERS} README.rst ChangeLog.rst)
+-add_library(fmt::fmt ALIAS fmt)
+ 
+ if (HAVE_STRTOD_L)
+   target_compile_definitions(fmt PUBLIC FMT_LOCALE)
+@@ -248,7 +247,6 @@ if (FMT_SAFE_DURATION_CAST)
+ endif()
+ 
+ add_library(fmt-header-only INTERFACE)
+-add_library(fmt::fmt-header-only ALIAS fmt-header-only)
+ 
+ target_compile_definitions(fmt-header-only INTERFACE FMT_HEADER_ONLY=1)
+ target_compile_features(fmt-header-only INTERFACE ${FMT_REQUIRED_FEATURES})
diff --git a/editors/imhex/files/patch-external_nativefiledialog_CMakeLists.txt b/editors/imhex/files/patch-external_nativefiledialog_CMakeLists.txt
new file mode 100644
index 000000000000..093cfdf021d8
--- /dev/null
+++ b/editors/imhex/files/patch-external_nativefiledialog_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- external/nativefiledialog/CMakeLists.txt.orig	2021-05-19 15:40:32 UTC
++++ external/nativefiledialog/CMakeLists.txt
+@@ -23,6 +23,8 @@ message("nfd Compiler: ${nfd_COMPILER}")
+ 
+ set (CMAKE_CXX_STANDARD 17)
+ 
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
++
+ add_subdirectory(src)
+ 
+ option(NFD_BUILD_TESTS "Build tests for nfd" OFF)
diff --git a/editors/imhex/files/patch-plugins_builtin_source_math__evaluator.cpp b/editors/imhex/files/patch-plugins_builtin_source_math__evaluator.cpp
new file mode 100644
index 000000000000..a091a604fc7c
--- /dev/null
+++ b/editors/imhex/files/patch-plugins_builtin_source_math__evaluator.cpp
@@ -0,0 +1,10 @@
+--- plugins/builtin/source/math_evaluator.cpp.orig	2021-05-18 19:25:59 UTC
++++ plugins/builtin/source/math_evaluator.cpp
+@@ -7,7 +7,6 @@
+ #include <cmath>
+ #include <cstdint>
+ #include <optional>
+-#include <numbers>
+ 
+ namespace hex {
+ 
diff --git a/editors/imhex/files/patch-plugins_libimhex_CMakeLists.txt b/editors/imhex/files/patch-plugins_libimhex_CMakeLists.txt
new file mode 100644
index 000000000000..33020c1e8737
--- /dev/null
+++ b/editors/imhex/files/patch-plugins_libimhex_CMakeLists.txt
@@ -0,0 +1,19 @@
+--- plugins/libimhex/CMakeLists.txt.orig	2021-05-18 19:25:59 UTC
++++ plugins/libimhex/CMakeLists.txt
+@@ -12,8 +12,6 @@ set(XDGPP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/..
+ set(CMAKE_USE_MBEDTLS ON)
+ set(BUILD_CURL_EXE OFF)
+ set(FPHSA_NAME_MISMATCHED ON CACHE BOOL "")
+-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../external/curl ${CMAKE_CURRENT_BINARY_DIR}/external/curl EXCLUDE_FROM_ALL)
+-set_target_properties(libcurl PROPERTIES POSITION_INDEPENDENT_CODE ON)
+ 
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
+ 
+@@ -64,5 +62,5 @@ if (APPLE)
+     find_library(FOUNDATION NAMES Foundation)
+     target_link_libraries(libimhex PUBLIC imgui nlohmann_json mbedcrypto ${FOUNDATION} nfd fmt-header-only libcurl)
+ else ()
+-    target_link_libraries(libimhex PUBLIC imgui nlohmann_json mbedcrypto nfd fmt-header-only libcurl)
++    target_link_libraries(libimhex PUBLIC imgui nlohmann_json mbedcrypto nfd fmt-header-only curl)
+ endif ()
+\ No newline at end of file
diff --git a/editors/imhex/files/patch-source_window.cpp b/editors/imhex/files/patch-source_window.cpp
deleted file mode 100644
index 9cd3e4b6d9f2..000000000000
--- a/editors/imhex/files/patch-source_window.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- source/window.cpp.orig	2021-02-18 16:11:50 UTC
-+++ source/window.cpp
-@@ -595,7 +595,7 @@ namespace hex {
- 
-     void Window::initPlugins() {
-         try {
--            auto pluginFolderPath = std::filesystem::path((SharedData::mainArgv)[0]).parent_path() / "plugins";
-+            auto pluginFolderPath = std::filesystem::path("%%PREFIX%%/share/imhex/plugins");
-             PluginHandler::load(pluginFolderPath.string());
-         } catch (std::runtime_error &e) { return; }
- 
diff --git a/editors/imhex/pkg-plist b/editors/imhex/pkg-plist
index fdf41146b0c4..6eb577fb95ce 100644
--- a/editors/imhex/pkg-plist
+++ b/editors/imhex/pkg-plist
@@ -2,4 +2,5 @@ bin/imhex
 lib/libimhex.so
 %%DATADIR%%/magic/imhex.mgc
 %%DATADIR%%/plugins/builtin.hexplug
-%%DATADIR%%/plugins/example.hexplug
+%%DATADIR%%/resources/cacert.pem
+%%DATADIR%%/resources/splash.png



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202105241116.14OBGZAI067604>