From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 1B97F158009 for ; Thu, 22 Jun 2023 21:24:34 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id DF737E0871; Thu, 22 Jun 2023 21:24:30 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A5A70E0864 for ; Thu, 22 Jun 2023 21:24:30 +0000 (UTC) Date: Thu, 22 Jun 2023 15:24:27 -0600 From: Tim Harder To: gentoo-dev@lists.gentoo.org Subject: [gentoo-dev] pkgcraft: yet another package manager spec implementation Message-ID: Mail-Followup-To: gentoo-dev@lists.gentoo.org Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Archives-Salt: 127ca168-4787-4dd9-aad9-3d693e89f031 X-Archives-Hash: 2a86841073ba6eccc7a60544f1604019 Hello all, As some already know, for about two years I've been working on pkgcraft[1] which is yet another implementation of the package manager specification (PMS). Having recently achieved the milestone of functionally supporting metadata generation for the tree[2], I thought a wider audience might be interested to learn about the project. In short, pkgcraft is a highly experimental tooling ecosystem for Gentoo. From a design standpoint, it's mainly implemented in rust, bundles its own extended version of bash allowing all PMS functionality to be implemented as builtins, and provides a C library that language bindings can build from -- currently python, ruby, go, and perl bindings exist at varying states of API coverage. The design enables some unique approaches and tools such as helping devs target and improve wildly inefficient bash code. Recently it was leveraged for eclass rework that cut full tree metadata generation time in half for pkgcraft with the gentoo repo. For those interested in more detailed information about the project and its development, see the FAQ[3], dev blog[4], or join the #pkgcraft channel on libera. Thanks, Tim [1]: https://github.com/pkgcraft [2]: https://pkgcraft.github.io/posts/metadata-cache-generation/ [3]: https://pkgcraft.github.io/about/ [4]: https://pkgcraft.github.io/