Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Feb 2026 20:02:33 +0000
From:      Dimitry Andric <dim@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 58bab68c7060 - main - print/lilypond: fix build with clang 21
Message-ID:  <699377d9.40fec.5260f0d8@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by dim:

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

commit 58bab68c706086774b17dcacc61c8fd37ecc8a15
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2026-02-14 23:09:53 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2026-02-16 20:00:44 +0000

    print/lilypond: fix build with clang 21
    
    With clang 21 print/lilypond fails to build, with errors similar to:
    
        In file included from line-interface.cc:25:
        In file included from /wrkdirs/usr/ports/print/lilypond/work/lilypond-2.24.4/lily/include/lazy-skyline-pair.hh:24:
        /wrkdirs/usr/ports/print/lilypond/work/lilypond-2.24.4/lily/include/transform.hh:32:3: error: 'smob_trampoline' is a private member of 'Smob_base<Transform>'
           32 |   LY_DECLARE_SMOB_PROC (&Transform::call, 1, 0, 0);
              |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /wrkdirs/usr/ports/print/lilypond/work/lilypond-2.24.4/lily/include/smobs.hh:245:32: note: expanded from macro 'LY_DECLARE_SMOB_PROC'
          245 |   LY_DECLARE_STATIC_SMOB_PROC (smob_trampoline<PMF>, REQ, OPT, VAR)
              |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /wrkdirs/usr/ports/print/lilypond/work/lilypond-2.24.4/lily/include/smobs.hh:240:65: note: expanded from macro 'LY_DECLARE_STATIC_SMOB_PROC'
          240 |     scm_set_smob_apply (smob_tag, reinterpret_cast<scm_t_subr> (FUN), REQ,     \
              |                                                                 ^~~
        /wrkdirs/usr/ports/print/lilypond/work/lilypond-2.24.4/lily/include/smobs.hh:260:14: note: declared private here
          260 |   static SCM smob_trampoline (SCM self, SCM arg1)
              |              ^
    
    Upstream fixed this as a side effect of
    https://gitweb.git.savannah.gnu.org/gitweb/?p=lilypond.git;a=commit;h=f2192eb294e
    by making the smob_trampoline methods protected, but it also includes
    other changes. Apply a minimalist version, which only makes the needed
    methods protected.
    
    PR:             293185
    Approved by:    m.ne@gmx.net (maintainer)
    MFH:            2026Q1
---
 print/lilypond/files/patch-lily_include_smobs.hh | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/print/lilypond/files/patch-lily_include_smobs.hh b/print/lilypond/files/patch-lily_include_smobs.hh
new file mode 100644
index 000000000000..bc2739df8c54
--- /dev/null
+++ b/print/lilypond/files/patch-lily_include_smobs.hh
@@ -0,0 +1,18 @@
+--- lily/include/smobs.hh.orig	2024-07-20 11:21:13 UTC
++++ lily/include/smobs.hh
+@@ -244,6 +244,7 @@ class Smob_base (private)
+ #define LY_DECLARE_SMOB_PROC(PMF, REQ, OPT, VAR)                               \
+   LY_DECLARE_STATIC_SMOB_PROC (smob_trampoline<PMF>, REQ, OPT, VAR)
+ 
++protected:
+   // Template parameter packs could reduce repetition here; however,
+   // they would allow parameter types other than SCM.  It turns out
+   // that GUILE 1.8.8 cannot actually make callable structures with
+@@ -272,6 +273,7 @@ class Smob_base (private)
+     return (Super::unchecked_unsmob (self)->*pmf) (arg1, arg2, arg3);
+   }
+ 
++private:
+   static bool is_smob (SCM s)
+   {
+     return SCM_SMOB_PREDICATE (smob_tag (), s);


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?699377d9.40fec.5260f0d8>