Page MenuHomeFreeBSD

D22278.id64059.diff
No OneTemporary

D22278.id64059.diff

Index: head/devel/Makefile
===================================================================
--- head/devel/Makefile
+++ head/devel/Makefile
@@ -4866,6 +4866,7 @@
SUBDIR += py-pyinotify
SUBDIR += py-pyinstaller
SUBDIR += py-pyjsparser
+ SUBDIR += py-pyjq
SUBDIR += py-pyke
SUBDIR += py-pylama
SUBDIR += py-pylibsrtp
Index: head/devel/py-pyjq/Makefile
===================================================================
--- head/devel/py-pyjq/Makefile
+++ head/devel/py-pyjq/Makefile
@@ -0,0 +1,27 @@
+# $FreeBSD$
+
+PORTNAME= pyjq
+PORTVERSION= 2.4.0
+CATEGORIES= devel python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= gmm@tutanota.com
+COMMENT= Python binding for jq
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libjq.so:textproc/jq \
+ libonig.so:devel/oniguruma
+
+USES= localbase python
+USE_PYTHON= autoplist distutils
+
+post-patch:
+ @${RM} -r ${WRKSRC}/dependencies
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/python3.6/site-packages/_pyjq.so
+
+.include <bsd.port.mk>
Index: head/devel/py-pyjq/distinfo
===================================================================
--- head/devel/py-pyjq/distinfo
+++ head/devel/py-pyjq/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1573147120
+SHA256 (pyjq-2.4.0.tar.gz) = 651f7a3ab2087e7c69cf00f1ba5433d7afe7b72f4ff499dcaf9c86cb1c2ae3c1
+SIZE (pyjq-2.4.0.tar.gz) = 2033014
Index: head/devel/py-pyjq/files/patch-setup.py
===================================================================
--- head/devel/py-pyjq/files/patch-setup.py
+++ head/devel/py-pyjq/files/patch-setup.py
@@ -0,0 +1,89 @@
+--- setup.py.orig 2019-09-18 06:52:51 UTC
++++ setup.py
+@@ -12,86 +12,20 @@ from setuptools import setup
+ from setuptools.extension import Extension
+ from setuptools.command.build_ext import _build_ext
+
+-
+-dependencies_dir_path = join(abspath(dirname(__file__)), "dependencies")
+-
+-onig_tarball_path = join(dependencies_dir_path, "onig-6.9.0.tar.gz")
+-onig_install_path = join(dependencies_dir_path, "onig_install")
+-onig_source_path = join(dependencies_dir_path, "onig-6.9.0")
+-
+-jq_tarball_path = join(dependencies_dir_path, "jq-1.5.tar.gz")
+-jq_install_path = join(dependencies_dir_path, "jq_install")
+-jq_source_path = join(dependencies_dir_path, "jq-jq-1.5")
+-
+-
+ class build_ext(_build_ext):
+ def run(self):
+- self._build_oniguruma()
+- self._build_libjq()
+ _build_ext.run(self)
+
+- def _build_oniguruma(self):
+- self._safe_rmtree(onig_install_path)
+- self._safe_rmtree(onig_source_path)
+-
+- self._extract_tarball(onig_tarball_path, dependencies_dir_path)
+- self._build_lib(
+- lib_dir=onig_source_path,
+- commands=[
+- ["./configure", "CFLAGS=-fPIC", "--disable-shared", "--prefix", onig_install_path],
+- ["make"],
+- ["make", "install"],
+- ]
+- )
+-
+- def _build_libjq(self):
+- self._safe_rmtree(jq_install_path)
+- self._safe_rmtree(jq_source_path)
+-
+- self._extract_tarball(jq_tarball_path, dependencies_dir_path)
+- self._build_lib(
+- lib_dir=jq_source_path,
+- commands=[
+- ["autoreconf", "-i"],
+- ["./configure", "CFLAGS=-fPIC", "--disable-maintainer-mode",
+- "--enable-all-static", "--disable-shared",
+- "--with-oniguruma=" + onig_install_path, "--prefix", jq_install_path],
+- ["make", "install-libLTLIBRARIES", "install-includeHEADERS"],
+- ]
+- )
+-
+- def _build_lib(self, lib_dir, commands):
+- macosx_deployment_target = sysconfig.get_config_var("MACOSX_DEPLOYMENT_TARGET")
+- if macosx_deployment_target:
+- os.environ['MACOSX_DEPLOYMENT_TARGET'] = macosx_deployment_target
+-
+- for command in commands:
+- subprocess.check_call(command, cwd=lib_dir)
+-
+- def _extract_tarball(self, tarball_path, workdir_path):
+- tarfile.open(tarball_path, "r:gz").extractall(workdir_path)
+-
+- def _safe_rmtree(self, d):
+- try:
+- shutil.rmtree(d)
+- except OSError:
+- pass
+-
+ libraries = ["jq", "onig"]
+-if platform.architecture()[1] == 'WindowsPE':
+- libraries.append("shlwapi")
+
+ pyjq = Extension(
+ "_pyjq",
+ sources=["_pyjq.c"],
+- include_dirs=["dependencies/jq_install/include"],
+ libraries=libraries,
+- library_dirs=["dependencies/jq_install/lib", "dependencies/onig_install/lib"]
+ )
+
+ setup(
+ test_suite='test_pyjq',
+ ext_modules=[pyjq],
+ cmdclass={"build_ext": build_ext},
+- package_data={'': [onig_tarball_path, jq_tarball_path]},
+ )
Index: head/devel/py-pyjq/pkg-descr
===================================================================
--- head/devel/py-pyjq/pkg-descr
+++ head/devel/py-pyjq/pkg-descr
@@ -0,0 +1,15 @@
+pyjq is a Python bindings for jq (http://stedolan.github.io/jq/).
+
+ jq is like sed for JSON data - you can use it to slice and filter and map
+ and transform structured data with the same ease that sed, awk, grep and
+ friends let you play with text.
+
+ http://stedolan.github.io/jq/
+
+You can seamlessly call jq script (like regular expression) and process a plain
+python data structure.
+
+For your information, https://pypi.python.org/pypi/jq is a also jq bindings but
+different and incompatible with pyjq.
+
+WWW: https://github.com/doloopwhile/pyjq

File Metadata

Mime Type
text/plain
Expires
Mon, Jun 22, 12:49 PM (17 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34188800
Default Alt Text
D22278.id64059.diff (5 KB)

Event Timeline