Date: Friday, July 23, 2021 @ 20:28:16 Author: polyzen Revision: 984831
archrelease: copy trunk to community-x86_64 Added: python-jq/repos/community-x86_64/ python-jq/repos/community-x86_64/PKGBUILD (from rev 984830, python-jq/trunk/PKGBUILD) python-jq/repos/community-x86_64/jq-py-setup.patch (from rev 984830, python-jq/trunk/jq-py-setup.patch) -------------------+ PKGBUILD | 56 ++++++++++++++++++++ jq-py-setup.patch | 144 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 200 insertions(+) Copied: python-jq/repos/community-x86_64/PKGBUILD (from rev 984830, python-jq/trunk/PKGBUILD) =================================================================== --- community-x86_64/PKGBUILD (rev 0) +++ community-x86_64/PKGBUILD 2021-07-23 20:28:16 UTC (rev 984831) @@ -0,0 +1,56 @@ +# Maintainer: Daniel M. Capella <poly...@archlinux.org> +# Contributor: Mubashshir <ahmubashs...@gmail.com> + +_name=jq.py +pkgname=python-jq +pkgver=1.1.3 +pkgrel=3 +pkgdesc='Python bindings for jq' +arch=('x86_64') +url=https://github.com/mwilliamson/jq.py +license=('BSD') +depends=('jq' 'python') +makedepends=('cython' 'python-build' 'python-install' 'python-setuptools' + 'python-wheel') +checkdepends=('python-nose') +source=("$url/archive/$pkgver/$_name-$pkgver.tar.gz" + 'jq-py-setup.patch') +sha256sums=('b0f4de47d6ae4fb221b539463eca777d723f2e7b290af6e132d51d7ef89c824c' + '81abf958b5b7987a0e90a217ed62e1f62a53d19bc3354f8cdf15cd863bcc72d5') +b2sums=('31fe4744e18f01c96d0a6df614ad5122c7fbd07e00f666c4b1d63b25e3b075c2ada533784d73f01fea6eeaaaabf907ef8b8d4eb9af5dd1c9066e4fadfa9f1b35' + '3424a91e0e6330e8d25e167b862554e466f469cdeb5672d4d4e5ff4d4475bfe9c7a575f3c93cd03687e10cc6afac2bb94294c0fef50feec03eaa55684e2907bc') + +# Devendor +prepare() { + cd $_name-$pkgver + sed -i '/certifi\|requests/d' pyproject.toml + patch --forward --strip=1 --input=../jq-py-setup.patch +} + +build() { + cd $_name-$pkgver + cython jq.pyx + python -m build --wheel --skip-dependency-check --no-isolation +} + +check() { + cd $_name-$pkgver + mkdir -p temp + local site_packages=$(python -c "import site; print(site.getsitepackages()[0])") + python -m install --optimize=1 --destdir=temp dist/*.whl + PYTHONPATH="$PWD/temp/$site_packages" nosetests tests +} + +package() { + cd $_name-$pkgver + export PYTHONHASHSEED=0 + python -m install --optimize=1 --destdir="$pkgdir" dist/*.whl + + # Symlink license file + local site_packages=$(python -c "import site; print(site.getsitepackages()[0])") + install -d "$pkgdir"/usr/share/licenses/$pkgname + ln -s $site_packages/jq-$pkgver.dist-info/LICENSE \ + "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} + +# vim:set ts=2 sw=2 et: Copied: python-jq/repos/community-x86_64/jq-py-setup.patch (from rev 984830, python-jq/trunk/jq-py-setup.patch) =================================================================== --- community-x86_64/jq-py-setup.patch (rev 0) +++ community-x86_64/jq-py-setup.patch 2021-07-23 20:28:16 UTC (rev 984831) @@ -0,0 +1,144 @@ +From bef841b73ba7c9a79211146798ac888fce9bb55a Mon Sep 17 00:00:00 2001 +From: "Robert T. McGibbon" <rmcgi...@gmail.com> +Date: Fri, 7 May 2021 19:14:20 -0400 +Subject: [PATCH 1/1] Vastly simplify setup.py for distro compatibility + +--- + setup.py | 98 +------------------------------------------------------- + 1 file changed, 1 insertion(+), 97 deletions(-) + +diff --git a/setup.py b/setup.py +index 663792c..3ebcabe 100644 +--- a/setup.py ++++ b/setup.py +@@ -1,113 +1,19 @@ + #!/usr/bin/env python + + import os +-import subprocess +-import tarfile +-import shutil +-import sysconfig + +-import requests + from setuptools import setup +-from setuptools.command.build_ext import build_ext + from setuptools.extension import Extension + + +-def urlretrieve(source_url, destination_path): +- response = requests.get(source_url, stream=True) +- if response.status_code != 200: +- raise Exception("status code was: {}".format(response.status_code)) +- +- with open(destination_path, "wb") as fileobj: +- for chunk in response.iter_content(chunk_size=128): +- fileobj.write(chunk) +- +-def path_in_dir(relative_path): +- return os.path.abspath(os.path.join(os.path.dirname(__file__), relative_path)) +- +-def dependency_path(relative_path): +- return os.path.join(path_in_dir("_deps"), relative_path) +- + def read(fname): + return open(os.path.join(os.path.dirname(__file__), fname)).read() + + +-jq_lib_tarball_path = dependency_path("jq-lib-1.6.tar.gz") +-jq_lib_dir = dependency_path("jq-1.6") +- +-oniguruma_version = "6.9.4" +-oniguruma_lib_tarball_path = dependency_path("onig-{}.tar.gz".format(oniguruma_version)) +-oniguruma_lib_build_dir = dependency_path("onig-{}".format(oniguruma_version)) +-oniguruma_lib_install_dir = dependency_path("onig-install-{}".format(oniguruma_version)) +- +-class jq_build_ext(build_ext): +- def run(self): +- if not os.path.exists(dependency_path(".")): +- os.makedirs(dependency_path(".")) +- self._build_oniguruma() +- self._build_libjq() +- build_ext.run(self) +- +- def _build_oniguruma(self): +- self._build_lib( +- source_url="https://github.com/kkos/oniguruma/releases/download/v{0}/onig-{0}.tar.gz".format(oniguruma_version), +- tarball_path=oniguruma_lib_tarball_path, +- lib_dir=oniguruma_lib_build_dir, +- commands=[ +- ["./configure", "CFLAGS=-fPIC", "--prefix=" + oniguruma_lib_install_dir], +- ["make"], +- ["make", "install"], +- ]) +- +- +- def _build_libjq(self): +- self._build_lib( +- source_url="https://github.com/stedolan/jq/releases/download/jq-1.6/jq-1.6.tar.gz", +- tarball_path=jq_lib_tarball_path, +- lib_dir=jq_lib_dir, +- commands=[ +- ["./configure", "CFLAGS=-fPIC -pthread", "--disable-maintainer-mode", "--with-oniguruma=" + oniguruma_lib_install_dir], +- ["make"], +- ]) +- +- def _build_lib(self, source_url, tarball_path, lib_dir, commands): +- self._download_tarball( +- source_url=source_url, +- tarball_path=tarball_path, +- lib_dir=lib_dir, +- ) +- +- macosx_deployment_target = sysconfig.get_config_var("MACOSX_DEPLOYMENT_TARGET") +- if macosx_deployment_target: +- os.environ['MACOSX_DEPLOYMENT_TARGET'] = str(macosx_deployment_target) +- +- def run_command(args): +- print("Executing: %s" % ' '.join(args)) +- subprocess.check_call(args, cwd=lib_dir) +- +- for command in commands: +- run_command(command) +- +- def _download_tarball(self, source_url, tarball_path, lib_dir): +- if os.path.exists(tarball_path): +- os.unlink(tarball_path) +- print("Downloading {}".format(source_url)) +- urlretrieve(source_url, tarball_path) +- print("Downloaded {}".format(source_url)) +- +- if os.path.exists(lib_dir): +- shutil.rmtree(lib_dir) +- tarfile.open(tarball_path, "r:gz").extractall(dependency_path(".")) +- +- + jq_extension = Extension( + "jq", + sources=["jq.c"], +- include_dirs=[os.path.join(jq_lib_dir, "src")], +- extra_link_args=["-lm"], +- extra_objects=[ +- os.path.join(jq_lib_dir, ".libs/libjq.a"), +- os.path.join(oniguruma_lib_install_dir, "lib/libonig.a"), +- ], ++ libraries=["jq"] + ) + + setup( +@@ -120,7 +26,6 @@ setup( + python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*', + license='BSD 2-Clause', + ext_modules = [jq_extension], +- cmdclass={"build_ext": jq_build_ext}, + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Intended Audience :: Developers', +@@ -137,4 +42,3 @@ setup( + 'Programming Language :: Python :: 3.9', + ], + ) +- +-- +2.29.3 +