From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id QMbzABBpHWddywAAe85BDQ:P1 (envelope-from ) for ; Sat, 26 Oct 2024 22:11:28 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id QMbzABBpHWddywAAe85BDQ (envelope-from ) for ; Sun, 27 Oct 2024 00:11:28 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Wl9CIuUA; 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"; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1729980687; 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:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=a72Mnapci/XwnuHGX+0b/DxqLmLC7bFrzlmNRkJnWdc=; b=j08pnpG7sixgVMA/MH7wYdVULS+Cen0IJEDxQxhkgstaPjl1iUAmIbOKyFFAEfcHJ70rfE nAI6BA5ZnvjVNP6clJWyBJFL7kY1I6srwRkz6yNoFW5kO7i6CXyRmEBbM+tPVIdBIVZAqw qsA4GXggCxTY7IHc35lzZGMTQSw7b8aqLXJooSAqAW6Gc96sX4v0Qwk+vyKT9ksRB2d7Ku PUve4ksfK5ZmsQHdqs6g15+Xy8svBw0QQyuXKJCSV06M5I+PLVoo9gHoXoXwcb9P1y6OXt k1F0p/AyLQk0Pjz+ED0DY8U/lWLvlN2JelN19AvYqZAHpGdVQO7CV/GsH4Nefw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1729980687; a=rsa-sha256; cv=none; b=mYy5Bs76+Z+5ET4fDyUHGitdFIDv0PifV785CfJChXOBPqQxU4Q93TLOCa3PVJf3MgQ5sK orWD8PQhJ1x8qCaZtWEYOieUE+zAY9fnnY5qDLO4gOBrQTzfPTZCVc6z1xRlWhOxXqB5jt XuScthjQdMHVwneuyuVK6ks7gU9H1lkZrYU7O5ZkK1bJwVGG9N4RjxxA1sYs+xIK5OnfXz ltAnmQdbEVg02OYokJlgzkGZ7g7BburjHw74qfGqFzIkzQX34DArDytYZGU1wo6V0Z+ZFz abMnVUYbIbrlB8ma27LIwv7ywNLWh6M+MkTm8N6+0O7ph+P3F7h/hNJreqndVQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Wl9CIuUA; 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"; dmarc=pass (policy=none) header.from=gmail.com 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 7EBD87D08E for ; Sun, 27 Oct 2024 00:11:27 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t4p0H-0004SW-5E; Sat, 26 Oct 2024 18:11:25 -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 1t4p0F-0004S9-Pl for guix-devel@gnu.org; Sat, 26 Oct 2024 18:11:23 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t4p0E-0001aa-6r for guix-devel@gnu.org; Sat, 26 Oct 2024 18:11:23 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4316cce103dso41156575e9.3 for ; Sat, 26 Oct 2024 15:11:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1729980680; x=1730585480; darn=gnu.org; h=mime-version:message-id:date:cc:in-reply-to:subject:to:from:from:to :cc:subject:date:message-id:reply-to; bh=a72Mnapci/XwnuHGX+0b/DxqLmLC7bFrzlmNRkJnWdc=; b=Wl9CIuUA1JL/Dei5v2O7JVgYCIwuuO2Ai8P6KmE634qqC1oH5Cpc0TFDZ/GH4skdc3 OOlJR3GUrfKtzShaxW4tyFvvMZqfUu+o+kNgvBYqTHs7/wJ94TGN4k8bIH+1UOFWPETf qzY5XGrRau1RjYWCVIY1/3ND1mgbp9AF3RPjSG1MrUjb7+qHtXDproelIjLwARluNMuc EWIiQynp0OpApy610bFfU7XAA6EgB2izf4lisqYw/+hL6zjZeRjWN0qUvbv3Uz3JFVcJ 9syBJKVkvU84j09K5M2ymsU3tADN4Lw+PEdrSJjU3KpDLm7rg2Z7A39PyKr3QAOMFxpz wD/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729980680; x=1730585480; h=mime-version:message-id:date:cc:in-reply-to:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=a72Mnapci/XwnuHGX+0b/DxqLmLC7bFrzlmNRkJnWdc=; b=ccqxB1D2mYpJA4U/+kX/QN+d/oa7L+jKkikbgSrDMkFNFknEEZzvjPvAwiBETcK8LC MIH8LAXx70f05vDQ7Udrnmp4BtVSLjWejfns5hVRcNNufX6RWvLY0ot1ByjRbFCqw9n7 Zf0+/RWxdq8jRUalNNeNgysEmp4i24Z8YCpWNE+4ZSJ76H/BT3plKNVAloUniR4CG22n xBPk5wRAsmwJ8rdD8yVDPqedxK0BODq3FYiV+1mzlRKf2BhPQdupOddHWM6E/yZgPmiT Kwkys3p1hDKXnaEnFOXh4ozNPZtSibwvzDtnm8K8IpfDp9dGW0fl/OC2H3gE7BlTpIaR BI5w== X-Gm-Message-State: AOJu0Yx2fWXbT2VvP8i5zG/TBfASIpqlLgRcD2CF/bPN3cb5Zyexlm7r Am5+/C7pkzOkOPJoTdDe90eZhYnY2b6rJMIXfYC4UZZc7aqU6/b6F9BPCf3O X-Google-Smtp-Source: AGHT+IGKnT8UEAJbCF9eZO1TA0tz1NPvEsb/OpiM3LCv/baefipgI3Y83GtdJrA19FlIi1ChSRD6EQ== X-Received: by 2002:a05:600c:19c8:b0:431:9a26:3cf6 with SMTP id 5b1f17b1804b1-4319ac6f6b7mr31468575e9.4.1729980679336; Sat, 26 Oct 2024 15:11:19 -0700 (PDT) Received: from guxtil (cpc100684-bagu15-2-0-cust967.1-3.cable.virginm.net. [86.8.111.200]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43193573ce2sm58698485e9.10.2024.10.26.15.11.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Oct 2024 15:11:18 -0700 (PDT) From: Sharlatan Hellseher To: guix-devel@gnu.org Subject: Re: Go Package with multiple subpackage In-Reply-To: 20241026004627.2ddacb81@primary_laptop Cc: : Denis 'GNUtoo' Carikli Date: Sat, 26 Oct 2024 23:11:17 +0100 Message-ID: <87ldyav7ju.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=sharlatanus@gmail.com; helo=mail-wm1-x333.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: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -6.88 X-Spam-Score: -6.88 X-Migadu-Queue-Id: 7EBD87D08E X-Migadu-Scanner: mx13.migadu.com X-TUID: 3bBEygunjBZn --=-=-= Content-Type: text/plain Hi Denis, Adding to Andreas's thesis - it's hard to be the first =) and extending your concern - start with small; small series, small contribution, small steps, but be persistent in your efforts and keep the attitude (refering to Chris Hadfield's "An Astronaut's Guide to Life on Earth"). To ease you first step - just don't think about overwhelming complexity of bringing all 500+ (or more) packages into Guix at one go, start with short logical series say 5-10. Contribution in small series is, personally as a commiter, easy to review and merge quickly than wait for months when someone has a free time slot to review long chain (I try to find time between family duties and main job). Sending small series from larger count of involved contributors makes propagation of new packages much faster, e.g. you may pack 10 projects which will be in inputs for others sent by someone else etc. Take a look at the current effort of unbundle (gnu packages ipfs) - kubo. Bit by bit and we nearly unweaved the rainbow. --8<---------------cut here---------------start------------->8--- I've also no idea about how many go packages use bundled dependencies, so maybe if there is a way to somehow un-bundle part of the dependencies it could be a road to improve the situations as the maintenance the dependencies shared by many go packages could be shared somehow (assuming people do check that when updating things it doesn't break other packages). --8<---------------cut here---------------end--------------->8--- This part may be addressed in go-build-system with default phase, removing "vendor" directory - the only way to bundle in Go ecosystem. --8<---------------cut here---------------start------------->8--- Another issue is that all that is statically built but that's part of the default go compiler if I understood well, though given how Guix works, it might easier to somehow use shared libraries (compared to more standard distributions) if some compilers that support that since we don't need very strict/strong ABI guarantees with Guix, and thanks to that, reduce build times and resources consumption (like RAM, space, etc). --8<---------------cut here---------------end--------------->8--- There is nearly 0 linking to any libraries in Go ecosystem, each "library" is a bunch of code which compiler use to build the final binary, nothing is linked in terminology of C/C++ e.g. - library from the Golang point of view is a source code (text, not blob) --8<---------------cut here---------------start------------->8--- What would be the quality of the maintenance in the long run with about 500 packages to update? --8<---------------cut here---------------end--------------->8--- No need to update all the chain to make a fresh version of final binary in most cases it's enough to refresh 2-3 packages to make build/test green. Golang does not implement any pin mechanics for dependencie versions like Rust/Cargo does. So... let's get packages be packed and review in small consistence flow, keep your altitude and let the curiosity be with you! Keep hacking. -- Oleg --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmcdaQUACgkQdtcnv/Ys 0rXiDA/7B/P76Wu4yxibwFl4li5L1g0lB3oWEGESHFxMpTGoc3b6yk56rHeJGrS0 7+FLLK833U4G+gGaQzhDMMZMs8clGVAlkQcaKcNuXHj+8/0qiMjAb0zsbKvRsP/R xkZtxwZc2+2FzqsjxFcFuaCdYk8lttkohLnpUtSC/y7N6uEJ3tzC2XskyoQlgvDY bQR++DR55vzcUG+cwPgvIdDTF4nLAIVdzAcR6m7Qxh7Lif603Q+aakF05t5CngSs GucO/aU3YvyBmeCKUwpwFM+Ir3uPdkRa3mKe1kXpSuf20gUw0Iexi72msVK2QMOR oj5fOA48CLSENXBy/FaBC5RgG60HtQQnfQ6Fmkbyta2sv8wULlzwMItm4/24CsNe OWzpXDg0cmIpFedd2WVaLCykbNZ96a0rVx6zO6ptwMj06+iTLmzfkefW2i+3QbLI UjTnjQjy2xZIKxf66L4KNXKrG9TKwqZmjmAjwyqoT4aBW8COpz0Bu7FvCOAlrUkX OEETDQGDVdGdEuKjkWbp0pHqu7JG0LA0XfLXyvSdfDVq/IGEP5l8WGBaSCPV4YTl zXjLNmRv18RCU2K3xaZnKO8a59tdGeTYo1uwCgwJK6V2EhiBIfq4n5gaP/shXZ9h DL93xF3KkiohjFYOt4Ittb0rhDkclcSoN6XWrf0m73KGZuzyQ/Y= =olaW -----END PGP SIGNATURE----- --=-=-=--