biscuit icon indicating copy to clipboard operation
biscuit copied to clipboard

Fix MacOS builds

Open tomlin7 opened this issue 1 year ago • 4 comments

Bug

Errors occurring when attempting to install tkextrafont

Requirement already satisfied: pip in /Users/runner/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages (23.0.1)
Collecting pip
  Obtaining dependency information for pip from https://files.pythonhosted.org/packages/47/6a/453160888fab7c6a432a6e25f8afe6256d0d9f2cbd25971021da6491d899/pip-23.3.1-py3-none-any.whl.metadata
  Downloading pip-23.3.1-py3-none-any.whl.metadata (3.5 kB)
Downloading pip-23.3.1-py3-none-any.whl (2.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 23.7 MB/s eta 0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 23.0.1
    Uninstalling pip-23.0.1:
      Successfully uninstalled pip-23.0.1
Successfully installed pip-23.2.1
Collecting gitpython (from -r requirements.txt (line 1))
  Downloading GitPython-3.1.40-py3-none-any.whl.metadata (12 kB)
Collecting filetype (from -r requirements.txt (line 2))
  Downloading filetype-1.2.0-py2.py3-none-any.whl (19 kB)
Collecting tkextrafont (from -r requirements.txt (line 3))
  Downloading tkextrafont-0.6.1.tar.gz (656 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 656.8/656.8 kB 12.5 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [12 lines of output]
      Installing dependency cmake... Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/pip-install-52w4vt39/tkextrafont_c6eed893e5fc4d1ca15a7412b331e576/setup.py", line 63, in <module>
          sp.call(["pacman", "--needed", "--noconfirm", "-S", "mingw-w64-x86_64-{}".format(dep)])  # , stdout=sp.PIPE)
        File "/Users/runner/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/subprocess.py", line 345, in call
          with Popen(*popenargs, **kwargs) as p:
        File "/Users/runner/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/subprocess.py", line 971, in __init__
          self._execute_child(args, executable, preexec_fn, close_fds,
        File "/Users/runner/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/subprocess.py", line 1863, in _execute_child
          raise child_exception_type(errno_num, err_msg, err_filename)
      FileNotFoundError: [Errno 2] No such file or directory: 'pacman'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

System Information

  • OS: macos-latest
  • Python Version: 3.10

tomlin7 avatar Oct 23 '23 12:10 tomlin7

Yes, tkextrafont has been unmaintained for quite some time.

Moosems avatar Nov 16 '23 17:11 Moosems

@Moosems according to the tkextrafont docs, for the linux support of library they have specified some prerequisites

This example is given for Ubuntu 20.04, change the names of packages and commands as required for your distribution of choice.

sudo apt install python3-dev tcl-dev tk-dev \
    fontconfig libfontconfig1 libfontconfig1-dev \
    cmake cmake-data extra-cmake-modules build-essential
python -m pip install scikit-build
python setup.py install 

https://github.com/TkinterEP/python-tkextrafont?tab=readme-ov-file#linux

They have not mentioned about macos support though. But what all would be the prerequisites for macos to compile the library?

tomlin7 avatar Nov 16 '23 18:11 tomlin7

No idea. Depends on how the library works.

Moosems avatar Nov 16 '23 19:11 Moosems

merging issue #86 as both mention same problem

tomlin7 avatar Jan 01 '24 20:01 tomlin7