aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrueter <swurl@swurl.xyz>2025-06-11 15:05:03 +0000
committercrueter <crueter@noreply.localhost>2025-06-11 15:05:03 +0000
commit8ff1b9d282a9a7a8a02df86eecf19dbbd8440557 (patch)
tree8503129335c456adc32544f76c44aa13f5e63f26
parentc6a87a661a7fed4370d275f3e700b6234f6d03a3 (diff)
Use proper rdns nonsense (#179)
Signed-off-by: crueter <swurl@swurl.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/179 Co-authored-by: crueter <swurl@swurl.xyz> Co-committed-by: crueter <swurl@swurl.xyz>
-rwxr-xr-x.ci/android/build.sh12
-rwxr-xr-x.ci/linux/build.sh14
-rwxr-xr-x.ci/linux/package.sh33
-rw-r--r--.github/workflows/build.yml14
-rw-r--r--.github/workflows/trigger_release.yml6
-rw-r--r--CMakeLists.txt11
-rw-r--r--dist/org.eden_emu.eden.desktop (renamed from dist/eden.desktop)5
-rw-r--r--dist/org.eden_emu.eden.metainfo.xml (renamed from dist/eden.metainfo.xml)0
-rw-r--r--dist/org.eden_emu.eden.svg (renamed from dist/eden.svg)0
-rw-r--r--dist/org.eden_emu.eden.xml (renamed from dist/eden.xml)0
-rw-r--r--src/yuzu/main.cpp2
11 files changed, 58 insertions, 39 deletions
diff --git a/.ci/android/build.sh b/.ci/android/build.sh
index edd65d9ae4..8e2d904986 100755
--- a/.ci/android/build.sh
+++ b/.ci/android/build.sh
@@ -5,10 +5,10 @@
export NDK_CCACHE=$(which ccache)
-# keystore & pass are stored locally
-export ANDROID_KEYSTORE_FILE=~/android.keystore
-export ANDROID_KEYSTORE_PASS=`cat ~/android.pass`
-export ANDROID_KEY_ALIAS=`cat ~/android.alias`
+if [ ! -z "${ANDROID_KEYSTORE_B64}" ]; then
+ export ANDROID_KEYSTORE_FILE="${GITHUB_WORKSPACE}/ks.jks"
+ base64 --decode <<< "${ANDROID_KEYSTORE_B64}" > "${ANDROID_KEYSTORE_FILE}"
+fi
cd src/android
chmod +x ./gradlew
@@ -17,3 +17,7 @@ chmod +x ./gradlew
./gradlew bundleRelease
ccache -s -v
+
+if [ ! -z "${ANDROID_KEYSTORE_B64}" ]; then
+ rm "${ANDROID_KEYSTORE_FILE}"
+fi
diff --git a/.ci/linux/build.sh b/.ci/linux/build.sh
index 689d11c4c3..b475ff6358 100755
--- a/.ci/linux/build.sh
+++ b/.ci/linux/build.sh
@@ -14,16 +14,24 @@ if [ "$ARCH" = 'x86_64' ]; then
echo "Making x86-64 generic build of eden"
ARCH_FLAGS="-march=x86-64 -mtune=generic -O3"
fi
+
+ if [ "$1" != '' ]; then
+ shift
+ fi
else
echo "Making aarch64 build of eden"
ARCH_FLAGS="-march=armv8-a -mtune=generic -O3"
fi
-NPROC="$2"
+
+NPROC="$1"
if [ -z "$NPROC" ]; then
NPROC="$(nproc)"
+else
+ shift
fi
+
if [ "$TARGET" = "appimage" ]; then
export EXTRA_CMAKE_FLAGS=(-DCMAKE_INSTALL_PREFIX=/usr -DYUZU_ROOM=ON -DYUZU_ROOM_STANDALONE=OFF -DYUZU_CMD=OFF)
# Bundle required QT wayland libraries
@@ -34,10 +42,12 @@ else
export EXTRA_CMAKE_FLAGS=(-DYUZU_USE_PRECOMPILED_HEADERS=OFF)
fi
-if [ "$RELEASE" == "1" ]; then
+if [ "$DEVEL" != "true" ]; then
export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" -DENABLE_QT_UPDATE_CHECKER=ON)
fi
+export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" $@)
+
mkdir -p build && cd build
cmake .. -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
diff --git a/.ci/linux/package.sh b/.ci/linux/package.sh
index bbf9c29fb1..8fd235a2b7 100755
--- a/.ci/linux/package.sh
+++ b/.ci/linux/package.sh
@@ -1,12 +1,9 @@
-#!/bin/sh
+#!/bin/sh -ex
# SPDX-FileCopyrightText: 2025 eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
-# TODO: create a lighter version based on pflyly's script
-
# This script assumes you're in the source directory
-set -ex
export APPIMAGE_EXTRACT_AND_RUN=1
export BASE_ARCH="$(uname -m)"
@@ -37,25 +34,16 @@ VERSION="$(echo "$EDEN_TAG")"
mkdir -p ./AppDir
cd ./AppDir
-cat > eden.desktop << EOL
-[Desktop Entry]
-Type=Application
-Name=Eden
-Icon=eden
-StartupWMClass=eden
-Exec=eden
-Categories=Game;Emulator;
-EOL
-
-cp ../dist/eden.svg ./eden.svg
+cp ../dist/org.eden_emu.eden.desktop .
+cp ../dist/org.eden_emu.eden.svg .
-ln -sf ./eden.svg ./.DirIcon
+ln -sf ./org.eden_emu.eden.svg ./.DirIcon
# TODO(crueter): Nightly
-# if [ "$DEVEL" = 'true' ]; then
-# sed -i 's|Name=Eden|Name=Eden Nightly|' ./eden.desktop
-# UPINFO="$(echo "$UPINFO" | sed 's|latest|nightly|')"
-# fi
+if [ "$DEVEL" = 'true' ]; then
+ sed -i 's|Name=Eden|Name=Eden Nightly|' ./org.eden_emu.eden.desktop
+ UPINFO="$(echo "$UPINFO" | sed 's|latest|nightly|')"
+fi
UPINFO='gh-releases-zsync|eden-emulator|Releases|latest|*.AppImage.zsync'
@@ -68,6 +56,11 @@ then
fi
# Bundle all libs
+
+# temp workaround for arch being silly
+mkdir -p share/X11
+cp -r /usr/share/X11/xkb share/X11
+
wget --retry-connrefused --tries=30 "$LIB4BN" -O ./lib4bin
chmod +x ./lib4bin
xvfb-run -a -- ./lib4bin -p -v -e -s -k \
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 51fd616833..9358f7d0fb 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -17,8 +17,10 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: recursive
+
- name: Pack
run: ./.ci/source.sh
+
- name: Upload
uses: forgejo/upload-artifact@v4
with:
@@ -98,15 +100,15 @@ jobs:
fetch-tags: true
- name: Build
- run: TARGET=appimage ./.ci/linux/build.sh v3 8
+ run: TARGET=appimage DEVEL=true ./.ci/linux/build.sh v3 8
- name: Package AppImage
- run: ./.ci/linux/package.sh v3 &> /dev/null
+ run: DEVEL=true ./.ci/linux/package.sh v3 &> /dev/null
- name: Upload Linux artifacts
uses: forgejo/upload-artifact@v4
with:
- retention-days: 2
+ retention-days: 3
name: linux.zip
path: ./*.AppImage
@@ -135,7 +137,11 @@ jobs:
echo $GIT_TAG_NAME
- name: Build
- run: ANDROID_HOME=/opt/android-sdk ./.ci/android/build.sh
+ run: ANDROID_HOME=/home/runner/sdk ./.ci/android/build.sh
+ env:
+ ANDROID_KEYSTORE_B64: ${{ secrets.ANDROID_KEYSTORE_B64 }}
+ ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
+ ANDROID_KEYSTORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASS }}
- name: Package Android artifacts
run: ./.ci/android/package.sh
diff --git a/.github/workflows/trigger_release.yml b/.github/workflows/trigger_release.yml
index 48f799818c..716be389fc 100644
--- a/.github/workflows/trigger_release.yml
+++ b/.github/workflows/trigger_release.yml
@@ -132,7 +132,11 @@ jobs:
echo $GIT_TAG_NAME
- name: Build
- run: ANDROID_HOME=/opt/android-sdk ./.ci/android/build.sh
+ run: ANDROID_HOME=/home/runner/sdk ./.ci/android/build.sh
+ env:
+ ANDROID_KEYSTORE_B64: ${{ secrets.ANDROID_KEYSTORE_B64 }}
+ ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
+ ANDROID_KEYSTORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASS }}
- name: Package Android artifacts
run: ./.ci/android/package.sh
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7f9edb4952..beb254354b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -655,15 +655,14 @@ endif()
# https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
# https://www.freedesktop.org/software/appstream/docs/
if(ENABLE_QT AND UNIX AND NOT APPLE)
- install(FILES "dist/eden.desktop"
+ install(FILES "dist/org.eden_emu.eden.desktop"
DESTINATION "share/applications")
- install(FILES "dist/eden.svg"
- DESTINATION "share/icons/hicolor/scalable/apps"
- RENAME "eden.svg")
+ install(FILES "dist/org.eden_emu.eden.svg"
+ DESTINATION "share/icons/hicolor/scalable/apps")
# TODO: these files need to be updated.
- install(FILES "dist/eden.xml"
+ install(FILES "dist/org.eden_emu.eden.xml"
DESTINATION "share/mime/packages")
- install(FILES "dist/eden.metainfo.xml"
+ install(FILES "dist/org.eden_emu.eden.metainfo.xml"
DESTINATION "share/metainfo")
endif()
diff --git a/dist/eden.desktop b/dist/org.eden_emu.eden.desktop
index c23f95b136..e8db2a297e 100644
--- a/dist/eden.desktop
+++ b/dist/org.eden_emu.eden.desktop
@@ -1,3 +1,6 @@
+# SPDX-FileCopyrightText: 2025 Eden Emulator Project
+# SPDX-License-Identifier: GPL-3.0-or-later
+
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +10,7 @@ Type=Application
Name=eden
GenericName=Switch Emulator
Comment=Nintendo Switch video game console emulator
-Icon=eden
+Icon=org.eden_emu.eden
TryExec=eden
Exec=eden %f
Categories=Game;Emulator;Qt;
diff --git a/dist/eden.metainfo.xml b/dist/org.eden_emu.eden.metainfo.xml
index cfd1741748..cfd1741748 100644
--- a/dist/eden.metainfo.xml
+++ b/dist/org.eden_emu.eden.metainfo.xml
diff --git a/dist/eden.svg b/dist/org.eden_emu.eden.svg
index 98a0a4d46a..98a0a4d46a 100644
--- a/dist/eden.svg
+++ b/dist/org.eden_emu.eden.svg
diff --git a/dist/eden.xml b/dist/org.eden_emu.eden.xml
index b774eb0c4e..b774eb0c4e 100644
--- a/dist/eden.xml
+++ b/dist/org.eden_emu.eden.xml
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 9b2cdddc6c..b5db06ae9d 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -5556,7 +5556,7 @@ int main(int argc, char* argv[]) {
// Fix the Wayland appId. This needs to match the name of the .desktop file without the .desktop
// suffix.
- QGuiApplication::setDesktopFileName(QStringLiteral("eden"));
+ QGuiApplication::setDesktopFileName(QStringLiteral("org.eden_emu.eden"));
#endif
SetHighDPIAttributes();