aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2026-08-31 07:06:01 +0000
committerRene Ladan <rene@FreeBSD.org>2026-08-31 07:06:01 +0000
commit30680092dae5051337f9e9217fbea3829a303596 (patch)
treebf19a173819baab9e816af35aa80d347aac2b9f0
parent8a8abd2d2a8d527a14d9a6c1c02686606152d9a6 (diff)
databases/py-Elixir: Remove expired port
2026-08-31 databases/py-Elixir: Depends on expired databases/py-sqlalchemy10
-rw-r--r--MOVED1
-rw-r--r--databases/Makefile1
-rw-r--r--databases/py-Elixir/Makefile23
-rw-r--r--databases/py-Elixir/distinfo2
-rw-r--r--databases/py-Elixir/files/patch-2to3190
-rw-r--r--databases/py-Elixir/pkg-descr11
6 files changed, 1 insertions, 227 deletions
diff --git a/MOVED b/MOVED
index c06d2ca0b73f..3fe6ebc65c5f 100644
--- a/MOVED
+++ b/MOVED
@@ -5568,3 +5568,4 @@ audio/liblastfm||2026-08-31|Has expired: Upstream repo archived on Aug 22, 2025
www/joomla4||2026-08-31|Has expired: Upstream EOL
security/globalprotect-openconnect||2026-08-31|Has expired: This version has a vulnerability (CVE-2021-45810)
www/archiva||2026-08-31|Has expired: Not updated for years and moved to Apache Attic in 2024-05: https://issues.apache.org/jira/browse/ATTIC-221
+databases/py-Elixir||2026-08-31|Has expired: Depends on expired databases/py-sqlalchemy10
diff --git a/databases/Makefile b/databases/Makefile
index ec235e1250c2..9afafbb5a73c 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -767,7 +767,6 @@
SUBDIR += puredb
SUBDIR += pxlib
SUBDIR += pxtools
- SUBDIR += py-Elixir
SUBDIR += py-PyGreSQL
SUBDIR += py-PyHive
SUBDIR += py-PyPika
diff --git a/databases/py-Elixir/Makefile b/databases/py-Elixir/Makefile
deleted file mode 100644
index 58f3d7fcfce8..000000000000
--- a/databases/py-Elixir/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-PORTNAME= Elixir
-PORTVERSION= 0.7.1
-PORTREVISION= 4
-CATEGORIES= databases python
-MASTER_SITES= PYPI \
- http://nivi.interfree.it/distfiles/${PORTNAME}/
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-MAINTAINER= nivit@FreeBSD.org
-COMMENT= Declarative Mapper for SQLAlchemy
-WWW= http://elixir.ematia.de/
-
-LICENSE= MIT
-
-DEPRECATED= Depends on expired databases/py-sqlalchemy10
-EXPIRATION_DATE=2026-08-31
-
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy10>=0.4.0:databases/py-sqlalchemy10@${PY_FLAVOR}
-
-USES= python
-USE_PYTHON= distutils autoplist
-
-.include <bsd.port.mk>
diff --git a/databases/py-Elixir/distinfo b/databases/py-Elixir/distinfo
deleted file mode 100644
index b96a505afff6..000000000000
--- a/databases/py-Elixir/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (Elixir-0.7.1.tar.gz) = a7ef437f25b544e4f74fb3236fc43cd25f5d6feb6037dd7c66931046d75439e9
-SIZE (Elixir-0.7.1.tar.gz) = 47110
diff --git a/databases/py-Elixir/files/patch-2to3 b/databases/py-Elixir/files/patch-2to3
deleted file mode 100644
index ab5974dac8a3..000000000000
--- a/databases/py-Elixir/files/patch-2to3
+++ /dev/null
@@ -1,190 +0,0 @@
---- elixir/entity.py.orig 2009-11-13 19:50:38 UTC
-+++ elixir/entity.py
-@@ -3,7 +3,7 @@ This module provides the ``Entity`` base class, as wel
- ``EntityMeta``.
- '''
-
--from py23compat import sorted
-+from .py23compat import sorted
-
- import sys
- import types
-@@ -172,7 +172,7 @@ class EntityDescriptor(object):
- self.identity = self.identity(entity)
-
- if self.polymorphic:
-- if not isinstance(self.polymorphic, basestring):
-+ if not isinstance(self.polymorphic, str):
- self.polymorphic = options.DEFAULT_POLYMORPHIC_COL_NAME
-
- #---------------------
-@@ -226,7 +226,7 @@ class EntityDescriptor(object):
- if col.primary_key:
- self.add_column(col.copy())
- elif not self.has_pk and self.auto_primarykey:
-- if isinstance(self.auto_primarykey, basestring):
-+ if isinstance(self.auto_primarykey, str):
- colname = self.auto_primarykey
- else:
- colname = options.DEFAULT_AUTO_PRIMARYKEY_NAME
-@@ -298,7 +298,7 @@ class EntityDescriptor(object):
- options.POLYMORPHIC_COL_TYPE))
-
- if self.version_id_col:
-- if not isinstance(self.version_id_col, basestring):
-+ if not isinstance(self.version_id_col, str):
- self.version_id_col = options.DEFAULT_VERSION_ID_COL_NAME
- self.add_column(Column(self.version_id_col, Integer))
-
-@@ -306,7 +306,7 @@ class EntityDescriptor(object):
- self.entity.table = Table(self.tablename, self.metadata,
- *args, **kwargs)
- if DEBUG:
-- print self.entity.table.repr2()
-+ print(self.entity.table.repr2())
-
- def setup_reltables(self):
- self.call_builders('create_tables')
-@@ -365,7 +365,7 @@ class EntityDescriptor(object):
- return children
-
- def translate_order_by(self, order_by):
-- if isinstance(order_by, basestring):
-+ if isinstance(order_by, str):
- order_by = [order_by]
-
- order = []
-@@ -505,12 +505,12 @@ class EntityDescriptor(object):
- # get one in any case.
- table = type.__getattribute__(self.entity, 'table')
- if table is not None:
-- if check_duplicate and col.key in table.columns.keys():
-+ if check_duplicate and col.key in list(table.columns.keys()):
- raise Exception("Column '%s' already exist in table '%s' ! " %
- (col.key, table.name))
- table.append_column(col)
- if DEBUG:
-- print "table.append_column(%s)" % col
-+ print("table.append_column(%s)" % col)
-
- def add_constraint(self, constraint):
- self.constraints.append(constraint)
-@@ -537,7 +537,7 @@ class EntityDescriptor(object):
- if mapper:
- mapper.add_property(name, property)
- if DEBUG:
-- print "mapper.add_property('%s', %s)" % (name, repr(property))
-+ print("mapper.add_property('%s', %s)" % (name, repr(property)))
-
- def add_mapper_extension(self, extension):
- extensions = self.mapper_options.get('extension', [])
-@@ -795,7 +795,7 @@ def instrument_class(cls):
-
- # Process attributes (using the assignment syntax), looking for
- # 'Property' instances and attaching them to this entity.
-- properties = [(name, attr) for name, attr in cls.__dict__.iteritems()
-+ properties = [(name, attr) for name, attr in cls.__dict__.items()
- if isinstance(attr, Property)]
- sorted_props = sorted(base_props + properties,
- key=lambda i: i[1]._counter)
-@@ -924,7 +924,7 @@ def setup_entities(entities):
- # delete all Elixir properties so that it doesn't interfere with
- # SQLAlchemy. At this point they should have be converted to
- # builders.
-- for name, attr in entity.__dict__.items():
-+ for name, attr in list(entity.__dict__.items()):
- if isinstance(attr, Property):
- delattr(entity, name)
-
-@@ -1004,7 +1004,7 @@ class EntityBase(object):
- self.set(**kwargs)
-
- def set(self, **kwargs):
-- for key, value in kwargs.iteritems():
-+ for key, value in kwargs.items():
- setattr(self, key, value)
-
- def update_or_create(cls, data, surrogate=True):
-@@ -1038,7 +1038,7 @@ class EntityBase(object):
-
- mapper = sqlalchemy.orm.object_mapper(self)
-
-- for key, value in data.iteritems():
-+ for key, value in data.items():
- if isinstance(value, dict):
- dbvalue = getattr(self, key)
- rel_class = mapper.get_property(key).mapper.class_
-@@ -1074,7 +1074,7 @@ class EntityBase(object):
- if isinstance(p, ColumnProperty)]
- data = dict([(name, getattr(self, name))
- for name in col_prop_names if name not in exclude])
-- for rname, rdeep in deep.iteritems():
-+ for rname, rdeep in deep.items():
- dbdata = getattr(self, rname)
- #FIXME: use attribute names (ie coltoprop) instead of column names
- fks = self.mapper.get_property(rname).remote_side
-@@ -1145,7 +1145,7 @@ class EntityBase(object):
- get = classmethod(get)
-
-
--class Entity(EntityBase):
-+class Entity(EntityBase, metaclass=EntityMeta):
- '''
- The base class for all entities
-
-@@ -1167,6 +1167,5 @@ class Entity(EntityBase):
- For further information, please refer to the provided examples or
- tutorial.
- '''
-- __metaclass__ = EntityMeta
-
-
---- elixir/py23compat.py.orig 2009-10-02 10:19:50 UTC
-+++ elixir/py23compat.py
-@@ -11,7 +11,7 @@ orig_cmp = cmp
- def sort_list(l, cmp=None, key=None, reverse=False):
- try:
- l.sort(cmp, key, reverse)
-- except TypeError, e:
-+ except TypeError as e:
- if not str(e).startswith('sort expected at most 1 arguments'):
- raise
- if cmp is None:
---- elixir/relationships.py.orig 2009-11-13 20:04:26 UTC
-+++ elixir/relationships.py
-@@ -412,7 +412,7 @@ from sqlalchemy import ForeignKeyConstraint, Column, T
- from sqlalchemy.orm import relation, backref, class_mapper
- from sqlalchemy.ext.associationproxy import association_proxy
-
--import options
-+from . import options
- from elixir.statements import ClassMutator
- from elixir.properties import Property
- from elixir.entity import EntityMeta, DEBUG
-@@ -495,7 +495,7 @@ class Relationship(Property):
-
- def target(self):
- if not self._target:
-- if isinstance(self.of_kind, basestring):
-+ if isinstance(self.of_kind, str):
- collection = self.entity._descriptor.collection
- self._target = collection.resolve(self.of_kind, self.entity)
- else:
-@@ -1115,7 +1115,7 @@ class ManyToMany(Relationship):
- self.table = Table(tablename, e1_desc.metadata,
- schema=schema, *args, **complete_kwargs)
- if DEBUG:
-- print self.table.repr2()
-+ print(self.table.repr2())
-
- def _build_join_clauses(self):
- # In the case we have a self-reference, we need to build join clauses
-@@ -1222,7 +1222,7 @@ def _get_join_clauses(local_table, local_cols1, local_
- # match.
-
- #TODO: rewrite this. Even with the comment, I don't even understand it myself.
-- for cols, constraint in constraint_map.iteritems():
-+ for cols, constraint in constraint_map.items():
- if cols == cols1 or (cols != cols2 and
- not cols1 and (cols2 in constraint_map or
- cols2 is None)):
diff --git a/databases/py-Elixir/pkg-descr b/databases/py-Elixir/pkg-descr
deleted file mode 100644
index 2c716b6ea0ca..000000000000
--- a/databases/py-Elixir/pkg-descr
+++ /dev/null
@@ -1,11 +0,0 @@
-A declarative layer on top of SQLAlchemy. It is a fairly thin wrapper, which
-provides the ability to define model objects following the Active Record
-design pattern, and using a DSL syntax similar to that of the Ruby on Rails
-ActiveRecord system.
-
-Elixir does not intend to replace SQLAlchemy's core features, but instead
-focuses on providing a simpler syntax for defining model objects when you do
-not need the full expressiveness of SQLAlchemy's manual mapper definitions.
-
-Elixir is intended to replace the ActiveMapper SQLAlchemy extension, and the
-TurboEntity project.