From 6ca82b82bb3ee33029ae36a5f6616c7b77e9ae0b Mon Sep 17 00:00:00 2001 From: Hiddify-com Date: Fri, 9 Feb 2024 16:54:49 +0100 Subject: [PATCH] new: add app run file for appimage --- .../makers/appimage/make_appimage_config.dart | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/packages/flutter_app_packager/lib/src/makers/appimage/make_appimage_config.dart b/packages/flutter_app_packager/lib/src/makers/appimage/make_appimage_config.dart index cfed1959..b5e9b156 100644 --- a/packages/flutter_app_packager/lib/src/makers/appimage/make_appimage_config.dart +++ b/packages/flutter_app_packager/lib/src/makers/appimage/make_appimage_config.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:app_package_maker/app_package_maker.dart'; +import 'package:path/path.dart' as path; class AppImageAction { AppImageAction({ @@ -42,7 +43,7 @@ class MakeAppImageConfig extends MakeConfig { this.genericName = 'A Flutter Application', }); factory MakeAppImageConfig.fromJson(Map map) { - return MakeAppImageConfig( + final makeConfig = MakeAppImageConfig( displayName: map['display_name'] as String, icon: map['icon'] as String, include: (map['include'] as List? ?? []).cast(), @@ -55,6 +56,20 @@ class MakeAppImageConfig extends MakeConfig { (Map.castFrom(e)))) .toList(), ); + makeConfig.appRunContent = ''' +#!/bin/bash + +cd "\$(dirname "\$0")" +export LD_LIBRARY_PATH=usr/lib +exec ./${makeConfig.appName} +'''; + if (map['app_run_file'] != null) { + makeConfig.appRunContent = File(path.join( + 'linux/packaging/appimage/', + map['app_run_file']!, + )).readAsStringSync(); + } + return makeConfig; } final String icon; @@ -65,6 +80,7 @@ class MakeAppImageConfig extends MakeConfig { final String genericName; final String displayName; final List include; + String appRunContent = ''; String get desktopFileContent { final fields = { @@ -91,16 +107,6 @@ class MakeAppImageConfig extends MakeConfig { return '[Desktop Entry]\n$fields\n\n$actions'; } - - String get appRunContent { - return ''' -#!/bin/bash - -cd "\$(dirname "\$0")" -export LD_LIBRARY_PATH=usr/lib -exec ./$appName -'''; - } } class MakeAppImageConfigLoader extends DefaultMakeConfigLoader {