-
-
Notifications
You must be signed in to change notification settings - Fork 121
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 working flatpak manifest #1275
base: main
Are you sure you want to change the base?
Conversation
d5895f9
to
5ed3313
Compare
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Just added a |
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Updated the PR with the recent work form the patch branch and added a build workflow to generate a .flatpak that can be installed or simply used as proof that the flatpak builds. Note that the artifact size is small because it still needs to obtain the sdk and base app images from flathub during installation. I'm still willing to help get novelWriter available on Flathub. If your busy with other things I could presumably start the process for you and make sure to tag you in when it's nearing completion. flathub/org.prismlauncher.PrismLauncher#12 A simple PR that updates the source link and checksum. flathub automates the test and once you merge the PR it automates the release to flathub. |
regenerates novelwriter.appdata.xml using git tags to list versions and pulling the latest version from the source Signed-off-by: Rachel Powers <[email protected]>
Signed-off-by: Rachel Powers <[email protected]>
Let's hold off on this one for a bit still. I want to figure out the packaging landscape a bit more before I add this too. I just moved AppImage build to the same workflow as the MacOS, so I'm trying to make things a little easier for myself on releases. |
That's fair, no need to unnecessarily increase the maintenance burden. I'll keep this up to date for when your ready for it. I can just make my own builds to use it myself in the mean time. |
With the recently discovered issues with Qt 5.15.8, I am wondering if it's smarter to go for release formats where we can pin the Qt5 version, like we can here. In particular pinning it to 5.15.2. The Debian packages now have issues, the AppImages, and Windows and MacOS releases do not. I still greatly dislike Flatpak, but it may be worth it 😃 |
Summary:
This PR adds a working flatpak manifest.
This manifest is built off the org.kde.Platform flatpak runtime at version
5.15-22.08
which supplies python version 3.10.6This manifest uses a baseapp https://github.com/flathub/com.riverbankcomputing.PyQt.BaseApp at version
5.15-22.08
which supplies PyQt5-5.15.7the modules installed include:
enchant v2.3.3
installed from https://github.com/AbiWord/enchant/releasespypi-deps.json
which installslxml 4.9.1
andpyenchant 3.2.2
. This file is generated by https://github.com/flatpak/flatpak-builder-tools/tree/master/pip using an included scriptgenerate-pypi-deps-json.sh
(the python file itself is not included and needs to be downloaded next to the script to be used).There is a new setup.py command
build-flatpak
which locally builds a flatpak bundle which can be installed byflatpak install /path/to/novelWriter-*-linux.flatpak
. It will need to obtain the SDK and base app from flathub. This bundle can be distributed as a release artifact but it is not itself releasable to Flathub.The PR includes an updated appstream metadata file at
setup/data/novelwriter.appdata.xml
which provides data on releases, screenshots, and an OARS content rating . This data is used by applications like GNOME Software to present the app.The screenshots must link to an external source for this purpose though they should perhaps be separated out to a new folder on the website and have their links updated. See https://freedesktop.org/software/appstream/docs/chap-CollectionData.html#tag-ct-screenshots for information on providing captions and alt sizes for any screenshot with the metadata.
Ideally, before tagging a release a new
</release>
tag should be added to this metadata.there is a new
gen-appdata
command for the setup.py to update it automatically.This appstream file currently lists the metadata as being licensed as CC0-1.0. The use of a permissive license ensures the metadata can be added to collections with other data.
Other options are licenses like
See https://freedesktop.org/software/appstream/docs/chap-Quickstart.html#qsr-app-contents
The appstream file was validated by
recommended in the flathub documentation
One last note is that this PR modifies the
makeMinimalPackage
function in setup.py to ensureMANIFEST.in
file is included and to account for the new appstream metadata file.Next steps for flathub distribution:
io.novelwriter.novelWriter.yml
) during step 4, also addpypi-deps.json
next to it. Additionally the manifest file needs to modified to use an archive downloadable from the releases section instead of referencing the parent source directory.example (note that this points at the current release and uses the appropriate checksum but the eventual submission would need a new release to ensure the new files are included):
Related Issue(s):
#481
Reviewer's Checklist: