From nobody Fri Jun 09 18:11:57 2023 X-Original-To: freebsd-ports@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Qd8LT239yz4c1dR for ; Fri, 9 Jun 2023 18:12:17 +0000 (UTC) (envelope-from hausen@punkt.de) Received: from mail.punkt.de (mail.punkt.de [217.29.41.227]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Qd8LS219zz40jb for ; Fri, 9 Jun 2023 18:12:16 +0000 (UTC) (envelope-from hausen@punkt.de) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of hausen@punkt.de designates 217.29.41.227 as permitted sender) smtp.mailfrom=hausen@punkt.de; dmarc=none Received: from smtpclient.apple (unknown [IPv6:2003:a:d59:3800:5928:5731:adc4:7501]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.punkt.de (Postfix) with ESMTPSA id 2E89A6E711 for ; Fri, 9 Jun 2023 20:12:08 +0200 (CEST) From: "Patrick M. Hausen" Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) Subject: Guidance on creating a port for an npm installed tool Message-Id: Date: Fri, 9 Jun 2023 20:11:57 +0200 To: Mark Millard via freebsd-ports X-Mailer: Apple Mail (2.3731.600.7) X-Spamd-Result: default: False [-2.77 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.97)[-0.973]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ip4:217.29.32.0/20]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[freebsd-ports@freebsd.org]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; ASN(0.00)[asn:16188, ipnet:217.29.32.0/20, country:DE]; R_DKIM_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_HAS_DN(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-ports@freebsd.org]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[punkt.de]; RCVD_TLS_ALL(0.00)[] X-Rspamd-Queue-Id: 4Qd8LS219zz40jb X-Spamd-Bar: -- X-ThisMailContainsUnwantedMimeParts: N Hi all, is there some general guide on how to go about creating a port for anything implemented in node.js and using npm to download all sorts of dependencies at build/install time? I'd like to see a port of this: https://github.com/louislam/uptime-kuma Similarly a port of mineos would be awesome. Cloning from Github and running npm works and delivers a functional installation in ${WRKSRC} ... What now? I did not find any detailled help in the handbook or by searching. There seems to be a general method if all modules are available in npm (they have a repository it seems). But what with products like these? For Go applications there are very convenient tools to get all the dependencies into the port Makefile and do it in a clean way. Section 6.5.8 here: https://docs.freebsd.org/en/books/porters-handbook/special/#building So any help with porting these would be greatly appreciated. Kind regards, Patrick --=20 punkt.de GmbH Patrick M. Hausen .infrastructure Sophienstr. 187 76185 Karlsruhe Tel. +49 721 9109500 https://infrastructure.punkt.de info@punkt.de AG Mannheim 108285 Gesch=C3=A4ftsf=C3=BChrer: J=C3=BCrgen Egeling, Daniel Lienert, Fabian = Stein