aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.ci/license-header.sh11
-rwxr-xr-x.ci/source.sh22
-rw-r--r--docs/Caveats.md2
-rw-r--r--docs/user/SteamROM.md2
-rw-r--r--docs/user/ThirdParty.md1
-rw-r--r--externals/nx_tzdb/tzdb_template.h.in3
-rwxr-xr-xhooks/pre-commit13
-rwxr-xr-x[-rw-r--r--]shell.nix4
-rw-r--r--tools/README.md2
-rwxr-xr-xtools/clang-format.sh2
-rwxr-xr-xtools/dtrace-tool.pl5
-rwxr-xr-x[-rw-r--r--]tools/lanczos-gen.pl4
-rwxr-xr-xtools/llvmpipe-run.sh5
-rwxr-xr-xtools/optimize-assets.sh2
-rwxr-xr-xtools/stale-translations.sh2
-rwxr-xr-xtools/svc_generator.py20
-rwxr-xr-xtools/translations/qt-source.sh4
-rwxr-xr-xtools/translations/update-translations.sh4
-rwxr-xr-xtools/unused-strings.sh2
-rw-r--r--tools/windows/install-vulkan-sdk.sh2
20 files changed, 51 insertions, 61 deletions
diff --git a/.ci/license-header.sh b/.ci/license-header.sh
index 6b19f91185..fcc2c1f583 100755
--- a/.ci/license-header.sh
+++ b/.ci/license-header.sh
@@ -7,7 +7,7 @@
EXCLUDE_FILES="CPM.cmake CPMUtil.cmake GetSCMRev.cmake renderdoc_app.h tools/cpm tools/shellcheck.sh tools/update-cpm.sh tools/windows/vcvarsall.sh externals/stb externals/glad externals/getopt externals/gamemode externals/FidelityFX-FSR externals/demangle externals/bc_decoder externals/cmake-modules"
# license header constants, please change when needed :))))
-YEAR=2026
+YEAR=$(date "+%Y")
HOLDER="Eden Emulator Project"
LICENSE="GPL-3.0-or-later"
@@ -112,10 +112,10 @@ for file in $FILES; do
[ "$excluded" = "true" ] && continue
case "$file" in
- *.cmake|*.sh|*CMakeLists.txt)
+ *.cmake|*.sh|*.ps1|*.py|*.rb|*.perl|*.pl|*.nix|*CMakeLists.txt)
begin="#"
;;
- *.kt*|*.cpp|*.h|*.qml)
+ *.kt|*.kts|*.cpp|*.h|*.qml|*.c|*.hpp|*.hxx|*.cxx|*.h.in|*.inc)
begin="//"
;;
*)
@@ -185,11 +185,12 @@ if [ "$UPDATE" = "true" ]; then
for file in $SRC_FILES $OTHER_FILES; do
case $(basename -- "$file") in
- *.cmake|*CMakeLists.txt)
+ # Windows Powershell wont use shebangs
+ *.cmake|*.ps1|*CMakeLists.txt)
begin="#"
shell="false"
;;
- *.sh)
+ *.sh|*.py|*.rb|*.perl|*.pl|*.nix)
begin="#"
shell=true
;;
diff --git a/.ci/source.sh b/.ci/source.sh
deleted file mode 100755
index cbdacd1cd7..0000000000
--- a/.ci/source.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash -ex
-
-# git-archive-all
-export PATH="$PATH:/home/$USER/.local/bin"
-
-GITDATE="`git show -s --date=short --format='%ad' | sed 's/-//g'`"
-GITREV="`git show -s --format='%h'`"
-REV_NAME="eden-unified-source-${GITDATE}-${GITREV}"
-
-COMPAT_LIST='dist/compatibility_list/compatibility_list.json'
-
-mkdir artifacts
-
-touch "${COMPAT_LIST}"
-git describe --abbrev=0 --always HEAD > GIT-COMMIT
-git describe --tags HEAD > GIT-TAG || echo 'unknown' > GIT-TAG
-git-archive-all --include "${COMPAT_LIST}" --include GIT-COMMIT --include GIT-TAG --force-submodules artifacts/"${REV_NAME}.tar"
-
-cd artifacts/
-xz -T0 -9 "${REV_NAME}.tar"
-sha256sum "${REV_NAME}.tar.xz" > "${REV_NAME}.tar.xz.sha256sum"
-cd ..
diff --git a/docs/Caveats.md b/docs/Caveats.md
index fb86437737..c5b925f4cd 100644
--- a/docs/Caveats.md
+++ b/docs/Caveats.md
@@ -46,7 +46,7 @@ Qt Widgets appears to be broken. For now, add `-DENABLE_QT=OFF` to your configur
This is needed for some dependencies that call cc directly (tz):
```sh
-echo '#!/bin/sh' >cc
+echo '#!/bin/sh -e' >cc
echo 'gcc $@' >>cc
chmod +x cc
export PATH="$PATH:$PWD"
diff --git a/docs/user/SteamROM.md b/docs/user/SteamROM.md
index a782b51969..2ea069bf09 100644
--- a/docs/user/SteamROM.md
+++ b/docs/user/SteamROM.md
@@ -59,7 +59,7 @@ EmuDeck will automatically create an *Emulators - Emulators* parser for ***Steam
4. Paste the following code into the contents of the file, save and close the file.
```bash
- #!/bin/bash
+ #!/bin/sh -e
emuName="eden" #parameterize me
. "$HOME/.config/EmuDeck/backend/functions/all.sh"
diff --git a/docs/user/ThirdParty.md b/docs/user/ThirdParty.md
index 5bd72ebe72..1dd359cec3 100644
--- a/docs/user/ThirdParty.md
+++ b/docs/user/ThirdParty.md
@@ -13,6 +13,7 @@ The main origin repository is always at https://git.eden-emu.dev/eden-emu/eden.
- https://github.com/eden-emulator/mirror
- https://git.crueter.xyz/mirror/eden
+- https://codeberg.org/eden-emu/eden
- https://collective.taymaerz.de/eden/eden
Other mirrors obviously exist on the internet, but we can't guarantee their reliability and/or availability.
diff --git a/externals/nx_tzdb/tzdb_template.h.in b/externals/nx_tzdb/tzdb_template.h.in
index d7907b846d..c349a143d5 100644
--- a/externals/nx_tzdb/tzdb_template.h.in
+++ b/externals/nx_tzdb/tzdb_template.h.in
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
diff --git a/hooks/pre-commit b/hooks/pre-commit
index 484eef1762..b543ff36ab 100755
--- a/hooks/pre-commit
+++ b/hooks/pre-commit
@@ -1,5 +1,7 @@
-#!/bin/sh
+#!/bin/sh -e
+# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
+# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2015 Citra Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
@@ -10,20 +12,19 @@ paths_to_check="src/ CMakeLists.txt"
# If there are whitespace errors, print the offending file names and fail.
if ! git diff --cached --check -- $paths_to_check ; then
- cat<<END
-
+ cat<<EOF
Error: This commit would contain trailing spaces or tabs, which is against this repo's policy.
Please correct those issues before committing. (Use 'git diff --check' for more details)
If you know what you are doing, you can try 'git commit --no-verify' to bypass the check
-END
+EOF
exit 1
fi
# Check for tabs, since tab-in-indent catches only those at the beginning of a line
if git diff --cached -- $paths_to_check | egrep '^\+.* '; then
- cat<<END
+ cat<<EOF
Error: This commit would contain a tab, which is against this repo's policy.
If you know what you are doing, you can try 'git commit --no-verify' to bypass the check.
-END
+EOF
exit 1
fi
diff --git a/shell.nix b/shell.nix
index 5023cc88a3..786b94ccb2 100644..100755
--- a/shell.nix
+++ b/shell.nix
@@ -1,3 +1,7 @@
+#!/usr/bin/nix-shell
+# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
+# SPDX-License-Identifier: GPL-3.0-or-later
+
let
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-24.05";
pkgs = import nixpkgs { config = {}; overlays = []; };
diff --git a/tools/README.md b/tools/README.md
index 767892e7ac..ee82c708b0 100644
--- a/tools/README.md
+++ b/tools/README.md
@@ -1,6 +1,6 @@
# Tools
-Tools for Eden and other subprojects.
+Tools for Eden and other subprojects. When adding new scripts please use `#!/bin/sh -e` or `#!/usr/bin/env <interpreter>` (for `.py`, `.rb`, or `.perl`). Keep scripts POSIX compliant (i.e not require hard `bash` to run, just plain old `sh`).
## Third-Party
diff --git a/tools/clang-format.sh b/tools/clang-format.sh
index e2857d9723..ca5e6fce39 100755
--- a/tools/clang-format.sh
+++ b/tools/clang-format.sh
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh -e
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
diff --git a/tools/dtrace-tool.pl b/tools/dtrace-tool.pl
index d143d36f3e..693a9e7507 100755
--- a/tools/dtrace-tool.pl
+++ b/tools/dtrace-tool.pl
@@ -1,5 +1,6 @@
-#!/usr/bin/perl
-# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+#!/usr/bin/env perl
+
+# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
# Basic script to run dtrace sampling over the program (requires Flamegraph)
# Usage is either running as: ./dtrace-tool.sh pid (then input the pid of the process)
diff --git a/tools/lanczos-gen.pl b/tools/lanczos-gen.pl
index 2e26c8c6b9..3eab5cdb10 100644..100755
--- a/tools/lanczos-gen.pl
+++ b/tools/lanczos-gen.pl
@@ -1,5 +1,5 @@
-#!/usr/bin/perl
-# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+#!/usr/bin/env perl
+# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
use strict;
use warnings;
diff --git a/tools/llvmpipe-run.sh b/tools/llvmpipe-run.sh
index c3a5a85d41..f09fe87ef4 100755
--- a/tools/llvmpipe-run.sh
+++ b/tools/llvmpipe-run.sh
@@ -1,5 +1,6 @@
-#!/bin/sh
-# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+#!/bin/sh -e
+
+# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
# This script basically allows you to "dirtily" use llvmpipe in any configuration
diff --git a/tools/optimize-assets.sh b/tools/optimize-assets.sh
index 70fa2375a5..a9b2888648 100755
--- a/tools/optimize-assets.sh
+++ b/tools/optimize-assets.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
-# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
which optipng || exit
diff --git a/tools/stale-translations.sh b/tools/stale-translations.sh
index 3a9362a252..63ea87b19a 100755
--- a/tools/stale-translations.sh
+++ b/tools/stale-translations.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
-# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
ANDROID=src/android/app/src/main
diff --git a/tools/svc_generator.py b/tools/svc_generator.py
index d00fe0ba63..9a99c3ba51 100755
--- a/tools/svc_generator.py
+++ b/tools/svc_generator.py
@@ -1,5 +1,5 @@
-#!/usr/bin/python3
-# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+#!/usr/bin/env python3
+# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
@@ -212,7 +212,7 @@ def emit_size_check():
if type != "void":
lines.append(f"static_assert(sizeof({type}) == {size});")
- return "\n".join(lines)
+ return f"\n{lines}"
# Replaces a type with an arch-specific one, if it exists.
@@ -423,7 +423,7 @@ def emit_lines(lines, indent=' '):
output_lines.append(line)
first = False
- return "\n".join(output_lines)
+ return f"\n{output_lines}"
# Emit a C++ function to wrap a guest SVC.
@@ -601,7 +601,7 @@ def emit_call(bitness, names, suffix):
lines.append(f"{indent}}}")
lines.append("}")
- return "\n".join(lines)
+ return f"\n{lines}"
def build_fn_declaration(return_type, name, arguments):
@@ -623,7 +623,7 @@ def build_enum_declarations():
lines.append(f"{indent}{name} = {hex(imm)},")
lines.append("};")
- return "\n".join(lines)
+ return f"\n{lines}"
def main():
@@ -665,11 +665,11 @@ def main():
with open("src/core/hle/kernel/svc.h", "w") as f:
f.write(COPYRIGHT)
f.write(PROLOGUE_H)
- f.write("\n".join(svc_fw_declarations))
+ f.write(f"\n{svc_fw_declarations}")
f.write("\n\n")
- f.write("\n".join(arch_fw_declarations[BIT_32]))
+ f.write(f"\n{arch_fw_declarations[BIT_32]}")
f.write("\n\n")
- f.write("\n".join(arch_fw_declarations[BIT_64]))
+ f.write(f"\n{arch_fw_declarations[BIT_64]}")
f.write("\n\n")
f.write(enum_decls)
f.write(EPILOGUE_H)
@@ -679,7 +679,7 @@ def main():
f.write(PROLOGUE_CPP)
f.write(emit_size_check())
f.write("\n\n")
- f.write("\n\n".join(wrapper_fns))
+ f.write(f"\n\n{wrapper_fns}")
f.write("\n\n")
f.write(call_32)
f.write("\n\n")
diff --git a/tools/translations/qt-source.sh b/tools/translations/qt-source.sh
index 89c881d8c0..707ec2783c 100755
--- a/tools/translations/qt-source.sh
+++ b/tools/translations/qt-source.sh
@@ -1,6 +1,6 @@
-#!/bin/sh
+#!/bin/sh -e
-# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
SOURCES=$(find src/yuzu src/qt_common -type f \( -name "*.ui" -o -name "*.cpp" -o -name "*.h" -o -name "*.plist" \))
diff --git a/tools/translations/update-translations.sh b/tools/translations/update-translations.sh
index 8bcd79142f..6ed740140d 100755
--- a/tools/translations/update-translations.sh
+++ b/tools/translations/update-translations.sh
@@ -1,6 +1,6 @@
-#!/bin/sh
+#!/bin/sh -e
-# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
command -v tx-cli && COMMAND=tx-cli
diff --git a/tools/unused-strings.sh b/tools/unused-strings.sh
index 1165a203aa..10f6a63565 100755
--- a/tools/unused-strings.sh
+++ b/tools/unused-strings.sh
@@ -1,6 +1,6 @@
#!/bin/sh -e
-# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
ANDROID=src/android/app/src/main
diff --git a/tools/windows/install-vulkan-sdk.sh b/tools/windows/install-vulkan-sdk.sh
index 0f136748cf..2151363793 100644
--- a/tools/windows/install-vulkan-sdk.sh
+++ b/tools/windows/install-vulkan-sdk.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/sh
+#!/bin/sh -e
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later