From unknown Sat Jun 21 12:16:01 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#63442] [PATCH] gnu: unicorn: Update to 2.0.1.post1. Resent-From: c4droid Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 May 2023 09:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 63442 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 63442@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.168379809318766 (code B ref -1); Thu, 11 May 2023 09:42:02 +0000 Received: (at submit) by debbugs.gnu.org; 11 May 2023 09:41:33 +0000 Received: from localhost ([127.0.0.1]:49750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1px2nl-0004sc-8X for submit@debbugs.gnu.org; Thu, 11 May 2023 05:41:33 -0400 Received: from lists.gnu.org ([209.51.188.17]:42830) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1px2nf-0004sP-CK for submit@debbugs.gnu.org; Thu, 11 May 2023 05:41:31 -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 1px2nd-0004D5-2o for guix-patches@gnu.org; Thu, 11 May 2023 05:41:25 -0400 Received: from out203-205-221-221.mail.qq.com ([203.205.221.221]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1px2nO-0004Ht-A5 for guix-patches@gnu.org; Thu, 11 May 2023 05:41:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1683798064; bh=GlICWR2UMUA5MG2XO75yJc8rlXYuYb+0RwmqmjsauSg=; h=Date:From:To:Subject; b=Py7aPtMRoaQbU6IJbR3gqPTsq06vlR2GMBub9+Y9N65W4qGIba5AjC2Q934PmCxoy DDOPiKWDLqAZEcyLrP8N9cMB62tSzTHVdbbDAgngqLesn3gIj2wyfhIKkNCSvjbeLl YTVMWU6AHfse8sZxexorcDbitQaYkBfPzF7do3Ws= Received: from Workstation ([113.200.58.194]) by newxmesmtplogicsvrsza12-0.qq.com (NewEsmtp) with SMTP id 9F7A4640; Thu, 11 May 2023 17:39:55 +0800 X-QQ-mid: xmsmtpt1683797995tjoa666sp Message-ID: X-QQ-XMAILINFO: NKv2G1wnhDBnlmyiugii+WyISp6pYwDsu6hlVDZart0RxS7iX8w3TSLIU0Mzkp T0s+rh9kRRRVM1GIcCd0QuvnnbvF9rPbNS0dwNCZUOqJYFbm/HqzedaqfxCm6s8cOXC20B4X2Xub zXaUUeu+yFC0licVz9N0MbAO2JxEXJEzEXue3M5H2gBq6/yEYuv/5O1Oy5NGjEvI02Z1nTh0ZmQr BJVxHU2Cr2bB/0nsysWJ8LWpo2siGoBEaseKDNQgNmv4sMsd2w0L5pVz/6V4PxL3/VJT4i0SXlSu WmugXbV69WZ4Ab1ckmM46+R4PLE/48J/6MxJfJUrX6KoaXiW7W9YE4Uqff4mmThMgHzBKZB2AvSc 5trX5xYNt6lG45h0Qwoj06fmGtqStE8ejmiEL1TqnsrwCBFo7umoU3DtuPNka6tQ7rMvNy6geFwr PG+nnzSgLFDYA/De+VuQc1BDeRvLNzWB27RbvbWRJ+pSTKxcXsBt48P+Ihn8AR9O93BZsDcN7Yh6 STSFG/Aj9hFnMsQd3wSKw3ytqEe4zkmqQVoodulmt5jAHhqy+0BSl9hVAooROrOnMhS5Bg3afE6v Tu/pvUxYbEz6DQcye+jo362MzodYo+GU5kxfjG5p9K87AY64pvpCjdLS6KaCbBTrIL5+pwEdVFkb xpbF8pZERbA0fyTAxdhPPTlaXpIo9EwUKGIaK88Jrm+gRZtioBRWIvCA05RUHEVj9WvFtbafxEpb /978t6PSrUBn0w3cTIjVmnkCteJLJDrhJ7HYhaDVc3FiYvtKmO4NDwmBk7buNU4KLt3iBjQU67zh tO/tGIIJ0hYHiUbmtSSv9oe1dC0VQM8EImuXzZNMsSZ1epQx33ZsGGlmTDC8+6Bu3HxZp8VFoYeH MF4M0/f7uacnMbNxtRDp/jdK8enfBJY4J3WmJ9k0TkGI3p25zsbcTKyG/ZdFAUOViRH918n6H9mf NvCo2FloIaUrkroZGtKg== Date: Thu, 11 May 2023 17:39:55 +0800 From: c4droid X-OQ-MSGID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="+9BBlqRbWeVSIh1V" Content-Disposition: inline Received-SPF: pass client-ip=203.205.221.221; envelope-from=c4droid@foxmail.com; helo=out203-205-221-221.mail.qq.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HELO_DYNAMIC_IPADDR=1.951, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RDNS_DYNAMIC=0.982, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --+9BBlqRbWeVSIh1V Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, Guix! I noticed unicorn is using pyproject now, so I update the unicorn definition in my guix fork, I tested it on my local machine it can be built successfully. --+9BBlqRbWeVSIh1V Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="update-unicorn.patch" diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 13b60223..cc33c107 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -59,6 +59,7 @@ (define-module (gnu packages emulators) #:use-module (gnu packages build-tools) #:use-module (gnu packages cdrom) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cross-base) #:use-module (gnu packages curl) @@ -111,7 +112,8 @@ (define-module (gnu packages emulators) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) - #:use-module (guix build-system python)) + #:use-module (guix build-system python) + #:use-module (guix build-system pyproject)) (define-public vice (package @@ -2170,106 +2172,24 @@ (define-public bsnes performance, features, and ease of use.") (license license:gpl3))) -;; python-pwntools requires a -rc release of unicorn (define-public unicorn - (let ((unless-x86 - (lambda (code) - (if (member (%current-system) '("x86_64-linux" "i686-linux")) - '() - code)))) - (package - (name "unicorn") - (version "1.0.2-rc4") - ;; NOTE: unicorn ships a bundled QEMU, but with a lot of custom modifications. - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/unicorn-engine/unicorn") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "17nyccgk7hpc4hab24yn57f1xnmr7kq4px98zbp2bkwcrxny8gwy")))) - (outputs '("out" "python")) - ;; The main library is not written in Python, but the build process has - ;; little in common with any defined build system, so we might as well - ;; build on top of python-build-system and make use of all - ;; the Python-specific phases that can be reused. - (build-system python-build-system) - (arguments - `(#:modules ((srfi srfi-26) - (guix build python-build-system) - (guix build utils)) - #:phases - (modify-phases %standard-phases - (add-before 'build 'build-library - (lambda* (#:key inputs #:allow-other-keys) - (invoke "make" - "-j" (number->string (parallel-job-count)) - "UNICORN_STATIC=no" - "CC=gcc"))) - (add-after 'build-library 'install-library - (lambda* (#:key outputs #:allow-other-keys) - (invoke "make" "install" - "UNICORN_STATIC=no" - (string-append - "PREFIX=" - (assoc-ref outputs "out"))))) - (add-before 'build 'prepare-bindings - (lambda* (#:key outputs #:allow-other-keys) - (chdir "bindings/python") - ;; Set this environment variable so that the Python bindings - ;; don't build their own copy of the shared object, but use - ;; a dummy value such that the bindings test suite uses the - ;; same mechanism for loading the library as any other user. - (setenv "LIBUNICORN_PATH" "1") - (substitute* "unicorn/unicorn.py" - (("_path_list = \\[.*") - (string-append - "_path_list = [\"" - (assoc-ref outputs "out") - ;; eat the rest of the list - "/lib\"] + 0*["))) - #t)) - (add-before 'check 'check-library - (lambda* (#:key outputs #:allow-other-keys) - (for-each - (lambda (suite) - (with-directory-excursion - (string-append "../../tests/" suite) - (invoke "make" "test" "CC=gcc" - ,@(unless-x86 - '("AS=i686-unknown-linux-gnu-as" - "OBJCOPY=i686-unknown-linux-gnu-objcopy"))))) - '("unit" "regress")) - #t)) - (add-after 'install 'install-samples - (lambda* (#:key outputs #:allow-other-keys) - (let* ((python-samples (find-files "." "sample_.*")) - (c-samples (find-files "../../samples" ".*\\.c")) - (python-docdir - (string-append (assoc-ref outputs "python") - "/share/doc/unicorn/samples")) - (c-docdir - (string-append (assoc-ref outputs "out") - "/share/doc/unicorn/samples"))) - (for-each (cut install-file <> c-docdir) c-samples) - (for-each (cut install-file <> python-docdir) python-samples) - #t)))))) - (native-inputs - ;; NOTE: cross-binutils needs to be wrapped with unless-x86, as otherwise - ;; the linker provided by the package will be used, circumventing the ld-wrapper. - `(,@(unless-x86 - `(("assembler-for-tests" ,(cross-binutils "i686-unknown-linux-gnu")))) - ("cmocka" ,cmocka) - ("hexdump-for-tests" ,util-linux))) - (home-page "https://www.unicorn-engine.org") - (synopsis "Unicorn CPU emulator framework") - (description - "Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator + (package + (name "unicorn") + (version "2.0.1.post1") + (source (origin + (method url-fetch) + (uri (pypi-uri name version)) + (sha256 + (base32 + "0mlfs8qfi0clyncfkbxp6in0cpl747510i6bqymwid43xcirbikz")))) + ;; NOTE: Unicorn 2 using pyproject to build + (build-system pyproject-build-system) + (native-inputs (list cmake pkg-config)) + (home-page "http://www.unicorn-engine.org") + (synopsis "Unicorn CPU emulator framework") + (description "Uniforn is a lightweight, multi-platform, multi-architecture CPU emulator framework based on QEMU.") - (license license:gpl2+)))) + (license license:gpl2+))) (define-public ppsspp (package --+9BBlqRbWeVSIh1V-- From unknown Sat Jun 21 12:16:01 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#63442] [PATCH] gnu: unicorn: Update to 2.0.1.post1 References: In-Reply-To: Resent-From: =?UTF-8?Q?S=C3=B6ren?= Tempel Original-Sender: "Debbugs-submit" Resent-CC: paren@disroot.org, guix@cbaines.net, ludo@gnu.org, othacehe@gnu.org, rg@raghavgururajan.name, rekado@elephly.net, zimon.toutoune@gmail.com, me@tobias.gr, jgart@dismail.de, guix-patches@gnu.org Resent-Date: Tue, 24 Oct 2023 15:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63442 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 63442@debbugs.gnu.org Cc: c4droid@foxmail.com, paren@disroot.org, Christopher Baines , Ludovic =?UTF-8?Q?Court=C3=A8s?= , Mathieu Othacehe , Raghav Gururajan , Ricardo Wurmus , Simon Tournier , Tobias Geerinckx-Rice , jgart X-Debbugs-Original-Xcc: paren@disroot.org, Christopher Baines , Ludovic =?UTF-8?Q?Court=C3=A8s?= , Mathieu Othacehe , Raghav Gururajan , Ricardo Wurmus , Simon Tournier , Tobias Geerinckx-Rice , jgart Received: via spool by 63442-submit@debbugs.gnu.org id=B63442.169816193415198 (code B ref 63442); Tue, 24 Oct 2023 15:39:01 +0000 Received: (at 63442) by debbugs.gnu.org; 24 Oct 2023 15:38:54 +0000 Received: from localhost ([127.0.0.1]:56326 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvJUc-0003x3-GY for submit@debbugs.gnu.org; Tue, 24 Oct 2023 11:38:54 -0400 Received: from magnesium.8pit.net ([45.76.88.171]:40699) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qvJUa-0003ws-9D for 63442@debbugs.gnu.org; Tue, 24 Oct 2023 11:38:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=opensmtpd; bh=VEQZZHObdo indIKy1LcfTylP26FA/Wk2qjnUnFrDpr4=; h=from:subject:cc:to:date; d=soeren-tempel.net; b=FH+0JteNGVooTebsBWscBo5G8W0DkhZColHapt7G3ObClVU ti04soxbuulgHA26dqoA1PJQ5NIfjv64Q40Dmyru0rCCMOJuISYmmKAAcKj+v8EELtWSTR s6c9XceBVjTCad7VZvtU8wRYQLRtdI8ALR/bACs2RCzO0PuYIQ2UHM= Received: from localhost (dynamic-2a02-3102-49da-001b-4008-cb6a-c360-4a8f.310.pool.telefonica.de [2a02:3102:49da:1b:4008:cb6a:c360:4a8f]) by magnesium.8pit.net (OpenSMTPD) with ESMTPSA id 4237481f (TLSv1.3:TLS_AES_256_GCM_SHA384:256:YES); Tue, 24 Oct 2023 17:38:18 +0200 (CEST) Date: Tue, 24 Oct 2023 17:38:14 +0200 From: =?UTF-8?Q?S=C3=B6ren?= Tempel Message-Id: <2YAF2K1LP9YCC.337SITTSYGBJ9@8pit.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, I can confirm that this patch builds locally. I can also confirm that the Python bindings work as intended. The Unicorn version presently shipped by Guix is very ancient and doesn't build at the moment (fails test). As such, it would be cool if this patch could be merged. I am currently working on a Guix package for angr and need Unicorn 2.X for this (with the patch my angr Guix package works as intended). I would also be willing to revise the patch in case OP isn't active any more. Let me know if any changes are needed (CC'd the mentors, hope that's ok). Greetings, S=C3=B6ren Tempel From unknown Sat Jun 21 12:16:01 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#63442] [PATCH] gnu: unicorn: Update to 2.0.1.post1. References: Resent-From: jgart Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 10 Jul 2024 15:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63442 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 63442@debbugs.gnu.org Cc: c4droid , =?UTF-8?Q?S=C3=B6ren?= Tempel Received: via spool by 63442-submit@debbugs.gnu.org id=B63442.172062616924740 (code B ref 63442); Wed, 10 Jul 2024 15:43:01 +0000 Received: (at 63442) by debbugs.gnu.org; 10 Jul 2024 15:42:49 +0000 Received: from localhost ([127.0.0.1]:56961 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sRZSy-0006Qy-Sv for submit@debbugs.gnu.org; Wed, 10 Jul 2024 11:42:49 -0400 Received: from mx1.dismail.de ([78.46.223.134]:49117) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sRZSt-0006Qa-3C for 63442@debbugs.gnu.org; Wed, 10 Jul 2024 11:42:47 -0400 Received: from mx1.dismail.de (localhost [127.0.0.1]) by mx1.dismail.de (OpenSMTPD) with ESMTP id 65fdb1bf; Wed, 10 Jul 2024 17:42:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=dismail.de; h=from:to:cc :subject:in-reply-to:date:message-id:mime-version:content-type :content-transfer-encoding; s=20190914; bh=2UOa0LloXUWg13NAvWzKh 6nZ70aV3NGvRpWMGZ/4vi0=; b=ccOf5wl5Qg29OvvXTviXZcpk7RCCcLVO9zZTH aIhrNuEyNpf1kc5/uRbl0tl7MNNTCC415QZ/Bk4O7EigBnAIOqzj53OocHMcq8VM eYMijmgT13dpFUfv3RevEX46zCNvt8j15SKtI6Zd+iFUm6khP6hhYsVNUEMjVd2T nPxY+3CSqpYZVBIWsxq4fIWekeotXGm2NeUL3ow+A4PpocXyiuLktX3gByyzXDEb X8BQNOqe+5bW462eyrJR/1e3EfSbXX6BFMtOsl3u+mWZGb07Eb3HgN38WWbI+9In m3tzoRDksxaF9rPR+Pi8Z8OHvGeBheMf+Zu1Llx95kg1H0UJQ== Received: from smtp2.dismail.de ( [10.240.26.12]) by mx1.dismail.de (OpenSMTPD) with ESMTP id 42a2c000; Wed, 10 Jul 2024 17:42:29 +0200 (CEST) Received: from smtp2.dismail.de (localhost [127.0.0.1]) by smtp2.dismail.de (OpenSMTPD) with ESMTP id ff65fb7e; Wed, 10 Jul 2024 17:42:29 +0200 (CEST) Received: by dismail.de (OpenSMTPD) with ESMTPSA id 673fb038 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Wed, 10 Jul 2024 17:42:28 +0200 (CEST) From: jgart In-Reply-To: <2YAF2K1LP9YCC.337SITTSYGBJ9@8pit.net> Date: Wed, 10 Jul 2024 10:42:25 -0500 Message-ID: <87r0c15k4e.fsf@dismail.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > I can confirm that this patch builds locally. I can also confirm that Can you send an updated patch as a v2? The update-unicorn.patch no longer applies. I tried to wiggle it but no luck: https://toys.whereis.=E3=81=BF=E3=82=93=E3=81=AA/?search=3Dwiggle --=20 all the best, jgart From unknown Sat Jun 21 12:16:01 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#63442] [PATCH] gnu: unicorn: Update to 2.0.1.post1. References: In-Reply-To: Resent-From: soeren@soeren-tempel.net Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 11 Jul 2024 18:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63442 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 63442@debbugs.gnu.org Cc: jgart@dismail.de Received: via spool by 63442-submit@debbugs.gnu.org id=B63442.172072090527228 (code B ref 63442); Thu, 11 Jul 2024 18:02:01 +0000 Received: (at 63442) by debbugs.gnu.org; 11 Jul 2024 18:01:45 +0000 Received: from localhost ([127.0.0.1]:52534 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sRy6z-000755-0G for submit@debbugs.gnu.org; Thu, 11 Jul 2024 14:01:45 -0400 Received: from magnesium.8pit.net ([45.76.88.171]:29849) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sRy6w-00074v-EQ; Thu, 11 Jul 2024 14:01:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; s=opensmtpd; bh=9ufgM3ip GXgqQFsx8gG9iLwFd2mFoyUtxTEPkxNTcdQ=; h=date:subject:cc:to:from; d=soeren-tempel.net; b=kGLi3cr9LWB7cp0YLa+BgbxnRMqT9B2Js+cX4bqdmUIOx8w l3anoHNhNuJqLhOq+eBYPYak9TWZu1zkBVsfgH7ovJGV8cokkhaZWvTvhRVG4lCBPMxy6f 9Gz/UY7IWDe0Q+CHk7wQS+1zRCPa9CdYVu1fcsIC8KM6lykknwed7U= Received: from localhost (dynamic-2a02-3102-49da-001b-5547-c145-a90a-e426.310.pool.telefonica.de [2a02:3102:49da:1b:5547:c145:a90a:e426]) by magnesium.8pit.net (OpenSMTPD) with ESMTPSA id 823d1589 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:YES); Thu, 11 Jul 2024 20:01:39 +0200 (CEST) From: soeren@soeren-tempel.net Date: Thu, 11 Jul 2024 20:00:55 +0200 Message-ID: <28ed4043dd4a7c53025a07dddc50d6890e64d730.1720720854.git.soeren@soeren-tempel.net> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) From: c4droid * gnu/packages/emulators.scm (unicorn) Update to 2.0.1.post1. Co-authored-by: Sören Tempel --- gnu/packages/emulators.scm | 118 ++++++------------------------------- 1 file changed, 19 insertions(+), 99 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 4471de9040..5979294ef2 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -61,6 +61,7 @@ (define-module (gnu packages emulators) #:use-module (gnu packages boost) #:use-module (gnu packages cdrom) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages containers) #:use-module (gnu packages cross-base) @@ -113,6 +114,7 @@ (define-module (gnu packages emulators) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) #:use-module (guix build-system qt)) (define-public vice @@ -2296,106 +2298,24 @@ (define-public zsnes (license license:gpl2+) (supported-systems (list "x86_64-linux")))) -;; python-pwntools requires a -rc release of unicorn (define-public unicorn - (let ((unless-x86 - (lambda (code) - (if (member (%current-system) '("x86_64-linux" "i686-linux")) - '() - code)))) - (package - (name "unicorn") - (version "1.0.2-rc4") - ;; NOTE: unicorn ships a bundled QEMU, but with a lot of custom modifications. - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/unicorn-engine/unicorn") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "17nyccgk7hpc4hab24yn57f1xnmr7kq4px98zbp2bkwcrxny8gwy")))) - (outputs '("out" "python")) - ;; The main library is not written in Python, but the build process has - ;; little in common with any defined build system, so we might as well - ;; build on top of python-build-system and make use of all - ;; the Python-specific phases that can be reused. - (build-system python-build-system) - (arguments - `(#:modules ((srfi srfi-26) - (guix build python-build-system) - (guix build utils)) - #:phases - (modify-phases %standard-phases - (add-before 'build 'build-library - (lambda* (#:key inputs #:allow-other-keys) - (invoke "make" - "-j" (number->string (parallel-job-count)) - "UNICORN_STATIC=no" - "CC=gcc"))) - (add-after 'build-library 'install-library - (lambda* (#:key outputs #:allow-other-keys) - (invoke "make" "install" - "UNICORN_STATIC=no" - (string-append - "PREFIX=" - (assoc-ref outputs "out"))))) - (add-before 'build 'prepare-bindings - (lambda* (#:key outputs #:allow-other-keys) - (chdir "bindings/python") - ;; Set this environment variable so that the Python bindings - ;; don't build their own copy of the shared object, but use - ;; a dummy value such that the bindings test suite uses the - ;; same mechanism for loading the library as any other user. - (setenv "LIBUNICORN_PATH" "1") - (substitute* "unicorn/unicorn.py" - (("_path_list = \\[.*") - (string-append - "_path_list = [\"" - (assoc-ref outputs "out") - ;; eat the rest of the list - "/lib\"] + 0*["))) - #t)) - (add-before 'check 'check-library - (lambda* (#:key outputs #:allow-other-keys) - (for-each - (lambda (suite) - (with-directory-excursion - (string-append "../../tests/" suite) - (invoke "make" "test" "CC=gcc" - ,@(unless-x86 - '("AS=i686-unknown-linux-gnu-as" - "OBJCOPY=i686-unknown-linux-gnu-objcopy"))))) - '("unit" "regress")) - #t)) - (add-after 'install 'install-samples - (lambda* (#:key outputs #:allow-other-keys) - (let* ((python-samples (find-files "." "sample_.*")) - (c-samples (find-files "../../samples" ".*\\.c")) - (python-docdir - (string-append (assoc-ref outputs "python") - "/share/doc/unicorn/samples")) - (c-docdir - (string-append (assoc-ref outputs "out") - "/share/doc/unicorn/samples"))) - (for-each (cut install-file <> c-docdir) c-samples) - (for-each (cut install-file <> python-docdir) python-samples) - #t)))))) - (native-inputs - ;; NOTE: cross-binutils needs to be wrapped with unless-x86, as otherwise - ;; the linker provided by the package will be used, circumventing the ld-wrapper. - `(,@(unless-x86 - `(("assembler-for-tests" ,(cross-binutils "i686-unknown-linux-gnu")))) - ("cmocka" ,cmocka) - ("hexdump-for-tests" ,util-linux))) - (home-page "https://www.unicorn-engine.org") - (synopsis "Unicorn CPU emulator framework") - (description - "Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator -framework based on QEMU.") - (license license:gpl2+)))) + (package + (name "unicorn") + (version "2.0.1.post1") + (source + (origin + (method url-fetch) + (uri (pypi-uri name version)) + (sha256 + (base32 "0mlfs8qfi0clyncfkbxp6in0cpl747510i6bqymwid43xcirbikz")))) + (build-system pyproject-build-system) + (native-inputs (list cmake pkg-config)) + (home-page "https://www.unicorn-engine.org") + (synopsis "Generic CPU emulator framework") + (description + "Uniforn is a lightweight, multi-platform, multi-architecture CPU +emulator framework based on QEMU.") + (license license:gpl2+))) (define-public ppsspp (package base-commit: 437f8f19ac74c85b80432881d9df2b0d80943bca From unknown Sat Jun 21 12:16:01 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: c4droid Subject: bug#63442: closed (Re: [PATCH] gnu: unicorn: Update to 2.0.1.post1.) Message-ID: References: <877cdrfzu0.fsf@dismail.de> X-Gnu-PR-Message: they-closed 63442 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 63442@debbugs.gnu.org Date: Thu, 11 Jul 2024 20:18:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1720729082-8152-1" This is a multi-part message in MIME format... ------------=_1720729082-8152-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #63442: [PATCH] gnu: unicorn: Update to 2.0.1.post1. which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 63442@debbugs.gnu.org. --=20 63442: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D63442 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1720729082-8152-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 63442-done) by debbugs.gnu.org; 11 Jul 2024 20:17:43 +0000 Received: from localhost ([127.0.0.1]:52630 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sS0EZ-00026u-0z for submit@debbugs.gnu.org; Thu, 11 Jul 2024 16:17:43 -0400 Received: from mx2.dismail.de ([159.69.191.136]:38064) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sS0EW-00026d-JL for 63442-done@debbugs.gnu.org; Thu, 11 Jul 2024 16:17:41 -0400 Received: from mx2.dismail.de (localhost [127.0.0.1]) by mx2.dismail.de (OpenSMTPD) with ESMTP id ebc4730a; Thu, 11 Jul 2024 22:17:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=dismail.de; h=from:to:cc :subject:in-reply-to:date:message-id:mime-version:content-type; s=20190914; bh=bbo0EyoVbaammsCfn3q1Ilwg3/qPmDmryHo4AE/ZpQY=; b= F/ciBwKrnKvSYXngvk0t2NvNscXbVlmW2Kahwh88D6OwGMgbubQL5pMWdXch7cWw N+V69RDyP7IUywxDwGVt/OhtKcwzrVAg7+EC/IDJKU7aDfI7Q0fEc2Bi1Gjvx9ok IuSfqdrP2g/ggqmeU0QwwSMqv1qwR5BmzYmHERnO+93dUz91i/CNeK9el8OtZFsm wstor9I4apyTmtvN/DUZSmXtOD5Z+yl1qcMJm3t+B/2foj9EYRPs7jnMaKoFNIAJ kej9r/nNl0w0hYZ0zneOF5t50IZM5VD9enoyDcBp56SM6+wh6stfsonXKGMATbE0 PqlwsMvUmzj55ySPnwdi3A== Received: from smtp2.dismail.de ( [10.240.26.12]) by mx2.dismail.de (OpenSMTPD) with ESMTP id 73996b9d; Thu, 11 Jul 2024 22:17:31 +0200 (CEST) Received: from smtp2.dismail.de (localhost [127.0.0.1]) by smtp2.dismail.de (OpenSMTPD) with ESMTP id 7d46e464; Thu, 11 Jul 2024 22:17:31 +0200 (CEST) Received: by dismail.de (OpenSMTPD) with ESMTPSA id 00b6045c (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Thu, 11 Jul 2024 22:17:31 +0200 (CEST) From: jgart To: 63442-done@debbugs.gnu.org Subject: Re: [PATCH] gnu: unicorn: Update to 2.0.1.post1. In-Reply-To: <28ed4043dd4a7c53025a07dddc50d6890e64d730.1720720854.git.soeren@soeren-tempel.net> Date: Thu, 11 Jul 2024 15:17:27 -0500 Message-ID: <877cdrfzu0.fsf@dismail.de> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 63442-done Cc: jgart , c4droid , soeren@soeren-tempel.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Applied, thanks! -- all the best, jgart ------------=_1720729082-8152-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 11 May 2023 09:41:33 +0000 Received: from localhost ([127.0.0.1]:49750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1px2nl-0004sc-8X for submit@debbugs.gnu.org; Thu, 11 May 2023 05:41:33 -0400 Received: from lists.gnu.org ([209.51.188.17]:42830) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1px2nf-0004sP-CK for submit@debbugs.gnu.org; Thu, 11 May 2023 05:41:31 -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 1px2nd-0004D5-2o for guix-patches@gnu.org; Thu, 11 May 2023 05:41:25 -0400 Received: from out203-205-221-221.mail.qq.com ([203.205.221.221]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1px2nO-0004Ht-A5 for guix-patches@gnu.org; Thu, 11 May 2023 05:41:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1683798064; bh=GlICWR2UMUA5MG2XO75yJc8rlXYuYb+0RwmqmjsauSg=; h=Date:From:To:Subject; b=Py7aPtMRoaQbU6IJbR3gqPTsq06vlR2GMBub9+Y9N65W4qGIba5AjC2Q934PmCxoy DDOPiKWDLqAZEcyLrP8N9cMB62tSzTHVdbbDAgngqLesn3gIj2wyfhIKkNCSvjbeLl YTVMWU6AHfse8sZxexorcDbitQaYkBfPzF7do3Ws= Received: from Workstation ([113.200.58.194]) by newxmesmtplogicsvrsza12-0.qq.com (NewEsmtp) with SMTP id 9F7A4640; Thu, 11 May 2023 17:39:55 +0800 X-QQ-mid: xmsmtpt1683797995tjoa666sp Message-ID: X-QQ-XMAILINFO: NKv2G1wnhDBnlmyiugii+WyISp6pYwDsu6hlVDZart0RxS7iX8w3TSLIU0Mzkp T0s+rh9kRRRVM1GIcCd0QuvnnbvF9rPbNS0dwNCZUOqJYFbm/HqzedaqfxCm6s8cOXC20B4X2Xub zXaUUeu+yFC0licVz9N0MbAO2JxEXJEzEXue3M5H2gBq6/yEYuv/5O1Oy5NGjEvI02Z1nTh0ZmQr BJVxHU2Cr2bB/0nsysWJ8LWpo2siGoBEaseKDNQgNmv4sMsd2w0L5pVz/6V4PxL3/VJT4i0SXlSu WmugXbV69WZ4Ab1ckmM46+R4PLE/48J/6MxJfJUrX6KoaXiW7W9YE4Uqff4mmThMgHzBKZB2AvSc 5trX5xYNt6lG45h0Qwoj06fmGtqStE8ejmiEL1TqnsrwCBFo7umoU3DtuPNka6tQ7rMvNy6geFwr PG+nnzSgLFDYA/De+VuQc1BDeRvLNzWB27RbvbWRJ+pSTKxcXsBt48P+Ihn8AR9O93BZsDcN7Yh6 STSFG/Aj9hFnMsQd3wSKw3ytqEe4zkmqQVoodulmt5jAHhqy+0BSl9hVAooROrOnMhS5Bg3afE6v Tu/pvUxYbEz6DQcye+jo362MzodYo+GU5kxfjG5p9K87AY64pvpCjdLS6KaCbBTrIL5+pwEdVFkb xpbF8pZERbA0fyTAxdhPPTlaXpIo9EwUKGIaK88Jrm+gRZtioBRWIvCA05RUHEVj9WvFtbafxEpb /978t6PSrUBn0w3cTIjVmnkCteJLJDrhJ7HYhaDVc3FiYvtKmO4NDwmBk7buNU4KLt3iBjQU67zh tO/tGIIJ0hYHiUbmtSSv9oe1dC0VQM8EImuXzZNMsSZ1epQx33ZsGGlmTDC8+6Bu3HxZp8VFoYeH MF4M0/f7uacnMbNxtRDp/jdK8enfBJY4J3WmJ9k0TkGI3p25zsbcTKyG/ZdFAUOViRH918n6H9mf NvCo2FloIaUrkroZGtKg== Date: Thu, 11 May 2023 17:39:55 +0800 From: c4droid To: guix-patches@gnu.org Subject: [PATCH] gnu: unicorn: Update to 2.0.1.post1. X-OQ-MSGID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="+9BBlqRbWeVSIh1V" Content-Disposition: inline Received-SPF: pass client-ip=203.205.221.221; envelope-from=c4droid@foxmail.com; helo=out203-205-221-221.mail.qq.com X-Spam_score_int: 8 X-Spam_score: 0.8 X-Spam_bar: / X-Spam_report: (0.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HELO_DYNAMIC_IPADDR=1.951, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RDNS_DYNAMIC=0.982, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --+9BBlqRbWeVSIh1V Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, Guix! I noticed unicorn is using pyproject now, so I update the unicorn definition in my guix fork, I tested it on my local machine it can be built successfully. --+9BBlqRbWeVSIh1V Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="update-unicorn.patch" diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 13b60223..cc33c107 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -59,6 +59,7 @@ (define-module (gnu packages emulators) #:use-module (gnu packages build-tools) #:use-module (gnu packages cdrom) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cross-base) #:use-module (gnu packages curl) @@ -111,7 +112,8 @@ (define-module (gnu packages emulators) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) - #:use-module (guix build-system python)) + #:use-module (guix build-system python) + #:use-module (guix build-system pyproject)) (define-public vice (package @@ -2170,106 +2172,24 @@ (define-public bsnes performance, features, and ease of use.") (license license:gpl3))) -;; python-pwntools requires a -rc release of unicorn (define-public unicorn - (let ((unless-x86 - (lambda (code) - (if (member (%current-system) '("x86_64-linux" "i686-linux")) - '() - code)))) - (package - (name "unicorn") - (version "1.0.2-rc4") - ;; NOTE: unicorn ships a bundled QEMU, but with a lot of custom modifications. - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/unicorn-engine/unicorn") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "17nyccgk7hpc4hab24yn57f1xnmr7kq4px98zbp2bkwcrxny8gwy")))) - (outputs '("out" "python")) - ;; The main library is not written in Python, but the build process has - ;; little in common with any defined build system, so we might as well - ;; build on top of python-build-system and make use of all - ;; the Python-specific phases that can be reused. - (build-system python-build-system) - (arguments - `(#:modules ((srfi srfi-26) - (guix build python-build-system) - (guix build utils)) - #:phases - (modify-phases %standard-phases - (add-before 'build 'build-library - (lambda* (#:key inputs #:allow-other-keys) - (invoke "make" - "-j" (number->string (parallel-job-count)) - "UNICORN_STATIC=no" - "CC=gcc"))) - (add-after 'build-library 'install-library - (lambda* (#:key outputs #:allow-other-keys) - (invoke "make" "install" - "UNICORN_STATIC=no" - (string-append - "PREFIX=" - (assoc-ref outputs "out"))))) - (add-before 'build 'prepare-bindings - (lambda* (#:key outputs #:allow-other-keys) - (chdir "bindings/python") - ;; Set this environment variable so that the Python bindings - ;; don't build their own copy of the shared object, but use - ;; a dummy value such that the bindings test suite uses the - ;; same mechanism for loading the library as any other user. - (setenv "LIBUNICORN_PATH" "1") - (substitute* "unicorn/unicorn.py" - (("_path_list = \\[.*") - (string-append - "_path_list = [\"" - (assoc-ref outputs "out") - ;; eat the rest of the list - "/lib\"] + 0*["))) - #t)) - (add-before 'check 'check-library - (lambda* (#:key outputs #:allow-other-keys) - (for-each - (lambda (suite) - (with-directory-excursion - (string-append "../../tests/" suite) - (invoke "make" "test" "CC=gcc" - ,@(unless-x86 - '("AS=i686-unknown-linux-gnu-as" - "OBJCOPY=i686-unknown-linux-gnu-objcopy"))))) - '("unit" "regress")) - #t)) - (add-after 'install 'install-samples - (lambda* (#:key outputs #:allow-other-keys) - (let* ((python-samples (find-files "." "sample_.*")) - (c-samples (find-files "../../samples" ".*\\.c")) - (python-docdir - (string-append (assoc-ref outputs "python") - "/share/doc/unicorn/samples")) - (c-docdir - (string-append (assoc-ref outputs "out") - "/share/doc/unicorn/samples"))) - (for-each (cut install-file <> c-docdir) c-samples) - (for-each (cut install-file <> python-docdir) python-samples) - #t)))))) - (native-inputs - ;; NOTE: cross-binutils needs to be wrapped with unless-x86, as otherwise - ;; the linker provided by the package will be used, circumventing the ld-wrapper. - `(,@(unless-x86 - `(("assembler-for-tests" ,(cross-binutils "i686-unknown-linux-gnu")))) - ("cmocka" ,cmocka) - ("hexdump-for-tests" ,util-linux))) - (home-page "https://www.unicorn-engine.org") - (synopsis "Unicorn CPU emulator framework") - (description - "Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator + (package + (name "unicorn") + (version "2.0.1.post1") + (source (origin + (method url-fetch) + (uri (pypi-uri name version)) + (sha256 + (base32 + "0mlfs8qfi0clyncfkbxp6in0cpl747510i6bqymwid43xcirbikz")))) + ;; NOTE: Unicorn 2 using pyproject to build + (build-system pyproject-build-system) + (native-inputs (list cmake pkg-config)) + (home-page "http://www.unicorn-engine.org") + (synopsis "Unicorn CPU emulator framework") + (description "Uniforn is a lightweight, multi-platform, multi-architecture CPU emulator framework based on QEMU.") - (license license:gpl2+)))) + (license license:gpl2+))) (define-public ppsspp (package --+9BBlqRbWeVSIh1V-- ------------=_1720729082-8152-1--