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 wKMKLdhz6mLLgwEAbAwnHQ (envelope-from ) for ; Wed, 03 Aug 2022 15:10:48 +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 CP0OLdhz6mIlgAEAauVa8A (envelope-from ) for ; Wed, 03 Aug 2022 15:10:48 +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 881AF16EFC for ; Wed, 3 Aug 2022 15:10:48 +0200 (CEST) Received: from localhost ([::1]:38186 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oJE99-0006ut-Mk for larch@yhetil.org; Wed, 03 Aug 2022 09:10:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44728) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oJE3x-0002QM-Dc for guix-devel@gnu.org; Wed, 03 Aug 2022 09:05:32 -0400 Received: from knopi.disroot.org ([178.21.23.139]:49078) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oJE3v-0003Bw-Fe for guix-devel@gnu.org; Wed, 03 Aug 2022 09:05:25 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 9F0A841B56 for ; Wed, 3 Aug 2022 15:05:15 +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 HC43QI_nDpav for ; Wed, 3 Aug 2022 15:05:14 +0200 (CEST) From: =?utf-8?B?TcOhamEgVG9tw6HFoWVr?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1659531830; bh=KNEkQQkhyGGjxEDSvWV1EFryYe/bH8RX1fPQI4qed9g=; h=From:To:Subject:Date; b=BPl3H7tbFlDgIWd3bi4nSzXO/MXeCtznN0MElwf/fpr76wFhPwPVwqSmzVaC+LMDM WW0GlNi5KJ/2N2LxB0slLjn/RoUp/rXFNGqbtIZnUfUxYBiACXlO736wmPkwl2DAyu 3Qf9skYtpxVvWyGvF4tn+z7Z28EUkBXlT9QnzBjJqA0J6qPyq/kmFZUM1vKF08Ohjm 1L0PHEuexUgnQJPU+08SvmhH0PcFRIYp2IHyoJgmLUFhMUYHrmc0Mw9dpu1cOCC8CL t9jdg5Ix9GdvTIkCVc1CnIR1duEa4mRNa7OKnp2+XQ+piHlYdZoSVGCgWW1sxKWxaP sF33NzTB15Btw== To: guix-devel@gnu.org Subject: Breaking the loop with php's composer Date: Wed, 03 Aug 2022 15:03:44 +0200 Message-ID: <871qtx4gy7.fsf@disroot.org> Mime-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=178.21.23.139; envelope-from=maya.tomasek@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-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=1659532248; 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:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=KNEkQQkhyGGjxEDSvWV1EFryYe/bH8RX1fPQI4qed9g=; b=ZRKOcb8Uwnp8qm+oqpQAUb9HG6wwm8e7Q7pNbr3EBUApN0+kK/21wBhvQRhQhsMQAvJ7eL kS3JaCcijtUnJf6Cwok0wX2QR+QvujZGR3tR2FFqG839pp3sw6iuogZf9gMkbr82cVIhxL pTvgHBk1WNz9EDUWXt7SGwuIc/uqryL2R39/pIWiZK03YjiX7cMcOZ+fGg5Ibeo+L5Yf1D ggi898tN9VhfuD1lZLJiAzYCPUa0Jnux6w7EpdrHaRWEYtNs9SWNoUjKtf0GZvZURh5/BA vICjNsVNQL+SEdf1uQ6nJImGTWUPF7CqUNbaRPy2b4BXTFzT+8fbPQuhZAyShg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1659532248; a=rsa-sha256; cv=none; b=pwx+jIiAp1Hgiwb0GaMSUHdFAMN3gpfxHAxy6m+WrJVDgTCq4R7qSDPbB95kQQM9l2CF80 Chy6mhysMa16NERTAhXpnJ0hAxKbzRVgtrdOOwU8TLpKBi8YZsGXO/wPStjty1YjHtsqHn I3XRHXUHZjr+Z/hMAKBS4ZBwdt2eX97icwY7Xb0lp+6Q2tNqpQKIJDdRUHFq9QNJs6IEs6 /Y1tqitT//0eiPU0+AmSrNOJQiCw9GW1hQtFSKT08SVB6AaIj5BK6bgQQKi9g8VedfOerA OLBEKQypl06TCk53aKOHf8ofFPD+gcgo+2twpSPaiimtiLiokBCAq0NAVLq01w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=disroot.org header.s=mail header.b=BPl3H7tb; 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: -2.91 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=disroot.org header.s=mail header.b=BPl3H7tb; 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: 881AF16EFC X-Spam-Score: -2.91 X-Migadu-Scanner: scn1.migadu.com X-TUID: e/IHDhWSDwTV Hi, Since I want to deploy roundcube on my guix machine, I was recently looking into packaging composer (https://getcomposer.org/) which is a dependency manager for PHP. First it looked like it will be a simple task! Simply download the installer. But! The installer was actually just a downloader for a .phar archive. Why do you need a downloader for an archive in a repo? So time to reverse engineer the archive. How to build it. Okay, now I encountered a build script from https://github.com/composer/getcomposer.org/blob/main/update.sh, but! Another hickup. This script relies on composer! So you cannot build composer without having composer! It's dotnet all over. So I came to you, what should I do now? Here are my options: 1. contact the developers and hope they will help me 2. reverse engineer and build composer inside guix from scratch (as guix needs to install dependencies outside of package managers and it'll still need to circumvent the composer's download phase) 3. phar archives are actually acceptable in guix distribution, it doesn't need to be built from source (i doubt this is the case) Thank you all for any help. With wishes of great wednesday, Maya