diff options
-rw-r--r-- | dev-python/sqlglot/Manifest | 1 | ||||
-rw-r--r-- | dev-python/sqlglot/sqlglot-25.13.0.ebuild | 121 |
2 files changed, 122 insertions, 0 deletions
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest index 441be4eee781..fd646b4cedf3 100644 --- a/dev-python/sqlglot/Manifest +++ b/dev-python/sqlglot/Manifest @@ -20,6 +20,7 @@ DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea7 DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d DIST sqlglot-25.12.0.tar.gz 19158536 BLAKE2B 33c6fee914163c7de2c3ec4b478463d31daee8090718563c0878377204d4a831e44fea5eea30ec34e1ebba22c0e4bdcb3f75783aefc010717fd10dfb27bf78b9 SHA512 51f2a637018b5f92aaf6829569977a55f0471e37e71428b5630e88f775e610d93c43b0b8978720589da5087175c38b87355c932a9da926b2b6e8cde6054efe5c +DIST sqlglot-25.13.0.tar.gz 19167499 BLAKE2B 0d54e5f1902ccbf93be372d6017f616add8285f0f02e5d56bd0deabbebe812012d6f582e4176683b786ac9bdc258450a6d25675ede4423dce894f69d387e9c6a SHA512 f242135d6df8c220ab3b569ebd80d4bfad27c95f92aeff28c87ba6e0a2488ab924198a4eaf9c50ad6dd675ae3f529f49416bfb6d8c3634629f6aabc02002edcd DIST syn-2.0.41.crate 246016 BLAKE2B 9d389f2e2a0acb4c84c309456e8ffcc88c5d4d541535ed136832d7a6054dde45a598bb68e8a6f3062ca2a96e1ceae947d54b3aec9bad65b0c51d6733aa6c80db SHA512 6bbaf69ca783025dfb81ac3612ac60bfbed31b2d87792909b35c12892dadebdaff2ddf9463105e536b671dce5870610ab90fe29471284bbd3014dca8d6993f1a DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 diff --git a/dev-python/sqlglot/sqlglot-25.13.0.ebuild b/dev-python/sqlglot/sqlglot-25.13.0.ebuild new file mode 100644 index 000000000000..3ecfcc322a3e --- /dev/null +++ b/dev-python/sqlglot/sqlglot-25.13.0.ebuild @@ -0,0 +1,121 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +CARGO_OPTIONAL=1 +CRATES=" + autocfg@1.1.0 + bitflags@1.3.2 + cfg-if@1.0.0 + heck@0.4.1 + indoc@2.0.4 + libc@0.2.150 + lock_api@0.4.11 + memoffset@0.9.0 + once_cell@1.19.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + proc-macro2@1.0.70 + pyo3-build-config@0.20.0 + pyo3-ffi@0.20.0 + pyo3-macros-backend@0.20.0 + pyo3-macros@0.20.0 + pyo3@0.20.0 + quote@1.0.33 + redox_syscall@0.4.1 + scopeguard@1.2.0 + smallvec@1.11.2 + syn@2.0.41 + 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 +" + +inherit cargo distutils-r1 pypi optfeature + +DESCRIPTION="An easily customizable SQL parser and transpiler" +HOMEPAGE=" + https://sqlglot.com/ + https://github.com/tobymao/sqlglot/ + https://pypi.org/project/sqlglot/ +" +SRC_URI+=" + native-extensions? ( + ${CARGO_CRATE_URIS} + ) +" + +LICENSE="MIT" +LICENSE+=" native-extensions? (" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" +LICENSE+=" )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="+native-extensions" + +BDEPEND=" + native-extensions? ( + ${RUST_DEPEND} + dev-util/maturin[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so" + +src_unpack() { + cargo_src_unpack +} + +src_prepare() { + # remove fragile timing check + sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die + distutils-r1_src_prepare +} + +python_compile() { + distutils-r1_python_compile + + if use native-extensions; then + local DISTUTILS_USE_PEP517=maturin + cd sqlglotrs || die + distutils-r1_python_compile + cd - >/dev/null || die + fi +} + +python_test() { + local EPYTEST_IGNORE=( + # Tests require pyspark or duckdb which aren't in the tree. + # Pandas would be a requirement normally, but it gets ignored by proxy. + "tests/dataframe/integration/test_dataframe.py" + "tests/dataframe/integration/test_grouped_data.py" + "tests/dataframe/integration/test_session.py" + "tests/test_executor.py" + "tests/test_optimizer.py" + ) + + # make sure not to use an earlier installed version + local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0) + rm -rf sqlglotrs || die + epytest +} + +pkg_postinst() { + optfeature "simplifying timedelta expressions" dev-python/python-dateutil +} |