My project is https://github.com/tomluchowski/OpenDungeonsPlus
and I have no other homepage , what the appid should be ? Because it drives me crazy !
"errors": [
"appid-url-not-reachable",
"appid-uses-code-hosting-domain"
],
for such manifest :
app-id: com.github.tomluchowski.OpenDungeonsPlus
runtime: org.freedesktop.Platform
runtime-version: '22.08'
sdk: org.freedesktop.Sdk
command: opendungeons-plus
# Metadata section for additional details
metadata:
name: "Open Dungeons Plus"
summary: "A free and open-source dungeon game"
description: "Open Dungeons Plus is a strategy game where you manage dungeons
and creatures."
license: "GPL-3.0"
homepage: "https://github.com/tomluchowski/OpenDungeonsPlus" # Use your GitHu
b/GitLab repo as a placeholder URL
project_license: "GPL-3.0"
finish-args:
- --share=ipc
- --socket=x11
- --share=network
- --device=dri
- --env=CEGUI_MODULE_DIR=/app/lib/cegui-0.9999
- --filesystem=host
- --socket=pulseaudio # Allow access to PulseAudio
modules:
# Boost module (for various utilities)
- name: boost
buildsystem: simple
build-commands:
- ./bootstrap.sh --prefix=/app
- ./b2 install
sources:
- type: archive
url: https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.gz
sha256: 66a469b6e608a51f8347236f4912e27dc5c60c60d7d53ae9bfe4683316c6f04c
# OIS module (for input system)
- name: OIS
buildsystem: cmake
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/app
sources:
- type: archive
url: https://github.com/wgois/OIS/archive/refs/tags/v1.5.tar.gz
sha256: aa3e6b840b1149bb06835e04365957f4659c08b3e3095a48b289050f1637a174
# PugiXML module (added to fix the missing pugixml.hpp error)
- name: pugixml
buildsystem: cmake
config-opts:
- -DCMAKE_BUILD_TYPE=Release
sources:
- type: archive
url: https://github.com/zeux/pugixml/archive/refs/tags/v1.13.tar.gz
sha256: 5c5ad5d7caeb791420408042a7d88c2c6180781bf218feca259fd9d840a888e1 # Replace with actual checksum
# pybind11 module (to fix missing pybind11)
- name: pybind11
buildsystem: cmake
config-opts:
- -DCMAKE_INSTALL_PREFIX=/app
- -DPYBIND11_FINDPYTHON=ON
- -DPYTHON_EXECUTABLE=/usr/bin/python3
- -DPYTHON_INCLUDE_DIR=/usr/include/python3.10 # Specify Python include path
- -DPYTHON_LIBRARIES=/usr/lib/x86_64-linux-gnu/libpython3.10.so # Specify Python library path
sources:
- type: archive
url: https://github.com/pybind/pybind11/archive/refs/tags/v2.10.4.tar.gz
sha256: 832e2f309c57da9c1e6d4542dedd34b24e4192ecb4d62f6f4866a737454c9970 # Replace with actual checksum
# SFML module (Simple and Fast Multimedia Library)
- name: sfml
buildsystem: cmake
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/app
sources:
- type: archive
url: https://github.com/SFML/SFML/archive/refs/tags/2.5.1.tar.gz
sha256: 438c91a917cc8aa19e82c6f59f8714da353c488584a007d401efac8368e1c785
# OGRE module, which will include ImGui sources
- name: ogre
buildsystem: cmake
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DOGRE_CONFIG_THREAD_PROVIDER=std
- -DOGRE_CONFIG_THREADS=3
- -DOGRE_STATIC=FALSE
- -DOGRE_BUILD_DEPENDENCIES=FALSE
- -DOGRE_BUILD_RENDERSYSTEM_GL=TRUE
- -DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=TRUE
- -DOGRE_RESOURCEMANAGER_STRICT=0
# stuff we dont need
- -DOGRE_BUILD_RENDERSYSTEM_GLES2=FALSE
- -DOGRE_BUILD_TOOLS=FALSE
- -DOGRE_BUILD_SAMPLES=FALSE
- -DOGRE_BUILD_PLUGIN_FREEIMAGE=FALSE
- -DOGRE_BUILD_PLUGIN_EXRCODEC=FALSE
- -DOGRE_BUILD_PLUGIN_BSP=FALSE
- -DOGRE_BUILD_PLUGIN_PCZ=FALSE
- -DOGRE_BUILD_PLUGIN_DOT_SCENE=FALSE
- -DOGRE_BUILD_COMPONENT_JAVA=FALSE
- -DOGRE_BUILD_COMPONENT_VOLUME=FALSE
- -DOGRE_BUILD_COMPONENT_PAGING=FALSE
- -DOGRE_BUILD_COMPONENT_TERRAIN=FALSE
- -DOGRE_BUILD_COMPONENT_PROPERTY=FALSE
- -DOGRE_BUILD_COMPONENT_MESHLODGENERATOR=FALSE
- -DOGRE_BUILD_COMPONENT_HLMS=FALSE
- -DCMAKE_INSTALL_PREFIX=/app/
- -DOGRE_ENABLE_PRECOMPILED_HEADERS=OFF
sources:
- type: archive
url: https://github.com/OGRECave/ogre/archive/refs/tags/v13.6.5.tar.gz
sha256: 857f74d18c4bb484f0e31c288b8d27837615a59c3da2b3d8304496c83ef669cd # Replace with actual checksum
# Download ImGui as an additional source to be used in the OGRE build
- type: archive
url: https://github.com/ocornut/imgui/archive/refs/tags/v1.87.tar.gz
sha256: b54ceb35bda38766e36b87c25edf7a1cd8fd2cb8c485b245aedca6fb85645a20 # Replace with actual checksum
dest: imgui-1.87 # This will extract ImGui to /run/build/imgui
# CEGUI module
- name: cegui
buildsystem: cmake
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_CXX_FLAGS=-std=c++11
- -DCEGUI_BUILD_RENDERER_OPENGL=FALSE
- -DCEGUI_BUILD_RENDERER_OPENGLES=FALSE
- -DCEGUI_BUILD_RENDERER_OPENGL3=FALSE
- -DCEGUI_BUILD_IMAGECODEC_FREEIMAGE=FALSE # we use ogre
- -DCEGUI_OPTION_DEFAULT_IMAGECODEC=OgreRenderer-0
- -DCEGUI_SAMPLES_ENABLED=FALSE
- -DCEGUI_BUILD_PYTHON_MODULES=OFF
- -DCMAKE_INSTALL_PREFIX=/app # Install to /app, not /usr
sources:
- type: git
url: https://github.com/cegui/cegui.git
tag: v0
# OpenDungeonsPlus module
- name: opendungeons-plus
buildsystem: cmake
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/app
- -DOD_TREAT_WARNINGS_AS_ERRORS=OFF
- -DPYBIND11_FINDPYTHON=ON
- -DOD_PLUGINS_CFG_PATH=/app/etc/opendungeons-plus
sources:
- type: archive
url: https://github.com/tomluchowski/OpenDungeonsPlus/archive/refs/tags/Texture_problems.tar.gz
sha256: 9b01e89a5171691845bae238240f9f882752a822e50056c13d950345b56344df
Per the documentation for app-id:
Read the bit about github.
And what is that? Which part of the documentation explain this? So that we can fix said documentation.
Many thanks, as I said in previous posts chatgpt helps me , and sometimes it is hallucinating …
BTW: How do I deliver the .metainfo.xml file, where it should be located ? In the game directory ?
Side note: please stop creating new threads, it’s fine you stick to single one given all are about your efforts to package an app.
https://github.com/tomluchowski/OpenDungeonsPlus/tree/056c7086b7aa3246b8eb099b459997915fa2a07e/screenshots
The link inside
image tag must be a direct link to a image resource on the web. If the images are hosted in a git repository, the link should be from a tag or a commit and not a branch.
How I am supposed to get a direct resource link from this ?
How I am supposed to get a direct resource link from this ?
Then, copy the link. If you have a branch like master/main in your link, replace that with the tag or the commit.
command should just be a command and be in the path, like
/app/bin
. NOT an absolute path
I set command: opendungeons-plus
Sure thing, but when I do this :
Starting build of io.github.tomluchowski.OpenDungeonsPlus
Cache hit for boost, skipping build
Cache hit for OIS, skipping build
Cache hit for pugixml, skipping build
Cache hit for pybind11, skipping build
Cache hit for sfml, skipping build
Cache hit for ogre, skipping build
Cache hit for cegui, skipping build
Cache hit for opendungeons-plus, skipping build
Cache hit for cleanup, skipping
Cache miss, checking out last cache hit
Finishing app
Error: Command ‘opendungeons-plus’ not found
#if defined(__i386__) // gcc specific
#if !defined(__FreeBSD__) && !defined(__OpenBSD__)
caller_address = reinterpret_cast<void*>(uc->uc_mcontext.eip); // EIP: x86 specific
#else
caller_address = reinterpret_cast<void*>(uc->uc_mcontext.sc_eip); // EIP: x86 specific
#endif
#elif defined(__x86_64__) // gcc specific
#if !defined(__FreeBSD__) && !defined(__OpenBSD__)
caller_address = reinterpret_cast<void*>(uc->uc_mcontext.rip); // RIP: x86_64 specific
#else
caller_address = reinterpret_cast<void*>(uc->uc_mcontext.sc_rip); // RIP: x86_64 specific
#endif
#else
#error Unsupported architecture. // TODO: Add support for other arch.
#endif
// void* caller_address = (void*) uc->uc_mcontext.eip; // x86 specific
Sure there is only support for i386 and x86_64 … How do I narrow the build family ? Chatgpt is hallucinating on this, and I cannot google any reliable command on this …
What I mean with snapcraft.yaml one can easily facilitate the architecture like :
architectures:
- build-on: amd64
- build-on: i386
Here with flatpak I don’t see any such directives…
Many thanks for the hint.
As I am on the finish line , I get such surprise error :
Running appstreamcli compose
Only accepting components: io.github.tomluchowski.OpenDungeonsPlus, io.github.tomluchowski.OpenDungeonsPlus.desktop
Processing directory: /home/tom/Opendungeons_github/flathub/.flatpak-builder/rofiles/rofiles-S35Oog/files
Composing metadata...
Run failed, some data was ignored.
Errors were raised during this compose run:
general
E: filters-but-no-output
io.github.tomluchowski.OpenDungeonsPlus
E: icon-not-found
Refer to the generated issue report data for details on the individual problems.
Error: ERROR: appstreamcli compose failed: Child process exited with code 1
I am stuck terribly here … By following examples from previous others pull requests I presume the name of Icon in *.desktop file should be “opendungeons” (and that’s what I did ) because of :
[📦 io.github.tomluchowski.OpenDungeonsPlus /]$ find ./ -name '*opendungeons*'
./app/bin/opendungeons-plus
./app/etc/opendungeons-plus
./app/share/appdata/opendungeons-plus.appdata.xml
./app/share/applications/opendungeons-plus.desktop
./app/share/doc/opendungeons-plus
./app/share/games/opendungeons-plus
./app/share/icons/hicolor/128x128/apps/opendungeons.png
./app/share/icons/hicolor/16x16/apps/opendungeons.png
./app/share/icons/hicolor/256x256/apps/opendungeons.png
./app/share/icons/hicolor/32x32/apps/opendungeons.png
./app/share/icons/hicolor/48x48/apps/opendungeons.png
./app/share/icons/hicolor/64x64/apps/opendungeons.png
./app/share/icons/hicolor/scalable/apps/opendungeons.svg
uhh after looking the succesfull pull-requests I see it has to be of the form : $(app_id).$(icon_name_from_the_desktop_file).svg
The clue of the problem lies here : the following command does not create the file with the flatpak-app-id, but instead there is opendungeons.svg as in the listing 2 post above:
post-install:
- install -Dm644 meta/gui/icon.svg /app/share/icons/hicolor/scalable/apps/${FLATPAK_ID}.opendungeons.svg
post-install:
- echo "flatpak_id is ${FLATPAK_ID} and flarpak_dest is ${FLATPAK_DEST}"
gives:
flatpak_id is io.github.tomluchowski.OpenDungeonsPlus and flarpak_dest is /app
This topic was automatically closed after 17 hours. New replies are no longer allowed.