222 Commits

Author SHA1 Message Date
Philipp Wolfer
9393da348c PICARD-2869: Run register_excepthook early
Don't separately catch exceptions around main but rely on the new excepthook.

This prevents the crash dialog to be shown twice for exceptions which
are catched by the exception handler already.
2024-04-29 08:22:11 +02:00
Philipp Wolfer
ffdb549b57 PICARD-2192: Fix macOS app bundle creation 2024-04-21 20:04:40 +02:00
Philipp Wolfer
0858846563 PICARD-2192: Do not strip architectures from macOS binary
This is required to preserve arm64 binary code.
2024-04-21 19:10:00 +02:00
Philipp Wolfer
a769561dd8 CI: Install gettext for Windows
Before that the gettext command shipping with git for Windows were used.
Since git 2.44.0 these are no longer bundled.
2024-02-29 15:49:15 +01:00
Philipp Wolfer
ffaab0a744 Re-enable WebP support
The Qt releases used for the builds have the necessary patches applied
2024-02-03 11:37:29 +01:00
Philipp Wolfer
5e47d907b8 Update to PyInstaller 6.1 2023-10-31 10:11:41 +01:00
Philipp Wolfer
21ec4b0d48 Try to run picard-run during macOS build 2023-10-13 17:55:59 +02:00
Philipp Wolfer
3de588eb2e PICARD-2331: Adjust Windows Qt DLL fix to Qt6 2023-10-13 07:17:15 +02:00
Philipp Wolfer
e12d93ef79 Removed translations workaround for macOS bundle
With latest PyInstaller and Qt6 the translations will be already inside
Resources.
2023-10-13 07:16:10 +02:00
Philipp Wolfer
2f0181a8db PICARD-2331: Adjust PyInstaller hook for Qt6 2023-10-13 07:13:28 +02:00
Philipp Wolfer
7d55ae5e5d PICARD-2331: Upgrade to PyQt6 2023-10-13 07:10:06 +02:00
Philipp Wolfer
892693be67 PICARD-2775: Mitigate libwebp vulnerability (CVE-2023-4863)
A libwebp vulnerarbility allows arbitrary code execution when loading
a manipulated image. Disable the Qt webp imageformat plugin for binary
builds for macOS and Windows for now. WebP images still can be loaded
and saved, but they will not be displayed.
2023-10-10 16:18:35 +02:00
Philipp Wolfer
118f5f7b66 Build macOS and Windows packages with libdiscid 0.6.4 2023-09-22 14:49:21 +02:00
Philipp Wolfer
d47cec4877 Double quote shell variables to prevent globbing and word splitting 2023-09-22 07:12:30 +02:00
Laurent Monin
c17da75c1f Add an helper script to run codacy-analysis-cli locally
Used to validate .markdownlint.json
2023-09-21 23:56:44 +02:00
Philipp Wolfer
2a3ad2a3f5 Fail packaging on Windows code signing errors 2023-09-21 11:08:02 +02:00
Philipp Wolfer
05d605d1d5 PICARD-2760: Use SignTool for all Windows code signing
This tool is more flexible then the than the Powershell commandlet and
unifies code signing between .exe and .appx packages.
2023-09-21 10:56:12 +02:00
Philipp Wolfer
0e1993c111 PICARD-2760: Timestamp the Windows binaries when codesigning
This ensures the final binaries are still accepted by the OS even after
the certificates have expired.
2023-09-21 10:56:12 +02:00
Philipp Wolfer
2a89c2edf2 Use named parameters in powershell script 2023-09-08 09:49:53 +02:00
Philipp Wolfer
7c7de584a6 PICARD-2724: Move all Qt5 DLLs into main directory on Windows
Avoids import errors if a system wide, incompatible Qt5 installation
is present on the system.
2023-09-08 09:49:53 +02:00
Philipp Wolfer
52e71fb082 Fixed prospector warnings
- invalid escape sequence
- variable used before assignment
2023-09-03 18:59:01 +02:00
Philipp Wolfer
203524c238 PICARD-2736: Fix Windows system wide libssl conflicting with bundled libssl
Removed an old workaround that no longer applies for current PyQt5
and/or PyInstaller. The OpenSSL DLLs should be kept in the main install
folder in order to be prioritized over system libs.
2023-08-31 09:28:44 +02:00
Philipp Wolfer
5696dce866 changelog-for-version: avoid regex matching partial version 2023-08-30 16:04:49 +02:00
Philipp Wolfer
c0bd84f62f PICARD-2652: update_constants must pull .pot files 2023-08-22 19:43:59 +02:00
Philipp Wolfer
8da15803b8 PICARD-2652: Script to fetch attributes / countries translations from Weblate 2023-08-22 17:52:55 +02:00
Philipp Wolfer
7ee078852a Use notarytool for macOS notarization
Notarization with the altool has been deprecated, see
https://developer.apple.com/documentation/technotes/tn3147-migrating-to-the-latest-notarization-tool
2023-06-14 23:33:15 +02:00
Laurent Monin
2f81bf5992 Update copyright headers 2023-06-04 11:08:21 +02:00
Laurent Monin
40a16cf147 fix-header: add alias for bob 2023-06-04 10:29:41 +02:00
Laurent Monin
9b87499999 fix-header: add support for nolicense to avoid adding our license
It also adds support for multiple words in fix-header: line
2023-06-04 10:29:15 +02:00
Laurent Monin
a45a4f0ee9 match -> matched 2023-06-04 10:26:52 +02:00
Laurent Monin
700cfb166e fix-header: improve aliases matching 2023-06-04 10:26:03 +02:00
Laurent Monin
9cddc64d71 fix-header: replace print() with logging.*() 2023-06-04 10:24:48 +02:00
Philipp Wolfer
db3ff8969a Use binary builds of libdiscid for macOS 2023-02-28 22:05:10 +01:00
Philipp Wolfer
c4c66df644 Package libdiscid 0.6.3 for Windows and macOS builds 2023-02-28 22:05:10 +01:00
Philipp Wolfer
179d8948b1 PICARD-2605: Ensure packaged Qt5 DLLs get loaded
PyInstaller 5.4 changed the location of the Qt5 DLLs. This bypassed our prioritization of packaged DLLs.
2023-01-06 16:18:14 +01:00
Philipp Wolfer
bb1014bc19 Use different Python versions for different macOS builds 2022-12-21 10:20:54 +01:00
Philipp Wolfer
0a9b259e43 Build macOS packages with latest Python 3.11 2022-12-20 21:49:21 +01:00
Philipp Wolfer
1233d45336 PICARD-2192: Build macOS packages with fpcalc universal
Allows native ARM support for fpcalc. Partially addresses PICARD-2192
2022-12-16 18:31:14 +01:00
Philipp Wolfer
05ec3d5f5f Make setting the publisher based on certificate subject part of APPX build script 2022-10-31 16:28:24 +01:00
Philipp Wolfer
45f1e1a21d Use environment variable PICARD_BUILD_PORTABLE to trigger portable build
Fixes latest pyinstaller no longer accepting the --onefile parameter if called with a spec.
2022-07-22 10:19:28 +02:00
Philipp Wolfer
5e3fa405af PICARD-2422: Removed packaging of AB streaming extractor 2022-02-16 11:46:21 +01:00
Philipp Wolfer
29ed9d79d2 PICARD-2395: Fixed building for macOS 2022-01-12 08:54:21 +01:00
Philipp Wolfer
c511137ef6 Revert "Removed Qt translations workaround no longer needed with current PyInstaller"
This reverts commit 5f0e598385.
2022-01-12 08:54:21 +01:00
Philipp Wolfer
197efffec1 packaging: Verify SHA256 hashes of downloaded Windows dependencies 2021-12-25 17:37:54 +01:00
Philipp Wolfer
42508ec5d3 Enclose command parameters in quotation marks 2021-12-24 14:15:17 +01:00
Philipp Wolfer
471065964c packaging: verify checksums for macOS downloaded dependencies 2021-12-24 12:30:06 +01:00
Philipp Wolfer
f8f007e8a4 fix-header: Skip resource.py 2021-12-20 14:57:58 +01:00
Philipp Wolfer
af7d8d8c02 Support --encoding parameter in fix-header.py
The default encoding can be different based on the platform, but we expect UTF-8 for our source files. To stay flexible, make the default encoding UTF-8, but add a command line parameter to change it.
2021-12-20 14:57:58 +01:00
Laurent Monin
368221b840 Workaround hdiutil: create failed - Resource busy with a loop/delay 2021-12-03 12:54:52 +01:00
Laurent Monin
14ce07756e Update Copyright headers, with the help of fix-headers.py script 2021-11-10 21:38:54 +01:00