Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F160113298
D22278.id64059.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
D22278.id64059.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D22278: Add devel/py-pyjqsee https://pypi.org/project/pyjq/
Attached
Detach File
Event Timeline
Log In to Comment