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

wxWidgets: Convert to split package #12194

Merged
merged 1 commit into from
Aug 2, 2022
Merged

Conversation

stahta01
Copy link
Contributor

No description provided.

@stahta01
Copy link
Contributor Author

What suffix to use when a part is optional and is only needed for development of variants?
devel instead of dev?

@stahta01
Copy link
Contributor Author

stahta01 commented Jul 22, 2022

What suffix to use when a part is optional and is only needed for development of variants? devel instead of dev?

We don't separate header files (development) from the core package (runtime).

Then you are saying what I want to do with wxWidgets 3.2 is not allowed!!!

Edit: Please identify the we you are talking about!

Tim S.

@ZachBacon
Copy link
Contributor

What suffix to use when a part is optional and is only needed for development of variants? devel instead of dev?

We don't separate header files (development) from the core package (runtime).

Then you are saying what I want to do with wxWidgets 3.2 is not allowed!!!

Edit: Please identify the we you are talking about!

Tim S.

I have never seen a package on Arch or MSYS2 that was separated into runtime+development
we = MSYS2 packagers

I mean... Wxwidgets on arch, especially 3.2 has been split. But for development vs runtime, there's a few msys2 packages done like that, iconv is one I can think of, just not the mingw compiled iconv.

@ZachBacon
Copy link
Contributor

I mean... Wxwidgets on arch, especially 3.2 has been split.

https://archlinux.org/packages/extra/x86_64/wxwidgets/
wxwidgets-common: Common libraries and headers for wxwidgets
wxwidgets-gtk3: GTK+3 implementation of wxWidgets API for GUI
wxwidgets-qt5: Qt5 implementation of wxWidgets API for GUI

libraries and headers are in the same package wxwidgets-common, the other two represent variants -qt5 and -gtk3

In case you missed my meaning, I did not suggest the development files were split.

@stahta01
Copy link
Contributor Author

stahta01 commented Jul 23, 2022

Would this naming of packages be allowed

libwxwidgets3.2-msw Shared Libraries for wxMSW
libwxwidgets3.2-gtk3 Shared Libraries for wxGTK based on gtk3
wxwidgets3.2-gtk3 Development files for wxwidgets 3.2 based on gtk3 [wxGTK]
wxwidgets3.2-msw Development files for wxwidgets 3.2 based on windows API [wxMSW]
wxwidgets3.2-common Common Development files for wxWidgets 3.2
wxwidgets3.2-msw-config wx-config for wxMSW
wxwidgets3.2-gtk3-config wx-config for wxGTK based on gtk3

wxwidgets3.1 wxwidgets 3.1 based on windows API [wxMSW]
wxwidgets3.1-config wx-config for wxMSW

wxwidgets3.0 wxWidgets 3.0 based on windows API [wxMSW]
wxwidgets3.0-config wx-config for wxWidgets 3.0
wxWidgets meta for wxwidgets3.0 and wxwidgets3.0-config

In time, the wxWidgets meta package will likely be changed to installing
wxwidgets3.2-msw
wxwidgets3.2-msw-config

Both wxwidgets3.2-gtk3 and wxwidgets3.2-msw depends on wxwidgets3.2-common

These packages all conflict with each other
wxwidgets3.2-msw-config
wxwidgets3.2-gtk3-config
wxwidgets3.1-config
wxwidgets3.0-config

I wish to have wxGTK and wxMSW based packages installed and working at the same time.

If that is against your rules I think the rules need to be changed!

I can not provide the wx-config scripts or them installed by wxwidgets3.2-msw, wxwidgets3.1, wxwidgets3.0;
but, then I would need to have the shared DLLs not in wxwidgets3.1 and wxwidgets3.0.

Edit: It looks like different stuff is inside
https://archlinux.org/packages/extra/x86_64/wxwidgets-common/
then I planned; I also have no idea if changing to cmake to build makes sense like was done.

Tim S.

@stahta01
Copy link
Contributor Author

I give up there seems to be no way to do what I want and what your require!

Tim S.

@stahta01 stahta01 closed this Jul 23, 2022
@ZachBacon
Copy link
Contributor

Don't give up so easily, let's see what the others say. So far we haven't heard from lazka or Biswa yet.

@stahta01
Copy link
Contributor Author

stahta01 commented Jul 23, 2022

package_wxwidgets3.2-base-libs() {
  pkgdesc='Base libraries for wxWidgets'

package_wxwidgets3.2-msw-libs() {
  pkgdesc='Windows libraries for wxWidgets'
  depends=(wxwidgets3.2-base-libs)

package_wxwidgets3.2-gtk3-libs() {
  pkgdesc='GTK+3 libraries for wxWidgets'
  depends=(wxwidgets3.2-base-libs)

package_wxwidgets3.2-common() {
  pkgdesc='Common utils and headers for wxwidgets'
  # will have wx-config and wxrc utils

package_wxwidgets3.2-gtk3() {
  pkgdesc='GTK+3 implementation of wxWidgets API for GUI'
  depends=(wxwidgets3.2-common wxwidgets3.2-gtk3-libs)

package_wxwidgets3.2-msw() {
  pkgdesc='Windows implementation of wxWidgets API for GUI'
  depends=(wxwidgets3.2-common wxwidgets3.2-msw-libs)

# Since the 3.0 only has wxMSW the "-msw" could be skipped
package_wxwidgets3.0-msw-libs() {
  pkgdesc='Windows libraries for wxWidgets'
  depends=()

package_wxwidgets3.0-msw() {
  pkgdesc='Windows implementation of wxWidgets API for GUI'
  depends=(wxwidgets3.0-msw-libs)

Another possible naming scheme

@stahta01 stahta01 reopened this Jul 23, 2022
@ZachBacon
Copy link
Contributor

@Biswa96 @lazka can we have your thoughts please

@lazka
Copy link
Member

lazka commented Jul 23, 2022

I'm having a hard time figuring out how everything fits together, but give the last example I'd merge common with base-libs and gtk3-libs with gtk3 (unless there is that mentioned config conflict, then ignore...)

But, given the complexity of all those versions and backend combinations I'm fine with @stahta01 just doing what he thinks is easiest for him as a package maintainer. Once things settle down we can always simplify things if needed.

@stahta01
Copy link
Contributor Author

stahta01 commented Jul 23, 2022

The problem is unless the libs are separate you can not run two application using different wxWidgets versions or toolkits.

Example toolkits are msw, qt, gtk2, or gtk3. And, I would like to run 3.0, 3.1, and, 3.2 apps at the same time.
I could merge common with the toolkit non lib package; but, it will result in larger download.
Since, there will be two copies of everything in common.
I will start work on the package renames.

Tim S.

@stahta01 stahta01 force-pushed the pr-wxWidgets3.0 branch 5 times, most recently from 43227ce to 5e981bb Compare July 24, 2022 03:32
@stahta01 stahta01 changed the title [WIP] [RFC] wxWidgets: Convert to split package wxWidgets: Convert to split package Jul 24, 2022
@stahta01 stahta01 marked this pull request as ready for review July 24, 2022 14:25
@stahta01
Copy link
Contributor Author

I am next going to do wxWidgets 3.1 or 3.2 packages

@stahta01 stahta01 changed the title wxWidgets: Convert to split package [WIP] wxWidgets: Convert to split package Jul 24, 2022
@stahta01
Copy link
Contributor Author

Looks like I need to adjust the package conflicts between 3.0 and 3.2 packages

@stahta01
Copy link
Contributor Author

Added the provides and conflicts that wxWidgets 3.2 work shows is needed.
But, wxwidgets 3.2 work is going slow; since, I removed two packages from the logical design by popular demand, I am running into installation conflicts.

Tim S.

@stahta01 stahta01 changed the title [WIP] wxWidgets: Convert to split package wxWidgets: Convert to split package Jul 25, 2022
@lazka lazka merged commit fc183f2 into msys2:master Aug 2, 2022
@stahta01 stahta01 deleted the pr-wxWidgets3.0 branch June 12, 2023 13:46
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.

None yet

4 participants