From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46992) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQcES-00006x-5W for guix-patches@gnu.org; Sun, 17 Dec 2017 11:56:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eQcEM-0005Ve-VQ for guix-patches@gnu.org; Sun, 17 Dec 2017 11:56:06 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:58827) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eQcEM-0005VW-Rs for guix-patches@gnu.org; Sun, 17 Dec 2017 11:56:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eQcEM-00087T-Gw for guix-patches@gnu.org; Sun, 17 Dec 2017 11:56:02 -0500 Subject: [bug#29745] [PATCH 0/3] Disallow phase returning . Resent-Message-ID: From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20171216231242.12032-1-arunisaac@systemreboot.net> Date: Sun, 17 Dec 2017 17:55:15 +0100 In-Reply-To: <20171216231242.12032-1-arunisaac@systemreboot.net> (Arun Isaac's message of "Sun, 17 Dec 2017 04:42:42 +0530") Message-ID: <87efnt9tvw.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Arun Isaac Cc: Ricardo Wurmus , 29745@debbugs.gnu.org Hi! Arun Isaac skribis: > Patch 1 modifies gnu-build-system to explicitly check the return value of= each > phase for an unspecified value, and if found consider that phase to have > failed. > > Patch 2 fixes several phases in gnu-build-system by making them return #t > instead of an unspecified value. > > Patch 3 fixes the phases in several packages to return #t instead of an > unspecified value. I was testing patch 1, by trying to build bash. In doi= ng > so, I found that the custom phases of many packages were not properly > returning #t, and fixed all those packages. No doubt, there are many more > packages that need fixing. > > Arun Isaac (3): > build: gnu-build-system: Disallow phase returning . > build: gnu-build-system: Return #t from phases. > gnu: Return #t from phases. Even though I think it=E2=80=99s a good idea to explicitly return a Boolean value from build phases for clarity, I=E2=80=99m reluctant to patch 1. My objection is that it ends up defining a notion of =E2=80=9Ctrue=E2=80=9D th= at=E2=80=99s different from that of Scheme (in Scheme, #f is the only false value; everything else is true, including =E2=80=9Cthe unspecified value=E2=80=9D= =E2=80=94see =E2=80=9CDisjointness of types=E2=80=9D in the R5RS.) Patches 2 and 3 LGTM. However, =E2=80=98core-updates=E2=80=99 is supposedly frozen right now (I= =E2=80=99m Cc=E2=80=99ing Marius who is the de facto =E2=80=98core-updates=E2=80=99 manager :-)). So= perhaps we should hold on until the next =E2=80=98core-updates=E2=80=99 is open. What do people think? Thanks, Ludo=E2=80=99.