#1136716 ITP: guile-fluidsynth -- Guile bindings to the fluidsynth library

Package:
wnpp
Source:
wnpp
Submitter:
Tommi Höynälänmaa
Date:
2026-05-21 05:27:01 UTC
Severity:
normal
#1136716#5
Date:
2026-05-15 05:17:12 UTC
From:
To:
* Package name    : guile-fluidsynth
  Version         : 0.20.0
  Upstream Contact: David Pirotte <david@altosw.be>
* URL             : https://www.gnu.org/software/g-golf/
* License         : LGPL
  Programming Lang: Scheme
  Description     : Guile bindings to the fluidsynth library

With this library, you can play sheet music in Guile.

The upstream author uses the package.

The package is used by the (yet to be published) package GNU Tonic,
whose author is David Pirotte, too.

I'm going to maintain the package by publishing new upstream versions
in Debian. I don't need co-maintainers but I need a sponsor.

#1136716#10
Date:
2026-05-15 05:48:53 UTC
From:
To:
I'm happy to review and sponsor the upload if you would agree to
team-maintain it in the debian-scheme@lists.debian.org team.

The URL below seems wrong?  Btw, the g-golf and guile-cairo packages
would be nice to team maintain as well!

/Simon

Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi> writes:

#1136716#15
Date:
2026-05-15 06:27:44 UTC
From:
To:
Simon Josefsson kirjoitti 15.5.2026 klo 8.48:

Ok, agreed.
The correct URL is
<https://savannah.nongnu.org/projects/guile-fluidsynth/>. I'll think
about g-golf and guile-cairo later.

      - Tommi

#1136716#20
Date:
2026-05-15 07:38:47 UTC
From:
To:
Tommi Höynälänmaa <tommi.hoynalanmaa@gmail.com> writes:

Is your guile-fluidsynth packaging on Salsa?

/Simon

#1136716#25
Date:
2026-05-15 07:46:45 UTC
From:
To:
Simon Josefsson kirjoitti 15.5.2026 klo 10.38:


I'll upload the software to Salsa after I have packaged it. Currently
the source code is on Savannah. See

https://savannah.nongnu.org/projects/guile-fluidsynth/
https://cgit.git.savannah.nongnu.org/cgit/guile-fluidsynth.git

      - Tommi

#1136716#30
Date:
2026-05-15 08:18:04 UTC
From:
To:
Tommi,

My understanding is that your packaging is blocked by the availability
of nyacc 3.04.6 on debian?

Perhaps you can file a bug using reportbug on the nyacc package and add
that as a blocker on this ITP?

When my work for nyacc gets reviewed and sponsored, it will
automatically update this ITP.

This just my thought process, I'd be grateful if Simon could weigh in on
this idea.

#1136716#37
Date:
2026-05-15 10:20:13 UTC
From:
To:
Hello

Shriram Ravindranathan kirjoitti 15.5.2026 klo 11.18:

Yes. Package guile-fluidsynth requires nyacc version >= 3.00.0.

I filed bug #1136726 and added it as a blocker.

      - Tommi

#1136716#42
Date:
2026-05-15 10:27:32 UTC
From:
To:
Thank you.

I've added the changelog entry for closing that bug (#1136726) and
pushed it to salsa. https://salsa.debian.org/s20n/nyacc

Regards,
Shriram Ravindranathan

#1136716#47
Date:
2026-05-15 10:35:28 UTC
From:
To:
Shriram Ravindranathan kirjoitti 15.5.2026 klo 13.27:
Tx.

      - Tommi

#1136716#52
Date:
2026-05-15 16:41:59 UTC
From:
To:
On Fri, 15 May 2026 08:17:12 +0300  =?utf-8?b?VG9tbWkgSMO2eW7DpGzDpG5tYWE=?= <tommi.hoynalanmaa@iki.fi> wrote:
 > Package: wnpp
 > Severity: wishlist
 > Owner: Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>
 > X-Debbugs-Cc: debian-devel@lists.debian.org, david@altosw.be,
tommi.hoynalanmaa@iki.fi
 >
 > * Package name : guile-fluidsynth

 > Version : 0.20.0


The correct version number is 0.2.0.


 > Upstream Contact: David Pirotte <david@altosw.be>
 > * URL : https://www.gnu.org/software/g-golf/
 > * License : LGPL
 > Programming Lang: Scheme
 > Description : Guile bindings to the fluidsynth library
 >
 > With this library, you can play sheet music in Guile.
 >
 > The upstream author uses the package.
 >
 > The package is used by the (yet to be published) package GNU Tonic,
 > whose author is David Pirotte, too.
 >
 > I'm going to maintain the package by publishing new upstream versions

 > in Debian. I don't need co-maintainers but I need a sponsor.

      - Tommi

#1136716#57
Date:
2026-05-16 05:13:40 UTC
From:
To:
Here are corrections to the original ITP:

On Fri, 15 May 2026 08:17:12 +0300  =?utf-8?b?VG9tbWkgSMO2eW7DpGzDpG5tYWE=?= <tommi.hoynalanmaa@iki.fi> wrote:

 > Package: wnpp
 > Severity: wishlist
 > Owner: Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>
 > X-Debbugs-Cc: debian-devel@lists.debian.org, david@altosw.be,
tommi.hoynalanmaa@iki.fi
 >
 > * Package name : guile-fluidsynth

 > Version : 0.20.0

0.2.0

 > Upstream Contact: David Pirotte <david@altosw.be>

 > * URL : https://www.gnu.org/software/g-golf/

https://savannah.nongnu.org/projects/guile-fluidsynth/

 > * License : LGPL

LGPL v2+

 > Programming Lang: Scheme
 > Description : Guile bindings to the fluidsynth library
 >

 > With this library, you can play sheet music in Guile.

With this library, you can make and play sounds.

 >
 > The upstream author uses the package.
 >
 > The package is used by the (yet to be published) package GNU Tonic,
 > whose author is David Pirotte, too.
 >
 > I'm going to maintain the package by publishing new upstream versions
 > in Debian. I don't need co-maintainers but I need a sponsor.

#1136716#62
Date:
2026-05-17 11:52:17 UTC
From:
To:
Hello

I was able to create Salsa project scheme-team/guile-fluidsynth but I
could not upload contents there. I get the following error from git:
--- Connection closed by 209.87.16.82 port 22 fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. ---      - Tommi
#1136716#67
Date:
2026-05-17 14:32:29 UTC
From:
To:
Hello

I have uploaded Guile Fluidsynth to Salsa. I have to wait for nyacc to
be updated in Debian unstable before I can upload Guile Fluidsynth to
Debian unstable. See
<https://salsa.debian.org/scheme-team/guile-fluidsynth>.

      - Tommi

#1136716#72
Date:
2026-05-18 07:32:04 UTC
From:
To:
Tommi Höynälänmaa <tommi.hoynalanmaa@gmail.com> writes:

Quick review:

- Add d/upstream/metadata

- Send d/patches/ upstream, and mark them as Forwarded.

- Fix licenserecon warnings about d/copyright -- there are many
  copyright notices in the sources not present in d/copyright.

- Is it possible to write some non-superficial debian/tests/?  Based on
  the manual maybe?  Upstream really ought to have a test-suite as part
  of 'make check', so maybe ask upstream.

- Use d/watch v5 - upstream signs git tags, so I suggest adding a
  d/upstream/signing-key.asc and using a debian/watch like this:

Version: 5
Source: https://https.git.savannah.gnu.org/git/guile-fluidsynth.git
Matching-Pattern: refs/tags/v@ANY_VERSION@
Mode: git
Pgpmode: gittag

- Update Standards-Version, dropping Priority and Rules-Requires-Root.

- I see no need for a versioned dependency on texinfo in d/control.

- What is the purpose of this in debian/rules?
export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

- Consider adding sign-tags=True and upstream-vcs-tag = v%(version%~%-)s
  to debian/gbp.conf.

/Simon

#1136716#77
Date:
2026-05-18 08:42:02 UTC
From:
To:
Hello

Simon suggests writing a test suite in the upstream package.

ChatGPT suggests uncommenting AC_PROG_CC and LT_INIT in configure.ac.
What do you think?

      - Tommi





Tommi Höynälänmaa <tommi.hoynalanmaa@gmail.com> writes:

Quick review:

- Add d/upstream/metadata

- Send d/patches/ upstream, and mark them as Forwarded.

- Fix licenserecon warnings about d/copyright -- there are many
copyright notices in the sources not present in d/copyright.

- Is it possible to write some non-superficial debian/tests/? Based on
the manual maybe? Upstream really ought to have a test-suite as part
of 'make check', so maybe ask upstream.

- Use d/watch v5 - upstream signs git tags, so I suggest adding a
d/upstream/signing-key.asc and using a debian/watch like this:

Version: 5
Source: https://https.git.savannah.gnu.org/git/guile-fluidsynth.git
Matching-Pattern: refs/tags/v@ANY_VERSION@
Mode: git
Pgpmode: gittag

- Update Standards-Version, dropping Priority and Rules-Requires-Root.

- I see no need for a versioned dependency on texinfo in d/control.

- What is the purpose of this in debian/rules?
export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

- Consider adding sign-tags=True and upstream-vcs-tag = v%(version%~%-)s
to debian/gbp.conf.

/Simon

#1136716#82
Date:
2026-05-18 08:47:37 UTC
From:
To:
Hello

It says in INSTALL that guile-fluidsynth needs makeinfo >= 6.6. Is there
some reason for the version in the dependency?

      - Tommi

#1136716#87
Date:
2026-05-18 11:16:13 UTC
From:
To:
Hello

A patch to am/guile.mk to be forwarded upstream is attached. I have
checked that it works for non-Debian builds, too.

      - Tommi

#1136716#92
Date:
2026-05-18 12:37:37 UTC
From:
To:
Hello

Shall I use my own GPG key as the signing key?

      - Tommi

Simon Josefsson kirjoitti 18.5.2026 klo 10.32:

#1136716#97
Date:
2026-05-18 12:44:05 UTC
From:
To:
Tommi Höynälänmaa <tommi.hoynalanmaa@gmail.com> writes:

Yes -- although nothing checks upstream/x.y.z git signatures today, but
I still find it nice to GPG sign things when possible.  If it is not
convenient for you, then merely disregard this.  But sometimes there is
no real cost involved, beyond setting gbp sign-tags variable, if you
normally have a GPG setup working.

/Simon

#1136716#102
Date:
2026-05-18 12:44:55 UTC
From:
To:
Simon Josefsson kirjoitti 18.5.2026 klo 15.44:

I'll use my own key.

      - Tommi

#1136716#107
Date:
2026-05-18 13:19:36 UTC
From:
To:
Hello

Please check if the attached file debian/upstream/metadata is OK for you.

      - Tommi

#1136716#112
Date:
2026-05-18 13:24:36 UTC
From:
To:
I suppose that these fields are unnecessary as Guile-Fluidsynth does not
use C compiler or libtool.

      - Tommi

#1136716#117
Date:
2026-05-18 13:31:12 UTC
From:
To:
Tommi Höynälänmaa <tommi.hoynalanmaa@gmail.com> writes:

I see no *.c files in guile-fluidsynth, so that sounds right.  Why was
the patch added to debian/patches/ in the first place?

OTOH I think the f-synth/ffi/*.scm files should be re-generated from
source code using 'guile compile-ffi' during build-time.  Preferably the
generated files shouldn't even be in git.  To make sure we can rebuild
everything from source code.

/Simon

#1136716#122
Date:
2026-05-18 13:47:03 UTC
From:
To:
Simon Josefsson kirjoitti 18.5.2026 klo 16.31:


ChatGPT suggested it. I'll remove the configure.ac patch (0002) entirely
as it is not needed.

#1136716#127
Date:
2026-05-18 13:55:18 UTC
From:
To:
Simon Josefsson kirjoitti 18.5.2026 klo 16.31:
....


IMHO all that is needed for this is to remove the f-synth/ffi/*.scm
files from the source package. David, can you do that?

- Tommi

#1136716#132
Date:
2026-05-18 14:01:54 UTC
From:
To:
On Mon, 18 May 2026 16:55:18 +0300  =?UTF-8?B?VG9tbWkgSMO2eW7DpGzDpG5tYWE=?= <tommi.hoynalanmaa@gmail.com>  wrote:
 >
 > IMHO all that is needed for this is to remove the f-synth/ffi/*.scm
 > files from the source package. David, can you do that?

This is not so simple. The makefiles have to be edited, too.

      - Tommi

#1136716#137
Date:
2026-05-18 14:43:29 UTC
From:
To:
Hello

I rewrote debian/copyright and the new file is attached. Is the file OK?
Notes:

- lrc (licensecheck) prints LGPL for files f-synth/* even though the
files contain license LGPL-2.1+ except files f-synth/ffi/*.scm that
don't have license at all.

- ChatGPT complained about the license of the debian/* files (LGPL-3+).
Is it correct?

      - Tommi

#1136716#142
Date:
2026-05-18 18:13:50 UTC
From:
To:
Hello Tommi,

Yes, that is correct.
David

#1136716#147
Date:
2026-05-18 18:15:14 UTC
From:
To:
Right, I'll comment or remove those lines upstream, asap.

David

#1136716#152
Date:
2026-05-18 18:16:39 UTC
From:
To:
Hello,

I'll take care of this upstream as well, asap.

David

#1136716#157
Date:
2026-05-19 00:59:17 UTC
From:
To:
Hello,

Prior to 6.6, duplicate titles were not allowed, which I (have to) use
in G-Golf - see commit eb6dd79 in g-golf git tree.

I don't think I have duplicate titles in Guile-Fluidsynth (yet), but
because I extensively use goops, this could very well happen in the
future, so i'd rather keep it, though we could remove it for now: is
this a 'real' problem?

David

#1136716#162
Date:
2026-05-19 01:16:50 UTC
From:
To:
Hi Tommi,

I use the same guile.mk file in all projects I work on, including
g-golf, for which you di not proposed this patch - which afaict,
doesn't 'fix anything' - what's in there works perfectly fine 'as well'
- is this really worth changing?

David

#1136716#167
Date:
2026-05-19 01:24:16 UTC
From:
To:
Hello,

Those lines are commented, I don't see the need to remove them, as I
keep them if I need a C lib in the future.

This needs a more complicated autotool chain setting, and imo, it's
unnecessary, as all generated upstream will always work fine 'for all'
- is this really a problem?

David

#1136716#172
Date:
2026-05-19 09:02:55 UTC
From:
To:
Hello

David Pirotte kirjoitti 19.5.2026 klo 4.24:

  I wrote patches for the FFI .scm file generation. Is it ok for you to
merge these to the upstream code? The patches involved a minor change to
am/guile.mk, but the change should not break any existing code. The
patches are attached.

      - Tommi

#1136716#177
Date:
2026-05-19 13:53:04 UTC
From:
To:
Hello

The test case and the soundfont file it uses are attached. I’ve also
included the |.wav| file used to generate the |.sf2| file.

      - Tommi

#1136716#182
Date:
2026-05-19 16:16:24 UTC
From:
To:
Attached.

      - Tommi

#1136716#187
Date:
2026-05-19 22:02:28 UTC
From:
To:
Hello,

I did say it was ok, but I double check and would prefer that bugs
being reported to:

	guile-user@gnu.org

Thanks,
David

#1136716#192
Date:
2026-05-19 22:48:01 UTC
From:
To:
Hi Tommi,
reproduces tests that are part of libfluidsynth and nyacc themselves.

Also, I use (unit-test) from guile-lib, as you know, which imnsho is
quite superior to sfrfi-64, as it uses goops and therefore is entirely
customizable.

Last, I somehow (very much) doubt you wrote these tests by yourself:
for info, I wont' accept any AI generated code in any of my projects.

Just be a little patient here, I'll write a test suite, a simple test
suite - because there is no need for a complicated one - that covers
what needs to be covered in Guile-Fluisynth, but not 'more'.

All that needs to be tested is the higher level api that
guile-fluidsynth provides - in short, what the example in the manual
proposes - if that works, everything thing works fine, in particular
(but none exhaustive list):

	1- can it import the init module
		- then it found libfluisynth
		- it found the default  soundfont file
	2- can it make a synthesizer
		- then all settings related lower level functions are
		  running fine, as well as the guilie-fluisynth goops
		  higher level api
	3- can it play a note
		dito, the guilie-fluisynth goops higher level api to
		play a soiund work fine

I'll ping you as soon as I will have written the test suite.

Thanks,
David

#1136716#197
Date:
2026-05-20 04:45:07 UTC
From:
To:
Hello

David Pirotte kirjoitti 20.5.2026 klo 1.48:

Ok.

What is wrong with using AI? I did use ChatGPT to generate a draft for
the test case.

What about the change I wrote to the .ffi file compilation?

- Tommi

#1136716#202
Date:
2026-05-20 04:46:14 UTC
From:
To:
I'll fix this.

      - Tommi

David Pirotte kirjoitti 20.5.2026 klo 1.02:

#1136716#207
Date:
2026-05-20 19:56:40 UTC
From:
To:
Hello,

I don't want to discuss this subject, sorry.
Please never ever send me AI generated code and/or patch, tx.

Also, so you save some of your precious time, I suggest you ask me if I
need/want some code/patch before 'doing anything' - most of the time, I
do/will prefer to do it myself.

I suspect this patch was also AI generated. But nonetheless, I'll write
a patch myself, thanks.

David

#1136716#212
Date:
2026-05-21 04:48:43 UTC
From:
To:
David Pirotte kirjoitti 20.5.2026 klo 22.56:

Ok.


Ok. I didn't use AI with it, though.


     - Tommi

#1136716#217
Date:
2026-05-21 05:24:50 UTC
From:
To:
Hello

I pushed guile-fluidsynth version 0.2.0-2 to Salsa. See
<https://salsa.debian.org/scheme-team/guile-fluidsynth>.

Here is the changelog entry:
--- guile-fluidsynth (0.2.0-2) unstable; urgency=medium   * Removed 0002-Modify-configure-for-Debian.patch.   * Marked 0001-Fix-install-dirs.patch as forwarded.   * Added debian/upstream/metadata.   * Updated debian/watch.   * Added debian/upstream/signing-key.asc.   * Changed Standards-Version to 4.7.4 in debian/control.   * Removed Priority and Rules-Requires-Root from debian/control.   * Removed DEB_HOST_MULTIARCH setting from debian/rules and updated file     debian/guile-fluidsynth.install.   * Added fields sign-tags and upstream-vcs-tag into debian/gbp.conf.   * Fixed debian/copyright.  -- Tommi Höynälänmaa <tommi.hoynalanmaa@iki.fi>  Thu, 21 May 2026 08:04:16 +0300
---      - Tommi