From patchwork Fri Jun 30 07:44:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hilton Chain X-Patchwork-Id: 51449 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 ADD1227BBEA; Fri, 30 Jun 2023 08:45:59 +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=-0.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FROM_SUSPICIOUS_NTLD,MAILING_LIST_MULTI,PDS_OTHER_BAD_TLD, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no 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 7D63827BBE2 for ; Fri, 30 Jun 2023 08:45:58 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qF8oz-0006iK-OX; Fri, 30 Jun 2023 03:45:39 -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 1qF8oV-0006QM-DV for guix-patches@gnu.org; Fri, 30 Jun 2023 03:45:08 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qF8oV-0001nA-4n for guix-patches@gnu.org; Fri, 30 Jun 2023 03:45:07 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qF8oS-0001Ux-37; Fri, 30 Jun 2023 03:45:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#63765] [PATCH v5 6/6] gnu: python-lief: Update to 0.13.2. Resent-From: Hilton Chain Original-Sender: "Debbugs-submit" Resent-CC: lars@6xq.net, jgart@dismail.de, guix-patches@gnu.org Resent-Date: Fri, 30 Jun 2023 07:45:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63765 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 63765@debbugs.gnu.org Cc: Hilton Chain , Lars-Dominik Braun , jgart X-Debbugs-Original-Xcc: Lars-Dominik Braun , jgart Received: via spool by 63765-submit@debbugs.gnu.org id=B63765.16881110855677 (code B ref 63765); Fri, 30 Jun 2023 07:45:04 +0000 Received: (at 63765) by debbugs.gnu.org; 30 Jun 2023 07:44:45 +0000 Received: from localhost ([127.0.0.1]:54467 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qF8o9-0001TV-6H for submit@debbugs.gnu.org; Fri, 30 Jun 2023 03:44:45 -0400 Received: from mail.boiledscript.com ([144.168.59.46]:36596) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qF8o3-0001TK-NC for 63765@debbugs.gnu.org; Fri, 30 Jun 2023 03:44:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ultrarare.space; s=dkim; t=1688110871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rhe9/epdoDDD1NFEv0N1iuXSD7gukkYI4vNZK0xJElM=; b=RarTHkxFnQ1G1OW3rXMnsU/vVMgFip4FqmATy2i4iEWe2Ur0kOCbjTQVNTVntgxm22q5Jx FG7F4q9t4LK69sM/UG0MfthuDBV65mGTDkYcpuwocLtjxw4Nfe6kyvR6X/rZmtNo6AK+wu 25omWee+bBySGaqTtroL2GSdOHXOZAw0kR7i1eXPcacr8KNbtn8FDu/mQ6EgyRWzV3LH7T rQK58/dxfvwfx78knTObZKRWdhz2mv7NBKy4Scq51Q+iZpAJrqB+IgNgfDfrpDZn1Iqoca H6Gsi3xitpF0Rx8jz1CssqFud+2sfVurYpeoXTmX9eZBa/JIfCXUWdfOox7+Dg== Date: Fri, 30 Jun 2023 15:44:24 +0800 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Spamd-Bar: -- Authentication-Results: mail.boiledscript.com; auth=pass smtp.mailfrom=hako@ultrarare.space 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: , Reply-to: Hilton Chain X-ACL-Warn: , Hilton Chain via Guix-patches X-Patchwork-Original-From: Hilton Chain via Guix-patches via From: Hilton Chain 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/python-xyz.scm (python-lief): Update to 0.13.2. [snippet]: Unbundle third-party dependencies. [build-system]: Change to cmake-build-system [native-inputs]: Add python-minimal-wrapper, python-tomli. Remove cmake. [inputs]: Add frozen, mbedtls-apache, nlohmann-json, pybind11, utfcpp, spdlog. [outputs]: Add "python" output. [home-page]: Update homepage. (shrinkwrap)[inputs]: Replace python-lief to its "python" output. --- gnu/packages/python-xyz.scm | 96 +++++++++++++++++++++++++++++++------ 1 file changed, 81 insertions(+), 15 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c4105c4685..dc84a8f8bc 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -212,6 +212,7 @@ (define-module (gnu packages python-xyz) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) + #:use-module (gnu packages logging) #:use-module (gnu packages machine-learning) #:use-module (gnu packages man) #:use-module (gnu packages markup) @@ -33278,29 +33279,94 @@ (define-public python-misskey (define-public python-lief (package (name "python-lief") - (version "0.12.3") + (version "0.13.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/lief-project/LIEF") (commit version))) (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + '(begin + ;; Configure build for Python bindings. + (substitute* "api/python/config-default.toml" + (("(ninja = )true" all m) + (string-append m "false")) + (("(parallel-jobs = )0" all m) + (string-append m (number->string (parallel-job-count))))) + ;; Unbundle third-party dependencies. + (for-each delete-file + (find-files "third-party/" + (string-join '("spdlog" + "frozen" + "json" + "mbedtls" + "pybind11" + "utfcpp") + "|" ))) + ;; Same in argument #:configure-flags. + (substitute* "api/python/setup.py" + (("self\\._get_third_party_opt\\(\\)") + "[\"-DLIEF_EXTERNAL_SPDLOG=ON\", + \"-DLIEF_OPT_FROZEN_EXTERNAL=ON\", + \"-DLIEF_OPT_MBEDTLS_EXTERNAL=ON\", + \"-DLIEF_OPT_NLOHMANN_JSON_EXTERNAL=ON\", + \"-DLIEF_OPT_PYBIND11_EXTERNAL=ON\", + \"-DLIEF_OPT_UTFCPP_EXTERNAL=ON\"]")))) (sha256 (base32 - "11i6hqmcjh56y554kqhl61698n9v66j2qk1c1g63mv2w07h2z661")))) - (build-system python-build-system) - (native-inputs (list cmake)) + "0y48x358ppig5xp97ahcphfipx7cg9chldj2q5zrmn610fmi4zll")))) + (build-system cmake-build-system) (arguments - (list - #:tests? #f ;needs network - #:phases #~(modify-phases %standard-phases - (replace 'build - (lambda _ - (invoke - "python" "setup.py" "--sdk" "build" - (string-append - "-j" (number->string (parallel-job-count))))))))) - (home-page "https://github.com/lief-project/LIEF") + (list #:modules + '((guix build utils) + (guix build cmake-build-system) + ((guix build python-build-system) #:prefix python:)) + #:imported-modules + (append %cmake-build-system-modules + '((guix build python-build-system))) + #:configure-flags + #~'("-DCMAKE_LINK_WHAT_YOU_USE=ON" + "-DBUILD_SHARED_LIBS=ON" + "-DLIEF_INSTALL_COMPILED_EXAMPLES=ON" + "-DLIEF_TESTS=ON" + ;; Unbundle third-party dependencies + "-DLIEF_EXTERNAL_SPDLOG=ON" + "-DLIEF_OPT_FROZEN_EXTERNAL=ON" + "-DLIEF_OPT_MBEDTLS_EXTERNAL=ON" + "-DLIEF_OPT_NLOHMANN_JSON_EXTERNAL=ON" + "-DLIEF_OPT_PYBIND11_EXTERNAL=ON" + "-DLIEF_OPT_UTFCPP_EXTERNAL=ON") + #:phases + ;; Phases from python-build-system, for Python bindings. + #~(modify-phases %standard-phases + (add-after 'install 'chdir + (lambda _ + (chdir "../source/api/python/"))) + (add-after 'chdir 'ensure-no-mtimes-pre-1980 + (assoc-ref python:%standard-phases 'ensure-no-mtimes-pre-1980)) + (add-after 'ensure-no-mtimes-pre-1980 'enable-bytecode-determinism + (assoc-ref python:%standard-phases 'enable-bytecode-determinism)) + (add-after 'enable-bytecode-determinism 'ensure-no-cythonized-files + (assoc-ref python:%standard-phases 'ensure-no-cythonized-files)) + (add-after 'ensure-no-cythonized-files 'python-install + (lambda* (#:key inputs outputs #:allow-other-keys) + ((assoc-ref python:%standard-phases 'install) + #:inputs inputs + #:outputs outputs + #:configure-flags '() + #:use-setuptools? #t))) + (add-after 'python-install 'add-install-to-pythonpath + (assoc-ref python:%standard-phases 'add-install-to-pythonpath)) + (add-after 'add-install-to-pythonpath 'add-install-to-path + (assoc-ref python:%standard-phases 'add-install-to-path)) + (add-after 'add-install-to-path 'python-wrap + (assoc-ref python:%standard-phases 'wrap))))) + (native-inputs (list python-minimal-wrapper python-tomli)) + (inputs (list frozen mbedtls-apache nlohmann-json pybind11 utfcpp spdlog)) + (outputs '("out" "python")) + (home-page "https://lief-project.github.io/") (synopsis "Library to instrument executable formats") (description "@code{python-lief} is a cross platform library which can parse, modify @@ -33348,7 +33414,7 @@ (define-public shrinkwrap python-poetry-core python-pypa-build python-pytest)) - (inputs (list python-lief python-sh)) + (inputs (list `(,python-lief "python") python-sh)) (home-page "https://github.com/fzakaria/shrinkwrap") (synopsis "Emboss needed dependencies on the top level executable") (description