'; }
Bug 275463 - graphics/gthumb: Update to version 3.12.6
Summary: graphics/gthumb: Update to version 3.12.6
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-gnome (Nobody)
URL: https://gitlab.gnome.org/GNOME/gthumb...
Keywords:
Depends on:
Blocks:
 
Reported: 2023-12-01 00:19 UTC by George Mitchell
Modified: 2025-06-21 17:44 UTC (History)
6 users (show)

See Also:
bugzilla: maintainer-feedback? (gnome)


Attachments
patch for port pkg-plist (517 bytes, patch)
2025-04-01 16:22 UTC, Piotr Smyrak
siva: maintainer-approval? (gnome)
Details | Diff
Patch to fix build on Poudriere (Makefile part only) (320 bytes, patch)
2025-04-10 09:30 UTC, Tomoaki AOKI
siva: maintainer-approval? (gnome)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description George Mitchell 2023-12-01 00:19:37 UTC
According to https://gitlab.gnome.org/GNOME/gthumb/-/blob/master/NEWS?ref_type=heads, version 3.12.4 of gthumb was released on the 10th of October.  Ports tree has version 3.12.2.
Comment 1 George Mitchell 2024-12-09 18:48:16 UTC
Now the main repository is up to version 3.12.6 (as of March 2024).  Updating title of bug.
Comment 2 Siva Mahadevan freebsd_committerfreebsd_triage 2025-03-23 21:13:43 UTC
This bug is stale, current ports version is 3.12.7. This bug can be closed.
Comment 3 George Mitchell 2025-03-23 22:50:33 UTC
Building 3.12.7 fails at the install stage:

root@sullivan:/usr/ports/graphics/gthumb # make install
===>  Installing for gthumb-3.12.7
===>  Checking if gthumb is already installed
===>   Registering installation for gthumb-3.12.7
pkg-static: Unable to access file /usr/ports/graphics/gthumb/work/stage/usr/local/libexec/gthumb/video-thumbnailer:No such file or directory
pkg-static: Unable to access file /usr/ports/graphics/gthumb/work/stage/usr/local/share/metainfo/org.gnome.gThumb.appdata.xml:No such file or directory
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/graphics/gthumb
*** Error code 1

Stop.
make: stopped in /usr/ports/graphics/gthumb

At a casual glance, the stage directory seems pretty well populated, but usr/local/libexec/gthumb is empty and usr/local/share contains no metainfo directory.

Building on 14.2-RELEASE-p1 with the March 6th commit, id=7f95070d29e27a9cfa51b1fce2bd5abbd3880393.  Options EXIV2, JXL, RAW, and SECRET are set and the others are unset.
Comment 4 Siva Mahadevan freebsd_committerfreebsd_triage 2025-03-23 23:28:53 UTC
Yes I was able to repro this. I will look into the errors and post a patch shortly.
Comment 5 George Mitchell 2025-03-24 00:24:47 UTC
Thanks for the quick response!
Comment 6 Piotr Smyrak 2025-04-01 16:22:06 UTC
Created attachment 259245 [details]
patch for port pkg-plist

The problem lies in the unconditional listing of the optional video extension that is only built if the GSTREAMER option is on. Even if it is off, the port mech will still attempt to install the file, which is only built with meson flag for gstreamer, which is controlled by the option.
Comment 7 Tomoaki AOKI 2025-04-07 17:03:37 UTC
(In reply to Piotr Smyrak from comment #6)
The second error noted on Comment #3 still persists even with your patch on Poudriere.
But graphics/gthumb is built fine on bare-metal environment using `make && make package` with the exactly same option as poudriere.

  *I have /usr/local/etc/poudriere.d/options as the symlink
   pointing to /var/db/ports/, so all options are exactly the same.

Maybe some BUILD_DEPENDS are missing to generate the mentioned file.
Comment 8 George Mitchell 2025-04-07 23:01:30 UTC
I updated my ports tree, applied the patch given above, and checked whether I can still reproduce the bug.  I never use poudriere, and for the most part I do use portmaster, but for this test I simply tried "make" in /usr/ports/graphics/gthumb.  I still get the same error as in comment #3 for "make install".
Comment 9 Piotr Smyrak 2025-04-08 13:21:41 UTC
The error I suggested solution for is OPTIONS dependent. It shall not be observed in the uninteractive default setup as used by project package builders. 

I suspect the other one also. These are my choices:

# This file is auto-generated by 'make config'.
# Options for gthumb-3.12.7
_OPTIONS_READ=gthumb-3.12.7
_FILE_COMPLETE_OPTIONS_LIST=BRASERO CLUTTER EXIV2 GSTREAMER JXL RAW SECRET WEBP WEBSERVICES YELP
OPTIONS_FILE_UNSET+=BRASERO
OPTIONS_FILE_UNSET+=CLUTTER
OPTIONS_FILE_SET+=EXIV2
OPTIONS_FILE_SET+=GSTREAMER
OPTIONS_FILE_UNSET+=JXL
OPTIONS_FILE_UNSET+=RAW
OPTIONS_FILE_UNSET+=SECRET
OPTIONS_FILE_SET+=WEBP
OPTIONS_FILE_UNSET+=WEBSERVICES
OPTIONS_FILE_UNSET+=YELP

And I have no issues building the port, and the troublesome file is part of my package:

%  pkg info -ql gthumb-3.12.7 | grep metainfo/
/usr/local/share/metainfo/org.gnome.gThumb.appdata.xml
Comment 10 Tomoaki AOKI 2025-04-09 12:23:11 UTC
(In reply to Piotr Smyrak from comment #9)
For me, basically as described in comment #7, the problem only happenes on poudriere builds.

Quoting from poudriere build log:
   (snip)
---Begin OPTIONS List---
===> The following configuration options are available for gthumb-3.12.7:
     BRASERO=off: Write galleries to CD/DVD (large dependency)
     CLUTTER=on: Fancy slideshows
     EXIV2=on: EXIF and IPTC metadata support via exiv2
     GSTREAMER=on: Multimedia support via GStreamer
     JXL=on: JPEG XL image format via libjxl
     RAW=on: Raw image support via libraw
     SECRET=on: Libsecret support for storing passwords
     WEBP=on: WebP image format support
     WEBSERVICES=on: Web services
     YELP=on: Viewer for built-in help system
===> Use 'make config' to modify these settings
---End OPTIONS List---
   (snip)
=======================<phase: package        >============================
===== env: 'PKG_NOTES=build_timestamp ports_top_git_hash ports_top_checkout_unclean port_git_hash port_checkout_unclean built_by' 'PKG_NOTE_build_timestamp=2025
-04-09T05:57:32+00:00' 'PKG_NOTE_ports_top_git_hash=202c0690646e' 'PKG_NOTE_ports_top_checkout_unclean=yes' 'PKG_NOTE_port_git_hash=7f95070d29e2' 'PKG_NOTE_port
_checkout_unclean=yes' 'PKG_NOTE_built_by=poudriere-git-3.4.99.20250209' NO_DEPENDS=yes USER=root UID=0 GID=0
===>  Building packages for gthumb-3.12.7
===>   Building gthumb-3.12.7
pkg-static: Unable to access file /wrkdirs/usr/ports/graphics/gthumb/work/stage/usr/local/share/metainfo/org.gnome.gThumb.appdata.xml:No such file or directory
*** Error code 1

Stop.
make: stopped in /usr/ports/graphics/gthumb
=>> Cleaning up wrkdir
===>  Cleaning for gthumb-3.12.7
build of graphics/gthumb | gthumb-3.12.7 ended at 2025-04-09T15:06:43+09:00
build time: 00:09:22
!!! build failure encountered !!!


Contents of /var/db/ports/graphics_gthumb/options:
# This file is auto-generated by 'make config'.
# Options for gthumb-3.12.7
_OPTIONS_READ=gthumb-3.12.7
_FILE_COMPLETE_OPTIONS_LIST=BRASERO CLUTTER EXIV2 GSTREAMER JXL RAW SECRET WEBP WEBSERVICES YELP
OPTIONS_FILE_UNSET+=BRASERO
OPTIONS_FILE_SET+=CLUTTER
OPTIONS_FILE_SET+=EXIV2
OPTIONS_FILE_SET+=GSTREAMER
OPTIONS_FILE_SET+=JXL
OPTIONS_FILE_SET+=RAW
OPTIONS_FILE_SET+=SECRET
OPTIONS_FILE_SET+=WEBP
OPTIONS_FILE_SET+=WEBSERVICES
OPTIONS_FILE_SET+=YELP


And in graphics/gthumb/Makefile:
OPTIONS_DEFAULT=	BRASERO CLUTTER EXIV2 GSTREAMER JXL RAW SECRET \
			WEBP WEBSERVICES YELP

Just disabled BRASERO by myself.
Comment 11 Piotr Smyrak 2025-04-09 20:48:00 UTC
There is a hidden dependency in the tarball on devel/appstream port (actually appstreamcli program from it). Aoki-san, if you install devel/appstream, the build should go through. 

I suspect, the issue is not visible in the default build, since one of Brasero deps (likely audio/libcanberra-gtk3) pulls the devel/appstream in.
Comment 12 Tomoaki AOKI 2025-04-09 23:16:27 UTC
(In reply to Piotr Smyrak from comment #11)
I already have devel/appstream installed as a dependency of x11-toolkits/libadwaita, which is pulled in as a dependency of editors/ghex.

It would be because my bare-metal builds went fine, while poudriere builds fail.
Poudriere is a clean room builder that disallows hidden (implicit) dependencies.
All dependencies (direct and indirect) must appear as explicit dependencies somewhere in the explicit dependency chains (including ones via USES).
Comment 13 Tomoaki AOKI 2025-04-10 09:30:16 UTC
Created attachment 259432 [details]
Patch to fix build on Poudriere (Makefile part only)

Patch to fix build on Poudriere (Makefile part only).
This patch alone is insufficient and needs Piotr's pkg-plist fix, too.

As I already have devel/appstream installed, cannot confirm that adding it to RUN_DEPENDS, too, or not. And feel free to sort BUILD_DEPENDS on committing.
Comment 14 Tomoaki AOKI 2025-04-10 09:33:03 UTC
(In reply to Piotr Smyrak from comment #11)
Adding devel/appstream to BUILD_DEPENDS fixed the remaining issue on Poudriere build.
(Patch uploaded).

Not yet installed, as I need to wait the whole bunch of builds on Poudriere finished, but limiting with graphics/gthumb, build succeeded.
Comment 15 George Mitchell 2025-04-10 17:54:01 UTC
Applying both patches given fixes the problem for me.  (Note: I do not use poudriere.)  If someone can get these patches committed, I will close this bug.
Comment 16 Siva Mahadevan freebsd_committerfreebsd_triage 2025-04-30 14:11:16 UTC
Comment on attachment 259245 [details]
patch for port pkg-plist

^Triage: requesting maintainer approval on both patches, setting bug status to 'open'.
Comment 17 commit-hook freebsd_committerfreebsd_triage 2025-06-20 06:19:18 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=780c09e9c310b6ac50486c7469981a9fbd176580

commit 780c09e9c310b6ac50486c7469981a9fbd176580
Author:     Piotr Smyrak <ps.ports@smyrak.com>
AuthorDate: 2025-06-20 06:12:05 +0000
Commit:     Don Lewis <truckman@FreeBSD.org>
CommitDate: 2025-06-20 06:17:42 +0000

    graphics/gthumb: fix pkg-plist

    Make one entry of pkg-plist be condition on a port option.

    PR:             275463
    Reported by:    George Mitchell <george@m5p.com>

 graphics/gthumb/pkg-plist | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 18 Don Lewis freebsd_committerfreebsd_triage 2025-06-20 06:26:13 UTC
The other issue should have been fixed by:

%git show 26b4ef1a982080e
commit 26b4ef1a982080eba4fdfd060aeeb972e11be9b5
Author: Baptiste Daroussin <bapt@FreeBSD.org>
Date:   Wed Jun 18 10:30:11 2025 +0200

    graphics/gthumb: add missing build dependency
    
    When appstreamcli is not present some of the metainfo are not built.
    While here cherry-pick some changes from Olivier Duchateau's patches:
    - update WWW
    - add support for libheif (optional)
    
    PR:     287541
    Reported by:    dizzy@

diff --git a/graphics/gthumb/Makefile b/graphics/gthumb/Makefile
index 7548569afdf2..fa928039d2cb 100644
--- a/graphics/gthumb/Makefile
+++ b/graphics/gthumb/Makefile
@@ -1,17 +1,19 @@
 PORTNAME=      gthumb
 PORTVERSION=   3.12.7
+PORTREVISION=  1
 CATEGORIES=    graphics
 MASTER_SITES=  GNOME
 DIST_SUBDIR=   gnome
 
 MAINTAINER=    gnome@FreeBSD.org
 COMMENT=       Image viewer and browser for the GNOME environment
-WWW=           https://wiki.gnome.org/Apps/gthumb/
+WWW=           https://gitlab.gnome.org/GNOME/gthumb
 
 LICENSE=       GPLv2+
 
 BUILD_DEPENDS= gsettings-desktop-schemas>0:devel/gsettings-desktop-schemas \
-               itstool:textproc/itstool
+               itstool:textproc/itstool \
+               appstreamcli:devel/appstream
 LIB_DEPENDS=   libclutter-1.0.so:graphics/clutter \
                libcogl.so:graphics/cogl \
Comment 19 George Mitchell 2025-06-20 14:13:55 UTC
Thank you!
Comment 20 George Mitchell 2025-06-21 17:44:34 UTC
Just confirmed that gthumb in the current version of the ports tree builds and installs correctly for me.