Remove expired ports:
2015-08-07 net/py-xmlrpclib: This is part of standard library since python 2.2 2015-08-07 net-p2p/py-kenosis: Fails to run with modern python
This commit is contained in:
parent
db73e12378
commit
4f5435a9c4
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=393699
12 changed files with 2 additions and 351 deletions
2
MOVED
2
MOVED
|
@ -7818,3 +7818,5 @@ www/trytond_google_maps||2015-08-05|No more supported upstream, use tryton 2.8 i
|
|||
devel/appdata-tools|devel/appstream-glib|2015-08-05|Replaced by appstream-glib
|
||||
textproc/pystemmer|textproc/py-pystemmer|2015-08-06|Rename to match upstream (PyPi) name
|
||||
dns/knot|dns/knot1|2015-08-07|Rename to knot1 now knot 2.0 is out
|
||||
net/py-xmlrpclib||2015-08-07|Has expired: This is part of standard library since python 2.2
|
||||
net-p2p/py-kenosis||2015-08-07|Has expired: Fails to run with modern python
|
||||
|
|
|
@ -67,7 +67,6 @@
|
|||
SUBDIR += p5-Net-DirectConnect
|
||||
SUBDIR += p5-WWW-BitTorrent
|
||||
SUBDIR += phex
|
||||
SUBDIR += py-kenosis
|
||||
SUBDIR += py-py2play
|
||||
SUBDIR += py-transmissionrpc
|
||||
SUBDIR += py-vertex
|
||||
|
|
|
@ -1,58 +0,0 @@
|
|||
# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= kenosis
|
||||
PORTVERSION= 0.96
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= net-p2p python
|
||||
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
|
||||
MAINTAINER= bofh@FreeBSD.org
|
||||
COMMENT= Fully-distributed p2p RPC system built on top of XMLRPC
|
||||
|
||||
LICENSE= MIT
|
||||
|
||||
DEPRECATED= Fails to run with modern python
|
||||
EXPIRATION_DATE=2015-08-07
|
||||
|
||||
RUN_DEPENDS= ${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages/xmlrpclib.py:${PORTSDIR}/net/py-xmlrpclib
|
||||
|
||||
USES= python
|
||||
USE_PYTHON= distutils autoplist
|
||||
PYSETUP= ${PORTNAME}_setup.py
|
||||
|
||||
PORTSCOUT= skipv:0.941 # Older version than the current one
|
||||
|
||||
post-extract:
|
||||
# Avoid name collision and move ds inside kenosis package
|
||||
# it is only used by kenosis anyway
|
||||
@${MV} ${WRKSRC}/ds ${WRKSRC}/${PORTNAME}
|
||||
# Contributed by Eric Ries <eric.ries@aya.yale.edu> - kenosis developer
|
||||
# Queue.py changed API from python 2.3 to 2.4
|
||||
# use Queue.py from python 2.3 while kenosis developers fix this
|
||||
@${CP} ${FILESDIR}/python2.3-Queue.py \
|
||||
${WRKSRC}/${PORTNAME}/Queue.py
|
||||
|
||||
post-patch:
|
||||
# ds was moved inside kenosis package
|
||||
# use local copy of Queue
|
||||
# point at correct python
|
||||
@${FIND} ${WRKSRC} -type f -print0 \
|
||||
| ${XARGS} -0 -n 5 -x \
|
||||
${REINPLACE_CMD} -E \
|
||||
-e 's|from[[:space:]]+ds|from ${PORTNAME}.ds|' \
|
||||
-e 's|import[[:space:]]+Queue|from ${PORTNAME} import Queue|' \
|
||||
-e 's|/usr/bin/python|${PYTHON_CMD}|' \
|
||||
-e 's|/usr/bin/env[[:space:]]+python|${PYTHON_CMD}|'
|
||||
# remove all .bak files
|
||||
@${FIND} ${WRKSRC} -name "*.bak" -type f -print0 \
|
||||
| ${XARGS} -0 -n 5 -x \
|
||||
${RM} -f
|
||||
# Contributed by Eric Ries <eric.ries@aya.yale.edu> - kenosis developer
|
||||
# set default time out to 20
|
||||
@${REINPLACE_CMD} -E \
|
||||
-e 's|(socket.setdefaulttimeout)\([[:digit:]]+\)|\1(20)|' \
|
||||
${WRKSRC}/${PORTNAME}/node.py
|
||||
|
||||
.include <bsd.port.mk>
|
|
@ -1,2 +0,0 @@
|
|||
SHA256 (kenosis-0.96.tar.gz) = 7cd0adfd87acaa201b0ae5f02e5897eec9d99aab1684904a6dca536db103ee5e
|
||||
SIZE (kenosis-0.96.tar.gz) = 174817
|
|
@ -1,11 +0,0 @@
|
|||
--- kenosis_setup.py.orig Fri Jan 7 04:16:32 2005
|
||||
+++ kenosis_setup.py Thu Jan 13 00:22:56 2005
|
||||
@@ -15,7 +15,6 @@
|
||||
url = "http://kenosis.sf.net/",
|
||||
license = "MIT",
|
||||
|
||||
- packages = ["bt", "bt.BitTorrent", "ds", "kenosis", "kenosis.dns"],
|
||||
+ packages = ["kenosis", "kenosis.ds", "kenosis.dns"],
|
||||
)
|
||||
|
||||
-print("Upload to upload.sf.net/incoming by running: ncftpput upload.sf.net incoming dist/kenosis-%s.tar.gz" % kenosis.version)
|
|
@ -1,206 +0,0 @@
|
|||
"""A multi-producer, multi-consumer queue."""
|
||||
|
||||
from time import time as _time, sleep as _sleep
|
||||
|
||||
__all__ = ['Empty', 'Full', 'Queue']
|
||||
|
||||
class Empty(Exception):
|
||||
"Exception raised by Queue.get(block=0)/get_nowait()."
|
||||
pass
|
||||
|
||||
class Full(Exception):
|
||||
"Exception raised by Queue.put(block=0)/put_nowait()."
|
||||
pass
|
||||
|
||||
class Queue:
|
||||
def __init__(self, maxsize=0):
|
||||
"""Initialize a queue object with a given maximum size.
|
||||
|
||||
If maxsize is <= 0, the queue size is infinite.
|
||||
"""
|
||||
try:
|
||||
import thread
|
||||
except ImportError:
|
||||
import dummy_thread as thread
|
||||
self._init(maxsize)
|
||||
self.mutex = thread.allocate_lock()
|
||||
self.esema = thread.allocate_lock()
|
||||
self.esema.acquire()
|
||||
self.fsema = thread.allocate_lock()
|
||||
|
||||
def qsize(self):
|
||||
"""Return the approximate size of the queue (not reliable!)."""
|
||||
self.mutex.acquire()
|
||||
n = self._qsize()
|
||||
self.mutex.release()
|
||||
return n
|
||||
|
||||
def empty(self):
|
||||
"""Return True if the queue is empty, False otherwise (not reliable!)."""
|
||||
self.mutex.acquire()
|
||||
n = self._empty()
|
||||
self.mutex.release()
|
||||
return n
|
||||
|
||||
def full(self):
|
||||
"""Return True if the queue is full, False otherwise (not reliable!)."""
|
||||
self.mutex.acquire()
|
||||
n = self._full()
|
||||
self.mutex.release()
|
||||
return n
|
||||
|
||||
def put(self, item, block=True, timeout=None):
|
||||
"""Put an item into the queue.
|
||||
|
||||
If optional args 'block' is true and 'timeout' is None (the default),
|
||||
block if necessary until a free slot is available. If 'timeout' is
|
||||
a positive number, it blocks at most 'timeout' seconds and raises
|
||||
the Full exception if no free slot was available within that time.
|
||||
Otherwise ('block' is false), put an item on the queue if a free slot
|
||||
is immediately available, else raise the Full exception ('timeout'
|
||||
is ignored in that case).
|
||||
"""
|
||||
if block:
|
||||
if timeout is None:
|
||||
# blocking, w/o timeout, i.e. forever
|
||||
self.fsema.acquire()
|
||||
elif timeout >= 0:
|
||||
# waiting max. 'timeout' seconds.
|
||||
# this code snipped is from threading.py: _Event.wait():
|
||||
# Balancing act: We can't afford a pure busy loop, so we
|
||||
# have to sleep; but if we sleep the whole timeout time,
|
||||
# we'll be unresponsive. The scheme here sleeps very
|
||||
# little at first, longer as time goes on, but never longer
|
||||
# than 20 times per second (or the timeout time remaining).
|
||||
delay = 0.0005 # 500 us -> initial delay of 1 ms
|
||||
endtime = _time() + timeout
|
||||
while True:
|
||||
if self.fsema.acquire(0):
|
||||
break
|
||||
remaining = endtime - _time()
|
||||
if remaining <= 0: #time is over and no slot was free
|
||||
raise Full
|
||||
delay = min(delay * 2, remaining, .05)
|
||||
_sleep(delay) #reduce CPU usage by using a sleep
|
||||
else:
|
||||
raise ValueError("'timeout' must be a positive number")
|
||||
elif not self.fsema.acquire(0):
|
||||
raise Full
|
||||
self.mutex.acquire()
|
||||
release_fsema = True
|
||||
try:
|
||||
was_empty = self._empty()
|
||||
self._put(item)
|
||||
# If we fail before here, the empty state has
|
||||
# not changed, so we can skip the release of esema
|
||||
if was_empty:
|
||||
self.esema.release()
|
||||
# If we fail before here, the queue can not be full, so
|
||||
# release_full_sema remains True
|
||||
release_fsema = not self._full()
|
||||
finally:
|
||||
# Catching system level exceptions here (RecursionDepth,
|
||||
# OutOfMemory, etc) - so do as little as possible in terms
|
||||
# of Python calls.
|
||||
if release_fsema:
|
||||
self.fsema.release()
|
||||
self.mutex.release()
|
||||
|
||||
def put_nowait(self, item):
|
||||
"""Put an item into the queue without blocking.
|
||||
|
||||
Only enqueue the item if a free slot is immediately available.
|
||||
Otherwise raise the Full exception.
|
||||
"""
|
||||
return self.put(item, False)
|
||||
|
||||
def get(self, block=True, timeout=None):
|
||||
"""Remove and return an item from the queue.
|
||||
|
||||
If optional args 'block' is true and 'timeout' is None (the default),
|
||||
block if necessary until an item is available. If 'timeout' is
|
||||
a positive number, it blocks at most 'timeout' seconds and raises
|
||||
the Empty exception if no item was available within that time.
|
||||
Otherwise ('block' is false), return an item if one is immediately
|
||||
available, else raise the Empty exception ('timeout' is ignored
|
||||
in that case).
|
||||
"""
|
||||
if block:
|
||||
if timeout is None:
|
||||
# blocking, w/o timeout, i.e. forever
|
||||
self.esema.acquire()
|
||||
elif timeout >= 0:
|
||||
# waiting max. 'timeout' seconds.
|
||||
# this code snipped is from threading.py: _Event.wait():
|
||||
# Balancing act: We can't afford a pure busy loop, so we
|
||||
# have to sleep; but if we sleep the whole timeout time,
|
||||
# we'll be unresponsive. The scheme here sleeps very
|
||||
# little at first, longer as time goes on, but never longer
|
||||
# than 20 times per second (or the timeout time remaining).
|
||||
delay = 0.0005 # 500 us -> initial delay of 1 ms
|
||||
endtime = _time() + timeout
|
||||
while 1:
|
||||
if self.esema.acquire(0):
|
||||
break
|
||||
remaining = endtime - _time()
|
||||
if remaining <= 0: #time is over and no element arrived
|
||||
raise Empty
|
||||
delay = min(delay * 2, remaining, .05)
|
||||
_sleep(delay) #reduce CPU usage by using a sleep
|
||||
else:
|
||||
raise ValueError("'timeout' must be a positive number")
|
||||
elif not self.esema.acquire(0):
|
||||
raise Empty
|
||||
self.mutex.acquire()
|
||||
release_esema = True
|
||||
try:
|
||||
was_full = self._full()
|
||||
item = self._get()
|
||||
# If we fail before here, the full state has
|
||||
# not changed, so we can skip the release of fsema
|
||||
if was_full:
|
||||
self.fsema.release()
|
||||
# Failure means empty state also unchanged - release_esema
|
||||
# remains True.
|
||||
release_esema = not self._empty()
|
||||
finally:
|
||||
if release_esema:
|
||||
self.esema.release()
|
||||
self.mutex.release()
|
||||
return item
|
||||
|
||||
def get_nowait(self):
|
||||
"""Remove and return an item from the queue without blocking.
|
||||
|
||||
Only get an item if one is immediately available. Otherwise
|
||||
raise the Empty exception.
|
||||
"""
|
||||
return self.get(False)
|
||||
|
||||
# Override these methods to implement other queue organizations
|
||||
# (e.g. stack or priority queue).
|
||||
# These will only be called with appropriate locks held
|
||||
|
||||
# Initialize the queue representation
|
||||
def _init(self, maxsize):
|
||||
self.maxsize = maxsize
|
||||
self.queue = []
|
||||
|
||||
def _qsize(self):
|
||||
return len(self.queue)
|
||||
|
||||
# Check whether the queue is empty
|
||||
def _empty(self):
|
||||
return not self.queue
|
||||
|
||||
# Check whether the queue is full
|
||||
def _full(self):
|
||||
return self.maxsize > 0 and len(self.queue) == self.maxsize
|
||||
|
||||
# Put a new item in the queue
|
||||
def _put(self, item):
|
||||
self.queue.append(item)
|
||||
|
||||
# Get an item from the queue
|
||||
def _get(self):
|
||||
return self.queue.pop(0)
|
|
@ -1,10 +0,0 @@
|
|||
[ excerpt from developer's web site ]
|
||||
|
||||
Kenosis is a fully-distributed p2p RPC system built on top of
|
||||
XMLRPC. Nodes are automatically connected to each other via a
|
||||
Kademlia-style network (http://citeseer.ist.psu.edu/529075.html) and
|
||||
can route RPC requests efficiently to any online node. Kenosis does
|
||||
not rely on a central server - any Kenosis node can effectively join
|
||||
the network ("bootstrap") from any connected node.
|
||||
|
||||
WWW: http://kenosis.sourceforge.net/
|
|
@ -974,7 +974,6 @@
|
|||
SUBDIR += py-urllib3
|
||||
SUBDIR += py-wolframalpha
|
||||
SUBDIR += py-xmlrpc
|
||||
SUBDIR += py-xmlrpclib
|
||||
SUBDIR += py-zope.proxy
|
||||
SUBDIR += py-zsi
|
||||
SUBDIR += pygopherd
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
# Created by: Johann Visagie <johann@egenetics.com>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= xmlrpclib
|
||||
PORTVERSION= 1.0.1
|
||||
CATEGORIES= net python
|
||||
MASTER_SITES= http://effbot.org/media/downloads/
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
COMMENT= Python implementation of the XML-RPC protocol
|
||||
|
||||
DEPRECATED= This is part of standard library since python 2.2
|
||||
EXPIRATION_DATE=2015-08-07
|
||||
|
||||
USES= python zip
|
||||
|
||||
DOCSDIR= ${PREFIX}/share/doc/py-xmlrpclib
|
||||
EXAMPLESDIR= ${PREFIX}/share/examples/py-xmlrpclib
|
||||
PORTDOCS= *
|
||||
PORTEXAMPLES= *
|
||||
|
||||
do-build:
|
||||
${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
|
||||
-d ${PYTHONPREFIX_SITELIBDIR} \
|
||||
-f ${WRKSRC}
|
||||
${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
|
||||
-d ${PYTHONPREFIX_SITELIBDIR} \
|
||||
-f ${WRKSRC}
|
||||
|
||||
do-install:
|
||||
@${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
|
||||
${INSTALL_DATA} ${WRKSRC}/xmlrpclib.py* \
|
||||
${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
|
||||
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
|
||||
.for egfile in xmlrpcserver.py xmlrpc_handler.py
|
||||
${INSTALL_DATA} ${WRKSRC}/${egfile} ${STAGEDIR}${EXAMPLESDIR}
|
||||
.endfor
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
${INSTALL_MAN} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
|
||||
|
||||
.include <bsd.port.mk>
|
|
@ -1,2 +0,0 @@
|
|||
SHA256 (xmlrpclib-1.0.1.zip) = a1f50a25ba51fa7688ff4d05dfa71c821798e72ba0f6c4aa966d2c0532a77880
|
||||
SIZE (xmlrpclib-1.0.1.zip) = 19566
|
|
@ -1,15 +0,0 @@
|
|||
----------------------------------IMPORTANT-------------------------------
|
||||
This module has been integrated with Python's standard library, and the
|
||||
standalone version is not maintained anymore. If you have a version of
|
||||
Python >= 2.1 installed, you already have a more recent version of this
|
||||
module and you should NOT need to install this port.
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
Fredrik Lundh's original and widely used Python implementation of Userland's
|
||||
XML-RPC protocol (http://www.xmlrpc.com/) is tightly integrated with Python
|
||||
and extremely simple to use. It includes a simple example server based on
|
||||
Python's SocketServer class, and an XML-RPC handler for Medusa.
|
||||
|
||||
Version 0.9.9 is regarded as a beta-quality development release.
|
||||
|
||||
WWW: http://www.pythonware.com/products/xmlrpc/
|
|
@ -1,3 +0,0 @@
|
|||
%%PYTHON_SITELIBDIR%%/xmlrpclib.py
|
||||
%%PYTHON_SITELIBDIR%%/xmlrpclib.pyc
|
||||
%%PYTHON_SITELIBDIR%%/xmlrpclib.pyo
|
Loading…
Reference in a new issue