Commit graph

31 commits

Author SHA1 Message Date
Vencislav Atanasov
d43cc0e829 rbutilqt/themeeditor: Fix description of KEYCHAIN_PROFILE
Change-Id: I993da51351c01b35fe49cfca3750f2757c5c21ce
2026-09-22 20:47:28 -04:00
Vencislav Atanasov
cbaf66f372 rbutilqt/themeeditor: Introduce a new KEYCHAIN_PROFILE variable for Apple notarization
If the variable is provided, the resulting .dmg will be uploaded to Apple's servers for notarization. If successful, Apple's notarization ticket is attached to the image.

Notarization of ~30MiB .dmg takes 40-50 seconds including upload time, ~30 seconds sans the upload time.

Tested building and notarizing of Rockbox Utility, Rockbox Theme Editor, and both as a single target, i.e. deploy.

Co-authored-by: ChatGPT-5.6 Luna
Change-Id: Ib31b1f825893111d23248fb8511fe5b6c73d5525
2026-09-22 07:27:16 -04:00
Vencislav Atanasov
7f01029439 rbutilqt/themeeditor: Move the CODESIGN_IDENTITY variable definition before the targets which depend on it.
Change-Id: I786be5b7dfaee94cf31ef9e72f43dce9700056c0
2026-09-20 22:09:09 +03:00
Vencislav Atanasov
6719578e29 rbutilqt/themeeditor: Fix Apple code signing issues
- The main binary in *.app/Contents/MacOS/ was not signed using the "hardened runtime" option.
- The ipodpatcher and sansapatcher binaries in RockboxUtility.app/Contents/bin/ were not signed at all.

The produced .dmg images are now suitable for notarization so the app inside can be installed and started with no security warnings.
They are not notarized yet, as this takes a significant amount of time, but it can be done manually using:
xcrun notarytool submit build-qt/RockboxUtility.dmg --keychain-profile <your-profile> --wait
xcrun stapler staple build-qt/RockboxUtility.dmg
Only ARM macOS is supported at the moment.

Co-authored-by: ChatGPT-5.6 Luna
Change-Id: Id88d7da18f541f9f503172f5dcb5b17d64e0602e
2026-09-20 09:00:42 -04:00
Solomon Peachy
8157759b7e rbutil: Rephrase optional component "not found" messages
Prevents builder from falsely failing builds and their builders.

Change-Id: I44df41416ef41401248132114ee586abde05d93e
2026-07-09 22:40:44 -04:00
Solomon Peachy
814979d49b rbutil: Enforce requirement of QT 6.6 or newer
Change-Id: I96064633c00ca2e13cfd9308a7f5d71cba7933cb
2026-07-09 20:32:34 -04:00
Vencislav Atanasov
acba3fcb07 rbutilqt: Add the Qt TextToSpeech module as a new optional TTS engine
Co-authored-by: Qwen3.7-Plus
Change-Id: Ib6ddce52eee30139952e6597504ab96517dc15bd
2026-07-09 15:56:49 -04:00
Solomon Peachy
04a7a60f8b lubucl: Update from upstream v1.01 to v1.03
Should hopefully address the small pile of windows build warnings

Change-Id: I0bc493ce5c76591eb2e663894702d003933fe14b
2026-07-05 08:06:53 -04:00
Solomon Peachy
96f1b19149 rbutil: define USE_LIBUSBAPI for Linux builds
Resolves "DFU not working at all" under rbutil on Linux

And fix some related warnings

Change-Id: Ie44ebc960cfc0c5d0121e8ceb24576ed427746a8
2026-07-04 11:51:49 -04:00
Solomon Peachy
55d15b17b7 rbutil: Use 'English' as the default voice in the selection box
Instead of the first one on the (alphabetically sorted) list, currently
Bulgarian.

Ideally we'd try to discern this from the current system/UI language

Change-Id: I82a14716afb484fbaea22f78fe4dd7f00c24252e
2026-07-04 09:35:46 -04:00
Solomon Peachy
6351b64fff rbutil: Change phrasing of message when system quazip is not found
It's not a fatal error (as we build in-tree instead) but the
builder infrastruture was treating it as one.

Change-Id: I7c0d00e36184f8d15642bce4a3bbbd5542943ed6
2026-07-03 16:01:33 -04:00
Solomon Peachy
412a78dd5f mks5lboot/rbutil: When building for Windows, link with 'setupapi'
Change-Id: I92b1be12f7512eb58c3136349cb1f21b552a6477
2026-07-02 17:22: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
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
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
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
3de8814fb8 Fix build of rbutil
Regression introduced in db0d7649e0

Change-Id: I395dc1d5046f3cf93dade08d2bb781c1afbef632
2026-06-19 16:50:57 -04: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
Dominik Riebeling
6ef094c1a9 rbutil: Make QtMultimedia an optional component.
We only use it for playing the TTS sample so it's not too important.
Since this is a separate Qt module it might not be installed, so make it
optional.

Change-Id: I2c91dd5d587c8a984525b2297bbe7d597b816b4f
2022-04-14 22:23:35 +02:00
Dominik Riebeling
00ec195c26 rbutil: Qt6 fixes.
Change-Id: Ied6bdf1c5269b53ccfedc1d80f3f3f0d6b4011da
2022-03-23 19:34:30 +01:00
Dominik Riebeling
748b00a7fc ipodpatcher: Split executable only parts out.
Allow building both as library and executable at the same time.

Change-Id: Idc40354fdedaeace727043936352fc17232bf16e
2022-03-12 20:40:08 +01:00
Dominik Riebeling
08afedf1f5 sansapatcher: Add cmake target to build executable.
Change-Id: Idff5674acb5347643c8a26ef64506f892445977e
2022-03-12 20:40:08 +01:00
Dominik Riebeling
ae97d410c5 utils: Set cmake build type to default to Release.
Change-Id: Ie4e6aa326840cb1fbae0fe8d025e592e139d4508
2022-02-28 20:37:32 +01:00
Dominik Riebeling
83e4078d9c cmake: Strip Release binaries when building with gcc.
Change-Id: Iaf87d6b65a38b6d0ecb66c5cb8bc7164741d7419
2022-02-28 20:37:32 +01:00
Dominik Riebeling
1ddc5a202d themeeditor: Convert to cmake.
Change-Id: Ib46842c157121c64cd0091118aa9b7e43d83b8b3
2021-12-27 16:18:17 +01:00
Dominik Riebeling
9f3d6e47e7 rbutil: Remove generated header from giversion interface target.
cmake on Windows doesn't like this, and it's not necessary.

Change-Id: I65b9eb989e51df388cabcb36a246068dba80630c
2021-12-26 11:14:22 +01:00
Dominik Riebeling
eb8dc75d38 rbutil: Create git version information at build time.
Change-Id: Iaf701f4d64d6852423f6a28a753b27abc43477e2
2021-12-25 17:47:14 +01:00
Dominik Riebeling
e9ef7f0dd3 rbutil: Split out rbutilqt parts into separate cmake list.
Change-Id: I84ada20765b98620e1f06bc7116bbdaaae296fe9
2021-12-25 17:47:14 +01:00
Dominik Riebeling
774b35cccf rbutil: Deploy support in cmake.
Add a "deploy" target that will create a distributable file.

- Linux: AppImage.
- Windows: zip file.
- MacOS: dmg.

Change-Id: Id8ae9c021bc5bbb1abf066205b57d943c3f3b327
2021-12-25 17:47:14 +01:00
Dominik Riebeling
3d6d186d2e rbutil: Initial cmake support.
Rewrite in cmake, and include all necessary libs. This removes calling
separate Makefiles which is rather error-prone on non-Linux systems.

Change-Id: Ic2af4a3810e4b000e3ad33304229e2349a930e16
2021-12-25 17:47:14 +01:00