From 52a941e21095356e301f12dea2ce75ad8a8cd163 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 12:25:54 -0700 Subject: [PATCH 01/23] add missing source to setup.py --- .github/workflows/build.yaml | 2 ++ .gitignore | 4 ++++ python/setup.py.in | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 612d1fcd..ab7499ce 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -21,3 +21,5 @@ jobs: run: ./test/runall.pl - name: install run: sudo cmake --install . + - name: test python + run: python3 -c "import cg3; print(dir(cg3))" diff --git a/.gitignore b/.gitignore index badf168d..327f33b2 100644 --- a/.gitignore +++ b/.gitignore @@ -3,8 +3,10 @@ /CMakeCache.txt /CMakeFiles Makefile +/src/cg-annotate /src/cg-comp /src/cg-conv +/src/cg-merge-annotations /src/cg-mwesplit /src/cg-proc /src/cg-relabel @@ -31,7 +33,9 @@ Makefile /test/**/*.bin __pycache__ +/python/cg3.py /python/constraint_grammar_wrap.cpp +/python/constraint_grammar.i /python/constraint_grammar.py /python/setup.py /python/build* diff --git a/python/setup.py.in b/python/setup.py.in index a394c3be..a28c56bf 100644 --- a/python/setup.py.in +++ b/python/setup.py.in @@ -22,7 +22,7 @@ def get_sources(): cc_sources = [ 'ApertiumApplicator.cpp', 'BinaryGrammar.cpp', 'BinaryGrammar_read.cpp', 'BinaryGrammar_read_10043.cpp', 'BinaryGrammar_write.cpp', 'Cohort.cpp', 'CohortIterator.cpp', 'ContextualTest.cpp', 'Grammar.cpp', - 'GrammarApplicator.cpp', 'GrammarApplicator_matchSet.cpp', 'GrammarApplicator_reflow.cpp', + 'GrammarApplicator.cpp', 'GrammarApplicator_context.cpp', 'GrammarApplicator_matchSet.cpp', 'GrammarApplicator_reflow.cpp', 'GrammarApplicator_runContextualTest.cpp', 'GrammarApplicator_runGrammar.cpp', 'GrammarApplicator_runRules.cpp', 'GrammarWriter.cpp', 'MatxinApplicator.cpp', 'Reading.cpp', 'Rule.cpp', 'Set.cpp', 'SingleWindow.cpp', 'Strings.cpp', 'Tag.cpp', From 506e667641b0eb46b9ef355788c800df0d5e2f53 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 13:39:54 -0700 Subject: [PATCH 02/23] distutils -> setuptools; do not call setup.py directly --- .github/workflows/build.yaml | 6 +++--- .gitignore | 1 + python/CMakeLists.txt | 10 +++++++--- python/setup.py.in | 14 +++----------- 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index ab7499ce..55e28f5d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -9,8 +9,8 @@ jobs: - uses: actions/checkout@v3 - name: dependencies run: | - sudo apt-get -qy update - sudo apt-get -qfy install --no-install-recommends libboost-dev libicu-dev cmake build-essential perl python3-dev python3-setuptools swig + apt-get -qy update + apt-get -qfy install --no-install-recommends libboost-dev libicu-dev cmake build-essential perl python3-dev python3-setuptools swig - name: cmake run: cmake -DENABLE_PYTHON_BINDINGS=ON . - name: build @@ -20,6 +20,6 @@ jobs: - name: test suite run: ./test/runall.pl - name: install - run: sudo cmake --install . + run: cmake --install . - name: test python run: python3 -c "import cg3; print(dir(cg3))" diff --git a/.gitignore b/.gitignore index 327f33b2..9e977fa6 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ __pycache__ /python/constraint_grammar_wrap.cpp /python/constraint_grammar.i /python/constraint_grammar.py +/python/wheels/ /python/setup.py /python/build* *.egg-info/ diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 122bb798..19880dc8 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -18,8 +18,12 @@ endforeach() configure_file(constraint_grammar.i.in constraint_grammar.i @ONLY) configure_file(setup.py.in setup.py) +if(NOT PYTHON_BUILD_PARAMS) + set(PYTHON_BUILD_PARAMS "--no-deps" "--wheel-dir" "wheels") +endif() + add_custom_command(OUTPUT ${CPP_WRAP_FILE} ${PYTHON_FILE} - COMMAND ${PYTHON_EXECUTABLE} setup.py build + COMMAND ${PYTHON_EXECUTABLE} -m pip wheel ${PYTHON_BUILD_PARAMS} . COMMENT "Building ${PYTHON_FILE}" ) @@ -29,8 +33,8 @@ add_custom_target(wrapper ALL ) if(NOT PYTHON_INSTALL_PARAMS) - set(PYTHON_INSTALL_PARAMS "--prefix=${CMAKE_INSTALL_PREFIX} --root=\$ENV{DESTDIR}/") + set(PYTHON_INSTALL_PARAMS "--prefix=${CMAKE_INSTALL_PREFIX} --no-index --find-links=wheels/") # TODO what was the point of --root=\$ENV{DESTDIR}/ ? endif() -set(INSTALL_WRAPPER "${PYTHON_EXECUTABLE} setup.py install ${PYTHON_INSTALL_PARAMS}") +set(INSTALL_WRAPPER "${PYTHON_EXECUTABLE} -m pip install ${PYTHON_INSTALL_PARAMS} constraint_grammar") install(CODE "execute_process(COMMAND ${INSTALL_WRAPPER} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})") diff --git a/python/setup.py.in b/python/setup.py.in index a28c56bf..e34c0804 100644 --- a/python/setup.py.in +++ b/python/setup.py.in @@ -3,18 +3,11 @@ """ Setup for SWIG Python bindings for constraint_grammar """ -from os import path -from distutils.core import Extension, setup -from distutils.command.build import build +from os import path -class CustomBuild(build): - sub_commands = [ - ('build_ext', build.has_ext_modules), - ('build_py', build.has_pure_modules), - ('build_clib', build.has_c_libraries), - ('build_scripts', build.has_scripts), - ] +from setuptools import Extension +from setuptools import setup def get_sources(): @@ -48,7 +41,6 @@ setup( long_description='SWIG interface to constraint_grammar for use in apertium-python', # TODO: author, author_email, maintainer, url license='GPL-3.0+', - cmdclass={'build': CustomBuild}, ext_modules=[constraint_grammar_module], py_modules=['constraint_grammar', 'cg3'], ) From f5030050626f1f9c57adbd2cfa15a39ac501b5c3 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 13:42:43 -0700 Subject: [PATCH 03/23] put sudo back in build.yaml --- .github/workflows/build.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 55e28f5d..ab7499ce 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -9,8 +9,8 @@ jobs: - uses: actions/checkout@v3 - name: dependencies run: | - apt-get -qy update - apt-get -qfy install --no-install-recommends libboost-dev libicu-dev cmake build-essential perl python3-dev python3-setuptools swig + sudo apt-get -qy update + sudo apt-get -qfy install --no-install-recommends libboost-dev libicu-dev cmake build-essential perl python3-dev python3-setuptools swig - name: cmake run: cmake -DENABLE_PYTHON_BINDINGS=ON . - name: build @@ -20,6 +20,6 @@ jobs: - name: test suite run: ./test/runall.pl - name: install - run: cmake --install . + run: sudo cmake --install . - name: test python run: python3 -c "import cg3; print(dir(cg3))" From e42af15238be39727e9f9d40366adfb37245be1d Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 13:51:39 -0700 Subject: [PATCH 04/23] python version mismatch in Actions? --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index ab7499ce..6191de7f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -22,4 +22,4 @@ jobs: - name: install run: sudo cmake --install . - name: test python - run: python3 -c "import cg3; print(dir(cg3))" + run: python3 --version && python3.10 -c "import cg3; print(dir(cg3))" From b0afe7668ad05d4fc2d486863990308e74f63df7 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 13:56:44 -0700 Subject: [PATCH 05/23] cg3 -> constraint_grammar --- .github/workflows/build.yaml | 2 +- python/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 6191de7f..516ee8c7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -22,4 +22,4 @@ jobs: - name: install run: sudo cmake --install . - name: test python - run: python3 --version && python3.10 -c "import cg3; print(dir(cg3))" + run: python3 -c "import constraint_grammar; print(dir(constraint_grammar))" diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 19880dc8..983cdd24 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -33,7 +33,7 @@ add_custom_target(wrapper ALL ) if(NOT PYTHON_INSTALL_PARAMS) - set(PYTHON_INSTALL_PARAMS "--prefix=${CMAKE_INSTALL_PREFIX} --no-index --find-links=wheels/") # TODO what was the point of --root=\$ENV{DESTDIR}/ ? + set(PYTHON_INSTALL_PARAMS "--prefix=${CMAKE_INSTALL_PREFIX} --no-index --find-links=wheels/") # TODO keep --root=\$ENV{DESTDIR}/ ? endif() set(INSTALL_WRAPPER "${PYTHON_EXECUTABLE} -m pip install ${PYTHON_INSTALL_PARAMS} constraint_grammar") From d8b260bba24d3083a0588631d2479cb57e5b4ec9 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 14:08:42 -0700 Subject: [PATCH 06/23] make install python --- .github/workflows/build.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 516ee8c7..c04427bc 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -22,4 +22,6 @@ jobs: - name: install run: sudo cmake --install . - name: test python - run: python3 -c "import constraint_grammar; print(dir(constraint_grammar))" + run: | + cd python && make install + python3 -c "import constraint_grammar; print(dir(constraint_grammar))" From f53f41a840178662e096f35bdbd1465accd6e1d3 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 14:12:49 -0700 Subject: [PATCH 07/23] sudo --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index c04427bc..436eab48 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -23,5 +23,5 @@ jobs: run: sudo cmake --install . - name: test python run: | - cd python && make install + cd python && sudo make install && cd .. python3 -c "import constraint_grammar; print(dir(constraint_grammar))" From 76c313319420f30cc7240261c548ffde16fb43e7 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 14:16:24 -0700 Subject: [PATCH 08/23] run python as sudo? --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 436eab48..b5426219 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -24,4 +24,4 @@ jobs: - name: test python run: | cd python && sudo make install && cd .. - python3 -c "import constraint_grammar; print(dir(constraint_grammar))" + sudo python3 -c "import constraint_grammar; print(dir(constraint_grammar))" From d631a0f0e5ef6c0cb6458dad702583e2effd1f1c Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 20:37:17 -0700 Subject: [PATCH 09/23] pip wheel -> build --- .github/workflows/build.yaml | 6 ++---- .gitignore | 2 +- python/CMakeLists.txt | 8 ++------ 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b5426219..de082565 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,7 +10,7 @@ jobs: - name: dependencies run: | sudo apt-get -qy update - sudo apt-get -qfy install --no-install-recommends libboost-dev libicu-dev cmake build-essential perl python3-dev python3-setuptools swig + sudo apt-get -qfy install --no-install-recommends cmake build-essential libboost-dev libicu-dev libsqlite3-dev perl pkg-config python3-build python3-dev python3-pip python3-setuptools swig - name: cmake run: cmake -DENABLE_PYTHON_BINDINGS=ON . - name: build @@ -22,6 +22,4 @@ jobs: - name: install run: sudo cmake --install . - name: test python - run: | - cd python && sudo make install && cd .. - sudo python3 -c "import constraint_grammar; print(dir(constraint_grammar))" + run: python3 -c "import constraint_grammar; print(dir(constraint_grammar))" diff --git a/.gitignore b/.gitignore index 9e977fa6..09dd64b6 100644 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,7 @@ __pycache__ /python/constraint_grammar_wrap.cpp /python/constraint_grammar.i /python/constraint_grammar.py -/python/wheels/ +/python/dist/ /python/setup.py /python/build* *.egg-info/ diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 983cdd24..1d5b5bb2 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -18,12 +18,8 @@ endforeach() configure_file(constraint_grammar.i.in constraint_grammar.i @ONLY) configure_file(setup.py.in setup.py) -if(NOT PYTHON_BUILD_PARAMS) - set(PYTHON_BUILD_PARAMS "--no-deps" "--wheel-dir" "wheels") -endif() - add_custom_command(OUTPUT ${CPP_WRAP_FILE} ${PYTHON_FILE} - COMMAND ${PYTHON_EXECUTABLE} -m pip wheel ${PYTHON_BUILD_PARAMS} . + COMMAND ${PYTHON_EXECUTABLE} -m build COMMENT "Building ${PYTHON_FILE}" ) @@ -33,7 +29,7 @@ add_custom_target(wrapper ALL ) if(NOT PYTHON_INSTALL_PARAMS) - set(PYTHON_INSTALL_PARAMS "--prefix=${CMAKE_INSTALL_PREFIX} --no-index --find-links=wheels/") # TODO keep --root=\$ENV{DESTDIR}/ ? + set(PYTHON_INSTALL_PARAMS "--prefix=${CMAKE_INSTALL_PREFIX} --no-index --find-links=dist/") # TODO keep --root=\$ENV{DESTDIR}/ ? endif() set(INSTALL_WRAPPER "${PYTHON_EXECUTABLE} -m pip install ${PYTHON_INSTALL_PARAMS} constraint_grammar") From d5eee16ceb3f88487d2370590425595772c66f14 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 20:40:47 -0700 Subject: [PATCH 10/23] add python3-venv --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index de082565..fa570445 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,7 +10,7 @@ jobs: - name: dependencies run: | sudo apt-get -qy update - sudo apt-get -qfy install --no-install-recommends cmake build-essential libboost-dev libicu-dev libsqlite3-dev perl pkg-config python3-build python3-dev python3-pip python3-setuptools swig + sudo apt-get -qfy install --no-install-recommends cmake build-essential libboost-dev libicu-dev libsqlite3-dev perl pkg-config python3-build python3-dev python3-pip python3-setuptools python3-venv swig - name: cmake run: cmake -DENABLE_PYTHON_BINDINGS=ON . - name: build From 4a74119712217a4fb939e12960670e2f4820714f Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 20:48:12 -0700 Subject: [PATCH 11/23] venv -> virtualenv --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index fa570445..f7b89e79 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,7 +10,7 @@ jobs: - name: dependencies run: | sudo apt-get -qy update - sudo apt-get -qfy install --no-install-recommends cmake build-essential libboost-dev libicu-dev libsqlite3-dev perl pkg-config python3-build python3-dev python3-pip python3-setuptools python3-venv swig + sudo apt-get -qfy install --no-install-recommends cmake build-essential libboost-dev libicu-dev libsqlite3-dev perl pkg-config python3-build python3-dev python3-pip python3-setuptools python3-virtualenv swig - name: cmake run: cmake -DENABLE_PYTHON_BINDINGS=ON . - name: build From c28c9caa10ea8b9a77649eb5485a5ebc26682557 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 21:03:07 -0700 Subject: [PATCH 12/23] install build dependencies with pip --- .github/workflows/build.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index f7b89e79..ef39256d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,7 +10,8 @@ jobs: - name: dependencies run: | sudo apt-get -qy update - sudo apt-get -qfy install --no-install-recommends cmake build-essential libboost-dev libicu-dev libsqlite3-dev perl pkg-config python3-build python3-dev python3-pip python3-setuptools python3-virtualenv swig + sudo apt-get -qfy install --no-install-recommends cmake build-essential libboost-dev libicu-dev libsqlite3-dev perl pkg-config python3 python3-dev python3-pip swig + sudo python3 -m pip install --upgrade build pip setuptools - name: cmake run: cmake -DENABLE_PYTHON_BINDINGS=ON . - name: build From 553f4fbbe73487a7e53adabb2ab1bb9f685356ed Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 21:17:31 -0700 Subject: [PATCH 13/23] add build_ext back in --- python/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 1d5b5bb2..933d05e0 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -19,6 +19,7 @@ configure_file(constraint_grammar.i.in constraint_grammar.i @ONLY) configure_file(setup.py.in setup.py) add_custom_command(OUTPUT ${CPP_WRAP_FILE} ${PYTHON_FILE} + COMMAND ${PYTHON_EXECUTABLE} setup.py build_ext COMMAND ${PYTHON_EXECUTABLE} -m build COMMENT "Building ${PYTHON_FILE}" ) From 61c83b872bdc5cca9d21856c2965b5e213468be3 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 21:41:44 -0700 Subject: [PATCH 14/23] run swig manually --- python/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 933d05e0..33b1fcc7 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -19,7 +19,7 @@ configure_file(constraint_grammar.i.in constraint_grammar.i @ONLY) configure_file(setup.py.in setup.py) add_custom_command(OUTPUT ${CPP_WRAP_FILE} ${PYTHON_FILE} - COMMAND ${PYTHON_EXECUTABLE} setup.py build_ext + COMMAND swig -python -c++ -I/usr/include -I. -Isrc -Iinclude -Wall -o python/constraint_grammar_wrap.cpp python/constraint_grammar.i COMMAND ${PYTHON_EXECUTABLE} -m build COMMENT "Building ${PYTHON_FILE}" ) From 3313ee12156bb525cab2a187cc358f2cd89183f0 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Tue, 28 Nov 2023 21:44:32 -0700 Subject: [PATCH 15/23] fix relative paths in include --- python/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 33b1fcc7..c49dfe3a 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -19,7 +19,7 @@ configure_file(constraint_grammar.i.in constraint_grammar.i @ONLY) configure_file(setup.py.in setup.py) add_custom_command(OUTPUT ${CPP_WRAP_FILE} ${PYTHON_FILE} - COMMAND swig -python -c++ -I/usr/include -I. -Isrc -Iinclude -Wall -o python/constraint_grammar_wrap.cpp python/constraint_grammar.i + COMMAND swig -python -c++ -I/usr/include -I.. -I../src -I../include -Wall -o constraint_grammar_wrap.cpp constraint_grammar.i COMMAND ${PYTHON_EXECUTABLE} -m build COMMENT "Building ${PYTHON_FILE}" ) From 734cf28425cdc6da0440e126fe220a13b33ec0e1 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Wed, 29 Nov 2023 07:17:04 -0700 Subject: [PATCH 16/23] remove --prefix from pip install --- .github/workflows/build.yaml | 6 +++++- python/CMakeLists.txt | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index ef39256d..824a46cb 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -23,4 +23,8 @@ jobs: - name: install run: sudo cmake --install . - name: test python - run: python3 -c "import constraint_grammar; print(dir(constraint_grammar))" + run: | + find / -name "constraint_grammar.py" + cd python/dist && unzip *.whl && ls -l && cd ../.. + python3 -c "import constraint_grammar; print(dir(constraint_grammar))" + python3 -c "import cg3; print(dir(cg3))" diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index c49dfe3a..798b96f8 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -30,7 +30,7 @@ add_custom_target(wrapper ALL ) if(NOT PYTHON_INSTALL_PARAMS) - set(PYTHON_INSTALL_PARAMS "--prefix=${CMAKE_INSTALL_PREFIX} --no-index --find-links=dist/") # TODO keep --root=\$ENV{DESTDIR}/ ? + set(PYTHON_INSTALL_PARAMS "--no-index --find-links=dist/") # TODO keep --prefix=${CMAKE_INSTALL_PREFIX} --root=\$ENV{DESTDIR}/ ? endif() set(INSTALL_WRAPPER "${PYTHON_EXECUTABLE} -m pip install ${PYTHON_INSTALL_PARAMS} constraint_grammar") From 9d33f9ff000e288352e2302bf1fb6d920129b623 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Wed, 29 Nov 2023 07:35:26 -0700 Subject: [PATCH 17/23] more debugging --- .github/workflows/build.yaml | 5 +++-- python/CMakeLists.txt | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 824a46cb..a0ba6d53 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -21,10 +21,11 @@ jobs: - name: test suite run: ./test/runall.pl - name: install - run: sudo cmake --install . + run: sudo cmake --install --trace . - name: test python run: | - find / -name "constraint_grammar.py" + python3 -c "import sys; print(sys.path)" + sudo find / -name "constraint_grammar.py" cd python/dist && unzip *.whl && ls -l && cd ../.. python3 -c "import constraint_grammar; print(dir(constraint_grammar))" python3 -c "import cg3; print(dir(cg3))" diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 798b96f8..85a4fd4d 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -30,7 +30,7 @@ add_custom_target(wrapper ALL ) if(NOT PYTHON_INSTALL_PARAMS) - set(PYTHON_INSTALL_PARAMS "--no-index --find-links=dist/") # TODO keep --prefix=${CMAKE_INSTALL_PREFIX} --root=\$ENV{DESTDIR}/ ? + set(PYTHON_INSTALL_PARAMS "-vvv --no-index --find-links=dist/") # TODO keep --prefix=${CMAKE_INSTALL_PREFIX} --root=\$ENV{DESTDIR}/ ? endif() set(INSTALL_WRAPPER "${PYTHON_EXECUTABLE} -m pip install ${PYTHON_INSTALL_PARAMS} constraint_grammar") From c053e1f2ebbc1c1a884717c1e172982d8a5199e0 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Wed, 29 Nov 2023 07:43:20 -0700 Subject: [PATCH 18/23] fix cmake trace --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a0ba6d53..2bcc9722 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -21,7 +21,7 @@ jobs: - name: test suite run: ./test/runall.pl - name: install - run: sudo cmake --install --trace . + run: sudo cmake --install . --trace --verbose - name: test python run: | python3 -c "import sys; print(sys.path)" From 02beb83c36341a68107f1ed7562968d1dcd89b6e Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Wed, 29 Nov 2023 07:46:45 -0700 Subject: [PATCH 19/23] delete --trace --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 2bcc9722..2fc06fc5 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -21,7 +21,7 @@ jobs: - name: test suite run: ./test/runall.pl - name: install - run: sudo cmake --install . --trace --verbose + run: sudo cmake --install . --verbose - name: test python run: | python3 -c "import sys; print(sys.path)" From b8350337fd35a415abfbce47c07b21603ddf5f17 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Wed, 29 Nov 2023 07:59:02 -0700 Subject: [PATCH 20/23] remove swig call --- .github/workflows/build.yaml | 5 +---- python/CMakeLists.txt | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 2fc06fc5..218bbdb8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -21,11 +21,8 @@ jobs: - name: test suite run: ./test/runall.pl - name: install - run: sudo cmake --install . --verbose + run: sudo cmake --install . - name: test python run: | - python3 -c "import sys; print(sys.path)" - sudo find / -name "constraint_grammar.py" - cd python/dist && unzip *.whl && ls -l && cd ../.. python3 -c "import constraint_grammar; print(dir(constraint_grammar))" python3 -c "import cg3; print(dir(cg3))" diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 85a4fd4d..05908731 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -19,7 +19,7 @@ configure_file(constraint_grammar.i.in constraint_grammar.i @ONLY) configure_file(setup.py.in setup.py) add_custom_command(OUTPUT ${CPP_WRAP_FILE} ${PYTHON_FILE} - COMMAND swig -python -c++ -I/usr/include -I.. -I../src -I../include -Wall -o constraint_grammar_wrap.cpp constraint_grammar.i + # COMMAND swig -python -c++ -I/usr/include -I.. -I../src -I../include -Wall -o constraint_grammar_wrap.cpp constraint_grammar.i COMMAND ${PYTHON_EXECUTABLE} -m build COMMENT "Building ${PYTHON_FILE}" ) @@ -30,7 +30,7 @@ add_custom_target(wrapper ALL ) if(NOT PYTHON_INSTALL_PARAMS) - set(PYTHON_INSTALL_PARAMS "-vvv --no-index --find-links=dist/") # TODO keep --prefix=${CMAKE_INSTALL_PREFIX} --root=\$ENV{DESTDIR}/ ? + set(PYTHON_INSTALL_PARAMS "--no-index --find-links=dist/") # TODO keep --prefix=${CMAKE_INSTALL_PREFIX} --root=\$ENV{DESTDIR}/ ? endif() set(INSTALL_WRAPPER "${PYTHON_EXECUTABLE} -m pip install ${PYTHON_INSTALL_PARAMS} constraint_grammar") From f4c739aba49b27ec7e64e2556c434da7dcf90657 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Wed, 29 Nov 2023 08:06:53 -0700 Subject: [PATCH 21/23] keep swig call --- python/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 05908731..663e13ac 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -19,7 +19,7 @@ configure_file(constraint_grammar.i.in constraint_grammar.i @ONLY) configure_file(setup.py.in setup.py) add_custom_command(OUTPUT ${CPP_WRAP_FILE} ${PYTHON_FILE} - # COMMAND swig -python -c++ -I/usr/include -I.. -I../src -I../include -Wall -o constraint_grammar_wrap.cpp constraint_grammar.i + COMMAND swig -python -c++ -I/usr/include -I.. -I../src -I../include -Wall -o constraint_grammar_wrap.cpp constraint_grammar.i COMMAND ${PYTHON_EXECUTABLE} -m build COMMENT "Building ${PYTHON_FILE}" ) @@ -30,7 +30,7 @@ add_custom_target(wrapper ALL ) if(NOT PYTHON_INSTALL_PARAMS) - set(PYTHON_INSTALL_PARAMS "--no-index --find-links=dist/") # TODO keep --prefix=${CMAKE_INSTALL_PREFIX} --root=\$ENV{DESTDIR}/ ? + set(PYTHON_INSTALL_PARAMS "--no-index --find-links=dist/") # TODO removing --prefix=${CMAKE_INSTALL_PREFIX} --root=\$ENV{DESTDIR}/ probably has downstream effects endif() set(INSTALL_WRAPPER "${PYTHON_EXECUTABLE} -m pip install ${PYTHON_INSTALL_PARAMS} constraint_grammar") From 469f499f0349b97b3c9cbd92de36c01fd024d5b0 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Sat, 2 Dec 2023 09:45:08 -0700 Subject: [PATCH 22/23] dictionary_path -> grammar_path --- python/constraint_grammar.i.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python/constraint_grammar.i.in b/python/constraint_grammar.i.in index a81c5f44..1fe424e0 100644 --- a/python/constraint_grammar.i.in +++ b/python/constraint_grammar.i.in @@ -54,14 +54,14 @@ private: CG3::Grammar grammar; public: - CGProc(char *dictionary_path); + CGProc(char *grammar_path); void cg_proc(int argc, char **argv, char *input_path, char *output_path); }; -CGProc::CGProc(char *dictionary_path) +CGProc::CGProc(char *grammar_path) { std::unique_ptr parser; - FILE* dictionary = fopen(dictionary_path, "rb"); + FILE* dictionary = fopen(grammar_path, "rb"); fread(&CG3::cbuffers[0][0], 1, 4, dictionary); fclose(dictionary); if (CG3::cbuffers[0][0] == 'C' && CG3::cbuffers[0][1] == 'G' && CG3::cbuffers[0][2] == '3' && CG3::cbuffers[0][3] == 'B') { @@ -70,7 +70,7 @@ CGProc::CGProc(char *dictionary_path) else { parser.reset(new CG3::TextualParser(grammar, std::cerr)); } - parser->parse_grammar(dictionary_path); + parser->parse_grammar(grammar_path); } void CGProc::cg_proc(int argc, char **argv, char *input_path, char *output_path) From 43c8ee3658bb979c9c17cf8a9aaf2c1d6298eb28 Mon Sep 17 00:00:00 2001 From: reynoldsnlp Date: Sat, 2 Dec 2023 09:55:34 -0700 Subject: [PATCH 23/23] dictionary -> grammar_file --- python/constraint_grammar.i.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/constraint_grammar.i.in b/python/constraint_grammar.i.in index 1fe424e0..9b3d43f7 100644 --- a/python/constraint_grammar.i.in +++ b/python/constraint_grammar.i.in @@ -61,9 +61,9 @@ public: CGProc::CGProc(char *grammar_path) { std::unique_ptr parser; - FILE* dictionary = fopen(grammar_path, "rb"); - fread(&CG3::cbuffers[0][0], 1, 4, dictionary); - fclose(dictionary); + FILE* grammar_file = fopen(grammar_path, "rb"); + fread(&CG3::cbuffers[0][0], 1, 4, grammar_file); + fclose(grammar_file); if (CG3::cbuffers[0][0] == 'C' && CG3::cbuffers[0][1] == 'G' && CG3::cbuffers[0][2] == '3' && CG3::cbuffers[0][3] == 'B') { parser.reset(new CG3::BinaryGrammar(grammar, std::cerr)); }