Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 700326 - media-sound/zyn-fusion: new ebuild [wip]
Summary: media-sound/zyn-fusion: new ebuild [wip]
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Professional Audio Applications Maintainers
URL: https://gitweb.gentoo.org/dev/fordfro...
Whiteboard:
Keywords: EBUILD, InOverlay
Depends on:
Blocks:
 
Reported: 2019-11-17 08:52 UTC by Miroslav Šulc
Modified: 2021-06-19 08:27 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Draft ebuild for zyn-fusion (zyn-fusion-9999.ebuild,986 bytes, text/plain)
2020-06-17 16:18 UTC, Samuel Bauer
Details
zynaddsubfx-3.0.5.ebuild with zest flag (zynaddsubfx-3.0.5.ebuild,2.13 KB, text/plain)
2020-06-17 16:28 UTC, Samuel Bauer
Details
zyn-fusion live ebuild (wip) (zyn-fusion-9999.ebuild,1.12 KB, text/plain)
2020-06-18 09:04 UTC, Samuel Bauer
Details
zyn-fusion live ebuild (zyn-fusion-9999.ebuild,1.97 KB, text/plain)
2021-03-10 22:00 UTC, Samuel Bauer
Details
patch to allow standard /usr install (zyn-fusion-qml-path.patch,325 bytes, patch)
2021-03-10 22:05 UTC, Samuel Bauer
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Miroslav Šulc gentoo-dev 2019-11-17 08:52:12 UTC
zyn-fusion is a new reworked user interface for media-sound/zynaddsubfx.

upstream provides a repo with scripts to build zyn-fusion so these could be inspected what is needed to be done to compile and merge it successfully: https://github.com/zynaddsubfx/zyn-fusion-build

from what i was able to get from the build script, it uses two repos to build zyn-fusion:
https://github.com/zynaddsubfx/zynaddsubfx (original zynaddsubfx)
https://github.com/mruby-zest/mruby-zest-build (zyn-fusion interface)

if i got it right, zyn-fusion uses zynadsubfx as a library, so zyn-fusion works on top of it.
Comment 1 Samuel Bauer 2020-06-17 16:18:06 UTC
Created attachment 645108 [details]
Draft ebuild for zyn-fusion

This ebuild is provided as a workaround for anyone searching there.


In it's draft states it can not be included in the portage tree:
    no dependency checking
    not very flexible build (FLAGS, install path ...)
    libuv may be unbundled
    maybe some git submodules could be skipped

any help appreciated, here or on the bugtracker.

It also requires slight changes to zynaddsubfx ebuild.
Comment 2 Samuel Bauer 2020-06-17 16:28:16 UTC
Created attachment 645110 [details]
zynaddsubfx-3.0.5.ebuild with zest flag

This version of zynaddsubfx allows to select UI: zest or fltk

It is not runtime switchable, after install
   fltk ui will keep working even zyn-fusion installed, but depclean will throw zyn-fusion as an orphaned leaf.

Flag: zest why not but not explicit, fusion maybe better.
fltk flag not relevant unless adding ntk support to the ebuild.
Comment 3 Miroslav Šulc gentoo-dev 2020-06-17 18:06:22 UTC
great! i just tested that and it works :-) i've added the ebuild to my overlay and adjusted zynaddsubfx-9999 to support it. i also did some minor improvements. those that want to just emerge it can use my overlay at https://gitweb.gentoo.org/dev/fordfrog.git/

please keep us updated with the improvements. once the ebuild is ready for the main tree, i will be glad to put it there :-)
Comment 4 Samuel Bauer 2020-06-18 09:04:30 UTC
Created attachment 645148 [details]
zyn-fusion live ebuild (wip)

use system dev-libs/libuv
dependencies should be fixed now

git submodules seems ok.

still need being able to compile following environment flags.
need to install to standard path.
Comment 5 Miroslav Šulc gentoo-dev 2020-06-18 09:27:01 UTC
thanks! i updated the ebuild in my overlay with your changes.
Comment 6 Hector Martin 2020-08-11 13:54:16 UTC
Thanks for the base ebuild! I just opened a pull request against audio-overlay with a modified ebuild that builds the 3.0.5 version, with properly fetched sources (so it doesn't try to clone git stuff during src_unpack and src_compile). I also fixed it to install to proper LSB paths.

https://github.com/gentoo-audio/audio-overlay/pull/362

The intent is for this to be mergeable into portage, so any comments are welcome (feel free to go comment straight on that PR if the github UI is useful).
Comment 7 Hector Martin 2020-08-11 13:57:23 UTC
Oh, btw: current zynaddsubfx git master seems to at least in some way break patches created with 3.0.5 (at least the volume changes), so I need to shout at upstream to make sure they don't release it like that... this was my motivation for getting this ebuild done for the current stable 3.0.5 version.
Comment 8 Miroslav Šulc gentoo-dev 2020-08-11 14:09:35 UTC
(In reply to Hector Martin from comment #6)
> Thanks for the base ebuild! I just opened a pull request against
> audio-overlay with a modified ebuild that builds the 3.0.5 version, with
> properly fetched sources (so it doesn't try to clone git stuff during
> src_unpack and src_compile). I also fixed it to install to proper LSB paths.
> 
> https://github.com/gentoo-audio/audio-overlay/pull/362
> 
> The intent is for this to be mergeable into portage, so any comments are
> welcome (feel free to go comment straight on that PR if the github UI is
> useful).

thank you! i think more people would benefit from it if we really make it part of the main tree. for that pull request at https://github.com/gentoo/gentoo would be more appropriate than at gentoo-audio/audio-overlay.
Comment 9 Hector Martin 2020-08-11 18:30:20 UTC
Of course, I just figured I'd run it by audio-overlay first. As I mentioned, the intent is for this to be upstreamable :)
Comment 10 Samuel Bauer 2020-08-11 20:37:36 UTC
(In reply to Hector Martin from comment #7)
> Oh, btw: current zynaddsubfx git master seems to at least in some way break
> patches created with 3.0.5 (at least the volume changes), so I need to shout
> at upstream to make sure they don't release it like that... this was my
> motivation for getting this ebuild done for the current stable 3.0.5 version.

It also seems to break the live ebuild (force push ???), and may highlights a bug (???) in git-r3 eclass:
fatal: update_ref failed for ref 'refs/git-r3/media-sound/zyn-fusion/0/deps_osc-bridge/__main__': cannot update ref 'refs/git-r3/media-sound/zyn-fusion/0/deps_osc-bridge/__main__': trying to write ref 'refs/git-r3/media-sound/zyn-fusion/0/deps_osc-bridge/__main__' with nonexistent object 9d204a7f81b2f943fd13b6cef291171aa3a207b4

got to compile this live ebuild using EGIT_OVERRIDE_COMMIT_MRUBY_ZEST_OSC_BRIDGE set to the last commit id.
So versioned ebuild seems a better approach for now.

Thanks for patches, I'll also convert them to sed one liners to integrate them in the live ebuild.

P.S.: your karaoke system seems nice, I'll give it a try
Comment 11 Samuel Bauer 2021-03-10 22:00:39 UTC
Created attachment 690600 [details]
zyn-fusion live ebuild

Thanks to hector martin the ebuild can
    use custom c/cxxflags
    install files under classic path

I think the ebuild itself can be pushed to the gentoo tree now

Still have some questions about hector martin way to fix waf for pugl submodule. (not included in this version)
I also like his idea about having a versioned ebuild using all commits hashes, but I would rather use EGIT_OVERRIDE_COMMIT_... variables for each submodules instead of the rm mv manipulations.
Comment 12 Samuel Bauer 2021-03-10 22:05:17 UTC
Created attachment 690606 [details, diff]
patch to allow standard /usr install

Patch by hector martin
Comment 13 Nikita Zlobin 2021-06-19 06:13:43 UTC
zynaddsubfx here is not library. They are both executable, communicating via OSC. Zyn-Fusion could be started manually, attaching to existing zynaddsubfx process. For me zynaddsubfx automatically starts zyn-fusion, though contribution doc for mruby-zest-build describes how to run them separately in controllable way.
Comment 14 Nikita Zlobin 2021-06-19 08:07:07 UTC
Probably, 'zyn-fusion' or just 'fusion' flag would be more matching. Zest as dependency is used by frontend, communicating zynaddsubfx via osc, but not zynaddsubfx. If such use naming style is really wanted, could be like osc-ui.
Comment 15 Nikita Zlobin 2021-06-19 08:27:25 UTC
Err, It seems, bugzilla is unable to show attachement content in View or Detail page. All I could get is Diff page for attached patch. Getting 'Raw Unified' or just click on any attachement leads to non-existant page.