SHA256
1
0
forked from pool/rehex

replace patch with upstream commit

OBS-URL: https://build.opensuse.org/package/show/editors/rehex?expand=0&rev=31
This commit is contained in:
Michael Vetter 2024-08-07 13:50:18 +00:00 committed by Git OBS Bridge
commit d4fb2af474
8 changed files with 501 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
rehex-0.61.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1526b18b2dcf357fd49d41d3c37306e2fec1fccfee07a41e6a017b60e6416bed
size 4350368

3
rehex-0.62.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f4473ab3bb835de5d890f9488c32e6d26b5d2561a368ce05668d6c4530cd4ad
size 4918840

View File

@ -0,0 +1,78 @@
From 77fe9c22460caf350c9015e8e3292ff97e3493b0 Mon Sep 17 00:00:00 2001
From: Daniel Collins <solemnwarning@solemnwarning.net>
Date: Tue, 6 Aug 2024 22:43:31 +0100
Subject: [PATCH] Detect whether Botan 3.x or 2.x is installed.
---
Makefile | 18 +++++++++++++++---
Makefile.win | 4 ----
tools/mac-build-dependencies.sh | 1 +
3 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/Makefile b/Makefile
index 384902cc..1b043dcc 100644
--- a/Makefile
+++ b/Makefile
@@ -14,13 +14,19 @@
# this program; if not, write to the Free Software Foundation, Inc., 51
# Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# Returns the first of $(1) or $(2) which is defined in the pkg-config
+# database, or errors if neither are.
+pkg-select-ab = $\
+ $(if $(filter yes,$(shell pkg-config --exists $(1) && echo yes)),$(1),$\
+ $(if $(filter yes,$(shell pkg-config --exists $(2) && echo yes)),$(2),$\
+ $(error Could not find $(1) or $(2) using pkg-config)))
+
LUA ?= lua
WX_CONFIG ?= wx-config
-BOTAN_PKG ?= botan-2
+BOTAN_PKG ?= $(call pkg-select-ab,botan-3,botan-2)
CAPSTONE_PKG ?= capstone
JANSSON_PKG ?= jansson
-LUA_PKG ?= $(shell pkg-config --exists lua5.3 && echo lua5.3 || echo lua)
-CXXSTD ?= -std=c++11
+LUA_PKG ?= $(call pkg-select-ab,lua5.3,lua)
EXE ?= rehex
EMBED_EXE ?= ./tools/embed
@@ -82,6 +88,12 @@ ifeq ($(need_compiler_flags),1)
GTK_CFLAGS = $$($(GTKCONFIG_EXE) --cflags)
GTK_LIBS = $$($(GTKCONFIG_EXE) --libs)
+
+ ifeq ($(BOTAN_PKG),botan-3)
+ CXXSTD ?= -std=c++20
+ else
+ CXXSTD ?= -std=c++11
+ endif
endif
BASE_CFLAGS := -Wall
diff --git a/Makefile.win b/Makefile.win
index bb4a1297..68aabea9 100644
--- a/Makefile.win
+++ b/Makefile.win
@@ -40,10 +40,6 @@ CXXFLAGS += -Iinclude/gcc-win-include/
CFLAGS += -DREHEX_CACHE_STRING_BITMAPS
CXXFLAGS += -DREHEX_CACHE_STRING_BITMAPS
-# Botan 3 requires C++20
-BOTAN_PKG := botan-3
-CXXSTD := -std=c++20
-
include Makefile
DISTDIR ?= rehex-$(VERSION)
diff --git a/tools/mac-build-dependencies.sh b/tools/mac-build-dependencies.sh
index 10547961..f411fa7f 100755
--- a/tools/mac-build-dependencies.sh
+++ b/tools/mac-build-dependencies.sh
@@ -473,6 +473,7 @@ You can now build rehex using \`make -f Makefile.osx\` in this shell.
The dependencies have been cached and won't be rebuilt if you source this
script again.
EOF
+ export BOTAN_PKG="botan-2" # used to determine required -std= for C++
export BOTAN_LIBS="-L${_rehex_botan_target_dir}/lib/ -lbotan-2"
export BOTAN_CFLAGS="-I${_rehex_botan_target_dir}/include/botan-2/"

3
rehex-0.62.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cb85250edc99b0d84801fab0b3f88e3add78927cd56798b84c645c3e6d9f7618
size 4924751

305
rehex.changes Normal file
View File

@ -0,0 +1,305 @@
-------------------------------------------------------------------
Wed Aug 7 05:45:43 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
- build with Botan 3 on Tumbleweed
add rehex-0.62.1-Build-with-Botan-3.patch from upstream
-------------------------------------------------------------------
Thu Jul 25 05:25:48 UTC 2024 - Michael Vetter <mvetter@suse.com>
- Update to 0.62.1:
* Fix crashes in x86 Windows build on older CPUs.
-------------------------------------------------------------------
Mon Jul 22 08:23:38 UTC 2024 - Michael Vetter <mvetter@suse.com>
- Update to 0.62.0:
* This release includes changes and new features to assist editing
of sub-byte-width values and non-byte-aligned values in files:
+ Add bit array data type (#167).
+ Allow selecting and setting comments/highlights/types on
bit-sized/aligned quantities, not just byte-aligned (#155).
+ Allow defining arbitrary integer types, up to 64 bits wide (#215).
+ Allow navigating hex data by nibbles rather than bytes (#58).
* There are also improvements to the highlighting feature, and general usability improvements:
+ Allow colouring data by byte value (#223).
+ Allow changing/defining custom highlight colours and assigning labels to them (#227).
+ Use dimmer highlight colours for dark colour schemes (#227).
+ Save highlight colours/labels per-file (#60).
+ Allow changing keyboard shortcuts (#226).
+ Add Shift+Enter shortcut for "OK" in the comment dialog (#226).
+ Display offset in both decimal and hexadecimal in status bar (#228).
+ Fix handling of relative paths specified on the command line when
opening in an existing instance (#237).
-------------------------------------------------------------------
Thu Mar 14 06:10:52 UTC 2024 - Michael Vetter <mvetter@suse.com>
- Update to 0.61.0:
* Fix data being displayed from the wrong point in the file when
"Collapse matches" is enabled in the file comparison window.
-------------------------------------------------------------------
Thu Feb 15 07:55:57 UTC 2024 - Michael Vetter <mvetter@suse.com>
- Update to 0.61.0:
* Permit trailing commas in template enum definitions (#216).
* Add overwrite/insert toggle to "Fill range" dialog (#213).
* Add copy/export context menu commands to strings tool (#210).
* Fix temporary hang in strings tool when processing large files (#217).
* Fix settings not being saved during application exit.
* Batch comments panel updates to improve responsiveness (#205).
* Add search field to comments panel (#204).
* Add bit editor tool.
* Add checksum tool (#219).
* Add options to search for floating point values.
* Don't reload files modified externally when requested not to.
* Start search when Enter is pressed in search dialog input field,
or search backwards when Shift+Enter is pressed.
* Add "Reload automatically" toggle to "File" menu to automatically
reload the file when modified externally (and not in the editor) (#222).
* Preserve scroll position when reloading file.
-------------------------------------------------------------------
Mon Jul 31 06:17:56 UTC 2023 - Michael Vetter <mvetter@suse.com>
- Update to 0.60.1:
New features:
* Add data histogram tool (#140).
* Monitor for open files being externally modified and allow
reloading (#124).
* Add "Delete comment and children" context menu command to
delete a comment and any comments encapsulated by it (#198).
* Allow dragging tabs between windows or out to new ones.
Quality of life improvements:
* Use virtual offsets in "Select range" dialog.
* Don't re-open files to save when there are no changes (#193).
* Improve performance when large numbers of comments are defined.
* Open original file when passed a rehex-meta file on the command line (#207).
Character set handling:
* Add <charset = "XXX"> syntax to templates (#184).
* Add character set option to text search (#182, #200).
* Add IBM codepage 866 and Windows-1251 (#208).
Binary templates:
* Expose current array index as ArrayIndex when expanding arrays
of structs in templates (#191).
* Fix true/false not being usable inside template functions/structs (#197).
* Add new ReadString(), SPrintf(), SetComment(), StringLengthBytes(),
ArrayPush(), ArrayPop() and OffsetOf() template function.
* Fix repeated execution of the same switch() block in a template (#202).
* Add 'private' variables to template language.
* Fix template format strings that expand to further format tokens.
* Fix template error when converting a float to an int.
* Remember recently selected templates (#183).
* Implement lexical variable scoping in templates and allow functions
to access global variables defined above them (#190).
* Add "Apply template from cursor" option to binary template tool.
Bug fixes:
* Fix crash when running rehex for the first time on some systems (#194).
* Correctly draw insert cursor over highlighted data and at the end of the file (#196).
* Fix cases where the strings tool would appear to run forever with an empty file.
* Remove strings from the strings panel when they are deleted from the file.
* Fix crash when attempting to open a directory/bundle on macOS.
-------------------------------------------------------------------
Fri Nov 4 13:21:23 UTC 2022 - Dominique Leuenberger <dimstar@opensuse.org>
- Use the default lua version (currently 5.4): buildrequire
lua-busted instead of lua53-busted, which then fails to run
against the default lua interpreter.
See also boo#1199151
-------------------------------------------------------------------
Mon Oct 24 10:40:15 UTC 2022 - Michael Vetter <mvetter@suse.com>
- Update to 0.5.4:
* Allow passing arguments to structs created via ArrayResize()
and ArrayExtend() template functions.
* Fix parsing of whitespace in template array dereference (#175).
* Display offsets in comments panel (#165).
* Improve performance of templates that declare many (thousands+)
of variables in the file.
* Add Error() function for templates (#186).
* Fix crash when attempting to use string as a file variable
in templates (#185).
* Add plugin for annotating pcap files.
-------------------------------------------------------------------
Sun Jun 26 09:42:21 UTC 2022 - Michael Vetter <mvetter@suse.com>
- Update to 0.5.3:
* Correctly nest comments when updating comments panel (#169).
* Update text in comments panel when a comment is modified.
* Fix display of >4GiB virtual offsets in files that are <=4GiB (#170).
* Add support for code page 437 (IBM) and 932/936/949/950 (Microsoft).
* Fix handling of multibyte character boundaries in document view.
* Draw wide characters in document view (#173).
* Move forwards/backwards and select whole instructions from disassembly in document view.
* Don't capture tab key press in text area of document view.
* Add missing error checks.
* Add number base option to "Jump to offset" dialog.
* Drawing optimisations (improves responsiveness), particularly on macOS.
* Fix some undefined behaviour issues.
-------------------------------------------------------------------
Sat Jun 25 10:14:27 UTC 2022 - Michael Vetter <mvetter@suse.com>
- Update to 0.5.2:
* Fix integer overflow issue.
-------------------------------------------------------------------
Fri Apr 29 19:13:11 UTC 2022 - Michael Vetter <mvetter@suse.com>
- Update to 0.5.1:
* Only macOS related changes
-------------------------------------------------------------------
Mon Apr 25 08:16:32 UTC 2022 - Michael Vetter <mvetter@suse.com>
- Update to 0.5.0:
* Added "x86 disassembly syntax" to "View" menu to allow selecting
between Intel or AT&T notation for x86 disassembly (#142).
* Handle file open message used for "Open With" on macOS (#144).
* Added --compare switch to jump straight into comparing two files (#141).
* Fix timer leak that can cause a crash when closing the compare
window or strings panel.
* Add import and export functions for Intel Hex files (#102).
* Add online help (#147).
* Add Bitmap Data Visualisation tool (#29).
* Add Binary Template support (#138).
* Save new files without the execute bit set (#154
* Include highlight colour names in context menu (#153
* Save write protect setting in rehex-meta.json (#143).
* Fix several occasional crashes.
-------------------------------------------------------------------
Fri Jan 7 14:01:23 UTC 2022 - Michael Vetter <mvetter@suse.com>
- Update to 0.4.1:
* Fix text rendering glitches that can occur when displaying
control characters and some Unicode ones, depending which font
is in use (worst affected is the default Windows font).
-------------------------------------------------------------------
Fri Jan 7 14:00:22 UTC 2022 - Michael Vetter <mvetter@suse.com>
- Update to 0.4.0:
* Add data types for common text encodings (Unicode, ISO-8859)
text displayed or typed into the text view on the right will
be decoded or encoded appropriately (#10).
* Treat pasted text as text rather than a string of raw bytes.
* Add 8-bit integer data types.
* Don't mark new files as unsaved.
* Store cursor position history and allow jumping backwards/forwards (#81).
* Allow jumping to previous/next difference in data compare window (#131).
* Collapse long ranges of identical data in data compare window (#85).
* Added "Jump to offset in main window" to data compare window context menu.
* Added shortcuts for comparing data (#103).
* Add support for other encodings to strings tool (#106).
* Add write protect flag to prevent accidental changes to file
data during analysis (#130).
* Respect system cursor blink speed setting (#112).
-------------------------------------------------------------------
Thu Aug 26 16:28:32 UTC 2021 - Michael Vetter <mvetter@suse.com>
- Update to 0.3.92:
* Reduce persistent memory usage (#52).
* Fully undo virtual mapping changes in one step (#126).
* Fix build dependency errors (#129).
* Add "Find previous" button to search dialogs (#111).
* Fix hard-to-see colours in "Decode values" panel on some
systems (#127).
* Fix build errors on FreeBSD (#133).
* Prevent document from jumping around when the window is resized
or disassembly is in progress (#132).
* Fix build errors when using wxWidgets 3.1.5 and newer.
* Refactor selection handling to make sense in virtual
section view (#125).
* Add font face setting to "View" menu (#128).
* Correctly track whether files have been modified
since saving (#122).
-------------------------------------------------------------------
Thu Jun 24 11:06:25 UTC 2021 - Luigi Baldoni <aloisio@gmx.com>
- Fix Factory build
-------------------------------------------------------------------
Fri May 7 11:46:38 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 0.3.91
* Show disassembly of machine code in the main document view
* Add float/double types to "Set data type" menu
* Initial support for Lua plugins.
* Process sections from PE EXE/DLL headers
* Virtual segment mapping and display
- Use optflags
-------------------------------------------------------------------
Fri Nov 13 22:41:17 UTC 2020 - Michael Vetter <mvetter@suse.com>
- Update to 0.3.1 (2020-11-13)
* Correctly display signed 16-bit values in "Decode values" panel.
* Fix status bar offset going out of sync.
* Move cursor when a row in the "Comments" panel is double clicked.
* Focus document after updating position/selection via "Comments"
panel.
-------------------------------------------------------------------
Wed Nov 11 15:04:28 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
Version 0.3.0 (2020-11-10)
* Use byte grouping setting from main window in diff window.
* Use Capstone disassembler rather than LLVM.
* Support disassembling 16-bit x86 machine code.
* Don't update tools which aren't visible.
* Unhardcode linux launcher icon file type.
* Fix an uncommon use-after-free crash when closing tabs in
diff window.
* Support for disassembling 6800/68000 and MOS6502 instruction
sets (requires recent Capstone version).
* Close document when tab is clicked with middle mouse button.
* Don't create .rehex-meta files when there is nothing to save.
* Implement Strings tool to find and list ASCII strings in the
file.
* Add option to calculate automatic bytes per line in whole
byte groups.
* Add "Fill range" tool for overwriting ranges of bytes with a
pattern.
* Preserve column alignment after comments.
* Mark a document dirty if highlighting is changed.
* Add data type annotations.
* Show ranges marked as integers in their decoded form in the
hex view.
* Performance improvements for documents with large numbers of
comments.
version 0.2.0:
* Allow copying comments from a document and pasting them
elsewhere in the same document or into another one.
* Fixed bounds check when clicking on nested comments in a
document.
* Added context menu when right clicking on a comment in a
document.
* Optionally highlight byte sequences which match the current
selection. ("Highlight data matching selection" or
"PatternMatchHighlight").
* Allow copying cursor offset from document context menu.
* Correctly display offsets over 4GiB in the status bar.
* Display offsets as XXXX:XXXX rather than XXXXXXXX:XXXXXXXX
when the file size is under 4GiB.
* Add per-document option for dec/hex offset display.
* When first byte after a comment is deleted, show that the
comment was deleted rather than leaving phantom comment on
screen until regions are repopulated.
* Add side-by-side comparison of chunks of data from files.
Select data and choose "Compare..." from context menu to
open diff window.
* Clean up search threads when a tab is closed while a search
is running.
* Display bytes which have been modified since the file was
saved in red.
-------------------------------------------------------------------
Fri Mar 13 12:58:03 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Initial package (v0.1.0)

85
rehex.spec Normal file
View File

@ -0,0 +1,85 @@
#
# spec file for package rehex
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: rehex
Version: 0.62.1
Release: 0
Summary: Reverse Engineers' Hex Editor
License: GPL-2.0-only
URL: https://github.com/solemnwarning/rehex
Source0: https://github.com/solemnwarning/rehex/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
Patch0: rehex-0.62.1-Build-with-Botan-3.patch
BuildRequires: dos2unix
BuildRequires: gcc-c++
BuildRequires: hicolor-icon-theme
BuildRequires: libunistring-devel
BuildRequires: lua-busted
BuildRequires: perl-Template-GD
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: zip
BuildRequires: pkgconfig(capstone)
BuildRequires: pkgconfig(jansson)
BuildRequires: pkgconfig(lua)
%if 0%{?suse_version} > 1600
BuildRequires: pkgconfig(botan-3)
%else
BuildRequires: pkgconfig(botan-2)
%endif
%if 0%{?suse_version} > 1500
BuildRequires: wxWidgets-3_0-devel
%else
BuildRequires: wxWidgets-devel
%endif
%description
A hex heditor with a number of features for analysing and annotating
binary file formats.
Current features include:
Large file support (tested up to 1 TiB)
Decoding of integer/floating point value types
Disassembly of machine code
Highlighting and annotation of ranges of bytes
%prep
%autosetup -p1
dos2unix README.md
%build
export CFLAGS="%{optflags}"
export CXXFLAGS="$CFLAGS"
%make_build prefix=%{_prefix} libdir=%{_libdir}
%install
%make_install prefix=%{_prefix} libdir=%{_libdir}
%suse_update_desktop_file -r %{name} "Development;Debugger;"
%files
%license LICENSE.txt
%doc README.md
%{_bindir}/%{name}
%{_libdir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%dir %{_datadir}/rehex
%{_datadir}/rehex/rehex.htb
%changelog