-
-
Notifications
You must be signed in to change notification settings - Fork 669
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update/clarify Linux system requirements #2549
Conversation
- Add _all_ requirements for each distro - Add requirements for OpenSUSE Tumbleweed - Drop documentation for Ubuntu 18.04 since it is no longer supported by recent versions of PyGObject
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 to the general direction of this; my only question is about the specifics of how we're specifying build tools. I would have thought the pattern from briefcase-linux-system-template
was the best starting point; in particular, those install "base build requirements" packages, rather than an explicit gcc. This will also pickup make, and a couple of other tools that I suspect will be useful.
|
||
.. code-block:: console | ||
|
||
(venv) $ sudo apt update | ||
(venv) $ sudo apt install pkg-config python3-dev libgirepository1.0-dev libcairo2-dev libcanberra-gtk3-module | ||
(venv) $ sudo apt install gcc git pkg-config python3-dev gir1.2-gtk-3.0 libgirepository1.0-dev libcairo2-dev libcanberra-gtk3-module |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We use build-essential
instead of gcc
in the Dockerfile for briefcase-linux-system-template... any reason not to do the same here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was trying to be more conservative because we know the dependencies for the packages we're trying to install. I'm mostly ambivalent, though, so I can use build-essential
(or equivalent).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we were talking about installing an esoteric group of packages, I'd probably agree - but this is basic build dependencies like gcc and make - I don't think there's anything to extravagant in that list.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fedora does have yum groupinstall "Development Tools"
....but it installs so much...
|
||
**Fedora** | ||
|
||
.. code-block:: console | ||
|
||
(venv) $ sudo dnf install pkg-config python3-devel gobject-introspection-devel cairo-gobject-devel libcanberra-gtk3 | ||
(venv) $ sudo dnf install gcc git pkg-config python3-devel gtk3 gobject-introspection-devel cairo-gobject-devel libcanberra-gtk3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Dockerfile version uses gcc make
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True; we need make
to build the stub app.
|
||
**Arch / Manjaro** | ||
|
||
.. code-block:: console | ||
|
||
(venv) $ sudo pacman -Syu git pkgconf gobject-introspection cairo libcanberra | ||
(venv) $ sudo pacman -Syu gcc git pkgconf python3 gtk3 gobject-introspection cairo libcanberra |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dockerfile version uses base-level
rather than gcc
.
|
||
.. code-block:: console | ||
|
||
(venv) $ sudo zypper install gcc git pkgconf-pkg-config python3-devel gtk3 'typelib(Gtk)=3.0' gobject-introspection-devel cairo-devel libcanberra-gtk3-0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dockerfile version uses a second "pattern" install for devel_basis
, rather than an explicit gcc
.
A couple notes:
|
Changes
gcc
since it's a requirement to buildPyGObject
git
sincepip
is going to need it....at a minimumgtk3
....most distros are already going to have this installed but useful to explicitly list it for docker imagescmake
for FreeBSD since it needs to buildninja
as PyPI doesn't have a FreeBSD wheelDependency gobject-introspection-1.0 found: NO found 1.56.1 but need: '>= 1.64.0'
Notes
PR Checklist: