@@ -10,6 +10,10 @@ author_email = "russell@beeware.org"
1010[tool .briefcase .app .testbed ]
1111formal_name = " Testbed"
1212description = " A testbed for the Apple Support packages."
13+ long_description = """ A test of common use cases and known problems with bundled apps.
14+
15+ Validates 3rd party module loading, as well as basic app packaging.
16+ """
1317icon = " src/testbed/resources/testbed"
1418sources = [" src/testbed" ]
1519test_sources = [" tests" ]
@@ -44,24 +48,44 @@ requires=[
4448 ' pygobject' ,
4549]
4650
51+ [tool .briefcase .app .testbed .linux .system .debian ]
52+ system_requires = [
53+ # Needed to compile pycairo wheel
54+ " libcairo2-dev" ,
55+ # Needed to compile PyGObject wheel
56+ " libgirepository1.0-dev" ,
57+ ]
58+
59+ system_runtime_requires = [
60+ # Needed to provide GTK and its GI bindings
61+ " gir1.2-gtk-3.0" ,
62+ " libgirepository-1.0-1" ,
63+ # Dependencies that GTK looks for at runtime
64+ " libcanberra-gtk3-module" ,
65+ ]
66+
4767[tool .briefcase .app .testbed .linux .appimage ]
48- requires =[
49- ' --no-binary' , ' :all:'
68+ manylinux = " manylinux_2_28"
69+ requires = [
70+ ' --no-binary' , ' :all:' ,
5071]
5172
5273system_requires = [
53- # Required for GTK/PyGObject tests
54- ' gir1.2-gtk-3.0' ,
55- ' libgirepository1.0-dev' ,
56- # Required for pycairo
57- ' libcairo2-dev' ,
58- # Required for Pillow
59- ' libjpeg-dev' ,
60- ' libpng-dev' ,
61- ' libtiff-dev' ,
62- # Required to install Rust
63- ' curl' ,
64- ' libssl-dev' ,
74+ # Needed to compile pycairo wheel
75+ " cairo-gobject-devel" ,
76+ # Needed to compile PyGObject wheel
77+ " gobject-introspection-devel" ,
78+ # Needed to provide GTK
79+ " gtk3-devel" ,
80+ # Dependencies that GTK looks for at runtime, that need to be
81+ # in the build environment to be picked up by linuxdeploy
82+ " libcanberra-gtk3" ,
83+ " PackageKit-gtk3-module" ,
84+ " gvfs-client" ,
85+ # Needed to compile Pillow
86+ " libjpeg-devel" ,
87+ # Needed to compile Cryptography
88+ " openssl-devel" ,
6589]
6690
6791linuxdeploy_plugins = [
@@ -71,13 +95,28 @@ linuxdeploy_plugins = [
7195dockerfile_extra_content = """
7296# Install Rust (required for cryptography)
7397RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
74- ENV PATH="/home/brutus/.cargo/bin:${PATH}"
98+ # Set up compilers (required for numpy)
99+ ENV CXX="g++ -pthread"
100+ ENV AR=ar
101+ # Add a symlink for python->python3 (needed for pandas)
102+ # Pandas *requires* that the Python binary be called `python`, not `python3`.
103+ # However, Python-standalone *only* provides `python3`, and at runtime, we
104+ # only need `python3`. We can't (easily) reconfigure the Meson build for Pandas,
105+ # so we put a symlink in `brutus`'s bin path.
106+ RUN mkdir -p /home/brutus/bin
107+ RUN ln -si /app/Testbed.AppDir/usr/python/bin/python3 /home/brutus/bin/python
108+ # Set the path to include all the things we've installed.
109+ ENV PATH="/home/brutus/bin:/home/brutus/.cargo/bin:${PATH}"
75110"""
76111
77112# support_package = "../Python-linux-support/dist/Python-3.10-linux-x86_64-support.custom.tar.gz"
78113# template = "../../templates/briefcase-linux-appimage-template"
79114
80115[tool .briefcase .app .testbed .linux .flatpak ]
116+ flatpak_runtime = " org.gnome.Platform"
117+ flatpak_runtime_version = " 44"
118+ flatpak_sdk = " org.gnome.Sdk"
119+
81120# template = "../../templates/briefcase-linux-flatpak-template"
82121
83122[tool .briefcase .app .testbed .windows ]
0 commit comments