Page MenuHomeFreeBSD

Import GTK 4 to the FreeBSD Ports tree
ClosedPublic

Authored by nc on Apr 15 2021, 5:54 PM.

Details

Summary

Import GTK 4 to the FreeBSD Ports tree

Highlights:

  • Import x11-toolkits/gtk40 4.2.1

This will help allow GNOME 40 to be ported to FreeBSD.

Test Plan

This has been tested to compile on 12.2-RELEASE and 14.0-CURRENT and passes poudriere,

On my 14.0 desktop, I am able to use GNOME 3 normally with the updated cario/pango. As of now we still need to test GTK4.

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

nc requested review of this revision.Apr 15 2021, 5:54 PM
nc added reviewers: gnome, desktop.
nc added projects: gnome, desktop.
nc added subscribers: gnome, desktop.

pkg-descr should not say GTK3.

We can't build pango docs yet, mainly since we're missing a dependency in ports

Don't forget to add all the %% things to the plist for broadway/wayland/x11/etc.

graphics/cairo/Makefile
24 ↗(On Diff #87518)

hm, autoconf still? Here's the patch I use for meson: https://github.com/DankBSD/ports/commit/6c52e9a5296626bb6fca8422e09b07c9cccd8c1e

x11-toolkits/gtk40/pkg-descr
1

We really need a new descr here, GTK hasn't stood for "GIMP Toolkit" for *years*

nc marked an inline comment as done.Apr 15 2021, 10:11 PM
nc added inline comments.
graphics/cairo/Makefile
24 ↗(On Diff #87518)

I need autoreconf to prevent this error:

WARNING: 'aclocal-1.16' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or            
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <https://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <https://www.gnu.org/software/autoconf>
         <https://www.gnu.org/software/m4/>
         <https://www.perl.org/>

But the patch you use for meson does in fact work. I didn't know about this so I just imported the patch into files/patch-*

nc marked 2 inline comments as done.

Remove unneeded duplication and add suggestions made by greg_unrelenting.technology.

tcberner added inline comments.
graphics/cairo/Makefile
1 ↗(On Diff #87520)

I think the cairo update should be done separately to not bloat this one :)

x11-toolkits/gtk40/Makefile
22

^ why +=

26

^ ${PYTHON_CMD} would be better, at least for the reader :)

29

order is wrong: USES should come before every USE_FOO -- see the chapter
https://docs.freebsd.org/en/books/porters-handbook/order/
and/or use ports-mgmt/portfmt :)

31

^ this should be fixed in code and upstreamed

x11-toolkits/pango/Makefile
1 ↗(On Diff #87520)

Also this updated should be done separately from the gtk-4 update

nc marked an inline comment as done.Apr 16 2021, 2:53 PM
nc added inline comments.
graphics/cairo/Makefile
1 ↗(On Diff #87520)

Cairo update: https://reviews.freebsd.org/D29793

That needs to be merged before this can be merged, since GTK4 needs a newer Cairo.

x11-toolkits/gtk40/pkg-descr
1

Sounds good.

nc marked an inline comment as done.

Cairo update now in https://reviews.freebsd.org/D29793 as per tcberner@'s request.

Incorporate a few more suggestions

nc marked 4 inline comments as done.Apr 16 2021, 2:57 PM

Address a few more comments from tcberner@.

nc marked an inline comment as done.Apr 16 2021, 3:08 PM
nc added inline comments.
x11-toolkits/pango/Makefile
1 ↗(On Diff #87520)
nc marked an inline comment as done.

Finished separating pango and cairo updates.

To commit this, we need to finish the following two first:

New version: x11=toolkits/gtk40 4.2.1

nc edited the test plan for this revision. (Show Details)
This revision was not accepted when it landed; it landed in state Needs Review.May 24 2021, 7:18 PM
This revision was automatically updated to reflect the committed changes.