Set up flatpak and add allow installation.

Prepare for flatpak build and create initial manifest which may not work yet.

Add desktop file and icon.

Fix incorrect location for desktop file in meson.build

Change player executable name so it's not so generic.

Update executable bit of the desktop file and add my flatpak repo folder to .gitignore.

Update executable bit of the desktop file and add my flatpak repo folder to .gitignore.

Update desktop file name.

Hopefully make flatpak export the desktop file and icon/

Fix incorrect icon path.

Fix incorrect binary and hopefully fix install script.

Actually fix install script.

Add categories to desktop file.

Fix incorrect separator and add generic name in desktop file.
This commit is contained in:
Zachary Hall 2023-07-16 16:04:07 -07:00
parent 1da48029e2
commit 9ebdb3b967
10 changed files with 55 additions and 41 deletions

6
.gitignore vendored
View file

@ -4,4 +4,8 @@ build*
subprojects/*/ subprojects/*/
.cache .cache
compile_commands.json compile_commands.json
!subprojects/SDL-Mixer-X/ !subprojects/SDL-Mixer-X/
!subprojects/jsoncpp/
.flatpak-builder
flatpak-repo
*.flatpak

3
.gitmodules vendored
View file

@ -7,3 +7,6 @@
[submodule "subprojects/SDL-Mixer-X"] [submodule "subprojects/SDL-Mixer-X"]
path = subprojects/SDL-Mixer-X path = subprojects/SDL-Mixer-X
url = https://github.com/WohlSoft/SDL-Mixer-X.git url = https://github.com/WohlSoft/SDL-Mixer-X.git
[submodule "subprojects/jsoncpp"]
path = subprojects/jsoncpp
url = https://github.com/open-source-parsers/jsoncpp

8
assets/neko-player.desktop Executable file
View file

@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=Neko Player
Comment=An audio player that can properly loop audio files
GenericName=Looping audio player
Exec=neko-player
Icon=neko-player
Categories=Audio;AudioVideo;

View file

@ -0,0 +1,31 @@
app-id: com.experimentalcraft.NekoPlayer
runtime: org.freedesktop.Platform
runtime-version: '22.08'
sdk: org.freedesktop.Sdk
sdk-extensions:
- org.freedesktop.Platform.GL.default
command: neko-player
rename-desktop-file: neko-player.desktop
rename-icon: neko-player
modules:
- name: soundtouch
buildsystem: cmake
sources:
- type: git
url: https://codeberg.org/soundtouch/soundtouch.git
tag: 2.3.2
- name: player
buildsystem: meson
builddir: build-flatpak
build-options:
- --buildtype release
sources:
- type: git
path: .git
branch: main
finish-args:
- --share=ipc
- --socket=x11
- --socket=pulseaudio
- --device=dri
- --filesystem=xdg-music

3
install.sh Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
./build-file.sh
flatpak install --reinstall -y --user --noninteractive ./neko-player.flatpak

View file

@ -18,7 +18,7 @@ deps = [
dependency('sdl2'), dependency('sdl2'),
dependency('SDL2_image'), dependency('SDL2_image'),
dependency('gl'), dependency('gl'),
dependency('jsoncpp'), subproject('jsoncpp').get_variable('jsoncpp_dep'),
dependency('soundtouch'), dependency('soundtouch'),
#raudio_dep, #raudio_dep,
smx_subproj.dependency('SDL2_mixer_ext_Static'), smx_subproj.dependency('SDL2_mixer_ext_Static'),
@ -46,8 +46,9 @@ include_dirs = [
] ]
res = run_command('./assets/update-assets.sh', check: true) res = run_command('./assets/update-assets.sh', check: true)
install_data('assets/icon.svg', rename: 'neko-player.svg', install_dir: 'share/icons/hicolor/scalable/apps/')
exe = executable('player', srcs, install_data('assets/neko-player.desktop', install_dir: 'share/applications')
exe = executable('neko-player', srcs,
dependencies: deps, dependencies: deps,
include_directories: include_dirs, include_directories: include_dirs,
install : true) install : true)

1
subprojects/jsoncpp Submodule

@ -0,0 +1 @@
Subproject commit 5defb4ed1a4293b8e2bf641e16b156fb9de498cc

View file

@ -1,9 +0,0 @@
[wrap-file]
directory = jsoncpp-1.9.5
source_url = https://github.com/open-source-parsers/jsoncpp/archive/1.9.5.tar.gz
source_filename = jsoncpp-1.9.5.tar.gz
source_hash = f409856e5920c18d0c2fb85276e24ee607d2a09b5e7d5f0a371368903c275da2
[provide]
jsoncpp = jsoncpp_dep

View file

@ -1,15 +0,0 @@
[wrap-file]
directory = SDL2-2.26.5
source_url = https://github.com/libsdl-org/SDL/releases/download/release-2.26.5/SDL2-2.26.5.tar.gz
source_filename = SDL2-2.26.5.tar.gz
source_hash = ad8fea3da1be64c83c45b1d363a6b4ba8fd60f5bde3b23ec73855709ec5eabf7
patch_filename = sdl2_2.26.5-5_patch.zip
patch_url = https://wrapdb.mesonbuild.com/v2/sdl2_2.26.5-5/get_patch
patch_hash = 4d8d3ae534c326f27b2d97616fdfa7cce41bd0333c7d9683dd8ae39d4ad70e6a
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/sdl2_2.26.5-5/SDL2-2.26.5.tar.gz
wrapdb_version = 2.26.5-5
[provide]
sdl2 = sdl2_dep
sdl2main = sdl2main_dep
sdl2_test = sdl2_test_dep

View file

@ -1,13 +0,0 @@
[wrap-file]
directory = SDL2_image-2.6.3
source_url = https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.6.3.tar.gz
source_filename = SDL2_image-2.6.3.tar.gz
source_hash = 931c9be5bf1d7c8fae9b7dc157828b7eee874e23c7f24b44ba7eff6b4836312c
patch_filename = sdl2_image_2.6.3-2_patch.zip
patch_url = https://wrapdb.mesonbuild.com/v2/sdl2_image_2.6.3-2/get_patch
patch_hash = 1741274f30b5b88299b2588a498a54a4203861ec1fa64c3bf99b359a6b618354
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/sdl2_image_2.6.3-2/SDL2_image-2.6.3.tar.gz
wrapdb_version = 2.6.3-2
[provide]
sdl2_image = sdl2_image_dep