From 60e8b2fa36c7250fcd594fdedaf7f7391d396602 Mon Sep 17 00:00:00 2001 From: Steve Wills Date: Thu, 17 Jan 2019 12:13:38 +0000 Subject: [PATCH] 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 --- devel/Makefile | 1 + devel/py-aenum/Makefile | 18 ++++++++++++++++++ devel/py-aenum/distinfo | 3 +++ devel/py-aenum/pkg-descr | 21 +++++++++++++++++++++ 4 files changed, 43 insertions(+) create mode 100644 devel/py-aenum/Makefile create mode 100644 devel/py-aenum/distinfo create mode 100644 devel/py-aenum/pkg-descr diff --git a/devel/Makefile b/devel/Makefile index cb35f0458935..1f0113cb3948 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -4283,6 +4283,7 @@ SUBDIR += py-XStatic-tv4 SUBDIR += py-ZopeUndo SUBDIR += py-adb + SUBDIR += py-aenum SUBDIR += py-aioice SUBDIR += py-aiorpcX SUBDIR += py-aiortc diff --git a/devel/py-aenum/Makefile b/devel/py-aenum/Makefile new file mode 100644 index 000000000000..6d712f00da31 --- /dev/null +++ b/devel/py-aenum/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +PORTNAME= aenum +PORTVERSION= 2.1.2 +CATEGORIES= devel python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= a.wolk@fudosecurity.com +COMMENT= Advanced Enumerations compatible with stdlib Enum + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/aenum/LICENSE + +USES= python:3.4+ +USE_PYTHON= autoplist distutils + +.include diff --git a/devel/py-aenum/distinfo b/devel/py-aenum/distinfo new file mode 100644 index 000000000000..5239998b58a1 --- /dev/null +++ b/devel/py-aenum/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1547727105 +SHA256 (aenum-2.1.2.tar.gz) = a3208e4b28db3a7b232ff69b934aef2ea1bf27286d9978e1e597d46f490e4687 +SIZE (aenum-2.1.2.tar.gz) = 98823 diff --git a/devel/py-aenum/pkg-descr b/devel/py-aenum/pkg-descr new file mode 100644 index 000000000000..c1cba79928f0 --- /dev/null +++ b/devel/py-aenum/pkg-descr @@ -0,0 +1,21 @@ +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