Ich riskiere einen Monolog. Aber hier noch das Manifest mit Webkitgtk Integration. Jetzt werden auch die Charts in „Bestände“ und den Klassifizierung korrekt angezeigt.
Folgende Verbesserungen sehe ich noch:
- Die Icongröße in der Ansicht „Vermögensaufstellung“ und „Wertpapiere“ ist zu groß (und pixlig)
- Wenn die Webkitgtk Bilder neu gezeichnet werden, wird manchmal der Canvas gelöscht und nicht neu gerendert. Ein Ansichtswechsel behebt das Problem.
Allerdings beobachte ich das auch bei Installationen ohne flatpak.
Zum Nachvollziehen:
Manifest unter org.buchen.PortfolioPerfomance abspeichern und kompilieren:
flatpak-builder --repo=repo --force-clean build-dir org.buchen.PortfolioPerformance.json
Dann ein lokales repo zu flatpak hinzufügen und installieren:
flatpak --user remote-add --no-gpg-verify local_repo repo
flatpak --user install local_repo org.buchen.PortfolioPerformance
Oder ein single bundle file erstellen und installieren
flatpak build-bundle repo pp.flatpak org.buchen.PortfolioPerformance
flatpak install pp.flatpak
Das Komplieren dauert etwas länger. Vermutlich kann man einige Optionen noch reduzieren und verbessern. Ebenfalls könnten die Berechtigungen vielleicht noch reduziert werden.
org.buchen.PortfolioPerformance.json
{
"app-id": "org.buchen.PortfolioPerformance",
"runtime": "org.freedesktop.Sdk",
"runtime-version": "18.08",
"sdk": "org.freedesktop.Sdk",
"sdk-extensions": [
"org.freedesktop.Sdk.Extension.openjdk11"
],
"command": "/app/jre/bin/PortfolioPerformance",
"finish-args": [
"--persist=.java",
"--socket=x11",
"--socket=wayland",
"--socket=session-bus",
"--share=network",
"--share=ipc",
"--env=PATH=/app/jre/bin:/usr/bin",
"--env=JAVA_HOME=/app/jre",
"--filesystem=host"
],
"build-options": {
"append-path": "/usr/lib/sdk/openjdk11/bin"
},
"modules": [
{
"name": "openjdk",
"buildsystem": "simple",
"build-commands": [
"/usr/lib/sdk/openjdk11/install.sh"
]
},
{
"name": "libwpe",
"buildsystem": "cmake-ninja",
"config-opts": [
"-DCMAKE_BUILD_TYPE=Release",
"-DCMAKE_C_FLAGS_RELEASE=-DNDEBUG",
"-DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG",
"-DCMAKE_INSTALL_PREFIX=/app"
],
"sources": [
{
"type": "archive",
"url": "https://wpewebkit.org/releases/libwpe-1.4.0.1.tar.xz",
"sha256": "09849dfb34877354f34f318e138971cf22e677b2179e1f0a8ea00ab0b7bd8e9b"
}
]
},
{
"name": "wpebackend-fdo",
"buildsystem": "cmake-ninja",
"config-opts": [
"-DCMAKE_BUILD_TYPE=Release",
"-DCMAKE_C_FLAGS_RELEASE=-DNDEBUG",
"-DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG",
"-DCMAKE_INSTALL_PREFIX=/app"
],
"sources": [
{
"type": "archive",
"url": "https://wpewebkit.org/releases/wpebackend-fdo-1.4.0.tar.xz",
"sha256": "a919ca4a5bc445f9419a5b7f3781cfc98e5abcf5d7259eb1869f5ab20fd18baf"
}
]
},
{
"name": "webkitgtk",
"buildsystem": "cmake-ninja",
"config-opts": [
"-DPORT=GTK",
"-DENABLE_SPELLCHECK=False",
"-DUSE_LIBNOTIFY=False",
"-DUSE_OPENJPEG=False",
"-DUSE_WOFF2=False",
"-DUSE_LIBSECRET=False",
"-DENABLE_VIDEO=OFF"
],
"build-options": {
"env": {
"PYTHON": "/usr/bin/python3"
},
"cflags": "-O2 -g -pipe -Wno-expansion-to-defined -Wno-class-memaccess -fno-delete-null-pointer-checks -fpermissive",
"cflags-override": true,
"cxxflags": "-O2 -g -pipe -Wno-expansion-to-defined -Wno-class-memaccess -fno-delete-null-pointer-checks -fpermissive",
"cxxflags-override": true,
"arch": {
"aarch64": {
"cflags": "-O2 -g -pipe -DENABLE_YARR_JIT=0 -Wno-expansion-to-defined -Wno-class-memaccess -fno-delete-null-pointer-checks -fpermissive",
"cflags-override": true,
"cxxflags": "-O2 -g -pipe -DENABLE_YARR_JIT=0 -Wno-expansion-to-defined -Wno-class-memaccess -fno-delete-null-pointer-checks -fpermissive",
"cxxflags-override": true,
"config-opts": [
"--disable-jit"
]
}
}
},
"cleanup": [
"/share/doc",
"/bin"
],
"sources": [
{
"type": "archive",
"url": "https://www.webkitgtk.org/releases/webkitgtk-2.26.1.tar.xz",
"sha256": "6b4b21801d2b1008422a1075dbd6fb4ae8b5127503faf657cf9671289d9cd155"
}
]
},
{
"name": "PortfolioPerformance",
"buildsystem": "simple",
"build-commands": [
"unzip plugins/name.abuchen.portfolio.ui_0.41.1.jar 'icons/*'",
"install -Dm644 icons/pp_16.png /app/share/icons/hicolor/16x16/apps/${FLATPAK_ID}.png",
"install -Dm644 icons/pp_48.png /app/share/icons/hicolor/48x48/apps/${FLATPAK_ID}.png",
"install -Dm644 icons/pp_256.png /app/share/icons/hicolor/256x256/apps/${FLATPAK_ID}.png",
"install -Dm644 icons/pp_512.png /app/share/icons/hicolor/512x512/apps/${FLATPAK_ID}.png",
"rm -rf icons",
"mv * /app/jre/bin/",
"echo '[Desktop Entry]\nType=Application\nName=PortfolioPerformance\nComment=A simple tool to calculate the overall performance of an investment portfolio.\nExec=/app/jre/bin/PortfolioPerformance\nIcon=pp\nTerminal=false\nCategories=Office' > pp.desktop",
"install -Dm644 pp.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop",
"desktop-file-edit --set-icon=${FLATPAK_ID} /app/share/applications/${FLATPAK_ID}.desktop"
],
"sources": [
{
"type": "archive",
"url": "https://github.com/buchen/portfolio/releases/download/0.41.1/PortfolioPerformance-0.41.1-linux.gtk.x86_64.tar.gz",
"sha256": "d4e9b56dfa38022a9186dd0e85b39388af9f5b6696aa8cad7255534908bb0729"
}
]
}
]
}