From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id CBsuJ8l9h1/qYwAA0tVLHw (envelope-from ) for ; Wed, 14 Oct 2020 22:38:01 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id aC3tIsl9h1/ZTQAAB5/wlQ (envelope-from ) for ; Wed, 14 Oct 2020 22:38:01 +0000 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 40E1E9402B1 for ; Wed, 14 Oct 2020 22:38:01 +0000 (UTC) Received: from localhost ([::1]:34158 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kSpPD-0006Dh-LA for larch@yhetil.org; Wed, 14 Oct 2020 18:38:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54560) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kSpOO-0006DS-GR for help-guix@gnu.org; Wed, 14 Oct 2020 18:37:08 -0400 Received: from mailout.easymail.ca ([64.68.200.34]:34090) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kSpOD-0001dN-1J for help-guix@gnu.org; Wed, 14 Oct 2020 18:37:02 -0400 Received: from localhost (localhost [127.0.0.1]) by mailout.easymail.ca (Postfix) with ESMTP id 402CAC2C51 for ; Wed, 14 Oct 2020 22:36:50 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at emo04-pco.easydns.vpn Received: from mailout.easymail.ca ([127.0.0.1]) by localhost (emo04-pco.easydns.vpn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id baAjVYwwgFZ2 for ; Wed, 14 Oct 2020 22:36:50 +0000 (UTC) Received: from laptop (unknown [108.162.141.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mailout.easymail.ca (Postfix) with ESMTPSA id 06271C2C47 for ; Wed, 14 Oct 2020 22:36:49 +0000 (UTC) From: Simon South To: help-guix@gnu.org Subject: Specifying dependencies among package outputs? Date: Wed, 14 Oct 2020 18:32:27 -0400 Message-ID: <87eem0l9qc.fsf@simonsouth.net> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=64.68.200.34; envelope-from=simon@simonsouth.net; helo=mailout.easymail.ca X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/14 18:36:50 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 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" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Spam-Score: -0.01 X-TUID: fw31Dfg77Pqb Am I right in thinking there is no way to specify dependencies among the outputs of a single package? To specify that a package's "out" output depends on its "lib" output, for instance. I ask because the Knot package (in gnu/package/dns.scm) builds a number of logically distinct targets---daemon, libraries, administrative utilities, general-purpose utilities, and documentation---and it would be nice to separate at least some of these into individual outputs, in part because we could then specify only the libraries as a dependency of Knot Resolver. However, Knot's daemon and utilities have the same dependency on its own libraries, so pulling those into a separate "lib" output would be liable to break everything else. I've searched and can't find an example of this being done, nor can I find any mention of it in the documentation. So I assume it's simply not possible, and you would need to define an entirely separate package that builds from the same source code---right? -- Simon South simon@simonsouth.net