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

Add Ubuntu Touch support #11

Merged
merged 9 commits into from Mar 16, 2024
Merged

Add Ubuntu Touch support #11

merged 9 commits into from Mar 16, 2024

Conversation

SumwunDucainest
Copy link
Contributor

This is a first PR to support Ubuntu Touch devices.

It is a Work In Progress, but I have confirmed that it works on my Pine Phone.
The app currently segfaults on my PinePhone Pro, I'm planning to take a look at that next.

I have tried to keep the UT-specific stuff out of the way of the main tree as much as possible.

There are a few "hacks" due to Ubuntu Touch being stuck on an oldish version for now (20.04).
This should hopefully change in the near future.

Update README to reflect current state and name of the app, and
mention libcamera, as this is a main factor susceptible to drive
adoption.

Signed-off-by: Sumwun Ducainest <sumwun.ducainest@outlook.com>
The app used to have a pre-generated shutter.qrc that pointed to
the platform.kirigami QML files independently of the chosen flavor.

As far as I can tell, this prevents the app from building correctly
for other flavors.

This commit replaces `shutter.qrc` with `shutter.qrc.in` and adds a
step in `harbour-shutter.pro` to replace the `@FLAVOR@` placeholder.

Signed-off-by: Sumwun Ducainest <sumwun.ducainest@outlook.com>
This commit adds a directory containing files specific to the build
system used for Ubuntu Touch apps: [Clickable](https://clickable-ut.dev).

Signed-off-by: Sumwun Ducainest <sumwun.ducainest@outlook.com>
This commit adds a bare-bones YAML build file for the build system
used in Ubuntu Touch apps: [clickable](https://clickable-ut.dev).

That build file is not yet functional.

Signed-off-by: Sumwun Ducainest <sumwun.ducainest@outlook.com>
This commit adds the QtMultimedia qvideoframe_p.h private header to
the Ubuntu Touch-specific files.
This is necessary, because Qt no longer distributes private headers,
so the package containing the header is not available on Ubuntu.
In time, the use of this header should be replaced by the Qt-recommended
way of doing things.

Signed-off-by: Sumwun Ducainest <sumwun.ducainest@outlook.com>
Shutter relies on 2 libraires that are unavailable in the Focal (20.04)
repos that Ubuntu Touch is currently still using:
  - libcamera
  - libopencv
For Ubuntu Touch, we therefore need to build AND ship those libraries
with the app.
This commit adds the clickable configuration to do that, as well as a
script that will be used to build libcamera.

Signed-off-by: Sumwun Ducainest <sumwun.ducainest@outlook.com>
The Ubuntu Touch build is going to use the Kirigami flavor.
However, the version of Kirigami available in the Focal (20.04)
repos currently used by Ubuntu Touch is 2.5

This commit creates a new platform.kirigami/ut/ directory containing
QML files using Kirigami 2.5 instead of 2.14.

Once Ubuntu Touch has moved to Noble (24.04), these can probably
be removed.

Signed-off-by: Sumwun Ducainest <sumwun.ducainest@outlook.com>
This commit adds the QMake configurations necessary for the
Ubuntu Touch build to succeed.

Signed-off-by: Sumwun Ducainest <sumwun.ducainest@outlook.com>
Add build instructions for Ubuntu Touch to the README.

Signed-off-by: Sumwun Ducainest <sumwun.ducainest@outlook.com>
@piggz
Copy link
Owner

piggz commented Mar 16, 2024

Looks great

@piggz piggz merged commit e606d4e into piggz:main Mar 16, 2024
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

2 participants