From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id MOSnKrVXFGVgeQAA9RJhRA:P1 (envelope-from ) for ; Wed, 27 Sep 2023 18:26:29 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id MOSnKrVXFGVgeQAA9RJhRA (envelope-from ) for ; Wed, 27 Sep 2023 18:26:29 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 218C63D5B7 for ; Wed, 27 Sep 2023 18:26:29 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=wolfsden.cz header.s=mail header.b=OZTBSoCK; dkim=pass header.d=wolfsden.cz header.s=mail header.b=wudYk7IK; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=wolfsden.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1695831989; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=iJnbnIZ0c/s0CiIGwA/T+D7EOSqDjPSURCpv3RqQkIA=; b=FFLLQ3r0y1Yj4YDQeFThthxbJ+iB4XIuuPfEtwzZZkQHSQyd/AuMT+r/eUdr/krlP26/q4 Imu55JW6KI7bSeaLZqOhN/tFdOklkaYdnl8UlwKdxo+Vdy7Y7EOgxMxotoYDmUT71BjuXN DYhLhQFkabamk+dlWoGfUYY7mkUjGfrQew4fYs/SM3+vdHDrUI3UUJi4tqGTHDZQSoYQRA eJJtX7A31m4WCVFTFw1WV4Iv3LcXs7i624wF7baYATl/pVQ7lf/ZzwPvwa/JTNaLZak3Xy i/ciYokz76x+X5M4Ik6XJYByY5v0gyEG4zy+88KB2cOR5V7ySnkia995ILbKiQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1695831989; a=rsa-sha256; cv=none; b=ag4TqXNrvGkplOtiOF60Bk1bMRuBTA7zlkqWJBhHevoJqe6UF6+J6hZcqKuy0s63KdQG/1 /GaRKKF0MT98gwBbqZhTI3AkQB2HEaQwWSr7W1+g4ZiPYCwYDQix258YuXF1bDxnO2UZwV wuugXXxmeEaDC43/Q41Ja9toRArJ2+rCd3NztXkstC93NmLELs+FjJbSy2IKZV+YV+XeZc hRx+UK1m8ocXFdGFtsWXKiX+ZGBHsLLnyO3PY7FQQbz32cOrX++L/KVKi3VY8H9IHa9Azz eF6Mr/9a7t+LcCxZXZrVDNfY0MlglDiHumCv+qbJmN1PUyXQx6RQLrLK+4u0ow== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=wolfsden.cz header.s=mail header.b=OZTBSoCK; dkim=pass header.d=wolfsden.cz header.s=mail header.b=wudYk7IK; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=wolfsden.cz Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qlXMN-0004C6-Jc; Wed, 27 Sep 2023 12:25:59 -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 1qlXML-0004Bx-MV for help-guix@gnu.org; Wed, 27 Sep 2023 12:25:57 -0400 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 ) id 1qlXMJ-0003ID-4E for help-guix@gnu.org; Wed, 27 Sep 2023 12:25:57 -0400 Received: by wolfsden.cz (Postfix, from userid 104) id 92CDE260711; Wed, 27 Sep 2023 16:25:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1695831949; bh=jHnSurSiIKxZj7grnNGxXaszdSpVwYkb/shBEtapcXU=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=OZTBSoCKrT9WQlU3IUW04v6Am5V7I2Ptarb29XVArUWedLgJkc45dGVz9fRN0hVnO WaXKvMwmaQ5poPdaJLBKgFyk5OPWVFj66SkThz0oW1X/GF8N6xDb2cBdP4fIL94MAi 3/ElaIcE223PSi5ykkqyGxgmIgB4uyodmv4s3WItnousAxFxEY3oM1Z3zrDI05qePQ 819qrcYMTB4J3yb6ug1EZnRXB3ShrCYZxHOGZ5POn7zkBUKBL3iLh/2gslTFL7YbFt la/8rpyZehGL6kc3z+9LERwhl2PX/P+fn4aviu3XL2fCQWC+ns7ROe8SiJZZhsYiJN +ONOM/rO3+8SpiZH9zv/CjWCR/SEGXttaFwV6AaJ7MFOdC9bMUeZL1AcCvbVMf0ol5 eubDrvbqMkvm+0ydmJr4olAkjkQYfrahLRgh+lNYZ9O9Krrv0g3IvITqJDvoP+RdOI d5IYzpOdpnyqlrR7ae+R+6Y+dKP1v1zsfZugVstdQA+oKVq+aQGgpqFgVof7LPHX49 LvcYv6NtAnHyB3tIeVKs12bKecTLfCC+eTvZmaLy37zejaMPun99ww4fzEbDUn6keU Uk0rqB067CZrGlNdzGYADGYc3sEI87/nKE41Vu3GghPcjXRYdpVjcdsTPcFI7UoWBq O66Z1iwclWt35+KoguH5otgY= Received: from localhost (unknown [193.32.127.157]) by wolfsden.cz (Postfix) with ESMTPSA id 0633725FE20; Wed, 27 Sep 2023 16:25:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1695831948; bh=jHnSurSiIKxZj7grnNGxXaszdSpVwYkb/shBEtapcXU=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=wudYk7IKdpAFLImJ6rrJo3FYCfIAQ+GhGPsvfhjKD2FvvAEiqi1S3dXNE9uopkuVR a+JaCrtZX2/0Jo/WAl4sH4W1SLEjcN9nXvfpUZlfWdxadqR46PcxIctyTDp17/nwp3 zznfjYsRSsgCVfT/lmrrAabJoTbNEoPDIQ7IG6L2/yauds32CpziqoGo5q3773NW3D PxS7EcnNIdzWXdoYCMtbsN38a6W1m2mczLvQarFPxU30/ucDt8b/zU1Mm1fybxMasV q4vgkP4rkC5qsmcuq9lyXwBRuBK3Qy4NkLIw1XWKAZV9YTzpu3SHamn3M7sMdBaGFs QCxOSVHc2OYwjfbe+J6f+MvfA6wsSRag4p0YB3mg5Qe4t0XoAK6AnuQRIqO2MJPFwE oQwTDKjEcPZQTtO4h05hJ+tDuttSxoNwQcKczZtiqM87GPTollWGe3U2OleAeDX3do QZ6feFSsaex8LyeyB//ojqo2VEm5YBxuQwEQsh7UPbsXdyXlFgqGktZ7MWhYBsUsyc IQoDMLEAzFW5YLlz5nNQHD8GnN4ftDDnxO2Qt2XFQ4OuZ0OCAez2oMQlu4W3HMtAKC 7keDAcepw0rWZIwFW1zALLHo8gSArIvDJH0nDy5aBKJWnPpCj4qDIc4WjfrLk8JePE RtHgMcQq9rd+lTImGmQUgQYw= Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id 68242e04; Wed, 27 Sep 2023 16:25:47 +0000 (UTC) Date: Wed, 27 Sep 2023 18:25:47 +0200 From: wolf To: Daniel Littlewood Cc: Ekaitz Zarraga , help-guix@gnu.org Subject: Re: Development shell for diffutils does not appear to work - what am I doing wrong? Message-ID: Mail-Followup-To: Daniel Littlewood , Ekaitz Zarraga , help-guix@gnu.org References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="EyGby7tL/ic4DElq" Content-Disposition: inline In-Reply-To: Received-SPF: none client-ip=37.205.8.62; envelope-from=ws@wolfsnet.cz; helo=wolfsden.cz X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_PASS=-0.001, SPF_NONE=0.001, UNPARSEABLE_RELAY=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Spam-Score: -8.07 X-Migadu-Spam-Score: -8.07 X-Migadu-Scanner: mx1.migadu.com X-Migadu-Queue-Id: 218C63D5B7 X-TUID: pIG6m5CINoHZ --EyGby7tL/ic4DElq Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2023-09-27 11:58:32 +0100, Daniel Littlewood wrote: > Hi Ekaitz, thanks for you reply! >=20 > Reading the docs a second time, I think I did misunderstand the > --development argument. The docs say > > Cause guix shell to include in the environment the dependencies of the = following package rather than the package itself. > and I took "dependencies" to mean "build dependencies". But perhaps it > just means the runtime ones? > So as you say, you could download the release tarball of diffutils and > be able to run it, but not necessarily to build it from the source. > I wonder why the flag is called "development" when it doesn't allow > you to develop the package. I think your confusion here stems from not understanding how (not only, not= all) GNU project in general operate as far as release management goes. Most GNU project do provide something called release tarball, which is an archive intended for consumption by distributions/end-users. This archive is (for autotools projects) created by running `make dist'. This is the archive distributions (including Guix) use for building the package. The advantage of the archive is that it contains some already generated fil= es. For example, when building the archive, you usually start by running `./configure', since that file is provided as part of the archive. When building from VCS, you usually start with some variant of `./bootstrap'. The implication (and source of your problem) is that less software is requi= red for the build from the archive compared to the VCS. And that is a good thi= ng! For example autotools can be sensitive quite a bit to the version (you need= to have the correct one). However the generated configure script is insanely portable, so you can (for example) build the project even on distributions = that do not package autotools 2.69 anymore. So if you download the archive, and use the -D, you will be able to build i= t. However, for VCS checkout you need to provide the additional packages yours= elf (as you already figured out). Hope this sheds some light on the cause. > Perhaps it refers to developing guix? >=20 > I did exactly as you suggest yesterday and did manage to find all the > dependencies (although I didn't manage to build it in the end, but I > don't know the root cause yet). In fact the very next documented > config option looks like it may be able to build autotools. They give > an example for including the base packages: > guix shell -e '(@ (gnu) %base-packages)' > Perhaps there is a similar expression for importing everything in a > specific build system? >=20 > Since I was mixed up between building and installing, I also wonder > whether this is what `guix build` is for. Or, equally, if I copy the > definition of diffutils in base.scm and then do `guix shell -f > my-diffutils.scm` maybe it will build itself? It certainly seems to > have all the necessary information to do so. >=20 > I'll test those options later, thanks! > Dan >=20 > On Wed, Sep 27, 2023 at 11:08=E2=80=AFAM Ekaitz Zarraga wrote: > > > > > > > > > > > > ElenQ Technology > > > > > > ------- Original Message ------- > > On Tuesday, September 26th, 2023 at 08:08, Daniel Littlewood wrote: > > > > > > > Hi guix help, > > > > > > I want to try out making a simple change to the program `diff`, which > > > is part of GNU diffutils: > > > https://packages.guix.gnu.org/packages/diffutils/3.8/ > > > I'd like to set up a dev environment, patch diff.c, rebuild it and try > > > out the new binary. Maybe install it globally later, but I'm not there > > > yet. > > > I cloned the diffutils repo from > > > https://git.savannah.gnu.org/git/diffutils.git, and in that directory > > > ran > > > `guix shell git vim nnn -D diffutils` (but I think it's just the -D > > > diffutils I'm having trouble with). I believe that the > > > -D/--development argument should produce a shell within which I can > > > build `diff`. > > > The README says that the first step is to run `./bootstrap`, but that > > > fails because of several missing packages. I don't have the full list > > > right now, but I think autoconf was one, and texi2pdf was another. > > > > > > The packaging for diffutils clearly works (since I can install it), so > > > I wonder if it does something different from what I'm attempting? I > > > couldn't find the scheme file that defines diffutils, but I'm not sure > > > I'd be able to read it anyway (I'm really trying out guix for the > > > first time). > > > > > > Thanks for reading, please let me know if I can provide more info. > > > Dan > > > > > > > > Dan, > > > > I don't think you are doing anything wrong. I don't know why but > > when doing `-D package` guix is often not adding all the development > > dependencies as it doesn't load autotools and related things to > > the shell. > > > > You have to add them by hand. > > > > Also, diffutils downloads a tar.xz which probably has the bootstrap > > step already done because it is considered a release source code. > > > > You are working from development code I expect, which probably needs > > some extra tools. > > > > What I would do: go adding them to the shell one by one as the build > > system complains until it doesn't complain anymore. They will > > probably be `texinfo`, `automake`, `autoconf`, `libtool` and maybe > > I'm missing something... If you add them as you go you shouldn't > > leave anything out. > > > > Also, this is an interesting call. It might be cool to have a way to > > add those directly... I don't know what is best but probably with > > some kind of flag we should add all the deps from the build-system > > too. > > And also, have all the `autotools` in just one package because I > > always forget some of them. > > > > I may start another thread with that... > > > > Thanks for your question, it is a very valid one! It happened to me > > before, too, and it's pretty annoying. > > > > Hope this helps, > > Ekaitz > Have a nice day, W. --=20 There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors. --EyGby7tL/ic4DElq Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEt4NJs4wUfTYpiGikL7/ufbZ/wakFAmUUV4sACgkQL7/ufbZ/ wanTaRAAqJU0ISY60nZQtpxGStGtyQW9yz4v7HNR5rYjiwPEGPwIGnUgmXMGpcZp 8KeLtl+lZhAmKqKxO/6fFU6DGssHzugC/lfdguLSmzxp1/8IRcy8hHFpFODAXyEC GLVmCxMz8JDIew9DyznbUp+coXDE9tOiJsJ6rycmvWx1Ny6K46+lFytlw2sw14Pu WU+9gDg8gUjuf6OIJzigWWKd8581EqVwvZ0Q3hoaqZ7DBx2TrGsCghq8d/M9tBIg gmTlq/jnU0oC7brCQl7DLVezkBWgjb0V5UeNfQDHdGyn4CR6AFuz7zIIXiGqbFb7 NtD3YaLk+vBUKLdsg44f6BygHH5WIlgTAUQ4Jygi+lYMAgce+tP4NrbNInTzh9lV Tmf5FCqTpzNWRag37lI5l/jvNMqqC9ZreWjT8MeL5JiIBiekxtWxFARX9lHlVKAf Tmjfa0+HftuqaFTt2pEU9CGoeRQ9xesDcKy90SELJNjFoV1y4jZmVjiSBvitBSTs 1F7+gjsZo4b+0xMj9R/GdmUTF3/MCeidfSbvL7EunTLVRW6mSq4ifCKjC8dCLS1r 3yKfAogOKAJzvyOTUQJLMMKcUNth0G9AOPsgl+RBybRA8k12Mrjsoawlj4Bg09od dMjCfihcdp2EwAwA9qZPKk3wmc13gJns7iX5OsNnxLAhfsFaxFE= =wHdq -----END PGP SIGNATURE----- --EyGby7tL/ic4DElq--