diff --git a/missing-duckdb.patch b/missing-duckdb.patch new file mode 100644 index 0000000..28bba11 --- /dev/null +++ b/missing-duckdb.patch @@ -0,0 +1,50 @@ +--- + tests/test_executor.py | 7 ++++++- + tests/test_optimizer.py | 7 ++++++- + 2 files changed, 12 insertions(+), 2 deletions(-) + +--- a/tests/test_executor.py ++++ b/tests/test_executor.py +@@ -1,6 +1,10 @@ + import unittest + +-import duckdb ++try: ++ import duckdb ++ DUCKDB_AVAILABLE = True ++except ImportError: ++ DUCKDB_AVAILABLE = False + import pandas as pd + from pandas.testing import assert_frame_equal + +@@ -12,6 +16,7 @@ from tests.helpers import FIXTURES_DIR, + DIR = FIXTURES_DIR + "/optimizer/tpc-h/" + + ++@unittest.skipUnless(DUCKDB_AVAILABLE, "Cannot work without duckdb.") + class TestExecutor(unittest.TestCase): + @classmethod + def setUpClass(cls): +--- a/tests/test_optimizer.py ++++ b/tests/test_optimizer.py +@@ -1,7 +1,11 @@ + import unittest + from functools import partial + +-import duckdb ++try: ++ import duckdb ++ DUCKDB_AVAILABLE = True ++except ImportError: ++ DUCKDB_AVAILABLE = False + from pandas.testing import assert_frame_equal + + import sqlglot +@@ -18,6 +22,7 @@ from tests.helpers import ( + ) + + ++@unittest.skipUnless(DUCKDB_AVAILABLE, "Cannot work without duckdb.") + class TestOptimizer(unittest.TestCase): + maxDiff = None + diff --git a/python-sqlglot.changes b/python-sqlglot.changes index 0013418..4d85673 100644 --- a/python-sqlglot.changes +++ b/python-sqlglot.changes @@ -1,6 +1,7 @@ ------------------------------------------------------------------- -Thu Oct 13 09:43:59 UTC 2022 - Matej Cepl +Thu Oct 13 10:03:56 UTC 2022 - Matej Cepl +- Add missing-duckdb.patch until we package duckdb as well. - Clean up SPEC file. ------------------------------------------------------------------- diff --git a/python-sqlglot.spec b/python-sqlglot.spec index 9355883..cb3e512 100644 --- a/python-sqlglot.spec +++ b/python-sqlglot.spec @@ -16,6 +16,7 @@ # +%define modname sqlglot %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-sqlglot Version: 7.0.0 @@ -23,10 +24,17 @@ Release: 0 Summary: An easily customizable SQL parser and transpiler License: MIT URL: https://github.com/tobymao/sqlglot -Source: https://files.pythonhosted.org/packages/source/s/sqlglot/sqlglot-%{version}.tar.gz -BuildRequires: %{python_module setuptools} +Source: https://github.com/tobymao/%{modname}/archive/refs/tags/v%{version}.tar.gz#/%{modname}-%{version}.tar.gz +# PATCH-FIX-OPENSUSE missing-duckdb.patch mcepl@suse.com +# Skip over duckdb requiring tests until it is packaged +Patch0: missing-duckdb.patch +BuildRequires: %{python_module pip} +BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros +# FOR TESTS +BuildRequires: %{python_module pandas} +# END FOR TESTS BuildArch: noarch %python_subpackages @@ -43,15 +51,18 @@ Syntax errors are highlighted and dialect incompatibilities can warn or raise depending on configurations. %prep -%setup -q -n sqlglot-%{version} +%autosetup -p1 -n sqlglot-%{version} %build -%python_build +%pyproject_wheel %install -%python_install +%pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitelib} +%check +%pyunittest discover -v + %files %{python_files} %doc README.md %license LICENSE diff --git a/sqlglot-7.0.0.tar.gz b/sqlglot-7.0.0.tar.gz index 149c86e..da9a0c2 100644 --- a/sqlglot-7.0.0.tar.gz +++ b/sqlglot-7.0.0.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09bd4055f2cdfe1e8e3ac3e16f46ccd555f7beb2742092bb70f5c702ab0c1718 -size 112825 +oid sha256:a56f5e380bb3a29ef6fe70b7c8bcda04135df78b4574d8fd8ba264c358539637 +size 3548763