~dricottone/apkbuilds

5f4793401128c761a5f3fc057c1c742fa514d915 — Dominic Ricottone 1 year, 3 months ago
Initial commit
120 files changed, 3173 insertions(+), 0 deletions(-)

A .gitignore
A LICENSE.md
A Makefile
A README.md
A src/builds.sr.ht/APKBUILD
A src/builds.sr.ht/LICENSE.txt
A src/builds.sr.ht/builds.sr.ht-api.confd
A src/builds.sr.ht/builds.sr.ht-api.initd
A src/builds.sr.ht/builds.sr.ht-worker.confd
A src/builds.sr.ht/builds.sr.ht-worker.initd
A src/builds.sr.ht/builds.sr.ht.confd
A src/builds.sr.ht/builds.sr.ht.gunicorn.conf.py
A src/builds.sr.ht/builds.sr.ht.initd
A src/builds.sr.ht/builds.sr.ht.post-upgrade
A src/builds.sr.ht/builds.sr.ht.pre-install
A src/git.sr.ht/APKBUILD
A src/git.sr.ht/LICENSE.txt
A src/git.sr.ht/git.sr.ht-api.confd
A src/git.sr.ht/git.sr.ht-api.initd
A src/git.sr.ht/git.sr.ht-webhooks.confd
A src/git.sr.ht/git.sr.ht-webhooks.initd
A src/git.sr.ht/git.sr.ht.confd
A src/git.sr.ht/git.sr.ht.gunicorn.conf.py
A src/git.sr.ht/git.sr.ht.initd
A src/git.sr.ht/git.sr.ht.post-install
A src/git.sr.ht/git.sr.ht.post-upgrade
A src/lists.sr.ht/APKBUILD
A src/lists.sr.ht/LICENSE.txt
A src/lists.sr.ht/lists.sr.ht-api.confd
A src/lists.sr.ht/lists.sr.ht-api.initd
A src/lists.sr.ht/lists.sr.ht-lmtp.confd
A src/lists.sr.ht/lists.sr.ht-lmtp.initd
A src/lists.sr.ht/lists.sr.ht-process.confd
A src/lists.sr.ht/lists.sr.ht-process.initd
A src/lists.sr.ht/lists.sr.ht-webhooks.confd
A src/lists.sr.ht/lists.sr.ht-webhooks.initd
A src/lists.sr.ht/lists.sr.ht.confd
A src/lists.sr.ht/lists.sr.ht.gunicorn.conf.py
A src/lists.sr.ht/lists.sr.ht.initd
A src/lists.sr.ht/lists.sr.ht.post-install
A src/lists.sr.ht/lists.sr.ht.post-upgrade
A src/meta.sr.ht/APKBUILD
A src/meta.sr.ht/LICENSE.txt
A src/meta.sr.ht/meta.sr.ht-api.confd
A src/meta.sr.ht/meta.sr.ht-api.initd
A src/meta.sr.ht/meta.sr.ht-webhooks.confd
A src/meta.sr.ht/meta.sr.ht-webhooks.initd
A src/meta.sr.ht/meta.sr.ht.confd
A src/meta.sr.ht/meta.sr.ht.gunicorn.conf.py
A src/meta.sr.ht/meta.sr.ht.initd
A src/meta.sr.ht/meta.sr.ht.post-install
A src/meta.sr.ht/meta.sr.ht.post-upgrade
A src/py3-aiosmtpd/APKBUILD
A src/py3-aiosmtpd/LICENSE.txt
A src/py3-amqp/APKBUILD
A src/py3-amqp/LICENSE.txt
A src/py3-ansi2html/APKBUILD
A src/py3-ansi2html/LICENSE.txt
A src/py3-asyncpg/APKBUILD
A src/py3-asyncpg/LICENSE.txt
A src/py3-atpublic/APKBUILD
A src/py3-atpublic/LICENSE.txt
A src/py3-atpublic/pyproject.toml
A src/py3-billiard/APKBUILD
A src/py3-billiard/LICENSE.txt
A src/py3-case/APKBUILD
A src/py3-case/LICENSE.txt
A src/py3-celery/7446.patch
A src/py3-celery/APKBUILD
A src/py3-celery/LICENSE.txt
A src/py3-click-didyoumean/APKBUILD
A src/py3-click-didyoumean/LICENSE.txt
A src/py3-click-repl/APKBUILD
A src/py3-click-repl/LICENSE.txt
A src/py3-colour/APKBUILD
A src/py3-colour/LICENSE.txt
A src/py3-colour/setup.cfg
A src/py3-colour/setup.py
A src/py3-furl/APKBUILD
A src/py3-furl/LICENSE.txt
A src/py3-humanize/APKBUILD
A src/py3-humanize/LICENSE.txt
A src/py3-infinity/APKBUILD
A src/py3-infinity/LICENSE.txt
A src/py3-intervals/APKBUILD
A src/py3-intervals/LICENSE.txt
A src/py3-kombu/APKBUILD
A src/py3-kombu/LICENSE.txt
A src/py3-minio/APKBUILD
A src/py3-minio/LICENSE.txt
A src/py3-mistletoe/APKBUILD
A src/py3-mistletoe/LICENSE.txt
A src/py3-orderedmultidict/APKBUILD
A src/py3-orderedmultidict/LICENSE.txt
A src/py3-pgpy/APKBUILD
A src/py3-pgpy/LICENSE.txt
A src/py3-pgpy/cryptography.patch
A src/py3-scmsrht/APKBUILD
A src/py3-scmsrht/LICENSE.txt
A src/py3-sqlalchemy-utils/APKBUILD
A src/py3-sqlalchemy-utils/LICENSE.txt
A src/py3-srht/APKBUILD
A src/py3-srht/LICENSE.txt
A src/py3-vine/APKBUILD
A src/py3-vine/LICENSE.txt
A src/py3-zxcvbn/APKBUILD
A src/py3-zxcvbn/LICENSE.txt
A src/todo.sr.ht/APKBUILD
A src/todo.sr.ht/LICENSE.txt
A src/todo.sr.ht/todo.sr.ht-api.confd
A src/todo.sr.ht/todo.sr.ht-api.initd
A src/todo.sr.ht/todo.sr.ht-lmtp.confd
A src/todo.sr.ht/todo.sr.ht-lmtp.initd
A src/todo.sr.ht/todo.sr.ht-webhooks.confd
A src/todo.sr.ht/todo.sr.ht-webhooks.initd
A src/todo.sr.ht/todo.sr.ht.confd
A src/todo.sr.ht/todo.sr.ht.gunicorn.conf.py
A src/todo.sr.ht/todo.sr.ht.initd
A src/todo.sr.ht/todo.sr.ht.post-install
A src/todo.sr.ht/todo.sr.ht.post-upgrade
A  => .gitignore +3 -0
@@ 1,3 @@
pkg
builder/abuild/*.rsa
builder/abuild/*.rsa.pub

A  => LICENSE.md +31 -0
@@ 1,31 @@
BSD 3-Clause License
====================

_Copyright (c) 2021, Dominic Ricottone_  
_All rights reserved._

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its
   contributors may be used to endorse or promote products derived from
   this software without specific prior written permission.

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 HOLDER 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.


A  => Makefile +27 -0
@@ 1,27 @@
REPO=/hdd/media/pkg/alpine/v3.17

ls:
	simple-builder -repository $(REPO)/x86_64
	simple-builder -repository $(REPO)/aarch64

clean:
	rm -rf pkg

pkg:
	mkdir -p pkg/src/x86_64
	rsync --recursive --update --times --verbose $(REPO)/x86_64 ./pkg/src/
	mkdir -p pkg/src/aarch64
	rsync --recursive --update --times --verbose $(REPO)/aarch64 ./pkg/src/

PWD=$(dir $(abspath $(lastword $(MAKEFILE_LIST))))
shell:
	docker run --rm --interactive --tty --entrypoint sh \
		--mount type=bind,src=$(PWD)src,dst=/home/builder/src \
		--mount type=bind,src=$(PWD)pkg,dst=/home/builder/packages/src \
		$(MOUNTS) apkbuilder

build: pkg
	simple-builder -repository $(REPO)/x86_64 -build
	simple-builder -repository $(REPO)/aarch64 -build

.PHONY: clean ls shell build

A  => README.md +43 -0
@@ 1,43 @@
# apkbuilds

## Workflow

Depends on my other projects.

```
docker login https://registry.intra.dominic-ricottone.com
docker pull registry.intra.dominic-ricottone.com/apkbuilder:latest
```

```
git clone https://git.dominic-ricottone.com/~dricottone/simple-builder
cd simple-builder
make
make install
```

Initialize a local copy of the repository with `make pkg`.

Delete any old packages that should no longer be served.
I recommend keeping 2 versions of any package, so that downgrades can be
executed if a runtime bug is discovered.

List packages that can be build with `make ls`.

Begin building packages with `make build`.
On success, built packages are automatically pushed to the repository.
Address failures as needed.


## License

I share the contents of this repository under the BSD 3 clause license, except
where alternate attribution and licensing is required.

Namely, the `APKBUILD`s for sr.ht software is highly derivative of Drew
DeVault.
The original license is reproduced in this repository, co-located with the
corresponding files.
The original license can also be viewed online at
https://git.sr.ht/~sircmpwn/sr.ht-apkbuilds/tree/master/item/LICENSE .


A  => src/builds.sr.ht/APKBUILD +99 -0
@@ 1,99 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=builds.sr.ht
pkgver=0.85.6
pkgrel=0
pkgdesc="sr.ht build service"
url="https://git.sr.ht/~sircmpwn/builds.sr.ht"
arch="all"
license="AGPLv3"
depends="
	py3-ansi2html
	py3-celery
	py3-gunicorn
	py3-lxml
	py3-redis
	py3-srht
	py3-yaml
"
makedepends="py-setuptools sassc go minify"
subpackages="
	$pkgname-images:_images
	$pkgname-worker:_worker
	$pkgname-openrc
	$pkgname-nginx:_nginx:noarch
"
source="
	$pkgname-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/$pkgname/archive/${pkgver}.tar.gz
	sr.ht-nginx-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/sr.ht-nginx/archive/master.tar.gz
	builds.sr.ht.confd
	builds.sr.ht.initd
	builds.sr.ht-api.confd
	builds.sr.ht-api.initd
	builds.sr.ht-worker.confd
	builds.sr.ht-worker.initd
	builds.sr.ht.gunicorn.conf.py
"
install="$pkgname.pre-install $pkgname.post-upgrade"
builddir="$srcdir/$pkgname-$pkgver"
export PKGVER=$pkgver
options="$options !check"

build() {
	python3 setup.py build
	pyver="$(python3 --version | cut -d. -f1-2 | cut -d' ' -f2-)"
	make SRHT_PATH=/usr/lib/python$pyver/site-packages/srht
}

package() {
	cd "$builddir"
	python3 setup.py install --root="$pkgdir" --optimize=1
	install -Dm755 api/api "$pkgdir"/usr/bin/buildssrht-api
	install -Dm755 "$srcdir"/builds.sr.ht.initd \
		"$pkgdir"/etc/init.d/builds.sr.ht
	install -Dm644 "$srcdir"/builds.sr.ht.confd \
		"$pkgdir"/etc/conf.d/builds.sr.ht
	install -Dm755 "$srcdir"/builds.sr.ht-api.initd \
		"$pkgdir"/etc/init.d/builds.sr.ht-api
	install -Dm644 "$srcdir"/builds.sr.ht-api.confd \
		"$pkgdir"/etc/conf.d/builds.sr.ht-api
	install -Dm644 "$srcdir"/builds.sr.ht.gunicorn.conf.py \
		"$pkgdir"/etc/sr.ht/builds.sr.ht.gunicorn.conf.py
}

_images() {
	depends="builds.sr.ht"
	pkgdesc="builds.sr.ht build images"
	cd "$builddir"
	mkdir -p "$subpkgdir"/var/lib/
	cp -R images "$subpkgdir"/var/lib/
}

_worker() {
	depends="builds.sr.ht-images"
	pkgdesc="builds.sr.ht build worker"
	cd "$builddir"
	install -Dm755 worker/worker "$subpkgdir"/usr/bin/builds.sr.ht-worker
	install -Dm755 "$srcdir"/builds.sr.ht-worker.initd \
		"$subpkgdir"/etc/init.d/builds.sr.ht-worker
	install -Dm644 "$srcdir"/builds.sr.ht-worker.confd \
		"$subpkgdir"/etc/conf.d/builds.sr.ht-worker
}

_nginx() {
	depends="sr.ht-nginx"
	pkgdesc="nginx configuration for $pkgname"
	install -Dm644 "$srcdir/sr.ht-nginx-master/builds.sr.ht.conf" \
		"$subpkgdir"/etc/nginx/http.d/builds.sr.ht.conf
}

sha512sums="
8c17db53a93e79551370c60379f70a72870b7edb34f93df971255d2f42f15dcf0e88cc42149fbbdaae6553987eaf3ada02f9608b9397e2d9afb5202badd66be8  builds.sr.ht-0.85.6.tar.gz
43f867c307a3c4104938522d71a6f128130af3c969598fe52ef9caf9b4788b34448aa6c25ba16403706d9ff83cf313d9b5170c74d30d011628121efdfa3bf626  sr.ht-nginx-0.85.6.tar.gz
d205043f3fe0dc022d25f8714ad5fb095a7dc92a10fe4eb4a1c6d6a500b54692773c1e314e9337a320f9b6043225a9a5a9e50d9a5dc30e7c80305b7ad538ea0f  builds.sr.ht.confd
ea8b25d92e53d62bff2466d048d9a34482d9d06a2d6bdb828ce9d036009cdb2ca7435c288f79b51860539399acdb3c27eda268e8ec7a7fcfa2969961959b2d0e  builds.sr.ht.initd
a507ea33f4e87d41d68b42f816914d357ff687e249e424f2278e3c44e980774080377ca5daa02212776095402ba7e271355d427750270005cf6f6db079040a08  builds.sr.ht-api.confd
e48c2c1ab073a2e8c900bea336004be6f792c5151dc3af4ea3625fd403959b6959d816acfbd8e3f0faae35ed10626c64616fad701bf5212b0c198b554483721d  builds.sr.ht-api.initd
5aa18804ddfee263763b035780679b98cf4877de193c254f24fab7ce56f304556af9a377bfca36635c21b4380892e8d458a420021919934080cc43feda1694c4  builds.sr.ht-worker.confd
074627ee36977e9ded111fa746afab36719065d3eb063b212fefd2371f59cb88a12067ca66951b014dab0d6668c682e3fbd18c7b3cf430e432490aca8e0f1ed4  builds.sr.ht-worker.initd
21f39ea0981d7773eb512e5ba234022364d0f7ee9b6ca897ce4c51e3b127eb2d9a7a5fbcaa06d14f20b2df2439421d7261f200e3f4f13b45a91e78ba77bc363c  builds.sr.ht.gunicorn.conf.py
"

A  => src/builds.sr.ht/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/builds.sr.ht/builds.sr.ht-api.confd +8 -0
@@ 1,8 @@
# Run the daemon as this user:
# BUILDS_USER=builds

# Bind the API service to this address:
# BUILDS_BIND=:5102

# Extra arguments to pass to Gunicorn
# BUILDS_ARGS=

A  => src/builds.sr.ht/builds.sr.ht-api.initd +26 -0
@@ 1,26 @@
#!/sbin/openrc-run
name="builds.sr.ht-api"
description="builds.sr.ht API service"
supervisor=supervise-daemon
BUILDS_USER=${BUILDS_USER:-builds}
BUILDS_BIND=${BUILDS_BIND:-:5102}
BUILDS_ARGS=${BUILDS_ARGS:-}
LOCAL_PG=${LOCAL_PG:-yes}
LOCAL_REDIS=${LOCAL_REDIS:-yes}
LOGS=/var/log/builds.sr.ht-api.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/buildssrht-api"
command_args="-b $BUILDS_BIND"
command_user="$BUILDS_USER:$BUILDS_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$BUILDS_USER:$BUILDS_USER"
}

A  => src/builds.sr.ht/builds.sr.ht-worker.confd +5 -0
@@ 1,5 @@
# Run the daemon as this user:
# BUILDS_USER=builds

# A common extra parameter might be EXTRA_ARGS=-workers [n] where n != nproc
# EXTRA_ARGS=

A  => src/builds.sr.ht/builds.sr.ht-worker.initd +24 -0
@@ 1,24 @@
#!/sbin/openrc-run
name="builds.sr.ht-worker"
description="builds.sr.ht build worker"
supervisor=supervise-daemon
EXTRA_ARGS=${EXTRA_ARGS:-}
BUILDS_USER=builds
LOGS=/var/log/builds.sr.ht-worker.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/builds.sr.ht-worker"
command_args="$EXTRA_ARGS"
command_user="$BUILDS_USER:$BUILDS_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$BUILDS_USER:$BUILDS_USER"
}


A  => src/builds.sr.ht/builds.sr.ht.confd +11 -0
@@ 1,11 @@
# Run the daemon as this user:
# BUILDS_USER=builds

# Bind the web service to this address:
# BUILDS_BIND=127.0.0.1:5002

# Gunicorn configuration file
# BUILDS_GUNICORN_CONF=/etc/sr.ht/builds.sr.ht.gunicorn.conf.py

# Extra arguments to pass to Gunicorn
# BUILDS_ARGS=

A  => src/builds.sr.ht/builds.sr.ht.gunicorn.conf.py +5 -0
@@ 1,5 @@
from prometheus_client import multiprocess


def child_exit(server, worker):
    multiprocess.mark_process_dead(worker.pid)

A  => src/builds.sr.ht/builds.sr.ht.initd +32 -0
@@ 1,32 @@
#!/sbin/openrc-run
name="builds.sr.ht"
description="builds.sr.ht service"
supervisor=supervise-daemon
BUILDS_USER=${BUILDS_USER:-builds}
BUILDS_BIND=${BUILDS_BIND:-127.0.0.1:5002}
BUILDS_GUNICORN_CONF=${BUILDS_GUNICORN_CONF:-/etc/sr.ht/builds.sr.ht.gunicorn.conf.py}
BUILDS_ARGS=${BUILDS_ARGS:-}
LOGS=/var/log/builds.sr.ht.log
prometheus_multiproc_dir=/run/builds.sr.ht
supervise_daemon_args="-1 $LOGS -2 $LOGS -e prometheus_multiproc_dir=$prometheus_multiproc_dir"
command="/usr/bin/gunicorn"
command_args="buildsrht.app:app -b $BUILDS_BIND -c $BUILDS_GUNICORN_CONF $BUILDS_ARGS"
command_user="$BUILDS_USER:$BUILDS_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$BUILDS_USER:$BUILDS_USER"
	# Workaround for https://github.com/OpenRC/openrc/issues/335
	if [ -n "$prometheus_multiproc_dir" ]
	then
		checkpath -d "$prometheus_multiproc_dir" -m 775 -o "$BUILDS_USER:$BUILDS_USER"
		rm -rf "$prometheus_multiproc_dir"/*
	fi
}

A  => src/builds.sr.ht/builds.sr.ht.post-upgrade +3 -0
@@ 1,3 @@
#!/bin/sh
srht-migrate builds.sr.ht -a upgrade head
buildsrht-migrate -a upgrade head

A  => src/builds.sr.ht/builds.sr.ht.pre-install +3 -0
@@ 1,3 @@
#!/bin/sh
addgroup -S builds || true
adduser -SDH -s /sbin/nologin -g builds builds || true

A  => src/git.sr.ht/APKBUILD +81 -0
@@ 1,81 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=git.sr.ht
pkgver=0.83.5
pkgrel=0
pkgdesc="sr.ht git service"
url="https://git.sr.ht/~sircmpwn/git.sr.ht"
arch="all"
license="AGPLv3"
depends="
	git
	py3-minio
	py3-pygit2
	py3-redis
	py3-scmsrht
"
makedepends="py-setuptools sassc go minify"
subpackages="$pkgname-openrc $pkgname-nginx:_nginx:noarch"
source="
	$pkgname-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/$pkgname/archive/$pkgver.tar.gz
	sr.ht-nginx-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/sr.ht-nginx/archive/master.tar.gz
	git.sr.ht.initd
	git.sr.ht.confd
	git.sr.ht-api.initd
	git.sr.ht-api.confd
	git.sr.ht-webhooks.initd
	git.sr.ht-webhooks.confd
	git.sr.ht.gunicorn.conf.py
"
export PKGVER=$pkgver
options="$options !check"
install="$pkgname.post-install $pkgname.post-upgrade"

build() {
	python3 setup.py build
	pyver="$(python3 --version | cut -d. -f1-2 | cut -d' ' -f2-)"
	make SRHT_PATH=/usr/lib/python$pyver/site-packages/srht
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
	mkdir -p "$pkgdir"/etc/init.d
	install -Dm755 "$srcdir"/git.sr.ht.initd \
		"$pkgdir"/etc/init.d/git.sr.ht
	install -Dm644 "$srcdir"/git.sr.ht.confd \
		"$pkgdir"/etc/conf.d/git.sr.ht
	install -Dm755 "$srcdir"/git.sr.ht-api.initd \
		"$pkgdir"/etc/init.d/git.sr.ht-api
	install -Dm644 "$srcdir"/git.sr.ht-api.confd \
		"$pkgdir"/etc/conf.d/git.sr.ht-api
	install -Dm755 "$srcdir"/git.sr.ht-webhooks.initd \
		"$pkgdir"/etc/init.d/git.sr.ht-webhooks
	install -Dm644 "$srcdir"/git.sr.ht-webhooks.confd \
		"$pkgdir"/etc/conf.d/git.sr.ht-webhooks
	install -Dm644 "$srcdir"/git.sr.ht.gunicorn.conf.py \
		"$pkgdir"/etc/sr.ht/git.sr.ht.gunicorn.conf.py

	install -Dm755 gitsrht-dispatch/gitsrht-dispatch "$pkgdir"/usr/bin/gitsrht-dispatch
	install -Dm755 gitsrht-shell/gitsrht-shell "$pkgdir"/usr/bin/gitsrht-shell
	install -Dm755 gitsrht-keys/gitsrht-keys "$pkgdir"/usr/bin/gitsrht-keys
	install -Dm755 gitsrht-update-hook/gitsrht-update-hook "$pkgdir"/usr/bin/gitsrht-update-hook
	install -Dm755 api/api "$pkgdir"/usr/bin/gitsrht-api
}

_nginx() {
	depends="sr.ht-nginx"
	pkgdesc="nginx configuration for $pkgname"
	install -Dm644 "$srcdir/sr.ht-nginx-master/git.sr.ht.conf" \
		"$subpkgdir"/etc/nginx/http.d/git.sr.ht.conf
}

sha512sums="
898ef22c923b08114820aad9211ee6370d413c484578ec42901fdeca42dea2d61c4a77455f33fb8ae46ee31348d341e84d9e2f4c9a4f2fc5c583bba6b154a0c9  git.sr.ht-0.83.5.tar.gz
43f867c307a3c4104938522d71a6f128130af3c969598fe52ef9caf9b4788b34448aa6c25ba16403706d9ff83cf313d9b5170c74d30d011628121efdfa3bf626  sr.ht-nginx-0.83.5.tar.gz
bab6312b5a6d1bd9808cb6eae2b33f1fc4f544ac286ce9a67f4c07fc8d4679dc81d93f3d1ec7f8adad3dedead9203b5d10ab63aff478fb11780790e7a01a232a  git.sr.ht.initd
7462f15928aa24b10e63041b0021aa5a69fa92d071f497d6b1dc353dac3bff30818cb560c6011effbd619d450e8b8c6f8f3ab07a1df9714ea79b00e4d12dcf44  git.sr.ht.confd
370a9f710704d7dfe88632f0ae2b7d2b406621322cab1f87f4f4c3984c741fba616f9c2a806d83e79250dc58aba89161a2db8ca424794dbd2cacbffb6e1a9adb  git.sr.ht-api.initd
938a8aefdea3e4c6a9b15ac1c10d789282443c5b6cd1fee662d86af261cf69d8b67435f3bcececcd64544bd147addbd2792fcdbf67b9a36975e0e5e00f337719  git.sr.ht-api.confd
4038c7375d50ab393d076d31d776e82a2fcd54d6edcd55eb864fcc8d7254646799b4ee05a2e1f75f3a79e660e802a0fa05d9e34c16870aebe33dbf8191ed386a  git.sr.ht-webhooks.initd
acd385323da772e1163b690eafca3b3a59e13bf236bb279c08a383a9ab2b356b4f1b7dce18f235882ba79c8ac35a6fa7594aad260962b38f7df70886e4fcace5  git.sr.ht-webhooks.confd
21f39ea0981d7773eb512e5ba234022364d0f7ee9b6ca897ce4c51e3b127eb2d9a7a5fbcaa06d14f20b2df2439421d7261f200e3f4f13b45a91e78ba77bc363c  git.sr.ht.gunicorn.conf.py
"

A  => src/git.sr.ht/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/git.sr.ht/git.sr.ht-api.confd +8 -0
@@ 1,8 @@
# Run the daemon as this user:
# GIT_USER=git

# Bind the API service to this address:
# GIT_BIND=:5101

# Extra arguments to pass to Gunicorn
# GIT_ARGS=

A  => src/git.sr.ht/git.sr.ht-api.initd +24 -0
@@ 1,24 @@
#!/sbin/openrc-run
name="git.sr.ht-api"
description="git.sr.ht API service"
supervisor=supervise-daemon
GIT_USER=${GIT_USER:-git}
GIT_BIND=${GIT_BIND:-:5101}
GIT_ARGS=${GIT_ARGS:-}
LOGS=/var/log/git.sr.ht-api.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/gitsrht-api"
command_args="-b $GIT_BIND"
command_user="$GIT_USER:$GIT_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$GIT_USER:$GIT_USER"
}

A  => src/git.sr.ht/git.sr.ht-webhooks.confd +5 -0
@@ 1,5 @@
# Run the daemon as this user:
# GIT_USER=git

# Extra arguments to pass to celery
# GIT_ARGS=

A  => src/git.sr.ht/git.sr.ht-webhooks.initd +23 -0
@@ 1,23 @@
#!/sbin/openrc-run
name="git.sr.ht-webhooks"
description="git.sr.ht webhook delivery service"
supervisor=supervise-daemon
GIT_USER=${GIT_USER:-git}
GIT_ARGS=${GIT_ARGS:-}
LOGS=/var/log/git.sr.ht-webhooks.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/celery"
command_args="-A gitsrht.webhooks worker --loglevel=info $GIT_ARGS"
command_user="$GIT_USER:$GIT_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$GIT_USER:$GIT_USER"
}

A  => src/git.sr.ht/git.sr.ht.confd +11 -0
@@ 1,11 @@
# Run the daemon as this user:
# GIT_USER=git

# Bind the web service to this address:
# GIT_BIND=127.0.0.1:5001

# Gunicorn configuration file
# GIT_GUNICORN_CONF=/etc/sr.ht/git.sr.ht.gunicorn.conf.py

# Extra arguments to pass to Gunicorn
# GIT_ARGS=

A  => src/git.sr.ht/git.sr.ht.gunicorn.conf.py +5 -0
@@ 1,5 @@
from prometheus_client import multiprocess


def child_exit(server, worker):
    multiprocess.mark_process_dead(worker.pid)

A  => src/git.sr.ht/git.sr.ht.initd +32 -0
@@ 1,32 @@
#!/sbin/openrc-run
name="git.sr.ht"
description="git.sr.ht service"
supervisor=supervise-daemon
GIT_USER=${GIT_USER:-git}
GIT_BIND=${GIT_BIND:-127.0.0.1:5001}
GIT_GUNICORN_CONF=${GIT_GUNICORN_CONF:-/etc/sr.ht/git.sr.ht.gunicorn.conf.py}
GIT_ARGS=${GIT_ARGS:-}
LOGS=/var/log/git.sr.ht.log
prometheus_multiproc_dir=/run/git.sr.ht
supervise_daemon_args="-1 $LOGS -2 $LOGS -e prometheus_multiproc_dir=$prometheus_multiproc_dir"
command="/usr/bin/gunicorn"
command_args="gitsrht.app:app -b $GIT_BIND  -c $GIT_GUNICORN_CONF $GIT_ARGS"
command_user="$GIT_USER:$GIT_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$GIT_USER:$GIT_USER"
	# Workaround for https://github.com/OpenRC/openrc/issues/335
	if [ -n "$prometheus_multiproc_dir" ]
	then
		checkpath -d "$prometheus_multiproc_dir" -m 775 -o "$GIT_USER:$GIT_USER"
		rm -rf "$prometheus_multiproc_dir"/*
	fi
}

A  => src/git.sr.ht/git.sr.ht.post-install +3 -0
@@ 1,3 @@
#!/bin/sh
addgroup -S git || true
adduser -SD -h /var/lib/git -s /bin/sh -G git -g git git || true

A  => src/git.sr.ht/git.sr.ht.post-upgrade +3 -0
@@ 1,3 @@
#!/bin/sh
srht-migrate git.sr.ht -a upgrade head
gitsrht-migrate -a upgrade head

A  => src/lists.sr.ht/APKBUILD +94 -0
@@ 1,94 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=lists.sr.ht
pkgver=0.57.4
pkgrel=0
pkgdesc="sr.ht mailing list service"
url="https://git.sr.ht/~sircmpwn/lists.sr.ht"
arch="all"
license="AGPLv3"
depends="
	py3-pygit2
	py3-srht
	py3-celery
	py3-aiosmtpd
	py3-asyncpg
	py3-redis
	py3-gunicorn
"
makedepends="py-setuptools sassc go minify"
subpackages="$pkgname-openrc $pkgname-nginx:_nginx"
source="
	$pkgname-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/$pkgname/archive/$pkgver.tar.gz
	sr.ht-nginx-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/sr.ht-nginx/archive/master.tar.gz
	lists.sr.ht.initd
	lists.sr.ht.confd
	lists.sr.ht-api.initd
	lists.sr.ht-api.confd
	lists.sr.ht-process.initd
	lists.sr.ht-process.confd
	lists.sr.ht-lmtp.initd
	lists.sr.ht-lmtp.confd
	lists.sr.ht-webhooks.initd
	lists.sr.ht-webhooks.confd
	lists.sr.ht.gunicorn.conf.py
"
export PKGVER=$pkgver
options="$options !check"
install="$pkgname.post-install $pkgname.post-upgrade"

build() {
	python3 setup.py build
	pyver="$(python3 --version | cut -d. -f1-2 | cut -d' ' -f2-)"
	make SRHT_PATH=/usr/lib/python$pyver/site-packages/srht
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
	install -Dm755 api/api "$pkgdir"/usr/bin/listssrht-api
	mkdir -p "$pkgdir"/etc/init.d
	install -Dm755 "$srcdir"/lists.sr.ht.initd \
		"$pkgdir"/etc/init.d/lists.sr.ht
	install -Dm644 "$srcdir"/lists.sr.ht.confd \
		"$pkgdir"/etc/conf.d/lists.sr.ht
	install -Dm755 "$srcdir"/lists.sr.ht-api.initd \
		"$pkgdir"/etc/init.d/lists.sr.ht-api
	install -Dm644 "$srcdir"/lists.sr.ht-api.confd \
		"$pkgdir"/etc/conf.d/lists.sr.ht-api
	install -Dm755 "$srcdir"/lists.sr.ht-lmtp.initd \
		"$pkgdir"/etc/init.d/lists.sr.ht-lmtp
	install -Dm644 "$srcdir"/lists.sr.ht-lmtp.confd \
		"$pkgdir"/etc/conf.d/lists.sr.ht-lmtp
	install -Dm755 "$srcdir"/lists.sr.ht-process.initd \
		"$pkgdir"/etc/init.d/lists.sr.ht-process
	install -Dm644 "$srcdir"/lists.sr.ht-process.confd \
		"$pkgdir"/etc/conf.d/lists.sr.ht-process
	install -Dm755 "$srcdir"/lists.sr.ht-webhooks.initd \
		"$pkgdir"/etc/init.d/lists.sr.ht-webhooks
	install -Dm644 "$srcdir"/lists.sr.ht-webhooks.confd \
		"$pkgdir"/etc/conf.d/lists.sr.ht-webhooks
	install -Dm644 "$srcdir"/lists.sr.ht.gunicorn.conf.py \
		"$pkgdir"/etc/sr.ht/lists.sr.ht.gunicorn.conf.py
}

_nginx() {
	depends="sr.ht-nginx"
	pkgdesc="nginx configuration for $pkgname"
	install -Dm644 "$srcdir/sr.ht-nginx-master/lists.sr.ht.conf" \
		"$subpkgdir"/etc/nginx/http.d/lists.sr.ht.conf
}

sha512sums="
02244a3d1f1a90f2ee16a8c2a9108eb8bae0aaa888de3bdfc3ebf860827679d853b6c424ae1edf2aa875a42f5884402790b8183b0bbc514b3d433f21386343d4  lists.sr.ht-0.57.4.tar.gz
43f867c307a3c4104938522d71a6f128130af3c969598fe52ef9caf9b4788b34448aa6c25ba16403706d9ff83cf313d9b5170c74d30d011628121efdfa3bf626  sr.ht-nginx-0.57.4.tar.gz
bc34e789d752eb35f534511eef7ee70f257db0fee9db2cc5829adf48dfd7b20a2e259d01ab0ca914e64768c5e99cdfca995bf49e9d879fb6aff4cef5bdecc631  lists.sr.ht.initd
0fdee2ea046f0f90ff56be74d3ad036c855103e76a4ca47b418f66f54c581a4e5d5674499fa68bcb4ca4dee1a35e9fffab0dfe45b66d071b841ffc113cdf9d79  lists.sr.ht.confd
2460050d9d6e6d2ebf623c2734a31fd2d1aeaaf8161a6a2d5fdc701b3d38f8844951f2361745aad175ce0edd3b92a0bfe326beb04a239f59fb902a000f32d6f9  lists.sr.ht-api.initd
ddd380a46dbf7f6c1fd883f2b1f80e984ba7e11bf71a53e60152549737b3253e9e7010ccdeae66811f3b2f6a8bafe241f57fc36a12b9f80379900355bb68c8ef  lists.sr.ht-api.confd
b70ef07ee3247b33167111e301804d69416e8ebe020ea28587a4fd7d8fa0a81c7228309a5aa344d83f32578a7a66466f9484eac5332cfe264a538178645fd202  lists.sr.ht-process.initd
66d114850cc9002a2491458fb91947da35010e521f28a89828b0fd5ef76463a8298bd4f921f22a67c70cfc85cdf13a62a8eee71925eb6e531d81e36ff1e78982  lists.sr.ht-process.confd
4527cf69c943fcdf4ca8b9a02e3916fcadd03781995b34123b8b2a953e7962fd62f51cee5b22cb35ee702be8599015ae59dbd49583e7451a84bb1cc68f557c86  lists.sr.ht-lmtp.initd
47e703f2820bc6161909eb5434cba80b4c801fd4f18ee2b984afb217bbe43f21391ff86a8855d470b122131db1f2714a7c8c5aa58a6666123a8520327bdc0b11  lists.sr.ht-lmtp.confd
5f06d373d62096eea3c1bc6cabc220151f23705cd544be4b73d3ef488a4cffebfa5bd72455af7a1fc3b10fe08a894737fe627a1e2e2395a22d4bd08bd3042586  lists.sr.ht-webhooks.initd
66d114850cc9002a2491458fb91947da35010e521f28a89828b0fd5ef76463a8298bd4f921f22a67c70cfc85cdf13a62a8eee71925eb6e531d81e36ff1e78982  lists.sr.ht-webhooks.confd
21f39ea0981d7773eb512e5ba234022364d0f7ee9b6ca897ce4c51e3b127eb2d9a7a5fbcaa06d14f20b2df2439421d7261f200e3f4f13b45a91e78ba77bc363c  lists.sr.ht.gunicorn.conf.py
"

A  => src/lists.sr.ht/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/lists.sr.ht/lists.sr.ht-api.confd +8 -0
@@ 1,8 @@
# Run the daemon as this user:
# LISTS_USER=lists

# Bind the API service to this address:
# LISTS_BIND=:5106

# Extra arguments to pass to Gunicorn
# LISTS_ARGS=

A  => src/lists.sr.ht/lists.sr.ht-api.initd +24 -0
@@ 1,24 @@
#!/sbin/openrc-run
name="lists.sr.ht-api"
description="lists.sr.ht API service"
supervisor=supervise-daemon
LISTS_USER=${LISTS_USER:-lists}
LISTS_BIND=${LISTS_BIND:-:5106}
LISTS_ARGS=${LISTS_ARGS:-}
LOGS=/var/log/lists.sr.ht-api.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/listssrht-api"
command_args="-b $LISTS_BIND"
command_user="$LISTS_USER:$LISTS_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$LISTS_USER:$LISTS_USER"
}

A  => src/lists.sr.ht/lists.sr.ht-lmtp.confd +2 -0
@@ 1,2 @@
# Run the daemon as this user:
# LISTS_USER=lists

A  => src/lists.sr.ht/lists.sr.ht-lmtp.initd +21 -0
@@ 1,21 @@
#!/sbin/openrc-run
name="lists.sr.ht-lmtp"
description="lists.sr.ht mail ingress service"
supervisor=supervise-daemon
LISTS_USER=${LISTS_USER:-lists}
LOGS=/var/log/lists.sr.ht-lmtp.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/listssrht-lmtp"
command_user="$LISTS_USER:$LISTS_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$LISTS_USER:$LISTS_USER"
}

A  => src/lists.sr.ht/lists.sr.ht-process.confd +5 -0
@@ 1,5 @@
# Run the daemon as this user:
# LISTS_USER=lists

# Extra arguments to pass to celery
# LISTS_ARGS=

A  => src/lists.sr.ht/lists.sr.ht-process.initd +23 -0
@@ 1,23 @@
#!/sbin/openrc-run
name="lists.sr.ht-process"
description="lists.sr.ht mail processing service"
supervisor=supervise-daemon
LISTS_USER=${LISTS_USER:-lists}
LISTS_ARGS=${LISTS_ARGS:-}
LOGS=/var/log/lists.sr.ht-process.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/celery"
command_args="-A listssrht.process worker --loglevel=info $LISTS_ARGS"
command_user="$LISTS_USER:$LISTS_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$LISTS_USER:$LISTS_USER"
}

A  => src/lists.sr.ht/lists.sr.ht-webhooks.confd +5 -0
@@ 1,5 @@
# Run the daemon as this user:
# LISTS_USER=lists

# Extra arguments to pass to celery
# LISTS_ARGS=

A  => src/lists.sr.ht/lists.sr.ht-webhooks.initd +23 -0
@@ 1,23 @@
#!/sbin/openrc-run
name="lists.sr.ht-webhooks"
description="lists.sr.ht webhook delivery service"
supervisor=supervise-daemon
LISTS_USER=${LISTS_USER:-lists}
LISTS_ARGS=${LISTS_ARGS:-}
LOGS=/var/log/lists.sr.ht-webhooks.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/celery"
command_args="-A listssrht.webhooks worker --loglevel=info $LISTS_ARGS"
command_user="$LISTS_USER:$LISTS_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$LISTS_USER:$LISTS_USER"
}

A  => src/lists.sr.ht/lists.sr.ht.confd +11 -0
@@ 1,11 @@
# Run the daemon as this user:
# LISTS_USER=lists

# Bind the web service to this address:
# LISTS_BIND=127.0.0.1:5006

# Gunicorn configuration file
# LISTS_GUNICORN_CONF=/etc/sr.ht/lists.sr.ht.gunicorn.conf.py

# Extra arguments to pass to Gunicorn
# LISTS_ARGS=

A  => src/lists.sr.ht/lists.sr.ht.gunicorn.conf.py +5 -0
@@ 1,5 @@
from prometheus_client import multiprocess


def child_exit(server, worker):
    multiprocess.mark_process_dead(worker.pid)

A  => src/lists.sr.ht/lists.sr.ht.initd +32 -0
@@ 1,32 @@
#!/sbin/openrc-run
name="lists.sr.ht"
description="lists.sr.ht service"
supervisor=supervise-daemon
LISTS_USER=${LISTS_USER:-lists}
LISTS_BIND=${LISTS_BIND:-127.0.0.1:5006}
LISTS_GUNICORN_CONF=${LISTS_GUNICORN_CONF:-/etc/sr.ht/lists.sr.ht.gunicorn.conf.py}
LISTS_ARGS=${LISTS_ARGS:-}
LOGS=/var/log/lists.sr.ht.log
prometheus_multiproc_dir=/run/lists.sr.ht
supervise_daemon_args="-1 $LOGS -2 $LOGS -e prometheus_multiproc_dir=$prometheus_multiproc_dir"
command="/usr/bin/gunicorn"
command_args="listssrht.app:app -b $LISTS_BIND -c $LISTS_GUNICORN_CONF $LISTS_ARGS"
command_user="$LISTS_USER:$LISTS_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$LISTS_USER:$LISTS_USER"
	# Workaround for https://github.com/OpenRC/openrc/issues/335
	if [ -n "$prometheus_multiproc_dir" ]
	then
		checkpath -d "$prometheus_multiproc_dir" -m 775 -o "$LISTS_USER:$LISTS_USER"
		rm -rf "$prometheus_multiproc_dir"/*
	fi
}

A  => src/lists.sr.ht/lists.sr.ht.post-install +3 -0
@@ 1,3 @@
#!/bin/sh
addgroup -S lists || true
adduser -SDH -s /sbin/nologin -G lists -g lists lists || true

A  => src/lists.sr.ht/lists.sr.ht.post-upgrade +3 -0
@@ 1,3 @@
#!/bin/sh
srht-migrate lists.sr.ht -a upgrade head
listssrht-migrate -a upgrade head

A  => src/meta.sr.ht/APKBUILD +85 -0
@@ 1,85 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=meta.sr.ht
pkgver=0.64.7
pkgrel=0
pkgdesc="sr.ht account service"
url="https://git.sr.ht/~sircmpwn/meta.sr.ht"
arch="all"
license="AGPLv3"
depends="
	py3-bcrypt
	py3-dnspython
	py3-gunicorn
	py3-qrcode
	py3-redis
	py3-srht
	py3-zxcvbn
	redis
"
makedepends="py-setuptools sassc go minify"
subpackages="$pkgname-openrc $pkgname-billing:_billing:noarch $pkgname-nginx:_nginx:noarch"
# XXX: Is this sr.ht-nginx URL acceptable? I'm not sure how to version it
source="
	$pkgname-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/$pkgname/archive/$pkgver.tar.gz
	sr.ht-nginx-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/sr.ht-nginx/archive/master.tar.gz
	meta.sr.ht.initd
	meta.sr.ht.confd
	meta.sr.ht-api.initd
	meta.sr.ht-api.confd
	meta.sr.ht-webhooks.initd
	meta.sr.ht-webhooks.confd
	meta.sr.ht.gunicorn.conf.py
"
builddir="$srcdir/$pkgname-$pkgver"
export PKGVER=$pkgver
options="$options !check"
install="$pkgname.post-install $pkgname.post-upgrade"

build() {
	python3 setup.py build
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
	install -Dm755 "$srcdir"/meta.sr.ht.initd \
		"$pkgdir"/etc/init.d/meta.sr.ht
	install -Dm644 "$srcdir"/meta.sr.ht.confd \
		"$pkgdir"/etc/conf.d/meta.sr.ht
	install -Dm755 "$srcdir"/meta.sr.ht-api.initd \
		"$pkgdir"/etc/init.d/meta.sr.ht-api
	install -Dm644 "$srcdir"/meta.sr.ht-api.confd \
		"$pkgdir"/etc/conf.d/meta.sr.ht-api
	install -Dm755 "$srcdir"/meta.sr.ht-webhooks.initd \
		"$pkgdir"/etc/init.d/meta.sr.ht-webhooks
	install -Dm644 "$srcdir"/meta.sr.ht-webhooks.confd \
		"$pkgdir"/etc/conf.d/meta.sr.ht-webhooks
	install -Dm644 "$srcdir"/meta.sr.ht.gunicorn.conf.py \
		"$pkgdir"/etc/sr.ht/meta.sr.ht.gunicorn.conf.py
	install -Dm755 api/api "$pkgdir"/usr/bin/metasrht-api
}

_billing() {
	depends="py3-stripe"
	pkgdesc="Extra meta.sr.ht dependencies for billing"
	mkdir -p "$subpkgdir"/usr/lib/python3.8/site-packages/metasrht
	touch "$subpkgdir"/usr/lib/python3.8/site-packages/metasrht/.billing
}

_nginx() {
	depends="sr.ht-nginx"
	pkgdesc="nginx configuration for $pkgname"
	install -Dm644 "$srcdir/sr.ht-nginx-master/meta.sr.ht.conf" \
		"$subpkgdir"/etc/nginx/http.d/meta.sr.ht.conf
}

sha512sums="
efbd7bc658d4cb3da980858dcaed4817329384a23c6d5f929cf1425a3af3199a710344e749e51a6e9108b3bdeb236deda01944d61981ff5b4f8ce39a8347bed0  meta.sr.ht-0.64.7.tar.gz
43f867c307a3c4104938522d71a6f128130af3c969598fe52ef9caf9b4788b34448aa6c25ba16403706d9ff83cf313d9b5170c74d30d011628121efdfa3bf626  sr.ht-nginx-0.64.7.tar.gz
f84bb7c0532a27b1a2425726a79b329d4782eb459571c289d793beabfe9334ffbca53bcb19a699e1f0a7d696fe57cf8c0692f72576351d9cf4b9f8f325222eaf  meta.sr.ht.initd
fbff1755c572da66c351004690530d875c882a65576cc641399e07dfb39e818105be1370f6ba28c6e2774e3868fe3aa3aa17dec51d14547c8db7f1aa685b0ac8  meta.sr.ht.confd
8377026251395fa74980a6733a6715c5dcfa6b893ad846d556479d3170605ba7cbe5dcc1c482f90a20e0b6332732cba9480d198dfcc9d73d2d6e338e5276bc65  meta.sr.ht-api.initd
36550c28b15fbdf32051591a9231035852916ae701521afa00b7da5959ec08c6eca74714ecea3b8d5f35d41c388aadd61ddfeee9a270cefdadf9be32b0ced145  meta.sr.ht-api.confd
26db23b2302c5a3a3dcb6068f0bc57d932a24ff8bcf288b8d8e1ca2385ee05603eded26e19b73c40adc96b8a0d2fad64c4f28526d69bcbc61981df8acc3efb11  meta.sr.ht-webhooks.initd
0091092a0f0f77158c571e0731470239034cd1480657755ca0537ab4d00002d60b444bcd7df12bfc86b4ca79f5cfed51722079a46a44abc8bf2ba6a7e1111a7c  meta.sr.ht-webhooks.confd
21f39ea0981d7773eb512e5ba234022364d0f7ee9b6ca897ce4c51e3b127eb2d9a7a5fbcaa06d14f20b2df2439421d7261f200e3f4f13b45a91e78ba77bc363c  meta.sr.ht.gunicorn.conf.py
"

A  => src/meta.sr.ht/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/meta.sr.ht/meta.sr.ht-api.confd +8 -0
@@ 1,8 @@
# Run the daemon as this user:
# META_USER=meta

# Bind the API service to this address:
# META_BIND=:5100

# Extra arguments to pass to Gunicorn
# META_ARGS=

A  => src/meta.sr.ht/meta.sr.ht-api.initd +26 -0
@@ 1,26 @@
#!/sbin/openrc-run
name="meta.sr.ht-api"
description="meta.sr.ht API service"
supervisor=supervise-daemon
META_USER=${META_USER:-meta}
META_BIND=${META_BIND:-:5100}
META_ARGS=${META_ARGS:-}
LOCAL_PG=${LOCAL_PG:-yes}
LOCAL_REDIS=${LOCAL_REDIS:-yes}
LOGS=/var/log/meta.sr.ht-api.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/metasrht-api"
command_args="-b $META_BIND"
command_user="$META_USER:$META_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$META_USER:$META_USER"
}

A  => src/meta.sr.ht/meta.sr.ht-webhooks.confd +5 -0
@@ 1,5 @@
# Run the daemon as this user:
# META_USER=meta

# Extra arguments to pass to Gunicorn
# META_ARGS=

A  => src/meta.sr.ht/meta.sr.ht-webhooks.initd +23 -0
@@ 1,23 @@
#!/sbin/openrc-run
name="meta.sr.ht-webhooks"
description="meta.sr.ht webhook delivery service"
supervisor=supervise-daemon
META_USER=${META_USER:-meta}
LOCAL_PG=${LOCAL_PG:-yes}
META_ARGS=${META_ARGS:-}
LOGS=/var/log/meta.sr.ht-webhooks.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/celery"
command_args="-A metasrht.webhooks worker --loglevel=info $META_ARGS"
command_user="$META_USER:$META_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$META_USER:$META_USER"
}

A  => src/meta.sr.ht/meta.sr.ht.confd +11 -0
@@ 1,11 @@
# Run the daemon as this user:
# META_USER=meta

# Bind the web service to this address:
# META_BIND=127.0.0.1:5000

# Gunicorn configuration file
# META_GUNICORN_CONF=/etc/sr.ht/meta.sr.ht.gunicorn.conf.py

# Extra arguments to pass to Gunicorn
# META_ARGS=

A  => src/meta.sr.ht/meta.sr.ht.gunicorn.conf.py +5 -0
@@ 1,5 @@
from prometheus_client import multiprocess


def child_exit(server, worker):
    multiprocess.mark_process_dead(worker.pid)

A  => src/meta.sr.ht/meta.sr.ht.initd +32 -0
@@ 1,32 @@
#!/sbin/openrc-run
name="meta.sr.ht"
description="meta.sr.ht service"
supervisor=supervise-daemon
META_USER=${META_USER:-meta}
META_BIND=${META_BIND:-127.0.0.1:5000}
META_GUNICORN_CONF=${META_GUNICORN_CONF:-/etc/sr.ht/meta.sr.ht.gunicorn.conf.py}
META_ARGS=${META_ARGS:-}
LOGS=/var/log/meta.sr.ht.log
prometheus_multiproc_dir=/run/meta.sr.ht
supervise_daemon_args="-1 $LOGS -2 $LOGS -e prometheus_multiproc_dir=$prometheus_multiproc_dir"
command="/usr/bin/gunicorn"
command_args="metasrht.app:app -b $META_BIND -c $META_GUNICORN_CONF $META_ARGS"
command_user="$META_USER:$META_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$META_USER:$META_USER"
	# Workaround for https://github.com/OpenRC/openrc/issues/335
	if [ -n "$prometheus_multiproc_dir" ]
	then
		checkpath -d "$prometheus_multiproc_dir" -m 775 -o "$META_USER:$META_USER"
		rm -rf "$prometheus_multiproc_dir"/*
	fi
}

A  => src/meta.sr.ht/meta.sr.ht.post-install +3 -0
@@ 1,3 @@
#!/bin/sh
addgroup -S meta || true
adduser -SDH -s /sbin/nologin -G meta -g meta meta || true

A  => src/meta.sr.ht/meta.sr.ht.post-upgrade +3 -0
@@ 1,3 @@
#!/bin/sh
srht-migrate meta.sr.ht -a upgrade head
metasrht-migrate -a upgrade head

A  => src/py3-aiosmtpd/APKBUILD +34 -0
@@ 1,34 @@
# Contributor: Drew DeVault <sir@cmpwn.com>
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-aiosmtpd
_pyname=aiosmtpd
pkgver=1.4.2
pkgrel=1
pkgdesc="A reimplementation of the Python stdlib smtpd.py based on asyncio"
url="https://github.com/aio-libs/aiosmtpd"
arch="noarch"
license="Apache-2.0"
depends="py3-atpublic"
makedepends="python3-dev py3-setuptools"
checkdepends="py3-pytest py3-pytest-mock py3-pluggy"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
replaces="py-aiosmtpd"
builddir="$srcdir"/$_pyname-$pkgver
options="!check" # https://gitlab.alpinelinux.org/alpine/aports/-/issues/12503

build() {
	python3 setup.py build
}

check() {
	pytest-3
}

package() {
	python3 setup.py install --prefix=/usr --root="$pkgdir"
}

sha512sums="
b910ae4c00b52f59b9f2199b296a1b76caa7567cbcd2e27c73d4ec894e9b48cd8190090083ce33b87dc924c4394a6425506355951208af65b89a6c1abe371114  aiosmtpd-1.4.2.tar.gz
"

A  => src/py3-aiosmtpd/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-amqp/APKBUILD +30 -0
@@ 1,30 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-amqp
_pyname=amqp
pkgver=5.1.1
pkgrel=0
pkgdesc="Low-level AMQP client for Python"
url="https://github.com/celery/py-amqp"
arch="noarch"
license="LGPL"
depends="python3 py3-vine"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
f549a85e4f04543dd8e844edb68350ca185de9259aa896af31ae5ee5dfdfe73f904d95821c403dc797c7f3ada17ce6bff4e0fd9fcdf2abc1b33a94d079f99179  amqp-5.1.1.tar.gz
"

A  => src/py3-amqp/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-ansi2html/APKBUILD +40 -0
@@ 1,40 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-ansi2html
_pyname=ansi2html
pkgver=1.8.0
pkgrel=0
pkgdesc="Convert text with ANSI color codes to HTML"
url="http://github.com/ralphbean/ansi2html/"
arch="noarch"
license="LGPL-3.0-or-later"
depends="py3-six"
makedepends="py3-setuptools_scm py3-wheel py3-installer py3-build"
checkdepends="py3-pytest py3-mock py3-nose"
replaces="py-ansi2html py2-ansi2html"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir"/$_pyname-$pkgver
options="!check" # Upstream tests are stupid

prepare() {
	sed -i pyproject.toml -e 's/.*setuptools_scm_git_archive.*//g'
}

build() {
	export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
	python3 -m build --no-isolation --wheel .
}

check() {
	PYTHONPATH="$(pwd)" pytest-3
}

package() {
	python3 -m installer --destdir="$pkgdir" \
		dist/ansi2html-$pkgver-py3-none-any.whl
}

sha512sums="
cbdda41f206ced5b19761a1ff9747acc6cadca3a5a2f58c97c6073db7d517e59fea7601bba28a8e7e105f3c0c9c4d78ca4f242100cbded6c8a9ca2d598de0ab4  ansi2html-1.8.0.tar.gz
"

A  => src/py3-ansi2html/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-asyncpg/APKBUILD +32 -0
@@ 1,32 @@
# Contributor: Drew DeVault <sir@cmpwn.com>
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-asyncpg
_pyname=asyncpg
pkgver=0.27.0
pkgrel=0
pkgdesc="An asyncio PostgreSQL driver"
url="https://github.com/MagicStack/asyncpg"
arch="all"
license="Apache-2.0"
makedepends="python3-dev py3-setuptools cython"
checkdepends="postgresql postgresql-contrib postgresql-dev"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
replaces="py-asyncpg"
builddir="$srcdir"/$_pyname-$pkgver

build() {
	python3 setup.py build
}

check() {
	python3 setup.py test
}

package() {
	python3 setup.py install --prefix=/usr --root="$pkgdir"
}

sha512sums="
66d4e16cba8ebebfa0403c7d3b1d3ee1b9b8f55a9b70f57e809d28161873d74750152e6ed548b17ceb97ca84f7a669a5fa503c824a861b295db731f86bfb0137  asyncpg-0.27.0.tar.gz
"

A  => src/py3-asyncpg/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-atpublic/APKBUILD +43 -0
@@ 1,43 @@
# Contributor: Drew DeVault <sir@cmpwn.com>
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-atpublic
_pyname=atpublic
pkgver=3.1.1
pkgrel=0
pkgdesc="@public for populating __all__"
url="https://gitlab.com/warsaw/public"
arch="noarch"
license="Apache-2.0"
makedepends="python3-dev py3-setuptools py3-build py3-installer py3-wheel py3-toml"
checkdepends="py3-sybil py3-pytest py3-pytest-cov"
_pypiprefix="${_pyname%${_pyname#?}}"
source="
	https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz
	pyproject.toml
"
replaces="py-atpublic"
builddir="$srcdir"/$_pyname-$pkgver

prepare() {
	default_prepare
	# Remove pdm garbage
	cp "$srcdir"/pyproject.toml "$builddir"
}

build() {
	python3 -m build --no-isolation --wheel
}

check() {
	export PYTHONPATH="$builddir"/src
	python3 -m pytest
}

package() {
	python3 -m installer -d"$pkgdir" dist/$_pyname-$pkgver-py3-none-any.whl
}

sha512sums="
b34dbb236717b2017de95aa79226f0138e77814a4041e26e98f50db8f8521d81b60f9998aed719e1e1f2ee29a7c590170725e12a54260900ce9819ea3a623dac  atpublic-3.1.1.tar.gz
a3ef1b33c4872937a659a76450e63f707b10a9193a0246e339d939aff4b643f4db01eb0a962050e7c8267f847c3eacf5b4b15b3ec775840b36ce7977784c33de  pyproject.toml
"

A  => src/py3-atpublic/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-atpublic/pyproject.toml +97 -0
@@ 1,97 @@
[project]
name = "atpublic"
authors = [
    { name = "Barry Warsaw", email = "barry@python.org" },
]
description = "Keep all y'all's __all__'s in sync"
readme = "README.rst"
requires-python = ">=3.7"
keywords = [
    "__all__",
    "public",
    "private",
]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Development Status :: 6 - Mature",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: Apache Software License",
    "Operating System :: POSIX",
    "Operating System :: MacOS :: MacOS X",
    "Operating System :: Microsoft :: Windows",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Topic :: Software Development :: Libraries",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Utilities",
]
dependencies = []
dynamic = []
version = "3.1.1"

[project.license]
text = "Apache-2.0"

[project.urls]
"Home Page" = "https://public.readthedocs.io"
Documentation = "https://public.readthedocs.io"
Source = "https://gitlab.com/warsaw/public.git"
"Bug Tracker" = "https://gitlab.com/warsaw/public/issues"

[project.optional-dependencies]

[tool.pytest.ini_options]
addopts = "--cov=public --cov-report=term --cov-report=xml -p no:doctest"
testpaths = "test docs"

[tool.coverage.report]
fail_under = 100
show_missing = true

[tool.coverage.run]
branch = true
parallel = true

[tool.isort]
include_trailing_comma = true
known_first_party = "public"
length_sort_straight = true
lines_after_imports = 2
lines_between_types = 1
multi_line_output = 3
order_by_type = false
skip = [
    "conf.py",
]

[tool.mypy]
mypy_path = "src"
disallow_any_generics = true
disallow_subclassing_any = true
disallow_untyped_calls = false
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = false
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_no_return = true
warn_return_any = true
warn_unreachable = true
implicit_reexport = false
strict_equality = true
show_error_context = true
show_column_numbers = true
show_error_codes = true
pretty = true
show_absolute_path = true
warn_unused_configs = true
verbosity = 0

[[tool.mypy.overrides]]
module = [
    "pytest",
    "sybil.*",
]
ignore_missing_imports = true

A  => src/py3-billiard/APKBUILD +31 -0
@@ 1,31 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-billiard
_pyname=billiard
pkgver=3.6.4.0
pkgrel=0
pkgdesc="Python multiprocessing fork with improvements and bugfixes."
url="http://pypi.python.org/pypi/billiard"
arch="noarch"
license="BSD"
depends="python3"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
options="!check"

build() {
	python3 setup.py check
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
9f2a44024e45c4e7667472a0a3ade7caae755ec7c163929433f818e4b87165218b9cc9545bdee2254e7159c206e525306e383d38906b00fd5428bd1616c39b8f  billiard-3.6.4.0.tar.gz
"

A  => src/py3-billiard/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-case/APKBUILD +31 -0
@@ 1,31 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-case
_pyname=case
pkgver=1.5.3
pkgrel=0
pkgdesc="Ptyhon unit testing utilities"
url="https://github.com/celery/case"
arch="noarch"
license="BSD"
depends="python3 py3-six"
checkdepends="py3-nose"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	nosetests
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
ae98a571c282f80c685c42ab1dc578847fe88cf8cd07faff505a8df8e3282a602908a8780ab88b36851e3ee6f3c178405e5c50776fd0f49fcc990087575f2958  case-1.5.3.tar.gz
"

A  => src/py3-case/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-celery/7446.patch +34 -0
@@ 1,34 @@
From 85a8fcf0a6eb421218d746eedd88d158c450cf35 Mon Sep 17 00:00:00 2001
From: Omer Katz <omer.katz@kcg.tech>
Date: Sat, 9 Apr 2022 13:27:58 +0300
Subject: [PATCH] Avoid importing buf_t from billiard's compat module as it was
 removed.

buf_t was a compatibility layer for 2.7, it's no longer needed so it was removed from billiard.
We should adjust the code in Celery as well.
---
 celery/concurrency/asynpool.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/celery/concurrency/asynpool.py b/celery/concurrency/asynpool.py
index b9f2875a26..489336936c 100644
--- a/celery/concurrency/asynpool.py
+++ b/celery/concurrency/asynpool.py
@@ -26,7 +26,7 @@
 from weakref import WeakValueDictionary, ref
 
 from billiard import pool as _pool
-from billiard.compat import buf_t, isblocking, setblocking
+from billiard.compat import isblocking, setblocking
 from billiard.pool import ACK, NACK, RUN, TERMINATE, WorkersJoined
 from billiard.queues import _SimpleQueue
 from kombu.asynchronous import ERR, WRITE
@@ -868,7 +868,7 @@ def send_job(tup):
             header = pack('>I', body_size)
             # index 1,0 is the job ID.
             job = get_job(tup[1][0])
-            job._payload = buf_t(header), buf_t(body), body_size
+            job._payload = memoryview(header), memoryview(body), body_size
             put_message(job)
         self._quick_put = send_job
 

A  => src/py3-celery/APKBUILD +43 -0
@@ 1,43 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-celery
_pyname=celery
pkgver=5.2.7
pkgrel=0
pkgdesc="Distributed Asyncronous Task Queue"
url="http://celeryproject.org"
arch="noarch"
license="BSD"
depends="python3"
makedepends="py-setuptools"
depends="
	py3-amqp
	py3-billiard
	py3-click-repl
	py3-click-didyoumean
	py3-click-plugins
	py3-kombu
	py3-tz
	py3-vine
"
source="
	https://pypi.io/packages/source/c/celery/celery-$pkgver.tar.gz
	7446.patch
"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
68e3bb082f97ebe20391293cc8fa96c41c8f5ac5e8c24b2b7bd66eb104ec459bdfa49741e47486676e5daa88d7a71e3eb0d9432851aeafc74b0d4352e567e853  celery-5.2.7.tar.gz
de75758692f07bd181137095dbb3e5edc0e88c23a57df286ff52c5f5db384cb704924a43ee8f6379fec0430c06c41c529d2c2609f23546b7db0a306a069274f9  7446.patch
"

A  => src/py3-celery/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-click-didyoumean/APKBUILD +28 -0
@@ 1,28 @@
# Contributor: Drew DeVault <sir@cmpwn.com>
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-click-didyoumean
_pyname=click-didyoumean
pkgver=0.3.0
pkgrel=0
pkgdesc="Enable git-like did-you-mean feature in click"
url="https://pypi.org/project/click-didyoumean/"
arch="noarch"
license="MIT"
depends="py3-click"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir"/$_pyname-$pkgver
options="!check" # no tests

build() {
	python3 setup.py build
}

package() {
	python3 setup.py install --prefix=/usr --root="$pkgdir"
}

sha512sums="
781d3f0f0ce7a8cbc297cce16647dd7bc8f2cc32db9071b68e896d8f01ef08382cd83051db685535b86a77b392ed93f6f8e453ed6d1299065a24df032cd046cb  click-didyoumean-0.3.0.tar.gz
"

A  => src/py3-click-didyoumean/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-click-repl/APKBUILD +30 -0
@@ 1,30 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-click-repl
_pyname=click-repl
pkgver=0.2.0
pkgrel=0
pkgdesc="REPL plugin for Click"
url="https://pypi.org/project/click-repl/"
arch="noarch"
license="MIT"
depends="py3-click py3-prompt_toolkit py3-six"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
b377e1efda7f8dd20b90f531c49dd42a372db789331f8cfcca63169be17fe429dfc66d5a1e5ef7376eacfdb41167f933ec68b63a170aae45af09b086f826edf0  click-repl-0.2.0.tar.gz
"

A  => src/py3-click-repl/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-colour/APKBUILD +42 -0
@@ 1,42 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-colour
_pyname=colour
pkgver=0.1.5
pkgrel=0
pkgdesc="Colour representations manipulation library (RGB, HSL, web, ...)"
url="https://github.com/vaab/colour"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools py3-wheel"
_pypiprefix="${_pyname%${_pyname#?}}"
source="
	https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz
	setup.cfg
	setup.py
"
builddir="$srcdir/$_pyname-$pkgver"

prepare() {
	# I hate the Python community so much
	cp "$srcdir"/setup.py ./
	cp "$srcdir"/setup.cfg ./
}

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
09a5160862bf10cd5f4a94e43c63d6f2a5db43bcaae0e9d8f66900113ec04471e22d0bec7412f0289c6f1e6871c1a544f5be36266aa8d6fd5ec274bd461d9df8  colour-0.1.5.tar.gz
6e0c52b0515ae82ee10116d567c60e4b81c78e2e94da17ddac5b6bd58641bee3682dfbdddb04398d536b96f54708dad749cc323bcce1d6921849c92ce1abc67e  setup.cfg
1b89dee1b34668e78c8115f297e2a68af48cfbef820694f6f0771fa07292c480d1fa2d52ddecd4989850ec3a0a34a25a08965bfa31baa20728935f60e38d1588  setup.py
"

A  => src/py3-colour/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-colour/setup.cfg +40 -0
@@ 1,40 @@
[metadata]
name = colour
version = 0.1.5.dev202112201038
description = converts and manipulates various color representation (HSL, RVB, web, X11, ...)
long_description = file: README.rst, CHANGELOG.rst, TODO.rst
license_file = LICENSE

## sdist info
author = Valentin LAB
author_email = valentin.lab@kalysto.org
url = http://github.com/vaab/colour
license = BSD 3-Clause License
classifiers =
    Programming Language :: Python
    Topic :: Software Development :: Libraries :: Python Modules
    Development Status :: 3 - Alpha
    License :: OSI Approved :: BSD License
    Intended Audience :: Developers
    Programming Language :: Python :: 2
    Programming Language :: Python :: 2.7
    Programming Language :: Python :: 3
    Programming Language :: Python :: 3.3
    Programming Language :: Python :: 3.4
    Programming Language :: Python :: 3.5
    Programming Language :: Python :: 3.6


[bdist_wheel]
universal = 1


[nosetests]
verbosity = 3
with-doctest = 1
doctest-extension = rst
exe = 1
with-coverage = 1
cover-package = colour
cover-min-percentage = 90
doctest-options = +ELLIPSIS,+NORMALIZE_WHITESPACE

A  => src/py3-colour/setup.py +57 -0
@@ 1,57 @@
#!/usr/bin/env python

##
## You can download latest version of this file:
##  $ wget https://gist.github.com/vaab/e0eae9607ae806b662d4/raw -O setup.py
##  $ chmod +x setup.py
##
## This setup.py is meant to be run along with ``./autogen.sh`` that
## you can also find here: https://gist.github.com/vaab/9118087/raw
##

try:
    from setuptools import setup
except ImportError:
    from distribute_setup import use_setuptools
    use_setuptools()
    from setuptools import setup

##
## Ensure that ``./autogen.sh`` is run prior to using ``setup.py``
##

if "0.1.5".startswith("%%"):
    import os.path
    import sys
    WIN32 = sys.platform == 'win32'
    autogen = os.path.join(".", "autogen.sh")
    if not os.path.exists(autogen):
        sys.stderr.write(
            "This source repository was not configured.\n"
            "Please ensure ``./autogen.sh`` exists and that you are running "
            "``setup.py`` from the project root directory.\n")
        sys.exit(1)
    if os.path.exists('.autogen.sh.output'):
        sys.stderr.write(
            "It seems that ``./autogen.sh`` couldn't do its job as expected.\n"
            "Please try to launch ``./autogen.sh`` manualy, and send the "
            "results to the\nmaintainer of this package.\n"
            "Package will not be installed !\n")
        sys.exit(1)
    sys.stderr.write("Missing version information: "
                     "running './autogen.sh'...\n")
    import os
    import subprocess
    os.system('%s%s > .autogen.sh.output'
              % ("bash " if WIN32 else "",
                 autogen))
    cmdline = sys.argv[:]
    if cmdline[0] == "-c":
        ## for some reason, this is needed when launched from pip
        cmdline[0] = "setup.py"
    errlvl = subprocess.call(["python", ] + cmdline)
    os.unlink(".autogen.sh.output")
    sys.exit(errlvl)


setup(extras_require={'test': ['nose', ]})

A  => src/py3-furl/APKBUILD +30 -0
@@ 1,30 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-furl
_pyname=furl
pkgver=2.1.3
pkgrel=0
pkgdesc="Python library that makes manipulating URLs simple."
url="https://github.com/gruns/furl"
arch="noarch"
license="Unlicense"
depends="python3 py3-six py3-orderedmultidict"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
ce7455bd1a352243efd9715e80e9f9979631cc058927edcd8c52ccb85d27fd8f32079611bb29c487d2add2d1d941d56e4db75520339dc371b1539811ccefda02  furl-2.1.3.tar.gz
"

A  => src/py3-furl/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-humanize/APKBUILD +30 -0
@@ 1,30 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-humanize
_pyname=humanize
pkgver=4.4.0
pkgrel=0
pkgdesc="Humanize is a modest package contains various common humanization utilities"
url="https://github.com/jmoiron/humanize"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
bbbd386d9af82d9db0f2edc4653928654203c4239419232abfc15c51ccd865b355366549c46651e1291d4222ca8b2a297ffc0fce3cc32be4ae2f904ae308a8e4  humanize-4.4.0.tar.gz
"

A  => src/py3-humanize/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-infinity/APKBUILD +30 -0
@@ 1,30 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-infinity
_pyname=infinity
pkgver=1.5
pkgrel=0
pkgdesc="All-in-one infinity value for Python. Can be compared to any object."
url="https://github.com/kvesteri/infinity"
arch="noarch"
license="BSD"
depends="python3"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
d61c16fe08749dab050ffb17f8cb392b22ef0c409d736625820419859a0533e067d04a3244e937cf968b40eb02d6bcecb0f80525797dc372eba7205836bad9cb  infinity-1.5.tar.gz
"

A  => src/py3-infinity/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-intervals/APKBUILD +30 -0
@@ 1,30 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-intervals
_pyname=intervals
pkgver=0.9.2
pkgrel=0
pkgdesc="Python tools for handling intervals (ranges of comparable objects)."
url="https://github.com/kvesteri/intervals"
arch="noarch"
license="BSD"
depends="python3 py3-infinity"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
40da5f7630bc84dbd47196e7e84f94701730b4f2ee71294edfaecfc9187f5c05333fc79502c315d5962c29c9c2a50c8e471980c98764d7c0581d33383a487e4a  intervals-0.9.2.tar.gz
"

A  => src/py3-intervals/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-kombu/APKBUILD +32 -0
@@ 1,32 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-kombu
_pyname=kombu
pkgver=5.2.4
pkgrel=0
pkgdesc="A messaging library for Python"
url="http://kombu.readthedocs.org"
arch="noarch"
license="BSD"
depends="python3"
makedepends="py3-setuptools py3-amqp"
_pypiprefix="${_pyname%${_pyname#?}}"
source="
	https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz
"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
695813bee71d627649e772b45b25494784a6a81bcad92331160705e34d8b2268fa90629983ebcfd04ec23208508d422f1834cc56895532911602d58ec0090a03  kombu-5.2.4.tar.gz
"

A  => src/py3-kombu/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-minio/APKBUILD +30 -0
@@ 1,30 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-minio
pkgver=7.1.12
pkgrel=0
pkgdesc="MinIO Python Library for Amazon S3 Compatible Cloud Storage"
url="https://pypi.org/project/minio/"
arch="noarch"
license="Apache-2.0"
depends="py3-tz py3-dateutil py3-certifi py3-urllib3"
makedepends="py3-setuptools"
checkdepends="py3-pytest py3-mock py3-nose py3-faker"
source="$pkgname-$pkgver.tar.gz::https://github.com/minio/minio-py/archive/$pkgver.tar.gz"
builddir="$srcdir/minio-py-${pkgver}"
options="!check" # requires network

build() {
	python3 setup.py build
}

check() {
	pytest-3
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
a295c1988bce1f4e2dad735f5ed69ed3e49cc4be5d9b001908e68945ae965a85a4c683efa44400a5160098607c4ff21d740700b4480960873a051fe45cff29f1  py3-minio-7.1.12.tar.gz
"

A  => src/py3-minio/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-mistletoe/APKBUILD +30 -0
@@ 1,30 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-mistletoe
_pyname=mistletoe
pkgver=0.9.0
pkgrel=0
pkgdesc="A fast, extensible Markdown parser in pure Python."
url="https://pypi.org/project/mistletoe/"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
ec0f6fc23d81cb2725cf6a8bb8024a3a7c055d1dd733b1dbc10a9fbd4c1431209daffbb2f44591cac9a948ed944496dd8d4175a106e7e9ed4656594e33c23ada  mistletoe-0.9.0.tar.gz
"

A  => src/py3-mistletoe/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-orderedmultidict/APKBUILD +30 -0
@@ 1,30 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-orderedmultidict
_pyname=orderedmultidict
pkgver=1.0.1
pkgrel=0
pkgdesc="Ordered multivalue dictionary that retains method parity with dict."
url="https://github.com/gruns/orderedmultidict"
arch="noarch"
license="Unlicense"
depends="python3 py3-six"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
5a826bb46dfe9d7e6e2159bf545612a35dd0f1bb5817c1fd78e0f3f4019f9144b36be94af08f87e881a310f593091df09702d001624c377f559a30f64b219c24  orderedmultidict-1.0.1.tar.gz
"

A  => src/py3-orderedmultidict/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-pgpy/APKBUILD +34 -0
@@ 1,34 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-pgpy
_pyname=PGPy
pkgver=0.5.4
pkgrel=2
pkgdesc="Pretty Good Privacy for Python - a pure Python OpenPGP implementation"
url="https://github.com/SecurityInnovation/PGPy"
arch="noarch"
license="BSD"
depends="py3-cryptography py3-six py3-asn1"
makedepends="py3-setuptools py3-wheel"
_pypiprefix="${_pyname%${_pyname#?}}"
source="
	https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz
	cryptography.patch
"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
bf19a72d5113cb88e6538d515a06a115a7f329ee1331553100140848226773db0a539a0cbe480f04b0f26cd587fc0c3c8e5fe392e2421d6e6210e86bd0ab70c1  PGPy-0.5.4.tar.gz
2c2db2238d9f171c795fc1e2d2ea96e92313cb2df045fbbd38f2d2642eae96e323637fbaa2528b1f9160138186c07dbfd8cfca7a179848dd5c39b3d63f20f6a4  cryptography.patch
"

A  => src/py3-pgpy/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-pgpy/cryptography.patch +101 -0
@@ 1,101 @@
From d84597eb8417a482433ff51dc6b13060d4b2e686 Mon Sep 17 00:00:00 2001
From: Robert Hofer <1058012+hofrob@users.noreply.github.com>
Date: Wed, 7 Sep 2022 22:26:17 +0200
Subject: [PATCH] fix removed cryptography.utils.register_interface

---
 pgpy/_curves.py | 73 +++++++++++++++++++++++++++++++++++--------------
 1 file changed, 53 insertions(+), 20 deletions(-)

diff --git a/pgpy/_curves.py b/pgpy/_curves.py
index ce6a9f01..2c6ae468 100644
--- a/pgpy/_curves.py
+++ b/pgpy/_curves.py
@@ -34,34 +34,67 @@ def _openssl_get_supported_curves():
     return curves
 
 
-@utils.register_interface(ec.EllipticCurve)
-class BrainpoolP256R1(object):
-    name = 'brainpoolP256r1'
-    key_size = 256
+def use_legacy_cryptography_decorator():
+    """
+    The decorator utils.register_interface was removed in version 38.0.0. Keep using it
+    if the decorator exists, inherit from `ec.EllipticCurve` otherwise.
+    """
+    return hasattr(utils, "register_interface") and callable(utils.register_interface)
 
 
-@utils.register_interface(ec.EllipticCurve)
-class BrainpoolP384R1(object):
-    name = 'brainpoolP384r1'
-    key_size = 384
+if use_legacy_cryptography_decorator():
+    @utils.register_interface(ec.EllipticCurve)
+    class BrainpoolP256R1(object):
+        name = 'brainpoolP256r1'
+        key_size = 256
 
 
-@utils.register_interface(ec.EllipticCurve)
-class BrainpoolP512R1(object):
-    name = 'brainpoolP512r1'
-    key_size = 512
+    @utils.register_interface(ec.EllipticCurve)
+    class BrainpoolP384R1(object):
+        name = 'brainpoolP384r1'
+        key_size = 384
 
 
-@utils.register_interface(ec.EllipticCurve)
-class X25519(object):
-    name = 'X25519'
-    key_size = 256
+    @utils.register_interface(ec.EllipticCurve)
+    class BrainpoolP512R1(object):
+        name = 'brainpoolP512r1'
+        key_size = 512
 
 
-@utils.register_interface(ec.EllipticCurve)
-class Ed25519(object):
-    name = 'ed25519'
-    key_size = 256
+    @utils.register_interface(ec.EllipticCurve)
+    class X25519(object):
+        name = 'X25519'
+        key_size = 256
+
+
+    @utils.register_interface(ec.EllipticCurve)
+    class Ed25519(object):
+        name = 'ed25519'
+        key_size = 256
+else:
+    class BrainpoolP256R1(ec.EllipticCurve):
+        name = 'brainpoolP256r1'
+        key_size = 256
+
+
+    class BrainpoolP384R1(ec.EllipticCurve):
+        name = 'brainpoolP384r1'
+        key_size = 384
+
+
+    class BrainpoolP512R1(ec.EllipticCurve):
+        name = 'brainpoolP512r1'
+        key_size = 512
+
+
+    class X25519(ec.EllipticCurve):
+        name = 'X25519'
+        key_size = 256
+
+
+    class Ed25519(ec.EllipticCurve):
+        name = 'ed25519'
+        key_size = 256
 
 
 # add these curves to the _CURVE_TYPES list

A  => src/py3-scmsrht/APKBUILD +38 -0
@@ 1,38 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgbase=scm.sr.ht
pkgname=py3-scmsrht
pkgver=0.22.22
pkgrel=0
pkgdesc="sr.ht shared code"
url="https://git.sr.ht/~sircmpwn/scm.sr.ht"
arch="noarch"
license="BSD"
depends="
	builds.sr.ht
	py3-srht
"
makedepends="
	py-setuptools
	git
"
source="
	$pkgbase-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/$pkgbase/archive/$pkgver.tar.gz
"
builddir="$srcdir/$pkgbase-$pkgver"
options="$options !check"

build() {
	cd "$builddir"
	export PKGVER=$pkgver
	python3 setup.py build
}

package() {
	cd "$builddir"
	export PKGVER=$pkgver
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
11ef7c1368a0f76ff273d49820b87a5a0c008057ed1c51c47460468bf4252f5e835a828e2a9dff8d289f83931d9f1e67038a63c18c621ec481765ab3247884ae  scm.sr.ht-0.22.22.tar.gz
"

A  => src/py3-scmsrht/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-sqlalchemy-utils/APKBUILD +41 -0
@@ 1,41 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-sqlalchemy-utils
_pyname=SQLAlchemy-Utils
pkgver=0.38.3
pkgrel=0
pkgdesc="Various utility functions, new data types and helpers for SQLAlchemy."
url="https://github.com/kvesteri/sqlalchemy-utils"
arch="noarch"
license="3-Clause-BSD"
depends="
	python3
	py3-babel
	py3-arrow
	py3-intervals
	py3-phonenumbers
	py3-passlib
	py3-colour
	py3-dateutil
	py3-furl
	py3-cryptography
"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"

build() {
	python3 setup.py build
}

check() {
	python3 setup.py check
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
0aa38f7d29cf7756fd0d3c735f721ed0c5889a6e8b0364f26e74e29404115e0a141beab8587db4d56a2e4a4bd1352c24d5922d7e379e64cfa196161c6ff18825  SQLAlchemy-Utils-0.38.3.tar.gz
"

A  => src/py3-sqlalchemy-utils/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-srht/APKBUILD +64 -0
@@ 1,64 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgbase=core.sr.ht
pkgname=py3-srht
pkgver=0.69.14
pkgrel=0
pkgdesc="sr.ht shared code"
url="https://git.sr.ht/~sircmpwn/core.sr.ht"
arch="noarch"
license="BSD"
depends="
	py3-alembic
	py3-bleach
	py3-celery
	py3-cryptography
	py3-flask
	py3-html5lib
	py3-humanize
	py3-mistletoe
	py3-pgpy
	py3-prometheus-client
	py3-psycopg2
	py3-pygments
	py3-redis
	py3-requests
	py3-soupsieve
	py3-sqlalchemy
	py3-sqlalchemy-utils
	py3-beautifulsoup4
"
makedepends="
	py-setuptools
	minify
	git
"
source="
	$pkgbase-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/$pkgbase/archive/$pkgver.tar.gz
"
builddir="$srcdir/$pkgbase-$pkgver"
options="$options !check"

prepare() {
	default_prepare
	cd "$builddir"
	pyver="$(python3 --version | cut -d. -f1-2 | cut -d' ' -f2-)"
	sed -e "s/python3.8/python$pyver/" -i srht/Makefile
	git clone --depth=1 -b v4.1.1 \
		https://github.com/twbs/bootstrap srht/scss/bootstrap
}

build() {
	cd "$builddir"
	export PKGVER=$pkgver
	python3 setup.py build
}

package() {
	cd "$builddir"
	export PKGVER=$pkgver
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
e50423cb995608a28897a753faee88c07e02749b1de2e4d70841ed1a4eb2719c2580a745f093dc7be4423de9a360fc915fb63e772ec8a71c842b0f48a4c5601b  core.sr.ht-0.69.14.tar.gz
"

A  => src/py3-srht/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-vine/APKBUILD +32 -0
@@ 1,32 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-vine
_pyname=vine
pkgver=5.0.0
pkgrel=1
pkgdesc="Promises library for Python"
url="https://github.com/celery/vine"
arch="noarch"
license="BSD"
depends="python3"
makedepends="py3-setuptools py3-case py3-pytest"
checkdepends="py3-nose"
_pypiprefix="${_pyname%${_pyname#?}}"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
options="!check" # Missing some fixtures? TODO

build() {
	python3 setup.py build
}

check() {
	pytest-3
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1
}

sha512sums="
ff8f4b3f675220772ed0523e468eedbaec4aca793877b984e9a215603d1288cc3cc71dfeb152219d22f98de0ac7e9f9fa0cc35c2424ff36044cfc8f28192c159  vine-5.0.0.tar.gz
"

A  => src/py3-vine/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/py3-zxcvbn/APKBUILD +30 -0
@@ 1,30 @@
# Contributor: Drew DeVault <sir@cmpwn.com>
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=py3-zxcvbn
_pyname=zxcvbn
pkgver=4.4.28
pkgrel=0
pkgdesc="Python implementation of Dropbox's realistic password strength estimator"
url="https://github.com/dwolfhub/zxcvbn-python"
arch="noarch"
license="MIT"
makedepends="python3-dev py-setuptools"
checkdepends="py3-pytest"
source="$pkgname-$pkgver.tar.gz::https://github.com/dwolfhub/zxcvbn-python/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_pyname-python-$pkgver"

build() {
	python3 setup.py build
}

check() {
	pytest-3
}

package() {
	python3 setup.py install --prefix=/usr --root="$pkgdir"
}

sha512sums="
be85f976dcf685e2885edff116147cc4549f9c86dee4317b61b84dc4f36ab2c8c2f3468d5d1a55e8890693c852a09104b14360f9ce43feb3727f8fc164eb78f1  py3-zxcvbn-4.4.28.tar.gz
"

A  => src/py3-zxcvbn/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/todo.sr.ht/APKBUILD +83 -0
@@ 1,83 @@
# Maintainer: Drew DeVault <sir@cmpwn.com>
pkgname=todo.sr.ht
pkgver=0.74.5
pkgrel=0
pkgdesc="sr.ht ticket tracking service"
url="https://git.sr.ht/~sircmpwn/todo.sr.ht"
arch="all"
license="AGPLv3"
depends="
	py3-aiosmtpd
	py3-gunicorn
	py3-srht
"
makedepends="py-setuptools sassc go minify"
subpackages="$pkgname-openrc $pkgname-nginx:_nginx"
source="
	$pkgname-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/$pkgname/archive/$pkgver.tar.gz
	sr.ht-nginx-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/sr.ht-nginx/archive/master.tar.gz
	todo.sr.ht.initd
	todo.sr.ht.confd
	todo.sr.ht-lmtp.initd
	todo.sr.ht-lmtp.confd
	todo.sr.ht-webhooks.confd
	todo.sr.ht-webhooks.initd
	todo.sr.ht-api.confd
	todo.sr.ht-api.initd
	todo.sr.ht.gunicorn.conf.py
"
export PKGVER=$pkgver
options="$options !check"
install="$pkgname.post-install $pkgname.post-upgrade"

build() {
	python3 setup.py build
	pyver="$(python3 --version | cut -d. -f1-2 | cut -d' ' -f2-)"
	make SRHT_PATH=/usr/lib/python$pyver/site-packages/srht
}

package() {
	python3 setup.py install --root="$pkgdir" --optimize=1

	install -Dm755 api/api "$pkgdir"/usr/bin/todosrht-api

	install -Dm755 "$srcdir"/todo.sr.ht.initd \
		"$pkgdir"/etc/init.d/todo.sr.ht
	install -Dm644 "$srcdir"/todo.sr.ht.confd \
		"$pkgdir"/etc/conf.d/todo.sr.ht
	install -Dm755 "$srcdir"/todo.sr.ht-lmtp.initd \
		"$pkgdir"/etc/init.d/todo.sr.ht-lmtp
	install -Dm644 "$srcdir"/todo.sr.ht-lmtp.confd \
		"$pkgdir"/etc/conf.d/todo.sr.ht-lmtp
	install -Dm755 "$srcdir"/todo.sr.ht-webhooks.initd \
		"$pkgdir"/etc/init.d/todo.sr.ht-webhooks
	install -Dm644 "$srcdir"/todo.sr.ht-webhooks.confd \
		"$pkgdir"/etc/conf.d/todo.sr.ht-webhooks
	install -Dm755 "$srcdir"/todo.sr.ht-api.initd \
		"$pkgdir"/etc/init.d/todo.sr.ht-api
	install -Dm644 "$srcdir"/todo.sr.ht-api.confd \
		"$pkgdir"/etc/conf.d/todo.sr.ht-api
	install -Dm644 "$srcdir"/todo.sr.ht.gunicorn.conf.py \
		"$pkgdir"/etc/sr.ht/todo.sr.ht.gunicorn.conf.py
}

_nginx() {
	depends="sr.ht-nginx"
	pkgdesc="nginx configuration for $pkgname"
	install -Dm644 "$srcdir/sr.ht-nginx-master/todo.sr.ht.conf" \
		"$subpkgdir"/etc/nginx/http.d/todo.sr.ht.conf
}

sha512sums="
7db1eac243661f246380573eef783339253518c0a0998de8b17d3c6803dcdf6edd178cf06d06e92c84ad2cc01004f5fb7b6520aa0b8adf6312bbf0f0b0074c28  todo.sr.ht-0.74.5.tar.gz
43f867c307a3c4104938522d71a6f128130af3c969598fe52ef9caf9b4788b34448aa6c25ba16403706d9ff83cf313d9b5170c74d30d011628121efdfa3bf626  sr.ht-nginx-0.74.5.tar.gz
946a15e8a723dea178edc451b461f756761a9429fd434820df1955225a9fe73c7aefb838ec32bb9f3a3f7b80a5921641540cdf5fcde3fff272420ea1abe3970e  todo.sr.ht.initd
a71116bd25e0c6e8e3e14e4dadb653e6360e2b468bd415439559b56ffc18724efa9bcb593181d8f0fe0cbccf96f3196a452659bb4375e687faf0b09a48ef5557  todo.sr.ht.confd
c4ac342b5fa506c1323d9c55f36b800e16cb9afdecc32f94bf7261c8fa2710db839b84137d24f3e43ac28e036cf21f63c381a650661e722e416c61a6cf44c938  todo.sr.ht-lmtp.initd
8765703a5ac67da782e471f3f89d0c6fb58cf1dba7342377bccba6e39bd324c47d13948edd5a99af6376b39f60239b3689f6983b92353380f208fe1f12589907  todo.sr.ht-lmtp.confd
befda599f189e99b542ebaf5dd17739169bf73a1499c9de92a98778bd108bb9813e1838e461ced494c6b495a16e34cf805abdb3ccabcf14c2ccecf2d42e780df  todo.sr.ht-webhooks.confd
a2e9686eacd4f37262067749b8844c005839cf190751ab9d49f631e1aa61f64541715e19a942ab20f0541db2b7594499c5c12b522c7b4b90176543f05d576eb7  todo.sr.ht-webhooks.initd
6d096a0559db2c689938e0f0c24d0158efe836dec209f694256f2803494884f206cab423cd5d3b08a68c9446aa2aff1eca0a95da31088fa8a9628becbf344215  todo.sr.ht-api.confd
a1b4901c6e18bc5826bb359941c99b53143f2b4ecdddf6fbba89c78fa4721578720d9a60fe95d4a4d382ef98cf1c3ad3e3f75d5d46782b1ec349c0c2adc7164b  todo.sr.ht-api.initd
21f39ea0981d7773eb512e5ba234022364d0f7ee9b6ca897ce4c51e3b127eb2d9a7a5fbcaa06d14f20b2df2439421d7261f200e3f4f13b45a91e78ba77bc363c  todo.sr.ht.gunicorn.conf.py
"

A  => src/todo.sr.ht/LICENSE.txt +26 -0
@@ 1,26 @@
Copyright 2017 Drew DeVault <sir@cmpwn.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary 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.

3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

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 HOLDER 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.

A  => src/todo.sr.ht/todo.sr.ht-api.confd +8 -0
@@ 1,8 @@
# Run the daemon as this user:
# TODO_USER=todo

# Bind the API service to this address:
# TODO_BIND=:5103

# Extra arguments to pass to Gunicorn
# TODO_ARGS=

A  => src/todo.sr.ht/todo.sr.ht-api.initd +24 -0
@@ 1,24 @@
#!/sbin/openrc-run
name="todo.sr.ht-api"
description="todo.sr.ht API service"
supervisor=supervise-daemon
TODO_USER=${TODO_USER:-todo}
TODO_BIND=${TODO_BIND:-:5103}
TODO_ARGS=${TODO_ARGS:-}
LOGS=/var/log/todo.sr.ht-api.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/todosrht-api"
command_args="-b $TODO_BIND"
command_user="$TODO_USER:$TODO_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$TODO_USER:$TODO_USER"
}

A  => src/todo.sr.ht/todo.sr.ht-lmtp.confd +5 -0
@@ 1,5 @@
# Run the daemon as this user:
# TODO_USER=todo

# Extra arguments to pass to Gunicorn
# TODO_ARGS=

A  => src/todo.sr.ht/todo.sr.ht-lmtp.initd +22 -0
@@ 1,22 @@
#!/sbin/openrc-run
name="todo.sr.ht-ltmp"
description="todo.sr.ht mail processing daemon"
supervisor=supervise-daemon
TODO_USER=${TODO_USER:-todo}
TODO_ARGS=${TODO_ARGS:-}
LOGS=/var/log/todo.sr.ht-lmtp.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/todosrht-lmtp"
command_user="$TODO_USER:$TODO_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$TODO_USER:$TODO_USER"
}

A  => src/todo.sr.ht/todo.sr.ht-webhooks.confd +5 -0
@@ 1,5 @@
# Run the daemon as this user:
# TODO_USER=todo

# Extra arguments to pass to celery
# TODO_ARGS=

A  => src/todo.sr.ht/todo.sr.ht-webhooks.initd +23 -0
@@ 1,23 @@
#!/sbin/openrc-run
name="todo.sr.ht-webhooks"
description="todo.sr.ht webhook delivery service"
supervisor=supervise-daemon
TODO_USER=${TODO_USER:-todo}
TODO_ARGS=${TODO_ARGS:-}
LOGS=/var/log/todo.sr.ht-webhooks.log
supervise_daemon_args="-1 $LOGS -2 $LOGS"
command="/usr/bin/celery"
command_args="-A todosrht.webhooks worker --loglevel=info $GIT_ARGS"
command_user="$TODO_USER:$TODO_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$TODO_USER:$TODO_USER"
}

A  => src/todo.sr.ht/todo.sr.ht.confd +11 -0
@@ 1,11 @@
# Run the daemon as this user:
# TODO_USER=todo

# Bind the web service to this address:
# TODO_BIND=127.0.0.1:5003

# Gunicorn configuration file
# TODO_GUNICORN_CONF=/etc/sr.ht/todo.sr.ht.gunicorn.conf.py

# Extra arguments to pass to Gunicorn
# TODO_ARGS=

A  => src/todo.sr.ht/todo.sr.ht.gunicorn.conf.py +5 -0
@@ 1,5 @@
from prometheus_client import multiprocess


def child_exit(server, worker):
    multiprocess.mark_process_dead(worker.pid)

A  => src/todo.sr.ht/todo.sr.ht.initd +32 -0
@@ 1,32 @@
#!/sbin/openrc-run
name="todo.sr.ht"
description="todo.sr.ht service"
supervisor=supervise-daemon
TODO_USER=${TODO_USER:-todo}
TODO_BIND=${TODO_BIND:-127.0.0.1:5003}
TODO_GUNICORN_CONF=${TODO_GUNICORN_CONF:-/etc/sr.ht/todo.sr.ht.gunicorn.conf.py}
TODO_ARGS=${TODO_ARGS:-}
LOGS=/var/log/todo.sr.ht.log
prometheus_multiproc_dir=/run/todo.sr.ht
supervise_daemon_args="-1 $LOGS -2 $LOGS -e prometheus_multiproc_dir=$prometheus_multiproc_dir"
command="/usr/bin/gunicorn"
command_args="todosrht.app:app -b $TODO_BIND -c $TODO_GUNICORN_CONF $TODO_ARGS"
command_user="$TODO_USER:$TODO_USER"
pidfile="/run/${RC_SVCNAME}.pid"

depend() {
	need net
	use redis
	use postgresql
	use pgbouncer
}

start_pre() {
	checkpath -f "$LOGS" -m 644 -o "$TODO_USER:$TODO_USER"
	# Workaround for https://github.com/OpenRC/openrc/issues/335
	if [ -n "$prometheus_multiproc_dir" ]
	then
		checkpath -d "$prometheus_multiproc_dir" -m 775 -o "$TODO_USER:$TODO_USER"
		rm -rf "$prometheus_multiproc_dir"/*
	fi
}

A  => src/todo.sr.ht/todo.sr.ht.post-install +3 -0
@@ 1,3 @@
#!/bin/sh
addgroup -S todo || true
adduser -SDH -s /sbin/nologin -G todo -g todo todo || true

A  => src/todo.sr.ht/todo.sr.ht.post-upgrade +3 -0
@@ 1,3 @@
#!/bin/sh
srht-migrate todo.sr.ht -a upgrade head
todosrht-migrate -a upgrade head