Commit Graph

205 Commits

Author SHA1 Message Date
toofar 0f2d34623c Merge remote-tracking branch 'upstream/main' into feat/mac_sandbox_pre_release_pyinstaller
Only conflict was the removal of support for 32bit builds in
build_release.py
2023-08-12 13:49:01 +12:00
toofar d084df8e3b Remove macOS exception for "sandbox disabled" error message 2023-08-05 17:03:50 +12:00
toofar c2092640e7 Remove local re-signing of macOS build.
Now that we aren't patching the build we shouldn't have to try to
re-sign in.
2023-08-05 17:03:50 +12:00
toofar 693e391410 Remove local patching/symlinking of macOS build.
In the past various workarounds have been put in place to move/copy/symlink
files in the macOS app build to make PyQt work and let us sign it.

As of https://github.com/pyinstaller/pyinstaller/pull/7619 our downstream
patching should not be required.

The application seems to run fine.
The app size is 155 MB.
Signing is still to be verified.
2023-07-30 14:53:06 +12:00
Florian Bruhin c2210539a9 Drop 32bit Windows release support
See #6050, still keeping open to track NSIS changes
2023-07-27 21:05:26 +02:00
Florian Bruhin 6d84462d68 scripts: Fix broken condition
Broken in ffc06e58d6
2023-07-25 11:00:33 +02:00
Florian Bruhin 0718b25796 reuse: Initial copyright text update for myself
git ls-files | \
    xargs sed -Ei 's/Copyright [0-9]{4}(-[0-9]{4}) Florian Bruhin \(The Compiler\) <mail@qutebrowser\.org>/SPDX-FileCopyrightText: Florian Bruhin (The Compiler) <mail@qutebrowser.org>/'
2023-07-23 12:49:05 +02:00
Florian Bruhin b2aaba6043 reuse: Adjust most license headers
git ls-files | xargs grep -l "is free software"  | xargs reuse annotate --license="GPL-3.0-or-later" --skip-unrecognised
2023-07-23 12:11:07 +02:00
Florian Bruhin ffc06e58d6 qt6: Switch most tooling/linting to Qt 6
Only mypy missing now...
2023-06-30 19:29:28 +02:00
Philipp Albrecht d9e8b638bf Remove vim modelines
We're deprecating vim modelines in favor of `.editorconfig`.

Removing vim modelines could be done using two one-liners. Most of the vim modelines
were followed by an empty line, so this one-liner took care of these ones:

```sh
rg '^# vim: .+\n\n' -l | xargs sed -i '/^# vim: /,+1d'
```

Then some of the vim modelines were followed by a pylint configuration line, so running
this one-liner afterwards took care of that:

```sh
rg '^# vim:' -l | xargs sed -i '/^# vim: /d'
```
2023-06-30 11:03:06 +02:00
Florian Bruhin 293a993b6b build_release: Also ignore GpuChannelMsg_CreateCommandBuffer for Qt 5
Looks like we have some failing smoke tests with:

[6636:16643:0329/041427.206197:ERROR:command_buffer_proxy_impl.cc(141)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.
2023-03-29 10:28:30 +02:00
Florian Bruhin 4793070db3 Merge branch 'qt6-v2' into master-qt6 2023-03-17 20:30:13 +01:00
toofar ff8dbc4580 lint: broad-exception-raised
Mostly pretty lazy fixes. Most of the places in the tests we were
already matching on error message, a couple of places we weren't. The
tick-tock one was the only one that wasn't being used right where it was
raised.

Some of them I just changed to RuntimeError because it was shorter than
adding the pylint directive.
2023-02-06 18:53:56 +13:00
Florian Bruhin f4f5ca2663 Fix missing raw string prefix 2023-01-29 15:43:08 +01:00
Florian Bruhin 391623d5ec tox: Don't use environment names ending in digits
This fails now with 'failed with env name pyinstaller-32 conflicting with base python C:\hostedtoolcache\windows\Python\3.10.9\x86\python.exe'

See https://github.com/tox-dev/tox/pull/2824
2023-01-19 09:58:06 +01:00
Florian Bruhin 5ea48c6e78 scripts: Ignore CreateCommandBuffer warning for release smoketest 2022-12-16 21:05:35 +01:00
Florian Bruhin b4d32e04f4 Merge branch 'master' into qt6-v2 2022-12-13 09:05:32 +01:00
Florian Bruhin af176f749f scripts: Use pip-installed asciidoc
Fixes #7352, closes #6793
2022-12-12 11:06:28 +01:00
Florian Bruhin 03e383a18f build-release: Add suffixes for Qt 6 2022-08-23 18:31:42 +02:00
Florian Bruhin 8c8f05d538 build-release: Make whitelist more fine-grained 2022-08-23 18:31:42 +02:00
Florian Bruhin b4b5c1d755 build-release: Reenable partial macOS symlinking
See #7252
2022-08-23 18:31:42 +02:00
Florian Bruhin 7f4f072629 build-release: Ignore sandboxing disabled message
See #7278
2022-08-23 18:31:42 +02:00
Florian Bruhin e956e7b8c7 build-release: Ignore new macOS warnings temporarily
See #7255 and #7256
2022-08-23 18:31:42 +02:00
Florian Bruhin 6ff6ce23e5 pyinstaller: Disable symlink patching for now
See #7252
2022-08-23 18:31:42 +02:00
Florian Bruhin c0ffd6d327 scripts: Pass through Qt 6 to PyInstaller 2022-08-23 18:31:41 +02:00
Florian Bruhin a5a824f234 scripts: Initial Qt 6 support for build_release.py 2022-08-23 18:31:41 +02:00
Florian Bruhin ef486aa263 Remove unneeded old log ignores 2022-08-23 18:31:41 +02:00
Florian Bruhin 0dda1d41be ci: Fix regex for macOS log
The smoke test runs without debug logging, so the format is different.
2022-08-22 14:19:55 +02:00
Florian Bruhin e8cc163d84 scripts: Ignore new macOS 11 warning
Not sure where it's coming from, but it happened after swiching CI to macOS 11, and nobody has complained about it.
2022-08-22 13:59:23 +02:00
Florian Bruhin 52d98ad9aa build-release: Fix f-string, take 2 2022-06-22 16:02:57 +02:00
Florian Bruhin 208e56f0e9 build-release: Fix handling of Windows .zip suffix 2022-06-22 15:56:17 +02:00
Florian Bruhin 4e5b1d287d build-release: Fix f-string 2022-06-22 15:35:26 +02:00
Florian Bruhin f13af68cac build-release: Fix wrong path on Windows 2022-06-17 15:41:25 +02:00
Florian Bruhin 3b81525826 Fix lint 2022-06-16 21:06:38 +02:00
Florian Bruhin 660e776a15 build-release: Sign macOS .app properly
Based on https://github.com/pyinstaller/pyinstaller/issues/6612
Might help with #6771.
2022-06-16 21:03:20 +02:00
Florian Bruhin 611a6d5cb2 build-release: Modernize
pathlib, type annotations, modern syntax, dataclasses
2022-06-16 19:47:27 +02:00
Florian Bruhin 46de10722c build-release: Move macOS Info.plist back to PyInstaller .spec
The patching was originally introduced back in 2017 in #3055, when
PyInstaller only supported very basic Info.plist operations.

This changed in 2018 (!) however, with PyInstaller 3.4:
https://pyinstaller.org/en/stable/CHANGES-3.html#id8
https://github.com/pyinstaller/pyinstaller/pull/3532

Thus, let's move this back to PyInstaller. This produces exactly the
same Info.plist as before.

Fixes #7251
2022-06-16 17:52:35 +02:00
Florian Bruhin 9e2c5d493b build-release: Accept --skip-packaging on macOS 2022-06-16 16:23:07 +02:00
Florian Bruhin 23cc4d186c build-release: Add pre-dmg smoke test for macOS
Fixes #7254
2022-06-16 15:15:55 +02:00
Florian Bruhin f6a365172a Use legacy PDF.js build for macOS/Windows releases
Fixes #7108
2022-04-05 11:33:19 +02:00
Florian Bruhin f45dcb1aba pylint: Work around used-before-assignment issues
See https://github.com/PyCQA/pylint/issues/6035
2022-03-29 17:22:56 +02:00
Florian Bruhin 2378ba7886 scripts: Use 'build' to build sdist
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html
2021-12-03 15:52:03 +01:00
Florian Bruhin 733868ff87 scripts: Run 'twine check' 2021-12-03 15:42:14 +01:00
Florian Bruhin a580079206 scripts: Handle packaging dependencies via tox 2021-12-03 15:28:04 +01:00
Florian Bruhin bbb44f6e50 Add some missing docstring params 2021-12-03 13:50:57 +01:00
Florian Bruhin ed2342a430 pylint: Handle consider-using-with 2021-12-02 17:30:47 +01:00
Florian Bruhin e6e7e95013 scripts: Use new Qt path in build_release 2021-10-21 18:18:36 +02:00
Florian Bruhin 51972fa4e2 Revert "scripts: Remove macOS symlinking"
This reverts commit a0bfb7c824.

It *is* required, just used the wrong path...

gg
2021-10-21 18:18:03 +02:00
Florian Bruhin a0bfb7c824 scripts: Remove macOS symlinking
Seems to be fixed in PyInstaller 4.4? See #6611.
2021-10-21 17:07:53 +02:00
Florian Bruhin 2782b750ae scripts: Add bluetooth permission for macOS
Apple documentation claims this is for iOS/watchOS/tvOS only:
https://developer.apple.com/documentation/bundleresources/information_property_list/nsbluetoothalwaysusagedescription

However, reality tells a different story - according to Console.app, when
visiting accounts.google.com, qutebrowser/Chromium needs this permission.

Reproducible as well using the following demo page:
https://googlechrome.github.io/samples/web-bluetooth/battery-level.html

Finally, Google Chrome has the key declared as well. Note that it has
NSBluetoothPeripheralUsageDescription as well:
https://developer.apple.com/documentation/bundleresources/information_property_list/nsbluetoothperipheralusagedescription

...but that is deprecated, and according to my tests on macOS 10.14 and 10.15,
it's not needed.

Thanks to Apple for their wonderful documentation.... not.

Fixes #6475, hopefully for real this time.
2021-06-15 15:22:26 +02:00