-
Notifications
You must be signed in to change notification settings - Fork 16
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
Add support for Flatpak automatic generation #20
Conversation
dc78b9d
to
4104077
Compare
For reference, the generate binary is only ~1.5MB big! (this is possible as all the Qt libraries are manage by flatpak as shared runtimes, thus massively reducing the size of the package) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems like a great initiative, as it will streamline distribution of latest releases on Linux moving forward. A few comments just relating to further removal of Network/Webengine from these automation files, and then happy to approve the changes.
CMakeLists.txt
Outdated
@@ -9,7 +9,7 @@ set(CMAKE_AUTOMOC ON) | |||
set(CMAKE_AUTORCC ON) | |||
set(CMAKE_AUTOUIC ON) | |||
|
|||
find_package(Qt5 COMPONENTS Core Gui OpenGL Widgets Network WebEngineWidgets REQUIRED) | |||
find_package(Qt5 COMPONENTS Core Gui OpenGL Widgets Network REQUIRED) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can "Network" also be removed here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good catch. Fixed in #21
CMakeLists.txt
Outdated
@@ -78,10 +78,16 @@ target_link_libraries(${PROJECT_NAME} | |||
Qt5::OpenGL | |||
Qt5::Widgets | |||
Qt5::Network |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove "Qt5::Network" here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same. Fixed in #21
README.md
Outdated
- install `flatpak` and `flatpak-builder` | ||
- `flatpak install org.kde.Sdk/x86_64/5.15-24.08` | ||
- `flatpak install org.kde.Platform/x86_64/5.15-24.08` | ||
- `flatpak install io.qt.qtwebengine.BaseApp/x86_64/5.15-24.08` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this line be removed, as it appears specific to webengine?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed, thanks
Re: GLU library issue, where does the Flatpak-generated build look for the library? When I run "ldd FlatFab" locally I get:
|
Not needed anymore since d02a3d9
While here, clean up CI/CD script a little
As you might have seen in the flatpak manifest, I build manually libGLU when building the flatpak. The library end up in |
Uses the latest Qt 5.15 runtime; builds manually Eigen and GLU. To build: - install flatpak and flatpak-builder - install kde Sdk and Runtime 5.15-24.08 (cf README) - flatpak-builder --force-clean --install --user flatpak-build com.flatfab.FlatFab.yml Run with: flatpak run com.flatfab.FlatFab
- creates a GitHub release everytime a 'vX.Y.Z' tag is pushed - generates Linux flatpak and upload it to the release
@JamesMcCrae : I've renamed the flatpak id from |
Flatpak (https://flatpak.org/) is becoming the dominant application distribution mechanism on Linuxes.
This PR depends on (and indeed, includes) PR #19 and #21 .
This PR:
Example result (on fake tags I created for testing):
TODO:
libGLU.so.1
inside of the flatbak container is not found, unclear why, a workaround would be to start FlatFab from a script that add/app/lib64
toLD_LIBRARY_PATH
)Optional:
@JamesMcCrae please let me know if you think this is a useful direction, and if you feel like providing this kind of distribution channel (this would definitely make it much easier to install and update FlatFab on linux, without having to care too much about the different linux distributions)