app-emulation/86BoxManagerX: fix ebuild

Signed-off-by: Gonçalo Duarte <gonegrier.duarte@gmail.com>
This commit is contained in:
Gonçalo Duarte 2023-11-05 17:02:32 +00:00
parent 826b70ba01
commit d7a5394b48
No known key found for this signature in database
GPG Key ID: C7FE9710C90868CC
2 changed files with 64 additions and 3 deletions

View File

@ -12,16 +12,48 @@ DEPEND="app-emulation/86Box
dev-dotnet/dotnet-sdk-bin
"
QA_PRESTRIPPED="
/opt/86BoxManagerX/createdump
/opt/86BoxManagerX/libSystem.Globalization.Native.so
/opt/86BoxManagerX/libSystem.IO.Compression.Native.so
/opt/86BoxManagerX/libSystem.Native.so
/opt/86BoxManagerX/libSystem.Net.Security.Native.so
/opt/86BoxManagerX/libSystem.Security.Cryptography.Native.OpenSsl.so
/opt/86BoxManagerX/libclrjit.so
/opt/86BoxManagerX/libcoreclr.so
/opt/86BoxManagerX/libcoreclrtraceptprovider.so
/opt/86BoxManagerX/libdbgshim.so
/opt/86BoxManagerX/libhostfxr.so
/opt/86BoxManagerX/libhostpolicy.so
/opt/86BoxManagerX/libmscordaccore.so
/opt/86BoxManagerX/libmscordbi.so
/opt/86BoxManagerX/libHarfBuzzSharp.so
/opt/86BoxManagerX/libMono.Unix.so
/opt/86BoxManagerX/libSkiaSharp.so
/opt/86BoxManagerX/86Manager
"
LICENSE="MIT"
SLOT="0"
PATCHES=(
# Save the config in user directory preventing permission denied error
# https://github.com/RetBox/86BoxManagerX/pull/1
"${FILESDIR}/86BoxManagerX-9999-save-config-user-directory.patch"
)
src_unpack() {
git-r3_src_unpack
git-r3_checkout
cd "${S}"
# Need internet access
dotnet publish 86BoxManager -r linux-x64
}
src_compile () {
src_prepare() {
default
}
src_compile() {
dotnet publish 86BoxManager -r linux-x64 -c Release --self-contained true -o 86BoxManagerX
}
@ -29,7 +61,8 @@ src_install() {
#Install binary and alias command
insinto /opt && doins -r "${WORKDIR}/${P}/86BoxManagerX"
insinto /opt/bin/ && doins "${FILESDIR}/86BoxManagerX"
fperms +x /opt/86BoxManagerX/86Manager /opt/bin/86BoxManagerX /opt/86BoxManagerX/*.dll
fperms +x /opt/86BoxManagerX/86Manager /opt/bin/86BoxManagerX
find /opt/86BoxManagerX/ -name "*.dll" -exec fperms +x {} +
#Icon and Desktop File
doicon "${FILESDIR}/86BoxManagerX.png"

View File

@ -0,0 +1,28 @@
diff --git a/86BoxManager.Core/Registry/Configs.cs b/86BoxManager.Core/Registry/Configs.cs
index c61e99a..be25067 100644
--- a/86BoxManager.Core/Registry/Configs.cs
+++ b/86BoxManager.Core/Registry/Configs.cs
@@ -1,3 +1,4 @@
+using System;
using System.IO;
using System.Text;
using Newtonsoft.Json;
@@ -18,11 +19,13 @@ static Configs()
{
Formatting = Formatting.Indented
};
- var ass = typeof(Configs).Assembly;
- var loc = IOPath.GetFullPath(ass.Location);
- var dir = IOPath.GetDirectoryName(loc) ?? string.Empty;
- BoxConfigName = IOPath.Combine(dir, "86Box.json");
- VmxConfigName = IOPath.Combine(dir, "86BoxVMs.json");
+
+ var userConfigDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData, Environment.SpecialFolderOption.Create);
+ var appConfigDir = IOPath.Combine(userConfigDir, "86BoxManager");
+ if (!Directory.Exists(appConfigDir)) Directory.CreateDirectory(appConfigDir);
+
+ BoxConfigName = IOPath.Combine(appConfigDir, "86Box.json");
+ VmxConfigName = IOPath.Combine(appConfigDir, "86BoxVMs.json");
}
private static void WriteJson(string fileName, object obj)