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

Carla: update to 2.5.9, adopt. #52860

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Carla: update to 2.5.9, adopt. #52860

wants to merge 2 commits into from

Conversation

Rutpiv
Copy link
Contributor

@Rutpiv Rutpiv commented Nov 1, 2024

Testing the changes

  • I tested the changes in this PR: YES

Local build testing

  • I built this PR locally for my native architecture (x86_64)
  • I built this PR locally for these architectures using specific masterdirs:
    • x86_64-musl
    • i686
  • I built this PR locally for these architectures (crossbuilds):
    • aarch64
    • aarch64-musl
    • armv7l
    • armv7l-musl
    • armv6l
    • armv6l-musl

New Package Details

  • I ported a new package python3-pyliblo3 , including a patch to possibly fix the build for Python 3.13 and ensure compatibility.

Patch Details

  • I applied a patch to the Carla package to accept pyliblo3 as the dependency instead of liblo (pyliblo).

@ahesford
Copy link
Member

ahesford commented Nov 24, 2024

Carla depends on pyliblo via its carla-control utility, which has a couple of problems:

  • It depends on python3-Cython0.29, which is going to be removed with the Python 3.13 update in a couple of weeks. There is a simple patch to get this working, but
  • Even when pyliblo builds, I believe it is broken, because it depends on old Python APIs that have been broken since Python 3.12 at the latest.

If nobody has noticed, maybe carla-control is not central to the functionality of Carla. Either way, we need one of the following fixes:

  • Remove the pyliblo dependency from this package, knowing that carla-control will fail to function.
  • Package the pyliblo3 alternative described in carla_host_control: import from pyliblo3 if available falkTX/Carla#1933, then patch carla_host_control.py. (I wouldn't necessarily use the try-except block, because we know we will require pyliblo3, so just s/liblo/pyliblo3/ should be sufficient.)

Please choose one of those alternatives.

@Rutpiv
Copy link
Contributor Author

Rutpiv commented Nov 25, 2024

Thank you for your suggestions, @ahesford! I have ported the pyliblo3 package following the second recommendation, where I had to create the template using the commit due to the lack of a tag for the latest version on GitHub. I also looked on the Pip website, but the source version wasn't listed, so I decided to use the latest commit from the repository as the closest option.

For the Carla package, I applied the patch to switch the liblo dependency to pyliblo3, as recommended, following the logic employed in the pull request mentioned above.

I also had to rebase on top of the master branch to include the latest version of Wine.


Re-edit: I added a patch that possibly fixes the build for Python 3.13, based on a pull request in the repository (gesellkammer/pyliblo3#11).

Copy link
Member

@ahesford ahesford left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't realize when I recommended this that upstream pyliblo3 doesn't tag source releases. To make matters worse, the maintainer doesn't seem all that responsive to issues.

It turns out the patches to make pyliblo build with Cython 3 and Python 3.13 are pretty trivial, so if you want to defer the pyliblo3 addition for now, that's fine. Sorry for the runaround.

srcpkgs/pyliblo3/template Outdated Show resolved Hide resolved
@Rutpiv
Copy link
Contributor Author

Rutpiv commented Nov 29, 2024

Thank you for the clarification, @ahesford. Initially, I applied the full patch for Python 3.13 compatibility, but it included the removal of an autogenerated file, which caused the .patch file to become excessively large and the fact that we are still on Python 3.12. After seeing the pull request for Python 3.13 in Void, I decided to revisit the issue and reapplied a minimal version of the patch. This time, I included only the necessary changes and handled the file removal directly in the template using rm.

This approach keeps the patch concise while implementing the required adjustments for Python 3.13 compatibility. That said, I haven’t tested the build with Python 3.13 yet, as it hasn’t been merged into the master branch. If you think it's best, the pull request can remain open until Python 3.13 is officially merged into the master branch. Once that happens, I can rebase my changes and verify that everything compiles as expected with the updated Python version.

Please let me know how you’d like to proceed

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

Successfully merging this pull request may close these issues.

2 participants