[arch-commits] Commit in python-jq/repos (3 files)
Daniel M. Capella
polyzen at gemini.archlinux.org
Fri Jul 23 20:28:17 UTC 2021
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 <polyzen at archlinux.org>
+# Contributor: Mubashshir <ahmubashshir at 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" <rmcgibbo at 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
+
More information about the arch-commits
mailing list