Commit Graph

213 Commits

Author SHA1 Message Date
Philipp Wolfer
0c0583f8e7 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.

# Conflicts:
#	.github/workflows/package-pypi.yml
#	.github/workflows/package-windows.yml
2024-02-29 21:53:53 +01:00
Philipp Wolfer
4135885dac Re-enable WebP support
Only keep it disabled for the legacy macOS 10.12 builds since those
use an older Qt5 version.
2024-02-03 11:30:40 +01: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
Philipp Wolfer
2f34f3cd2e Fixed appx signing 2021-11-10 15:05:56 +01:00
Philipp Wolfer
f22c3ea965 Use SecureString in Windows Powershell packaging script 2021-11-10 14:59:42 +01:00
Philipp Wolfer
cb6973cf44 Use sets instead of lists in conditionals 2021-10-31 10:17:23 +01:00
Philipp Wolfer
0864ebaac3 PICARD-2291: Avoid loading PyQt in PyInstaller hooks
Hooks run before PyInstaller has setup the environment. Also avoid monkey patching Picard and use environment variables instead.
2021-10-17 11:52:14 +02:00
Philipp Wolfer
fb37df7ef8 PICARD-2291: Fix DLL search path in Windows portable install
Move setting the PATH to include the package folder earlier in the PyInstaller hooks.
2021-10-17 11:52:14 +02:00
Philipp Wolfer
52e64f16c0 macOS: Build with newer essentia extractor binary
Use the for now unofficial builds from https://github.com/phw/essentia-extractor-builds/releases/tag/v2.1_beta2_1 which are compiled with newer SDK. The official binaries cannot be used because they cannot be notarized.
2021-10-06 08:24:48 +02:00
Philipp Wolfer
f53a35eee6 PICARD-2189: Add appdirs module to fix getting proper cache location
The cache location previously was wrong because it was created before app and org name had been set. The new module fixes this and allows more flexible replacement of the implementation.
2021-09-26 11:43:42 +02:00
Philipp Wolfer
2422d74cb3 macOS: Handle different command line syntax for xpath on Big Sur 2021-09-25 14:52:37 +02:00
Philipp Wolfer
5f0e598385 Removed Qt translations workaround no longer needed with current PyInstaller 2021-09-25 14:50:11 +02:00