From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id ONz9MxrO32K2UAAAbAwnHQ (envelope-from ) for ; Tue, 26 Jul 2022 13:20:58 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id uCLTMxrO32Lp0QAAauVa8A (envelope-from ) for ; Tue, 26 Jul 2022 13:20:58 +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 9EE7B9BB0 for ; Tue, 26 Jul 2022 13:20:58 +0200 (CEST) Received: from localhost ([::1]:53680 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oGIcT-0002Ae-CB for larch@yhetil.org; Tue, 26 Jul 2022 07:20:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33518) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGIEr-0004Wo-SX for guix-devel@gnu.org; Tue, 26 Jul 2022 06:56:33 -0400 Received: from knopi.disroot.org ([178.21.23.139]:34608) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGIEp-0006V0-Mj for guix-devel@gnu.org; Tue, 26 Jul 2022 06:56:33 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 5887640E72 for ; Tue, 26 Jul 2022 12:56:27 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Rh-DiMCmH3Ke for ; Tue, 26 Jul 2022 12:56:26 +0200 (CEST) Mime-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1658832984; bh=sdpTJHQMIho0GiY6vsXrPb6NgRaSjL0VnsDhKVXSfT0=; h=Date:Subject:To:From; b=gvAe0ifB9t7W6HYIbv2v9OcbdZCbdMPuVZQCQ9gjQl4OekMf+ZM96BLWu9VJdXcUL Wyhv9xsLuJj9aPEdJLge0Vhm/5vnnp8vWZJwYREoSW8iHII5To7IN4z5tp7PfcmIHx qQC3QgtfZfT0VwZf56BDZXP4vOXnhaCSS+D9PdxMyQ6oWyqUqkvAiCFpFdLWhWJPdt 6kvHBxcUPdP6JG7l8mmq95s6l4HVt5D2MBm3LSJlU4c1uuqSJHt68FLqY8VhNMkxoN xpKhcIdeYKw2GU+nb8e/bdfaH7ljuHsaxvRlYtWRIIouCGwTQ7FuQRWfsFqFXFZNHY rtmRsY4hQWd7A== Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Tue, 26 Jul 2022 19:56:20 +0900 Message-Id: Subject: Strategy for Zig packages To: From: Received-SPF: pass client-ip=178.21.23.139; envelope-from=mcsinyx@disroot.org; helo=knopi.disroot.org 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_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Tue, 26 Jul 2022 07:15:10 -0400 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" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1658834458; 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:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=9zRnuzdd4cIIhbBhdu4a4z+C+HJk7NHOEYwQg72KVqw=; b=Olwo1aO6U3/I5Slq2bd+duiFv1DiA9OWwJ48JEUbUVu23odoM1LCuWQvqXOX3D74YnWXpP JqldeKeXHjrJWnN5oBn7JaERbRHUeRiKvMKys7uOnMnjS+e8KIQdcGh7p8CxvBK9X5i6pn gOlPpV9oGJdfNjjrAQzcw0lxsmJ59fg/1MlmfKXOyMzTxfwsDEjyIpllOumMmWc6zqxHlS n3XhaF8QmYPiOWHJXssDtT3yiWr+I1d/a46rMF7ldPDS7d+x47x6H9cJsvAF6QPubfYbKp y0Eo5XL9Zc4oX+QSot14YLxxuhgt73cIaKv7NSQ/LQEZJHvmVUAKV9xxpQOkWQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1658834458; a=rsa-sha256; cv=none; b=EaVJIxbpsUEKJGCnQOMexWwXPHCY80FQBP5WqRokBS30JbWBPqR+tTCHkyI2e36wVkm7mb l4o+ivlVctfUQ0aJ5tPBdPOq4gLels7giu4wS49IaWmzkjKqEOEhW2kKEIfdcPEgWZmesx SmOAo8MFZX7thWP/e/JURXVO9i7Lq/ciBvIHVWeo8WprMD2NHfHzmYhWUW6tYz+4XrLGoI FlbUrby4EJ1E/oCmyOpFr3krnQaE4gZTYfl3r7DoKeZMOozPkvS8d0KKeJ6hdeJ92KTb63 nIEdX3Y7RbMUWVFJOxvcO9DKFFfiCiZJCVmsKvuiqiFzWTZCXE5Ve3LqBZ3QrQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=disroot.org header.s=mail header.b=gvAe0ifB; dmarc=pass (policy=quarantine) header.from=disroot.org; 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: -4.43 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=disroot.org header.s=mail header.b=gvAe0ifB; dmarc=pass (policy=quarantine) header.from=disroot.org; 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: 9EE7B9BB0 X-Spam-Score: -4.43 X-Migadu-Scanner: scn0.migadu.com X-TUID: q5DyACdJuzTs Hello Guix, Coming from Nix, I am considering switching to Guix in long term. So far, my biggest gripe with nixpkgs culture, i.e. package vendoring, seems to be well objected by Guix philosophy. My current goal is to package software I use and/or maintain, some of which are written in Zig. Since Zig is still immature and there is no consensus on downstream packaging, most user applications, e.g. ncdu or mepo, resorted to only link with C ABI libraries. Like Go, Zig code is meant to be statically compiled (it is possible to write libraries with C ABI in Zig, though they fall under the former category). Since the language-specific package managers are still experimental, some projects, e.g. river or blackshades, choose to vendor libraries as version-control submodules and rely on relative imports. Zig packages are specified (recursively) via zig build-* --pkg-begin name path --pkg-end ... so I suppose the Zig build system can wrap the command appropriately. The third category is the software using a Zig package manager. Dependency information should be retrievable from the manifests. In case this has not been discussed before, what shall be the plan for interdependent Zig packages in Guix? On top of my head there are a few options: 1. Wait until Zig reaches 1.0; it's too soon to decide now. 2. Work with Zig maintainers for a standard way to install Zig libraries as source code. It could be something like ZIG_PKGS where package name is at $ZIG_PKGS/$name.zig, or a file containing all the mappings. 3. Wrap the zig command and feed it declared dependency information while waiting for standardization. I would love to hear what Guix maintainers' thought on this issue. All the bests, McSinyx