Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
cc56266
(appimage/) add manual appimage
Beethoven-n Aug 2, 2025
6f30d24
(appimage/build_appimage.sh)
Beethoven-n Aug 2, 2025
7555cc3
(build/) add build directory for non-tauri builds
Beethoven-n Aug 2, 2025
bf4b2e0
(src-tauri/tauri.conf.json) remove appimage target from tauri
Beethoven-n Aug 2, 2025
0249a32
(build_appimage.sh) add build script
Beethoven-n Aug 2, 2025
263cceb
(.github/workflows/release.yml) add build_appimage.sh to workflow
Beethoven-n Aug 2, 2025
4599e57
(build_appimage.sh) add basic arch detection
Beethoven-n Aug 2, 2025
4484de0
(build_appimage.sh) install libs by UID and GID
Beethoven-n Aug 3, 2025
cb7c297
(build/appimage/drop-app.d/) rename AppDir
Beethoven-n Aug 3, 2025
51555e4
(build/appimage/drop-app.d/AppRun) change program name
Beethoven-n Aug 3, 2025
d63d6ef
(.github/workflows/release.yml) add --nobuild flag
Beethoven-n Aug 3, 2025
a70c2c6
(build_appimage.sh)
Beethoven-n Aug 3, 2025
9e93ec6
(build/appimage/appimagetool)
Beethoven-n Aug 3, 2025
af49a67
(build/appimage/drop-oss-app.d/)
Beethoven-n Aug 3, 2025
53211e9
(build/appimage/appimagetool) these don't belong here! woops!
Beethoven-n Aug 3, 2025
5e94573
(build_appimage.sh) wrong variable. whoops!
Beethoven-n Aug 3, 2025
301152a
(build_appimage.sh) don't use sudo for this u don't need it
Beethoven-n Aug 3, 2025
61fa43d
(appimage/) add manual appimage
Beethoven-n Aug 2, 2025
7db2e42
(appimage/build_appimage.sh)
Beethoven-n Aug 2, 2025
849dc26
(build/) add build directory for non-tauri builds
Beethoven-n Aug 2, 2025
1ed29aa
(src-tauri/tauri.conf.json) remove appimage target from tauri
Beethoven-n Aug 2, 2025
73608ab
(build_appimage.sh) add build script
Beethoven-n Aug 2, 2025
50f7955
(.github/workflows/release.yml) add build_appimage.sh to workflow
Beethoven-n Aug 2, 2025
aa034c2
(build_appimage.sh) add basic arch detection
Beethoven-n Aug 2, 2025
fe586be
(build_appimage.sh) install libs by UID and GID
Beethoven-n Aug 3, 2025
683e3ac
(build/appimage/drop-app.d/) rename AppDir
Beethoven-n Aug 3, 2025
f9c4505
(build/appimage/drop-app.d/AppRun) change program name
Beethoven-n Aug 3, 2025
95fc7d9
(.github/workflows/release.yml) add --nobuild flag
Beethoven-n Aug 3, 2025
de3be25
(build_appimage.sh)
Beethoven-n Aug 3, 2025
50d76bb
(build/appimage/appimagetool)
Beethoven-n Aug 3, 2025
380084b
(build/appimage/drop-oss-app.d/)
Beethoven-n Aug 3, 2025
3d5de9b
(build/appimage/appimagetool) these don't belong here! woops!
Beethoven-n Aug 3, 2025
81d324a
(build_appimage.sh) wrong variable. whoops!
Beethoven-n Aug 3, 2025
527476e
(build_appimage.sh) don't use sudo for this u don't need it
Beethoven-n Aug 3, 2025
106c229
(build/appimage/drop-app.d/drop-oss-app.desktop) add drop link handling
Beethoven-n Aug 3, 2025
92e4226
Merge branch 'develop' of https://github.com/Beethoven-n/drop-app int…
DecDuck Aug 3, 2025
c78079e
bump version to 0.3.1-appimage
DecDuck Aug 3, 2025
d19c5b8
fix: fixes to pipeline, script, and .gitignorey
DecDuck Aug 3, 2025
41d2373
fix: use ldconfig to find libraries
DecDuck Aug 3, 2025
b3f73d6
fix: add permission fixes
DecDuck Aug 3, 2025
919148c
fix: only use first library result
DecDuck Aug 3, 2025
6038509
fix: add fuse dependency
DecDuck Aug 3, 2025
38dd6a2
fix: if statement
DecDuck Aug 3, 2025
4389d8b
fix: add fix for aarch64 build and start working on github upload
DecDuck Aug 3, 2025
732df1d
fix: various ci fixes
DecDuck Aug 3, 2025
4361798
fix: final fixes
DecDuck Aug 3, 2025
48ccf63
fix: final issues with github pipeline
DecDuck Aug 3, 2025
ef21536
fix: use full shared object library (ldd)
DecDuck Aug 3, 2025
97083db
fix: allow overwriting and add caching
DecDuck Aug 3, 2025
1a19a52
Merge branch 'develop' into develop
Beethoven-n Aug 6, 2025
da454f7
v2 download API and fixes (#112)
DecDuck Aug 12, 2025
70a4ddb
fix: #92 (#115)
DecDuck Aug 11, 2025
465bd2c
fix: link against appindicator3
DecDuck Aug 12, 2025
63e7ff3
Merge branch 'develop' into Beethoven-n-develop
DecDuck Aug 12, 2025
dcece8a
Merge branch 'develop' into develop
Beethoven-n Aug 12, 2025
773a3b0
Merge branch 'develop' into develop
Beethoven-n Aug 31, 2025
2371955
Merge branch 'develop' into develop
Beethoven-n Sep 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 27 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- platform: 'ubuntu-22.04' # for Tauri v1 you could replace this with ubuntu-20.04.
args: ''
- platform: 'ubuntu-22.04-arm'
args: '--target aarch64-unknown-linux-gnu'
args: ''
- platform: 'windows-latest'
args: ''

Expand All @@ -40,6 +40,7 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: 'yarn'

- name: install Rust nightly
uses: dtolnay/rust-toolchain@nightly
Expand All @@ -51,7 +52,7 @@ jobs:
if: matrix.platform == 'ubuntu-22.04' || matrix.platform == 'ubuntu-22.04-arm' # This must match the platform value defined above.
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf xdg-utils
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf xdg-utils binutils fuse
# webkitgtk 4.0 is for Tauri v1 - webkitgtk 4.1 is for Tauri v2.


Expand Down Expand Up @@ -85,20 +86,41 @@ jobs:
echo "CERT_ID=$CERT_ID" >> $GITHUB_ENV
echo "Certificate imported. Using identity: $CERT_ID"

- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './src-tauri -> target'

- name: install frontend dependencies
run: yarn install # change this to npm, pnpm or bun depending on which one you use.

- uses: tauri-apps/tauri-action@v0
- id: build
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
APPLE_SIGNING_IDENTITY: ${{ env.CERT_ID }}
NO_STRIP: true
with:
tagName: v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version.
tagName: v__VERSION__ # update the below "upload artifacts to GitHub" if this gets updated
releaseName: 'Auto-release v__VERSION__'
releaseBody: 'See the assets to download this version and install. This release was created automatically.'
releaseDraft: false
prerelease: true
args: ${{ matrix.args }}
args: ${{ matrix.args }}

- name: Bundle AppImage
if: matrix.platform == 'ubuntu-22.04' || matrix.platform == 'ubuntu-22.04-arm'
run: |
./build_appimage.sh --nobuild

- name: Upload binaries to release
if: matrix.platform == 'ubuntu-22.04' || matrix.platform == 'ubuntu-22.04-arm'
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: build/appimage/*.AppImage
file_glob: true
release_id: ${{ steps.build.outputs.releaseId }}
overwrite: true
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,13 @@ dist-ssr
src-tauri/flamegraph.svg
src-tauri/perf*

build/appimage/*
!build/appimage/drop-app.d

build/appimage/drop-app.d/usr/bin/*
!build/appimage/drop-app.d/usr/bin/.gitkeep

build/appimage/drop-app.d/usr/lib/*
!build/appimage/drop-app.d/usr/lib/.gitkeep
/*.AppImage
/squashfs-root
/squashfs-root
1 change: 1 addition & 0 deletions build/appimage/drop-app.d/.DirIcon
8 changes: 8 additions & 0 deletions build/appimage/drop-app.d/AppRun
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/sh

program="drop-app"

# point to libraries and run
LD_LIBRARY_PATH=$APPDIR/usr/lib:/usr/local/lib:/usr/lib $APPDIR/usr/bin/$program $@

# vim:ft=sh
8 changes: 8 additions & 0 deletions build/appimage/drop-app.d/drop-oss-app.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[Desktop Entry]
Name=Drop Desktop App
Comment=The client application for the open-source, self-hosted game distribution platform Drop.
Exec=AppRun
Icon=drop-oss-app
Type=Application
Categories=Game;Network
MimeType=x-scheme-handler/drop
Binary file added build/appimage/drop-app.d/drop-oss-app.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Empty file.
42 changes: 42 additions & 0 deletions build_appimage.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/bin/sh
set -e

# run this from the root of the git repo to make this work

arch="$(uname -m)"
git_dir="$PWD"
target_dir="$git_dir/src-tauri/target"
appimage_dir="$git_dir/build/appimage"
appdir="$appimage_dir/drop-app.d"

build() {
# set up the repo
git submodule init
git submodule update --recursive

# set up yarn and build
yarn
yarn tauri build
}

rm -f $appdir/usr/bin/* $appdir/usr/lib/*

if [[ ! "$1" == "--nobuild" ]]; then
build
fi

# install binaries in the appdir, then the libraries
cp $target_dir/release/drop-app $appdir/usr/bin
for lib_name in $(ldd "$target_dir/release/drop-app" | grep '=>' | awk '{ print $(NF-1) }');
do
echo $lib_name
sudo install -g 1000 -o 1000 -Dm755 "$(ls -L1 $lib_name)" $appdir/usr/lib
done

wget -O $appimage_dir/appimagetool https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-$arch.AppImage

cd $appimage_dir
chmod u+x appimagetool
./appimagetool $appdir

ls "$appimage_dir/"
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "drop-app",
"private": true,
"version": "0.3.1-appimage",
"type": "module",
"scripts": {
"build": "node ./build.mjs",
Expand Down
15 changes: 15 additions & 0 deletions src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions src-tauri/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ use crate::process::commands::open_process_logs;
use crate::process::process_handlers::UMU_LAUNCHER_EXECUTABLE;
use crate::remote::commands::auth_initiate_code;
use crate::{database::db::DatabaseImpls, games::downloads::commands::resume_download};
use appindicator3_sys::app_indicator_category_get_type;
use bitcode::{Decode, Encode};
use client::commands::fetch_state;
use client::{
Expand Down Expand Up @@ -272,6 +273,8 @@ pub fn run() {
println!("{e}");
}));

let _ = unsafe { app_indicator_category_get_type() };

let mut builder = tauri::Builder::default()
.plugin(tauri_plugin_opener::init())
.plugin(tauri_plugin_os::init())
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
},
"bundle": {
"active": true,
"targets": ["nsis", "deb", "rpm", "dmg", "appimage"],
"targets": ["nsis", "deb", "rpm", "dmg"],
"windows": {
"nsis": {
"installMode": "both"
Expand Down