Bug 254934

Summary: x11-toolkits/fltk: Update to 1.3.7; Change build to cmake
Product: Ports & Packages Reporter: Yuri Victorovich <yuri>
Component: Individual Port(s)Assignee: Alexey Dokuchaev <danfe>
Status: In Progress ---    
Severity: Affects Only Me Flags: bugzilla: maintainer-feedback? (danfe)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 257416    
Attachments:
Description Flags
patch
none
updated.patch none

Description Yuri Victorovich freebsd_committer freebsd_triage 2021-04-10 03:52:16 UTC
Created attachment 223970 [details]
patch

cmake build additionally installs desktop file and cmake scripts.

The new version of audio/giada now expects fltk to include cmake scripts, otherwise giada can't find fltk.
Comment 1 Yuri Victorovich freebsd_committer freebsd_triage 2021-04-10 04:50:20 UTC
I also asked them to drop the "_SHARED" suffix: https://github.com/fltk/fltk/issues/214
Comment 2 Yuri Victorovich freebsd_committer freebsd_triage 2021-07-25 18:21:45 UTC
Created attachment 226685 [details]
updated.patch

This patch updates fltk to 1.3.7 and changes to cmake.
Comment 3 Alexey Dokuchaev freebsd_committer freebsd_triage 2021-08-13 13:06:23 UTC
(In reply to Yuri Victorovich from comment #2)
> This patch updates fltk to 1.3.7
FLTK 1.3.7 is a maintenance release for macOS only. It fixes one regression introduced in FLTK 1.3.6 and two long standing timer issues on macOS.

Other platforms than macOS are not affected.  Per our conventions, we do not perform port update in this case.
Comment 4 commit-hook freebsd_committer freebsd_triage 2021-08-15 06:40:20 UTC
A commit in branch main references this bug:

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

commit ac064f0542689d9c4ff6ca58c046a60d93129305
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2021-08-15 06:37:48 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2021-08-15 06:37:52 +0000

    x11-toolkits/fltk: update FLTK to version 1.3.7

    This release does not contain new ABI features and is 100% binary
    compatible with releases 1.3.5 and 1.3.6.

    PR:             254934
    Submitted by:   yuri

 x11-toolkits/fltk/Makefile                         | 10 +-----
 x11-toolkits/fltk/distinfo                         |  6 ++--
 .../fltk/files/patch-CMake_macros.cmake (gone)     | 14 --------
 .../fltk/files/patch-test_CMakeLists.txt (gone)    | 34 --------------------
 x11-toolkits/fltk/files/patch-test_Makefile (gone) | 37 ----------------------
 .../fltk/files/patch-test_demo.menu (gone)         | 11 -------
 .../fltk/files/patch-test_help__dialog.cxx (gone)  | 18 -----------
 7 files changed, 4 insertions(+), 126 deletions(-)
Comment 5 Alexey Dokuchaev freebsd_committer freebsd_triage 2021-08-15 06:49:18 UTC
(In reply to Alexey Dokuchaev from comment #3)
> Per our conventions, we do not perform port update in this case.
Oops, I'm sorry, for some reason I've thought the port had already been at version 1.3.6; update from 1.3.5 to 1.3.7 is okay.
Comment 6 Yuri Victorovich freebsd_committer freebsd_triage 2022-01-02 17:42:34 UTC
Alexey,


Could you please change it to cmake like the patch suggested?


audio/giada now can't be updated because it expects cmake files:
>   Could not find a package configuration file provided by "FLTK" with any of
>   the following names:
> 
>     FLTKConfig.cmake
>     fltk-config.cmake


Thanks,
Yuri
Comment 7 Alexey Dokuchaev freebsd_committer freebsd_triage 2022-01-04 02:58:35 UTC
(In reply to Yuri Victorovich from comment #6)
> audio/giada now can't be updated because it expects cmake files:
>   FLTKConfig.cmake
Ah, that makes it easier.  Initially I was sceptical about switching to CMake for the build as it would have brought no visible improvements but broken pkg-plist and shared libraries' suffixes, as well as embedding $WRKSRC in the generated (staged) UseFLTK.cmake (which is still installed despite being deprecated).

Technically CMake knows about FLTK itself (pkg info -l cmake | grep -i fltk), so personally I'd just patch `audio/giada' to use that instead, however, I'll see how feasible would be to install FLTKConfig.cmake and minimal set of its dependencies for the sake of stupid software that can't use CMake alone.
Comment 8 Alexey Dokuchaev freebsd_committer freebsd_triage 2022-01-09 13:39:13 UTC
(In reply to Alexey Dokuchaev from comment #7)
> I'll see how feasible would be to install FLTKConfig.cmake and minimal set of
> its dependencies for the sake of stupid software that can't use CMake alone.
It turned out harder than it looked like.  While FLTK-Functions.cmake and the template for FLTKConfig.cmake are provided, FLTK-Targets.cmake and FLTK-Targets-${build-type}.cmake are hard to generate without CMake.  I've amended the upstream issue https://github.com/monocasual/giada/issues/537 in hope we won't have to provide any extra CMake clue to what it already offers (and documents).