Merge branch 'update-assimp'

This commit is contained in:
Fabien LOISON 2024-01-06 16:49:08 +01:00
commit 9e28095ba6
No known key found for this signature in database
GPG Key ID: FF90CA148348048E
6 changed files with 47 additions and 1279 deletions

File diff suppressed because it is too large Load Diff

View File

@ -56,7 +56,10 @@ Changelog
* **[NEXT]** (changes on ``master`` that have not been released yet):
* Nothing yet ;)
* feat(assimp): Updated assimp to v5.3.1
* chore: Removed a script that is no more needed
* docs: Updated contributing documentation (libraries, supported Python
version, assimp update)
* **v1.2.3:**

2
assimp

@ -1 +1 @@
Subproject commit 21d7085be6b7a3c6912ce33d9931688dc1a4a6dc
Subproject commit 6a08c39e3a91ef385e76515cfad86aca4bfd57ff

View File

@ -96,15 +96,17 @@ Linux as operating system and a POSIX shell (like Bash or ZSH).
Programming languages used in this project:
* Python_ (2.7, 3.7, 3.8 and 3.9)
* Python_ (3.8 to 3.12)
* C++
Libraries:
* CFFI_: C/Python binding
* imagequant_: Color quantization (to reduce number of colors in an image)
* mozjpeg-lossless-optimization_: Lossless JPEG optimization
* Pillow_: Image processing library
* PyGuetzli_: JPEG optimization
* ZopfliPy_: PNG Optimization
* ZopfliPy_: PNG optimization
Development tools:
@ -249,9 +251,37 @@ Then you can run the following command::
nox -s gendoc
Updating ASSIMP
---------------
ASSIMP is the C++ library used by YOGA to manipulate 3D models. To update it,
first check the latest version tag on the project's repo :
* https://github.com/assimp/assimp/tags
Then go to the assimp subfolder and checkout the latest release tag::
cd assimp/
git fetch
git checkout vX.Y.Z
cd ..
Then, run tests to ensure YOGA still work::
nox -s test
Finally, check we are still able to build a wheel from the sdist package::
nox -s test_build_wheel
If the build fails because of a missing file, add it in ``MANIFEST.in``.
.. _Python: https://www.python.org/
.. _CFFI: https://cffi.readthedocs.io/en/latest/
.. _imagequant: https://github.com/wanadev/imagequant-python
.. _mozjpeg-lossless-optimization: https://github.com/wanadev/mozjpeg-lossless-optimization
.. _Pillow: https://pillow.readthedocs.io/en/stable/
.. _PyGuetzli: https://github.com/wanadev/pyguetzli
.. _ZopfliPy: https://github.com/hattya/zopflipy

View File

@ -8,6 +8,8 @@ PYTHON_FILES = [
"noxfile.py",
]
PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12"]
@nox.session(reuse_venv=True)
def lint(session):
@ -42,13 +44,19 @@ def black_fix(session):
session.run("black", *PYTHON_FILES)
@nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12"], reuse_venv=True)
@nox.session(python=PYTHON_VERSIONS, reuse_venv=True)
def test(session):
session.install("pytest")
session.install(".")
session.run("pytest", "-v", "test")
@nox.session(reuse_venv=False)
def test_build_wheel(session):
session.install("build")
session.run("python", "-m", "build")
@nox.session(reuse_venv=True)
def gendoc(session):
session.install("sphinx", "sphinx-rtd-theme")

View File

@ -1,35 +0,0 @@
#!/bin/bash
##
## Lists the files to include in sdist distribution. This can be used to
## generate the MANIFEST.in contents:
##
## scripts/generate_manifest_in.sh > MANIFEST.in
##
echo "include README.rst"
echo "include LICENSE"
echo
find yoga/model -name "*.h" -exec echo "include" "{}" ";"
find yoga/model -name "*.c" -exec echo "include" "{}" ";"
find yoga/model -name "*.cpp" -exec echo "include" "{}" ";"
echo
echo "include assimp/CREDITS"
echo "include assimp/LICENSE"
echo "include assimp/README.md"
echo "include assimp/CMakeLists.txt"
find assimp -type f -name "*.in" -exec echo "include" "{}" ";" \
| grep -v "^include assimp/\(include\|cmake-modules\|contrib\|test\|doc\)/"
find assimp/cmake-modules -type f -exec echo "include" "{}" ";"
find assimp/code -type f -exec echo "include" "{}" ";"
find assimp/contrib -type f -exec echo "include" "{}" ";" \
| grep -v "^include assimp/contrib/gtest"
find assimp/include -type f -exec echo "include" "{}" ";"
echo
echo "recursive-exclude test *"