Bug 205444

Summary: [NEW PORT] lang/ponyc: Pony language compiler
Product: Ports & Packages Reporter: Franz Bettag <franz>
Component: Individual Port(s)Assignee: Li-Wen Hsu <lwhsu>
Status: Closed FIXED    
Severity: Affects Only Me CC: lwhsu, riggs, swills, val
Priority: --- Keywords: feature, needs-qa, patch
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
ponyc port
none
better version of the port
none
updated port shar
none
Updated Port shar
none
second update to ponyc shar
none
updated to 0.21.0 none

Description Franz Bettag 2015-12-19 22:59:49 UTC
Created attachment 164398 [details]
ponyc port

Pony is an object-oriented, actor-model, capabilities-secure programming language. It's object-oriented because it has classes and objects, like Python, Java, C++, and many other languages. It's actor-model because it has actors (similar to Erlang or Akka). These behave like objects, but they can also execute code asynchronously.

The original author already took care of FreeBSD compatibility prior to my port.

Thanks for your consideration
Comment 1 Franz Bettag 2015-12-20 12:41:54 UTC
Created attachment 164418 [details]
better version of the port

This version fixes a plist doozey i made.
Comment 2 Franz Bettag 2015-12-20 15:17:47 UTC
Created attachment 164422 [details]
updated port shar

Apparently i uploaded the wrong file. I hate clicking.
Comment 3 VK freebsd_triage 2015-12-20 15:45:08 UTC
Can you run some tests (portlint, poudriere) to confirm? :)
Comment 4 Franz Bettag 2015-12-20 16:21:55 UTC
(In reply to Vladimir Krstulja from comment #3)
i always run portlint :) it only complains about there not being a http/ftp URL (there is only https - which imho is not bad).

poudriere test-port is happy with it on 10.2-i386 and 10.2-amd64 (they are already on our pkg repo pkg.anycast.io) :)
Comment 5 Dmitry Marakasov freebsd_committer freebsd_triage 2015-12-29 13:56:09 UTC
- Makefile has broken newline: missing indentation in first section, spaces instead of tabs in LICENSE
- config=release should better go into MAKE_ARGS
- Please use USE_GITHUB=yes + GH_ACCOUNT=CausalityLtd, instead of MASTER_SITES/DISTNAME/WRKSRC
- pkg-descr should contain WWW. If there's no better alternative, github page would do.
Comment 6 Dmitry Marakasov freebsd_committer freebsd_triage 2015-12-29 17:13:47 UTC
(In reply to Dmitry Marakasov from comment #5)
> - Makefile has broken newline

Should read: Makefile has broken whitespace
Comment 7 Franz Bettag 2016-01-03 17:37:03 UTC
Created attachment 165012 [details]
Updated Port shar

Thanks for the input, as we're eagerly awaiting ponyc 0.2.2 release (which works on i386/arm as well - it's already in HEAD), i've cleaned this port up as outlined by your remarks. Now the Makefile looks a lot cleaner :)

I've also added the current x86_64 architecture restriction into the Makefile, as well as the currently (for 0.2.1 required) FreeBSD 10.

Portlint seems happy, poudriere skips over currently unsupported architectures/versions.
Comment 8 Thomas Zander freebsd_committer freebsd_triage 2016-01-23 15:33:48 UTC
(In reply to Franz Bettag from comment #7)

This port installs nothing but ponyc. No docs, no examples, not pony's runtime lib. Is this intentional?
The resulting package is not able to compile any of the provided examples, for instance:

Building . -> /wrkdirs/usr/ports/lang/ponyc/work/ponyc-0.2.1/examples/circle
builtin: couldn't locate this path
/wrkdirs/usr/ports/lang/ponyc/work/ponyc-0.2.1/examples/circle/main.pony:1:1: can't load package 'builtin'
use "collections"
^
collections: couldn't locate this path
/wrkdirs/usr/ports/lang/ponyc/work/ponyc-0.2.1/examples/circle/main.pony:1:1: can't load package 'collections'
use "collections"
^

Also the resulting package does not LIB_DEPEND on libunwind.so since ponyc does not.

Could you double-check and make the necessary changes?
Comment 9 Steve Wills freebsd_committer freebsd_triage 2017-08-14 23:42:10 UTC
Created attachment 185423 [details]
second update to ponyc shar

I've done a bunch of work on this port, it now installs all the necessary files and builds everything properly, as well as passes portlint and poudriere checks. It's also marked as broken on versions/arches where it does not build. Please take a look. If you're still interested in maintaining, I'm happy to commit it with you as maintainer. If not, I'll take it.
Comment 10 Steve Wills freebsd_committer freebsd_triage 2017-08-15 00:14:29 UTC
(In reply to Steve Wills from comment #9)
Oh, forgot to mention I updated this to the latest upstream release as well.
Comment 11 Val Packett 2017-12-19 14:26:41 UTC
Created attachment 188963 [details]
updated to 0.21.0

Updated to the latest version, added missing USES.
Comment 12 Li-Wen Hsu freebsd_committer freebsd_triage 2018-02-19 06:48:00 UTC
Franz, are you good with the new patch (updated to 0.21.0) and still interested in being the maintainer?
Comment 13 Franz Bettag 2018-02-19 22:06:59 UTC
Hi, i'm currently so much overworked that i barely have time to maintain the ports i already maintain :(
Comment 14 Li-Wen Hsu freebsd_committer freebsd_triage 2018-02-20 18:45:30 UTC
Greg V, do you want to be the maintainer of this port?
Comment 15 Val Packett 2018-02-20 19:59:59 UTC
(In reply to Li-Wen Hsu from comment #14)
Sure, I guess I can be.

I still haven't really used Pony for anything, but this will give me another reason to try :)
Comment 16 commit-hook freebsd_committer freebsd_triage 2018-02-21 17:59:05 UTC
A commit references this bug:

Author: lwhsu
Date: Wed Feb 21 17:58:56 UTC 2018
New revision: 462537
URL: https://svnweb.freebsd.org/changeset/ports/462537

Log:
  Add lang/ponyc, Pony language compiler

  This version includes updates from swills, Greg V <greg@unrelenting.technology>
  and me.

  PR:		205444
  Submitted by:	Franz Bettag <franz@bett.ag>

Changes:
  head/lang/Makefile
  head/lang/ponyc/
  head/lang/ponyc/Makefile
  head/lang/ponyc/distinfo
  head/lang/ponyc/files/
  head/lang/ponyc/files/patch-Makefile
  head/lang/ponyc/pkg-descr
  head/lang/ponyc/pkg-plist