From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id +IbqDvgcBmTLKAAASxT56A (envelope-from ) for ; Mon, 06 Mar 2023 18:03:52 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 0CLgDvgcBmT90gAA9RJhRA (envelope-from ) for ; Mon, 06 Mar 2023 18:03:52 +0100 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 0C3778C56 for ; Mon, 6 Mar 2023 18:03:51 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pZECe-0002jN-W6; Mon, 06 Mar 2023 12:00:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pZ6XJ-0000Dg-H6 for guix-devel@gnu.org; Mon, 06 Mar 2023 03:49:40 -0500 Received: from smtp2-g21.free.fr ([2a01:e0c:1:1599::11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pZ6XF-0006dp-Ma for guix-devel@gnu.org; Mon, 06 Mar 2023 03:49:36 -0500 Received: from linux (unknown [37.170.35.81]) (Authenticated sender: th.ieong@free.fr) by smtp2-g21.free.fr (Postfix) with ESMTPSA id C8B192003F3 for ; Mon, 6 Mar 2023 09:49:26 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=free.fr; s=smtp-20201208; t=1678092567; bh=3DGy5mZ1fdlUaKVx2j1g6jRuQ4woGSeFKs5/hLNgYWk=; h=From:To:Subject:Date:From; b=nI1E67F2qrrqXN71qdYbxlCnB6z/Zpsto6i6gh8KK+EcDrfRhHkUSyZ9ciOaOWPA/ jsR1YQLY/ncQUz2SIzvYy/40i45Rpthy+bY1ldYMi3cnAN8v9P/hTP7urrwfE7HGEJ X43nNcPB4151Ei9yCiNdmWn6mZqfjMyv23D+qodRAFZWEMlVWaecR3hOCXkxVr6zsj ehLgIRYwQRz8fMDiNUMonVwQ0nqpxltKsihGNesiE/nnqC6FPnF01CwQ2lq4tpHnOE yLm1dejem+HSGoFChZ5oPsrGQRB22DWU2AlGiZHvY/I9aT6BQpCNOUCvrmUTyZTh43 2kR5ipIWqiYmA== From: Thomas Ieong To: guix-devel@gnu.org Subject: Sourcehut packaging in 2023 Date: Mon, 06 Mar 2023 09:48:03 +0100 Message-ID: <878rga9sfw.fsf@free.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a01:e0c:1:1599::11; envelope-from=th.ieong@free.fr; helo=smtp2-g21.free.fr 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, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 06 Mar 2023 12:00:08 -0500 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-bounces+larch=yhetil.org@gnu.org X-TUID: p6K35wnKblb2 Hi, This mail is there to give an overview of what packages are we missing and how to build a sourcehut service. A sourcehut service is a mix of python/golang/js and static assets. Python: We have almost everything except 2 packages, python-pam and another one that I forgot. Js: It's actually alright, the js that are there are standalone, no npm nightmare, there was minify a npm package, but Mr.Devault replaced it by a golang package with the same name. Golang: This is where the pain is at, a lot of them are missing we will need to package ~sircmpwn/core-go this contains a lot of golang code shared by all services. Now a short guide on how to build a sourcehut service. - core.sr.ht: I'm focusing on this service first because it is needed by all other services. It contains python dependencies, icons/js/scss and static assets. It also has bootstrap as a git submodule, now the good news is that we don't need to package the entirety of bootstrap, basically it only needs the scss directory of bootstrap. In order to build core.sr.ht you will need to run setup.py. Note that (this apply to all services) it will call git to get which version it is on, so we probably need to patch that. It will package the srht folder containing the aforementioned dependencies and a Makefile. This Makefile is very important as it will be included in the Makefile of all other services, so that they can build their static assets. - *.sr.ht Now the generic build method for all other sourcehut services. You run setup.py in the root directory, it contains a call to a Makefile in that same directory and this Makefile will include the Makefile from core.sr.ht so that it can build its assets. Then this changes per service but it will usually build the golang code in the api directory. -- Thomas Ieong