108 Commits

Author SHA1 Message Date
un-pogaz
b0d58ade70 add 'code' dictionary to codespell setting 2025-03-23 16:02:05 +01:00
Kovid Goyal
5c7dc9613b
Automated conversion of % format specifiers
Using ruff. Does not change any translatable strings.
There are still several thousand usages of % left that ruff wont
auto-convert. Get to them someday.
2025-01-27 10:58:48 +05:30
un-pogaz
ddfdc80d3a more misc recomendation (manual)
ruff 'PIE'
2025-01-24 11:14:22 +01:00
un-pogaz
8d28380515 add/remove blank-line (extra-edit)
ruff 'E302,E303,E304,E305,W391'
2025-01-24 11:14:21 +01:00
un-pogaz
19994000c9 use f-string instead of format call (extra-edit)
ruff 'UP030,UP032' --extend-exclude "src/calibre/*" !partial
2025-01-24 11:14:16 +01:00
un-pogaz
047ebcffe4 convert some legacy percent format (manual)
ruff 'UP031'
2025-01-24 11:14:16 +01:00
un-pogaz
0560b429bf convert some legacy percent format (auto-fix)
ruff 'UP031'
2025-01-24 11:14:16 +01:00
un-pogaz
b5aca6ff5c uniform string quote (extra-edit) 2025-01-24 11:14:15 +01:00
un-pogaz
37771022ce uniform string quote (auto-fix)
ruff 'Q'
2025-01-24 11:14:14 +01:00
Kovid Goyal
3e58252176
automated upgrade of python code using ruff and ./setup.py upgrade_source_code 2025-01-22 09:44:19 +05:30
Kovid Goyal
7fee97c627
Windows: Enable popup OS notifications even when system tray icon is disabled
Dont go through Qt's horrible system tray based notifier which in turn
goes through the legacy Shell_NotifyIcon API. Instead talk
to the underlying windows toast notification API directly.
2024-11-08 21:28:37 +05:30
Zbigniew Jędrzejewski-Szmek
f51b20e5d9 build: sort headers and sources in plugin builds
I'd observe a difference in the debuginfo data for the plugins in rebuilds.
Various /usr/lib64/calibre/calibre/plugins/*.so files would be different, but
the source of the difference was in the link to debuginfo data, which in turn
appears to be caused by differences in sort order in various tables, caused by
the object files being listed in different order. setup/build.py writes out
pyproject.toml, which is turned into *.pro, which is turned into a Makefile.
Sorting the object files by name seems to fix this particular issue. This
makes local rebuilds reproducible for me.
2024-10-21 13:57:19 +02:00
Zbigniew Jędrzejewski-Szmek
5a85a0e167 build: sort objects in link commands
Build logs are easier to compare if the commands don't change. This
shouldn't have any effect on the build result.
2024-10-21 13:57:19 +02:00
Kovid Goyal
4e43dd975f
Fix build with asan 2024-09-18 22:09:21 +05:30
Kovid Goyal
3c5e4ed751
Fix deprecation warning from SIP 2024-08-16 09:56:23 +05:30
Kovid Goyal
64cb4b3fc6
Bump Qt to version 6.7.2
Also fix some pep8 warnings in recipes
2024-08-04 14:26:28 +05:30
Kovid Goyal
53b74283a4
sort imports in all python files 2024-03-30 13:02:22 +05:30
Kovid Goyal
9448c42a64
Use higher optimization level for building extensions
O3 on gcc/clang and O2 on MSVC
Fixes #2145 (Add -O3 to extension compile flags)
2023-12-29 09:37:07 +05:30
Kovid Goyal
76ec0583df
Fix #2130 (Use canonical method to invoke sip-build tool) 2023-12-03 22:23:31 +05:30
Kovid Goyal
aa48fc63d0
Better escaping for flags in the generated toml file for building pyqt extensions 2023-11-27 15:41:12 +05:30
Eli Schwartz
0eca1bd9ca
build: pass on the user's compiler and compiler-flags settings to qmake
PyQt-builder uses qmake under the hood, which has a frustrating habit of
not respecting standard stuff like $CC / $CFLAGS unless the project
authors go out of their way to manually specify to use the same value as
gotten from the environment.

Implement this for the same environment variables that we currently respect
when building internal extensions *without* PyQt-builder.
2023-09-25 22:13:57 -04:00
Kovid Goyal
d608e1be54
Drop the dependency on xwin replace with using msitools
xwin doesnt work with current SDKs anyway.
https://github.com/Jake-Shadle/xwin/issues/92
2023-08-20 21:05:24 +05:30
Kovid Goyal
76fbbef9d0
Start work on porting to new PoDoFo API 2023-05-20 14:11:46 +05:30
Kovid Goyal
22cea8d90a
MSVC does not like std:c++11 2023-01-27 15:36:49 +05:30
Kovid Goyal
649baf052f
Nicer error formatting when cross compiling 2023-01-27 15:20:02 +05:30
Kovid Goyal
e145f42fdc
Fix generation of compile_commands.json for windows specific extensions 2023-01-27 13:25:08 +05:30
Kovid Goyal
ef9e669ef9
Cross compiling now actually works
At least for non-PyQt based extensions
2023-01-27 12:47:46 +05:30
Kovid Goyal
d13404d9ea
Refactor the build system to allow cross compiling windows native code extensions on linux 2023-01-27 12:03:37 +05:30
Kovid Goyal
d6a0f4bb9d
Clean up C/C++ std specifications 2023-01-26 21:06:39 +05:30
Kovid Goyal
58c9ca9519
... 2023-01-26 20:49:13 +05:30
Kovid Goyal
a92149c5b8
Move the compile_commands database into build dir 2023-01-26 13:27:05 +05:30
Kovid Goyal
c1b488d552
Better failure message when extension not built 2022-09-30 08:07:27 +05:30
Kovid Goyal
178f94a271
Dont link rcc_backend against qtgui 2022-07-06 19:19:42 +05:30
Kovid Goyal
9f0ab6e40f
Get rcc compiler building 2022-07-06 19:19:42 +05:30
Kovid Goyal
5db39aa16e
Drop 32-bit code paths 2022-07-06 19:19:39 +05:30
Kovid Goyal
e195b3a1e2
Build universal binaries on macOS 2022-07-06 19:19:37 +05:30
Kovid Goyal
17d9cd0b6a
Add the SW prefix to cmake when building headless 2022-07-06 19:19:35 +05:30
Kovid Goyal
e3d0259d70
Get the Qt plugins building with Qt6 2022-07-06 19:19:32 +05:30
Kovid Goyal
f56d0b5ec0
Replace references to PyQt5 in the source 2022-07-06 19:19:32 +05:30
Kovid Goyal
24c460faec
also upgrade code in setup folder 2022-01-08 12:15:18 +05:30
Kovid Goyal
f01268b2ec
Remove deprecated distutils 2021-12-13 21:55:53 +05:30
Christian Clauss
3e81179175 Fix more typos 2021-10-02 17:15:24 +02:00
Zbigniew Jędrzejewski-Szmek
9d63b6ae56 Drop (object) from class definitions
Python2 had old-style classes (no "(object)"), and new style classes (with
"object"). Under Py3 this is a noop, so let's drop it to make the code
a bit shorter.
2021-09-30 09:23:56 +02:00
Kovid Goyal
618bf197e2
Fix more deprecation warnings in the test suite 2021-06-24 09:09:04 +05:30
Kovid Goyal
a37c14499c
Fix building of sqlite_extension on ancient Linux 2021-06-16 17:14:31 +05:30
Kovid Goyal
d8595e5bf5
Fix ICU build on Windows 2021-06-16 17:02:07 +05:30
Kovid Goyal
6d845cfa37
Generate db of compile commands for use by tools when building 2021-06-14 09:02:55 +05:30
Kovid Goyal
73a312dd64
Workaround for sip version mismatch on Arch 2021-05-13 08:40:37 +05:30
Kovid Goyal
d368c4f96e
Dont chdir as part of sip-build command
Instead chdir overall, makes the command simpler.
2021-05-13 07:48:08 +05:30
Kovid Goyal
c8b5289a34
Handle empty parser state stack 2021-03-20 21:14:14 +05:30