Path: csiph.com!1.us.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!fu-berlin.de!bofh.it!news.nic.it!robomod From: Scott Talbert Newsgroups: linux.debian.maint.python Subject: Re: Recommended way of installing system-wide python application and libraries Date: Fri, 08 Dec 2023 01:30:02 +0100 Message-ID: References: X-Original-To: Ivan Perez X-Mailbox-Line: From debian-python-request@lists.debian.org Fri Dec 8 00:21:21 2023 Old-Return-Path: X-Amavis-Spam-Status: No, score=-7.11 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FOURLA=0.1, LDO_WHITELIST=-5, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no X-Policyd-Weight: using cached result; rate:hard: -4.6 X-Greylist: delayed 487 seconds by postgrey-1.36 at bendel; Fri, 08 Dec 2023 00:21:01 UTC MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="-2033333575-563915612-1701994369=:438483" X-Mailing-List: archive/latest/21272 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/d63f165-d97f-dcbf-db42-73f41f936c8e@techie.net Approved: robomod@news.nic.it Lines: 56 Organization: linux.* mail to news gateway Sender: robomod@news.nic.it X-Original-Cc: debian-python@lists.debian.org X-Original-Date: Thu, 7 Dec 2023 19:12:49 -0500 (EST) X-Original-Message-ID: X-Original-References: Xref: csiph.com linux.debian.maint.python:15332 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---2033333575-563915612-1701994369=:438483 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8BIT On Tue, 5 Dec 2023, Ivan Perez wrote: > Hi everyone! > > I'm currently trying to bring a tool we have at NASA Ames up to speed: > https://github.com/NASA-SW-VnV/ikos > > IKOS is a static analyzer for C. I'm really hoping that IKOS can be included > in Debian in the near future. > > IKOS is implemented as a  C++ library, and a number of python > tools/wrappers. The tools call mains in modules defined in a python library > `ikos`. > > As of right now, our CMakeFiles attempt to install everything (by default) > under /opt/ikos/. > > I'm having lots of issues getting the python portions installed system-wide. > I initially upgraded distutils to setuptools, but a recent update is now > asking that I use a venv. More details and a link to a dockerfile can be > found here: https://github.com/NASA-SW-VnV/ikos/discussions/241. > > While I can hack a solution that "works" (either by making a venv under the > target dir or by means of break-system-packages), I'd prefer to use > recommended practices, and also conform to the way that things are done in > Debian/Ubuntu. > > What would be the recommended way of installing IKOS system-wide in Debian? Hello again Ivan (different neighborhood :)), The "modern" way of building Python libraries/applications seems to be to use a pyproject.toml. The pyproject.toml specifies a backend build system that knows how to build the library/application and produce a wheel. As far as how to do this within an existing cmake project, unfortunately, there doesn't seem to be a clear/easy way. The only cmake example I can think off of the top of my head is cvc5. It still uses setup.py though, so not a great future-looking example (and I had to patch it to build the Python bindings in Debian): https://github.com/cvc5/cvc5/blob/main/src/api/python/CMakeLists.txt If you're open to other options for building python libraries, meson might be something to look into. I haven't used it extensively, though. It does seem to have better support for building Python though. Regards, Scott ---2033333575-563915612-1701994369=:438483--