From patchwork Mon Aug 26 22:01:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Sergio_Pastor_P=C3=A9rez?= X-Patchwork-Id: 30359 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9AFB227BBEA; Mon, 26 Aug 2024 23:06:03 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_VALIDITY_CERTIFIED, RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id A153F27BBE2 for ; Mon, 26 Aug 2024 23:06:01 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sihq1-00081V-Dc; Mon, 26 Aug 2024 18:05:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sihpp-0007zq-CL for guix-patches@gnu.org; Mon, 26 Aug 2024 18:05:14 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sihpp-0000MO-0f for guix-patches@gnu.org; Mon, 26 Aug 2024 18:05:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=V78EU2/Rxwl6mcNAJ3eOxk3t2MpLqs+Bh8EoT9tnPHM=; b=IITtLv5J2zwREhe8dlTrFMWg9OqD6icg3yWRuaVOM3Mu227oRv6MfnbsTO0FqRftE++RVSJQwzYhUegigb1I1DClOr5IA6R1lB1nZNfYfxgzV0D3kmXKRO1Uc1ZWi2sTaTeDxSz+ysuXhlIoAn/IvO0FVGmD6yGxMfRS51RQIHI22UJlvG+HLak3LoH4H0TqSE8oHesrRbNreRe0rbsytPWtFJNR9UIe3NqSaNRVrXq8dQYjMJ4S4C1VViBP2EK1xk6liKevFfebKsNWft/BYVBLDhsp4hNnq2cwOwGw2l41VQmIVzYcCoUU66/RgSRtANob8Pa1G41t64O23uFoTg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sihqe-00032p-OD for guix-patches@gnu.org; Mon, 26 Aug 2024 18:06:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#67755] [PATCH v4 8/8] gnu: Add imhex. Resent-From: Sergio Pastor =?utf-8?b?UMOpcmV6?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 26 Aug 2024 22:06:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67755 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 67755@debbugs.gnu.org Cc: Sergio Pastor =?utf-8?b?UMOpcmV6?= Received: via spool by 67755-submit@debbugs.gnu.org id=B67755.172470990911571 (code B ref 67755); Mon, 26 Aug 2024 22:06:04 +0000 Received: (at 67755) by debbugs.gnu.org; 26 Aug 2024 22:05:09 +0000 Received: from localhost ([127.0.0.1]:45358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sihpl-00030T-5C for submit@debbugs.gnu.org; Mon, 26 Aug 2024 18:05:09 -0400 Received: from mail-am7eur03olkn2085.outbound.protection.outlook.com ([40.92.59.85]:11584 helo=EUR03-AM7-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sihpg-0002ya-01 for 67755@debbugs.gnu.org; Mon, 26 Aug 2024 18:05:04 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sujbfb7FE1graxquMb3v9/8uwCCI3/Z5Lo9do0YsFNMfGyQclTsD8hGpMxkx1e6GhP1QpdMqYTgeqIsQM6WszMmrxBh49OOwHYyltEg54ikLBj/eU9efltfXVdWESG6b7VjunfpY9oPiP/g5RpzawKTw+899ELwss6RZCFLbIzpoWTISaJ4paLt5yViWL/xRzeXjhrl0erRkbx/c5iB37oJfD9JO9JCAymD8r4eb3fp6n8cKsoNZ4qcjVbqDlzbMrSd48WIEJitrLLt/+coBkDG/S4CmMtMugpWuh+a9QrclpwiK2LvbsNZZ4hJfsg0oDAydsTqVnTY9Lky3uNZVkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=V78EU2/Rxwl6mcNAJ3eOxk3t2MpLqs+Bh8EoT9tnPHM=; b=mmKWdCJYbk65vk75QByTOUpauMDIL5/LBnEmClc+1nsJx8sh0OPglLkUwI8021riZicg8w89szE6tGN/4avqjnkjvE3IS82VRnrjFSKPwMa3P9MXnftTD+q5WzJtRps+iQJrnXG/sXkY827rFCphKZ3hGbaoTB0gdy7HN/aJYQ5WbBGpHURdHxJNNr+6kLuZYqbA2RNEuHMnZtFAT8REMvf4S1JhTr3ZDUXAc/l7MsfNfklEospHv9wkGK4MqCMFIJ55SSZfND8QYB7jEuWC5vs+adl4ZFpRPmnbT5/+jLalnmeZkpTRnWG64MoFoGvg8t4WxdnxBuWQxWn4nGlXcQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=OUTLOOK.ES; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=V78EU2/Rxwl6mcNAJ3eOxk3t2MpLqs+Bh8EoT9tnPHM=; b=GL8ToKQ7vKclIlS8aVqYUtX36tAkD4PLEkxIsk0cttKLe/w39T9IXv/+l4YFJ6Kqq/eYTfGzZQRhz6DIz8EhcHhqDHh0Z+EtkI/+Hq9lYoSgZk8UjeblGlZIce6SWdIb6oi9xIU4RYlalgBSXooJwpQ5HBd58e7w30b/IKuzDzgsqwGKwFwU8frA7zqBUvfK4zZLmhwnS6kUEGh+1XVHBwJaIpoLF9CQHAfJ5HhkMWHbKSVJdhpE4dW/9VMCd94UG8ToQ5VrADTVszgE1HqCAkK7RIYBSFejAQW3xPx0SCURZRJRDRk1o6OEZ2dPGMyEnrnv6Yjg1YlPZlH1Iu5yTA== Received: from PAXP251MB0348.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:20b::10) by AS4P251MB0561.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:4bb::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7897.25; Mon, 26 Aug 2024 22:04:01 +0000 Received: from PAXP251MB0348.EURP251.PROD.OUTLOOK.COM ([fe80::1f4f:1f6b:1817:f03f]) by PAXP251MB0348.EURP251.PROD.OUTLOOK.COM ([fe80::1f4f:1f6b:1817:f03f%7]) with mapi id 15.20.7897.021; Mon, 26 Aug 2024 22:04:01 +0000 From: Sergio Pastor =?utf-8?b?UMOpcmV6?= Date: Tue, 27 Aug 2024 00:01:10 +0200 Message-ID: X-Mailer: git-send-email 2.45.2 In-Reply-To: <01e5d15a71a605dd55df3cac5b7d30e15520f8ea.1724709670.git.sergio.pastorperez@outlook.es> References: <01e5d15a71a605dd55df3cac5b7d30e15520f8ea.1724709670.git.sergio.pastorperez@outlook.es> X-TMN: [gMg2ZpJJJBHogn7ARTK6EdiEeGwi5DkH] X-ClientProxiedBy: MA3P292CA0006.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250:2c::14) To PAXP251MB0348.EURP251.PROD.OUTLOOK.COM (2603:10a6:102:20b::10) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXP251MB0348:EE_|AS4P251MB0561:EE_ X-MS-Office365-Filtering-Correlation-Id: ef7c1be3-e609-4bed-6379-08dcc61afe29 X-Microsoft-Antispam: BCL:0; ARA:14566002|15080799006|461199028|5072599009|19110799003|8060799006|1602099012|440099028|4302099013|3412199025|1710799026; X-Microsoft-Antispam-Message-Info: HUt3JzLvYImHOO2z2XVTUgbSqBxC4zaYlF3NqbmYogZTJLUomKTO3gj23KaHCXx99jyWZqpLyHMc4XW5j7teogSMRF8kvWbyJZAKEWsPBibNwiENhFWINtA28yeniuJOLzhaIolgbAZLVn+RLMUaORRyIBcvzzPO80oUwzmZ1YW00j2/VoLKeWJ5v7T8II1uBHcOgWwqtYDcEXCkwO1GRnseuN8CF1aDGeslC+UXA6CAPH76juceMT3QliOUhNrs57UE8YFueOgMDm0Z8FOGSVVjHwYPR/RVx7C2ZWExEsF6Dvf/rvcmvnj4neGvoV4cvjJAnRrRbNcyEza0jvG2w4zgVrJjBqiAu62Jo9kVApITJhFseMBayGZykACR1VY0P3VPRAy8msi1q5pY8NudJL2BHFmILx3vhOJChokNpSz35jIkIidCTsZoqcVP/nMoK4kByXfgsMOMl4Mr9qTtrGvuyKjoRGwOCoqCYXRoZJqidxUib1CDebdv+it2H6OnyZR8+fwYkU7i0GvakxwxZOlGib+UXN1i4x1VckBDfWOiI7c947WBX+Ww1cTu3sC3o/P/Nw7003LGqAo3sVL4tGM2k8VDj/W5p15I4eRRRmWx3mZwSXIkXxAZN510K9SSq7PK//k67G8FT4sFSxIBWrBg98dVeGW2oxNLOzQDM13J1W66xmqnIbGjqdqt1/8R4548ucANA/yqEdXo2jvPvrF+lyXCAdzm26rbG0Em18D8AV7adkTcOKW3vcMVPh5BuVcHlCQ6A5NX9I0DzgdDgvgYIJll80fuQXZEJbPp4QoYCGKl2GahuB72FZDmjB26pprhkrN4OW5UuX9Sfj7J/w== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 957C+6/wkCFO07J8kBOTLo8e9xeaoI2b8kfsC2iFL1r8H6y59CCz8IqDePtfpTGqZqeiGfVspZgV7dgZP1srwTS3jyqB26tuY/W/MYmF0eAHEKzeAF2EySqBKDdi2oj8zGBt/H4BqcV8wHoYLvLc2xVzf5s0NxJevVWWPvAC0C3VEJ67Q8rqZRfFw/eVR+BGrIdmcTy83d032SOKf1QGGrr49bceV1zJ6W+/Xph/Yd7sVMGMpmegIODMkoyz7RUIhS+Lk+SbUTdyjxz4HvPPvQbQbxtDqjHSzx6j7vyQ7i6EauCLiaTOKvRF4bdRI/dxO0g/7WYNIQHEcFd6IMP7Um1+BByyAd8FLJtUFEz0C2DSmu+hxFxSHnIHCBFVj7tGcCznYqWS1LMEyccJLLnYPTML2Qt8n5bL2Glnra2hBx7vlTIjyICoXnUtyO1qi3FbrM+fn1ZJfKVJ0G/WT/9Rnkh6BIoomxmhH/RJ3wW3gu+xl+0RdpjLH07TnFCJGVMDS7oawovMz9/WqUqFyOi0FJytPpVoeUX59QdcXgC2GPcCLx8TEhfFPubaewH4rsDQr8revzcNcP2+eCNKZjEZxRkN1Tl4k/DT6Tb5TC+GviuKNIkOYlx74e50odiiy4FR28hrPfcRThxMzGG22JkJZ3hA04Jw/l7jRYHngESjRsaPFeB7Pwtj7ocXzuB5FBKpa/PD2bS7EJ7EtpClGTAvGRD1oL4qCKFYcPVYRDqSTV2glBrU9uGYVjpok0v4k5vuufsPlysOGKPwZJn3aLJ6oxGK/z8WdSKvNBMjV+wtaM9217v0sPTrRftoUWf3sdPQ7LVi9VBIj8xoDi0bLJbe1FJ6S/746V7QscmWk6p5ZqSVruY3UJuD6vGqOlS2vgPlFGM53ngV3UqArXPlY99uvSbqZCywXjWCWo6bhp3Sk8oXtjhc+GLhq1vtzfbmZbqXQkjI5LuYupzGPIE+sRm6ixRf+vELgDUXb5QI/2/2ODJ8mkc8bYb53LNXc3tPCGkcvp4KWuPVTxTbg9cUMoGYY6WUhjqwpqH/qG0pRycTy0aqPC0JMAfM7gMKEDD09xmOWnGnJk5NINYjvBdmxHGcOw3cgvi9P17pT3AVcw3z1r5KQcSildba+P8EdZ2v7ZFCO5u/WOMxJkmvxu9ZPtnQOPbZIEJWbzE+VXag1bBBd2uXzhVxXW6tjErYOCcszBomxYqfRcG/SVT2uoBA71MeN6IJ4IQZoM7ppSt9tajoGVlr24bPPaRM318qyoV8uIIt X-OriginatorOrg: sct-15-20-7741-18-msonline-outlook-53ebb.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: ef7c1be3-e609-4bed-6379-08dcc61afe29 X-MS-Exchange-CrossTenant-AuthSource: PAXP251MB0348.EURP251.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2024 22:04:01.7211 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4P251MB0561 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/hexedit.scm (imhex): New variable. Change-Id: I114d3a6c0dae32ea434a77a6bd88b8ff6870b70c --- gnu/packages/hexedit.scm | 151 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) diff --git a/gnu/packages/hexedit.scm b/gnu/packages/hexedit.scm index e5f58fcce0..0eb551b54e 100644 --- a/gnu/packages/hexedit.scm +++ b/gnu/packages/hexedit.scm @@ -27,11 +27,24 @@ (define-module (gnu packages hexedit) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages compression) + #:use-module (gnu packages gl) #:use-module (gnu packages man) #:use-module (gnu packages cpp) #:use-module (gnu packages gcc) + #:use-module (gnu packages tls) + #:use-module (gnu packages curl) + #:use-module (gnu packages llvm) + #:use-module (gnu packages ruby) + #:use-module (gnu packages glib) + #:use-module (gnu packages boost) + #:use-module (gnu packages backup) #:use-module (gnu packages python) + #:use-module (gnu packages libffi) #:use-module (gnu packages ncurses) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages engineering) + #:use-module (gnu packages pretty-print) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) @@ -166,6 +179,144 @@ (define-public imhex-pattern-language (description "The Pattern Language used by the ImHex Hex Editor.") (license license:lgpl2.1))) +(define-public imhex + (package + (name "imhex") + (version "1.35.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/WerWolv/ImHex") + (commit (string-append "v" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gi5772w0fzgr1w403ckq2mkwiyvcxv08frs2fjr2hlc8hb6c2p9")) + (snippet + #~(begin + (use-modules (guix build utils)) + (define (delete-files-from-list-recursively . args) + (for-each (lambda (path) + (delete-file-recursively path)) + args)) + + (define (replace-files-from-list-recursively lst) + (for-each + (lambda (elt) + (delete-file-recursively (cdr elt)) + (copy-recursively (car elt) (cdr elt))) + lst)) + + ;; NOTE: `libwolf' does not have an install target. Until the + ;; maintainers create one, it will remain bundled. + ;; NOTE: `libromfs' it's meant to be bundled and cannot be compiled + ;; independently. Until the maintainers support building it + ;; independently, it will remain bundled. + ;; NOTE: `imhex-pattern-language' it's meant to be bundled and + ;; cannot be linked independently. Until the maintainers support + ;; linking it independently, it's source will be replaced in-tree. + (replace-files-from-list-recursively + `((#$(package-source imhex-pattern-language) + . "lib/external/pattern_language"))) + ;; NOTE: `hashlibplus' has been left as a submodule since it's a fork + ;; which only makes sense within ImHex. + (with-directory-excursion "lib/third_party" + (delete-files-from-list-recursively + "nlohmann_json" "capstone" "llvm-demangle" "fmt" "nativefiledialog" + ;; NOTE: for versions above c++20 it is not required. + "jthread/jthread") + (replace-files-from-list-recursively + `((#$(package-source lunasvg) . "lunasvg") + (#$(package-source xdgpp) . "xdgpp") + (#$(file-append miniaudio "/include/miniaudio.h") + . "miniaudio/include/miniaudio.h")))))))) + (build-system cmake-build-system) + (arguments + (list + ;; NOTE: there is an issue with the way the test library is linked with + ;; the output binaries. Tests are intrusive and should not be shipped + ;; with the release, when the issue is fixed we could add a phase which + ;; builds the package with the tests and runs the testsuite and a second + ;; build phase which prepares the output binary. + #:configure-flags + ''("-DIMHEX_OFFLINE_BUILD=ON" + "-DIMHEX_ENABLE_UNIT_TESTS=ON" + ;; NOTE: required for the `validate-runpath' phase. + ;; If OFF, the pluggings won't be able to find `libimhex.so'. + "-DIMHEX_PLUGIN_ADD_INSTALL_PREFIX_TO_RPATH=ON" + + "-DUSE_SYSTEM_NLOHMANN_JSON=ON" + "-DUSE_SYSTEM_CAPSTONE=ON" + "-DUSE_SYSTEM_CLI11=ON" + "-DUSE_SYSTEM_LLVM=ON" + "-DUSE_SYSTEM_FMT=ON" + + "-DUSE_SYSTEM_BOOST=ON" + "-DUSE_SYSTEM_EDLIB=ON" + "-DUSE_SYSTEM_NFD=ON" + + ;; NOTE: the build system doesn't correctly support + ;; locating these system libraries. Until fixed + ;; upstream, drop the sources where they are + ;; expected, this is done in the `' snippet. + "-DUSE_SYSTEM_MINIAUDIO=OFF" + "-DUSE_SYSTEM_LUNASVG=OFF" + + ;; TODO: package them. + "-DUSE_SYSTEM_YARA=OFF") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda _ + (substitute* "main/gui/source/window/linux_window.cpp" + (("dbus-send") + #$(file-append dbus "/bin/dbus-send"))) + (substitute* "cmake/build_helpers.cmake" + (("boost REQUIRED") + "Boost COMPONENTS regex REQUIRED") + (("boost::regex") + "Boost::regex")) + (substitute* "lib/libimhex/CMakeLists.txt" + (("boost") + "Boost")))) + (add-before 'check 'build-tests + (lambda _ + (invoke "make" "unit_tests")))))) + (native-inputs + (list cli11 + nlohmann-json + pkg-config + python + python-wrapper + ruby + gcc-14)) + (inputs + (list boost + capstone + curl + edlib + fmt + glfw + libarchive + libffi + llvm-17 + mbedtls + mesa + nativefiledialog-extended + xz + zlib + freetype)) + (home-page "https://imhex.werwolv.net") + (synopsis "Hex Editor to display, decode and analyze binary data") + (description "@command{imhex} is a hex editor with many advanced features +that can often only be found in paid applications. Such features are a +completely custom binary template and pattern language to decode and highlight +structures in the data, a graphical node-based data processor to pre-process +values before they're displayed, a disassembler, diffing support, bookmarks +and much much more.") + (license license:gpl2))) + (define-public bvi (package (name "bvi")