diff --git a/imlib2/PKGBUILD b/imlib2/PKGBUILD new file mode 100644 index 000000000..d354ade70 --- /dev/null +++ b/imlib2/PKGBUILD @@ -0,0 +1,34 @@ +# Contributions from Arch: https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/imlib2 + +pkgname=imlib2 +pkgver=1.4.7 +pkgrel=2 +pkgdesc="Library that does image file loading and saving as well as rendering, manipulation, arbitrary polygon support" +url="http://sourceforge.net/projects/enlightenment/" +arch=('x86_64') +license=('BSD') +depends=('libtiff' 'giflib' 'bzip2' 'freetype2' 'libxext' 'libpng>=1.5.0' 'libid3tag' 'libjpeg-turbo') +source=("http://downloads.sourceforge.net/enlightenment/$pkgname-$pkgver.tar.bz2") +sha1sums=('0ed225afbbee8e990c655cf13ed802bda8a5cd8a') + +prepare() { + cd $pkgname-$pkgver + sed -i 's/@my_libs@//' imlib2-config.in +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr \ + --sysconfdir=/etc/imlib2 \ + --x-libraries=/usr/lib \ + --enable-amd64 + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + # Install License + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/python-dateutil/PKGBUILD b/python-dateutil/PKGBUILD new file mode 100644 index 000000000..a3d76ace3 --- /dev/null +++ b/python-dateutil/PKGBUILD @@ -0,0 +1,40 @@ +pkgbase=python3-dateutil +pkgname=('python3-dateutil' 'python2-dateutil') +pkgver=2.5.0 +pkgrel=1 +pkgdesc="Provides powerful extensions to the standard datetime module" +arch=('any') +license=('custom') +url="https://github.com/dateutil/dateutil" +makedepends=('python3-setuptools' 'python2-setuptools' 'python3-six' 'python2-six') +source=("$pkgbase-$pkgver.tar.gz"::https://github.com/dateutil/dateutil/archive/$pkgver.tar.gz) +sha1sums=('55adcc447e882d9a4f951667e77fdb2c03b3501e') + +build() { + cd $srcdir + cp -r dateutil-$pkgver python2-dateutil-$pkgver +} + +package_python3-dateutil() { + depends=('python3-six') + cd dateutil-$pkgver + python3 setup.py install --root=$pkgdir --optimize=1 + install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE +} + +package_python2-dateutil() { + depends=('python2-six') + cd $srcdir/python2-dateutil-$pkgver + python2 setup.py install --root=$pkgdir --optimize=1 + install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE +} + +check() { + cd dateutil-$pkgver + python3 updatezinfo.py + python3 setup.py test + + cd $srcdir/python2-dateutil-$pkgver + python2 updatezinfo.py + python2 setup.py test +} diff --git a/python-decorator/LICENSE.txt b/python-decorator/LICENSE.txt new file mode 100644 index 000000000..a6a492972 --- /dev/null +++ b/python-decorator/LICENSE.txt @@ -0,0 +1,26 @@ +Copyright (c) 2007, Michele Simionato +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + Redistributions in bytecode form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. diff --git a/python-decorator/PKGBUILD b/python-decorator/PKGBUILD new file mode 100644 index 000000000..43240e2fa --- /dev/null +++ b/python-decorator/PKGBUILD @@ -0,0 +1,44 @@ +pkgname=('python2-decorator' 'python3-decorator') +pkgver=4.0.9 +pkgrel=1 +pkgdesc='Python Decorator module' +arch=('any') +url='http://pypi.python.org/pypi/decorator' +license=('BSD') +makedepends=('python2' 'python3' 'python2-setuptools' 'python3-setuptools') +source=("http://pypi.python.org/packages/source/d/decorator/decorator-${pkgver}.tar.gz" + 'LICENSE.txt') +sha1sums=('a2af61818b01e3f8ca6e4b432886043487fab9be' + 'c4c7f1ac4772ee0fca420a65533520af261ef8b3') + +build() { + cp -r decorator-$pkgver decorator2-$pkgver + + cd "$srcdir/decorator-$pkgver" + + python3 setup.py build + + cd "$srcdir/decorator2-$pkgver" + + python2 setup.py build +} + +package_python2-decorator() { + depends=('python2') + replaces=('python3-decorator<=3.3.2-1') + cd "${srcdir}/decorator2-${pkgver}" + + python2 setup.py install --root="${pkgdir}" --optimize=1 + + install -D -m644 "${srcdir}/LICENSE.txt" \ + "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} +package_python3-decorator() { + depends=('python3') + cd "${srcdir}/decorator-${pkgver}" + + python3 setup.py install --root="${pkgdir}" --optimize=1 + + install -D -m644 "${srcdir}/LICENSE.txt" \ + "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/python-mpmath/PKGBUILD b/python-mpmath/PKGBUILD new file mode 100644 index 000000000..05d093955 --- /dev/null +++ b/python-mpmath/PKGBUILD @@ -0,0 +1,45 @@ +pkgbase=python-mpmath +pkgname=('python2-mpmath' 'python3-mpmath') +pkgver=0.19 +pkgrel=1 +pkgdesc='Python library for arbitrary-precision floating-point arithmetic.' +arch=('any') +url='http://mpmath.org/' +license=('BSD') +makedepends=('python3-setuptools' 'python2-setuptools') +source=("http://mpmath.org/files/mpmath-${pkgver}.tar.gz") +sha1sums=('65da0ed4ed01d067f0f5b890ca28ad2f2fb56343') + +prepare(){ + cp -R mpmath-$pkgver mpmath2-$pkgver +} + +build() { + cd mpmath2-$pkgver + python2 setup.py build + + cd ../mpmath-$pkgver + python3 setup.py build +} + +package_python2-mpmath() { + depends=('python2-gmpy2') + cd mpmath2-${pkgver} + + find -name '*.py' | xargs sed -e 's|#!/usr/bin/python|#!/usr/bin/python2|' -i + + python2 setup.py install --root "$pkgdir" --optimize=1 + + install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE +} + + +package_python3-mpmath() { + depends=('python3-gmpy2') + cd mpmath-${pkgver} + + python3 setup.py install --root "$pkgdir" --optimize=1 + + install -D -m644 LICENSE $pkgdir/usr/share/licenses/${pkgname}/LICENSE +} + diff --git a/python-pyparsing/PKGBUILD b/python-pyparsing/PKGBUILD new file mode 100644 index 000000000..c8490941a --- /dev/null +++ b/python-pyparsing/PKGBUILD @@ -0,0 +1,33 @@ +pkgbase=python-pyparsing +pkgname=('python3-pyparsing' 'python2-pyparsing') +pkgver=2.1.0 +pkgrel=1 +pkgdesc='General parsing module for Python' +arch=('any') +url='http://pyparsing.wikispaces.com' +license=('MIT') +makedepends=('python3-setuptools' 'python2-setuptools') +source=("http://downloads.sourceforge.net/pyparsing/pyparsing-$pkgver.tar.gz") +sha256sums=('f6cb2bc85a491347c3c699db47f7ecc02903959156b4f92669ebf82395982901') + +prepare() { + cp -vr $srcdir/pyparsing-$pkgver $srcdir/pyparsing-$pkgver-py2 +} + +package_python3-pyparsing() { + cd "$srcdir/pyparsing-$pkgver" + + rm -rf build + python3 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1 + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_python2-pyparsing() { + cd "pyparsing-$pkgver-py2" + + rm -rf build + python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1 + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/python2-pyparsing/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/python-tornado/0001-use_system_ca_certificates.patch b/python-tornado/0001-use_system_ca_certificates.patch new file mode 100644 index 000000000..84d0c103a --- /dev/null +++ b/python-tornado/0001-use_system_ca_certificates.patch @@ -0,0 +1,36 @@ +diff --git a/setup.py b/setup.py +index f09169f..d42c486 100644 +--- a/setup.py ++++ b/setup.py +@@ -120,7 +120,7 @@ if (platform.python_implementation() == 'CPython' and + # Certifi is also optional on 2.7.9+, although making our dependencies + # conditional on micro version numbers seems like a bad idea + # until we have more declarative metadata. +- install_requires.append('certifi') ++ pass + if sys.version_info < (3, 5): + install_requires.append('backports_abc>=0.4') + kwargs['install_requires'] = install_requires +diff --git a/tornado/simple_httpclient.py b/tornado/simple_httpclient.py +index f0f73fa..ffe3e40 100644 +--- a/tornado/simple_httpclient.py ++++ b/tornado/simple_httpclient.py +@@ -33,17 +33,9 @@ except ImportError: + # ssl is not available on Google App Engine. + ssl = None + +-try: +- import certifi +-except ImportError: +- certifi = None +- + + def _default_ca_certs(): +- if certifi is None: +- raise Exception("The 'certifi' package is required to use https " +- "in simple_httpclient") +- return certifi.where() ++ return "/etc/ssl/certs/ca-certificates.crt" + + + class SimpleAsyncHTTPClient(AsyncHTTPClient): diff --git a/python-tornado/0002-get-rid-of-backports-ssl-match-hostname.patch b/python-tornado/0002-get-rid-of-backports-ssl-match-hostname.patch new file mode 100644 index 000000000..d88c123df --- /dev/null +++ b/python-tornado/0002-get-rid-of-backports-ssl-match-hostname.patch @@ -0,0 +1,23 @@ +From f8f2ffca1928aeca2fa9771093436dba49baa538 Mon Sep 17 00:00:00 2001 +From: Felix Yan +Date: Fri, 12 Dec 2014 23:10:15 +0800 +Subject: [PATCH] Don't depend on backports.ssl-match-hostname with python + >=2.7.9, <3.0 + +--- + setup.py | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/setup.py b/setup.py +index f09169f..f795807 100644 +--- a/setup.py ++++ b/setup.py +@@ -121,7 +121,7 @@ def build_extension(self, ext): + if setuptools is not None: + # If setuptools is not available, you're on your own for dependencies. + install_requires = [] +- if sys.version_info < (3, 2): ++ if sys.version_info < (2, 7, 9) or (3, 0) <= sys.version_info < (3, 2): + install_requires.append('backports.ssl_match_hostname') + kwargs['install_requires'] = install_requires + diff --git a/python-tornado/0003-support-monotonic.patch b/python-tornado/0003-support-monotonic.patch new file mode 100644 index 000000000..d8e0e56f2 --- /dev/null +++ b/python-tornado/0003-support-monotonic.patch @@ -0,0 +1,52 @@ +commit 7861716d2315606b03c4126505d6b158640218aa +Author: Felix Yan +Date: Sat Nov 7 13:53:09 2015 +0800 + + Add monotonic as an alternative to Monotime + +diff --git a/docs/index.rst b/docs/index.rst +index e4a4d80..14f9af6 100644 +--- a/docs/index.rst ++++ b/docs/index.rst +@@ -100,6 +100,8 @@ the following optional packages may be useful: + * `Monotime `_ adds support for + a monotonic clock, which improves reliability in environments + where clock adjustments are frequent. No longer needed in Python 3.3. ++* `monotonic `_ adds support for ++ a monotonic clock. Alternative to Monotime. No longer needed in Python 3.3. + + **Platforms**: Tornado should run on any Unix-like platform, although + for the best performance and scalability only Linux (with ``epoll``) +diff --git a/tornado/platform/auto.py b/tornado/platform/auto.py +index fc40c9d..449b634 100644 +--- a/tornado/platform/auto.py ++++ b/tornado/platform/auto.py +@@ -47,8 +47,13 @@ try: + except ImportError: + pass + try: +- from time import monotonic as monotonic_time ++ # monotonic can provide a monotonic function in versions of python before ++ # 3.3, too. ++ from monotonic import monotonic as monotonic_time + except ImportError: +- monotonic_time = None ++ try: ++ from time import monotonic as monotonic_time ++ except ImportError: ++ monotonic_time = None + + __all__ = ['Waker', 'set_close_exec', 'monotonic_time'] +diff --git a/tox.ini b/tox.ini +index 82b156d..6f74a74 100644 +--- a/tox.ini ++++ b/tox.ini +@@ -85,7 +85,7 @@ deps = + {py2,py27,pypy,py3,py33}-full: singledispatch + py33-asyncio: asyncio + trollius: trollius +- py2-monotonic: Monotime ++ py2-monotonic: monotonic + sphinx: sphinx + sphinx: sphinx_rtd_theme + \ No newline at end of file diff --git a/python-tornado/PKGBUILD b/python-tornado/PKGBUILD new file mode 100644 index 000000000..338e72ac8 --- /dev/null +++ b/python-tornado/PKGBUILD @@ -0,0 +1,83 @@ +pkgname=('python3-tornado' 'python2-tornado') +pkgver=4.3.0 +pkgrel=1 +pkgdesc='open source version of the scalable, non-blocking web server and tools' +arch=('x86_64') +url='http://www.tornadoweb.org/' +license=('Apache') +makedepends=('python3-setuptools' 'python2-setuptools' 'git') +checkdepends=('python3-pycurl' 'python2-pycurl' 'python3-mock' 'python2-mock' 'python3-twisted' 'python2-twisted' 'python2-futures' 'python2-singledispatch') +source=("git+https://github.com/facebook/tornado.git#tag=v$pkgver" + 0001-use_system_ca_certificates.patch + 0002-get-rid-of-backports-ssl-match-hostname.patch + 0003-support-monotonic.patch) +sha512sums=('SKIP' + 'cf3dbed20b0bb78cdaa16d4141adc7e12e0b5fd339d2ee9edb5d618dd1c87a643b6ecee19455235b1df712154ce83a1f4149c5579a5a1df5bdf2cd865c766b66' + '798f1c5f659138aa4d775edde7c962ec6410671f528b7ec44ca12ac342ddf9ec51d998c676b9025292a58c2140ba8492fcc76759b63adaf08320f96b11bcbfea' + '12bb182b009a38198500005fa977b55643647ba93bafe92495a242d4c80a698b21e3e4c59244dca22763a5d1037dc80e3f09236bdabf72e4ebf77d7b16c16e50') + +prepare() { + cd tornado + # patch -p1 -i ../0001-use_system_ca_certificates.patch + # patch -p1 -i ../0002-get-rid-of-backports-ssl-match-hostname.patch + # patch -p1 -i ../0003-support-monotonic.patch + + cd "$srcdir" + cp -a tornado{,-py2} + + # python -> python2 rename + find tornado-py2 -name '*py' -exec sed -e 's_#!/usr/bin/env python_&2_' -i {} \; + + export TORNADO_EXTENSION=1 +} + +build() { + cd tornado + python3 setup.py build + + cd ../tornado-py2 + python2 setup.py build +} + +check() { + ( + cd tornado + # TODO: exporting PYTHONPATH didn't fix the tornado.speedups not found problem... + export PYTHONPATH="$(pwd)/build/lib.linux-$CARCH-3.4:$PYTHONPATH" + python3 -m tornado.test.runtests + python3 -m tornado.test.runtests --httpclient=tornado.curl_httpclient.CurlAsyncHTTPClient + # python -m tornado.test.runtests --resolver=tornado.platform.caresresolver.CaresResolver # pycares not in the repos + python3 -m tornado.test.runtests --resolver=tornado.netutil.ThreadedResolver + python3 -m tornado.test.runtests --ioloop=tornado.platform.asyncio.AsyncIOLoop + python3 -m tornado.test.runtests --ioloop=tornado.platform.select.SelectIOLoop + python3 -m tornado.test.runtests --ioloop=tornado.platform.twisted.TwistedIOLoop + python3 -m tornado.test.runtests --ioloop=tornado.test.twisted_test.LayeredTwistedIOLoop --resolver=tornado.platform.twisted.TwistedResolver + ) || warning "Python 3 tests failed" + + ( + cd tornado-py2 + export PYTHONPATH="$(pwd)/build/lib.linux-$CARCH-2.7:$PYTHONPATH" + python2 -m tornado.test.runtests + python2 -m tornado.test.runtests --httpclient=tornado.curl_httpclient.CurlAsyncHTTPClient + # python2 -m tornado.test.runtests --resolver=tornado.platform.caresresolver.CaresResolver # pycares not in the repos + python2 -m tornado.test.runtests --resolver=tornado.netutil.ThreadedResolver + python2 -m tornado.test.runtests --ioloop=tornado.platform.select.SelectIOLoop + python2 -m tornado.test.runtests --ioloop=tornado.platform.twisted.TwistedIOLoop + python2 -m tornado.test.runtests --ioloop=tornado.test.twisted_test.LayeredTwistedIOLoop --resolver=tornado.platform.twisted.TwistedResolver + ) || warning "Python 2 tests failed" +} + +package_python3-tornado() { + depends=('python3') + + cd tornado + python3 setup.py install --root="${pkgdir}" --optimize=1 +} + +package_python2-tornado() { + depends=('python2>=2.7.9') + + cd tornado-py2 + python2 setup.py install --root="${pkgdir}" --optimize=1 +} +