summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl Smedstad2024-01-12 18:47:47 +0100
committerCarl Smedstad2024-01-12 22:01:17 +0100
commitd074b40a34643a4bf8ffdcbee5d29225e49e1952 (patch)
tree8f196b9ac750cca12cd8060b2c51c8e02d79a93d
parentb6d32ac82536f1dc389808acd96612da06c6e01c (diff)
downloadaur-d074b40a34643a4bf8ffdcbee5d29225e49e1952.tar.gz
Publish version 0.7.2-1
-rw-r--r--.SRCINFO65
-rw-r--r--.gitignore4
-rw-r--r--PKGBUILD165
3 files changed, 189 insertions, 45 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ef2ae04e1794..43b9362c8013 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,32 +1,53 @@
pkgbase = archivebox
- pkgdesc = The open source self-hosted web archive
- pkgver = 0.6.2
- pkgrel = 3
- url = https://github.com/pirate/ArchiveBox
+ pkgdesc = Open source self-hosted web archiving
+ pkgver = 0.7.2
+ pkgrel = 1
+ url = https://github.com/ArchiveBox/ArchiveBox
arch = any
license = MIT
- makedepends = python-pip
- depends = python-django
- depends = python-mypy_extensions
- depends = wget
- depends = python-crontab
- depends = python-atomicwrites
+ checkdepends = python-bottle
+ checkdepends = python-pytest
+ makedepends = git
+ makedepends = python-build
+ makedepends = python-installer
+ makedepends = python-pdm
+ makedepends = python-setuptools
+ makedepends = python-wheel
+ depends = chromium
+ depends = curl
+ depends = git
+ depends = mercury-parser
+ depends = nodejs
+ depends = python
+ depends = python-asgiref
+ depends = python-chardet
depends = python-dateparser
+ depends = python-mypy_extensions
+ depends = python-python-crontab
+ depends = python-pytz
depends = python-requests
- depends = python-base32_crockford
+ depends = python-sqlparse
+ depends = python-urllib3
depends = python-w3lib
- depends = chromium
- depends = python-django-extensions
- depends = git
- depends = youtube-dl
- depends = curl
- depends = single-file-git
depends = readability-extractor
depends = ripgrep
- depends = mercury-parser
- provides = archivebox
- conflicts = archivebox
- source = https://files.pythonhosted.org/packages/source/a/archivebox/archivebox-0.6.2.tar.gz
- sha256sums = cc7b72ee54eb6bac9a6fd774ab712ab0f1b717e96b9d92fa3e34006cbd40d8d6
+ depends = single-file
+ depends = wget
+ depends = yt-dlp
+ source = git+https://github.com/ArchiveBox/ArchiveBox.git?signed#commit=315c9f3844d63f897e1c73c3bbbab7bf9f3e0c11
+ source = git+https://github.com/jbittel/base32-crockford.git
+ source = git+https://github.com/jazzband/django-taggit.git
+ source = git+https://github.com/tapanpandita/pocket.git
+ source = git+https://github.com/untitaker/python-atomicwrites.git
+ source = django-3.1.14::https://github.com/django/django/archive/refs/tags/3.1.14.tar.gz
+ source = django-extensions-3.1.5::https://github.com/django-extensions/django-extensions/archive/refs/tags/3.1.5.tar.gz
+ validpgpkeys = 5DE3E0509C47EA3CF04A42D34AEE18F83AFDEB23
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = fe5a93c64d37f4dec49b7535ae405c0b87c1eb3d40979a33955a3631b5a6a00a
+ sha256sums = a29b022fb6728678ec5f769d78eff4d8b0c0f4beb15f9b8392726d4f0bda9031
pkgname = archivebox
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..f71c635dafda
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*
+!.gitignore
+!PKGBUILD
+!.SRCINFO
diff --git a/PKGBUILD b/PKGBUILD
index c3cf58d2f02e..14ff09ca4c3f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,31 +1,150 @@
-# Maintainer: Hao Long <aur@esd.cc>
+# Maintainer: Carl Smedstad <carl.smedstad at protonmail dot com>
+# Contributor: Hao Long <aur@esd.cc>
pkgname=archivebox
-pkgver=0.6.2
-pkgrel=3
-pkgdesc="The open source self-hosted web archive"
-arch=("any")
-url="https://github.com/pirate/ArchiveBox"
-license=('MIT')
-provides=('archivebox')
-conflicts=('archivebox')
-depends=('python-django' 'python-mypy_extensions' 'wget'
- 'python-crontab' 'python-atomicwrites' 'python-dateparser'
- 'python-requests' 'python-base32_crockford' 'python-w3lib'
- 'chromium' 'python-django-extensions' 'git'
- 'youtube-dl' 'curl' 'single-file-git'
- 'readability-extractor' 'ripgrep' 'mercury-parser')
-makedepends=('python-pip')
-source=("https://files.pythonhosted.org/packages/source/${pkgname::1}/${pkgname}/${pkgname}-${pkgver}.tar.gz")
-sha256sums=('cc7b72ee54eb6bac9a6fd774ab712ab0f1b717e96b9d92fa3e34006cbd40d8d6')
+_name=ArchiveBox
+pkgver=0.7.2
+pkgrel=1
+pkgdesc="Open source self-hosted web archiving"
+arch=(any)
+url="https://github.com/ArchiveBox/ArchiveBox"
+license=(MIT)
+depends=(
+ chromium
+ curl
+ git
+ mercury-parser
+ nodejs
+ python
+ python-asgiref
+ python-chardet
+ python-dateparser
+ python-mypy_extensions
+ python-python-crontab
+ python-pytz
+ python-requests
+ python-sqlparse
+ python-urllib3
+ python-w3lib
+ readability-extractor
+ ripgrep
+ single-file
+ wget
+ yt-dlp
+)
+makedepends=(
+ git
+ python-build
+ python-installer
+ python-pdm
+ python-setuptools
+ python-wheel
+)
+checkdepends=(
+ python-bottle
+ python-pytest
+)
+
+_commit=315c9f3844d63f897e1c73c3bbbab7bf9f3e0c11 # git rev-parse "$pkgver"
+_django_version=3.1.14
+_django_extensions_version=3.1.5
+source=(
+ "git+$url.git?signed#commit=$_commit"
+ "git+https://github.com/jbittel/base32-crockford.git"
+ "git+https://github.com/jazzband/django-taggit.git"
+ "git+https://github.com/tapanpandita/pocket.git"
+ "git+https://github.com/untitaker/python-atomicwrites.git"
+ "django-$_django_version::https://github.com/django/django/archive/refs/tags/$_django_version.tar.gz"
+ "django-extensions-$_django_extensions_version::https://github.com/django-extensions/django-extensions/archive/refs/tags/$_django_extensions_version.tar.gz"
+)
+sha256sums=(
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'fe5a93c64d37f4dec49b7535ae405c0b87c1eb3d40979a33955a3631b5a6a00a'
+ 'a29b022fb6728678ec5f769d78eff4d8b0c0f4beb15f9b8392726d4f0bda9031'
+)
+validpgpkeys=('5DE3E0509C47EA3CF04A42D34AEE18F83AFDEB23') # GitHub (web-flow commit signing)
+
+_archive="$_name"
+
+prepare() {
+ cd "$_archive"
+
+ git submodule init
+ git config --remove-section submodule.docs
+ git config --remove-section submodule.deb_dist
+ git config --remove-section submodule.brew_dist
+ git config --remove-section submodule.pip_dist
+ git config --remove-section submodule.docker
+ git config submodule.archivebox/vendor/base32-crockford.url "$srcdir/base32-crockford"
+ git config submodule.archivebox/vendor/pocket.url "$srcdir/pocket"
+ git config submodule.archivebox/vendor/django-taggit.url "$srcdir/django-taggit"
+ git config submodule.archivebox/vendor/python-atomicwrites.url "$srcdir/python-atomicwrites"
+ git -c protocol.file.allow=always submodule update -- \
+ archivebox/vendor/base32-crockford \
+ archivebox/vendor/pocket \
+ archivebox/vendor/django-taggit \
+ archivebox/vendor/python-atomicwrites
+
+ {
+ echo '[tool.pdm.build]'
+ echo 'excludes = ['
+ echo ' "archivebox/vendor/base32-crockford",'
+ echo ' "archivebox/vendor/django-taggit",'
+ echo ' "archivebox/vendor/pocket",'
+ echo ' "archivebox/vendor/python-atomicwrites",'
+ echo ']'
+ } >> pyproject.toml
+
+ rm -rf venv
+ python -m venv --system-site-packages --without-pip venv
+}
build() {
- cd ${pkgname}-${pkgver}
- python setup.py build
+ cd "$srcdir/django-$_django_version"
+ python -m build --wheel --no-isolation
+ python -m installer --destdir="$srcdir/$_archive/venv" --prefix=/ dist/*.whl
+
+ cd "$srcdir/django-extensions-$_django_extensions_version"
+ python -m build --wheel --no-isolation
+ python -m installer --destdir="$srcdir/$_archive/venv" --prefix=/ dist/*.whl
+
+ cd "$srcdir/$_archive"
+ python -m build --wheel --no-isolation
+ python -m installer --destdir=venv --prefix=/ dist/*.whl
+}
+
+check() {
+ cd "$_archive"
+
+ rm -rf test_venv
+ cp --archive --no-preserve=ownership venv test_venv
+ sed -i "s|#!/bin/python|#!$PWD/test_venv/bin/python|" test_venv/bin/archivebox
+ export PATH="$PWD/test_venv/bin:$PATH"
+ export PYTHONPATH="$PWD/test_venv/lib/python3.11/site-packages:$PYTHONPATH"
+
+ ln -s /usr/bin/mercury-parser "$PWD/test_venv/bin/postlight-parser"
+
+ pytest tests
}
package() {
- cd ${pkgname}-${pkgver}
- python setup.py install --root="$pkgdir" --optimize=1 --skip-build
- install -Dm644 archivebox/LICENSE -t ${pkgdir}/usr/share/licenses/${pkgname}/
+ cd "$_archive"
+
+ install -dm755 "$pkgdir/opt/archivebox"
+ cp --archive --no-preserve=ownership venv/* "$pkgdir/opt/archivebox"
+ sed -i 's|#!/bin/python|#!/opt/archivebox/bin/python|' "$pkgdir/opt/archivebox/bin/archivebox"
+
+ install -dm755 "$pkgdir/usr/bin"
+ ln -s /opt/archivebox/bin/archivebox "$pkgdir/usr/bin/archivebox"
+
+ ln -s /usr/bin/mercury-parser "$pkgdir/usr/bin/postlight-parser"
+
+ install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
+
+ # Silence namcap warning
+ rm -r "$pkgdir/opt/archivebox/include"
}