summaryrefslogtreecommitdiff
path: root/dev-python/sqlglot
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/sqlglot')
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-28.4.1.ebuild93
2 files changed, 94 insertions, 0 deletions
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index e46045e881ce..875fd4283a1f 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -2,3 +2,4 @@ DIST sqlglot-27.24.2-crates.tar.xz 8973180 BLAKE2B f893ebe4b94d4c2ab94f8fa902e51
DIST sqlglot-27.29.0.tar.gz 5503507 BLAKE2B f9c92b8f287ca4c99c792d005e62846afd669ba27b5d09042de06c8c3fa5e46b21abdf5134cc81ae3ae2cb13d0a5997c56ac07c14e5fb938544d5dbc08c70632 SHA512 5fc7a8a81b39a2dba007b501f1f5c2de9fa1e74b39d44e1bea706491db1ead0329aa2fbfb7c4997a50458137af70d259a227a8662ac26ba2904dde2b66922bb1
DIST sqlglot-28.1.0.tar.gz 5546281 BLAKE2B 67b6ae2e3e2fef3a4df6759c12e4a028fc561ce3ad6befff9cc05f022273f5b3c076d75a727742c5ccf259425376318548655be2700491eed8d89429d45e6ce6 SHA512 2e4bba3ca9a2165c8d5b9341851828bb386c77b4721a2217e99345d7b0f0d5d98c657771b35de6d108f68aa96eff10a641f5627912342e57a4231162bcb7152d
DIST sqlglot-28.3.0.tar.gz 5572546 BLAKE2B 5f95d6adc9b00fc55cc8f096429ce74f063d77abcbbe100ed144aeedf50377b4120c417f8a135cd2f4f96539a285760401baae0054ae429452527638414c9fdd SHA512 77304b81cace71db3511b6cde4594f92222fbb1ab18b4b51550f436d432c8ed5d90f251385b04d4dd964a2e7cb66d4bc1cd62c87660d8ada35ad5d16314c9844
+DIST sqlglot-28.4.1.tar.gz 5651480 BLAKE2B 93ec014282cf556b12c7cdc074000869f17fe46d25a886f9cd3aa88fa18363abd8e953d28296c3338e7bf4323b228f51189501ea624d90dbc597fc7a7cc4dea0 SHA512 3d396089a545d3571ffff2ae4a2c20156d27e0ed695d237250bca8cf84e2ac844321c2bbaf24951ea2ce3b89c2a5872f6ef8e88a51031c0d98e186b21cabac22
diff --git a/dev-python/sqlglot/sqlglot-28.4.1.ebuild b/dev-python/sqlglot/sqlglot-28.4.1.ebuild
new file mode 100644
index 000000000000..8f5401ed64eb
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-28.4.1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+CRATE_PV=27.24.2
+
+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? (
+ https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${CRATE_PV}/sqlglot-${CRATE_PV}-crates.tar.xz
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 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}]
+ )
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+pkg_setup() {
+ use native-extensions && rust_pkg_setup
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+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
+}