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

Merge maui-linux into maui-main #11

Closed
lytico opened this issue May 5, 2022 · 9 comments
Closed

Merge maui-linux into maui-main #11

lytico opened this issue May 5, 2022 · 9 comments

Comments

@lytico
Copy link
Owner

lytico commented May 5, 2022

Plan to merge
https://github.com/jsuarezruiz/maui-linux/tree/main-linux
with
https://github.com/dotnet/maui main

GtkSharp-Workload

a GtkSharp-Workload is needed
this should happen upstream in https://github.com/GtkSharp/

see also: tizen-workload https://github.com/Samsung/Tizen.NET

Microsoft.Maui.Graphics

make a recent GtkSharp-Version of
https://github.com/dotnet/Microsoft.Maui.Graphics

get https://github.com/dotnet/maui main to compile on linux

currently, the build.cake is windows-specific and broken on linux:
https://github.com/dotnet/maui/blob/main/build.cake

merge

main problem will be the build-scripts & build-variables
and, of cause, all the files cluttered with
platform-specific preprocessor-directives
here, merge all lines as is main-linux in you find with
#elif GTK
and
#if GTK

update api changes

it's not so hard, as it looks at the first glance.

general, look at maui-tizen as a reference
see eg. https://github.com/dotnet/maui/tree/main/src/Core/src/Platform/Tizen

@trungnt2910
Copy link

Currently, main-linux is using net5.0 as a target for Gtk's backend to fill in the lack of a dedicated net6.0-linux TFM.

This forces MAUI for GTK to be stuck on net5.0, or at least, behind other targets.

Are there any plans to mitigate this? (For example, by using separate MSBuild projects or somehow create a new TFM?,...)

@lytico
Copy link
Owner Author

lytico commented May 5, 2022

no, no plans for supporting net5.
it should be migrated to net6
and, the TFM will be net6.0-Gkt (not linux! Gtk runs on more than linux)

@trungnt2910
Copy link

trungnt2910 commented May 5, 2022

it should be migrated to net6 and, the TFM will be net6.0-Gkt (not linux! Gtk runs on more than linux)

Yes, that was what I expected. Also Linux doesn't guarantee to have GTK installed so making it net6.0-linux to access GTK does not make much sense.

no, no plans for supporting net5.

I was not asking for net5 support. net5 seems to be a hack the MAUI for GTK devs were using to get a TFM specialized for GTK.

the TFM will be net6.0-Gkt

You mean net6.0-gtk right? If that's the case, do we actually have to modify the SDK to add a new TFM.

Furthermore, other existing TFMs for .NET seems to represent environments, such as windows, android, maccatalyst, and the proposed but dropped, browser. gtk doesn't seem to be a legal runtime environment on its own, just an UI framework.

@lytico
Copy link
Owner Author

lytico commented May 5, 2022

You mean net6.0-gtk right?

yes

Also Linux doesn't guarantee to have GTK installed

the workload is responsible for provide all dependencies to get GtkSharp running. So it has to install all packages (on linux) or provide the installer for Gtk (on windows) or call brew ... (on mac)

TFMs for .NET seems to represent environments ...

so, if we take -linux, we know nothing. also android is a linux, but with a special Ui-Framework (=android)
same with tizen.

@trungnt2910
Copy link

so, if we take -linux, we know nothing. also android is a linux, but with a special Ui-Framework (=android)

Ok I get it. Thanks!

Any pointers on where to start for the workload? It seems that the GtkSharp project already has adequate scripts to ensure dependencies are installed on the machine, the workload just need to register it somehow...

@lytico
Copy link
Owner Author

lytico commented May 5, 2022

the workload just need to register it somehow...

yes, it could be easy (easy ... the shortest joke in it ;-) )

GtkSharp related stuff should happen upstream.
See GtkSharp/GtkSharp#349

@lytico
Copy link
Owner Author

lytico commented Aug 31, 2022

started to merge: jsuarezruiz#37

@lytico
Copy link
Owner Author

lytico commented Sep 8, 2022

State

Controls.Samples.Gtk running

grafik

parhamsaremi added a commit to parhamsaremi/maui that referenced this issue Mar 29, 2023
Add mappers for BorderColor and CornerRadius for Frame elements
so they can now have borders.
aarani pushed a commit to aarani/maui that referenced this issue Apr 24, 2023
Add mappers for BorderColor and CornerRadius for Frame elements
so they can now have borders.
aarani pushed a commit to aarani/maui that referenced this issue Apr 24, 2023
Add mappers for BorderColor and CornerRadius for Frame elements
so they can now have borders.
webwarrior-ws pushed a commit to webwarrior-ws/maui that referenced this issue Apr 24, 2023
Add mappers for BorderColor and CornerRadius for Frame elements
so they can now have borders.
aarani pushed a commit to aarani/maui that referenced this issue Apr 24, 2023
Add mappers for BorderColor and CornerRadius for Frame elements
so they can now have borders.
aarani pushed a commit to aarani/maui that referenced this issue Apr 24, 2023
Add mappers for BorderColor and CornerRadius for Frame elements
so they can now have borders.
aarani pushed a commit to aarani/maui that referenced this issue Apr 24, 2023
Add mappers for BorderColor and CornerRadius for Frame elements
so they can now have borders.
@lytico lytico closed this as completed Feb 21, 2024
@lytico
Copy link
Owner Author

lytico commented Feb 21, 2024

on net 8.0 now

@github-actions github-actions bot locked and limited conversation to collaborators Mar 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants