all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#56806] [PATCH 0/9] Add the Haxe language and tools.
@ 2022-07-28  4:06 John Kehayias via Guix-patches via
  2022-07-28  4:08 ` [bug#56806] [PATCH 1/9] gnu: Add ocaml-luv John Kehayias via Guix-patches via
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: John Kehayias via Guix-patches via @ 2022-07-28  4:06 UTC (permalink / raw)
  To: 56806

Hi Guix,

Incoming is a patch series to add the Haxe [0] language and tools, including 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 fixed 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 followed our existing packages.

Patch 5 & 6: Add 2 small libraries, minimp3 and mikktspace.

Minimp3 is a single header library, though also included the extended version (so, 2 headers). The repo has a lot of other files for what looks like tests, 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 what 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 Haxe'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 comment 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 the 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 also need network access as they want to call haxelib (typically would download 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. Everything seems to run well, it can download Haxe libraries to then build, the Hashlink VM works to run e.g. SDL graphics code; even building to JS with Haxe 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-build-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/




^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2022-08-03 18:06 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-28  4:06 [bug#56806] [PATCH 0/9] Add the Haxe language and tools John Kehayias via Guix-patches via
2022-07-28  4:08 ` [bug#56806] [PATCH 1/9] gnu: Add ocaml-luv John Kehayias via Guix-patches via
2022-07-28  4:09 ` [bug#56806] [PATCH 2/9] gnu: Add ocaml-ptmap John Kehayias via Guix-patches via
2022-07-28  4:09 ` [bug#56806] [PATCH 3/9] gnu: Add ocaml-sha John Kehayias via Guix-patches via
2022-07-28  4:10 ` [bug#56806] [PATCH 4/9] gnu: Add ocaml-xml-light John Kehayias via Guix-patches via
2022-07-28  4:10 ` [bug#56806] [PATCH 5/9] gnu: Add mikktspace John Kehayias via Guix-patches via
2022-07-28  4:10 ` [bug#56806] [PATCH 6/9] gnu: Add minimp3 John Kehayias via Guix-patches via
2022-07-28  4:10 ` [bug#56806] [PATCH 7/9] gnu: Add neko John Kehayias via Guix-patches via
2022-07-28  4:11 ` [bug#56806] [PATCH 8/9] gnu: Add haxe John Kehayias via Guix-patches via
2022-07-28  4:11 ` [bug#56806] [PATCH 9/9] gnu: Add hashlink John Kehayias via Guix-patches via
2022-08-03  6:53 ` bug#56806: [PATCH 0/9] Add the Haxe language and tools 宋文武 via Guix-patches via
2022-08-03 18:04   ` [bug#56806] " John Kehayias via Guix-patches via

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.