{"action":"created","issue":{"url":"https://api.github.com/repos/HaxeFoundation/neko/issues/84","repository_url":"https://api.github.com/repos/HaxeFoundation/neko","labels_url":"https://api.github.com/repos/HaxeFoundation/neko/issues/84/labels{/name}","comments_url":"https://api.github.com/repos/HaxeFoundation/neko/issues/84/comments","events_url":"https://api.github.com/repos/HaxeFoundation/neko/issues/84/events","html_url":"https://github.com/HaxeFoundation/neko/issues/84","id":97856753,"number":84,"title":"[Feature request] a FreeBSD port","user":{"login":"ppenzin","id":3345781,"avatar_url":"https://avatars.githubusercontent.com/u/3345781?v=3","gravatar_id":"","url":"https://api.github.com/users/ppenzin","html_url":"https://github.com/ppenzin","followers_url":"https://api.github.com/users/ppenzin/followers","following_url":"https://api.github.com/users/ppenzin/following{/other_user}","gists_url":"https://api.github.com/users/ppenzin/gists{/gist_id}","starred_url":"https://api.github.com/users/ppenzin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ppenzin/subscriptions","organizations_url":"https://api.github.com/users/ppenzin/orgs","repos_url":"https://api.github.com/users/ppenzin/repos","events_url":"https://api.github.com/users/ppenzin/events{/privacy}","received_events_url":"https://api.github.com/users/ppenzin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":21,"created_at":"2015-07-29T04:30:10Z","updated_at":"2016-11-23T03:06:59Z","closed_at":null,"body":"As discussed, I would like to add Neko to a FreeBSD's Ports Collection. I can find some [traces of a Neko port](http://www.freebsdsoftware.org/lang/neko.html) and it also seems like it was\ntaken down.\n\nI apologize in advance if that is too straightforward to someone, I want to explain what I am trying to do to those not very familiar with the process. Also, feedback is welcome and appreciated!\n\nInformation on how Ports Collection works can be found in [Porter's\nHandbook](https://www.freebsd.org/doc/en/books/porters-handbook/). There is a straight-forward [walkthrough](https://www.freebsd.org/doc/en/books/porters-handbook/) of a simple port at the\nbeginning.\n\nA binary install package is created automatically for every port (not right away though).\n## Port files\n\nTo do get a port we need four files:\n\n```\nMakefile\ndistinfo\npkg-descr\npkg-plist\n```\n\npkg-plist and distinfo can be (and should be) autogenerated, more on that below.\n\npkg-descr:\n\n```\nThe Neko Programming Language\n\nNeko is a high-level dynamically typed programming language which can\nalso be used as an embedded scripting language. It has been designed to\nprovide a common runtime for several different languages.\n\nWWW: http://nekovm.org/\n```\n\nMakefile (with my comments):\n\n```\n# $FreeBSD$\n\n# Port identification information. Version is made up, since the port is not\n# pointing to any release yet.\n\nPORTNAME=       neko\nPORTVERSION=    2.0p\nCATEGORIES=     lang\n\n# This can be me, though can put any other email address instead\n\nMAINTAINER=     petr@somewhere.com\n\n# A short version of what this port is about\n\nCOMMENT=        Neko programming languages and virtual machine\n\n# Self explanatory: license and GC library\n\nLICENSE=        MIT\nLIB_DEPENDS=    libgc-threaded.so:${PORTSDIR}/devel/boehm-gc-threaded\n\n# Disable make -j\n\nMAKE_JOBS_UNSAFE=yes\n\n# Where to get the code from. This points to my own github repo, since I\n# needed to make some changes to the code. Will need to use\n# official Neko repository. Also, GH_TAGNAME can be a release name.\n\nUSE_GITHUB=     yes\nGH_ACCOUNT=     ppenzin\n# GH_PROJECT is the same as port name\nGH_TAGNAME=     6138f0808895e54cf998cb644d1f4b255dbf83f4\n\n# Build and install setting. Pointing INSTALL_PREFIX to where FreeBSD expects,\n# setting a target that would produce stripped binaries.\n\nUSES=           gmake\nMAKE_ARGS=      os=freebsd INSTALL_PREFIX=${STAGEDIR}${PREFIX}\n# Use default build and install targets (\"all\" and \"install\" respectively)\n\n# Run a smoke test after installing\n\npost-install:\n        cd ${WRKSRC} && ${MAKE_CMD} ${MAKE_ARGS} test\n\n\n.include <bsd.port.mk>\n```\n\nI would really appreciate any feedback on this. Also, if you are curious or\nwant to test my work read below for instructions.\n## Port generation and testing\n\nFor the curious, to generate the rest of the port on a FreeBSD machine first\ngenerate checksum (as root, connected to the internet):\n\n```\n# make makesum\n```\n\nThis will download a tarball into distfile directory and create distinfo with a\nchecksum. Then get a list of files to add to pkg-plist (root not required):\n\n```\n$ make makeplist\n...\n/you/have/to/check/what/makeplist/gives/you\nbin/neko\nbin/nekoc\nbin/nekoml\nbin/nekoml.std\nbin/nekotools\ninclude/neko.h\ninclude/neko_mod.h\ninclude/neko_vm.h\nlib/libneko.so\nlib/neko/mysql5.ndll\nlib/neko/regexp.ndll\nlib/neko/sqlite.ndll\nlib/neko/std.ndll\nlib/neko/zlib.ndll\n```\n\nCopy the list of paths at the end of the output to pkg-plist file in the same directory. After that you can proceed to [test it](https://www.freebsd.org/doc/en/books/porters-handbook/porting-testing.html) as described in Porter's Handbook.\n"},"comment":{"url":"https://api.github.com/repos/HaxeFoundation/neko/issues/comments/262425713","html_url":"https://github.com/HaxeFoundation/neko/issues/84#issuecomment-262425713","issue_url":"https://api.github.com/repos/HaxeFoundation/neko/issues/84","id":262425713,"user":{"login":"ppenzin","id":3345781,"avatar_url":"https://avatars.githubusercontent.com/u/3345781?v=3","gravatar_id":"","url":"https://api.github.com/users/ppenzin","html_url":"https://github.com/ppenzin","followers_url":"https://api.github.com/users/ppenzin/followers","following_url":"https://api.github.com/users/ppenzin/following{/other_user}","gists_url":"https://api.github.com/users/ppenzin/gists{/gist_id}","starred_url":"https://api.github.com/users/ppenzin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ppenzin/subscriptions","organizations_url":"https://api.github.com/users/ppenzin/orgs","repos_url":"https://api.github.com/users/ppenzin/repos","events_url":"https://api.github.com/users/ppenzin/events{/privacy}","received_events_url":"https://api.github.com/users/ppenzin/received_events","type":"User","site_admin":false},"created_at":"2016-11-23T03:06:59Z","updated_at":"2016-11-23T03:06:59Z","body":"We are in: https://reviews.freebsd.org/rP426533"}}
{"actor":{"display_login":"ppenzin"}}