fonttools / skia-pathops

Python bindings for the Skia library's Path Ops
https://skia.org/docs/dev/present/pathops/
BSD 3-Clause "New" or "Revised" License
47 stars 14 forks source link

Fails to build from source/sdist #69

Closed SuperSandro2000 closed 1 year ago

SuperSandro2000 commented 1 year ago

I am trying to update skia-pathops on NixOS and regardless if I use the sdist or download the source code with the submodules I am receiving the following error which I think looks like some dependency in Ninja is missing.

ninja: error: '../../../../../../src/cpp/skia-builder/skia/third_party/externals/wuffs/release/c/wuffs-v0.3.c', needed by 'obj/third_party/externals/wuffs/release/c/libwuffs.wuffs-v0.3.o', missing and no known rule to make it
skia-pathops> building '/nix/store/j989r55bkivhp9rx7npmql3zn3h37v4x-python3.10-skia-pathops-0.8.0.drv'
skia-pathops> Sourcing python-remove-tests-dir-hook
skia-pathops> Sourcing python-catch-conflicts-hook.sh
skia-pathops> Sourcing python-remove-bin-bytecode-hook.sh
skia-pathops> Sourcing setuptools-build-hook
skia-pathops> Using setuptoolsBuildPhase
skia-pathops> Using setuptoolsShellHook
skia-pathops> Sourcing pip-install-hook
skia-pathops> Using pipInstallPhase
skia-pathops> Sourcing python-imports-check-hook.sh
skia-pathops> Using pythonImportsCheckPhase
skia-pathops> Sourcing python-namespaces-hook
skia-pathops> Sourcing python-catch-conflicts-hook.sh
skia-pathops> Sourcing setuptools-check-hook
skia-pathops> Using setuptoolsCheckPhase
skia-pathops> Sourcing pytest-check-hook
skia-pathops> Using pytestCheckPhase
skia-pathops> Removing setuptoolsCheckPhase
skia-pathops> unpacking sources
skia-pathops> unpacking source archive /nix/store/16ls5vg4mjkmr2pfpqp9q4r06zbywv74-source
skia-pathops> source root is source
skia-pathops> setting SOURCE_DATE_EPOCH to timestamp 315619200 of file source/tox.ini
skia-pathops> patching sources
skia-pathops> configuring
skia-pathops> no configure script, doing nothing
skia-pathops> building
skia-pathops> Executing setuptoolsBuildPhase
skia-pathops> /nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/config/setupcfg.py:520: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
skia-pathops>   warnings.warn(msg, warning_class)
skia-pathops> /nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/__init__.py:85: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`.
skia-pathops>   dist.fetch_build_eggs(dist.setup_requires)
skia-pathops> running bdist_wheel
skia-pathops> running build
skia-pathops> running build_py
skia-pathops> creating build
skia-pathops> creating build/lib.linux-x86_64-cpython-310
skia-pathops> creating build/lib.linux-x86_64-cpython-310/pathops
skia-pathops> copying src/python/pathops/__init__.py -> build/lib.linux-x86_64-cpython-310/pathops
skia-pathops> copying src/python/pathops/_version.py -> build/lib.linux-x86_64-cpython-310/pathops
skia-pathops> copying src/python/pathops/operations.py -> build/lib.linux-x86_64-cpython-310/pathops
skia-pathops> running build_ext
skia-pathops> [1/1] Cythonizing src/python/pathops/_pathops.pyx
skia-pathops> warning: src/python/pathops/_pathops.pxd:214:6: cpdef variables will not be supported in Cython 3; currently they are no different from cdef variables
skia-pathops> warning: src/python/pathops/_pathops.pxd:216:6: cpdef variables will not be supported in Cython 3; currently they are no different from cdef variables
skia-pathops> warning: src/python/pathops/_pathops.pyx:749:6: cpdef variables will not be supported in Cython 3; currently they are no different from cdef variables
skia-pathops> warning: src/python/pathops/_pathops.pyx:758:6: cpdef variables will not be supported in Cython 3; currently they are no different from cdef variables
skia-pathops> building 'pathops._pathops' extension
skia-pathops> creating build/temp.linux-x86_64-cpython-310
skia-pathops> creating build/temp.linux-x86_64-cpython-310/src
skia-pathops> creating build/temp.linux-x86_64-cpython-310/src/python
skia-pathops> creating build/temp.linux-x86_64-cpython-310/src/python/pathops
skia-pathops> g++ -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -I/nix/store/pf3si7nkxwdbg07q0m5zx9mkgzdp9g9y-libxcrypt-4.4.35/include -fPIC -Isrc/cpp/skia-builder/skia -Isrc/cpp/skia-builder/skia/src -I/nix/store/5a457g4zr7q11b4mz0ifc9z88kwcp8g7-python3-3.10.12/include/python3.10 -c src/python/pathops/_pathops.cpp -o build/temp.linux-x86_64-cpython-310/src/python/pathops/_pathops.o -std=c++17
skia-pathops> In file included from src/cpp/skia-builder/skia/include/pathops/SkPathOps.h:12,
skia-pathops>                  from src/python/pathops/_pathops.cpp:804:
skia-pathops> src/cpp/skia-builder/skia/include/private/base/SkTArray.h:518:33: warning: ‘cfi’ attribute directive ignored [-Wattributes]
skia-pathops>   518 |     static T* TCast(void* buffer) {
skia-pathops>       |                                 ^
skia-pathops> building 'skia' library
skia-pathops> Done. Made 92 targets from 35 files in 126ms
skia-pathops> ninja: Entering directory `/build/source/build/temp.linux-x86_64-cpython-310/src/cpp/skia-builder/skia'
skia-pathops> ninja: error: '../../../../../../src/cpp/skia-builder/skia/third_party/externals/wuffs/release/c/wuffs-v0.3.c', needed by 'obj/third_party/externals/wuffs/release/c/libwuffs.wuffs-v0.3.o', missing and no known rule to make it
skia-pathops> Traceback (most recent call last):
skia-pathops>   File "/build/source/src/cpp/skia-builder/build_skia.py", line 245, in <module>
skia-pathops>     build_skia(
skia-pathops>   File "/build/source/src/cpp/skia-builder/build_skia.py", line 156, in build_skia
skia-pathops>     subprocess.check_call(["ninja", "-C", build_dir, "skia"], env=env)
skia-pathops>   File "/nix/store/5a457g4zr7q11b4mz0ifc9z88kwcp8g7-python3-3.10.12/lib/python3.10/subprocess.py", line 369, in check_call
skia-pathops>     raise CalledProcessError(retcode, cmd)
skia-pathops> subprocess.CalledProcessError: Command '['ninja', '-C', '/build/source/build/temp.linux-x86_64-cpython-310/src/cpp/skia-builder/skia', 'skia']' returned non-zero exit status 1.
skia-pathops> Traceback (most recent call last):
skia-pathops>   File "/build/source/nix_run_setup", line 8, in <module>
skia-pathops>     exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))
skia-pathops>   File "setup.py", line 410, in <module>
skia-pathops>     setup(**setup_params)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/__init__.py", line 108, in setup
skia-pathops>     return distutils.core.setup(**attrs)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup
skia-pathops>     return run_commands(dist)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
skia-pathops>     dist.run_commands()
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
skia-pathops>     self.run_command(cmd)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/dist.py", line 1221, in run_command
skia-pathops>     super().run_command(command)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
skia-pathops>     cmd_obj.run()
skia-pathops>   File "/nix/store/9qqdyqgj2rxlsc1qk1sgg22dqmri2xy6-python3.10-wheel-0.38.4/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 325, in run
skia-pathops>     self.run_command("build")
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
skia-pathops>     self.distribution.run_command(command)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/dist.py", line 1221, in run_command
skia-pathops>     super().run_command(command)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
skia-pathops>     cmd_obj.run()
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 131, in run
skia-pathops>     self.run_command(cmd_name)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
skia-pathops>     self.distribution.run_command(command)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/dist.py", line 1221, in run_command
skia-pathops>     super().run_command(command)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
skia-pathops>     cmd_obj.run()
skia-pathops>   File "setup.py", line 216, in run
skia-pathops>     build_ext.run(self)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 84, in run
skia-pathops>     _build_ext.run(self)
skia-pathops>   File "/nix/store/7x6q2983h8jqss00wg8xwv5djpc5hjml-python3.10-cython-0.29.34/lib/python3.10/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
skia-pathops>     _build_ext.build_ext.run(self)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
skia-pathops>     self.build_extensions()
skia-pathops>   File "/nix/store/7x6q2983h8jqss00wg8xwv5djpc5hjml-python3.10-cython-0.29.34/lib/python3.10/site-packages/Cython/Distutils/old_build_ext.py", line 195, in build_extensions
skia-pathops>     _build_ext.build_ext.build_extensions(self)
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
skia-pathops>     self._build_extensions_serial()
skia-pathops>   File "/nix/store/basb8wsyinlwbcawx0v9lklvv06qpph6-python3.10-setuptools-67.4.0/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
skia-pathops>     self.build_extension(ext)
skia-pathops>   File "setup.py", line 193, in build_extension
skia-pathops>     libraries=self.get_libraries(ext),
skia-pathops>   File "setup.py", line 210, in get_libraries
skia-pathops>     library_dir = self._library_builders[library](self.build_temp)
skia-pathops>   File "setup.py", line 279, in build_skia
skia-pathops>     subprocess.run(build_cmd, check=True, env=env)
skia-pathops>   File "/nix/store/5a457g4zr7q11b4mz0ifc9z88kwcp8g7-python3-3.10.12/lib/python3.10/subprocess.py", line 526, in run
skia-pathops>     raise CalledProcessError(retcode, process.args,
skia-pathops> subprocess.CalledProcessError: Command '['/nix/store/5a457g4zr7q11b4mz0ifc9z88kwcp8g7-python3-3.10.12/bin/python3.10', 'src/cpp/skia-builder/build_skia.py', '--no-fetch-gn', '--no-virtualenv', '--gn-path', '/nix/store/qyrw03snfy1fz3bwsafmpa5q75b4dnz5-gn-unstable-2020-03-09/bin/gn', 'build/temp.linux-x86_64-cpython-310/src/cpp/skia-builder/skia']' returned non-zero exit status 1.