Bug 225320 - [NEW PORT] lang/retro12: clean, elegant, and pragmatic dialect of Forth
Summary: [NEW PORT] lang/retro12: clean, elegant, and pragmatic dialect of Forth
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Yuri Victorovich
URL: https://reviews.freebsd.org/D14102
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-19 17:32 UTC by Mateusz Piotrowski
Modified: 2018-01-29 19:13 UTC (History)
4 users (show)

See Also:


Attachments
A shell archive with the new lang/RETRO port (RETRO, RETRO/Makefile, RETRO/pkg-descr, RETRO/distinfo, RETRO/files, RETRO/files/pkg-message.in) (4.13 KB, text/plain)
2018-01-19 17:32 UTC, Mateusz Piotrowski
no flags Details
A shell archive with the new lang/retro12 port (patch version: 2) (2.90 KB, text/plain)
2018-01-28 01:04 UTC, Mateusz Piotrowski
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mateusz Piotrowski freebsd_committer freebsd_triage 2018-01-19 17:32:14 UTC
Created attachment 189910 [details]
A shell archive with the new lang/RETRO port (RETRO, RETRO/Makefile, RETRO/pkg-descr, RETRO/distinfo, RETRO/files, RETRO/files/pkg-message.in)

It is a port of an actively developed dialect of Forth called RETRO.

The official description from the website[1]:

RETRO is a clean, elegant, and pragmatic dialect of Forth. It provides a simple alternative for those willing to make a break from legacy systems.

The language draws influences from many sources including traditional Forth systems, cmForth, colorForth, Factor, and Parable. It was designed to be easy to grasp and adapt to specific uses.

The basic language is very portable. It runs on a tiny virtual machine (Nga), which is written in C. There are multiple interface options, the main one (rre) is buildable with just the standard C compiler and libraries on most systems (tested at various points on Linux, NetBSD, macOS, and Windows, on x86, x86-64, PPC [emulated], and various ARM processors).

[1] https://forthworks.com/retro

---

Testing:

- `port test /usr/ports/lang/RETRO` does not show any warnings.
- `portlint -AC` says that the port looks fine.
Comment 1 Matthew Seaman freebsd_committer freebsd_triage 2018-01-27 22:54:22 UTC
Hi, Mateusz,

Thank you for your submissions.  A few things:

  * With certain narrow exceptions, port and pkg names are usually all lower-
    case. 

  * It also seems like the '12' part of the version number is intrinsic to the 
    software name, and the version number is just the encoded date

    - Could you rename the to lang/retro12 and the PORTNAME to retro12 please?
    - Use DISTVERSION=2018.1 rather than inventing a PORTVERSION
    - Given that, you shouldn't need to set DISTNAME as the default will do the 
      right thing.
    - Similarly you shouldn't need to override the setting for WRKSRC

  * You've listed the maintainer as 0mp@FreeBSD.org -- I can't find that as
    a known user.  You should put your own e-mail address in as the maintainer.

  * You don't need to explain all about the location of documentation and 
    examples and other data in pkg-descr -- this is standard functionality and 
    applies automatically for every port.

  * Similarly for pkg.message -- you're describing boiler-plate functionality.
    I'd remove pkg-message entirely: remember, less is more here and pkg-message 
    should be reserved only for those occasions where it is really needed.
Comment 2 Mateusz Piotrowski freebsd_committer freebsd_triage 2018-01-28 00:05:29 UTC
(In reply to Matthew Seaman from comment #1)

>  * With certain narrow exceptions, port and pkg names 
>    are usually all lower-case. 
Sure, I'll update the patch soon. 

I'd like to add that the NetBSD port is called "lang/forth-retro", and LiteBSD ports are called retro12 and retro11..

>  * It also seems like the '12' part of the version number is intrinsic to 
>     the software name, and the version number is just the encoded date
>    
>    - Could you rename the to lang/retro12 and the PORTNAME to retro12 
>      please?
>    - Use DISTVERSION=2018.1 rather than inventing a PORTVERSION
>    - Given that, you shouldn't need to set DISTNAME as the default will 
>      do the right thing.
>    - Similarly you shouldn't need to override the setting for WRKSRC
I tried to follow the format mentioned in the section 5.2.5.: "0.0.yyyy.mm.dd", because (as you've probably seen here [1]) the versioning of RETRO fits perfectly this format.

I'll apply the suggestions you mentioned in the next version of the patch.

>  * You've listed the maintainer as 0mp@FreeBSD.org -- I can't find 
>    that as a known user.  You should put your own e-mail address 
>    in as the maintainer.
I am a former Google Summer of Code student and I use 0mp@ daily, although I do not have any commit bit. I am already mentioned like this as a maintainer of accessibility/sct. I cannot use this email address as my primary address on Buzilla, however, because FreeBSD.org emails are automatically considered to be in the committer group or something.

>  * You don't need to explain all about the location of 
>    documentation and examples and other data in pkg-descr -- this is 
>    standard functionality and applies automatically for every port.
>    
>  * Similarly for pkg.message -- you're describing boiler-plate 
>    functionality.  I'd remove pkg-message entirely: remember, 
>    less is more here and pkg-message should be reserved only for 
>    those occasions where it is really needed.
Sure, I'll remember about it in the next version.

Thank you for your review!

I'll submit an updated patch soon.

[1]: https://forthworks.com/retro/r
Comment 3 Mateusz Piotrowski freebsd_committer freebsd_triage 2018-01-28 00:35:38 UTC
I have to use DISTNAME. Otherwise a wrong file [1] is downloaded instead of the good one [2].

[1]: https://forthworks.com/retro/r/retro12-2018.1.tar.gz
[2]: https://forthworks.com/retro/r/RETRO12-2018.1.tar.gz
Comment 4 Mateusz Piotrowski freebsd_committer freebsd_triage 2018-01-28 01:04:26 UTC
Created attachment 190125 [details]
A shell archive with the new lang/retro12 port (patch version: 2)

I'm uploading an updated version of the patch. 

Changes:

  * Rename RETRO to retro12.
  * Remove PORTVERSION.
  * Remove information about /usr/local/share files from pkg-descr.
  * Remove pkg-message.
  * Do not modify WRKSRC.

It's still using DISTNAME as the target file on the master site wasn't properly detected automatically.
Comment 5 Yuri Victorovich freebsd_committer freebsd_triage 2018-01-29 19:12:36 UTC
Committed with changes.
Thank you for your contribution.
Comment 6 commit-hook freebsd_committer freebsd_triage 2018-01-29 19:13:27 UTC
A commit references this bug:

Author: yuri
Date: Mon Jan 29 19:12:30 UTC 2018
New revision: 460323
URL: https://svnweb.freebsd.org/changeset/ports/460323

Log:
  New port: lang/retro12: Clean, elegant, and pragmatic dialect of Forth

  See details in https://forthworks.com/retro

  PR:		225320
  Submitted by:	Mateusz Piotrowski <mpp302@gmail.com>
  Approved by:	tcberner (mentor)
  Differential Revision:	https://reviews.freebsd.org/D14102

Changes:
  head/lang/Makefile
  head/lang/retro12/
  head/lang/retro12/Makefile
  head/lang/retro12/distinfo
  head/lang/retro12/files/
  head/lang/retro12/files/patch-build.sh
  head/lang/retro12/pkg-descr