Installation problem
I am trying to pip install this package from the github source but it is failing on Linux. Do you have plans to package and upload to PyPi?
I can add this to PyPI, but it will only be source dists, no binary wheels. A source dist will likely not solve whatever issue you are having. I have only built this on GNU+Linux, if you post your issue maybe I can help.
From an ubuntu 18.04 instance:
ERROR: Complete output from command /home/ubuntu/miniconda3/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-w70m3rlh/jlist/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-3ootriuo/install-record.txt --single-version-externally-managed --compile:
ERROR: running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/jlist
copying jlist/patch.py -> build/lib.linux-x86_64-3.7/jlist
copying jlist/__init__.py -> build/lib.linux-x86_64-3.7/jlist
creating build/lib.linux-x86_64-3.7/jlist/tests
copying jlist/tests/test_jlist.py -> build/lib.linux-x86_64-3.7/jlist/tests
copying jlist/tests/list_tests.py -> build/lib.linux-x86_64-3.7/jlist/tests
copying jlist/tests/test_ops.py -> build/lib.linux-x86_64-3.7/jlist/tests
copying jlist/tests/seq_tests.py -> build/lib.linux-x86_64-3.7/jlist/tests
copying jlist/tests/__init__.py -> build/lib.linux-x86_64-3.7/jlist/tests
running egg_info
writing jlist.egg-info/PKG-INFO
writing dependency_links to jlist.egg-info/dependency_links.txt
writing top-level names to jlist.egg-info/top_level.txt
reading manifest file 'jlist.egg-info/SOURCES.txt'
writing manifest file 'jlist.egg-info/SOURCES.txt'
copying jlist/jlist.cc -> build/lib.linux-x86_64-3.7/jlist
copying jlist/ops.cc -> build/lib.linux-x86_64-3.7/jlist
running build_ext
building 'jlist.jlist' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/jlist
gcc -pthread -B /home/ubuntu/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I. -I/home/ubuntu/miniconda3/include/python3.7m -c jlist/jlist.cc -o build/temp.linux-x86_64-3.7/jlist/jlist.o -Wall -Wextra -Wno-missing-field-initializers -std=gnu++17 -march=native -mtune=native -O3 -g -fmax-errors=15
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
jlist/jlist.cc:3:10: fatal error: charconv: No such file or directory
#include <charconv>
^~~~~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command "/home/ubuntu/miniconda3/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-w70m3rlh/jlist/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-3ootriuo/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-w70m3rlh/jlist/
We use charconv in the repr of int tagged lists: https://github.com/llllllllll/jlist/blob/master/jlist/jlist.cc#L607
This appears to have been added in 8.1 (for integral types only), and the default gcc on ubuntu 18.04 is gcc-7. This is just an efficient itoa implementation with a nice interface, so we could probably do a feature test for this and fall back to a different implementation. Would you be interested in implementing that?
As much as I would like to test I have no C++/C capabilities so I am afraid I am not able to submit a PR.