From patchwork Sun May 28 12:56:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hilton Chain X-Patchwork-Id: 50386 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 01EB827BBEA; Sun, 28 May 2023 13:58:22 +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 DEE9827BBE2 for ; Sun, 28 May 2023 13:58:20 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q3Fxz-0004ZC-K0; Sun, 28 May 2023 08:57:47 -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 1q3Fxd-0004Vi-F5 for guix-patches@gnu.org; Sun, 28 May 2023 08:57:31 -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 1q3FxI-000271-LT for guix-patches@gnu.org; Sun, 28 May 2023 08:57:24 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q3FxI-00015G-H8 for guix-patches@gnu.org; Sun, 28 May 2023 08:57:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#63765] [PATCH v2 8/8] gnu: python-lief: Update to 0.13.1. Resent-From: Hilton Chain Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 28 May 2023 12:57: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 Received: via spool by 63765-submit@debbugs.gnu.org id=B63765.16852786124088 (code B ref 63765); Sun, 28 May 2023 12:57:04 +0000 Received: (at 63765) by debbugs.gnu.org; 28 May 2023 12:56:52 +0000 Received: from localhost ([127.0.0.1]:53579 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q3Fx5-00013q-FN for submit@debbugs.gnu.org; Sun, 28 May 2023 08:56:52 -0400 Received: from mail.boiledscript.com ([144.168.59.46]:48734) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q3Fwv-00013F-O8 for 63765@debbugs.gnu.org; Sun, 28 May 2023 08:56:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ultrarare.space; s=dkim; t=1685278470; 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=MquNUVZ3uEoTinjDKyDozgEUuwOIMKwo4uy0g2liNxk=; b=v+fJRvzZFXWzcrzlf+nBcbpxQafAfiezN65Wpnkvg82Go256KGfIgcH0dXO/0SDsUWeIfy INq0gC3ipILS0H46/tSUj6eFvOKcP8CgHitjshQonFVl7M74J5UxesMBMx0gWLzcIG5sge GkbFPXaWbm6VcyvOvAW5nlfrheg73YvpQr30s0B/PmPXx80jwuTdu0yPUIC+Kct9iZ5QX/ TjoWqfMLDdNrs+Ne9MiitVcMOlghTHk4ohiBfIQna08/3re9ulF5KJYTSr3zdJ4aQUsHaq vOeS8E2ZrAR2cMRSeoy6IMq74XwzCmGxEj60yiZs2ZxBQZyIK33XZZo50a0uaQ== Date: Sun, 28 May 2023 20:56:13 +0800 Message-Id: <20230528125613.9423-8-hako@ultrarare.space> In-Reply-To: <20230528125613.9423-1-hako@ultrarare.space> References: <20230528125423.9240-1-hako@ultrarare.space> <20230528125613.9423-1-hako@ultrarare.space> 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.1. [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 f7e3f6f538..f46abaaf6c 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -208,6 +208,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) @@ -32815,29 +32816,94 @@ (define-public python-misskey (define-public python-lief (package (name "python-lief") - (version "0.12.3") + (version "0.13.1") (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)) + "0ms6zsb6mm6jys8nbfl2nml4l2y1zcgy26639adznj4n7b8n7lxk")))) + (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 @@ -32885,7 +32951,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