aboutsummaryrefslogtreecommitdiff
path: root/textproc
diff options
context:
space:
mode:
Diffstat (limited to 'textproc')
-rw-r--r--textproc/Makefile18
-rw-r--r--textproc/archmage/Makefile43
-rw-r--r--textproc/archmage/distinfo2
-rw-r--r--textproc/archmage/pkg-descr5
-rw-r--r--textproc/py-asv/Makefile54
-rw-r--r--textproc/py-asv/distinfo2
-rw-r--r--textproc/py-asv/pkg-descr12
-rw-r--r--textproc/py-dsv/Makefile34
-rw-r--r--textproc/py-dsv/distinfo2
-rw-r--r--textproc/py-dsv/pkg-descr17
-rw-r--r--textproc/py-dsv/pkg-plist2
-rw-r--r--textproc/py-excelerator/Makefile38
-rw-r--r--textproc/py-excelerator/distinfo2
-rw-r--r--textproc/py-excelerator/pkg-descr6
-rw-r--r--textproc/py-jaxml/Makefile25
-rw-r--r--textproc/py-jaxml/distinfo2
-rw-r--r--textproc/py-jaxml/pkg-descr4
-rw-r--r--textproc/py-libtre/Makefile37
-rw-r--r--textproc/py-libtre/distinfo2
-rw-r--r--textproc/py-libtre/pkg-descr14
-rw-r--r--textproc/py-pyctpp2/Makefile25
-rw-r--r--textproc/py-pyctpp2/distinfo2
-rw-r--r--textproc/py-pyctpp2/files/patch-pyctpp2___pyctpp2__py2.cpp27
-rw-r--r--textproc/py-pyctpp2/files/patch-pyctpp2___pyctpp2__py3.cpp27
-rw-r--r--textproc/py-pyctpp2/files/patch-pyctpp2_cengine.cc34
-rw-r--r--textproc/py-pyctpp2/pkg-descr3
-rw-r--r--textproc/py-rstyoutube/Makefile24
-rw-r--r--textproc/py-rstyoutube/distinfo2
-rw-r--r--textproc/py-rstyoutube/files/patch-setup.py33
-rw-r--r--textproc/py-rstyoutube/pkg-descr4
-rw-r--r--textproc/py-rxp/Makefile40
-rw-r--r--textproc/py-rxp/distinfo2
-rw-r--r--textproc/py-rxp/files/patch-pyRXP.c28
-rw-r--r--textproc/py-rxp/files/patch-setup.py12
-rw-r--r--textproc/py-rxp/pkg-descr11
-rw-r--r--textproc/py-syck/Makefile31
-rw-r--r--textproc/py-syck/distinfo2
-rw-r--r--textproc/py-syck/pkg-descr10
-rw-r--r--textproc/py-tvgrab/Makefile39
-rw-r--r--textproc/py-tvgrab/distinfo2
-rw-r--r--textproc/py-tvgrab/files/timezone.py933
-rw-r--r--textproc/py-tvgrab/pkg-descr6
-rw-r--r--textproc/py-xlwriter/Makefile28
-rw-r--r--textproc/py-xlwriter/distinfo2
-rw-r--r--textproc/py-xlwriter/pkg-descr5
-rw-r--r--textproc/py2html/Makefile22
-rw-r--r--textproc/py2html/distinfo2
-rw-r--r--textproc/py2html/pkg-descr2
-rw-r--r--textproc/queequeg/Makefile44
-rw-r--r--textproc/queequeg/distinfo2
-rw-r--r--textproc/queequeg/files/patch-Makefile11
-rw-r--r--textproc/queequeg/pkg-descr7
-rw-r--r--textproc/queequeg/pkg-plist18
-rw-r--r--textproc/rubber/Makefile35
-rw-r--r--textproc/rubber/distinfo2
-rw-r--r--textproc/rubber/pkg-descr8
-rw-r--r--textproc/rubber/pkg-plist91
-rw-r--r--textproc/silvercity/Makefile24
-rw-r--r--textproc/silvercity/distinfo2
-rw-r--r--textproc/silvercity/pkg-descr6
-rw-r--r--textproc/silvercity/pkg-plist68
-rw-r--r--textproc/xsv/Makefile38
-rw-r--r--textproc/xsv/distinfo2
-rw-r--r--textproc/xsv/files/patch-setup.py25
-rw-r--r--textproc/xsv/pkg-descr13
-rw-r--r--textproc/yould/Makefile31
-rw-r--r--textproc/yould/distinfo2
-rw-r--r--textproc/yould/pkg-descr6
68 files changed, 0 insertions, 2114 deletions
diff --git a/textproc/Makefile b/textproc/Makefile
index 66113a002e0b..8dc26e3a36d5 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -46,7 +46,6 @@
SUBDIR += apache-poi
SUBDIR += apache-solr
SUBDIR += apertium
- SUBDIR += archmage
SUBDIR += artha
SUBDIR += asciidoc
SUBDIR += asm-xml
@@ -1220,7 +1219,6 @@
SUBDIR += py-alabaster
SUBDIR += py-asciinema
SUBDIR += py-asonic
- SUBDIR += py-asv
SUBDIR += py-autopep8
SUBDIR += py-awesome-slugify
SUBDIR += py-bibtexparser
@@ -1243,7 +1241,6 @@
SUBDIR += py-docx2txt
SUBDIR += py-dominate
SUBDIR += py-dparse
- SUBDIR += py-dsv
SUBDIR += py-duecredit
SUBDIR += py-elasticsearch
SUBDIR += py-elasticsearch-async
@@ -1257,7 +1254,6 @@
SUBDIR += py-errorhandler
SUBDIR += py-esmre
SUBDIR += py-et_xmlfile
- SUBDIR += py-excelerator
SUBDIR += py-feedparser
SUBDIR += py-fingerprints
SUBDIR += py-ftfy
@@ -1276,14 +1272,12 @@
SUBDIR += py-hypua2jamo
SUBDIR += py-isbnlib
SUBDIR += py-isbntools
- SUBDIR += py-jaxml
SUBDIR += py-jsonslicer
SUBDIR += py-jsx-lexer
SUBDIR += py-jtextfsm
SUBDIR += py-junit-xml
SUBDIR += py-langdetect
SUBDIR += py-laserhammer
- SUBDIR += py-libtre
SUBDIR += py-libxml2
SUBDIR += py-libxslt
SUBDIR += py-license-expression
@@ -1325,7 +1319,6 @@
SUBDIR += py-pyPEG2
SUBDIR += py-pyahocorasick
SUBDIR += py-pyaml
- SUBDIR += py-pyctpp2
SUBDIR += py-pyes
SUBDIR += py-pygccxml
SUBDIR += py-pygments
@@ -1362,8 +1355,6 @@
SUBDIR += py-rnc2rng
SUBDIR += py-rss2gen
SUBDIR += py-rst2html5
- SUBDIR += py-rstyoutube
- SUBDIR += py-rxp
SUBDIR += py-scour
SUBDIR += py-sgrep
SUBDIR += py-simplebayes
@@ -1388,7 +1379,6 @@
SUBDIR += py-sphinxcontrib-programoutput
SUBDIR += py-sphinxcontrib-websupport
SUBDIR += py-stemming
- SUBDIR += py-syck
SUBDIR += py-tabletext
SUBDIR += py-tablib
SUBDIR += py-terminaltables
@@ -1404,7 +1394,6 @@
SUBDIR += py-transifex-client
SUBDIR += py-translationstring
SUBDIR += py-transpopy
- SUBDIR += py-tvgrab
SUBDIR += py-ucl
SUBDIR += py-ufal.udpipe
SUBDIR += py-whoosh
@@ -1417,7 +1406,6 @@
SUBDIR += py-xlrd
SUBDIR += py-xlsxwriter
SUBDIR += py-xlutils
- SUBDIR += py-xlwriter
SUBDIR += py-xlwt
SUBDIR += py-xml-default-dict
SUBDIR += py-xmldiff
@@ -1428,7 +1416,6 @@
SUBDIR += py-zope.structuredtext
SUBDIR += py-zope.tal
SUBDIR += py-zpt
- SUBDIR += py2html
SUBDIR += pychm
SUBDIR += qprint
SUBDIR += qrcodegen
@@ -1436,7 +1423,6 @@
SUBDIR += qt5-xml
SUBDIR += qt5-xmlpatterns
SUBDIR += qu-aspell
- SUBDIR += queequeg
SUBDIR += rand
SUBDIR += randlm
SUBDIR += rapidxml
@@ -1469,7 +1455,6 @@
SUBDIR += rss2html
SUBDIR += rtf2html
SUBDIR += rtfreader
- SUBDIR += rubber
SUBDIR += ruby-escape
SUBDIR += ruby-format
SUBDIR += ruby-htree
@@ -1699,7 +1684,6 @@
SUBDIR += sgrep2
SUBDIR += sift
SUBDIR += sigil
- SUBDIR += silvercity
SUBDIR += simplexml
SUBDIR += sk-aspell
SUBDIR += sk-hunspell
@@ -1850,7 +1834,6 @@
SUBDIR += xp
SUBDIR += xslide.el
SUBDIR += xstream
- SUBDIR += xsv
SUBDIR += xsv-rs
SUBDIR += xwindiff
SUBDIR += y2l
@@ -1863,7 +1846,6 @@
SUBDIR += yi-aspell
SUBDIR += yi-hunspell
SUBDIR += yodl
- SUBDIR += yould
SUBDIR += yq
SUBDIR += zenxml
SUBDIR += zorba
diff --git a/textproc/archmage/Makefile b/textproc/archmage/Makefile
deleted file mode 100644
index b2426eadfe5d..000000000000
--- a/textproc/archmage/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# Created by: Vsevolod Stakhov <vsevolod@highsecure.ru>
-# $FreeBSD$
-
-PORTNAME= archmage
-PORTVERSION= 0.2.4
-PORTREVISION= 2
-CATEGORIES= textproc python
-MASTER_SITES= SF
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Extensible reader/decompiler of files in CHM format
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-RUN_DEPENDS= ${PYTHON_SITELIBDIR}/chm/chm.py:textproc/pychm \
- ${PYTHON_SITELIBDIR}/BeautifulSoup.py:www/py-beautifulsoup32@${PY_FLAVOR}
-
-NO_BUILD= yes
-USES= cpe python:2.7 tar:bzip2
-USE_PYTHON= distutils autoplist
-
-CPE_VENDOR= archmage_project
-
-PLIST_FILES= man/man1/archmage.1.gz
-
-post-extract:
- @${GUNZIP_CMD} ${WRKSRC}/${PORTNAME}.1.gz
-
-post-patch:
- @${REINPLACE_CMD} -e "s,/usr/share/archmage,${DATADIR}," ${WRKSRC}/arch.conf
- @${REINPLACE_CMD} -e "s,/etc/archmage,${ETCDIR}," ${WRKSRC}/archmod/__init__.py
- @${REINPLACE_CMD} -e "s,/etc/archmage,${ETCDIR},;/archmage.1/d; \
- s,share/archmage,${DATADIR_REL}," ${WRKSRC}/setup.py
-
-post-install:
- @${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/
-
-.include <bsd.port.mk>
diff --git a/textproc/archmage/distinfo b/textproc/archmage/distinfo
deleted file mode 100644
index c1b349213f1a..000000000000
--- a/textproc/archmage/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (archmage-0.2.4.tar.bz2) = de48cb2021c9ec199cf943d6cf764a550527fff775ae3ed817e4f25164709f53
-SIZE (archmage-0.2.4.tar.bz2) = 28388
diff --git a/textproc/archmage/pkg-descr b/textproc/archmage/pkg-descr
deleted file mode 100644
index f4ea51088de2..000000000000
--- a/textproc/archmage/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-ArCHMage is the extensible reader/decompiler of files in CHM format(Microsoft
-HTML help, also known as Compiled HTML). ArCHMage is based on chmlib by Jed
-Wing and is written on python.
-
-WWW: http://archmage.sourceforge.net/
diff --git a/textproc/py-asv/Makefile b/textproc/py-asv/Makefile
deleted file mode 100644
index 931e866cb6cf..000000000000
--- a/textproc/py-asv/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# Created by: Johann Visagie <johann@egenetics.com>
-# $FreeBSD$
-
-PORTNAME= asv
-PORTVERSION= 0.5
-CATEGORIES= textproc python
-MASTER_SITES= http://tratt.net/laurie/src/python/asv/releases/
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Extensible Python module to parse simple text file formats like CSV
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-USES= python:2.7
-NO_ARCH= yes
-
-PORTDOCS= README THANKS
-PORTEXAMPLES= asv_example.py example_data.csv
-PLIST_FILES= bin/asv \
- %%PYTHON_SITELIBDIR%%/ASV.py \
- %%PYTHON_SITELIBDIR%%/ASV.pyc \
- %%PYTHON_SITELIBDIR%%/ASV.pyo
-
-OPTIONS_DEFINE= DOCS EXAMPLES
-
-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:
- @printf '#!/bin/sh\n${PYTHON_CMD} ${PYTHONPREFIX_SITELIBDIR}/ASV.py "$$@"\n' \
- > ${WRKDIR}/asv.sh
- ${INSTALL_SCRIPT} ${WRKDIR}/asv.sh ${STAGEDIR}${PREFIX}/bin/asv
- @${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
- ${INSTALL_DATA} ${WRKSRC}/ASV.* ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
-
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
-
-do-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- ${INSTALL_DATA} ${PORTEXAMPLES:S,^,${WRKSRC}/,} ${STAGEDIR}${EXAMPLESDIR}
-
-.include <bsd.port.mk>
diff --git a/textproc/py-asv/distinfo b/textproc/py-asv/distinfo
deleted file mode 100644
index b48ddd8a8eb2..000000000000
--- a/textproc/py-asv/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (asv-0.5.tar.gz) = 9f8ce90711cc740aeb324ce3f7ad578e281b88dc8266c5f7f18b77ed7322cbbb
-SIZE (asv-0.5.tar.gz) = 10358
diff --git a/textproc/py-asv/pkg-descr b/textproc/py-asv/pkg-descr
deleted file mode 100644
index 86e5117097b6..000000000000
--- a/textproc/py-asv/pkg-descr
+++ /dev/null
@@ -1,12 +0,0 @@
-ASV is a popular Python module to parse or write simple text file formats
-such as comma-separated values (CSV), tab-separated values (TSV) and
-colon-separated values. It can easily be extended to cope with other
-related file formats.
-
-This port installs both a Python module ("ASV"), and an executable
-command-line script ("asv").
-
-This release of ASV requires Python 2.0 or later, and is still to be regarded
-as a beta version.
-
-WWW: http://tratt.net/laurie/python/asv/
diff --git a/textproc/py-dsv/Makefile b/textproc/py-dsv/Makefile
deleted file mode 100644
index 5547a544af08..000000000000
--- a/textproc/py-dsv/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# Created by: Johann Visagie <wjv@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= dsv
-PORTVERSION= 1.4.1
-PORTREVISION= 1
-CATEGORIES= textproc python
-MASTER_SITES= SF/python-${PORTNAME}/python-${PORTNAME}/${PORTVERSION}
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= ${PORTNAME:tu}-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Python module to parse or write delimeter-separated (e.g. CSV) files
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-DSV_BASEDIR= ${PYTHONPREFIX_SITELIBDIR}/DSV
-NO_ARCH= yes
-
-OPTIONS_DEFINE= DOCS
-
-post-install:
- @${PRINTF} '#!/bin/sh\n${PYTHON_CMD} ${DSV_BASEDIR}/DSV.py "$$@"\n' \
- >${WRKDIR}/DSV.sh
- ${INSTALL_SCRIPT} ${WRKDIR}/DSV.sh ${STAGEDIR}${PREFIX}/bin/DSV
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.mk>
diff --git a/textproc/py-dsv/distinfo b/textproc/py-dsv/distinfo
deleted file mode 100644
index fd8d42c4c0e6..000000000000
--- a/textproc/py-dsv/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (DSV-1.4.1.tar.gz) = 5d0ec99c45f8ea91ea920dcd2cdf2cdc9e721985551ea80718519ce70dc98f15
-SIZE (DSV-1.4.1.tar.gz) = 14682
diff --git a/textproc/py-dsv/pkg-descr b/textproc/py-dsv/pkg-descr
deleted file mode 100644
index ad3730c25df6..000000000000
--- a/textproc/py-dsv/pkg-descr
+++ /dev/null
@@ -1,17 +0,0 @@
-Paraphrasing the website:
-
- Python-DSV is a Python module for importing and exporting DSV (delimiter
- separated values) files. DSV is a generalization of CSV (comma separated
- values). CSV is a common file format used by many programs to import and
- export data.
-
- Features:
- - Pure Python
- - Optional wxPython GUI
- - Optional heuristics for determining file format
- - Handles embedded quotes, delimiters and newlines
- - Customizable error handling
- - Simple to use
- - Portable
-
-WWW: http://python-dsv.sourceforge.net/
diff --git a/textproc/py-dsv/pkg-plist b/textproc/py-dsv/pkg-plist
deleted file mode 100644
index 0e15c7bcbb7d..000000000000
--- a/textproc/py-dsv/pkg-plist
+++ /dev/null
@@ -1,2 +0,0 @@
-bin/DSV
-%%PORTDOCS%%%%DOCSDIR%%/README
diff --git a/textproc/py-excelerator/Makefile b/textproc/py-excelerator/Makefile
deleted file mode 100644
index 317079e9d18d..000000000000
--- a/textproc/py-excelerator/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# Created by: Choe, Cheng-Dae
-# $FreeBSD$
-
-PORTNAME= excelerator
-PORTVERSION= 0.6.4.1
-PORTREVISION= 2
-CATEGORIES= textproc python
-MASTER_SITES= SF/py${PORTNAME}/pyExcelerator/${PORTVERSION}
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= pyexcelerator-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Python library for generating Excel 97/2000/XP/2003 files
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-OPTIONS_DEFINE= DOCS EXAMPLES
-
-USES= python:2.7 zip
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-DOCSDIR= ${PREFIX}/share/doc/py-excelerator
-EXAMPLESDIR= ${PREFIX}/share/examples/py-excelerator
-PORTDOCS= *
-PORTEXAMPLES= *
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/*.txt ${STAGEDIR}${DOCSDIR}
-
-post-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- ${INSTALL_DATA} ${WRKSRC}/examples/*.bmp ${STAGEDIR}${EXAMPLESDIR}
- ${INSTALL_DATA} ${WRKSRC}/examples/*.py ${STAGEDIR}${EXAMPLESDIR}
-
-.include <bsd.port.mk>
diff --git a/textproc/py-excelerator/distinfo b/textproc/py-excelerator/distinfo
deleted file mode 100644
index b1eead148c4e..000000000000
--- a/textproc/py-excelerator/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (pyexcelerator-0.6.4.1.zip) = df8236873c4e0a102e1661a475b9d5a40da85e8d12e91a4454eb0f646651173e
-SIZE (pyexcelerator-0.6.4.1.zip) = 173654
diff --git a/textproc/py-excelerator/pkg-descr b/textproc/py-excelerator/pkg-descr
deleted file mode 100644
index 68329b61549e..000000000000
--- a/textproc/py-excelerator/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-pyExcelerator is a Python library that can generate Excel 97+ files and import
-Excel 95+ files. It supports Unicode in Excel files, and can use a variety of
-formatting features and printing options. It can dump Excel and OLE2 compound
-files.
-
-WWW: https://sourceforge.net/projects/pyexcelerator/
diff --git a/textproc/py-jaxml/Makefile b/textproc/py-jaxml/Makefile
deleted file mode 100644
index ae842b599639..000000000000
--- a/textproc/py-jaxml/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# Created by: ijliao
-# $FreeBSD$
-
-PORTNAME= jaxml
-PORTVERSION= 3.02
-PORTREVISION= 2
-CATEGORIES= textproc python
-MASTER_SITES= CHEESESHOP
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Python module to generate XML easily
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-LICENSE= GPLv2
-
-PORTSCOUT= skipv:23.01
-
-NO_ARCH= yes
-USES= python:2.7
-USE_PYTHON= autoplist distutils
-
-.include <bsd.port.mk>
diff --git a/textproc/py-jaxml/distinfo b/textproc/py-jaxml/distinfo
deleted file mode 100644
index 38472bfd8d55..000000000000
--- a/textproc/py-jaxml/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (jaxml-3.02.tar.gz) = 7c6693cf2a200dcc81939e648f7d8ec59ac0b9106e6134aba4e7bbc8e3f3e019
-SIZE (jaxml-3.02.tar.gz) = 27718
diff --git a/textproc/py-jaxml/pkg-descr b/textproc/py-jaxml/pkg-descr
deleted file mode 100644
index b03d0fc07fb1..000000000000
--- a/textproc/py-jaxml/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-A Python module to generate XML easily
-
-WWW: https://pypi.org/project/jaxml/
-WWW: http://www.librelogiciel.com/software/jaxml/
diff --git a/textproc/py-libtre/Makefile b/textproc/py-libtre/Makefile
deleted file mode 100644
index 579b70a83dda..000000000000
--- a/textproc/py-libtre/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# Created by: bf <bf2006a@yahoo.com>
-# $FreeBSD$
-
-PORTNAME= libtre
-PORTVERSION= 0.8.0
-PORTREVISION= 1
-CATEGORIES= textproc python
-MASTER_SITES= http://laurikari.net/tre/ \
- LOCAL/bf
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= tre-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Python interface for the tre regular expressions library
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-LIB_DEPENDS= libtre.so:textproc/libtre
-
-LICENSE= BSD2CLAUSE
-LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= python:2.7 tar:bzip2
-USE_PYTHON= distutils autoplist
-
-BUILD_WRKSRC= ${WRKSRC}/python
-INSTALL_WRKSRC= ${WRKSRC}/python
-
-CFLAGS+= -I${LOCALBASE}/include/ -L${LOCALBASE}/lib/
-
-.if defined(WITH_OPTIMIZED_CFLAGS)
-CFLAGS+= -Wuninitialized -ffast-math -finline-functions \
- -fomit-frame-pointer -fexpensive-optimizations \
- -fforce-mem -fforce-addr -O3
-.endif
-
-.include <bsd.port.mk>
diff --git a/textproc/py-libtre/distinfo b/textproc/py-libtre/distinfo
deleted file mode 100644
index 5cec88979c08..000000000000
--- a/textproc/py-libtre/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (tre-0.8.0.tar.bz2) = 8dc642c2cde02b2dac6802cdbe2cda201daf79c4ebcbb3ea133915edf1636658
-SIZE (tre-0.8.0.tar.bz2) = 380714
diff --git a/textproc/py-libtre/pkg-descr b/textproc/py-libtre/pkg-descr
deleted file mode 100644
index 19f483060dd0..000000000000
--- a/textproc/py-libtre/pkg-descr
+++ /dev/null
@@ -1,14 +0,0 @@
-Libtre is an attempt to create a lightweight, robust, and efficient fully
-POSIX compliant regexp matching library. There is still some work left, but
-the results so far are promising.
-
-At the core of Libtre is a new algorithm for regular expression matching with
-submatch addressing. The algorithm uses linear worst-case time in the length
-of the text being searched, and quadratic worst-case time in the length of the
-used regular expression. In other words, the time complexity of the algorithm
-is O(M2N), where M is the length of the regular expression and N is the length
-of the text. The used space is also quadratic on the length of the regex, but
-does not depend on the searched string. This quadratic behaviour occurs only
-on pathological cases which are probably very rare in practice.
-
-WWW: http://laurikari.net/tre/
diff --git a/textproc/py-pyctpp2/Makefile b/textproc/py-pyctpp2/Makefile
deleted file mode 100644
index 9847d3884040..000000000000
--- a/textproc/py-pyctpp2/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# Created by: Veniamin Gvozdikov <vg@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= pyctpp2
-PORTVERSION= 0.12.2
-PORTREVISION= 4
-CATEGORIES= textproc
-MASTER_SITES= CHEESESHOP
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-MAINTAINER= python@FreeBSD.org
-COMMENT= Python interface to CTPP2 library
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-LICENSE= MIT
-
-LIB_DEPENDS= libctpp2.so:textproc/ctpp2
-
-# Python3 ready
-USES= python:-3.6
-USE_PYTHON= distutils autoplist
-
-.include <bsd.port.mk>
diff --git a/textproc/py-pyctpp2/distinfo b/textproc/py-pyctpp2/distinfo
deleted file mode 100644
index 923e77331e7e..000000000000
--- a/textproc/py-pyctpp2/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (pyctpp2-0.12.2.tar.gz) = f654280a4687d92c738575265737e58e82e4cb9dfeb3c6596b5ce9137ae32951
-SIZE (pyctpp2-0.12.2.tar.gz) = 73248
diff --git a/textproc/py-pyctpp2/files/patch-pyctpp2___pyctpp2__py2.cpp b/textproc/py-pyctpp2/files/patch-pyctpp2___pyctpp2__py2.cpp
deleted file mode 100644
index 57ec5314dd3a..000000000000
--- a/textproc/py-pyctpp2/files/patch-pyctpp2___pyctpp2__py2.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
---- pyctpp2/_pyctpp2_py2.cpp.orig 2012-01-19 08:46:23 UTC
-+++ pyctpp2/_pyctpp2_py2.cpp
-@@ -4471,7 +4471,7 @@ static void __Pyx_RaiseArgtupleInvalid(
- more_or_less = "exactly";
- }
- PyErr_Format(PyExc_TypeError,
-- "%s() takes %s %"PY_FORMAT_SIZE_T"d positional argument%s (%"PY_FORMAT_SIZE_T"d given)",
-+ "%s() takes %s %" PY_FORMAT_SIZE_T "d positional argument%s (%" PY_FORMAT_SIZE_T "d given)",
- func_name, more_or_less, num_expected,
- (num_expected == 1) ? "" : "s", num_found);
- }
-@@ -4682,13 +4682,13 @@ bad:
-
- static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
- PyErr_Format(PyExc_ValueError,
-- "need more than %"PY_FORMAT_SIZE_T"d value%s to unpack",
-+ "need more than %" PY_FORMAT_SIZE_T "d value%s to unpack",
- index, (index == 1) ? "" : "s");
- }
-
- static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
- PyErr_Format(PyExc_ValueError,
-- "too many values to unpack (expected %"PY_FORMAT_SIZE_T"d)", expected);
-+ "too many values to unpack (expected %" PY_FORMAT_SIZE_T "d)", expected);
- }
-
- static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
diff --git a/textproc/py-pyctpp2/files/patch-pyctpp2___pyctpp2__py3.cpp b/textproc/py-pyctpp2/files/patch-pyctpp2___pyctpp2__py3.cpp
deleted file mode 100644
index 1d01ed8725b0..000000000000
--- a/textproc/py-pyctpp2/files/patch-pyctpp2___pyctpp2__py3.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
---- pyctpp2/_pyctpp2_py3.cpp.orig 2012-01-19 08:46:23 UTC
-+++ pyctpp2/_pyctpp2_py3.cpp
-@@ -4551,7 +4551,7 @@ static void __Pyx_RaiseArgtupleInvalid(
- more_or_less = "exactly";
- }
- PyErr_Format(PyExc_TypeError,
-- "%s() takes %s %"PY_FORMAT_SIZE_T"d positional argument%s (%"PY_FORMAT_SIZE_T"d given)",
-+ "%s() takes %s %" PY_FORMAT_SIZE_T "d positional argument%s (%" PY_FORMAT_SIZE_T "d given)",
- func_name, more_or_less, num_expected,
- (num_expected == 1) ? "" : "s", num_found);
- }
-@@ -4762,13 +4762,13 @@ bad:
-
- static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
- PyErr_Format(PyExc_ValueError,
-- "need more than %"PY_FORMAT_SIZE_T"d value%s to unpack",
-+ "need more than %" PY_FORMAT_SIZE_T "d value%s to unpack",
- index, (index == 1) ? "" : "s");
- }
-
- static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
- PyErr_Format(PyExc_ValueError,
-- "too many values to unpack (expected %"PY_FORMAT_SIZE_T"d)", expected);
-+ "too many values to unpack (expected %" PY_FORMAT_SIZE_T "d)", expected);
- }
-
- static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
diff --git a/textproc/py-pyctpp2/files/patch-pyctpp2_cengine.cc b/textproc/py-pyctpp2/files/patch-pyctpp2_cengine.cc
deleted file mode 100644
index ea4aefd20667..000000000000
--- a/textproc/py-pyctpp2/files/patch-pyctpp2_cengine.cc
+++ /dev/null
@@ -1,34 +0,0 @@
---- pyctpp2/cengine.cc.orig 2012-01-19 08:46:23 UTC
-+++ pyctpp2/cengine.cc
-@@ -151,13 +151,13 @@ bool CEngine::Parse(const char *filename, CTemplate **
- string line;
- string pos;
-
-- int res = snprintf(buf, len, "%"PRIu32, static_cast<uint32_t>(e.GetLine()));
-+ int res = snprintf(buf, len, "%" PRIu32, static_cast<uint32_t>(e.GetLine()));
- if (!(res < 0 || static_cast<size_t>(res) == len)) {
- line = string(buf);
- }
-
- memset(buf, 0, len);
-- res = snprintf(buf, len, "%"PRIu32, static_cast<uint32_t>(e.GetLinePos()));
-+ res = snprintf(buf, len, "%" PRIu32, static_cast<uint32_t>(e.GetLinePos()));
- if (!(res < 0 || static_cast<size_t>(res) == len)) {
- pos = string(buf);
- }
-@@ -198,13 +198,13 @@ bool CEngine::ParseText(const char *text, CTemplate **
- string line;
- string pos;
-
-- int res = snprintf(buf, len, "%"PRIu32, static_cast<uint32_t>(e.GetLine()));
-+ int res = snprintf(buf, len, "%" PRIu32, static_cast<uint32_t>(e.GetLine()));
- if (!(res < 0 || static_cast<size_t>(res) == len)) {
- line = string(buf);
- }
-
- memset(buf, 0, len);
-- res = snprintf(buf, len, "%"PRIu32, static_cast<uint32_t>(e.GetLinePos()));
-+ res = snprintf(buf, len, "%" PRIu32, static_cast<uint32_t>(e.GetLinePos()));
- if (!(res < 0 || static_cast<size_t>(res) == len)) {
- pos = string(buf);
- }
diff --git a/textproc/py-pyctpp2/pkg-descr b/textproc/py-pyctpp2/pkg-descr
deleted file mode 100644
index c626baa7f1a5..000000000000
--- a/textproc/py-pyctpp2/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-Python interface to CTPP2 library.
-
-WWW: https://pypi.org/project/pyctpp2/
diff --git a/textproc/py-rstyoutube/Makefile b/textproc/py-rstyoutube/Makefile
deleted file mode 100644
index 6c488242d7a1..000000000000
--- a/textproc/py-rstyoutube/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# Created by: Olivier Duchateau <duchateau.olivier@gmail.com>
-# $FreeBSD$
-
-PORTNAME= rstyoutube
-PORTVERSION= 0.1.1
-PORTREVISION= 1
-CATEGORIES= textproc python
-MASTER_SITES= CHEESESHOP
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-MAINTAINER= python@FreeBSD.org
-COMMENT= Embed YouTube videos in reStructuredText documents
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-LICENSE= MIT
-
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docutils>=0.11:textproc/py-docutils@${PY_FLAVOR}
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-
-.include <bsd.port.mk>
diff --git a/textproc/py-rstyoutube/distinfo b/textproc/py-rstyoutube/distinfo
deleted file mode 100644
index c002b05424e1..000000000000
--- a/textproc/py-rstyoutube/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (rstyoutube-0.1.1.tar.gz) = c7d4cb761680be01c0f5630805db87c01125c89cf6209784ac23806910f90ecd
-SIZE (rstyoutube-0.1.1.tar.gz) = 3730
diff --git a/textproc/py-rstyoutube/files/patch-setup.py b/textproc/py-rstyoutube/files/patch-setup.py
deleted file mode 100644
index 7fab0a11e2e7..000000000000
--- a/textproc/py-rstyoutube/files/patch-setup.py
+++ /dev/null
@@ -1,33 +0,0 @@
---- setup.py.orig 2011-12-15 22:08:27.000000000 +0100
-+++ setup.py 2011-12-16 21:07:37.000000000 +0100
-@@ -1,6 +1,21 @@
- #!/usr/bin/env python
-
- from setuptools import setup
-+import glob
-+import os
-+
-+def rename_script(files):
-+ import shutil
-+
-+ if files:
-+ dirname = os.path.abspath(os.path.join('bin', '_script'))
-+ if not os.path.exists(dirname):
-+ os.makedirs(dirname)
-+ for file in files:
-+ shutil.copyfile(file, os.path.join(dirname, os.path.basename(file[:-3]).replace('+', '_')))
-+
-+# Rename script file (without .py)
-+rename_script(glob.glob('bin/*.py'))
-
- setup(
- name='rstyoutube',
-@@ -11,7 +26,7 @@
- author_email='jcd@sdf.lonestar.org',
- url='http://bitbucket.org/cliff/rstyoutube',
- py_modules=['rstyoutube'],
-- scripts=['bin/rst2html+youtube.py'],
-+ scripts= glob.glob('bin/_script/*'),
- license='LICENSE.txt',
- install_requires=[
- 'docutils',
diff --git a/textproc/py-rstyoutube/pkg-descr b/textproc/py-rstyoutube/pkg-descr
deleted file mode 100644
index bd46e58fd022..000000000000
--- a/textproc/py-rstyoutube/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-rstyoutube is a package for embedding YouTube videos in reStructuredText
-documents.
-
-WWW: http://bitbucket.org/cliff/rstyoutube
diff --git a/textproc/py-rxp/Makefile b/textproc/py-rxp/Makefile
deleted file mode 100644
index d28278f1c82c..000000000000
--- a/textproc/py-rxp/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# Created by: Hye-Shik Chang <perky@fallin.lv>
-# $FreeBSD$
-
-PORTNAME= rxp
-PORTVERSION= 0.9
-PORTREVISION= 3
-CATEGORIES= textproc python
-MASTER_SITES= http://www.reportlab.com/ftp/
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= pyRXP-${PORTVERSION:S/./-/}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Fast validating XML parser for Python
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-OPTIONS_DEFINE= DOCS EXAMPLES
-
-NO_WRKSUBDIR= yes
-USES= python:2.7 tar:tgz
-USE_PYTHON= distutils autoplist
-
-DOCSDIR= ${PREFIX}/share/doc/py-rxp
-EXAMPLESDIR= ${PREFIX}/share/examples/py-rxp
-PORTDOCS= *
-PORTEXAMPLES= *
-
-post-install:
- ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/pyRXP.so
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/docs/* ${STAGEDIR}${DOCSDIR}
-
-post-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- ${INSTALL_DATA} ${WRKSRC}/examples/* ${STAGEDIR}${EXAMPLESDIR}
-
-.include <bsd.port.mk>
diff --git a/textproc/py-rxp/distinfo b/textproc/py-rxp/distinfo
deleted file mode 100644
index 758e5da7cb20..000000000000
--- a/textproc/py-rxp/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (pyRXP-0-9.tgz) = 85e339f013210dd9d2744d3e60f20af9fc04d1f4cbd265e63787b53342a00949
-SIZE (pyRXP-0-9.tgz) = 290915
diff --git a/textproc/py-rxp/files/patch-pyRXP.c b/textproc/py-rxp/files/patch-pyRXP.c
deleted file mode 100644
index 17d8f2f584a0..000000000000
--- a/textproc/py-rxp/files/patch-pyRXP.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- pyRXP.c.orig Sat Oct 26 00:27:40 2002
-+++ pyRXP.c Tue Aug 14 16:43:48 2007
-@@ -578,7 +578,8 @@
-
- static PyObject* pyRXPParser_parse(pyRXPParserObject* xself, PyObject* args, PyObject* kw)
- {
-- int srcLen, i;
-+ int srcLen;
-+ Py_ssize_t i;
- char *src;
- FILE16 *f;
- InputSource source;
-@@ -731,11 +732,12 @@
- static pyRXPParserObject* pyRXPParser(PyObject* module, PyObject* args, PyObject* kw)
- {
- pyRXPParserObject* self;
-- int i;
-+ Py_ssize_t i;
-
- if(!PyArg_ParseTuple(args, ":Parser")) return NULL;
-- if(!(self = PyObject_NEW(pyRXPParserObject, &pyRXPParserType))) return NULL;
-- self->warnCB = self->eoCB = self->fourth = (void*)self->srcName = NULL;
-+ self = PyObject_NEW(pyRXPParserObject, &pyRXPParserType);
-+ if(!self) return NULL;
-+ self->warnCB = self->eoCB = self->fourth = self->srcName = NULL;
- if(!(self->srcName=PyString_FromString("[unknown]"))){
- PyErr_SetString(moduleError,"Internal error, memory limit reached!");
- Lfree: pyRXPParserFree(self);
diff --git a/textproc/py-rxp/files/patch-setup.py b/textproc/py-rxp/files/patch-setup.py
deleted file mode 100644
index 533858906f3e..000000000000
--- a/textproc/py-rxp/files/patch-setup.py
+++ /dev/null
@@ -1,12 +0,0 @@
---- setup.py.orig 2012-02-10 14:58:50.000000000 +0800
-+++ setup.py 2012-02-10 15:00:05.000000000 +0800
-@@ -25,7 +25,8 @@
- LIBS=['nsl', 'socket', 'dl']
- elif sys.platform=="aix4":
- LIBS=['nsl_r', 'dl']
-- elif sys.platform in ("freebsd4", "darwin", "mac", "linux2"):
-+ elif sys.platform in ("freebsd4", "darwin", "mac", "linux2") \
-+ or sys.platform.startswith("freebsd"):
- LIBS=[]
- else:
- msg = "Don't know about system %s" % sys.platform
diff --git a/textproc/py-rxp/pkg-descr b/textproc/py-rxp/pkg-descr
deleted file mode 100644
index c75b3f654ac5..000000000000
--- a/textproc/py-rxp/pkg-descr
+++ /dev/null
@@ -1,11 +0,0 @@
-RXP is a very fast validating XML parser written by Richard Tobin
-of the University of Edinburgh. It complies fully with the W3C test
-suites (although we have compiled it without Unicode support for
-the time being). pyRXP is a wrapper around this which constructs a
-lightweight in-memory "tuple tree" in a single call. This structure
-is the lightest one we could define in Python, and it is constructed
-entirely in C code, resulting in unprecedented speed. It is a core
-part of ReportLab's forthcoming XML toolkit, which aims to offer
-simple, fast and pythonic tools for common XML processing tasks.
-
-WWW: http://www.reportlab.org/pyrxp.html
diff --git a/textproc/py-syck/Makefile b/textproc/py-syck/Makefile
deleted file mode 100644
index e4db3fd8120f..000000000000
--- a/textproc/py-syck/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# Created by: dd
-# $FreeBSD$
-
-PORTNAME= syck
-PORTVERSION= 0.61.2
-PORTREVISION= 1
-CATEGORIES= textproc devel python
-MASTER_SITES= http://pyyaml.org/download/pysyck/ \
- LOCAL/avl
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= PySyck-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Python binding for Syck, a YAML parser and emitter
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-BUILD_DEPENDS= ${LOCALBASE}/lib/libsyck.a:textproc/syck
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-
-post-patch:
- @${REINPLACE_CMD} -e 's|#include|include|g ; s|#library_dirs|library_dirs|g ; \
- s|/usr/local|${LOCALBASE}|g ' ${WRKSRC}/setup.cfg
-
-post-install:
- ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/_syck.so
-
-.include <bsd.port.mk>
diff --git a/textproc/py-syck/distinfo b/textproc/py-syck/distinfo
deleted file mode 100644
index 016b80ecc1a7..000000000000
--- a/textproc/py-syck/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (PySyck-0.61.2.tar.gz) = cc4ce350411c39d11a4654d8e97f5f92644c3dd9a1e2e2d862f3de47190ed473
-SIZE (PySyck-0.61.2.tar.gz) = 44949
diff --git a/textproc/py-syck/pkg-descr b/textproc/py-syck/pkg-descr
deleted file mode 100644
index a72ce629237e..000000000000
--- a/textproc/py-syck/pkg-descr
+++ /dev/null
@@ -1,10 +0,0 @@
-Python binding for Syck, which, according is, according to the web site:
-
- Syck is an extension for reading and writing YAML swiftly in popular
- scripting languages. As Syck loads the YAML, it stores the data
- directly in your language's symbol table. This means speed. This
- means power. This means Do not disturb Syck because it is so focused
- on the task at hand that it will slay you mortally if you get in its
- way.
-
-WWW: http://www.pyyaml.org/wiki/PySyck
diff --git a/textproc/py-tvgrab/Makefile b/textproc/py-tvgrab/Makefile
deleted file mode 100644
index 47482493106d..000000000000
--- a/textproc/py-tvgrab/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= TVGrab
-PORTVERSION= 0.5.1
-PORTREVISION= 4
-CATEGORIES= textproc python
-MASTER_SITES= SF/py${PORTNAME:tl}/lib/${PORTVERSION}
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= pytvgrab-lib-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Library to write grabbers of tv scheduling collections
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-LICENSE= GPLv2 # only
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-OPTIONS_DEFINE= DOCS
-
-USES= python:2.7 tar:bzip2
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-PORTDOCS= README
-
-post-extract:
- @${CP} ${FILESDIR}/timezone.py ${WRKSRC}/lib/timezone.py
-
-post-patch:
- @${REINPLACE_CMD} -e 's,python -c,${PYTHON_CMD} -c,' ${WRKSRC}/setup.py
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.mk>
diff --git a/textproc/py-tvgrab/distinfo b/textproc/py-tvgrab/distinfo
deleted file mode 100644
index b53854e130fe..000000000000
--- a/textproc/py-tvgrab/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (pytvgrab-lib-0.5.1.tar.bz2) = 9b0fe5fb6f367d0bd4fb813db255ded1d8b70bf27ed2e17df22ac9e588c4414e
-SIZE (pytvgrab-lib-0.5.1.tar.bz2) = 80512
diff --git a/textproc/py-tvgrab/files/timezone.py b/textproc/py-tvgrab/files/timezone.py
deleted file mode 100644
index 947d07729667..000000000000
--- a/textproc/py-tvgrab/files/timezone.py
+++ /dev/null
@@ -1,933 +0,0 @@
-"""
-Copyright (c) 2003-2005 Gustavo Niemeyer <gustavo@niemeyer.net>
-
-This module offers extensions to the standard python 2.3+
-datetime module.
-"""
-__author__ = "Gustavo Niemeyer <gustavo@niemeyer.net>"
-__license__ = "PSF License"
-
-import datetime
-import struct
-import time
-import sys
-import os
-
-relativedelta = None
-parser = None
-rrule = None
-
-__all__ = ["tzutc", "tzoffset", "tzlocal", "tzfile", "tzrange",
- "tzstr", "tzical", "tzwin", "tzwinlocal", "gettz"]
-
-try:
- from dateutil.tzwin import tzwin, tzwinlocal
-except (ImportError, OSError):
- tzwin, tzwinlocal = None, None
-
-ZERO = datetime.timedelta(0)
-EPOCHORDINAL = datetime.datetime.utcfromtimestamp(0).toordinal()
-
-class tzutc(datetime.tzinfo):
-
- def utcoffset(self, dt):
- return ZERO
-
- def dst(self, dt):
- return ZERO
-
- def tzname(self, dt):
- return "UTC"
-
- def __eq__(self, other):
- return (isinstance(other, tzutc) or
- (isinstance(other, tzoffset) and other._offset == ZERO))
-
- def __ne__(self, other):
- return not self.__eq__(other)
-
- def __repr__(self):
- return "%s()" % self.__class__.__name__
-
- __reduce__ = object.__reduce__
-
-class tzoffset(datetime.tzinfo):
-
- def __init__(self, name, offset):
- self._name = name
- self._offset = datetime.timedelta(seconds=offset)
-
- def utcoffset(self, dt):
- return self._offset
-
- def dst(self, dt):
- return ZERO
-
- def tzname(self, dt):
- return self._name
-
- def __eq__(self, other):
- return (isinstance(other, tzoffset) and
- self._offset == other._offset)
-
- def __ne__(self, other):
- return not self.__eq__(other)
-
- def __repr__(self):
- return "%s(%s, %s)" % (self.__class__.__name__,
- `self._name`,
- self._offset.days*86400+self._offset.seconds)
-
- __reduce__ = object.__reduce__
-
-class tzlocal(datetime.tzinfo):
-
- _std_offset = datetime.timedelta(seconds=-time.timezone)
- if time.daylight:
- _dst_offset = datetime.timedelta(seconds=-time.altzone)
- else:
- _dst_offset = _std_offset
-
- def utcoffset(self, dt):
- if self._isdst(dt):
- return self._dst_offset
- else:
- return self._std_offset
-
- def dst(self, dt):
- if self._isdst(dt):
- return self._dst_offset-self._std_offset
- else:
- return ZERO
-
- def tzname(self, dt):
- return time.tzname[self._isdst(dt)]
-
- def _isdst(self, dt):
- # We can't use mktime here. It is unstable when deciding if
- # the hour near to a change is DST or not.
- #
- # timestamp = time.mktime((dt.year, dt.month, dt.day, dt.hour,
- # dt.minute, dt.second, dt.weekday(), 0, -1))
- # return time.localtime(timestamp).tm_isdst
- #
- # The code above yields the following result:
- #
- #>>> import tz, datetime
- #>>> t = tz.tzlocal()
- #>>> datetime.datetime(2003,2,15,23,tzinfo=t).tzname()
- #'BRDT'
- #>>> datetime.datetime(2003,2,16,0,tzinfo=t).tzname()
- #'BRST'
- #>>> datetime.datetime(2003,2,15,23,tzinfo=t).tzname()
- #'BRST'
- #>>> datetime.datetime(2003,2,15,22,tzinfo=t).tzname()
- #'BRDT'
- #>>> datetime.datetime(2003,2,15,23,tzinfo=t).tzname()
- #'BRDT'
- #
- # Here is a more stable implementation:
- #
- timestamp = ((dt.toordinal() - EPOCHORDINAL) * 86400
- + dt.hour * 3600
- + dt.minute * 60
- + dt.second)
- return time.localtime(timestamp+time.timezone).tm_isdst
-
- def __eq__(self, other):
- if not isinstance(other, tzlocal):
- return False
- return (self._std_offset == other._std_offset and
- self._dst_offset == other._dst_offset)
- return True
-
- def __ne__(self, other):
- return not self.__eq__(other)
-
- def __repr__(self):
- return "%s()" % self.__class__.__name__
-
- __reduce__ = object.__reduce__
-
-class _ttinfo(object):
- __slots__ = ["offset", "delta", "isdst", "abbr", "isstd", "isgmt"]
-
- def __init__(self):
- for attr in self.__slots__:
- setattr(self, attr, None)
-
- def __repr__(self):
- l = []
- for attr in self.__slots__:
- value = getattr(self, attr)
- if value is not None:
- l.append("%s=%s" % (attr, `value`))
- return "%s(%s)" % (self.__class__.__name__, ", ".join(l))
-
- def __eq__(self, other):
- if not isinstance(other, _ttinfo):
- return False
- return (self.offset == other.offset and
- self.delta == other.delta and
- self.isdst == other.isdst and
- self.abbr == other.abbr and
- self.isstd == other.isstd and
- self.isgmt == other.isgmt)
-
- def __ne__(self, other):
- return not self.__eq__(other)
-
- def __getstate__(self):
- state = {}
- for name in self.__slots__:
- state[name] = getattr(self, name, None)
- return state
-
- def __setstate__(self, state):
- for name in self.__slots__:
- if name in state:
- setattr(self, name, state[name])
-
-class tzfile(datetime.tzinfo):
-
- # http://www.twinsun.com/tz/tz-link.htm
- # ftp://elsie.nci.nih.gov/pub/tz*.tar.gz
-
- def __init__(self, fileobj):
- if isinstance(fileobj, basestring):
- self._filename = fileobj
- fileobj = open(fileobj)
- elif hasattr(fileobj, "name"):
- self._filename = fileobj.name
- else:
- self._filename = `fileobj`
-
- # From tzfile(5):
- #
- # The time zone information files used by tzset(3)
- # begin with the magic characters "TZif" to identify
- # them as time zone information files, followed by
- # sixteen bytes reserved for future use, followed by
- # six four-byte values of type long, written in a
- # ``standard'' byte order (the high-order byte
- # of the value is written first).
-
- if fileobj.read(4) != "TZif":
- raise ValueError, "magic not found"
-
- fileobj.read(16)
-
- (
- # The number of UTC/local indicators stored in the file.
- ttisgmtcnt,
-
- # The number of standard/wall indicators stored in the file.
- ttisstdcnt,
-
- # The number of leap seconds for which data is
- # stored in the file.
- leapcnt,
-
- # The number of "transition times" for which data
- # is stored in the file.
- timecnt,
-
- # The number of "local time types" for which data
- # is stored in the file (must not be zero).
- typecnt,
-
- # The number of characters of "time zone
- # abbreviation strings" stored in the file.
- charcnt,
-
- ) = struct.unpack(">6l", fileobj.read(24))
-
- # The above header is followed by tzh_timecnt four-byte
- # values of type long, sorted in ascending order.
- # These values are written in ``standard'' byte order.
- # Each is used as a transition time (as returned by
- # time(2)) at which the rules for computing local time
- # change.
-
- if timecnt:
- self._trans_list = struct.unpack(">%dl" % timecnt,
- fileobj.read(timecnt*4))
- else:
- self._trans_list = []
-
- # Next come tzh_timecnt one-byte values of type unsigned
- # char; each one tells which of the different types of
- # ``local time'' types described in the file is associated
- # with the same-indexed transition time. These values
- # serve as indices into an array of ttinfo structures that
- # appears next in the file.
-
- if timecnt:
- self._trans_idx = struct.unpack(">%dB" % timecnt,
- fileobj.read(timecnt))
- else:
- self._trans_idx = []
-
- # Each ttinfo structure is written as a four-byte value
- # for tt_gmtoff of type long, in a standard byte
- # order, followed by a one-byte value for tt_isdst
- # and a one-byte value for tt_abbrind. In each
- # structure, tt_gmtoff gives the number of
- # seconds to be added to UTC, tt_isdst tells whether
- # tm_isdst should be set by localtime(3), and
- # tt_abbrind serves as an index into the array of
- # time zone abbreviation characters that follow the
- # ttinfo structure(s) in the file.
-
- ttinfo = []
-
- for i in range(typecnt):
- ttinfo.append(struct.unpack(">lbb", fileobj.read(6)))
-
- abbr = fileobj.read(charcnt)
-
- # Then there are tzh_leapcnt pairs of four-byte
- # values, written in standard byte order; the
- # first value of each pair gives the time (as
- # returned by time(2)) at which a leap second
- # occurs; the second gives the total number of
- # leap seconds to be applied after the given time.
- # The pairs of values are sorted in ascending order
- # by time.
-
- # Not used, for now
- if leapcnt:
- leap = struct.unpack(">%dl" % leapcnt*2,
- fileobj.read(leapcnt*8))
-
- # Then there are tzh_ttisstdcnt standard/wall
- # indicators, each stored as a one-byte value;
- # they tell whether the transition times associated
- # with local time types were specified as standard
- # time or wall clock time, and are used when
- # a time zone file is used in handling POSIX-style
- # time zone environment variables.
-
- if ttisstdcnt:
- isstd = struct.unpack(">%db" % ttisstdcnt,
- fileobj.read(ttisstdcnt))
-
- # Finally, there are tzh_ttisgmtcnt UTC/local
- # indicators, each stored as a one-byte value;
- # they tell whether the transition times associated
- # with local time types were specified as UTC or
- # local time, and are used when a time zone file
- # is used in handling POSIX-style time zone envi-
- # ronment variables.
-
- if ttisgmtcnt:
- isgmt = struct.unpack(">%db" % ttisgmtcnt,
- fileobj.read(ttisgmtcnt))
-
- # ** Everything has been read **
-
- # Build ttinfo list
- self._ttinfo_list = []
- for i in range(typecnt):
- tti = _ttinfo()
- tti.offset = ttinfo[i][0]
- tti.delta = datetime.timedelta(seconds=ttinfo[i][0])
- tti.isdst = ttinfo[i][1]
- tti.abbr = abbr[ttinfo[i][2]:abbr.find('\x00', ttinfo[i][2])]
- tti.isstd = (ttisstdcnt > i and isstd[i] != 0)
- tti.isgmt = (ttisgmtcnt > i and isgmt[i] != 0)
- self._ttinfo_list.append(tti)
-
- # Replace ttinfo indexes for ttinfo objects.
- trans_idx = []
- for idx in self._trans_idx:
- trans_idx.append(self._ttinfo_list[idx])
- self._trans_idx = tuple(trans_idx)
-
- # Set standard, dst, and before ttinfos. before will be
- # used when a given time is before any transitions,
- # and will be set to the first non-dst ttinfo, or to
- # the first dst, if all of them are dst.
- self._ttinfo_std = None
- self._ttinfo_dst = None
- self._ttinfo_before = None
- if self._ttinfo_list:
- if not self._trans_list:
- self._ttinfo_std = self._ttinfo_first = self._ttinfo_list[0]
- else:
- for i in range(timecnt-1,-1,-1):
- tti = self._trans_idx[i]
- if not self._ttinfo_std and not tti.isdst:
- self._ttinfo_std = tti
- elif not self._ttinfo_dst and tti.isdst:
- self._ttinfo_dst = tti
- if self._ttinfo_std and self._ttinfo_dst:
- break
- else:
- if self._ttinfo_dst and not self._ttinfo_std:
- self._ttinfo_std = self._ttinfo_dst
-
- for tti in self._ttinfo_list:
- if not tti.isdst:
- self._ttinfo_before = tti
- break
- else:
- self._ttinfo_before = self._ttinfo_list[0]
-
- # Now fix transition times to become relative to wall time.
- #
- # I'm not sure about this. In my tests, the tz source file
- # is setup to wall time, and in the binary file isstd and
- # isgmt are off, so it should be in wall time. OTOH, it's
- # always in gmt time. Let me know if you have comments
- # about this.
- laststdoffset = 0
- self._trans_list = list(self._trans_list)
- for i in range(len(self._trans_list)):
- tti = self._trans_idx[i]
- if not tti.isdst:
- # This is std time.
- self._trans_list[i] += tti.offset
- laststdoffset = tti.offset
- else:
- # This is dst time. Convert to std.
- self._trans_list[i] += laststdoffset
- self._trans_list = tuple(self._trans_list)
-
- def _find_ttinfo(self, dt, laststd=0):
- timestamp = ((dt.toordinal() - EPOCHORDINAL) * 86400
- + dt.hour * 3600
- + dt.minute * 60
- + dt.second)
- idx = 0
- for trans in self._trans_list:
- if timestamp < trans:
- break
- idx += 1
- else:
- return self._ttinfo_std
- if idx == 0:
- return self._ttinfo_before
- if laststd:
- while idx > 0:
- tti = self._trans_idx[idx-1]
- if not tti.isdst:
- return tti
- idx -= 1
- else:
- return self._ttinfo_std
- else:
- return self._trans_idx[idx-1]
-
- def utcoffset(self, dt):
- if not self._ttinfo_std:
- return ZERO
- return self._find_ttinfo(dt).delta
-
- def dst(self, dt):
- if not self._ttinfo_dst:
- return ZERO
- tti = self._find_ttinfo(dt)
- if not tti.isdst:
- return ZERO
-
- # The documentation says that utcoffset()-dst() must
- # be constant for every dt.
- return self._find_ttinfo(dt, laststd=1).delta-tti.delta
-
- # An alternative for that would be:
- #
- # return self._ttinfo_dst.offset-self._ttinfo_std.offset
- #
- # However, this class stores historical changes in the
- # dst offset, so I belive that this wouldn't be the right
- # way to implement this.
-
- def tzname(self, dt):
- if not self._ttinfo_std:
- return None
- return self._find_ttinfo(dt).abbr
-
- def __eq__(self, other):
- if not isinstance(other, tzfile):
- return False
- return (self._trans_list == other._trans_list and
- self._trans_idx == other._trans_idx and
- self._ttinfo_list == other._ttinfo_list)
-
- def __ne__(self, other):
- return not self.__eq__(other)
-
-
- def __repr__(self):
- return "%s(%s)" % (self.__class__.__name__, `self._filename`)
-
- def __reduce__(self):
- if not os.path.isfile(self._filename):
- raise ValueError, "Unpickable %s class" % self.__class__.__name__
- return (self.__class__, (self._filename,))
-
-class tzrange(datetime.tzinfo):
-
- def __init__(self, stdabbr, stdoffset=None,
- dstabbr=None, dstoffset=None,
- start=None, end=None):
- global relativedelta
- if not relativedelta:
- from dateutil import relativedelta
- self._std_abbr = stdabbr
- self._dst_abbr = dstabbr
- if stdoffset is not None:
- self._std_offset = datetime.timedelta(seconds=stdoffset)
- else:
- self._std_offset = ZERO
- if dstoffset is not None:
- self._dst_offset = datetime.timedelta(seconds=dstoffset)
- elif dstabbr and stdoffset is not None:
- self._dst_offset = self._std_offset+datetime.timedelta(hours=+1)
- else:
- self._dst_offset = ZERO
- if start is None:
- self._start_delta = relativedelta.relativedelta(
- hours=+2, month=4, day=1, weekday=relativedelta.SU(+1))
- else:
- self._start_delta = start
- if end is None:
- self._end_delta = relativedelta.relativedelta(
- hours=+1, month=10, day=31, weekday=relativedelta.SU(-1))
- else:
- self._end_delta = end
-
- def utcoffset(self, dt):
- if self._isdst(dt):
- return self._dst_offset
- else:
- return self._std_offset
-
- def dst(self, dt):
- if self._isdst(dt):
- return self._dst_offset-self._std_offset
- else:
- return ZERO
-
- def tzname(self, dt):
- if self._isdst(dt):
- return self._dst_abbr
- else:
- return self._std_abbr
-
- def _isdst(self, dt):
- if not self._start_delta:
- return False
- year = datetime.date(dt.year,1,1)
- start = year+self._start_delta
- end = year+self._end_delta
- dt = dt.replace(tzinfo=None)
- if start < end:
- return dt >= start and dt < end
- else:
- return dt >= start or dt < end
-
- def __eq__(self, other):
- if not isinstance(other, tzrange):
- return False
- return (self._std_abbr == other._std_abbr and
- self._dst_abbr == other._dst_abbr and
- self._std_offset == other._std_offset and
- self._dst_offset == other._dst_offset and
- self._start_delta == other._start_delta and
- self._end_delta == other._end_delta)
-
- def __ne__(self, other):
- return not self.__eq__(other)
-
- def __repr__(self):
- return "%s(...)" % self.__class__.__name__
-
- __reduce__ = object.__reduce__
-
-class tzstr(tzrange):
-
- def __init__(self, s):
- global parser
- if not parser:
- from dateutil import parser
- self._s = s
-
- res = parser._parsetz(s)
- if res is None:
- raise ValueError, "unknown string format"
-
- # We must initialize it first, since _delta() needs
- # _std_offset and _dst_offset set. Use False in start/end
- # to avoid building it two times.
- tzrange.__init__(self, res.stdabbr, res.stdoffset,
- res.dstabbr, res.dstoffset,
- start=False, end=False)
-
- self._start_delta = self._delta(res.start)
- if self._start_delta:
- self._end_delta = self._delta(res.end, isend=1)
-
- def _delta(self, x, isend=0):
- kwargs = {}
- if x.month is not None:
- kwargs["month"] = x.month
- if x.weekday is not None:
- kwargs["weekday"] = relativedelta.weekday(x.weekday, x.week)
- if x.week > 0:
- kwargs["day"] = 1
- else:
- kwargs["day"] = 31
- elif x.day:
- kwargs["day"] = x.day
- elif x.yday is not None:
- kwargs["yearday"] = x.yday
- elif x.jyday is not None:
- kwargs["nlyearday"] = x.jyday
- if not kwargs:
- # Default is to start on first sunday of april, and end
- # on last sunday of october.
- if not isend:
- kwargs["month"] = 4
- kwargs["day"] = 1
- kwargs["weekday"] = relativedelta.SU(+1)
- else:
- kwargs["month"] = 10
- kwargs["day"] = 31
- kwargs["weekday"] = relativedelta.SU(-1)
- if x.time is not None:
- kwargs["seconds"] = x.time
- else:
- # Default is 2AM.
- kwargs["seconds"] = 7200
- if isend:
- # Convert to standard time, to follow the documented way
- # of working with the extra hour. See the documentation
- # of the tzinfo class.
- delta = self._dst_offset-self._std_offset
- kwargs["seconds"] -= delta.seconds+delta.days*86400
- return relativedelta.relativedelta(**kwargs)
-
- def __repr__(self):
- return "%s(%s)" % (self.__class__.__name__, `self._s`)
-
-class _tzicalvtzcomp:
- def __init__(self, tzoffsetfrom, tzoffsetto, isdst,
- tzname=None, rrule=None):
- self.tzoffsetfrom = datetime.timedelta(seconds=tzoffsetfrom)
- self.tzoffsetto = datetime.timedelta(seconds=tzoffsetto)
- self.tzoffsetdiff = self.tzoffsetto-self.tzoffsetfrom
- self.isdst = isdst
- self.tzname = tzname
- self.rrule = rrule
-
-class _tzicalvtz(datetime.tzinfo):
- def __init__(self, tzid, comps=[]):
- self._tzid = tzid
- self._comps = comps
- self._cachedate = []
- self._cachecomp = []
-
- def _find_comp(self, dt):
- if len(self._comps) == 1:
- return self._comps[0]
- dt = dt.replace(tzinfo=None)
- try:
- return self._cachecomp[self._cachedate.index(dt)]
- except ValueError:
- pass
- lastcomp = None
- lastcompdt = None
- for comp in self._comps:
- if not comp.isdst:
- # Handle the extra hour in DST -> STD
- compdt = comp.rrule.before(dt-comp.tzoffsetdiff, inc=True)
- else:
- compdt = comp.rrule.before(dt, inc=True)
- if compdt and (not lastcompdt or lastcompdt < compdt):
- lastcompdt = compdt
- lastcomp = comp
- if not lastcomp:
- # RFC says nothing about what to do when a given
- # time is before the first onset date. We'll look for the
- # first standard component, or the first component, if
- # none is found.
- for comp in self._comps:
- if not comp.isdst:
- lastcomp = comp
- break
- else:
- lastcomp = comp[0]
- self._cachedate.insert(0, dt)
- self._cachecomp.insert(0, lastcomp)
- if len(self._cachedate) > 10:
- self._cachedate.pop()
- self._cachecomp.pop()
- return lastcomp
-
- def utcoffset(self, dt):
- return self._find_comp(dt).tzoffsetto
-
- def dst(self, dt):
- comp = self._find_comp(dt)
- if comp.isdst:
- return comp.tzoffsetdiff
- else:
- return ZERO
-
- def tzname(self, dt):
- return self._find_comp(dt).tzname
-
- def __repr__(self):
- return "<tzicalvtz %s>" % `self._tzid`
-
- __reduce__ = object.__reduce__
-
-class tzical:
- def __init__(self, fileobj):
- global rrule
- if not rrule:
- from dateutil import rrule
-
- if isinstance(fileobj, basestring):
- self._s = fileobj
- fileobj = open(fileobj)
- elif hasattr(fileobj, "name"):
- self._s = fileobj.name
- else:
- self._s = `fileobj`
-
- self._vtz = {}
-
- self._parse_rfc(fileobj.read())
-
- def keys(self):
- return self._vtz.keys()
-
- def get(self, tzid=None):
- if tzid is None:
- keys = self._vtz.keys()
- if len(keys) == 0:
- raise "no timezones defined"
- elif len(keys) > 1:
- raise "more than one timezone available"
- tzid = keys[0]
- return self._vtz.get(tzid)
-
- def _parse_offset(self, s):
- s = s.strip()
- if not s:
- raise ValueError, "empty offset"
- if s[0] in ('+', '-'):
- signal = (-1,+1)[s[0]=='+']
- s = s[1:]
- else:
- signal = +1
- if len(s) == 4:
- return (int(s[:2])*3600+int(s[2:])*60)*signal
- elif len(s) == 6:
- return (int(s[:2])*3600+int(s[2:4])*60+int(s[4:]))*signal
- else:
- raise ValueError, "invalid offset: "+s
-
- def _parse_rfc(self, s):
- lines = s.splitlines()
- if not lines:
- raise ValueError, "empty string"
-
- # Unfold
- i = 0
- while i < len(lines):
- line = lines[i].rstrip()
- if not line:
- del lines[i]
- elif i > 0 and line[0] == " ":
- lines[i-1] += line[1:]
- del lines[i]
- else:
- i += 1
-
- invtz = False
- comptype = None
- for line in lines:
- if not line:
- continue
- name, value = line.split(':', 1)
- parms = name.split(';')
- if not parms:
- raise ValueError, "empty property name"
- name = parms[0].upper()
- parms = parms[1:]
- if invtz:
- if name == "BEGIN":
- if value in ("STANDARD", "DAYLIGHT"):
- # Process component
- pass
- else:
- raise ValueError, "unknown component: "+value
- comptype = value
- founddtstart = False
- tzoffsetfrom = None
- tzoffsetto = None
- rrulelines = []
- tzname = None
- elif name == "END":
- if value == "VTIMEZONE":
- if comptype:
- raise ValueError, \
- "component not closed: "+comptype
- if not tzid:
- raise ValueError, \
- "mandatory TZID not found"
- if not comps:
- raise ValueError, \
- "at least one component is needed"
- # Process vtimezone
- self._vtz[tzid] = _tzicalvtz(tzid, comps)
- invtz = False
- elif value == comptype:
- if not founddtstart:
- raise ValueError, \
- "mandatory DTSTART not found"
- if tzoffsetfrom is None:
- raise ValueError, \
- "mandatory TZOFFSETFROM not found"
- if tzoffsetto is None:
- raise ValueError, \
- "mandatory TZOFFSETFROM not found"
- # Process component
- rr = None
- if rrulelines:
- rr = rrule.rrulestr("\n".join(rrulelines),
- compatible=True,
- ignoretz=True,
- cache=True)
- comp = _tzicalvtzcomp(tzoffsetfrom, tzoffsetto,
- (comptype == "DAYLIGHT"),
- tzname, rr)
- comps.append(comp)
- comptype = None
- else:
- raise ValueError, \
- "invalid component end: "+value
- elif comptype:
- if name == "DTSTART":
- rrulelines.append(line)
- founddtstart = True
- elif name in ("RRULE", "RDATE", "EXRULE", "EXDATE"):
- rrulelines.append(line)
- elif name == "TZOFFSETFROM":
- if parms:
- raise ValueError, \
- "unsupported %s parm: %s "%(name, parms[0])
- tzoffsetfrom = self._parse_offset(value)
- elif name == "TZOFFSETTO":
- if parms:
- raise ValueError, \
- "unsupported TZOFFSETTO parm: "+parms[0]
- tzoffsetto = self._parse_offset(value)
- elif name == "TZNAME":
- if parms:
- raise ValueError, \
- "unsupported TZNAME parm: "+parms[0]
- tzname = value
- elif name == "COMMENT":
- pass
- else:
- raise ValueError, "unsupported property: "+name
- else:
- if name == "TZID":
- if parms:
- raise ValueError, \
- "unsupported TZID parm: "+parms[0]
- tzid = value
- elif name in ("TZURL", "LAST-MODIFIED", "COMMENT"):
- pass
- else:
- raise ValueError, "unsupported property: "+name
- elif name == "BEGIN" and value == "VTIMEZONE":
- tzid = None
- comps = []
- invtz = True
-
- def __repr__(self):
- return "%s(%s)" % (self.__class__.__name__, `self._s`)
-
-if sys.platform != "win32":
- TZFILES = ["/etc/localtime", "localtime"]
- TZPATHS = ["/usr/share/zoneinfo", "/usr/lib/zoneinfo", "/etc/zoneinfo"]
-else:
- TZFILES = []
- TZPATHS = []
-
-def gettz(name=None):
- tz = None
- if not name:
- try:
- name = os.environ["TZ"]
- except KeyError:
- pass
- if name is None or name == ":":
- for filepath in TZFILES:
- if not os.path.isabs(filepath):
- filename = filepath
- for path in TZPATHS:
- filepath = os.path.join(path, filename)
- if os.path.isfile(filepath):
- break
- else:
- continue
- if os.path.isfile(filepath):
- try:
- tz = tzfile(filepath)
- break
- except (IOError, OSError, ValueError):
- pass
- else:
- if name.startswith(":"):
- name = name[:-1]
- if os.path.isabs(name):
- if os.path.isfile(name):
- tz = tzfile(name)
- else:
- tz = None
- else:
- for path in TZPATHS:
- filepath = os.path.join(path, name)
- if not os.path.isfile(filepath):
- filepath = filepath.replace(' ','_')
- if not os.path.isfile(filepath):
- continue
- try:
- tz = tzfile(filepath)
- break
- except (IOError, OSError, ValueError):
- pass
- else:
- tz = None
- if tzwin:
- try:
- tz = tzwin(name)
- except OSError:
- pass
- if not tz:
- from dateutil.zoneinfo import gettz
- tz = gettz(name)
- if not tz:
- for c in name:
- # name must have at least one offset to be a tzstr
- if c in "0123456789":
- try:
- tz = tzstr(name)
- except ValueError:
- pass
- break
- else:
- if name in ("GMT", "UTC"):
- tz = tzutc()
- elif name in time.tzname:
- tz = tzlocal()
- return tz
-
-# vim:ts=4:sw=4:et
diff --git a/textproc/py-tvgrab/pkg-descr b/textproc/py-tvgrab/pkg-descr
deleted file mode 100644
index 1e2ee97a4f81..000000000000
--- a/textproc/py-tvgrab/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-[ excerpt from developer's www site ]
-
-PyTVGrab is a xmltv grabber collection which contains several
-grabbers written in python that share a common library.
-
-WWW: http://pytvgrab.sourceforge.net/
diff --git a/textproc/py-xlwriter/Makefile b/textproc/py-xlwriter/Makefile
deleted file mode 100644
index d1643192b06a..000000000000
--- a/textproc/py-xlwriter/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# Created by: Choe, Cheng-Dae
-# $FreeBSD$
-
-PORTNAME= xlwriter
-PORTVERSION= 0.4a3
-CATEGORIES= textproc python
-MASTER_SITES= SF/py${PORTNAME}/py${PORTNAME}/${PORTVERSION}
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= pyXLWriter-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Python library for generating Excel-compatible spreadsheets
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-USES= python:2.7 zip
-USE_PYTHON= distutils autoplist
-
-PORTEXAMPLES= *
-
-OPTIONS_DEFINE= EXAMPLES
-
-post-install:
- ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- ${FIND} ${WRKSRC}/examples -type f -exec ${INSTALL_DATA} {} ${STAGEDIR}${EXAMPLESDIR} \;
-
-.include <bsd.port.mk>
diff --git a/textproc/py-xlwriter/distinfo b/textproc/py-xlwriter/distinfo
deleted file mode 100644
index aac38335be01..000000000000
--- a/textproc/py-xlwriter/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (pyXLWriter-0.4a3.zip) = 651cd7c274cc85c62150c96c50ccbd763a39abf3ea7ded15cfa3f8a4a889dacd
-SIZE (pyXLWriter-0.4a3.zip) = 162759
diff --git a/textproc/py-xlwriter/pkg-descr b/textproc/py-xlwriter/pkg-descr
deleted file mode 100644
index 53ec6aa0b748..000000000000
--- a/textproc/py-xlwriter/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-pyXLWriter is a Python library for generating Excel-compatible spreadsheets.
-It's a port of John McNamara's Perl Spreadsheet::WriteExcel module (see
-http://www.cpan.org) to Python.
-
-WWW: http://pyxlwriter.sourceforge.net/
diff --git a/textproc/py2html/Makefile b/textproc/py2html/Makefile
deleted file mode 100644
index 854bbe880a76..000000000000
--- a/textproc/py2html/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# Created by: Hye-Shik Chang <perky@python.or.kr>
-# $FreeBSD$
-
-PORTNAME= py2html
-PORTVERSION= 0.7
-PORTREVISION= 1
-CATEGORIES= textproc www python
-MASTER_SITES= LOCAL/perky
-PKGNAMESUFFIX= -${PYTHON_PKGNAMEPREFIX:S/-//}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Python Highlighter for HTML
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-USES= python:2.7 shebangfix
-USE_PYTHON= distutils autoplist
-
-SHEBANG_FILES= py2html
-
-.include <bsd.port.mk>
diff --git a/textproc/py2html/distinfo b/textproc/py2html/distinfo
deleted file mode 100644
index a0cfe0b3f92b..000000000000
--- a/textproc/py2html/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (py2html-0.7.tar.gz) = c79f317c48642ac77f70c1314761ae193c1ef989c2ed4f2280ffd7c9a5aa6ae2
-SIZE (py2html-0.7.tar.gz) = 7546
diff --git a/textproc/py2html/pkg-descr b/textproc/py2html/pkg-descr
deleted file mode 100644
index 828f2c4e511d..000000000000
--- a/textproc/py2html/pkg-descr
+++ /dev/null
@@ -1,2 +0,0 @@
-Py2html is a console/CGI library that beautifies
-python source files.
diff --git a/textproc/queequeg/Makefile b/textproc/queequeg/Makefile
deleted file mode 100644
index 9c33f9417d07..000000000000
--- a/textproc/queequeg/Makefile
+++ /dev/null
@@ -1,44 +0,0 @@
-# Created by: Kimura Fuyuki <fuyuki@nigredo.org>
-# $FreeBSD$
-
-PORTNAME= queequeg
-PORTVERSION= 0.91
-PORTREVISION= 2
-CATEGORIES= textproc
-MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Tiny English grammar checker
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-BUILD_DEPENDS= wn:textproc/wordnet \
- ${PYTHON_SITELIBDIR}/cdbmodule.so:databases/py-cdb
-RUN_DEPENDS= ${PYTHON_SITELIBDIR}/cdbmodule.so:databases/py-cdb
-
-USES= python:2.7 shebangfix
-SHEBANG_FILES= *.py misc/*.py qq
-ALL_TARGET= dict
-MAKE_ARGS= WORDNETDICT="${LOCALBASE}/share/WordNet" \
- PYTHON="${PYTHON_CMD}"
-NO_ARCH= yes
-
-PORTDOCS= *
-
-OPTIONS_DEFINE= DOCS
-
-do-install:
- @${MKDIR} ${STAGEDIR}${DATADIR}
- ${INSTALL_SCRIPT} ${WRKSRC}/qq ${STAGEDIR}${DATADIR}
- ${LN} -shf ${DATADIR}/qq ${STAGEDIR}${PREFIX}/bin/qq
- ${INSTALL_DATA} ${WRKSRC}/*.py ${WRKSRC}/dict.cdb ${STAGEDIR}${DATADIR}
-
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/htdocs/* ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.mk>
diff --git a/textproc/queequeg/distinfo b/textproc/queequeg/distinfo
deleted file mode 100644
index 95bea83da38e..000000000000
--- a/textproc/queequeg/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (queequeg-0.91.tar.gz) = 44e2f2bb8b68d08b7ee95ece24cefeeea8ec6ff9150851922015b73fc8908136
-SIZE (queequeg-0.91.tar.gz) = 69449
diff --git a/textproc/queequeg/files/patch-Makefile b/textproc/queequeg/files/patch-Makefile
deleted file mode 100644
index 768317b1aab2..000000000000
--- a/textproc/queequeg/files/patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.orig 2003-07-31 18:27:51 UTC
-+++ Makefile
-@@ -17,7 +17,7 @@ clean:
- -rm ./dict.cdb ./dict.txt
-
- dict:
-- python ./convdict.py index.special $(WORDNETDICT)
-+ ${PYTHON} ./convdict.py index.special $(WORDNETDICT)
-
- localdict: dict.cdb dict.txt
- -mkdir LOCAL
diff --git a/textproc/queequeg/pkg-descr b/textproc/queequeg/pkg-descr
deleted file mode 100644
index ba650986cf9a..000000000000
--- a/textproc/queequeg/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-Queequeg is a tiny English grammar checker for non-native speakers who
-are not used to verb conjugation and number agreement. We especially
-focus on people who're writing academic papers or business documents
-where thorough checking is required. We aim to reduce this laborious
-work with automated checking.
-
-WWW: http://queequeg.sourceforge.net/index-e.html
diff --git a/textproc/queequeg/pkg-plist b/textproc/queequeg/pkg-plist
deleted file mode 100644
index ad50168c63d7..000000000000
--- a/textproc/queequeg/pkg-plist
+++ /dev/null
@@ -1,18 +0,0 @@
-bin/qq
-%%DATADIR%%/abstfilter.py
-%%DATADIR%%/constraint.py
-%%DATADIR%%/convdict.py
-%%DATADIR%%/dict.cdb
-%%DATADIR%%/dictionary.py
-%%DATADIR%%/document.py
-%%DATADIR%%/grammarerror.py
-%%DATADIR%%/markupbase_rev.py
-%%DATADIR%%/output.py
-%%DATADIR%%/postagfix.py
-%%DATADIR%%/pstring.py
-%%DATADIR%%/qq
-%%DATADIR%%/regpat.py
-%%DATADIR%%/sentence.py
-%%DATADIR%%/sgmllib_rev.py
-%%DATADIR%%/texparser.py
-%%DATADIR%%/unification.py
diff --git a/textproc/rubber/Makefile b/textproc/rubber/Makefile
deleted file mode 100644
index c5e8e61d734e..000000000000
--- a/textproc/rubber/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# Created by: ijliao
-# $FreeBSD$
-
-PORTNAME= rubber
-PORTVERSION= 1.1
-PORTREVISION= 6
-CATEGORIES= textproc
-MASTER_SITES= http://launchpadlibrarian.net/53558954/
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Wrapper for LaTeX and friends
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-LICENSE= GPLv2
-
-NO_ARCH= yes
-
-USES= gmake makeinfo python:2.7
-USE_TEX= latex
-HAS_CONFIGURE= yes
-CONFIGURE_ARGS= --prefix=${PREFIX} --infodir=${PREFIX}/${INFO_PATH} \
- --datadir=${PYTHONPREFIX_SITELIBDIR} --python=${PYTHON_CMD}
-
-PLIST_SUB= PYDISTUTILS_EGGINFO="${PYDISTUTILS_EGGINFO}"
-
-INFO= rubber
-
-post-patch:
- @${REINPLACE_CMD} -e \
- 's|\($${prefix}\)$$|\1 --root="$${DESTDIR}"|' \
- ${WRKSRC}/Makefile.in
-
-.include <bsd.port.mk>
diff --git a/textproc/rubber/distinfo b/textproc/rubber/distinfo
deleted file mode 100644
index 802d90c5d12b..000000000000
--- a/textproc/rubber/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (rubber-1.1.tar.gz) = 783d3234fab16c47cbe70ed947c0344140088f844589e8df1829214429da73f5
-SIZE (rubber-1.1.tar.gz) = 83795
diff --git a/textproc/rubber/pkg-descr b/textproc/rubber/pkg-descr
deleted file mode 100644
index ffaef8618a75..000000000000
--- a/textproc/rubber/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-Rubber is a program whose purpose is to handle all tasks related to the
-compilation of LaTeX documents. This includes compiling the document
-itself, of course, enough times so that all references are defined, and
-running BibTeX to manage bibliographic references. Automatic execution
-of dvips to produce PostScript documents is also included, as well as
-usage of pdfLaTeX to produce PDF documents.
-
-WWW: http://launchpad.net/rubber/
diff --git a/textproc/rubber/pkg-plist b/textproc/rubber/pkg-plist
deleted file mode 100644
index 2c6472e9581a..000000000000
--- a/textproc/rubber/pkg-plist
+++ /dev/null
@@ -1,91 +0,0 @@
-bin/rubber
-bin/rubber-info
-bin/rubber-pipe
-%%PYTHON_SITELIBDIR%%/rubber/modules/aleph.rub
-%%PYTHON_SITELIBDIR%%/rubber/modules/beamer.rub
-%%PYTHON_SITELIBDIR%%/rubber/modules/etex.rub
-%%PYTHON_SITELIBDIR%%/rubber/modules/hyperref.rub
-%%PYTHON_SITELIBDIR%%/rubber/modules/minitoc-hyper.rub
-%%PYTHON_SITELIBDIR%%/rubber/modules/ntheroem.rub
-%%PYTHON_SITELIBDIR%%/rubber/modules/omega.rub
-%%PYTHON_SITELIBDIR%%/rubber/modules/revtex4.rub
-%%PYTHON_SITELIBDIR%%/rubber/%%PYDISTUTILS_EGGINFO%%
-%%PYTHON_SITELIBDIR%%/rubber/rubber/__init__.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/__init__.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/cmd_info.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/cmd_info.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/cmd_pipe.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/cmd_pipe.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/cmdline.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/cmdline.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/__init__.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/__init__.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/cweb.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/cweb.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/eps_gz.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/eps_gz.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/fig2dev.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/fig2dev.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/__init__.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/__init__.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/bibtex.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/bibtex.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/combine.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/combine.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/dvipdfm.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/dvipdfm.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/dvips.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/dvips.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/epsfig.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/epsfig.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/expand.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/expand.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/graphics.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/graphics.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/graphicx.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/graphicx.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/gz.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/gz.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/index.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/index.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/listings.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/listings.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/makeidx.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/makeidx.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/minitoc.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/minitoc.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/moreverb.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/moreverb.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/multibib.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/multibib.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/natbib.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/natbib.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/pdftex.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/pdftex.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/ps2pdf.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/ps2pdf.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/verbatim.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/verbatim.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/vt100.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/vt100.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/vtex.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/vtex.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/xr.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/latex/xr.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/lhs2TeX.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/lhs2TeX.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/mpost.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/mpost.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/shell.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/rules/shell.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/util.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/util.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rubber/version.py
-%%PYTHON_SITELIBDIR%%/rubber/rubber/version.pyc
-%%PYTHON_SITELIBDIR%%/rubber/rules.ini
-man/fr/man1/rubber.1.gz
-man/fr/man1/rubber-info.1.gz
-man/fr/man1/rubber-pipe.1.gz
-man/man1/rubber.1.gz
-man/man1/rubber-info.1.gz
-man/man1/rubber-pipe.1.gz
diff --git a/textproc/silvercity/Makefile b/textproc/silvercity/Makefile
deleted file mode 100644
index 7fe5ba84ad0f..000000000000
--- a/textproc/silvercity/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# Created by: ijliao
-# $FreeBSD$
-
-PORTNAME= silvercity
-PORTVERSION= 0.9.7
-PORTREVISION= 2
-CATEGORIES= textproc
-MASTER_SITES= SF/${PORTNAME}/Python%20SilverCity%20Bindings/${PORTVERSION}
-DISTNAME= SilverCity-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Lexing package for over 20 programming and markup languages
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-USES= dos2unix python:2.7
-USE_PYTHON= distutils
-PYDISTUTILS_PKGNAME= SilverCity
-
-post-install:
- ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/SilverCity/_SilverCity.so
-
-.include <bsd.port.mk>
diff --git a/textproc/silvercity/distinfo b/textproc/silvercity/distinfo
deleted file mode 100644
index 413dfef881f1..000000000000
--- a/textproc/silvercity/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (SilverCity-0.9.7.tar.gz) = 5b226e71d75c0afc4434c6fbfb44214e8728fd69703045b2134802f71ef049bd
-SIZE (SilverCity-0.9.7.tar.gz) = 278396
diff --git a/textproc/silvercity/pkg-descr b/textproc/silvercity/pkg-descr
deleted file mode 100644
index 06ba3a62a4e3..000000000000
--- a/textproc/silvercity/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-SilverCity is a lexing package, based on Scintilla, that can provide lexical
-analysis for over 20 programming and markup languages.
-
-Scripting language bindings currently exist for Python.
-
-WWW: http://silvercity.sourceforge.net/
diff --git a/textproc/silvercity/pkg-plist b/textproc/silvercity/pkg-plist
deleted file mode 100644
index be3be09e2b6f..000000000000
--- a/textproc/silvercity/pkg-plist
+++ /dev/null
@@ -1,68 +0,0 @@
-bin/source2html.py
-bin/cgi-styler.py
-bin/cgi-styler-form.py
-%%PYTHON_SITELIBDIR%%/SilverCity/CPP.py
-%%PYTHON_SITELIBDIR%%/SilverCity/CPP.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/CPP.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/CSS.py
-%%PYTHON_SITELIBDIR%%/SilverCity/CSS.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/CSS.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/DispatchHandler.py
-%%PYTHON_SITELIBDIR%%/SilverCity/DispatchHandler.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/DispatchHandler.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/HTMLGenerator.py
-%%PYTHON_SITELIBDIR%%/SilverCity/HTMLGenerator.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/HTMLGenerator.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/HyperText.py
-%%PYTHON_SITELIBDIR%%/SilverCity/HyperText.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/HyperText.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/Keywords.py
-%%PYTHON_SITELIBDIR%%/SilverCity/Keywords.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/Keywords.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/LanguageInfo.py
-%%PYTHON_SITELIBDIR%%/SilverCity/LanguageInfo.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/LanguageInfo.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/Lexer.py
-%%PYTHON_SITELIBDIR%%/SilverCity/Lexer.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/Lexer.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/NULL.py
-%%PYTHON_SITELIBDIR%%/SilverCity/NULL.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/NULL.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/Perl.py
-%%PYTHON_SITELIBDIR%%/SilverCity/Perl.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/Perl.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/Python.py
-%%PYTHON_SITELIBDIR%%/SilverCity/Python.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/Python.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/Ruby.py
-%%PYTHON_SITELIBDIR%%/SilverCity/Ruby.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/Ruby.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/SQL.py
-%%PYTHON_SITELIBDIR%%/SilverCity/SQL.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/SQL.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/ScintillaConstants.py
-%%PYTHON_SITELIBDIR%%/SilverCity/ScintillaConstants.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/ScintillaConstants.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/Java.py
-%%PYTHON_SITELIBDIR%%/SilverCity/Verilog.py
-%%PYTHON_SITELIBDIR%%/SilverCity/Verilog.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/Verilog.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/Java.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/Java.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/Utils.py
-%%PYTHON_SITELIBDIR%%/SilverCity/Utils.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/Utils.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/XML.py
-%%PYTHON_SITELIBDIR%%/SilverCity/XML.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/XML.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/XSLT.py
-%%PYTHON_SITELIBDIR%%/SilverCity/XSLT.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/XSLT.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/YAML.py
-%%PYTHON_SITELIBDIR%%/SilverCity/YAML.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/YAML.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/_SilverCity.so
-%%PYTHON_SITELIBDIR%%/SilverCity/__init__.py
-%%PYTHON_SITELIBDIR%%/SilverCity/__init__.pyc
-%%PYTHON_SITELIBDIR%%/SilverCity/__init__.pyo
-%%PYTHON_SITELIBDIR%%/SilverCity/default.css
diff --git a/textproc/xsv/Makefile b/textproc/xsv/Makefile
deleted file mode 100644
index 458738dedb56..000000000000
--- a/textproc/xsv/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# Created by: Rusmir Dusko <nemysis@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= xsv
-PORTVERSION= 3.1
-CATEGORIES= textproc python
-MASTER_SITES= ftp://ftp.cogsci.ed.ac.uk/pub/XSV/
-DISTNAME= ${PORTNAME:tu}-${DISTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= XML Schema Validator
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ltxml>0:textproc/py-ltxml@${PY_FLAVOR}
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-PORTDOCS= pc-shrinkwrap xsv-status.xml xsv-status.html
-PORTEXAMPLES= triv.xml triv.xsd tiny.xml tiny.xsd
-
-OPTIONS_DEFINE= DOCS EXAMPLES
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
-
-post-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- ${INSTALL_DATA} ${PORTEXAMPLES:S|^|${WRKSRC}/|} ${STAGEDIR}${EXAMPLESDIR}
-
-.include <bsd.port.mk>
diff --git a/textproc/xsv/distinfo b/textproc/xsv/distinfo
deleted file mode 100644
index 78260bfef920..000000000000
--- a/textproc/xsv/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (XSV-3.1.tar.gz) = acd0b8522ae6e14ffe17ef23f376aa51c7420152a038c53ef5b51fc0d79c4018
-SIZE (XSV-3.1.tar.gz) = 157804
diff --git a/textproc/xsv/files/patch-setup.py b/textproc/xsv/files/patch-setup.py
deleted file mode 100644
index 305ee3281674..000000000000
--- a/textproc/xsv/files/patch-setup.py
+++ /dev/null
@@ -1,25 +0,0 @@
---- setup.py.orig 2008-01-18 12:17:40 UTC
-+++ setup.py
-@@ -16,20 +16,10 @@ class smart_install_data(install_data):
- self.install_dir = getattr(install_cmd, 'install_lib')
- return install_data.run(self)
-
--datafiles=[('XSV/example',
-- ['triv.xml',
-- 'triv.xsd',
-- 'tiny.xml',
-- 'tiny.xsd']),
-- ('XSV',['XSV/nndump.xml',
-+datafiles=[('XSV',['XSV/nndump.xml',
- 'XSV/XMLSchema.dtd',
- 'XSV/datatypes.dtd']),
-- ('XSV/pubtext',['xsv.xsl']),
-- ('XSV/doc',['COPYING',
-- 'COPYRIGHT',
-- 'pc-shrinkwrap',
-- 'xsv-status.xml',
-- 'xsv-status.html'])] # only works for bdist and friends
-+ ('XSV/pubtext',['xsv.xsl'])]
-
- if sys.platform.find("win32",0,5)==0:
- platform="WIN32"
diff --git a/textproc/xsv/pkg-descr b/textproc/xsv/pkg-descr
deleted file mode 100644
index 5ccaf20d1cca..000000000000
--- a/textproc/xsv/pkg-descr
+++ /dev/null
@@ -1,13 +0,0 @@
-XSV is a command-line tool for performing schema-validity
-assessment of XML documents in accord with the
-W3C XML Schema specification, second edition.
-
-XSV (XML Schema Validator) is an open source (GPLed) work-in-progress
-attempt at a conformant schema-aware processor, as defined by
-XML Schema Part 1: Structures, Second Edition of 28 October 2004.
-It has been developed at the Language Technology Group of the Human
-Communication Research Centre in the School of Informatics at the
-University of Edinburgh, with support for one of us (Thompson)
-from the World Wide Web Consortium.
-
-WWW: http://www.ltg.ed.ac.uk/~ht/xsv-status.html
diff --git a/textproc/yould/Makefile b/textproc/yould/Makefile
deleted file mode 100644
index bbc00d3cb018..000000000000
--- a/textproc/yould/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# Created by: Andrew Pantyukhin <infofarmer@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= yould
-PORTVERSION= 0.3.7
-PORTREVISION= 1
-CATEGORIES= textproc
-MASTER_SITES= CHEESESHOP/source/y/${PORTNAME}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Pronounceable word generator
-
-DEPRECATED= Unmaintained, uses EOLed python27
-EXPIRATION_DATE= 2020-01-27
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-PORTDOCS= NEWS.txt README.txt
-
-OPTIONS_DEFINE= DOCS
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}/
- cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}/
-
-.include <bsd.port.mk>
diff --git a/textproc/yould/distinfo b/textproc/yould/distinfo
deleted file mode 100644
index ff4952313b9e..000000000000
--- a/textproc/yould/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (yould-0.3.7.tar.gz) = ac8b59cfe5c4f4922e8d8edce467cb064692fd522ec6efee6e942c1f3a4a0f09
-SIZE (yould-0.3.7.tar.gz) = 3535315
diff --git a/textproc/yould/pkg-descr b/textproc/yould/pkg-descr
deleted file mode 100644
index 2b3d9524cddb..000000000000
--- a/textproc/yould/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-Yould is a generator for pronounceable random words. The engine uses
-Markov chains with two letter transitions. This distribution includes
-trained engines for several languages: English, Dutch, Finnish, Italian,
-French and German.
-
-WWW: http://ygingras.net/yould