Commit graph

1406 commits

Author SHA1 Message Date
Vencislav Atanasov
e3e416c51b rbutilqt/themeeditor: Fix Qt6 deprecations
- insertMulti() -> insert()
- QString::fromUtf16() with a parameter type other than char16_t*
- enterEvent() parameter type changed from QEvent to QEnterEvent
- QVariant -> QMetaType

Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: Ia9c6c93e281475856e8355a8aa0e64c474eed80c
2026-06-29 17:28:53 -04:00
Vencislav Atanasov
d618846a8f ipodpatcher: Remove unused functions
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: Iedb2d42612d543e7761dd1c2628310cd053652e3
2026-06-29 16:56:16 -04:00
Vencislav Atanasov
dcc997e4e4 rbutilqt: Switch to a Qt API to get macOS version number, get system architecture using a compiler macro
This removes usage of the deprecated macOS Gestalt() API (2/2)

Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: Id10386285469c06f082a7dcdcc3284b97519b10a
2026-06-29 16:55:47 -04:00
Vencislav Atanasov
1cbf61607e rbutilqt: Switch to a Qt API to get the CPU cores count
This removes usage of the deprecated macOS Gestalt() API (1/2)

Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: Ia3af510412a97258dcd9fc9134708900c04c62c4
2026-06-29 16:54:27 -04:00
Vencislav Atanasov
cac0be6af5 rbutilqt: Replace deprecated macro Q_OS_MACX with Q_OS_MACOS
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: I0c51044574b8ec96ceaf0b953c6735ccf5d19e5e
2026-06-29 16:53:48 -04:00
Vencislav Atanasov
e0ac7a75a3 macOS 12.0 Deprecation: kIOMasterPortDefault -> kIOMainPortDefault
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: I4b5d6b73b87b7ea9e79ed20bbd27fb88fc8647ab
2026-06-29 16:53:21 -04:00
Solomon Peachy
02f7dabc67 rbutil: Port TTS preview to QT6
Change-Id: Ib4a5b1ef1cd3927792e0022e387b6abc8e5f099e
2026-06-27 11:42:50 -04:00
Solomon Peachy
0db37606b0 rbutilqt: Handle translation load failures, part deux
This set happens on startup, when we try to load a translation
matching the system locale

Change-Id: Ib1d3effa7aa738550841023a14f733d8d5b48837
2026-06-27 07:35:21 -04:00
Solomon Peachy
4875f706c2 rbutil: Cleanly handle translation loading errors at runtime
Change-Id: I2d8c566437b9a6224db41608bf3cbab8aed76763
2026-06-27 07:29:21 -04:00
Solomon Peachy
a700dcdfb0 rbutil: Use add_compile_definitions instead of add_compile_options
Change-Id: Iaeca86f89ccfb961456a10b96f3257d444cc0971
2026-06-27 07:29:21 -04:00
Solomon Peachy
44713c3014 themeeditor: Fix a pile of unusued argument warnings
Change-Id: I919c239a410e0ff708276d5ca9d1046b70af536b
2026-06-27 07:29:21 -04:00
Solomon Peachy
5d3723bbf4 rbutil: Use QT_NO_USE_NODISCARD_FILE_OPEN everywhere
Not sure why we needed to specify this in three different places, but eh

Change-Id: If8d7304971f176bcfca839f5d6da626908621be4
2026-06-26 21:38:57 -04:00
Solomon Peachy
3c41d6a1c1 rbutil: Eliminate more pre-QT6 workarounds
Change-Id: I7b5cf428ef626543aa8e932622f4658e789e9236
2026-06-26 21:38:57 -04:00
Solomon Peachy
202243a1ab tools: fix up build warnings
Change-Id: Ib1b11f2361d4a20a8cd3c4107f8e546f8ece3f49
2026-06-26 21:38:57 -04:00
Vencislav Atanasov
115b2ae800 rbutilqt: Add a CODESIGN_IDENTITY CMake variable for macOS builds
It can be used to choose which Apple Developer ID to use when signing the build of the Qt apps. By default, it uses ad-hoc signing, i.e. no Apple Developer ID is needed.

Change-Id: I5634e318f4949107eb954b729b2f8f1d60fad115
2026-06-27 02:31:11 +03:00
Solomon Peachy
e0bbf8f9da rbutil: Drop support for QT5, start cleaning up the warnings
* All deprecation warnings fixed
 * Explicitly set QT_NO_USE_NODISCARD_FILE_OPEN

Change-Id: Ice52133e93d4a01f12ff845a3056a81b100ed891
2026-06-26 16:53:17 -04:00
Solomon Peachy
949a99a24d rbutil: Support linux non-x86_64 appimage deployments
Change-Id: I6d95e45b3a013941e131ee89b50c7225b21931bf
2026-06-23 20:16:56 -04:00
Solomon Peachy
30567451b1 mkimxboot: Fix up a large pile of compile warnings with -Wextra
Change-Id: Ida1eae89e4a2cc99e8e2ed734c4d669c1a2a8cb2
2026-06-22 20:59:18 -04:00
Solomon Peachy
aeb42039f9 rbutil: Explicitly use C++17 and C11 for building (was "compiler default")
Change-Id: I9757a77520fc9d7d39a52185b92615d5eb9c0cbc
2026-06-22 10:27:38 -04:00
Solomon Peachy
13bcd68346 FS#13928 - Updated Simplified Chinese Translations (Wang Ji)
Change-Id: Ibf63047e9ade0397a29599d127ff77c51a167113
2026-06-21 11:43:49 -04:00
Solomon Peachy
f42d95b4a6 rbutil: Update vendored quazip from v1.3 to v1.5
Change-Id: Ife2678a7ef1f48020a3cc3b75dc87f725dd14068
2026-06-21 11:20:55 -04:00
Solomon Peachy
1e3301388c rbutil: Update vendored quazip from v1.1 to v1.3
Change-Id: Icd6f010adbc9712f381a409eca31506fe31bb304
2026-06-21 08:55:26 -04:00
Solomon Peachy
18237a3c1f rbutil: Refresh all translations using lupdate-qt6
Change-Id: Ie355d1a5422ab28e5e195b67ee5591bc973a1210
2026-06-20 19:48:33 -04:00
Solomon Peachy
278a5a9bc2 rbutil: Refresh all translations using lupdate-qt6
Change-Id: Ie355d1a5422ab28e5e195b67ee5591bc973a1210
2026-06-20 19:36:27 -04:00
Solomon Peachy
1d33585686 FS#13927 - Updated Simplified Chinese Rockbox Utility translation (Wang Ji)
Change-Id: I82af403ec32b7c0021b65cc8dce89bb4578f773c
2026-06-20 19:32:50 -04:00
Vencislav Atanasov
2dc466229e rbutilqt: change the macdeployqt command line
- Remove libpath as the dirs are already in the search path. It doesn't help with QtPdf, QtVirtualKeyboardQml or QtVirtualKeyboard not being found (at least on my system). The native libraries are properly found and copied to the app bundle.
- Remove "|| true" at the end, as even though macdeployqt shows a bunch of "ERROR: " messages, it still exits with code 0

Note: This is a partial revert of bf273149. codesign is still required, the binary is killed with SIGKILL by the OS if the libraries are modified but the signature is not updated.
Change-Id: I2d7d4e32ed8043f302c163db4f89fc90cc921f88
2026-06-20 14:00:59 -04:00
Vencislav Atanasov
005826b630 rbutilqt: Clarify if a setting comes from rbutil.ini or build-info
Also implement a fast path for QVariant PlayerBuildInfo::value(BuildInfo item)

Change-Id: Ice4e2dfbf9d7e3ba2e0f6692c320d50e3918b0d4
2026-06-20 12:57:11 -04:00
Solomon Peachy
39e7f3f29d rbutil: Move all URLs other than build-info out of rbutil.ini
Now there is zero overlap between what can be found in rbutil.ini
and the downloadable build-info.

Change-Id: Iba84dec39b062f69098bea62a286acfd36479226
2026-06-20 10:07:53 -04:00
Solomon Peachy
fba3021ffd rbutil: add Ingenic jz4740, jz4760, and x1000 recovery modes to the blacklist
Change-Id: I661c8cd005c95bbb00a9a693859a3852dc445f29
2026-06-20 10:07:53 -04:00
Vencislav Atanasov
bf273149b7 Fix CMake build of RockboxUtility and RockboxThemeEditor on macOS (part 2)
Add search path for the Qt libraries, ignore the signature verification error and then re-sign again.

Co-authored-by: Qwen3.7-Plus
Change-Id: Ifa6232cd56e78e593b3395384dd2a98fa9cc67e5
2026-06-19 21:03:17 -04:00
Vencislav Atanasov
2e126ee3ba Fix CMake build of RockboxUtility and RockboxThemeEditor on macOS (part 1)
Create a new target dmgbuild_venv which is added as a dependency of both RockboxUtility and RockboxThemeEditor so CMake understands that it's a shared dependency.

Co-authored-by: Qwen3.7-Plus
Change-Id: I417de25356885574546a7ae2a53ddbd44f6be557
2026-06-19 21:02:52 -04:00
Vencislav Atanasov
53d2a99a2a Hack to fix ipodpatcher on macOS - ignore exit code from unmount
ipodpatcher tries to unmount volumes that are not mounted e.g. the firmware partition, before making any changes. On macOS this fails with a non-zero exit code, causing the whole process (bootloader installation or uninstallation) to fail.

A proper fix would be to trace every path that uses ipod_reopen_rw(), and only call unmount if we expect the volume to be currently mounted.

Change-Id: Ieaa58da336216d5060465cfc2b7f5f8c729fe8b9
2026-06-19 21:02:37 -04:00
Solomon Peachy
a269a1360a rbutilqt: Add a bunch of missing player icons
Change-Id: I4126fd35e69b58e93e5fb63c70292c592e05ebe5
2026-06-19 20:55:52 -04:00
Solomon Peachy
f2f92dd8e1 rbutil: Update erosq/k hw4 version listing
Change-Id: I7a692a5dabb887cf7aefd98819b0b3a04be4dace
2026-06-19 17:01:07 -04:00
Solomon Peachy
3de8814fb8 Fix build of rbutil
Regression introduced in db0d7649e0

Change-Id: I395dc1d5046f3cf93dade08d2bb781c1afbef632
2026-06-19 16:50:57 -04:00
Solomon Peachy
5a838851ed utils: More warning fixes
Change-Id: Ie7af33ab0e3ac43f93a4cf2df50ddac10243b9f7
2026-06-17 13:56:29 -04:00
Solomon Peachy
0fc352da0f utils: Fix a small pile of warnings
Change-Id: Idf95fc0a6ce94ebb2282bc3b017bc7ba8aeb42fc
2026-06-17 10:39:57 -04:00
Solomon Peachy
3403e3cfb9 imxtools: Fix several build warnings
Change-Id: Idebf0445d3e861ff27e152730c5bed64c2e4489b
2026-06-17 10:39:57 -04:00
Solomon Peachy
db0d7649e0 ipodpatcher: Fix build warning and 'make clean'
Change-Id: I9e546b0e4e0bcc30efccfca334281398e358ae8d
2026-06-17 10:39:57 -04:00
Solomon Peachy
d54b9e6f8d chore: Get rid of *all* vestigal CVS '$Id:$' tags
Change-Id: I35c13a9768c582e4851aa252dd3ea5c89f760c8c
2026-06-01 16:01:18 -04:00
Solomon Peachy
d72a93836c nwztools: Update database generator script to work with python3
Change-Id: I662de90b57a3836755b88ff51537eb1597f226f4
2026-05-29 23:36:45 -04:00
Vencislav Atanasov
1adadc943d Change which macro is used to check for Windows targets
This fixes a false-positive on macOS that was caused by the macro "#define TARGET_OS_WIN32 0"

Change-Id: I1fcfb19b5aae4f63f00b9500094d619c4f7eea4b
2026-04-18 13:43:49 -04:00
Solomon Peachy
1c4774e7e9 manual: Correct dead links for Sandisk Fuze+ firmware download
All URLs into Sandisk's web site return 404 or 403 errors, so
point at our local mirror of Sansa firmware files instead.

Change-Id: Ib3efcb62b13431f6416a320483877ca162ea5990
2026-04-03 17:33:08 -04:00
Aidan MacDonald
f44b6c78e0 misc: respect standard __ASSEMBLER__ define in CPU headers
The JZ47xx and S5L87xx processor families used their own
special defines (__ASSEMBLY__ and ASM respectively) in
their CPU headers to check if they were included from an
assembly source file.

For GCC the standard seems to be __ASSEMBLER__, so check
for that instead and remove the non-standard symbols.
Being more consistent across platforms makes it easier to
include cpu.h from cross-platform files (eg. plugin.lds).

Change-Id: I282930cad34e1a2ff18166f3b4338548b34f4a49
2026-03-05 21:13:50 +00:00
Alexander Polakov
7fdba68524 Add Shanling M0 Pro to jztool
Register the M0 Pro as an X1000 device in jztool for USB boot loading.
Uses Shanling USB IDs (0x0525/0xa4a5) for mass storage identification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Change-Id: I5ab71d6e7dcce925a2c91c2779964b4302ef777e
2026-02-24 18:03:33 -05:00
Solomon Peachy
6f302083b5 cleanup: Get rid of erroneous execututable bit on various source files
Change-Id: I6382ba56dc6d99189c8647b010208c33fc2da7ca
2026-02-19 07:54:35 -05:00
Aidan MacDonald
58b186d6de Remove Creative Zen Vision and Vision:M ports
They haven't seen development activity for the better part
of two decades and apparently were never able to even boot
to Rockbox, although the Rockbox bootloader could load the
original firmware.

Change-Id: I5cfa5909c21feaf2825aa685a05e78044b893a13
2026-02-06 07:31:54 -05:00
Aidan MacDonald
ebd273832d Remove Mini2440 and Lyre prototype 1 ports
Both targets were part of the (presumably dead) Lyre project
and no longer build. The Mini2440 was much more complete than
the Lyre and doesn't seem terribly difficult to fix up to the
point where it at least builds, if someone still cares -- but
given it is a dev board in a box, it's unlikely it ever saw
much use.

Change-Id: I09745379d28db69ea9aaf77f0a62b049884260e1
2026-02-04 08:56:04 -05:00
Aidan MacDonald
53862c7eed Remove Sansa View port
It doesn't seem to have been functional ever and currently
doesn't build; eg. the last commit to the LCD driver added
a syntax error, and there's some duplicate functions between
mmu-armv6.S and system-pp502x.c. Doesn't seem worth the
effort to fix.

Change-Id: I82b5bec3ed9686f28aedbe283818af792b96daf4
2026-02-03 22:04:41 +00:00
Aidan MacDonald
1a33d7990a Remove Meizu M3/M6SL/M6SP and Samsung YP-S3 ports
These targets haven't seen any changes since 2008-09
have bitrotted to the point they don't compile anymore.
With only internal NAND flash for storage which doesn't
seem to have ever been accessible from Rockbox, they've
never been usable and there's probably not much point
keeping them around any more.

Change-Id: I2fc63da20682b439126672065ae013044cb2d1c4
2026-02-03 16:32:56 +00:00