blob: 6ca09b7861f209b598350064ff4fa5ff9f3fdc44 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# sailfish-account-mastodon
Sailfish OS account integration for Mastodon.
## What This Repository Contains
This repository is the initial public form of the Mastodon plugin and contains all of its account integration components.
### `common/`
- Shared C++ library code used by multiple plugins.
- Includes Mastodon posts database support built on `socialcache`.
### `settings/`
- Sailfish Accounts provider and services definitions.
- Account UI QML files for account creation/settings/credentials update.
- Uses OAuth2 (`web_server`) account flow with per-instance Mastodon app registration.
- Current services:
- `mastodon-microblog` (sync posts)
- `mastodon-sharing` (Transfer Engine sharing)
### `buteo-plugins/`
- Social sync plugins for Buteo.
- Includes shared Buteo social plugin framework code and Mastodon posts sync plugin/profile files.
- Installs Buteo client and sync profile XML files.
### `eventsview-plugins/`
- Events view extension QML/C++ plugin for Mastodon posts.
- Includes delegate/feed item QML and `MastodonPostsModel`.
### `transferengine-plugins/`
- Transfer Engine integration for Mastodon image sharing.
- `mastodonshareplugin/`: sharing method discovery and share UI metadata.
- `mastodontransferplugin/`: upload implementation (upload media + create status).
- Shared account credential/status helper: `mastodonshareservicestatus.*`.
### `icons/`
- Mastodon SVG icon assets and Sailfish icon conversion setup (`sailfish-svg2png`).
- Provides themed service icons used by provider/settings/transfer UI.
### `rpm/`
- RPM spec for packaging all components.
- Defines subpackages:
- `sailfish-account-mastodon`
- `buteo-sync-plugin-mastodon-posts`
- `eventsview-extensions-mastodon`
- `transferengine-plugin-mastodon`
- `sailfish-account-mastodon-features-all`
### Root project file
- `sailfish-account-mastodon.pro` ties all subprojects together.
## Build Requirements
This project is designed for the Sailfish OS build environment.
A full build is not possible without Sailfish SDK access (including target sysroot/tooling and Sailfish-specific development packages).
In particular, dependencies like these must come from the Sailfish SDK target environment:
- `buteosyncfw5`
- `socialcache`
- `sailfishaccounts`
- `nemotransferengine-qt5`
- other Sailfish/Qt account stack packages listed in `rpm/sailfish-account-mastodon.spec`
## Typical Build Flow (Inside Sailfish SDK)
1. Enter Sailfish SDK shell/target.
2. Run qmake build from repository root.
3. Build RPM package(s) from `rpm/sailfish-account-mastodon.spec`.
If you are outside Sailfish SDK, use static checks and code review only.
|