Port of the elm programming language. https://elm-lang.org
The patch applied before compiling elm comes from the following discussion: https://github.com/elm/compiler/issues/1892
Created attachment 203163 [details]
Port shar file
bin/elm would conflict with mail/elm.
And for one file you need no pkg-plist. You can put it under PLIST_FILES in the Makefile.
This fails to build for me, I think because it tries to fetch during the build.
COMMENT needs the leading indefinite article ("A ") removed, and port needs confirmation of QA passing (portlint, poudriere)
Created attachment 204689 [details]
Comment on attachment 204689 [details]
Removes the plist file and fixes COMMENT.
Created attachment 204835 [details]
elm-lang.shar -- fixed to build under Poudriere with network, but still doesn't build by default
I made small changes to the port, so that it at least builds under Poudriere with ALLOW_NETWORKING_PACKAGES="elm-lang" (previously it did not, as cabal was trying to write to a non-existent directory). This way it can at least be built, and afterwards the packaged binary works as expected.
Me and Evilham (subscribed) spent quite a bit of effort trying to make this build without network, but we were not successful. The reason is that the Haskell bits are throwing logs under our feet: cabal does not actually really resolve dependencies until it tries to build things. Therefore, moving fetching of dependencies into the fetch part without also moving the build itself there doesn't work.
The workaround used in other Haskell packages is to manually figure out the right dependencies and use the substantial machinery in Mk/Uses/cabal.mk. This is, unfortunately, also not quite usable, because cabal.mk assumes that the package in question is on Hackage, which Elm is not (well it is, but it is very much out of date). Evilham might be able to provide more details on this. I believe that the best way to make a "proper" port out of this would be to update the Elm package on Hackage, and do it the cabal.mk way.
Would the elm people be willing to add up-to-date Elm to Hackage? If yes, we could ask the FreeBSD Haskell folks for help and hopefully make this work and get it committed.