Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation of Python bindings relies on the legacy setup.py #1201

Open
dvzrv opened this issue Sep 29, 2024 · 0 comments
Open

Installation of Python bindings relies on the legacy setup.py #1201

dvzrv opened this issue Sep 29, 2024 · 0 comments

Comments

@dvzrv
Copy link

dvzrv commented Sep 29, 2024

Hi! 👋

I maintain this project as a package for Arch Linux.

When upgrading to 0.26 I noticed, that your setup still relies on the legacy setup.py way of building and installing.
Since PEP517 this is deprecated and will break with upcoming setuptools/ python versions.

See warning message below:

-- Install configuration: "None"
-- Installing: /build/libiio/pkg/libiio/usr/lib/pkgconfig/libiio.pc
-- Installing: /build/libiio/pkg/libiio/usr/lib/libiio.so.0.26
-- Installing: /build/libiio/pkg/libiio/usr/lib/libiio.so.0
-- Installing: /build/libiio/pkg/libiio/usr/lib/libiio.so
-- Installing: /build/libiio/pkg/libiio/usr/include/iio.h
-- Installing: /build/libiio/pkg/libiio/usr/lib/udev/rules.d/90-libiio.rules
-- Installing: /build/libiio/pkg/libiio/usr/bin/iio_genxml
-- Set non-toolchain portion of runtime path of "/build/libiio/pkg/libiio/usr/bin/iio_genxml" to ""
-- Installing: /build/libiio/pkg/libiio/usr/bin/iio_info
-- Set non-toolchain portion of runtime path of "/build/libiio/pkg/libiio/usr/bin/iio_info" to ""
-- Installing: /build/libiio/pkg/libiio/usr/bin/iio_attr
-- Set non-toolchain portion of runtime path of "/build/libiio/pkg/libiio/usr/bin/iio_attr" to ""
-- Installing: /build/libiio/pkg/libiio/usr/bin/iio_readdev
-- Set non-toolchain portion of runtime path of "/build/libiio/pkg/libiio/usr/bin/iio_readdev" to ""
-- Installing: /build/libiio/pkg/libiio/usr/bin/iio_reg
-- Set non-toolchain portion of runtime path of "/build/libiio/pkg/libiio/usr/bin/iio_reg" to ""
-- Installing: /build/libiio/pkg/libiio/usr/bin/iio_writedev
-- Set non-toolchain portion of runtime path of "/build/libiio/pkg/libiio/usr/bin/iio_writedev" to ""
-- Installing: /build/libiio/pkg/libiio/usr/bin/iio_stresstest
-- Set non-toolchain portion of runtime path of "/build/libiio/pkg/libiio/usr/bin/iio_stresstest" to ""
running install
/usr/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
running build
running build_py
copying iio.py -> build/lib
running install_lib
creating /build/libiio/pkg/libiio/usr/lib/python3.12
creating /build/libiio/pkg/libiio/usr/lib/python3.12/site-packages
copying build/lib/iio.py -> /build/libiio/pkg/libiio/usr/lib/python3.12/site-packages
byte-compiling /build/libiio/pkg/libiio/usr/lib/python3.12/site-packages/iio.py to iio.cpython-312.pyc
running install_egg_info
running egg_info
creating pylibiio.egg-info
writing pylibiio.egg-info/PKG-INFO
writing dependency_links to pylibiio.egg-info/dependency_links.txt
writing top-level names to pylibiio.egg-info/top_level.txt
writing manifest file 'pylibiio.egg-info/SOURCES.txt'
reading manifest file 'pylibiio.egg-info/SOURCES.txt'
writing manifest file 'pylibiio.egg-info/SOURCES.txt'
Copying pylibiio.egg-info to /build/libiio/pkg/libiio/usr/lib/python3.12/site-packages/pylibiio-0.26-py3.12.egg-info
running install_scripts
-- Installing: /build/libiio/pkg/libiio/usr/share/man/man1/iio_attr.1
-- Installing: /build/libiio/pkg/libiio/usr/share/man/man1/iio_genxml.1
-- Installing: /build/libiio/pkg/libiio/usr/share/man/man1/iio_info.1
-- Installing: /build/libiio/pkg/libiio/usr/share/man/man1/iio_readdev.1
-- Installing: /build/libiio/pkg/libiio/usr/share/man/man1/iio_reg.1
-- Installing: /build/libiio/pkg/libiio/usr/share/man/man1/iio_stresstest.1
-- Installing: /build/libiio/pkg/libiio/usr/share/man/man1/iio_writedev.1
-- Installing: /build/libiio/pkg/libiio/usr/share/man/man1/iiod.1
-- Installing: /build/libiio/pkg/libiio/usr/share/man/man3/libiio.3
-- Installing: /build/libiio/pkg/libiio/usr/bin/iiod
-- Set non-toolchain portion of runtime path of "/build/libiio/pkg/libiio/usr/bin/iiod" to ""
-- Installing: /build/libiio/pkg/libiio/usr/lib/systemd/system/iiod.service
install: creating directory '/build/libiio/pkg/libiio/usr/share/doc'
install: creating directory '/build/libiio/pkg/libiio/usr/share/doc/libiio'
'libiio-0.26/CONTRIBUTING.md' -> '/build/libiio/pkg/libiio/usr/share/doc/libiio/CONTRIBUTING.md'
'libiio-0.26/Contributors.md' -> '/build/libiio/pkg/libiio/usr/share/doc/libiio/Contributors.md'
'libiio-0.26/README.md' -> '/build/libiio/pkg/libiio/usr/share/doc/libiio/README.md'

It would be good to switch to build and installer for building a wheel from your python sources and installing it (respectively).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant