[tools] refactor, use #!/bin/sh, update license files (#3998)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3998
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
This commit is contained in:
lizzie 2026-05-22 21:15:31 +02:00 committed by crueter
parent 46cfd9b6f3
commit 9b18d0b111
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
20 changed files with 51 additions and 61 deletions

View file

@ -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" 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 :)))) # license header constants, please change when needed :))))
YEAR=2026 YEAR=$(date "+%Y")
HOLDER="Eden Emulator Project" HOLDER="Eden Emulator Project"
LICENSE="GPL-3.0-or-later" LICENSE="GPL-3.0-or-later"
@ -112,10 +112,10 @@ for file in $FILES; do
[ "$excluded" = "true" ] && continue [ "$excluded" = "true" ] && continue
case "$file" in case "$file" in
*.cmake|*.sh|*CMakeLists.txt) *.cmake|*.sh|*.ps1|*.py|*.rb|*.perl|*.pl|*.nix|*CMakeLists.txt)
begin="#" begin="#"
;; ;;
*.kt*|*.cpp|*.h|*.qml) *.kt|*.kts|*.cpp|*.h|*.qml|*.c|*.hpp|*.hxx|*.cxx|*.h.in|*.inc)
begin="//" begin="//"
;; ;;
*) *)
@ -185,11 +185,12 @@ if [ "$UPDATE" = "true" ]; then
for file in $SRC_FILES $OTHER_FILES; do for file in $SRC_FILES $OTHER_FILES; do
case $(basename -- "$file") in case $(basename -- "$file") in
*.cmake|*CMakeLists.txt) # Windows Powershell wont use shebangs
*.cmake|*.ps1|*CMakeLists.txt)
begin="#" begin="#"
shell="false" shell="false"
;; ;;
*.sh) *.sh|*.py|*.rb|*.perl|*.pl|*.nix)
begin="#" begin="#"
shell=true shell=true
;; ;;

View file

@ -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 ..

View file

@ -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): This is needed for some dependencies that call cc directly (tz):
```sh ```sh
echo '#!/bin/sh' >cc echo '#!/bin/sh -e' >cc
echo 'gcc $@' >>cc echo 'gcc $@' >>cc
chmod +x cc chmod +x cc
export PATH="$PATH:$PWD" export PATH="$PATH:$PWD"

View file

@ -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. 4. Paste the following code into the contents of the file, save and close the file.
```bash ```bash
#!/bin/bash #!/bin/sh -e
emuName="eden" #parameterize me emuName="eden" #parameterize me
. "$HOME/.config/EmuDeck/backend/functions/all.sh" . "$HOME/.config/EmuDeck/backend/functions/all.sh"

View file

@ -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://github.com/eden-emulator/mirror
- https://git.crueter.xyz/mirror/eden - https://git.crueter.xyz/mirror/eden
- https://codeberg.org/eden-emu/eden
- https://collective.taymaerz.de/eden/eden - https://collective.taymaerz.de/eden/eden
Other mirrors obviously exist on the internet, but we can't guarantee their reliability and/or availability. Other mirrors obviously exist on the internet, but we can't guarantee their reliability and/or availability.

View file

@ -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-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later

View file

@ -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-FileCopyrightText: 2015 Citra Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # 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 there are whitespace errors, print the offending file names and fail.
if ! git diff --cached --check -- $paths_to_check ; then 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. 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) 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 If you know what you are doing, you can try 'git commit --no-verify' to bypass the check
END EOF
exit 1 exit 1
fi fi
# Check for tabs, since tab-in-indent catches only those at the beginning of a line # 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 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. 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. If you know what you are doing, you can try 'git commit --no-verify' to bypass the check.
END EOF
exit 1 exit 1
fi fi

4
shell.nix Normal file → Executable file
View file

@ -1,3 +1,7 @@
#!/usr/bin/nix-shell
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
let let
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-24.05"; nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-24.05";
pkgs = import nixpkgs { config = {}; overlays = []; }; pkgs = import nixpkgs { config = {}; overlays = []; };

View file

@ -1,6 +1,6 @@
# Tools # 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 ## Third-Party

View file

@ -1,4 +1,4 @@
#! /bin/sh #!/bin/sh -e
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project # SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later

View file

@ -1,5 +1,6 @@
#!/usr/bin/perl #!/usr/bin/env perl
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# Basic script to run dtrace sampling over the program (requires Flamegraph) # 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) # Usage is either running as: ./dtrace-tool.sh pid (then input the pid of the process)

4
tools/lanczos-gen.pl Normal file → Executable file
View file

@ -1,5 +1,5 @@
#!/usr/bin/perl #!/usr/bin/env perl
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project # SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
use strict; use strict;
use warnings; use warnings;

View file

@ -1,5 +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 # SPDX-License-Identifier: GPL-3.0-or-later
# This script basically allows you to "dirtily" use llvmpipe in any configuration # This script basically allows you to "dirtily" use llvmpipe in any configuration

View file

@ -1,6 +1,6 @@
#!/bin/sh -e #!/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 # SPDX-License-Identifier: GPL-3.0-or-later
which optipng || exit which optipng || exit

View file

@ -1,6 +1,6 @@
#!/bin/sh -e #!/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 # SPDX-License-Identifier: GPL-3.0-or-later
ANDROID=src/android/app/src/main ANDROID=src/android/app/src/main

View file

@ -1,5 +1,5 @@
#!/usr/bin/python3 #!/usr/bin/env python3
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project # SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project # SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
@ -212,7 +212,7 @@ def emit_size_check():
if type != "void": if type != "void":
lines.append(f"static_assert(sizeof({type}) == {size});") 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. # Replaces a type with an arch-specific one, if it exists.
@ -423,7 +423,7 @@ def emit_lines(lines, indent=' '):
output_lines.append(line) output_lines.append(line)
first = False first = False
return "\n".join(output_lines) return f"\n{output_lines}"
# Emit a C++ function to wrap a guest SVC. # 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(f"{indent}}}")
lines.append("}") lines.append("}")
return "\n".join(lines) return f"\n{lines}"
def build_fn_declaration(return_type, name, arguments): 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(f"{indent}{name} = {hex(imm)},")
lines.append("};") lines.append("};")
return "\n".join(lines) return f"\n{lines}"
def main(): def main():
@ -665,11 +665,11 @@ def main():
with open("src/core/hle/kernel/svc.h", "w") as f: with open("src/core/hle/kernel/svc.h", "w") as f:
f.write(COPYRIGHT) f.write(COPYRIGHT)
f.write(PROLOGUE_H) 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\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\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("\n\n")
f.write(enum_decls) f.write(enum_decls)
f.write(EPILOGUE_H) f.write(EPILOGUE_H)
@ -679,7 +679,7 @@ def main():
f.write(PROLOGUE_CPP) f.write(PROLOGUE_CPP)
f.write(emit_size_check()) f.write(emit_size_check())
f.write("\n\n") f.write("\n\n")
f.write("\n\n".join(wrapper_fns)) f.write(f"\n\n{wrapper_fns}")
f.write("\n\n") f.write("\n\n")
f.write(call_32) f.write(call_32)
f.write("\n\n") f.write("\n\n")

View file

@ -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 # 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" \)) SOURCES=$(find src/yuzu src/qt_common -type f \( -name "*.ui" -o -name "*.cpp" -o -name "*.h" -o -name "*.plist" \))

View file

@ -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 # SPDX-License-Identifier: GPL-3.0-or-later
command -v tx-cli && COMMAND=tx-cli command -v tx-cli && COMMAND=tx-cli

View file

@ -1,6 +1,6 @@
#!/bin/sh -e #!/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 # SPDX-License-Identifier: GPL-3.0-or-later
ANDROID=src/android/app/src/main ANDROID=src/android/app/src/main

View file

@ -1,4 +1,4 @@
#!/usr/bin/sh #!/bin/sh -e
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project # SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later