deadc0de6 / dotdrop

Save your dotfiles once, deploy them everywhere
https://dotdrop.readthedocs.io
GNU General Public License v3.0
1.77k stars 105 forks source link

[bug] Can't install on Termux (Android) due to bug in dependency #434

Closed ErrrorMaxx closed 1 month ago

ErrrorMaxx commented 3 months ago

Describe the bug

Dotdrop uses ruamel.yaml.clib somewhere in its dependencies which suffers from bug: https://sourceforge.net/p/ruamel-yaml-clib/tickets/22/

Because of this bug dotdrop cannot be installed on Termux, FreeBSD and some others

Steps to Reproduce

Steps to reproduce the behavior:

  1. Setup Termux on your Android phone
  2. Run pip install dotdrop

Expected behavior

Dotdrop can be installed

deadc0de6 commented 3 months ago

Thanks for reporting this and sorry you're having issues with dotdrop. Pretty cool to know you're trying dotdrop on android! The reported bug on ruamel is opened for a year. Does that mean that any packages depending on ruamel would not work on termux? An alternative would be to switch back to PyYAML but unfortunately it doesn't support comments among other things.

I see three ways to solve this but none are optimal:

deadc0de6 commented 3 months ago

It seems the alternatives to ruamel are yamlcore on top of PyYAML or strictyaml.

I think I can also provide a new version of dotdrop with only toml support on termux if having your configs as toml is an option for you.

deadc0de6 commented 1 month ago

@ErrrorMaxx it seems brew takes a different approach to the ruamel bug with

    # Work around ruamel.yaml.clib not building on Xcode 15.3, remove after a new release
    # has resolved: https://sourceforge.net/p/ruamel-yaml-clib/tickets/32/
    ENV.append_to_cflags "-Wno-incompatible-function-pointer-types" if DevelopmentTools.clang_build_version >= 1500

from dotdrop formula if that's of any help.