From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 20 12:35:07 2024 Received: (at submit) by debbugs.gnu.org; 20 Mar 2024 16:35:07 +0000 Received: from localhost ([127.0.0.1]:49018 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rmyu8-0001QQ-CP for submit@debbugs.gnu.org; Wed, 20 Mar 2024 12:35:07 -0400 Received: from lists.gnu.org ([209.51.188.17]:54898) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rmyu4-0001Px-6D for submit@debbugs.gnu.org; Wed, 20 Mar 2024 12:35:03 -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 1rmytQ-0000cB-7q for guix-patches@gnu.org; Wed, 20 Mar 2024 12:34:20 -0400 Received: from 195-15-241-199.dc3-a.pub1.etik-cloud.com ([195.15.241.199] helo=lyrion.ch) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rmytG-0006td-1O for guix-patches@gnu.org; Wed, 20 Mar 2024 12:34:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lyrion.ch; s=20230702; t=1710952443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc; bh=S1lN2wn3uzydeF4weCdClhWJoU/8pEv/KQOaSyOL9io=; b=pXHV+En0tDZj/7NgUiYhd/juP9LbWvgu4x+C8igCuxCFTRCsjZwNFQHSqo1DiVVBLe7ZPi a27klcl9/vL4xGsFFLawLHX9eiHlrd78lmJa6iYre1xEGe5x57CqK6wbDZM/9xnRDs971E QK6rVP62lA0z4gAnPcQrnLiuBFAKy7dm1RBhKUYO9s1Ex71KUtmCHhoaq1UBRhrV9vLA+q 01mHO+mW2dT7yFFp4EWLPHlmVEBcu2jZ00lPC2rIAV2xHFl43LnigjZROSgXg8FmWDS7Vq 896GknQ5zUP1lLxgERhGLVd3quguuyDtXRe0lQ2Huunsu6xRJJqEkKkwJkQRJQ== Received: from localhost ( [2a00:1f:99c0:3c01:8fc9:e8ec:45e0:6cde]) by lyrion.ch (OpenSMTPD) with ESMTPSA id acbebad7 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Wed, 20 Mar 2024 16:34:03 +0000 (UTC) Message-ID: <163fe58d525795ccdb3f24960655f036@lyrion.ch> From: Daniel Ziltener Date: Wed, 20 Mar 2024 16:36:52 +0100 Subject: [PATCH] gnu: smalltalk: add pharo-vm 10.1.1. To: guix-patches@gnu.org Received-SPF: pass client-ip=195.15.241.199; envelope-from=dziltener@lyrion.ch; helo=lyrion.ch X-Spam_score_int: 3 X-Spam_score: 0.3 X-Spam_bar: / X-Spam_report: (0.3 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, FORGED_SPF_HELO=1, KHOP_HELO_FCRDNS=0.001, PP_MIME_FAKE_ASCII_TEXT=0.001, RDNS_DYNAMIC=0.982, SPF_HELO_PASS=-0.001, TVD_RCVD_IP=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_TEMPERROR=0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: dziltener@lyrion.ch 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.4 (--) --- gnu/packages/smalltalk.scm | 66 +++++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm index 64146813d1..60e0cc5778 100644 --- a/gnu/packages/smalltalk.scm +++ b/gnu/packages/smalltalk.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Ludovic Courtès ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2021 Maxime Devos +;;; Copyright © 2024 Daniel Ziltener ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,13 +37,16 @@ (define-module (gnu packages smalltalk) #:use-module (gnu packages fontutils) #:use-module (gnu packages gl) #:use-module (gnu packages glib) + #:use-module (gnu packages image) #:use-module (gnu packages libffi) #:use-module (gnu packages libsigsegv) #:use-module (gnu packages linux) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages version-control) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg)) (define-public smalltalk (package @@ -184,3 +188,63 @@ (define-public squeak-vm interactively extensible Web sites.") (home-page "http://squeakvm.org/") (license license:x11))) + +(define-public pharo-vm + (package + (name "pharo-vm") + (version "10.1.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://files.pharo.org/vm/pharo-spur64-headless/Linux-x86_64/source/PharoVM-" version "-32b2be5-Linux-x86_64-c-src.tar.gz")) + (sha256 + (base32 + "1hbkvfrw57sz5nw48z64789yjcry9l1am4hmkndy9dd6i06n2c2n")))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list + (string-append "-DPHARO_LIBRARY_PATH=" + (assoc-ref %outputs "out") "/lib") + "-DGENERATED_SOURCE_DIR=." + "-DALWAYS_INTERACTIVE=on" + "-DBUILD_IS_RELEASE=on" + "-DGENERATE_SOURCES=off" + "-DBUILD_BUNDLE=off") + #:phases + #~(modify-phases %standard-phases + (delete 'check) + (delete 'validate-runpath) + (add-after 'install 'really-install + (lambda _ + (let ((bin (string-append #$output "/bin")) + (lib (string-append #$output "/lib"))) + (mkdir-p bin) + (mkdir-p lib) + (copy-recursively "./build/vm/pharo" + (string-append bin "/pharo")) + (for-each (lambda (file) + (let ((inode (string-append "./build/vm/" file))) + (copy-recursively + inode + (string-append lib "/" file)))) + (with-directory-excursion + "./build/vm" + (find-files "." + (lambda (file stat) + (string-contains file ".so"))))) + (wrap-program (string-append bin "/pharo") + `("LD_LIBRARY_PATH" prefix (,lib))))))))) + (inputs + (list libffi + libgit2 + cairo + freetype + pixman + libpng + util-linux)) + (synopsis "This is the VM used by Pharo") + (home-page "https://www.pharo.org") + (description "This is the VM used by Pharo.") + (license license:expat))) -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Mon May 20 08:36:27 2024 Received: (at 69918) by debbugs.gnu.org; 20 May 2024 12:36:27 +0000 Received: from localhost ([127.0.0.1]:42451 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s92Fe-0004Ai-Dx for submit@debbugs.gnu.org; Mon, 20 May 2024 08:36:26 -0400 Received: from 17.mo583.mail-out.ovh.net ([46.105.56.132]:49259) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s92Fa-0004Aa-RT for 69918@debbugs.gnu.org; Mon, 20 May 2024 08:36:24 -0400 Received: from director3.ghost.mail-out.ovh.net (unknown [10.109.176.162]) by mo583.mail-out.ovh.net (Postfix) with ESMTP id 4VjcW35KxNz1Nxt for <69918@debbugs.gnu.org>; Mon, 20 May 2024 12:36:15 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-6t5dk (unknown [10.111.174.115]) by director3.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 6DB391FE4D; Mon, 20 May 2024 12:36:15 +0000 (UTC) Received: from ngraves.fr ([37.59.142.105]) by ghost-submission-6684bf9d7b-6t5dk with ESMTPSA id J4uPFr9DS2YwJAAAkI6ibQ (envelope-from ); Mon, 20 May 2024 12:36:15 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-105G00655f023f5-17e8-4290-baa2-771a6002fdd4, 0E6CD9AF786AA7012C66619A9115F302AB4872EE) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.146.208 From: Nicolas Graves To: 69918@debbugs.gnu.org Subject: Re: [bug#69918] [PATCH] gnu: smalltalk: add pharo-vm 10.1.1. In-Reply-To: <163fe58d525795ccdb3f24960655f036@lyrion.ch> References: <163fe58d525795ccdb3f24960655f036@lyrion.ch> Date: Mon, 20 May 2024 14:36:13 +0200 Message-ID: <87o790y81u.fsf@ngraves.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Ovh-Tracer-Id: 4881620522141147685 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvledrvdeitddgfedtucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufgjfhffkfggtgfgsehtqhertddttdejnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepieejfeetudduudffveetvdeigfelkeevhfeuffeitdfgheekgeekhedvjeevhfeinecuffhomhgrihhnpehsqhhuvggrkhhvmhdrohhrghdpphhhrghrohdrohhrghenucfkphepuddvjedrtddrtddruddpkedurdeijedrudegiedrvddtkedpfeejrdehledrudegvddruddtheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepnhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrpdhnsggprhgtphhtthhopedupdhrtghpthhtohepieelledukeesuggvsggsuhhgshdrghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekfedpmhhouggvpehsmhhtphhouhht X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 69918 Cc: dziltener@lyrion.ch 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, thanks for this patch! Some comments below. On 2024-03-20 16:36, Daniel Ziltener via Guix-patches via wrote: > --- > gnu/packages/smalltalk.scm | 66 +++++++++++++++++++++++++++++++++++++- > 1 file changed, 65 insertions(+), 1 deletion(-) > > diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm > index 64146813d1..60e0cc5778 100644 > --- a/gnu/packages/smalltalk.scm > +++ b/gnu/packages/smalltalk.scm > @@ -5,6 +5,7 @@ > ;;; Copyright =C2=A9 2016 Ludovic Court=C3=A8s > ;;; Copyright =C2=A9 2018 Tobias Geerinckx-Rice > ;;; Copyright =C2=A9 2021 Maxime Devos > +;;; Copyright =C2=A9 2024 Daniel Ziltener > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -36,13 +37,16 @@ (define-module (gnu packages smalltalk) > #:use-module (gnu packages fontutils) > #:use-module (gnu packages gl) > #:use-module (gnu packages glib) > + #:use-module (gnu packages image) > #:use-module (gnu packages libffi) > #:use-module (gnu packages libsigsegv) > #:use-module (gnu packages linux) > #:use-module (gnu packages multiprecision) > #:use-module (gnu packages pkg-config) > #:use-module (gnu packages pulseaudio) > - #:use-module (gnu packages xorg)) > + #:use-module (gnu packages version-control) > + #:use-module (gnu packages xorg) > + #:use-module (gnu packages xdisorg)) You're missing a few imports : (guix gexp) (gnu packages gtk). >=20 > (define-public smalltalk > (package > @@ -184,3 +188,63 @@ (define-public squeak-vm > interactively extensible Web sites.") > (home-page "http://squeakvm.org/") > (license license:x11))) > + > +(define-public pharo-vm > + (package > + (name "pharo-vm") > + (version "10.1.1") > + (source > + (origin > + (method url-fetch) > + (uri (string-append "http://files.pharo.org/vm/pharo-spur64-headles= s/Linux-x86_64/source/PharoVM-" version "-32b2be5-Linux-x86_64-c-src.tar.gz= ")) You should keep the lines under 79 characters. If you need, you can split a line with a \ character before the end of the line. I'm also not sure we wouldn't want the github code directly, since we want to cross-compile when possible, and this seems specific to x86_64 architectures. > + (sha256 > + (base32 > + "1hbkvfrw57sz5nw48z64789yjcry9l1am4hmkndy9dd6i06n2c2n")))) > + (build-system cmake-build-system) > + (arguments > + (list > + #:configure-flags > + #~(list > + (string-append "-DPHARO_LIBRARY_PATH=3D" > + (assoc-ref %outputs "out") "/lib") > + "-DGENERATED_SOURCE_DIR=3D." > + "-DALWAYS_INTERACTIVE=3Don" > + "-DBUILD_IS_RELEASE=3Don" > + "-DGENERATE_SOURCES=3Doff" We should try when possible to generate sources and vm instances. Here it seems to be a classic bootstrap chain: each major version of pharo is used to build the next. Let's hope there's not a lot more dependencies along the chain. Do you feel confident enough with guix and is your computer beefy enough to tackle this? > + "-DBUILD_BUNDLE=3Doff") > + #:phases > + #~(modify-phases %standard-phases > + (delete 'check) You should rather use #:tests? #false and explain in a comment why tests are not present. > + (delete 'validate-runpath) > + (add-after 'install 'really-install > + (lambda _ > + (let ((bin (string-append #$output "/bin")) > + (lib (string-append #$output "/lib"))) > + (mkdir-p bin) > + (mkdir-p lib) > + (copy-recursively "./build/vm/pharo" > + (string-append bin "/pharo")) > + (for-each (lambda (file) > + (let ((inode (string-append "./build/vm/" fi= le))) > + (copy-recursively > + inode > + (string-append lib "/" file)))) > + (with-directory-excursion > + "./build/vm" > + (find-files "." > + (lambda (file stat) > + (string-contains file ".so")))= )) > + (wrap-program (string-append bin "/pharo") > + `("LD_LIBRARY_PATH" prefix (,lib))))))))) This phase can be reduced to: (add-after 'install 'really-install (lambda _ (install-file "./build/vm/pharo" (string-append #$output "/bin")) (for-each (lambda (file) (install-file file (string-append #$output "/lib"))) (find-files "./build/vm" "\\.so")))) Isn't there a way to replace this last phase by carefully chosen Cmake flags? I couldn't, but would be great if possible. I've fixed the part about rpath, will be adding a patch over that, you may use it as a basis for a v3. > + (inputs > + (list libffi > + libgit2 > + cairo > + freetype > + pixman > + libpng > + util-linux)) > + (synopsis "This is the VM used by Pharo") I like to write my synopses as action statements, answering the question=20 What can you do with this package? > + (home-page "https://www.pharo.org") > + (description "This is the VM used by Pharo.") Be more specific about description : what is Pharo? What can you do with this package? You may also add the PharoVM features from Github repo wrapped in a @itemize / @end itemize texinfo snippet. > + (license license:expat))) --=20 Best regards, Nicolas Graves From debbugs-submit-bounces@debbugs.gnu.org Mon May 20 08:49:39 2024 Received: (at 69918) by debbugs.gnu.org; 20 May 2024 12:49:39 +0000 Received: from localhost ([127.0.0.1]:42503 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s92SR-0004Hp-2H for submit@debbugs.gnu.org; Mon, 20 May 2024 08:49:39 -0400 Received: from 9.mo583.mail-out.ovh.net ([178.32.96.204]:57227) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s92SK-0004Hh-Ij for 69918@debbugs.gnu.org; Mon, 20 May 2024 08:49:38 -0400 Received: from director4.ghost.mail-out.ovh.net (unknown [10.108.9.217]) by mo583.mail-out.ovh.net (Postfix) with ESMTP id 4VjcpF43DTz1K9D for <69918@debbugs.gnu.org>; Mon, 20 May 2024 12:49:25 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-r5k27 (unknown [10.110.178.126]) by director4.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 370471FEA4; Mon, 20 May 2024 12:49:25 +0000 (UTC) Received: from ngraves.fr ([37.59.142.101]) by ghost-submission-6684bf9d7b-r5k27 with ESMTPSA id j65ECdVGS2Y0xRkAb+Urzg (envelope-from ); Mon, 20 May 2024 12:49:25 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-101G0042ed54358-ef8a-47d5-bc79-db15e56b83e7, 0E6CD9AF786AA7012C66619A9115F302AB4872EE) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.146.208 From: Nicolas Graves To: 69918@debbugs.gnu.org Subject: [PATCH v2] gnu: Add pharo-vm. Date: Mon, 20 May 2024 14:49:18 +0200 Message-ID: <20240520124921.7417-1-ngraves@ngraves.fr> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 5103985755846468133 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvledrvdeitddgfeefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomheppfhitgholhgrshcuifhrrghvvghsuceonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqeenucggtffrrghtthgvrhhnpeefjedutddvuedvffefgeeuveevleffgfffvdejfeehjeeijeeltdfhieehteffjeenucffohhmrghinhepshhquhgvrghkvhhmrdhorhhgpdhphhgrrhhordhorhhgnecukfhppeduvdejrddtrddtrddupdekuddrieejrddugeeirddvtdekpdefjedrheelrddugedvrddutddunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpehnghhrrghvvghssehnghhrrghvvghsrdhfrhdpnhgspghrtghpthhtohepuddprhgtphhtthhopeeileeludekseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehkeefpdhmohguvgepshhmthhpohhuth X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 69918 Cc: dziltener@lyrion.ch, ngraves@ngraves.fr 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 (-) * gnu/packages/smalltalk.scm (pharo-vm): New variable. Change-Id: I7238a8e1e4602192a85772ef2f35081d267ec892 --- gnu/packages/smalltalk.scm | 67 +++++++++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm index 64146813d1f..a27237ef815 100644 --- a/gnu/packages/smalltalk.scm +++ b/gnu/packages/smalltalk.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Ludovic Courtès ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2021 Maxime Devos +;;; Copyright © 2024 Daniel Ziltener ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +24,7 @@ (define-module (gnu packages smalltalk) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) @@ -36,13 +38,17 @@ (define-module (gnu packages smalltalk) #:use-module (gnu packages fontutils) #:use-module (gnu packages gl) #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) #:use-module (gnu packages libffi) #:use-module (gnu packages libsigsegv) #:use-module (gnu packages linux) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages version-control) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg)) (define-public smalltalk (package @@ -184,3 +190,62 @@ (define-public squeak-vm interactively extensible Web sites.") (home-page "http://squeakvm.org/") (license license:x11))) + +(define-public pharo-vm + (package + (name "pharo-vm") + (version "10.1.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://files.pharo.org/vm/pharo-spur64-headless/Linux-x86_64/source/PharoVM-" version "-32b2be5-Linux-x86_64-c-src.tar.gz")) + (sha256 + (base32 + "1hbkvfrw57sz5nw48z64789yjcry9l1am4hmkndy9dd6i06n2c2n")))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list + (string-append "-DPHARO_LIBRARY_PATH=" #$output "/lib") + "-DGENERATED_SOURCE_DIR=." + "-DALWAYS_INTERACTIVE=on" + "-DBUILD_IS_RELEASE=on" + "-DGENERATE_VMMAKER=off" ; FIXME: bootstrap chain to resolve + "-DGENERATE_SOURCES=off" ; FIXME: properly generate sources + "-DFEATURE_COMPILE_GNUISATION=on" + "-DBUILD_BUNDLE=off" + "-DWITHOUT_DEPENDENCIES=on" + (string-append "-DCMAKE_INSTALL_PREFIX=" #$output) + ;; add libraries of the project itself to rpath + (string-append "-DCMAKE_INSTALL_RPATH=" #$output "/lib") + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE") + #:tests? #false ; no tests + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-rpath + (lambda _ + (substitute* "cmake/Linux.cmake" + (("set\\(CMAKE_C_FLAGS \"\\$\\{CMAKE_C_FLAGS\\}\ + -Wl,-rpath=\\.\"\\)") + "")))) + (add-after 'install 'really-install + (lambda _ + (install-file "./build/vm/pharo" + (string-append #$output "/bin")) + (for-each + (lambda (file) + (install-file file (string-append #$output "/lib"))) + (find-files "./build/vm" "\\.so"))))))) + (inputs + (list libffi + libgit2 + cairo + freetype + pixman + libpng + util-linux)) + (synopsis "This is the VM used by Pharo") + (home-page "https://www.pharo.org") + (description "This is the VM used by Pharo.") + (license license:expat))) -- 2.41.0