Commit graph

1395 commits

Author SHA1 Message Date
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
Solomon Peachy
19fe7a4915 rbutil: Fix typo in changelog
Change-Id: I8f495f37ea4abb6509e0dcdb26ba38ad94096970
2026-02-03 07:12:14 -05:00
Solomon Peachy
3083277ee4 rbutil: Don't forget to bump the version for MacOS builds
(And a minor correction to the changelog)

Change-Id: Ic00e32444ee815b214755c8a17a511ce4310caca
2026-02-01 09:35:08 -05:00
Solomon Peachy
ee3e630efa rbutil: Upgrade bundled quazip from 0.9.1 to 1.1
Just reducing the delta a little bit.  Later versions are
more complicated.

Change-Id: If0452a529b840383333062ec2604ff257646627a
2026-01-30 20:42:21 -05:00
Solomon Peachy
e11a449031 rbutil: Pull the internal/external QUAZIP library stuff into the toplevel
Prevents a build failure when we have to build quazip as part of the build

Change-Id: I274cd4c358c50152bcfea2e33ad580fac0277e4a
2026-01-30 15:08:23 -05:00
Solomon Peachy
d9289e7f5c rbutil: Use lang-enum.txt in voicestrings.zip if present
With this change, the code that looks for the VOICE_INVALID_VOICE_FILE
and VOICE_LANG_NAME to produce standalone clips will finally work.

Change-Id: I65ec592a1d3a6c83f92efadec72657c42552b41a
2026-01-12 20:22:43 -05:00
Hairo R. Carela
8b6491db57 rbutil: fix stray rbutil.log creation when using a suffix
When instaling rockbox rbutil.log was still created in /sdcard/.rockbox

Change-Id: Iea987623a206d8c8f663e8ef0ee26a103ccc285f
2026-01-05 11:54:27 -04:00
Hairo R. Carela
f13f80c506 rbutil: more path suffix support
This commit adds suffix support for some missing components:
- Info widget
- Voice/talk files generation
- Backup
- Uninstall

Also fixes a crash in the uninstall window when there's no bootloader to select.

Change-Id: Ie97505a8cbd12dddf160bdebae2c04e738c373e5
2026-01-02 22:41:03 -05:00
Hairo R. Carela
64e0ced696 rbutil: path suffix support for devices with non-standard paths
Only for themes, fonts and voice files, includes rgnano implementation to test (can be in its own commit if needed, with the required manual updates and changes to install rockbox itself with rbutil).

Change-Id: I2481e6a3224912a298cf4c86011226e466490e08
2025-12-31 21:11:10 -05:00
Aidan MacDonald
7418e65138 echoplayer: add 'debug' and 'flash' targets to makefile
This replaces the gdb & openocd config in utils/stm32tools
and is easier to use. Remove the srst workaround; it seems
this was caused by the D1/D3 domains not being powered up
while the CPU was in sleep mode.

Change-Id: I28cc0273b3004c6e3146bb2447f0655cad8bb1c2
2025-12-31 08:10:40 -05:00
Solomon Peachy
afe128f4cc arm: Profile/variation detection improvements
* Detection of 64-bit Arm v8-a
 * Proper detection of integer division support
   * always on v7-m, v8-a, v9-a, v8-m.main
   * sometimes on v7-a, v7-r, v8-r
   * never on v8-m.base v6-m, v6 and older "classic"
   * tl;dr: Rely on toolchain preprocessor definition

For the most part these additional variations won't acutally work
for native target builds, but sane -A detection is needed for
"local" builds now. -R detection is left out as it's not likely
to matter.

Change-Id: I8f6a52edc4d14490fc00e2f487406eca701eef02
2025-12-04 20:43:30 -05:00
Solomon Peachy
26d22a64c9 mkzenboot: Add support for 1.21.03 (US) firmware on the ZEN
The EU variant was already listed, but the US was not.

Change-Id: I8445a9e906ecd891f1ca571a4a3d7aa146e69698
2025-11-28 16:38:23 -05:00