From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id WMebEmjFWGOK4gAAbAwnHQ (envelope-from ) for ; Wed, 26 Oct 2022 07:28:08 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id wPiJEmjFWGP2MAAA9RJhRA (envelope-from ) for ; Wed, 26 Oct 2022 07:28:08 +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 E976A2E234 for ; Wed, 26 Oct 2022 07:28:07 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1onYvT-0005Xp-C6; Wed, 26 Oct 2022 01:26: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 1onYvR-0005Xe-Ol for guix-devel@gnu.org; Wed, 26 Oct 2022 01:26:01 -0400 Received: from mail-ed1-x543.google.com ([2a00:1450:4864:20::543]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1onYvQ-0003Yy-4A for guix-devel@gnu.org; Wed, 26 Oct 2022 01:26:01 -0400 Received: by mail-ed1-x543.google.com with SMTP id y12so19427516edc.9 for ; Tue, 25 Oct 2022 22:25:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=MkKNGW0Oq3GfBvVlCGuDVKTglnQIldboQmAhVT7emzI=; b=n1+eolLZngQrQrcDZB+uDgwxzhPDjzZg7MGRgpjM9rgTB4p6XRue8Eqy1rgtVLiHLU j8jF2j/uBnk4srxDe7WZoJY5gDfAioCcL46XXt39o9aqvFz7hs/PIFvO98Y6BbsA1ug0 K3BvnHiqRgqzTPrb4eU/FUPeDN0auQJbuJxjtJvrh9Tz8TCwTGWWxOm4Lkh+cBpC5Vij 2p3qkI9mCJI9GyAcX8H3RUb2yRyFMRkiD+6D2bN48f4zg/Zqp5WT1SoNKGqFb+98otC6 /mkuC6rxKFalBLAttBnWQrO+oOfe1veHb1/xZkftvARrkmvioTD8zUnyxVvdVDIyK/J0 /QdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=MkKNGW0Oq3GfBvVlCGuDVKTglnQIldboQmAhVT7emzI=; b=RdERwAitCfF83FzTOV8PUsqkoaolNPSE1e5ogyAgWT1HR11hBi8vP/IbcVGVMc+BWt s6n52S3NyKlmMZQ3+1Ye4K7ZhzRWsUUG3FRRhU2GNoSQXDcmDEy0TTWm9Lo2GCzx1ZA5 toch6wVbrf9spNz+JnyUOYHRd494qBOWF+cFLVKSfcWJCJkxC/uXgTRUS1IR2RuZEQvv reQ4GNuMdGCzFO5zWyzWudvJUhOPYFJV/gdAFTsZJVZ1fVfcwC2wBAGKLivf2usxBah2 ruCoAgClck7zQvLwyeacQiRSCfEsZeo7JyW3/69nVkcZ4e9KDVUiLxtdDZz3Z1Totapx zMBQ== X-Gm-Message-State: ACrzQf04Oy/galYByAzQZpe0Us0WW1A/JRLnZGWUa5kZ/7wnIMUka30O mWBCbFuV11GMSDcXD9AjGXc= X-Google-Smtp-Source: AMsMyM6dMzHyFZw81LvTFK+0QD8NHYWkXnjYNmAkNU9UGct/LeWzV9xOzCShjwgLcc4wKT3RWhYCyQ== X-Received: by 2002:a05:6402:2319:b0:45c:4231:de18 with SMTP id l25-20020a056402231900b0045c4231de18mr39913769eda.383.1666761958391; Tue, 25 Oct 2022 22:25:58 -0700 (PDT) Received: from lumine.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id h10-20020a170906110a00b007815ca7ae57sm2335776eja.212.2022.10.25.22.25.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Oct 2022 22:25:57 -0700 (PDT) Message-ID: <25c4c4b3f288e57bbb2e2cda78b29a229139fdfc.camel@gmail.com> Subject: Re: Exact Versions and Guix Dev Tooling From: Liliana Marie Prikler To: jgart , Guix Devel Date: Wed, 26 Oct 2022 07:25:56 +0200 In-Reply-To: <20221025204951.GC6859@dismail.de> References: <20221025204951.GC6859@dismail.de> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.0 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::543; envelope-from=liliana.prikler@gmail.com; helo=mail-ed1-x543.google.com 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Guix-devel" Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1666762088; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=MkKNGW0Oq3GfBvVlCGuDVKTglnQIldboQmAhVT7emzI=; b=PoVVqPGIs8ysIyU4WS0rySj1lCZdQKPZB22T70OkD1ioqI/deE604bWv6ShG/e6je0zn3E 1/K3Tt78DW5faVk6IeBkBGO67/2Qh5OX4gavLCNqJ3whnAV7Op4nLUkYDGajn7sQ29BBVP Iy+cZTktnv3ckPzDNF2zk1vJQ+ZUw6Z9tS87ZiekFOMo8lKtruBttX+ltefcPjKDQrwctJ INAwWYR4Q4IKeaFumYPPqaASccxPYounOv6Cs6cvOKUHkhS109SanEJYznzKSfNfMjP+sR ihxP6exoQy1krc13Ay79Ykmur7nnQt3AUCGFd/AcbMXtrLjYXFJly/R6oYfxGQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1666762088; a=rsa-sha256; cv=none; b=fj1kdmcFNd1/hxxnEgnlogCS6vz9MpJoQlgOHh4XQcVRjpp+QcT8WXMYe6SdTbMHLSsT4G pmpKoCdfJ/TX2VgggskM32Wk3T5AIk1wTxFQ+R6j3YhPg1SUn53wSp954QvtidIwv/VGCY rsXM51XOZ5Cc3shaDHdTSi/HgqCJ5SWuOfnhHWTkgHLW5KjoQgHpzIJtHdOQoOFJ12IoO5 SzcxqToTf5UqNaNXzGpzHaYNlePRLO25njFgbxfgnG8CO5hb5tY0jlKAWJzzIR5EXMar3c SUJfxRy/1sr2E60jarTx3TDdggqeoU1nZIZm5dJnaenhbsi+JKn/6Ooy22YuWg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=n1+eolLZ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -8.21 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=n1+eolLZ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: E976A2E234 X-Spam-Score: -8.21 X-Migadu-Scanner: scn0.migadu.com X-TUID: xZSVPTDXLQ07 Hi, Am Dienstag, dem 25.10.2022 um 20:49 -0500 schrieb jgart: > Hi, >=20 > What's the Guix approach to getting exact versions for a dev project. >=20 > Should we be contributing those packages upstream or should Guix just > provide the tooling to generate exact package definitions for exact > versions that are needed in a particular project? >=20 > For example, what if a dev needs the versions of every library you're > using in a development project and they are not in Guix? >=20 > What is Guix's answer to that? Do they have to package everything and > wait for it to get merged to the master branch? You can manage channels, guix.scm and manifests however you want, including packaging stuff at random commits. The resulting files won't be much prettier than your average lock file, but I'd assume that's the point. > I'm nodding to tools like these in the Nix community: >=20 > # PureScript >=20 > https://github.com/purs-nix/purs-nix > https://github.com/justinwoo/spago2nix > https://github.com/nix-community/poetry2nix >=20 > # Node >=20 > https://github.com/nix-community/npmlock2nix > https://github.com/svanderburg/node2nix > https://github.com/serokell/nix-npm-buildpackage >=20 > # Rust >=20 > https://github.com/kolloch/crate2nix > https://github.com/oxalica/rust-overlay > https://github.com/nix-community/fenix >=20 > Is our approach currently that if you develop with Guix you have to > develop against the versions that are in Guix master or some other > branch? You can use importers for node and rust =E2=80=93 for purescript you might = be able to reuse haskell or node tooling, idk? =E2=80=93 but note that we don'= t support pulling random commits. You'd be well advised in using release versions. Again, you don't have to target Guix master and can maintain your own channel to trim down your guix.scm or you can blow it up by mentioning every package in existence down to mesboot. Cheers