Bug 234939 - [NEW PORT] devel/py-aenum Advanced Enumerations compatible with stdlib Enum
Summary: [NEW PORT] devel/py-aenum Advanced Enumerations compatible with stdlib Enum
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-14 13:27 UTC by Adam Wolk
Modified: 2022-06-27 10:21 UTC (History)
2 users (show)

See Also:


Attachments
svn diff of the new port (3.17 KB, patch)
2019-01-14 13:27 UTC, Adam Wolk
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Wolk 2019-01-14 13:27:35 UTC
Created attachment 201123 [details]
svn diff of the new port

Hi ports@,

I'm attaching a new port for a python enum compatibility module for python<3.6 (but it also works fine in 3.6 on it's own).

This is required for some projects (like /usr/ports/datbase/pglast) when used in combination with an older python than 3.6 - otherwise a runtime import error would occur due to missing compat dependencies.

Work sponsored by: Fudo Security

pkg-descr:
Advanced Enumerations (compatible with Python's stdlib Enum), NamedTuples, and NamedConstants

aenum includes a Python stdlib Enum-compatible data type, as well as a
metaclass-based NamedTuple implementation and a NamedConstant class.

An Enum is a set of symbolic names (members) bound to unique, constant values.
Within an enumeration, the members can be compared by identity, and the
enumeration itself can be iterated over. If using Python 3 there is built-in
support for unique values, multiple values, auto-numbering, and suspension
of aliasing (members with the same value are not identical), plus the
ability to have values automatically bound to attributes.

A NamedTuple is a class-based, fixed-length tuple with a name for each possible
position accessible using attribute-access notation as well as the standard
index notation.

A NamedConstant is a class whose members cannot be rebound; it lacks all other
Enum capabilities, however; consequently, it can have duplicate values.

WWW: https://bitbucket.org/stoneleaf/aenum
Comment 1 commit-hook freebsd_committer 2019-01-17 12:14:41 UTC
A commit references this bug:

Author: swills
Date: Thu Jan 17 12:13:40 UTC 2019
New revision: 490549
URL: https://svnweb.freebsd.org/changeset/ports/490549

Log:
  devel/py-aenum: create port

  Advanced Enumerations (compatible with Python's stdlib Enum), NamedTuples, and
  NamedConstants

  aenum includes a Python stdlib Enum-compatible data type, as well as a
  metaclass-based NamedTuple implementation and a NamedConstant class.

  An Enum is a set of symbolic names (members) bound to unique, constant values.
  Within an enumeration, the members can be compared by identity, and the
  enumeration itself can be iterated over. If using Python 3 there is built-in
  support for unique values, multiple values, auto-numbering, and suspension of
  aliasing (members with the same value are not identical), plus the ability to
  have values automatically bound to attributes.

  A NamedTuple is a class-based, fixed-length tuple with a name for each possible
  position accessible using attribute-access notation as well as the standard
  index notation.

  A NamedConstant is a class whose members cannot be rebound; it lacks all other
  Enum capabilities, however; consequently, it can have duplicate values.

  WWW: https://bitbucket.org/stoneleaf/aenum

  PR:		234939
  Submitted by:	Adam Wolk <a.wolk@fudosecurity.com>

Changes:
  head/devel/Makefile
  head/devel/py-aenum/
  head/devel/py-aenum/Makefile
  head/devel/py-aenum/distinfo
  head/devel/py-aenum/pkg-descr
Comment 2 Steve Wills freebsd_committer 2019-01-17 12:14:49 UTC
Committed, thanks!
Comment 3 commit-hook freebsd_committer 2022-06-26 12:27:51 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f7b02132107602cb413f5c07a50abe3bc9524798

commit f7b02132107602cb413f5c07a50abe3bc9524798
Author:     Dirk Meyer <dinoex@FreeBSD.org>
AuthorDate: 2022-06-26 12:26:31 +0000
Commit:     Dirk Meyer <dinoex@FreeBSD.org>
CommitDate: 2022-06-26 12:27:08 +0000

    sysutils/s6-rc: update to 0.5.3.2

    sysutils/s6-rc:  update to 0.5.3.2
    sysutils/s6:     update to 2.11.1.1
    lang/execline:   update to 2.9.0.0
    devel/skalibs:   update to 2.12.0.1
    PR: 234939

 devel/skalibs/Makefile   |  4 ++--
 devel/skalibs/distinfo   |  6 +++---
 devel/skalibs/pkg-plist  | 18 ++++++------------
 lang/execline/Makefile   |  4 ++--
 lang/execline/distinfo   |  6 +++---
 lang/execline/pkg-plist  |  6 ++++--
 sysutils/s6-rc/Makefile  | 37 ++++++++++++++++++++++++++++---------
 sysutils/s6-rc/distinfo  |  6 +++---
 sysutils/s6-rc/pkg-plist |  2 +-
 sysutils/s6/Makefile     |  4 ++--
 sysutils/s6/distinfo     |  6 +++---
 sysutils/s6/pkg-plist    | 16 +++++++++++-----
 12 files changed, 68 insertions(+), 47 deletions(-)
Comment 4 crest 2022-06-27 10:21:48 UTC
Yes as skalibs/execline/s6/s6-rc maintainer I can tell you that the commit is valid except for referencing the wrong PR (234939 instead of 259178). It applies the patch I've attached to PR259178 as well a single addition to skalibs/pkg-plist that i've missed (a new documentation file that does not yet contain anything but a placeholder).