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

Update to CSFML 2.5.2 #21

Closed
mgrojo opened this issue Jul 8, 2023 · 11 comments
Closed

Update to CSFML 2.5.2 #21

mgrojo opened this issue Jul 8, 2023 · 11 comments
Assignees
Labels
API update Related to updates of CSFML versions

Comments

@mgrojo
Copy link
Owner

mgrojo commented Jul 8, 2023

CSFML version 2.5.2 has been published with a few API additions that should be included in ASFML.

@mgrojo mgrojo added API update Related to updates of CSFML versions labels Jul 8, 2023
@mgrojo
Copy link
Owner Author

mgrojo commented Jul 24, 2023

SFML/CSFML@2.5.1...2.5.2

@mgrojo mgrojo self-assigned this Aug 5, 2023
mgrojo added a commit that referenced this issue Aug 21, 2023
@mgrojo
Copy link
Owner Author

mgrojo commented Aug 22, 2023

This update is ready in https://github.com/mgrojo/ASFML/tree/csfml-2.5.2, but for the moment, I'm not merging it to main, nor releasing it in Alire, since not many distributions have this CSFML version. I encourage anyone reading this and wanting to test this branch together with CSFML 2.5.2 to do it. I'd welcome your bug reports.

Another matter is how to release this in Alire setting a correct dependency to CSFML 2.5.2. In this case, the third number changes the API (as it sometimes happens too with ASFML), but Ubuntu, for example, releases CSFML 2.5.1 as 2.5-1.1. Will it be released as 2.5.2-x or as 2.5-2.x? How can this be managed in Alire if different distributions choose different versioning?

@ghost
Copy link

ghost commented Oct 4, 2023

Hello,

There is work currently on packaging CSFML, and ASFML for FreeBSD. The CSFML Port is complete, tho awaiting reviewer(s), and subsequent review, and finally, committing to the Ports tree. I already have a 2.5.3 Port of ASFML prepared locally. If I understand you correctly, you would like testing of a branched ASFML with CSFML-2.5.2? I am more than happy to have that reflected in the FreeBSD Port, tho I do not know how much exposure that will create for the update.

Alire is also not yet in the FreeBSD Ports tree, but should be committed in some days. This initial commit does not integrate Alire into the FreeBSD Ports framework yet—that will come later—so Alire use on FreeBSD is minimal, and all Ada Ports are installed without Alire for the moment.

Anyways, thanks for the awesome work ASFML.

@ghost
Copy link

ghost commented Oct 4, 2023

Thinking about this further, it may not be a good idea to commit ASFML to the FreeBSD Ports tree that is pulling from a development branch, and I think this may be discouraged in FreeBSD'istan. Will 2.5.4 work with CSFML-2.5.2? It looks like I had ASFML-2.5.3 with CSFML-2.5.2 building and running the examples fine some months ago.

@mgrojo
Copy link
Owner Author

mgrojo commented Oct 5, 2023

Hi.
Nice to see someone working on adding ASFML to an open-source distribution.
Mixing ASFML-2.5.3 or 2.5.4 with CSFML-2.5.2 is not ideal, because there are API changes in the CSFML-2.5.1 to 2.5.2 transition. They seem to not follow the convention of using the third number only for compatible fixes, so my versioning now will also lose that property. Nevertheless, if you don't mind about orthodoxy, that combination will probably work if you only call from your application those functions which hasn't changed.

I've tested this branch locally, and it is working as fine as the main branch. The question is that I didn't know of any distribution that included CSFML-2.5.2, so I could not think in building this in some CI environment. If you could test this branch against CSFML 2.5.2 successfully, I suppose we can think in merging this branch and making the 2.5.5 release for ASFML, compatible with CSFML 2.5.2.

@ghost
Copy link

ghost commented Oct 8, 2023

Whelp you convinced me. I will use 2.5.2 across both projects, thanks for helping me untangle that.

@mgrojo
Copy link
Owner Author

mgrojo commented Oct 8, 2023

Sorry, I think I've explained it to you in an ambiguous form. When I wrote "Mixing ASFML-2.5.3 or 2.5.4 with CSFML-2.5.2 is not ideal", I should have written "Mixing ASFML-2.5.[0-4] with CSFML-2.5.2 is not ideal". The first version to support CSFML-2.5.2 will be ASFML-2.5.5. I know that it is confusing, but I didn't expect that they would do incompatible changes to the API inside the same major.minor release, but it seems this is only true for SFML (C++ original). For earlier versions of CSFML, any x.y version matches the API of any of the x.y versions. But after CSFML-2.5.2, you have to use ASFML-2.5.5. I will try to put a compatibility matrix in the README.md.

This ASFML-2.5.5 version is not yet in main branch, but I'm going to merge it today, and then I'll make an Alire release, depending on what they recommend me here: alire-project/alire#1472

@mgrojo
Copy link
Owner Author

mgrojo commented Oct 8, 2023

The new release has been published on GitHub: #22

@ghost
Copy link

ghost commented Oct 11, 2023

Gosh, what an unfortunate situation, thanks again for taking the time to explain that. ASFML-2.5.5 has been submitted for review in the FreeBSD Ports tree.

Thanks.

@mgrojo
Copy link
Owner Author

mgrojo commented Oct 11, 2023

Great! Thanks for your integration work.

@mgrojo
Copy link
Owner Author

mgrojo commented Dec 7, 2023

Closing this, as ASFML 2.5.5 is already released on GitHub and Alire, and included in FreeBSD.

@mgrojo mgrojo closed this as completed Dec 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API update Related to updates of CSFML versions
Projects
None yet
Development

No branches or pull requests

1 participant