solus-project / ypkg

Modern, declarative, structured build format
https://solus-project.com/
GNU General Public License v3.0
56 stars 20 forks source link

Python Macros fail if python sources aren't in the initial $workdir #52

Open DataDrake opened 6 years ago

DataDrake commented 6 years ago

Example: Protobuf

The python bindings for protobuf are in a subdirectory named python if you use the current python macros from inside of that directory, install won't work because setup copies up a level, not to $PKG_BUILD_DIR/py{2,3}build

Proposed Solution:

  1. $workdir should be determined before the Setup phase and remain unchanged for the remainder of execution. This eliminates the need for $PKG_BUILD_DIR/.workdir
  2. %python{,3}_setup should copy the current directory to $PKG_BUILD_DIR/py{2,3}build, move to that directory for normal setup, and then return to the previous directory (likely stored in an environment variable)
  3. %python{,3}_install should move to $PKG_BUILD_DIR/py{2,3}build for normal install and then return to the previous directory