Some interface should check available #3

Closed
opened 2024-03-03 07:26:54 +01:00 by CmST0us · 9 comments
CmST0us commented 2024-03-03 07:26:54 +01:00 (Migrated from github.com)

Thanks to your great work I really need this!
I am trying to run demo on my ubuntu 22.04. I meet some problem, the version of libadwaita on Ubuntu 22.04 is 1.1, but Adwaita seems uses some newer interface.
I think if there should be a method to control interface available?

Thanks to your great work I really need this! I am trying to run demo on my ubuntu 22.04. I meet some problem, the version of libadwaita on Ubuntu 22.04 is 1.1, but Adwaita seems uses some newer interface. I think if there should be a method to control interface available?
david-swift commented 2024-03-03 07:50:12 +01:00 (Migrated from github.com)

Thanks for opening this issue! I suggest to develop apps inside a Flatpak, you can use the template's Flatpak manifest as a starting point. GNOME Builder has a very good integration with Flatpaks (in case you don't want to use the command line).

The problem is that, even if auto generation would be executed on the app developer's device, matching the available version, there is still manually written code in this library that depends on auto-generated code or that directly calls libadwaita functions. This code enables a more SwiftUI-like approach to certain widgets, such as NavigationView. Code for windows and menus isn't auto-generated as well. These parts wouldn't compile with older libadwaita versions.

Currently, the required libadwaita version is 1.4, but I'll add features requiring 1.5 as soon as it is available (e.g. the new dialogs). I really recommend using flatpak-builder directly or indirectly using GNOME Builder.

Thanks for opening this issue! I suggest to develop apps inside a Flatpak, you can use the template's [Flatpak manifest](https://github.com/AparokshaUI/AdwaitaTemplate/blob/main/io.github.AparokshaUI.AdwaitaTemplate.json) as a starting point. GNOME Builder has a very good integration with Flatpaks (in case you don't want to use the command line). The problem is that, even if auto generation would be executed on the app developer's device, matching the available version, there is still manually written code in this library that _depends_ on auto-generated code or that directly _calls_ libadwaita functions. This code enables a more SwiftUI-like approach to certain widgets, such as `NavigationView`. Code for windows and menus isn't auto-generated as well. These parts wouldn't compile with older libadwaita versions. Currently, the required libadwaita version is 1.4, but I'll add features requiring 1.5 as soon as it is available (e.g. the new dialogs). I really recommend using `flatpak-builder` directly or indirectly using GNOME Builder.
CmST0us commented 2024-03-03 08:18:02 +01:00 (Migrated from github.com)

Thanks for your advice! 😃
I am going to play with adwaita

Thanks for your advice! 😃 I am going to play with adwaita
david-swift commented 2024-03-03 08:21:51 +01:00 (Migrated from github.com)

Have fun! Don't hesitate to open issues for reporting problems or suggesting ideas! You can also ask questions in the GitHub discussions.

Have fun! Don't hesitate to open issues for reporting problems or suggesting ideas! You can also ask questions in the GitHub discussions.
CmST0us commented 2024-03-03 08:23:53 +01:00 (Migrated from github.com)

BTW: I am working on swift 32bit armhf toolchain. And I am going to run this demo on my 32-bit stm32mp157 platform.
So is there any limitation that Adwaita must run on 64-bit platform?

BTW: I am working on swift 32bit armhf toolchain. And I am going to run this demo on my 32-bit stm32mp157 platform. So is there any limitation that Adwaita must run on 64-bit platform?
david-swift commented 2024-03-03 08:29:42 +01:00 (Migrated from github.com)

I never tried that, but if Swift 5.8 (or higher) and libadwaita 1.4 work on 32-bit platforms, this package should as well.

I never tried that, but if Swift 5.8 (or higher) and libadwaita 1.4 work on 32-bit platforms, this package should as well.
CmST0us commented 2024-03-03 08:37:03 +01:00 (Migrated from github.com)

OK I am really interesting with it, when i run adwaita on my 32bit platform. I will open a discussion😁

OK I am really interesting with it, when i run adwaita on my 32bit platform. I will open a discussion😁
david-swift commented 2024-03-04 22:23:21 +01:00 (Migrated from github.com)

Hi @CmST0us, how is using Adwaita for Swift on your 32-bit platform working?

Hi @CmST0us, how is using Adwaita for Swift on your 32-bit platform working?
CmST0us commented 2024-03-05 08:04:08 +01:00 (Migrated from github.com)

I am working on yocto now.
First, I need to build libadwaita 32-bit on yocto, and run libadwaita-demos.
With yocto, I can easily get a toolchain with libadwaita.
Than with this toolchain, i can get my swift 32-bit toolchain work to build adwaita-swift.

For now, i still working on how to build libadwait with yocto.

And other way is to strip unavailable interface, in order to build with libadwaita-1.1 (which is the ubuntu version).
May be it's the fastest way to get adwaita-swift run on 32-bit platform. (I already have ubuntu 32-bit swift toolchain)

I am working on yocto now. First, I need to build libadwaita 32-bit on yocto, and run libadwaita-demos. With yocto, I can easily get a toolchain with libadwaita. Than with this toolchain, i can get my swift 32-bit toolchain work to build `adwaita-swift`. For now, i still working on how to build libadwait with yocto. And other way is to strip unavailable interface, in order to build with libadwaita-1.1 (which is the ubuntu version). May be it's the fastest way to get `adwaita-swift` run on 32-bit platform. (I already have ubuntu 32-bit swift toolchain)
david-swift commented 2024-03-05 19:59:41 +01:00 (Migrated from github.com)

Thanks for the detailed answer! It might be useful for others trying this.

Thanks for the detailed answer! It might be useful for others trying this.
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: aparoksha/adwaita-swift#3
No description provided.