Commit Graph

45 Commits

Author SHA1 Message Date
iakov
cf7f3377a5 Patch *.prl too and *.pc for mingw
*.prl are qmake's library descriptions like *.pc are for package-config,
and contain incorrect paths for some archives/modules (at least qttools is bad in 5.11)

Also .pc can be used with mingw via MSYS's pkgconfig, and should be
patched on Windows too.
2023-11-27 14:27:24 +03:00
Dave Dalcino
5c2c18d96b Fix installation of win64_msvc2019_arm64 arch
This fixes the behavior of the `--autodesktop` flag and the updater,
when installing win64_msvc2019_arm64 for desktop targets.
2023-09-06 18:09:02 -07:00
Dave Dalcino
dacec4039b Fix broken patching
Qt 6.5.0 WASM is built cross-platform, and somehow the Windows and
Unix path separators all got scrambled. So, all platforms now have to
check for each line ending pattern, otherwise they will fail to patch
the required values.
2023-02-11 10:37:15 -08:00
Dave Dalcino
dc9c1e6798 Add support for qt 6.5.0 wasm 2023-02-06 16:51:16 -08:00
Dave Dalcino
839cf6e2f3 Patch according to new installscript.qs rules
This removes the inappropriate ENV variables set in steps.yml.
It's not wrong to set those variables, but the official Qt installer
patches the defaults properly, so you don't have to do it manually.
It's wrong to expect our users to set these.

This also patches target_qt.conf to add HostLibraryExecutables.
2022-12-04 16:44:45 -08:00
Dave Dalcino
18c8259e8c Set executable file permissions for qmake 2022-12-04 10:42:48 -08:00
Dave Dalcino
313321217d add passing impl 2022-12-04 10:42:48 -08:00
Dave Dalcino
81eebde168 Adjust against mypy type errors 2022-11-20 15:20:27 +09:00
Dave Dalcino
de2ac074fe Cleanup incorrect comment 2022-10-12 18:09:35 -07:00
Dave Dalcino
0aed2cb926 Add powershell script for windows wasm build 2022-10-10 22:57:21 -07:00
Dave Dalcino
94ff9f44f7 Fix updater interface: pass desktop_arch_path in args
This also adds a lot of type hints. I refrained from changing a lot
of 'str' variables to Path variables, but eventually I think they
will need to become Paths
2022-08-20 09:04:53 -07:00
Dave Dalcino
85eee1a938 Refactor: move Qt repo properties to QtRepoProperty
Move default_desktop_arch_dir & dir_for_version to QtRepoProperty
2022-08-20 09:04:52 -07:00
David Dalcino
ad20856738 Fix patching of Qt6.2.2-ios (#510)
* Add tests for proper patching of Qt6.2.2-ios
* Add a build target for ios installations
* Add test coverage for mobile patching on linux

This change folds in some refactoring as well, in an attempt to reduce
repetitive logic, and make sure that this logic is used everywhere appropriate.
2022-04-04 14:22:13 +09:00
David Dalcino
46850c0f00 Fix cross-platform installation failure
Fix #449
2021-11-14 10:19:08 -08:00
David Dalcino
d580c422ac Add type hint to updater.py 2021-09-06 09:01:59 -07:00
David Dalcino
6942fbdd36 Add UpdaterError 2021-09-02 10:03:03 -07:00
David Dalcino
d6127eb8a0 Fix use of version and version_dir
This changes `Updater.update()` to use two separate variables:
`version`, which is a Semantic Version, and `version_dir`, which is
a string for the directory in which Qt is installed.

`version_dir` cannot just be `str(version)`; in the special case of
Qt 5.9.0, `version_dir` must be "5.9" to account for the way that this
version of Qt was packaged.
2021-08-11 12:13:45 -07:00
Hiroshi Miura
c99ec5372b Coding style update by Black/isort
Change to max line length to 125

Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-08-02 13:50:00 +09:00
Hiroshi Miura
71e1787c15 PEP8/Black
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-07-16 20:39:40 +09:00
Vladyslav Hnatiuk
3944d043e6 Fix MacOS 6.1.2 build. 2021-07-16 13:17:57 +02:00
Hiroshi Miura
766ae8bc7f Fix update path for winrt (#311)
* Fix update path for winrt

Fixed #310


Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-07-13 23:52:12 +09:00
Hiroshi Miura
a5bb6b7e96 Introduce metadata package (#305)
* Introduce metadata module

that has Versions and ListCommand class

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Introduce custom Version class

A Version class override semantic_version.Version class
that accept qt versions and tools versions

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* PEP8/Black

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Improve test assertion

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Move ArchiveId class to metadata module

And Improve imports

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Refactoring Version class

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Refactoring Table class

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Refactoring Table class(wip)

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Fix output format of `list tools` command

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* list: Improve print output

avoid str.join()

Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-07-13 00:10:36 +09:00
Hiroshi Miura
1a7cba1c7f Change updater target path for Qt 6.2.0 for mac
Use `macos` other than `clang_64` for Qt6.2.0 and later on mac/desktop

Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-07-01 13:45:26 +09:00
tsteven4
36e3036868 create qtenv2.bat file on windows 2021-06-22 12:13:31 -06:00
Hiroshi Miura
f35edf398a Fix logging in installer sub-process when multiprocessing context with spawn method (#273)
* Simplify logging

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Update logging

- keep logging file path in Settings
- introduce installer logger

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* PEP8/Black

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Logging: add queue handler

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Logging: introduce logutils module

- Add QueueListenerHandler
- Add queue listener handler config
- qualname to aqt.installer

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Logging: introduce aqt.updater logger

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Logging: introduce aqt.main and aqt.archives logger

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* PEP8/Black

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Logging: simplify config file

- use propergate for last output handler
- change formatter
  * console: brief
  * file: verbose
- Use multiprocessing.Queue() instead of queue.Queue()
- Remember logging config file customization in Settings
- QueueListener use handler as of getLogger("aqt").handlers

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* change log level of redirection

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Logging: Single global LoggingQueueListener

- Global instance of LoggingQueueListener
- Drop queue_listener from logging.ini
- Generate QueueHandler from LoggingQueueLisnter.get_queue_handler
- Explicitly close QueueListenerHandler and Queue object.

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: use verbose console logging for ci

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CLI: drop options to specify logger and logger configuration file

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Make Instance of LoggingQueueListener in Cli class

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Handle QueueListener in Cli.call_installer

- Use mp.Manager().Queue()
- start(), stop() in caller
- Gracefully close QueueHandler in installer

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* PEP8

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Drop berkeley.edu from fallbacks of mirror site

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Fix log format of time digits

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Update settings load

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: catch custom settings from change in master branch

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Show log when loading custom settings

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Improve subprocess logging that use root logger

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* fix logging.ini settings

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Fix against tests

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Introduce MyQueueListener

- Inherit System QueueListner to override logger name

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* PEP8/Black

Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-06-21 15:25:00 +09:00
Hiroshi Miura
0776b54518 PEP8/Black
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-06-19 19:17:42 +09:00
Hiroshi Miura
99b9c216a5 Inroduce --kde option for src subcommand
It apply KDE patch collection to Qt 5.15.2 source
`aqt src 5.15.2 linux desktop --kde`

Patch collection is based on Qt 5.15.2, so only the version can be patched.

Ref #231

Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-06-19 15:02:08 +09:00
tsteven4
10e5926660 make framework option patches exclusive to mac 2021-06-12 09:36:55 -06:00
tsteven4
fce9bc188c fix libtool patching on mac 2021-06-12 08:30:25 -07:00
tsteven4
24fbcb2932 patch libtool control files. 2021-06-12 09:13:14 -06:00
tsteven4
f88ab2c9ca patch pkgconfig Libs.private path 2021-06-12 07:27:31 -07:00
tsteven4
aa595fdbee patch pkgconfig files on mac. 2021-06-12 06:07:48 -07:00
Hiroshi Miura
fe38fb0e62 Version comparison by semantic_version (#263)
* Version comparison by packaging.version

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Use semantic_version instead of packaging.version

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Use more semantic_version

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Fix typo and imports

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Fix missing imports

and fix typo, reduce redundancies.

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* PEP8

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Add 5.12.11 to known version

Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-06-12 10:46:45 +09:00
tsteven4
f865f5f469 make sure binfile patches are a full 256 bytes (#258)
* make sure binfile patches are a full 256 bytes, including any necessary padding.

* assume binary patch values are always 256 byte zero filled.

* assume zero terminated patch values instead of a fixed length.

* add qmake patchs for qt_epfxpath and qt_hpfxpath.

* tighten up binary patch
2021-06-09 09:29:48 +09:00
tsteven4
1a84cefe8d fix binfile patching. 2021-06-04 18:35:02 -06:00
Hiroshi Miura
13a83b9f14 PEP8
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-05-02 12:03:44 +09:00
Hiroshi Miura
d841741641 Reformat by black
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-04-02 12:20:10 +09:00
Hiroshi Miura
c0020057fe Merge branch 'master' into topic-skip-patching-514later 2021-02-11 18:06:25 +09:00
Hiroshi Miura
d8efcb6fc3 Patch target_qt.conf
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-02-11 14:29:33 +09:00
Hiroshi Miura
a8653a89ea Refactoring updater:patch_qtcore
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-02-11 11:00:28 +09:00
Hiroshi Miura
79e18900d1 Skip patching for QtCore when 5.14.0 and later
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-02-11 10:49:30 +09:00
Hiroshi Miura
060a1125f3 Handle Qt6/non-desktop installation patching (#210)
* Do not check qmake for android

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Refactoring patching

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: test android_armv7 in 6.0.1

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Patching qt6 android qmake script

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Patching qt6 android qmake script(wip)

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: test android/qt6 on github actions

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Add combination for Qt6 and update README

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: Azure: Fix test cases

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: Azure: Fix Qt6 test case

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: Fix windows case

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: Fix windows case

Add debug print

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Fix prefix path for patching

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Improvve log messages for patching

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: Check android installation

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: Check android installation

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: Check android installation

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Updater: update logging message

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Updater: Fix qmake detection on windows

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: run qmake.bat on windows

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: run Qt6 qmake.bat on windows

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: run Qt6 qmake.bat on windows

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: Azure: fix mirror test

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* CI: Azure: test Qt6 with Ubuntu 20.04

Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-02-11 10:05:13 +09:00
Hiroshi Miura
c2750e34f1 Update documents and copyrights
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-01-30 00:28:44 +09:00
Hiroshi Miura
4ff39b3306 Patch also for windows DLLs
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-01-28 17:52:37 +09:00
Hiroshi Miura
655e6e2b66 Improve patching
- Patch pkgconfig configurations
- Patch libQt5Core and libQt6Core for linux
- Catch exception on qmake -query execution

Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-01-27 14:46:06 +09:00