From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Tomas Volf <~@wolfsden.cz> Newsgroups: gmane.lisp.guile.bugs Subject: bug#68505: [PATCH v2] Add more detailed instructions into the HACKING file. Date: Tue, 16 Jan 2024 13:50:26 +0100 Message-ID: <20240116125109.14779-1-~@wolfsden.cz> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15724"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Tomas Volf <~@wolfsden.cz> To: 68505@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Tue Jan 16 13:53:24 2024 Return-path: Envelope-to: guile-bugs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rPiwW-0003vl-9C for guile-bugs@m.gmane-mx.org; Tue, 16 Jan 2024 13:53:24 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rPiwE-0004EW-RY; Tue, 16 Jan 2024 07:53:10 -0500 Original-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 1rPiwA-0004E4-Da for bug-guile@gnu.org; Tue, 16 Jan 2024 07:53:02 -0500 Original-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 1rPiwA-0004jB-45 for bug-guile@gnu.org; Tue, 16 Jan 2024 07:53:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rPiwA-0004ev-Eg for bug-guile@gnu.org; Tue, 16 Jan 2024 07:53:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Tomas Volf <~@wolfsden.cz> Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Tue, 16 Jan 2024 12:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 68505 X-GNU-PR-Package: guile X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.170540953317838 (code B ref -1); Tue, 16 Jan 2024 12:53:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 16 Jan 2024 12:52:13 +0000 Original-Received: from localhost ([127.0.0.1]:48076 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rPivM-0004de-Tu for submit@debbugs.gnu.org; Tue, 16 Jan 2024 07:52:13 -0500 Original-Received: from lists.gnu.org ([2001:470:142::17]:46258) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <~@wolfsden.cz>) id 1rPivL-0004dI-Gs for submit@debbugs.gnu.org; Tue, 16 Jan 2024 07:52:11 -0500 Original-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 <~@wolfsden.cz>) id 1rPivF-00042M-FL for bug-guile@gnu.org; Tue, 16 Jan 2024 07:52:05 -0500 Original-Received: from wolfsden.cz ([37.205.8.62]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <~@wolfsden.cz>) id 1rPivC-0004Xm-RL for bug-guile@gnu.org; Tue, 16 Jan 2024 07:52:05 -0500 Original-Received: by wolfsden.cz (Postfix, from userid 104) id 41597256C40; Tue, 16 Jan 2024 12:52:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1705409520; bh=u2zVDWlDHnq3NaePZBg35DxbdfNyjlp4ypDvPYUsoCk=; h=From:To:Cc:Subject:Date; b=h9kAWfq9IyN6WaGvl5tMmOwF6nqZYne8wvLdBFSe+V7qZ4T//BFwmdDWaai4P4wGQ Mv/IpBEGErHckBl2zYbf42GcxlaiVWBJAIb6OoRI3E0GxNIQT0Pa1LDMrbeBIgMHay lHy2bKyOND5yW7SYe9ctFMZKd5BPb01AnHiq/wVCu3HD62JIzfGhlU6xh7rT5mJww5 12e6ArF0iKuWEY8x2Zy1BZlkrGpXiHkA/Ls6xXLOecFmAks2gxtXeyYn4h08rgtoY9 vK/uc43IOWf2AI7gk8J+b1qOZRa3JR7NnSmMCUdkH4xK1cjl6f3fU0MC9GM3CCNwHB vOOJGeiYU1hcpTb7rt8CYNp9U/JcAzSGo9c03g9qUUY4XlKHFitFt1Gf0WgI6JO40Z srA0992+329Csm1lWvyrzSBJOLbTGLciH65Mn4A53UpkTrgN8g3w37AJj3E1Jrx0e0 GigP/FtVPKMjzXK0gr6P3r/0sWzgY8Dynb4rew712bdVaAOUNecpGCKuRkGlh0a0Gr 1czGjllMY7B/VZNq1T1JEFFCGCOX01gtr/RHHOv4nT5jwb4rBqXk58rujGAc+yJu9V /rXUemoN4Hamcv3pxdNs6Qrcma/TuQFmmjdPDmIvOUmjfvdOdSr44YM56k0U49/Vor hhx3y9tOy57wmNqb4AQPNU+k= Original-Received: from localhost (unknown [81.17.16.72]) by wolfsden.cz (Postfix) with ESMTPSA id 8FC77256C39; Tue, 16 Jan 2024 12:51:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1705409519; bh=u2zVDWlDHnq3NaePZBg35DxbdfNyjlp4ypDvPYUsoCk=; h=From:To:Cc:Subject:Date; b=f4rgnNBL/fDuAM8ybxX5Eip9z48j/CykALNWDfkUP//8NBLPJF58+FWVz7AQVFfxQ z4xAA2l4DiidBWMnIN9QdBgRJi2p4wTzu3/Ple8Q1ZTPtECaITk43OI5kB4SHDs9Rr KWfvP5txwqIsXWfXayHovAQqKEfiMXTZnmlwwJBNmZN/6OvyX7BmBf2GUpyi8ntVb3 fOcjvZQztW3HxZe4/5TgEs2Q4iSIjNu1hzN7XvN9QAdvMWPWxvyaxUnyq9MAtuZ3ot qv22e3dKKq4YNifdBkvY/Id6Za65FUpX7m2WsPmq8ce1o+iMqZgU557NWu35Yiy2Ak +PyK7xI6FQM9HJfLhG4pCD+Ak9r3MoZbIEqBPJRX/acSTizYuD1QNF2zHtJq/pU3yI liVYLXEjJJWznprSz6+o9kALBG4Le9WUxh/Npp/F1RsHfmVR1xMgXRMt18RxUjvt1q 9KjGqK3LWNTirm18g96fPwDSm1LjjLt9DOdvd1sKluqNSKxWomtCBkBuyhrlEpQXET 52PzAq8wAw8teix4JP1l+KC+UybeBIklIQF918IGULx1d3u7iHq/7zmOCwT6cQEAC9 1AZJsWteUbxyagHXXff0FQkNRGcXBIzNqPl/Xr+XUDEq/0nlcQrBL3nhX8WVSk1Ywd bPhli2sLwYkhUi0c0DBok6ho= X-Mailer: git-send-email 2.41.0 Received-SPF: pass client-ip=37.205.8.62; envelope-from=~@wolfsden.cz; helo=wolfsden.cz X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.bugs:10752 Archived-At: Until now, the ./meta/guile was not mentioned anywhere, and therefore it was not obvious how to run the locally compiled Guile without installing it. While modifying the file, I took the liberty to also mention a bit about compiling Guile using Guix. Finally, the header lines where cleaned up, ensuring all of them end at 70 and have a leading space. * HACKING (Hacking It Yourself): Add Guix instructions. Add a note about meta/guile script. (Sample GDB Initialization File), (Naming conventions): Clean up the header line. --- v2: Add note regarding JIT and GNU Hurd. Add note regarding -fexcess-precision. Add --disable-static and explain it. Previous discussion happened on the mailing list. HACKING | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/HACKING b/HACKING index 387643bf7..5926fb275 100644 --- a/HACKING +++ b/HACKING @@ -26,6 +26,40 @@ http://www.gnu.org/software/guile/mail/mail.html for more info. Hacking It Yourself ================================================== +You can spawn a shell with all the required dependencies using GNU Guix +by running the following command: + + guix shell -D -f guix.scm --pure + +In this way, you can effortlessly compile Guile from the Git checkout +with just these three lines: + + guix shell -D -f guix.scm --pure -- ./autogen.sh + guix shell -D -f guix.scm --pure -- ./configure \ + --enable-mini-gmp --disable-static + guix shell -D -f guix.scm --pure -- make + +Disabling of the static libraries is optional, but it does speed up the +builds, and you are unlikely to need them for local development. + + Note: Currently JIT causes Guile to crash in obscure ways on GNU Hurd, + so on that platform you want to also pass the --disable-jit flag + to the configure script. + + Note: On any i*86 architecture, you also need to pass in the compiler + flag -fexcess-precision=standard in order to get the test suite + to pass. That can be done by passing an additional argument to + the configure script: + CFLAGS='-g -O2 -fexcess-precision=standard' + +Once that finishes, you can execute your newly compiled Guile using the +./meta/guile script: + + $ ./meta/guile -v | head -n1 + guile (GNU Guile) 3.0.9.139-d7cf5-dirty + +For more manual approach, read on. + When Guile is obtained from Git, a few extra steps must be taken before the usual configure, make, make install. You will need to have up-to-date versions of the tools as listed below, correctly installed. @@ -73,7 +107,7 @@ Here is the authoritative list of tool/version/platform tuples that have been known to cause problems, and a short description of the problem. -Sample GDB Initialization File========================================= +Sample GDB Initialization File ======================================= In GDB, you probably want to load the gdbinit file included with Guile, which defines a number of GDB helpers to inspect Scheme values. @@ -215,7 +249,7 @@ The goal is to reduce (and over time, eliminate) spurious diffs. For Emacs users: (add-hook 'before-save-hook 'delete-trailing-whitespace) -Naming conventions ================================================= +Naming conventions =================================================== We use certain naming conventions to structure the considerable number of global identifiers. All identifiers should be either all lower -- 2.41.0