From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id sCfPEn0L4mLH4gAAbAwnHQ (envelope-from ) for ; Thu, 28 Jul 2022 06:07:25 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id UES4En0L4mINzQAAauVa8A (envelope-from ) for ; Thu, 28 Jul 2022 06:07:25 +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 10CD015402 for ; Thu, 28 Jul 2022 06:07:24 +0200 (CEST) Received: from localhost ([::1]:41732 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oGuny-00010m-UK for larch@yhetil.org; Thu, 28 Jul 2022 00:07:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56162) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGunf-00010N-K7 for guix-patches@gnu.org; Thu, 28 Jul 2022 00:07:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39308) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oGunf-0001UX-Ba for guix-patches@gnu.org; Thu, 28 Jul 2022 00:07:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oGunf-0005Vb-0B for guix-patches@gnu.org; Thu, 28 Jul 2022 00:07:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56806] [PATCH 0/9] Add the Haxe language and tools. Resent-From: John Kehayias Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 28 Jul 2022 04:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 56806 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 56806@debbugs.gnu.org X-Debbugs-Original-To: Guix-patches Received: via spool by submit@debbugs.gnu.org id=B.165898120521145 (code B ref -1); Thu, 28 Jul 2022 04:07:02 +0000 Received: (at submit) by debbugs.gnu.org; 28 Jul 2022 04:06:45 +0000 Received: from localhost ([127.0.0.1]:57290 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGunM-0005Uy-Uw for submit@debbugs.gnu.org; Thu, 28 Jul 2022 00:06:45 -0400 Received: from lists.gnu.org ([209.51.188.17]:57254) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGunI-0005Uo-Br for submit@debbugs.gnu.org; Thu, 28 Jul 2022 00:06:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56080) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGunH-0000up-TP for guix-patches@gnu.org; Thu, 28 Jul 2022 00:06:40 -0400 Received: from mail-40133.protonmail.ch ([185.70.40.133]:32733) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGunF-0001RL-LJ for guix-patches@gnu.org; Thu, 28 Jul 2022 00:06:39 -0400 Date: Thu, 28 Jul 2022 04:06:27 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1658981193; x=1659240393; bh=pggojwzGBtyeQGOcfs+dIBONpe7jCo8E5aLSds61kb8=; h=Date:To:From:Reply-To:Subject:Message-ID:Feedback-ID:From:To:Cc: Date:Subject:Reply-To:Feedback-ID:Message-ID; b=KKnipYk84IbUjhyHzKmiy5IWwLh/8KMXhk3piqcau+4erVi2bXEab6l+4qffo9Bbk oz7y4iAFlQesqZX5YY4Y5QpcUFduhhQ2nsYZMN5k0pGOqzJLe5qhIje0RNN+1PWipd dnmgqauBC/xxuEjQR8e5Wbthxl55e+UUKk4Wi+uEH7dBZLL9qrNN6cX4zcJou/IZFs /mN2LXI6zAJsgINMOtGwl3zrjwJL3nu4HRSoCdgE5NScG7JRSnaSlZ5sUCYnRzNLvs ys7gTGSimQyvKEHfQwpFpLf9Jn7haDo98P+JdphHI6b5VmpSGRmI5zFjj35N6DSaiM VspNoAbBxHtYg== Message-ID: <9PX8REXHYFolHkT-TXF_SZcRFDEe1-1KwK9riBoz1tnsKV2raznmLO3YTlzbpdyJ9dBOqnpcaUomHmLfOWjytFrkLEvIW_upqCAA_-byN50=@protonmail.com> Feedback-ID: 7805494:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.40.133; envelope-from=john.kehayias@protonmail.com; helo=mail-40133.protonmail.ch 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_PASS=-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: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" Reply-to: John Kehayias X-ACL-Warn: , John Kehayias via Guix-patches From: John Kehayias via Guix-patches via 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=1658981244; h=from:from:sender:sender:reply-to: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:resent-cc: resent-from:resent-sender:resent-message-id:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=pggojwzGBtyeQGOcfs+dIBONpe7jCo8E5aLSds61kb8=; b=hrO9Msxk9GDNmxTAVEvMbfp+PsicOo3qQSeQ4AZMSkxIXIq0GsUV6cXJwviKMOdbZ4WLIz +vOMearo+1pKGlsbzLbJ2uyKsOvQ6VkTuOr/oi4myYmnfQszLm67Ap277xqSbOwu3IRHI5 vEy2vdnMoEFtc9vJoV2aevh2Oy1PuiTXVQqzB/iHPYDKm8BnaSmCU82oRdEgVW8cquCZpx uNDFQ4kKbno0nkgI7IJjw4tC6+kfJ391vKd6JUX6odFZa3+fao0yhmeqLhp8lj5KBQ6Tjx FEPsncWI+3/RCMdErMc4M23KUbfT+T/o22/UAbPwYg7UINnjXgN0dQ2k//30kQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1658981244; a=rsa-sha256; cv=none; b=CWJqrPVD3nRrM96UF44TEcB7Ck9aF2gZ2uBKrNrWT6LrBLUswpP7xK4uq8ONamsoRBZQ1k SkiaO4JKYWyDbcwjPZ97WRgmt2dnirlozzsyZXtLpbKrFmhmOpDEAyj4J7rM2f9kQmo6a8 YGmjBegxaRdh9q5Y/rxN530Q4uvwn469D7SQ5ncWND55iKcvquk6VDROMWdT6/XjMIF8Y1 pzRQw6ylrV0g2Z/GpsEaxVqc7pVvNUjT1MIpeQxmckHBKoaZrCuX3YRawHOKuhnVNmb3Sn fYzlZv6hMw1aVmoJJ0aN1PrSuMt79L/cTcJNdsAqXj0jxMXl2SyNE75NAJEYkQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=protonmail.com header.s=protonmail3 header.b=KKnipYk8; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -3.93 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=protonmail.com header.s=protonmail3 header.b=KKnipYk8; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 10CD015402 X-Spam-Score: -3.93 X-Migadu-Scanner: scn0.migadu.com X-TUID: 1UxoEmvalR62 Hi Guix, Incoming is a patch series to add the Haxe [0] language and tools, includin= g the language/VM Neko [1] that it is built with and the Haxe VM Hashlink [= 2]. It starts with OCaml that these are built on top of, and includes some = other needed packages. Here is a breakdown of what the patches do: Patch 1-4: Add needed OCaml dependencies. I relied on the importer and fixe= d up the builds, descriptions, licenses, etc. I haven't packaged any OCaml = before (or know anything about it), but everything appeared to work and I f= ollowed our existing packages. Patch 5 & 6: Add 2 small libraries, minimp3 and mikktspace. Minimp3 is a single header library, though also included the extended versi= on (so, 2 headers). The repo has a lot of other files for what looks like t= ests, but wasn't sure how to easily run them with all the files and scripts= and a lack of instructions. I left that as a TODO for the future. Mikktspace is a header and C file. There is no makefile or instructions, so= upon discussion on #guix I built a shared library manually. It works for w= hat I needed and means Hashlink can be completely unbundled. Patch 7-9: Add Neko (language/VM used to build Haxe), the Haxe toolkit, and= the Haxe VM Hashlink. Haxe: this builds the compiler and library manager, haxelib. Perhaps these = could be separated, but it seemed to make more sense to keep them together = as intended by upstream. haxelib-src is a bare origin to use rather than Ha= xe's haxelib submodule. There was also a manual change so that the default = location haxelib will suggest for libraries is user writeable: ~/.haxe/lib = (rather than /usr/lib/haxe/lib). Hashlink: unbundled the included libraries with Guix packages. I left a com= ment about there being a CMake build that seemed perhaps incomplete (there = is bug reports on confusion of how to build with CMake) and is also where t= he tests seemed to be. I could get the CMake build to build, but it didn't = build everything needed and didn't seem to be fully linked. The tests may a= lso need network access as they want to call haxelib (typically would downl= oad haxe libraries). Tests disabled until future updates can sort this out. I've run guix lint on all and have built and used Haxe and Hashlink. Everyt= hing seems to run well, it can download Haxe libraries to then build, the H= ashlink VM works to run e.g. SDL graphics code; even building to JS with Ha= xe works just fine. I used [3] as an example of a non-trivial Haxe package,= using the Heaps.io game engine [4]; everything worked without modification= . I put Neko (since it is used to build Haxe) and the Haxe packages in a new = module (gnu packages haxe). Perhaps in the future someone may want a haxe-b= uild-system to manage libraries with Guix, but so far everything works well= with how Haxe wants it to. Hope everything looks good, let me know any needed changes. John [0] https://haxe.org/ [1] https://nekovm.org/ [2] https://hashlink.haxe.org/ [3] https://github.com/deepnight/gameBase [4] https://heaps.io/