git: ef3ece0449cb - main - misc/py-lazrs: New port: Python bindings for laz-rs

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 23 Oct 2023 01:36:39 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ef3ece0449cb33df202c354eeae6586b887891fd

commit ef3ece0449cb33df202c354eeae6586b887891fd
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-10-23 01:36:14 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-10-23 01:36:14 +0000

    misc/py-lazrs: New port: Python bindings for laz-rs
---
 misc/Makefile           |  1 +
 misc/py-lazrs/Makefile  | 73 +++++++++++++++++++++++++++++++++++++++++
 misc/py-lazrs/distinfo  | 87 +++++++++++++++++++++++++++++++++++++++++++++++++
 misc/py-lazrs/pkg-descr |  4 +++
 4 files changed, 165 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index 7fb79b6beb42..2e48cbe7adab 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -424,6 +424,7 @@
     SUBDIR += py-icoextract
     SUBDIR += py-ipyfastscape
     SUBDIR += py-kartograph
+    SUBDIR += py-lazrs
     SUBDIR += py-lightgbm
     SUBDIR += py-lightning-utilities
     SUBDIR += py-log_symbols
diff --git a/misc/py-lazrs/Makefile b/misc/py-lazrs/Makefile
new file mode 100644
index 000000000000..50be7c46edf5
--- /dev/null
+++ b/misc/py-lazrs/Makefile
@@ -0,0 +1,73 @@
+PORTNAME=	lazrs
+DISTVERSION=	0.5.3
+CATEGORIES=	misc
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Python bindings for laz-rs
+WWW=		https://github.com/pola-rs/polars
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}maturin>=1.0.0:devel/py-maturin@${PY_FLAVOR}
+
+USES=		cargo python
+USE_PYTHON=	pep517 autoplist
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	laz-rs
+GH_PROJECT=	laz-rs-python
+
+CARGO_CRATES=	autocfg-1.1.0 \
+		bitflags-1.3.2 \
+		byteorder-1.5.0 \
+		cfg-if-1.0.0 \
+		crossbeam-deque-0.8.3 \
+		crossbeam-epoch-0.9.15 \
+		crossbeam-utils-0.8.16 \
+		either-1.9.0 \
+		heck-0.4.1 \
+		indoc-2.0.4 \
+		laz-0.8.3 \
+		libc-0.2.149 \
+		lock_api-0.4.11 \
+		memoffset-0.9.0 \
+		num-traits-0.2.17 \
+		once_cell-1.18.0 \
+		parking_lot-0.12.1 \
+		parking_lot_core-0.9.9 \
+		proc-macro2-1.0.69 \
+		pyo3-0.20.0 \
+		pyo3-build-config-0.20.0 \
+		pyo3-ffi-0.20.0 \
+		pyo3-macros-0.20.0 \
+		pyo3-macros-backend-0.20.0 \
+		quote-1.0.33 \
+		rayon-1.8.0 \
+		rayon-core-1.12.0 \
+		redox_syscall-0.4.1 \
+		scopeguard-1.2.0 \
+		smallvec-1.11.1 \
+		syn-2.0.38 \
+		target-lexicon-0.12.12 \
+		unicode-ident-1.0.12 \
+		unindent-0.2.3 \
+		windows-targets-0.48.5 \
+		windows_aarch64_gnullvm-0.48.5 \
+		windows_aarch64_msvc-0.48.5 \
+		windows_i686_gnu-0.48.5 \
+		windows_i686_msvc-0.48.5 \
+		windows_x86_64_gnu-0.48.5 \
+		windows_x86_64_gnullvm-0.48.5 \
+		windows_x86_64_msvc-0.48.5
+
+CARGO_BUILD=	no
+CARGO_INSTALL=	no
+CARGO_TEST=	no
+CARGO_TARGET_DIR=	${WRKSRC}/target
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/lazrs/lazrs${PYTHON_EXT_SUFFIX}.so
+
+.include <bsd.port.mk>
diff --git a/misc/py-lazrs/distinfo b/misc/py-lazrs/distinfo
new file mode 100644
index 000000000000..459240675ec3
--- /dev/null
+++ b/misc/py-lazrs/distinfo
@@ -0,0 +1,87 @@
+TIMESTAMP = 1698024291
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/crossbeam-deque-0.8.3.crate) = ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef
+SIZE (rust/crates/crossbeam-deque-0.8.3.crate) = 21746
+SHA256 (rust/crates/crossbeam-epoch-0.9.15.crate) = ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7
+SIZE (rust/crates/crossbeam-epoch-0.9.15.crate) = 48553
+SHA256 (rust/crates/crossbeam-utils-0.8.16.crate) = 5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294
+SIZE (rust/crates/crossbeam-utils-0.8.16.crate) = 42508
+SHA256 (rust/crates/either-1.9.0.crate) = a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07
+SIZE (rust/crates/either-1.9.0.crate) = 16660
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/indoc-2.0.4.crate) = 1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8
+SIZE (rust/crates/indoc-2.0.4.crate) = 14311
+SHA256 (rust/crates/laz-0.8.3.crate) = b25725927b0a5a0d86c12a18dac2c11ecb8caca47d37bc45b77a187d8f28dd21
+SIZE (rust/crates/laz-0.8.3.crate) = 97543
+SHA256 (rust/crates/libc-0.2.149.crate) = a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b
+SIZE (rust/crates/libc-0.2.149.crate) = 715592
+SHA256 (rust/crates/lock_api-0.4.11.crate) = 3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45
+SIZE (rust/crates/lock_api-0.4.11.crate) = 27487
+SHA256 (rust/crates/memoffset-0.9.0.crate) = 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c
+SIZE (rust/crates/memoffset-0.9.0.crate) = 9033
+SHA256 (rust/crates/num-traits-0.2.17.crate) = 39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c
+SIZE (rust/crates/num-traits-0.2.17.crate) = 50190
+SHA256 (rust/crates/once_cell-1.18.0.crate) = dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d
+SIZE (rust/crates/once_cell-1.18.0.crate) = 32969
+SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f
+SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967
+SHA256 (rust/crates/parking_lot_core-0.9.9.crate) = 4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e
+SIZE (rust/crates/parking_lot_core-0.9.9.crate) = 32445
+SHA256 (rust/crates/proc-macro2-1.0.69.crate) = 134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da
+SIZE (rust/crates/proc-macro2-1.0.69.crate) = 44271
+SHA256 (rust/crates/pyo3-0.20.0.crate) = 04e8453b658fe480c3e70c8ed4e3d3ec33eb74988bd186561b0cc66b85c3bc4b
+SIZE (rust/crates/pyo3-0.20.0.crate) = 431766
+SHA256 (rust/crates/pyo3-build-config-0.20.0.crate) = a96fe70b176a89cff78f2fa7b3c930081e163d5379b4dcdf993e3ae29ca662e5
+SIZE (rust/crates/pyo3-build-config-0.20.0.crate) = 29534
+SHA256 (rust/crates/pyo3-ffi-0.20.0.crate) = 214929900fd25e6604661ed9cf349727c8920d47deff196c4e28165a6ef2a96b
+SIZE (rust/crates/pyo3-ffi-0.20.0.crate) = 64220
+SHA256 (rust/crates/pyo3-macros-0.20.0.crate) = dac53072f717aa1bfa4db832b39de8c875b7c7af4f4a6fe93cdbf9264cf8383b
+SIZE (rust/crates/pyo3-macros-0.20.0.crate) = 7678
+SHA256 (rust/crates/pyo3-macros-backend-0.20.0.crate) = 7774b5a8282bd4f25f803b1f0d945120be959a36c72e08e7cd031c792fdfd424
+SIZE (rust/crates/pyo3-macros-backend-0.20.0.crate) = 49383
+SHA256 (rust/crates/quote-1.0.33.crate) = 5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae
+SIZE (rust/crates/quote-1.0.33.crate) = 28090
+SHA256 (rust/crates/rayon-1.8.0.crate) = 9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1
+SIZE (rust/crates/rayon-1.8.0.crate) = 170172
+SHA256 (rust/crates/rayon-core-1.12.0.crate) = 5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed
+SIZE (rust/crates/rayon-core-1.12.0.crate) = 70081
+SHA256 (rust/crates/redox_syscall-0.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa
+SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/smallvec-1.11.1.crate) = 942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a
+SIZE (rust/crates/smallvec-1.11.1.crate) = 34831
+SHA256 (rust/crates/syn-2.0.38.crate) = e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b
+SIZE (rust/crates/syn-2.0.38.crate) = 243284
+SHA256 (rust/crates/target-lexicon-0.12.12.crate) = 14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a
+SIZE (rust/crates/target-lexicon-0.12.12.crate) = 25156
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unindent-0.2.3.crate) = c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce
+SIZE (rust/crates/unindent-0.2.3.crate) = 7306
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (laz-rs-laz-rs-python-0.5.3_GH0.tar.gz) = 6330c1b4a0592ab29eb56bf80b9c94af3ce5a022c4255a9a37ab58845d7e7d39
+SIZE (laz-rs-laz-rs-python-0.5.3_GH0.tar.gz) = 7268
diff --git a/misc/py-lazrs/pkg-descr b/misc/py-lazrs/pkg-descr
new file mode 100644
index 000000000000..48bd47ddda54
--- /dev/null
+++ b/misc/py-lazrs/pkg-descr
@@ -0,0 +1,4 @@
+lazrs is a Python bindings for the laz-rs Rust crate.
+
+lazrs allows to read/write compressed LASer (LAS) file format
+representing 3-dimensional point cloud data.