Summary: | x11-toolkits/gtk30: Update to 3.24.38 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Nuno Teixeira <eduardo> | ||||||||||||||||
Component: | Individual Port(s) | Assignee: | Dimitry Andric <dim> | ||||||||||||||||
Status: | Closed FIXED | ||||||||||||||||||
Severity: | Affects Only Me | CC: | arrowd, chalpin, discipline, eduardo, george, grahamperrin, jcfyecrayz, o.hushchenkov, robbak, rozhuk.im, vvd | ||||||||||||||||
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(desktop) antoine: exp-run+ |
||||||||||||||||
Version: | Latest | ||||||||||||||||||
Hardware: | Any | ||||||||||||||||||
OS: | Any | ||||||||||||||||||
URL: | https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/NEWS?ref_type=heads | ||||||||||||||||||
See Also: | https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269963 | ||||||||||||||||||
Bug Depends on: | 269963 | ||||||||||||||||||
Bug Blocks: | |||||||||||||||||||
Attachments: |
|
Description
Nuno Teixeira
2023-12-06 12:00:20 UTC
Run test on ports that I maintain: OK cad/gtkwave deskutils/gsimplecal editors/lapce archivers/xarchiver graphics/birdfont graphics/drawing editors/xmlcopyeditor games/exult graphics/mtpaint science/gramps x11-clocks/xdaliclock www/bluefish graphics/zathura-cb x11-toolkits/gtkdatabox security/picocrypt Thinking doing a exp-run myself on: `git grep -e 'GNOME.*gtk30' -e 'x11-toolkits/gtk30'` or ask for an exp-run when this port is ready. (In reply to Nuno Teixeira from comment #1) (...) - DEBUG is currently disabled (commented), not tested yet Created attachment 246850 [details]
v1: activate DEBUG option
- Activate DEBUG option: (DEBUG_MESON_ON=--buildtype=debug)
...
buildtype : debug
optimization : plain
strip : true
...
(In reply to Nuno Teixeira from comment #3) (...) ### gtk_debug_cflags = [] debug = get_option('debug') optimization = get_option('optimization') if debug gtk_debug_cflags += '-DG_ENABLE_DEBUG' if optimization in ['0', 'g'] gtk_debug_cflags += '-DG_ENABLE_CONSISTENCY_CHECKS' endif elif optimization in ['2', '3', 's'] gtk_debug_cflags += '-DG_DISABLE_CAST_CHECKS' endif ### - We could change 'optimization' for better debug. - How to disable 'stripping'. I was thinking that DEBUG when turned on, disabled optimized cflags and strip... Created attachment 246952 [details]
v2: fix CUPS option, Makefile cleanup
- Switch to DISTVERSION
- Move port innitioal comment to the front of DISTVERSION (like in gtk2)
- Fix CUPS option
- Use shebangfix on .py files instead of BINARY_ALIAS
- Pet portlint, portclippy and portfmt
Created attachment 246953 [details]
v3: remove ATK_BRIDGE option
-remove ATK_BRIDGE option, closes #269963
(In reply to Nuno Teixeira from comment #6) The ATK_BRIDGE option is pretty important for those of us who do not want dbus on our systems. Historically the ports tree has been flexible enough to accommodate that use case. It would be a shame for that flexibility to go away - it is one of the great strengths of ports. I'm not entirely following what the motivation is for removing it. Is it technically difficult to maintain with the new version? Are you concerned that it's not sufficiently tested? And if that's the issue, is there testing I could provide to address those concerns? (In reply to Corey Halpin from comment #7) Could you take a look at https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269963 ? Please tell me if it needs to be reopened. There is no meson opion to control it but I can re-test it again with: ATK_BRIDGE_LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-core In pkgsrc they have a patch-meson.build to add such a meson flag: http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/x11/gtk3/patches/patch-meson.build?rev=1.3&content-type=text/x-cvsweb-markup Could that be used here too? See also bug 251647 for the previous attempt. When switching build systems it's easy to introduce regressions. With Git changes can be split into separate commits, facilitating post-push review, blame and bisection. (In reply to Corey Halpin from comment #9) Meson option was already part of files/patch-atk-bridge-option but disabled here. Rebasing is trivial: remove hunks affecting configure, config.h.in and config.h.meson. Nice! I'm taking a look a pkgsrc meson patch: +atkbridge_enabled = get_option('atk_bridge') (...) Tomorrow I will apply it. Related to mans and docs, any sugestions if we should installed them with a DOCS option? MESON_ARGS+= -Dgtk_doc=true -Dman=true as they are set to false by default. Thanks (In reply to Jan Beich from comment #10) Hello Jan, Yes, I really missed this patch. I've removed unused chunks like you said. Just a difference from NetBSD patch that might be of importance: Our patch: -#ifdef GDK_WINDOWING_X11 +#ifdef HAVE_ATK_BRIDGE #include <atk-bridge.h> #endif pkgsrc patch: #ifdef GDK_WINDOWING_X11 +#ifdef HAVE_ATK_BRIDGE #include <atk-bridge.h> #endif +#endif What do you think? For now I will use our patch and make tests. Thanks (In reply to Nuno Teixeira from comment #12) (...) Also, our patch does this: > + if atkbridge_dep.found() > + atk_pkgs += ['atk-bridge-2.0'] > + cdata.set('HAVE_ATK_BRIDGE', 1) that causes to activate a run dep with atk-bridge true or false. pkgsrc patch fixes it with: < + if atkbridge_enabled < atkbridge_dep = dependency('atk-bridge-2.0', version: at_spi2_atk_req) < + cdata.set('HAVE_ATK_BRIDGE', 1) < + endif Created attachment 246974 [details]
v4: restore ATK_BRIDGE; add DOCS
- Restore ATK_BRIDGE option:
using pkgsrc slightly different patch, fixes true/false option on run detection
- Add DOCS option to include docs and mans (as actual port do)
Will ask for an exp-run in 24 hours Created attachment 247027 [details]
v5: add TEST option
- Add TEST option (default off) to not build tests (meson on by default)
- Remove (USES) GL=egl dependency on WAYLAND option because it lib_depends on
libwayland-egl.so:graphics/wayland
(In reply to Nuno Teixeira from comment #16) (...) - Add ATK_BRIDGE_IMPLIES=X11 as it only links to libatk-bridge-2.0.so if X11 is present Proposed bump consumers list will be $ `git grep -e 'GNOME.*gtk30' -e 'x11-toolkits/gtk30'` There is a problem with the TEST option in the patch. Either it changes the content of the package (which doesn't seem to be the case) and it can be an option. Or it doesn't change the content of the package and it can't be an option, it must be hooked to the test framework. (In reply to Antoine Brodin from comment #19) meson build tests are on by default and it causes to add more code to build. TEST option was a way to turn it off by default but giving user the change to turn it on if needed. We could remove TEST option and let meson uses its default value or we can force building tests to off with MESON_ARGS and save some building time. Since this issue doesn't affects port funcionality, maybe it's best to just remove the TEST option. Could I have your opinion on this? Thanks (In reply to Nuno Teixeira from comment #20) my personal opinion is to have it on in MESON_ARGS if the port uses the test framework, or to have it off in MESON_ARGS otherwise. Created attachment 247160 [details]
v6: remove TEST option
- Remove TEST option:
meson build tests are on by default and port uses test framework.
Here is the result of `make test`:
###
Summary of Failures:
48/192 gtk+:gtk / window FAIL 0.33s killed by signal 6 SIGABRT
Ok: 191
Expected Fail: 0
Fail: 1
Unexpected Pass: 0
Skipped: 0
Timeout: 0
###
=================================== 49/192 ===================================
test: gtk+:gtk / window
start time: 14:20:39
duration: 0.31s
result: killed by signal 6 SIGABRT
command: ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 GTK_CSD=1 GSK_RENDERER=cairo LD_LIBRARY_PATH=/home/nunotex/Work/freebsd/ports/main/x11-toolkits/gtk30/work/gtk+-3.24.38/_build/subprojects/proxy-libintl:/home/nunotex/Work/freebsd/ports/main/x11-toolkits/gtk30/work/gtk+-3.24.38/_build/gtk:/home/nunotex/Work/freebsd/ports/main/x11-toolkits/gtk30/work/gtk+-3.24.38/_build/gdk GTK_TEST_MESON=1 G_TEST_BUILDDIR=/home/nunotex/Work/freebsd/ports/main/x11-toolkits/gtk30/work/gtk+-3.24.38/_build/testsuite/gtk GIO_USE_VOLUME_MONITOR=unix GSETTINGS_SCHEMA_DIR=/home/nunotex/Work/freebsd/ports/main/x11-toolkits/gtk30/work/gtk+-3.24.38/_build/gtk MALLOC_PERTURB_=87 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 GSETTINGS_BACKEND=memory G_TEST_SRCDIR=/home/nunotex/Work/freebsd/ports/main/x11-toolkits/gtk30/work/gtk+-3.24.38/testsuite/gtk G_ENABLE_DIAGNOSTIC=0 /home/nunotex/Work/freebsd/ports/main/x11-toolkits/gtk30/work/gtk+-3.24.38/_build/testsuite/gtk/window --tap -k
----------------------------------- stdout -----------------------------------
TAP version 13
# random seed: R02S817f898b345751f22197a4d4cf8c6cd8
1..7
# Start of window tests
# GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ?gio-vfs?
not ok /window/default-size - ERROR:../testsuite/gtk/window.c:88:test_default_size: assertion failed (w == 300): (476 == 300)
Bail out!
----------------------------------- stderr -----------------------------------
**
ERROR:../testsuite/gtk/window.c:88:test_default_size: assertion failed (w == 300): (476 == 300)
==============================================================================
tests: only build tests when `make test` is asked (ala x11-toolkits/gtk40) Further improvements to port related to build tests could be: - build without building tests - use a 'pre-test' to build them when `make test` is executed: ### MESON_ARGS= -Dtests=false pre-test: ${RM} ${CONFIGURE_COOKIE} ${BUILD_COOKIE} ${MAKE} -C${.CURDIR} build MESON_ARGS="${MESON_ARGS} --reconfigure -Dtests=true" ### This way, port build will save around 1500 -> 1000 lines of code to build. Any thoughts? Exp-run looks fine (In reply to Antoine Brodin from comment #24) Thank you very much Antoine! A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=0a1dd69c3167141ace3cb39e897fd6e6ee0026c1 commit 0a1dd69c3167141ace3cb39e897fd6e6ee0026c1 Author: Nuno Teixeira <eduardo@FreeBSD.org> AuthorDate: 2023-12-23 12:56:37 +0000 Commit: Nuno Teixeira <eduardo@FreeBSD.org> CommitDate: 2023-12-23 18:14:13 +0000 x11-toolkits/gtk30: Update to 3.24.38 - Switch to DISTVERSION - Switch to meson build - Fix ATK_BRIGDE option (deps run detection: #PR269963) - Group backends into multi option (at least one backend needed to build) - Pet portlint, portclippy and portfmt ChangeLog: https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/NEWS PR: 269963, 275567 Exp-run by: antoine x11-toolkits/gtk30/Makefile | 107 +- x11-toolkits/gtk30/distinfo | 6 +- x11-toolkits/gtk30/files/patch-Makefile.in (gone) | 11 - x11-toolkits/gtk30/files/patch-atk-bridge-option | 124 +- x11-toolkits/gtk30/files/patch-configure (gone) | 28 - .../gtk30/files/patch-docs_Makefile.in (gone) | 20 - .../patch-docs_reference_gtk_Makefile.in (gone) | 10 - .../patch-docs_reference_gtk_meson.build (new) | 10 + .../gtk30/files/patch-gtk_gtkbuilderparser.c | 8 +- .../gtk30/files/patch-gtk_updateiconcache.c | 6 +- x11-toolkits/gtk30/pkg-plist | 1397 ++++++++++---------- 11 files changed, 820 insertions(+), 907 deletions(-) After this update I can't run gtk3 based programs. The lib and programs built from ports. zathura ld-elf.so.1: /usr/local/lib/libgtk-3.so.0: Undefined symbol "g_libintl_bindtextdomain" gtk3-demo ld-elf.so.1: /usr/local/bin/gtk3-demo: Undefined symbol "g_libintl_gettext" (In reply to Oleh Hushchenkov from comment #27) > zathura > ld-elf.so.1: /usr/local/lib/libgtk-3.so.0: Undefined symbol > "g_libintl_bindtextdomain" Running OK libgtk-3.so.0 => /usr/local/lib/libgtk-3.so.0 (0x294800800000) > gtk3-demo > ld-elf.so.1: /usr/local/bin/gtk3-demo: Undefined symbol "g_libintl_gettext" Runing OK Samples OK Dirty enviroment building? (In reply to Nuno Teixeira from comment #28) No. Someone miss lib/libgdk-3.so lib/libgdk-3.so.0 lib/libgdk-3.so.%%LIBVERSION%% lib/libgtk-3.so lib/libgtk-3.so.0 lib/libgtk-3.so.%%LIBVERSION%% lib/libintl.a lib/libintl.so ^^^^^^^^^^^^^^^^^ on make makeplist generation output. Or as usual no tests done on real env and some AUTO build deps trigered. Here is mine make configure output: # make configure ===> License LGPL20 accepted by the user ===> gtk3-3.24.38 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by gtk3-3.24.38 for building ===> Extracting for gtk3-3.24.38 => SHA256 Checksum OK for gnome/gtk+-3.24.38.tar.xz. ===> Patching for gtk3-3.24.38 ===> Applying FreeBSD patches for gtk3-3.24.38 from /usr/ports/x11-toolkits/gtk30/files ===> gtk3-3.24.38 depends on package: gettext-runtime>=0.22_1 - found ===> gtk3-3.24.38 depends on executable: msgfmt - found ===> gtk3-3.24.38 depends on executable: g-ir-scanner - found ===> gtk3-3.24.38 depends on executable: meson - found ===> gtk3-3.24.38 depends on executable: ninja - found ===> gtk3-3.24.38 depends on package: pkgconf>=1.3.0_1 - found ===> gtk3-3.24.38 depends on file: /usr/local/bin/python3.9 - found ===> gtk3-3.24.38 depends on package: perl5>=5.36<5.37 - found ===> gtk3-3.24.38 depends on file: /usr/local/libdata/pkgconfig/x11.pc - found ===> gtk3-3.24.38 depends on file: /usr/local/libdata/pkgconfig/xcomposite.pc - found ===> gtk3-3.24.38 depends on file: /usr/local/libdata/pkgconfig/xcursor.pc - found ===> gtk3-3.24.38 depends on file: /usr/local/libdata/pkgconfig/xdamage.pc - found ===> gtk3-3.24.38 depends on file: /usr/local/libdata/pkgconfig/xext.pc - found ===> gtk3-3.24.38 depends on file: /usr/local/libdata/pkgconfig/xfixes.pc - found ===> gtk3-3.24.38 depends on file: /usr/local/libdata/pkgconfig/xi.pc - found ===> gtk3-3.24.38 depends on file: /usr/local/libdata/pkgconfig/xinerama.pc - found ===> gtk3-3.24.38 depends on file: /usr/local/libdata/pkgconfig/xrandr.pc - found ===> gtk3-3.24.38 depends on file: /usr/local/libdata/pkgconfig/xrender.pc - found ===> gtk3-3.24.38 depends on file: /usr/local/bin/ccache - found ===> gtk3-3.24.38 depends on shared library: libepoxy.so - found (/usr/local/lib/libepoxy.so) ===> gtk3-3.24.38 depends on shared library: libfontconfig.so - found (/usr/local/lib/libfontconfig.so) ===> gtk3-3.24.38 depends on shared library: libfribidi.so - found (/usr/local/lib/libfribidi.so) ===> gtk3-3.24.38 depends on shared library: libharfbuzz.so - found (/usr/local/lib/libharfbuzz.so) ===> gtk3-3.24.38 depends on shared library: libatk-bridge-2.0.so - found (/usr/local/lib/libatk-bridge-2.0.so) ===> gtk3-3.24.38 depends on shared library: libcups.so - found (/usr/local/lib/libcups.so) ===> gtk3-3.24.38 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so) ===> gtk3-3.24.38 depends on shared library: libatk-1.0.so - found (/usr/local/lib/libatk-1.0.so) ===> gtk3-3.24.38 depends on shared library: libcairo.so - found (/usr/local/lib/libcairo.so) ===> gtk3-3.24.38 depends on shared library: libgdk_pixbuf-2.0.so - found (/usr/local/lib/libgdk_pixbuf-2.0.so) ===> gtk3-3.24.38 depends on shared library: libglib-2.0.so - found (/usr/local/lib/libglib-2.0.so) ===> gtk3-3.24.38 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so) ===> gtk3-3.24.38 depends on shared library: libpango-1.0.so - found (/usr/local/lib/libpango-1.0.so) ===> Configuring for gtk3-3.24.38 WARNING: Recommend using either -Dbuildtype or -Doptimization + -Ddebug. Using both is redundant since they override each other. See: https://mesonbuild.com/Builtin-options.html#build-type-options The Meson build system Version: 1.3.0 Source dir: /tmp/ports/usr/ports/x11-toolkits/gtk30/work/gtk+-3.24.38 Build dir: /tmp/ports/usr/ports/x11-toolkits/gtk30/work/gtk+-3.24.38/_build Build type: native build Project name: gtk+ Project version: 3.24.38 C compiler for the host machine: cc (clang 16.0.6 "FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)") C linker for the host machine: cc ld.lld 16.0.6 Host machine cpu family: x86_64 Host machine cpu: x86_64 Has header "crt/externs.h" : NO Has header "dlfcn.h" : YES Has header "ftw.h" : YES Has header "inttypes.h" : YES Has header "linux/memfd.h" : NO Has header "linux/input.h" : YES Has header "dev/evdev/input.h" : YES Has header "locale.h" : YES Has header "memory.h" : YES Has header "stdint.h" : YES Has header "stdlib.h" : YES Has header "string.h" : YES Has header "strings.h" : YES Has header "sys/mman.h" : YES Has header "sys/param.h" : YES Has header "sys/stat.h" : YES Has header "sys/sysinfo.h" : YES Has header "sys/systeminfo.h" : NO Has header "sys/time.h" : YES Has header "sys/types.h" : YES Has header "unistd.h" : YES Library m found: YES Checking for function "dcgettext" with dependency -lm: NO Checking for function "getpagesize" with dependency -lm: YES Checking for function "getresuid" with dependency -lm: YES Checking for function "lstat" with dependency -lm: YES Checking for function "mmap" with dependency -lm: YES Checking for function "nearbyint" with dependency -lm: YES Checking for function "posix_fallocate" with dependency -lm: YES Checking for function "_lock_file" with dependency -lm: NO Checking for function "flockfile" with dependency -lm: YES Checking for function "mkstemp" with dependency -lm: YES Checking for function "mallinfo" with dependency -lm: NO Checking for function "round" with dependency -lm: YES Checking for function "rint" with dependency -lm: YES Checking for function "log2" with dependency -lm: YES Checking for function "exp2" with dependency -lm: YES Checking for function "sincos" with dependency -lm: YES Checking for function "trunc" with dependency -lm: YES Checking for function "localtime_r" with dependency -lm: YES Checking for function "fmin" with dependency -lm: YES Header "math.h" has symbol "isinf" : YES Header "math.h" has symbol "isnan" : YES Compiler for C supports arguments -fno-strict-aliasing: YES Compiler for C supports arguments -Wpointer-arith: YES Compiler for C supports arguments -Wimplicit-function-declaration: YES Compiler for C supports arguments -Wformat=2: YES Compiler for C supports arguments -Wformat-security: YES Compiler for C supports arguments -Wnested-externs: YES Compiler for C supports arguments -Wold-style-definition: YES Compiler for C supports arguments -Wundef: YES Compiler for C supports arguments -Wunused: YES Compiler for C supports arguments -Wcast-align: YES Compiler for C supports arguments -Wmissing-noreturn: YES Compiler for C supports arguments -Wmissing-format-attribute: YES Compiler for C supports arguments -Wmissing-include-dirs: YES Compiler for C supports arguments -Wlogical-op: NO Compiler for C supports arguments -Wignored-qualifiers: YES Compiler for C supports arguments -Wno-discarded-qualifiers: NO Compiler for C supports arguments -Werror=implicit: YES Compiler for C supports arguments -Werror=nonnull: YES Compiler for C supports arguments -Werror=init-self: YES Compiler for C supports arguments -Werror=main: YES Compiler for C supports arguments -Werror=missing-braces: YES Compiler for C supports arguments -Werror=sequence-point: YES Compiler for C supports arguments -Werror=return-type: YES Compiler for C supports arguments -Werror=trigraphs: YES Compiler for C supports arguments -Werror=array-bounds: YES Compiler for C supports arguments -Werror=write-strings: YES Compiler for C supports arguments -Werror=address: YES Compiler for C supports arguments -Werror=int-to-pointer-cast: YES Compiler for C supports arguments -Werror=pointer-to-int-cast: YES Compiler for C supports arguments -Werror=empty-body: YES Compiler for C supports arguments -Werror=write-strings: YES (cached) Checking if "-Wl,-Bsymbolic" : links: YES Checking if "-Wl,-z,relro" : links: YES Checking if "-Wl,-z,now" : links: YES Found pkg-config: YES (/usr/local/bin/pkgconf) 2.0.3 Run-time dependency glib-2.0 found: YES 2.78.3 Run-time dependency gobject-2.0 found: YES 2.78.3 Run-time dependency gio-unix-2.0 found: YES 2.78.3 Run-time dependency gmodule-2.0 found: YES 2.78.3 Run-time dependency cairo found: YES 1.17.4 Run-time dependency cairo-gobject found: YES 1.17.4 Run-time dependency pango found: YES 1.50.14 Run-time dependency fribidi found: YES 1.0.13 Run-time dependency pangoft2 found: YES 1.50.14 Run-time dependency freetype2 found: YES 26.1.20 Run-time dependency pangocairo found: YES 1.50.14 Run-time dependency gdk-pixbuf-2.0 found: YES 2.42.10 Run-time dependency epoxy found: YES 1.5.9 Run-time dependency atk found: YES 2.50.0 Run-time dependency harfbuzz found: YES 8.3.0 Run-time dependency xkbcommon found: YES 1.6.0 Run-time dependency iso-codes found: YES 4.15.0 Run-time dependency cairo-xlib found: YES 1.17.4 Run-time dependency xrandr found: YES 1.5.2 Dependency xrandr found: YES 1.5.2 (cached) Run-time dependency x11 found: YES 1.8.7 Run-time dependency xrender found: YES 0.9.10 Run-time dependency xi found: YES 1.8 Run-time dependency xext found: YES 1.3.4 Run-time dependency xcursor found: YES 1.2.0 Run-time dependency xdamage found: YES 1.1.6 Run-time dependency xfixes found: YES 6.0.0 Run-time dependency xcomposite found: YES 0.4.6 Run-time dependency fontconfig found: YES 2.14.2 Run-time dependency atk-bridge-2.0 found: YES 2.50.0 Checking for function "XkbQueryExtension" with dependency x11: YES Checking for function "XSyncQueryExtension" with dependency xext: YES Checking for function "XGetEventData" with dependency x11: YES Has header "X11/extensions/XInput2.h" with dependency xi: YES Checking for function "XIAllowTouchEvents" with dependency xi: YES Checking whether type "XIScrollClassInfo" has member "number" with dependency xi: YES Checking whether type "XIGesturePinchEvent" has member "type" with dependency xi: YES Run-time dependency xinerama found: YES 1.1.4 Header "X11/extensions/Xinerama.h" has symbol "XineramaQueryExtension" with dependency xinerama: YES Checking for function "ngettext" : NO Library intl found: NO Checking for function "bind_textdomain_codeset" with dependency -lintl: NO Looking for a fallback subproject for the dependency (anonymous) Cloning into 'proxy-libintl'... remote: Enumerating objects: 39, done. remote: Counting objects: 100% (14/14), done. remote: Compressing objects: 100% (11/11), done. remote: Total 39 (delta 5), reused 7 (delta 3), pack-reused 25 Receiving objects: 100% (39/39), 21.70 KiB | 600.00 KiB/s, done. Resolving deltas: 100% (16/16), done. HEAD is now at e792f40 Include a leaner windows.h which avoids a lot of useless stuff Executing subproject proxy-libintl proxy-libintl| Project name: proxy-libintl proxy-libintl| Project version: 1 proxy-libintl| C compiler for the host machine: cc (clang 16.0.6 "FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)") proxy-libintl| C linker for the host machine: cc ld.lld 16.0.6 proxy-libintl| WARNING: extract_all_objects called without setting recursive proxy-libintl| keyword argument. Meson currently defaults to proxy-libintl| non-recursive to maintain backward compatibility but proxy-libintl| the default will be changed in the future. proxy-libintl| Build targets in project: 2 proxy-libintl| Subproject proxy-libintl finished. Dependency (anonymous) from subproject subprojects/proxy-libintl found: YES 1 Program g-ir-scanner found: YES (/usr/local/bin/g-ir-scanner) Program gen-gdk-gresources-xml.py found: YES (/usr/local/bin/python3.9 /tmp/ports/usr/ports/x11-toolkits/gtk30/work/gtk+-3.24.38/gdk/gen-gdk-gresources-xml.py) Configuring gdk.gresource.xml with command Build-time dependency gio-2.0 found: YES 2.78.3 Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency glib-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-mkenums found: YES (/usr/local/bin/glib-mkenums) Dependency glib-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-mkenums found: YES (/usr/local/bin/glib-mkenums) Dependency glib-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-genmarshal found: YES (/usr/local/bin/glib-genmarshal) Configuring gdkconfig.h using configuration Configuring gdkversionmacros.h using configuration Run-time dependency gobject-introspection-1.0 found: YES 1.78.1 Dependency gobject-introspection-1.0 found: YES 1.78.1 (cached) Program /usr/local/bin/g-ir-scanner found: YES (/usr/local/bin/g-ir-scanner) Dependency gobject-introspection-1.0 found: YES 1.78.1 (cached) Program /usr/local/bin/g-ir-compiler found: YES (/usr/local/bin/g-ir-compiler) Program gen-gtk-gresources-xml.py found: YES (/usr/local/bin/python3.9 /tmp/ports/usr/ports/x11-toolkits/gtk30/work/gtk+-3.24.38/gtk/gen-gtk-gresources-xml.py) Configuring gtk.gresources.xml with command Program sassc found: YES (/usr/local/bin/sassc) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/gdbus-codegen found: YES (/usr/local/bin/gdbus-codegen) Dependency glib-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-genmarshal found: YES (/usr/local/bin/glib-genmarshal) Dependency glib-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-mkenums found: YES (/usr/local/bin/glib-mkenums) Dependency glib-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-mkenums found: YES (/usr/local/bin/glib-mkenums) Dependency glib-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-mkenums found: YES (/usr/local/bin/glib-mkenums) Dependency glib-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-mkenums found: YES (/usr/local/bin/glib-mkenums) Program gentypefuncs.py found: YES (/usr/local/bin/python3.9 /tmp/ports/usr/ports/x11-toolkits/gtk30/work/gtk+-3.24.38/gtk/gentypefuncs.py) Configuring gtkversion.h using configuration Dependency x11 found: YES 1.8.7 (cached) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-schemas found: YES (/usr/local/bin/glib-compile-schemas) Has header "langinfo.h" : YES Header "langinfo.h" has symbol "_NL_MEASUREMENT_MEASUREMENT" : NO Header "langinfo.h" has symbol "_NL_PAPER_HEIGHT" : NO Header "langinfo.h" has symbol "_NL_PAPER_WIDTH" : NO Header "langinfo.h" has symbol "_NL_TIME_FIRST_WEEKDAY" : NO Configuring de.gresource.xml using configuration Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Configuring fr.gresource.xml using configuration Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Configuring es.gresource.xml using configuration Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Configuring zh.gresource.xml using configuration Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Run-time dependency cups found: YES 2.4.7 Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Header "hb-ot.h" has symbol "hb_ot_var_get_axis_count" with dependency harfbuzz: YES Program geninclude.py found: YES (/tmp/ports/usr/ports/x11-toolkits/gtk30/work/gtk+-3.24.38/demos/gtk-demo/geninclude.py) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-schemas found: YES (/usr/local/bin/glib-compile-schemas) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-schemas found: YES (/usr/local/bin/glib-compile-schemas) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-schemas found: YES (/usr/local/bin/glib-compile-schemas) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-schemas found: YES (/usr/local/bin/glib-compile-schemas) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-schemas found: YES (/usr/local/bin/glib-compile-schemas) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-schemas found: YES (/usr/local/bin/glib-compile-schemas) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-resources found: YES (/usr/local/bin/glib-compile-resources) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-schemas found: YES (/usr/local/bin/glib-compile-schemas) Configuring config.h using configuration Configuring gail-3.0.pc using configuration Configuring gdk-3.0.pc using configuration Configuring gdk-x11-3.0.pc using configuration Configuring gtk+-3.0.pc using configuration Configuring gtk+-x11-3.0.pc using configuration Configuring gtk+-unix-print-3.0.pc using configuration Program msgfmt found: YES (/usr/local/bin/msgfmt) Program msginit found: YES (/usr/local/bin/msginit) Program msgmerge found: YES (/usr/local/bin/msgmerge) Program xgettext found: YES (/usr/local/bin/xgettext) Program xsltproc found: YES (/usr/local/bin/xsltproc) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/glib-compile-schemas found: YES (/usr/local/bin/glib-compile-schemas) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/gio-querymodules found: YES (/usr/local/bin/gio-querymodules) Dependency gio-2.0 found: YES 2.78.3 (cached) Program /usr/local/bin/gio-querymodules found: YES (/usr/local/bin/gio-querymodules) Program gtk4-update-icon-cache found: YES (/usr/local/bin/gtk4-update-icon-cache) Message: ------ GTK+ 3.24.38 (3.0) Display backends: x11 [disabled: broadway quartz wayland win32] Print backends: file lpr cups [disabled: papi test] Cloud support: false Colord support: no Profiler: false Introspection: true Documentation: false Man pages: false Build tests: false Installed tests: false Demos: true Examples: true Directories: prefix: /usr/local includedir: /usr/local/include libdir: /usr/local/lib datadir: /usr/local/share ------ Build targets in project: 358 NOTICE: Future-deprecated features used: * 1.1.0: {'"boolean option" keyword argument "value" of type str'} gtk+ 3.24.38 Subprojects proxy-libintl : YES 1 warnings User defined options auto_features : enabled buildtype : debug infodir : share/info mandir : man optimization : plain prefix : /usr/local strip : true python.bytecompile: -1 b_colorout : never atk_bridge : true broadway_backend : false colord : no gtk_doc : false man : false print_backends : cups,file,lpr tests : false wayland_backend : false x11_backend : true Found ninja-1.11.1 at /usr/local/bin/ninja WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated. ===> gtk3-3.24.38 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so) ===> gtk3-3.24.38 depends on shared library: libatk-1.0.so - found (/usr/local/lib/libatk-1.0.so) ===> gtk3-3.24.38 depends on shared library: libcairo.so - found (/usr/local/lib/libcairo.so) ===> gtk3-3.24.38 depends on shared library: libgdk_pixbuf-2.0.so - found (/usr/local/lib/libgdk_pixbuf-2.0.so) ===> gtk3-3.24.38 depends on shared library: libglib-2.0.so - found (/usr/local/lib/libglib-2.0.so) ===> gtk3-3.24.38 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so) libintl.so found twice by portmaster and not found by meson: Library intl found: NO Checking for function "bind_textdomain_codeset" with dependency -lintl: NO Looking for a fallback subproject for the dependency (anonymous) Cloning into 'proxy-libintl'... remote: Enumerating objects: 39, done. remote: Counting objects: 100% (14/14), done. remote: Compressing objects: 100% (11/11), done. remote: Total 39 (delta 5), reused 7 (delta 3), pack-reused 25 Receiving objects: 100% (39/39), 21.70 KiB | 600.00 KiB/s, done. Resolving deltas: 100% (16/16), done. HEAD is now at e792f40 Include a leaner windows.h which avoids a lot of useless stuff Executing subproject proxy-libintl Also please disable: Demos: true Examples: true Same here. Look at this: 3.24.38: $ readelf -d /usr/local/lib/libgtk-3.so | grep libintl 0x0000000000000001 NEEDED Shared library: [libintl.so] $ pkg info gtk3 | grep libintl libintl.so.8 libintl.so 3.24.34_1: $ readelf -d /usr/local/lib/libgtk-3.so | grep libintl 0x0000000000000001 NEEDED Shared library: [libintl.so.8] $ pkg info gtk3 | grep libintl libintl.so.8 localbase -> localbase:ldflags Checking for function "ngettext" : NO Library intl found: YES Checking for function "bind_textdomain_codeset" with dependency -lintl: YES fix for me. (In reply to Vladimir Druzenko from comment #32) I suspect this is because autotools->meson migration. Autotools handle LIBS env var, meson work with LDFLAGS, this come from localbase.mk (In reply to Ivan Rozhuk from comment #33) > localbase -> localbase:ldflags This change fixed issue for me - readelf look good and dependent ports build without these error. I can report success as well. I take it that the build system is not detecting the installed libintl, so it builds the bundled proxy-libintl, which the ports system doesn't install? --- a/x11-toolkits/gtk30/Makefile +++ b/x11-toolkits/gtk30/Makefile @@ -19,7 +19,7 @@ LIB_DEPENDS= libepoxy.so:graphics/libepoxy \ RUN_DEPENDS= adwaita-icon-theme>=0:x11-themes/adwaita-icon-theme \ hicolor-icon-theme>=0:misc/hicolor-icon-theme -USES= compiler:c11 cpe gettext gnome localbase meson ninja pathfix \ +USES= compiler:c11 cpe gettext gnome localbase:ldflags meson ninja pathfix \ perl5 pkgconfig python shebangfix tar:xz CPE_VENDOR= gnome USE_GNOME= atk cairo gdkpixbuf2 gtk-update-icon-cache pango \ A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=3c7613413c0d40ed6428e2918beeb38f81698dcd commit 3c7613413c0d40ed6428e2918beeb38f81698dcd Author: Nuno Teixeira <eduardo@FreeBSD.org> AuthorDate: 2023-12-24 09:01:14 +0000 Commit: Nuno Teixeira <eduardo@FreeBSD.org> CommitDate: 2023-12-24 09:04:33 +0000 x11-toolkits/gtk30: Fix detecting system libintl Use localbase:ldflags to detect system libintl. Without it, bundled is built instead. PR: 275567 x11-toolkits/gtk30/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (In reply to commit-hook from comment #37) Fixed and PORTREVISION bumped since it changes build pkg. Thanks all for spoting this! (In reply to Ivan Rozhuk from comment #31) I did think on that or at least create an option for it. I choose the path of keep it because old version port install it by default. gtk2 and gtk4 do the same. Also, gtk-demo is nice for a quick system check. (In reply to Oleh Hushchenkov from comment #27) I had the exact same problem and tried rebuilding gtk3 without first checking here in bugzilla. (When will I learn?) After pulling the latest commit AND THEN rebuilding gtk3, I'm happy to confirm that the problem was solved. Thanks to all (and thanks to bugzilla too)! (In reply to Nuno Teixeira from comment #38) Just for "lessons learned" posterity, why was this problem not noticed with the original commit? Did the bundled libintl get installed to LOCALBASE for those who were testing the update? Something else? (In reply to John Hein from comment #41) In my tests, poudriere builds were fine and run tests were based on install pkgs from that poudriere repo. Bundled lintl worked fine in all run testing of consumers. The problem was detected on local builds outside poudriere. Thinking closing this PR soon. Closing it works for me, speaking as an unofficial representative of the non-poudriere contingent of FreeBSD users who still build ports. I do occasionally worry about how soon that group will be disavowed altogether, though. (In reply to George Mitchell from comment #44) poudriere is too heavy to use it in small env. I can make PoC script that will create chroot from current installed system using mtree+nullfs, install only required packages to it (pkg create + pkg install / pkg install if exist in /ports/packages / build + install in chroot) and build target port. But I need some one who will integrate it into portmaster. Also it will require root to run or some hacks, like suid bit on mount/unmount, chroot apps or MAC module to allow users call relevant syscalls. (In reply to Ivan Rozhuk from comment #45) You'd better just learn Poudriere rather than reinventing it. Poudriere-devel has an option to download binary packages for heavy dependencies instead of recompiling them. (In reply to Gleb Popov from comment #46) small correction: >Poudriere-devel has an option to download binary packages There's no need to use -devel for that. 3.4.0 have it already. A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=542123d1faa2879d0e6d546dbb82c7cbefeb3745 commit 542123d1faa2879d0e6d546dbb82c7cbefeb3745 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2023-12-30 14:05:25 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2023-12-30 14:09:40 +0000 x11-toolkits/gtk30: fix pkg-plist with BROADWAY option disabled After the update to 3.24.38, with the BROADWAY option disabled, the port fails to package, with: pkg-static: Unable to access file /wrkdirs/share/dim/ports/x11-toolkits/gtk30/work/stage/usr/local/man/man1/broadwayd.1.gz:No such file or directory Add %%BROADWAY%% prefixes to more broadway-related files in pkg-plist (broadwayd.1.gz, broadwayd.html and gtk-broadway.html). PR: 275567 Fixes: 0a1dd69c3167 x11-toolkits/gtk30/pkg-plist | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) ^Triage: assign to committer that resolved. |