From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:8:6d80::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 0oY5HFVKXmCaQQAAgWs5BA (envelope-from ) for ; Fri, 26 Mar 2021 21:55:49 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id EHkbFVVKXmCKfwAA1q6Kng (envelope-from ) for ; Fri, 26 Mar 2021 20:55:49 +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 143B91A83C for ; Fri, 26 Mar 2021 21:55:49 +0100 (CET) Received: from localhost ([::1]:54904 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lPtUi-0000NH-AZ for larch@yhetil.org; Fri, 26 Mar 2021 16:55:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41342) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lPtUV-0000L8-Ii for guix-devel@gnu.org; Fri, 26 Mar 2021 16:55:35 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:23312) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lPtUP-0005IM-9J for guix-devel@gnu.org; Fri, 26 Mar 2021 16:55:34 -0400 Received: from nijino.local (194-96-13-79.adsl.highway.telekom.at [194.96.13.79]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4F6Z4C3W1Lz1LX55; Fri, 26 Mar 2021 21:55:23 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4F6Z4C3W1Lz1LX55 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1616792123; bh=keLtH2sjtRo5pGQGljetMG9WXQjs9BWRIg6p9dLDFr4=; h=Subject:From:To:Date:In-Reply-To:References:From; b=Z9yYC3F8PZUS0IDcbiy63wHhg+mcdV3Cs7+SJ4hEBE+aaUqb3dw8enV+ueGMLUrr4 RvlPzZR4vbeAyccJzIsyB/IooKvmU+mYKPVL/4b16vFYGaKAICM8pGw2YY6tHFlznc me0JVAAOL383KpyArbwcoBx9TUvm8hxBxuTUXHSA= Message-ID: <845eab37b40905a34b67265a03979c9a2d88f5fb.camel@student.tugraz.at> Subject: Re: Specify runtime dependencies with propagated-inputs or wrapper scripts From: Leo Prikler To: =?ISO-8859-1?Q?L=E9o?= Le Bouter , guix-devel@gnu.org Date: Fri, 26 Mar 2021 21:55:19 +0100 In-Reply-To: <1e07eddcd0576658a2a02a952bdf569ba471f81a.camel@zaclys.net> References: <1e07eddcd0576658a2a02a952bdf569ba471f81a.camel@zaclys.net> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116 Received-SPF: pass client-ip=129.27.2.202; envelope-from=leo.prikler@student.tugraz.at; helo=mailrelay.tugraz.at X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, 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.23 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 ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1616792149; 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=keLtH2sjtRo5pGQGljetMG9WXQjs9BWRIg6p9dLDFr4=; b=fL2pL4L3ErZJ1GxC9QvpVgFsjKWLy3YWgyw0l+8VLQy3IHSpNWR9YYpmX10Pl/WVlrmzke nEk1BdO36xOQYGaEwxgT8TPEg1YEpsakjS13NniUtjuHAb0cEcFztTN+JzMTgpZOxGgcKG p9aroMI7zFGrOf2Jy6atPmoSegflH18JKMRxz3Ep2TMgCdH0PQqn7RAfGVUS0liJ4VL45I 3SPFw+BGX7euzbtMaoAChi8fb46f5/+uE/wQ/whaQQBpE6N1sshF8XZnpdHoWyqX7Fittq q4pJVgqeezQi/C5bM43hV1KbDaj/fU0P2cS0910OIs0ePQGEPd5/tc3x5ikwiw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1616792149; a=rsa-sha256; cv=none; b=L1z53tHMqb8Y5UambeuG94VnNVnGqKTHTxqz4ZElCRuqrLqolY5HtkCUCQzjjbAxMR1Pv9 8Fz+b06XAhXCo+MwF8K7L4GLRqNuGDCjDChj51vCGfEz9XFaN/sV0DsKBXUcBxXBNmIeno GsISa7NQQAdmsG/wMTzBgt6XjvY72ovh/Ku4QSWD5DQJfLr9+v1sh04QO7LGBRF0UERjaa 2udjbmLnZWuk1VB20m6P1/Wi3mCbr2lcytySiLOLXCGXAxQ/oz7WLzhMB67FJS0TkuucX2 TGWzuybpPijADgx6xa4yn4GQwQQJYbKsDRlR+HTwvuB8p4LspcufjTXhXzlWAA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=tugraz.at header.s=mailrelay header.b=Z9yYC3F8; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -3.12 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=tugraz.at header.s=mailrelay header.b=Z9yYC3F8; dmarc=pass (policy=none) header.from=student.tugraz.at; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 143B91A83C X-Spam-Score: -3.12 X-Migadu-Scanner: scn0.migadu.com X-TUID: guue1BwcAz36 Hello, Am Freitag, den 26.03.2021, 20:36 +0100 schrieb Léo Le Bouter: > Hello! > > I often meet problems where some packages don't work out of the box > because they have some runtime dependencies like themes or third > party > programs. > > I solved these problems on occasion by making commits such as this: > https://git.savannah.gnu.org/cgit/guix.git/commit/?id=00c1793ce8e2210e48b18422ea3e76da10541874 > - which adds a wrapper script to "bin/chromium" and includes xdg- > utils > in PATH variable. Including xdg-utils in PATH works, but the preferred solution in Guix is to use absolute paths where possible. > It works but it's tedious to do for each and every binary in every > single package. You could argue the same about bootstrapping :P > I see we also have a propagated-inputs field, which looks nice but > for > some reason people advice against using it. For what reasons? It is > not > as tedious as wrappers and I would really like to be able to specify > runtime dependencies of packages using it without problems. Using propagated-inputs is a double-edged sword. On the surface, it seems to solve all your problems, but underneath it introduced back all the dependency shenanigans, that Guix seeks to avoid. In particular, you can't upgrade just one of N libraries, that all (indirectly) propagate the same input. > I think we must find a solution to this runtime dependencies problem > that is better than wrapper scripts because they are very tedious to > create for every single binary in every single package. Le me presenting an even more tedious solution :) > Another recent example being that the caja package depends on dconf > to > change it's settings, which is not installed by default when users > use > window managers like sway. Shouldn't there already be a library for this? *sigh* > Let's find a convenient solution here that would allow us to put an > end > to these problems that affect many new users and remains obscure for > them that they would need to add additional packages in their > configuration (and which). We could probably do our best to search for variants of exec in all kinds of programming languages automatically and then do our substitute*s with (which "program"), but I personally believe explicitly doing this is less surprising overall. Regards, Leo