GNU bug report logs - #57984
[PATCH] gnu: Update zynaddsubfx to 3.0.6

Previous Next

Package: guix-patches;

Reported by: Sughosha <Sughosha <at> proton.me>

Date: Wed, 21 Sep 2022 17:22:01 UTC

Severity: normal

Tags: patch

Merged with 63254

Full log


View this message in rfc822 format

From: Maxime Devos <maximedevos <at> telenet.be>
To: 57984 <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, Sughosha <Sughosha <at> proton.me>
Subject: [bug#57984] [PATCH] gnu: Update zynaddsubfx to 3.0.6
Date: Wed, 26 Oct 2022 14:04:18 +0200
[Message part 1 (text/plain, inline)]
> Regarding recursive clone, I packages the runtime dependencies
> seperately but I left the mruby gems, since they seem to be needed
> just as source (without needing to be compiled) as they are to be
> configured by mruby for mruby-zest. [...]

Bundling things that aren't compiled is still bundling.  Also, now both 
mruby-zest and zynaddsubfx bundle rtosc, which is worse than a package 
bundling a dependent that isn't used anywhere else.

I've looked at the latest patches and did some changes (see attached 
patches), though the bundling still remains.


In nanovg, I changed the 'revision' to 0 -- its just a monotonically 
increasing number for each package update, it's not a 'how many commits 
have there been', see (guix)Version Numbers.

I also changed "ar" to #$(ar-for-target) -- using the 'wrong' ar 
sometimes works, but not always, e.g. IIRC it failed when 
cross-compiling from some 64-bit arch to a 32-bit ach?

Upstream appears to use 'premake4' as a build system, so I adjusted the 
package definition accordingly.

I set the 'file-name' field for to be more informative.

---

I corrected the revision in font-entypo as with nanovg.

I expanded the description a little, and added a TODO
on building the font from source (it seems to have been
neglected for font packages because of node dependencies).

The license combination seemed a bit odd to me so I added
some more text there.

---

mruby-zest:

I changed 'TODO: package mruby gems separately' to 'TODO: unbundle mruby 
gems' as that seems easier to search for.  Some things were actually 
packaged, so I removed those from 'deps' in a snippet.  It turned out 
that the Makefile tried to build mruby, so I patched that out.

As mruby isn't included anymore, you could give removing some of the
bundled mruby gems a try, especially given that they aren't actually
installed.

I removed '#:tests? #false' because a test suite exists -- the makefile 
has a 'test' and 'rtest' target.  I choose the 'rtest' target (because 
'test' is for testing mruby, not mruby-zest).  It turned out the test 
suite requires 'ruby-ruby-prof' so I added that as a native-input.

You have done #$some-input in the 'install' phase -- package 
transformation don't know to adjust those, so I replaced it with a 
search-input-file equivalent.

Putting the fonts in the output of mruby-zest doesn't lookk quite right 
to me, so I instead moved things to a post-unpack phase and used 
'substitute*' instead of 'symlink'.

I noticed that pcre was bundled (deps/mruby-regexp-pcre/pcre'), so I 
removed that.

By looking at
<https://github.com/archlinux/svntogit-community/tree/packages/zynaddsubfx/trunk>,
I noticed it looks for libzest.so in /opt/zyn-fusion/libzest.so, which 
is incorrect in Guix (and other distros too).

I removed the wrapping because:

  * no reason was listed for wrapping
  * presumably the incorrect reference was the thing that
    LD_LIBRARY_PATH was a work-around for, but that reference has now
    been corrected.
  * LD_LIBRARY_PATH is leaky and hence to be avoided
    (if zest spawns a subprocess, then that subprocess would get
    LD_LIBRARY_PATH too)

As a bonus, this allowed removing 'bash-minimal' from the inputs.

From 
<https://github.com/archlinux/svntogit-community/blob/packages/zynaddsubfx/trunk/zynaddsubfx-mruby-zest-build-3.0.6-system_wide_location.patch>,
I noticed that apparently some references to schema/test.json and 
MainWindow.qml were incorrect.  These are now patched.

I simplified the unbundling substitutions a little.
For example, it turned out that build_config.rb did not need any 
substitutions somehow.

The makefile uses pkg-config instead of TARGET-pkg-config, which is 
incorrect when cross-compiling, so I patched that.

On the fonts: I noticed that the fonts don't become part of the closure
(with "guix gc --references").  As such, maybe the source files that
use the fonts are actually unused.  I propose to give installing the
examples that use the fonts a try, or alternatively explicitly choose
to not install the (font-using) examples.

---

I changed the version of zynaddsubfx from (package-version mruby-zest)
to "3.0.6", otherwise the package would break after a mruby-zest update.

I re-added the comment of 'remove-sse-flags-from-generic-target' that 
was removed.

I changed #$mruby-zest to a search-input-file equivalent, for the same
reason as with previous patches.

You forgot to mention the home page, so I adjusted the commit message.

You are fixing a file name, not a path, so I adjusted the new phase name.

By removing the 'ntk' input, zynaddsubfx now has one less interface,
so I re-added it, with a comment.

It appeared that doxygen documentation wasn't actually build
(there is no .html in the output, and the configuraiton script
complained about some missing component), so I removed the new doxygen
(native-)input.

bash completions weren't installed in the new version even though they
were in the previous version, so I made some changes to support that.

I adjusted the substitution of libzest.so to substitute all cases,
in case somehow the first dlopen fails.

I compared the diff between old and new source code, there doesn't
appear to be anything 'suspicious' though its just a cursory look
and it would be easy to hide things:

guix shell diffoscope -- diffoscope 
/gnu/store/9j09zj472211nrrs5jmyxdsq2lpfd36q-zynaddsubfx-3.0.5.tar.bz2 
/gnu/store/xyjiq3nmk372ap4vq7sl7n7f9rc5xshs-zynaddsubfx-3.0.6.tar.bz2
[0001-gnu-Add-nanovg.patch (text/x-patch, attachment)]
[0002-gnu-Add-font-entypo.patch (text/x-patch, attachment)]
[0003-gnu-Add-mruby-zest.patch (text/x-patch, attachment)]
[0004-gnu-zynaddsubfx-Update-to-3.0.6.patch (text/x-patch, attachment)]
[OpenPGP_0x49E3EE22191725EE.asc (application/pgp-keys, attachment)]
[OpenPGP_signature (application/pgp-signature, attachment)]

This bug report was last modified 1 year and 227 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.