On 09. 07. 25 4:31, Scott Talbert via python-devel wrote:
Is there any way to use the pyproject macros when setup.py isn't in the root directory?

I maintain a couple of packages where this is the case - one where there are actually two PyPI packages built from the same source package, and another where the Python package is in a subdirectory because it's bindings for a C library that is also built.

When I try, I get this error during build:
+ echo 'ERROR: Neither pyproject.toml nor setup.py found, consider using %pyproject_buildrequires -N <requirements-file> if this is not a Python package.' ERROR: Neither pyproject.toml nor setup.py found, consider using %pyproject_buildrequires -N <requirements-file> if this is not a Python package.

There aren't requirements files in the upstream packages.  But I guess I could make a downstream one?
This is only useful when you want to use an exiting requirements file in a piece of software that is *not* a Python package. Which the macro thinks is your case, as it did not find a pyproject.toml or a setup.py file.

To locate the files, simply cd to the directory before using the macro.

  %generate_buildrequires
  cd subdirectory
  %pyproject_buildrequires

  %build
  ...
  cd subdirectory
  %pyproject_wheel

Note: Make sure not to use pushd or cd - without >&2 in %pyproject_buildrequires, as those commands put output on the stdout and all stdout is considered as generated BuildRequires.

--
Miro Hrončok
--
Phone: +420777974800
Fedora Matrix: mhroncok

--
_______________________________________________
python-devel mailing list -- python-devel@lists.fedoraproject.org
To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to