On Thu, Mar 11, 2021 at 11:34:47AM +0000, Stuart Henderson wrote:
> On 2021/03/10 14:04, Dimitri Karamazov wrote:
> > On Tue, Mar 09, 2021 at 07:51:48PM +0000, Stuart Henderson wrote:
> > > zynaddsubfx picks up bash-completion if present at build time,
> > > 
> > > $ diff pkg/PLIST.orig pkg/PLIST
> > > --- pkg/PLIST.orig        Wed Feb 10 16:31:49 2021
> > > +++ pkg/PLIST     Tue Mar  9 19:39:30 2021
> > > @@ -47,6 +47,9 @@ share/applications/zynaddsubfx-alsa.desktop
> > >  share/applications/zynaddsubfx-jack-multi.desktop
> > >  share/applications/zynaddsubfx-jack.desktop
> > >  share/applications/zynaddsubfx-oss.desktop
> > > +share/bash_completion/
> > > +share/bash_completion/completions/
> > > +share/bash_completion/completions/zynaddsubfx
> > >  share/doc/zynaddsubfx/
> > >  share/doc/zynaddsubfx/AUTHORS.txt
> > >  share/doc/zynaddsubfx/COPYING
> > > 
> > > can you force that either on or off please? either add a build dep on
> > > shells/bash-completion or set BASHCOMP_PKG_PATH.
> > 
> > The install script uses bash which I've added to BUILD_DEPENDS.
> 
> I don't see it using bash anywhere?
> 
> It only looks for the pkg-config file from shells/bash-completion,
> installing bash won't have it create the completion files, only installing
> bash-completion (or passing the configure arg, but it looks like the
> directory may need to exist too, so it's less messy to just build dep
> on bash-completion).

I've added bash-completion to BUILD_DEPENDS and this patch below to remove
the bash dependency. The script uses mkdir if the directory doesn't exist.

$OpenBSD$

fix bash_completion install

--- cmake/BashCompletion.cmake.orig     Sat Feb 23 21:13:37 2019
+++ cmake/BashCompletion.cmake  Thu Mar 11 18:06:57 2021
@@ -71,9 +71,9 @@ ELSE()
                SET(BASHCOMP_SCRIPT 
"${CMAKE_CURRENT_BINARY_DIR}/install_${SCRIPT_NAME}_completion.sh")
 
                FILE(WRITE ${BASHCOMP_SCRIPT} "\
-#!${BASH}\n\
+#!/bin/sh\n\
 set -e\n\
-BASHCOMP_PKG_PATH=\"${BASHCOMP_USER_PATH}\"\n\
+BASHCOMP_PKG_PATH=\"\$DESTDIR${BASHCOMP_USER_PATH}\"\n\
 if [ -w \"${BASHCOMP_PKG_PATH}\" ]; then\n\
   BASHCOMP_PKG_PATH=\"${BASHCOMP_PKG_PATH}\"\n\
 fi\n\

> > > Nice work on the zyn-fusion Makefile with the distfiles. It hardcodes
> > > gcc somewhere though (and I just noticed it forces -O3 as well),
> > 
> > I couldn't recreate the gcc issue(after removing ports-gcc) so I've set
> > CC and LD in MAKE_FLAGS but why will the command fail if gcc is
> > available in the base? 
> 
> gcc is only available in base on alpha amd64 hppa sh sparc64, and it
> should not be used by anything in base/ports on amd64 (it's only there to
> make it easier for people to test building things with old-gcc but really
> it causes more problems than it solves now).

I've tested after removing both ports-gcc and base-gcc(actually renaming the
binary for base-gcc) and I cannot encounter that issue, you can test it
again now. I can think it was an issue with CC CXX and LD not being set.

> > > Looks like you maybe able to steal some bits from ports/lang/mruby.
> > > (Guessing it needs some specific version and can't just use the mruby
> > > port directly?)
> > 
> > In the present case the mruby interpretor is a internal part of the program
> > and thus requires the source code to be available during the build.
> > Developers of zyn-fusion didn't intend this program to be open-source so
> > everything is static-linked by default the refractoring needed here is 
> > immense.
> 
> ack. In which case try borrowing patches from the mruby port which
> already solved these problems.

I've taken the necessary patches.

> > > The dependencies seem the wrong way round, shouldn't it be zyn-fusion
> > > that depends on zynaddsubfx instead? (For discoverability I'd probably
> > > but zyn-fusion in audio/ instead of x11/).
> > 
> > zyn-fusion unlike other frontends cannot interact with the backend.
> > You can check this yourself, executing zyn-fusion gives you an empty 
> > interface and this is by design. So moving zyn-fusion into audio
> > wouldn't make sense since it is only an x11-interface(like ntk/fltk)
> > and more like a dependency for zynaddsubfx than the other way around.
> > It is by executing the zynaddsubfx binary that a user will actually trigger
> > the usable interface. Ofcourse this goes contrary to how frontends are 
> > actually developed but that is what we are dealing with.
> > So I think the categories should be kept as is.
> 
> In that case I think there needs to be some user-facing information
> about this, maybe a short pkg-readme, or at least in DESCR, otherwise
> user experience for someone that has read about zyn-fusion and wants to
> try it with "pkg_add zyn-fusion" won't be good.

This is part of zyn-fusion port now.

$OpenBSD: README.template,v 1.7 2019/05/09 17:45:05 ajacoutot Exp $

+-------------------------------------------------------------------------------
| Running ${PKGSTEM} on OpenBSD
+-------------------------------------------------------------------------------

Running zyn-fusion
==================

The zyn-fusion package consist only of a x11-interface for the zynaddsubfx
backend. To run the synthesizer install the zynaddsubfx package and execute the
zynaddsubfx binary.

> > I will be introducing MULTI_PACKAGES in zynaddsubfx for the ntk and fltk
> > interfaces later on so distinctions in the frontend available will be more
> > clear while installing.
> > 
> > > 
> > > On 2021/03/07 15:03, Dimitri Karamazov wrote:
> > > > Ping
> > > > 
> > > > On Sat, Feb 27, 2021 at 05:32:23PM +0000, Dimitri Karamazov wrote:
> > > > > Ping
> > > > > 
> > > > > On Wed, Feb 17, 2021 at 05:39:57PM +0000, Dimitri Karamazov wrote:
> > > > > > This here is a terrific synthesizer and can be put to good use
> > > > > > with some DAW with lv2 support. Can be used with lmms if 
> > > > > > carla is ported or just wait until lv2 is supported(ongoing).
> > > > > > https://github.com/LMMS/lmms/issues/562
> > > > > > 
> > > > > > I've a muse(https://vstwarehouse.com/d/muse/) port with me which
> > > > > > can run this as plugin(both vst & lv2) but it brings along with 
> > > > > > it 4-5 dependencies so might release it some other time.
> > > > > > 
> > > > > > Information for inst:zynaddsubfx-3.0.5
> > > > > > 
> > > > > > Comment:
> > > > > > synth capable of making a countless number of instruments
> > > > > > 
> > > > > > Description:
> > > > > > ZynAddSubFX is a opensource software synthesizer capable of making
> > > > > > a countless number of instruments, from some common heard from
> > > > > > expensive hardware to interesting sounds that you'll boost to an
> > > > > > amazing universe of sounds.
> > > > 
> > > > *Polyphonic with support for legato and mono playing modes
> > > > *Three synthesizer engines:
> > > >  -Additive Synthesis for classic synth sounds composed of a variety of 
> > > > voices with powerful modulation.
> > > >   This exposes modulators ranging from LFOs and envelopes to oscillator 
> > > > modulators for FM, PM, and AM.
> > > >  -Subtractive Synthesis for creating variable bandwidth harmonics from 
> > > > filtered white noise
> > > >  -PAD synthesis for creating beautiful pads and other instruments
> > > > *Powerful waveform generator with up to 128 sine/non-sine harmonics
> > > > *A variety of filters including analogue modeled filters, formant 
> > > > filters, and state variable filters.
> > > > *Envelopes can have ADSR (or ASR, etc..) modes or can be free modes 
> > > > (with any shape)
> > > > *Effects for Reverb, Echo, Chorus/Flange, Phasing, Wave-shaping, 
> > > > Equalizing, Dynamic Filtering with
> > > >  flexible signal routing
> > > > *Instruments can be organized in kits, which allows you to make drum 
> > > > kits or layered instruments; this
> > > >  makes possible to use more than one instrument for a single part. It 
> > > > is possible to choose what items
> > > >  from the kit should be processed by the Part's effects.
> > > > *Randomness settings to create subtle differences in each sound to help 
> > > > create that familiar analogue warmth.
> > > > *Microtonal capabilities with any scale, up to 128 notes per octave, 
> > > > and key mapping
> > > > *Extensive MIDI/Audio driver support including JACK, ALSA, OSS, and 
> > > > PortAudio
> > > > *A built-in Virtual Keyboard which can be used even if you don't have a 
> > > > physical midi keyboard
> > > > *The graphical user interface can be completely disabled if the user 
> > > > need so
> > > > *Session Management Support via LASH/NSM
> > > > *Plugin Support via DSSI/LV2/VST
> > > > *Over 1100 high quality instruments included
> > > > 
> > > > > > 
> > > > > > Maintainer: Dimitri Karamazov <deserter...@danwin1210.me>
> > > > > > 
> > > > > > WWW: http://zynaddsubfx.sourceforge.net
> > > > > > 
> > > > > > Port below adds a nice graphical interface to the synthesizer.
> > > > > > Looks like this:https://zynaddsubfx.sourceforge.io/zyn-fusion.html
> > > > > > Although there other interfaces available like fltk and ntk, both
> > > > > > are quite cumbersome to use, and very ugly in comparison.
> > > > > > 
> > > > > > Information for inst:zyn-fusion-3.0.5pre
> > > > > > 
> > > > > > Comment:
> > > > > > single window & tabbed version of the ZynAddSubFX interface
> > > > > > 
> > > > > > Required by:
> > > > > > zynaddsubfx-3.0.5
> > > > > > 
> > > > > > Description:
> > > > > > Zyn was plagued with a difficult to use interface and unstable, 
> > > > > > unofficial
> > > > > > plugin versions. Fusion blows those issues away with a complete 
> > > > > > redesign and
> > > > > > rewrite. Powered by a new custom window toolkit: zest, Zyn is now 
> > > > > > ready for
> > > > > > any platform. With total separation of the UI from the synthesis 
> > > > > > engine.
> > > > > > 
> > > > > > Zyn-Fusion is enabling powerful features such as the new, 
> > > > > > officially-supported
> > > > > > VST plugin version, remote control of a headless CPU with the UI on
> > > > > > touchscreen, even multiple UI windows controlling a single sound 
> > > > > > engine. By
> > > > > > fusing 28 windows of fine grained control into one, Zyn is now 
> > > > > > controlled with
> > > > > > a single window design of tabbed views for a consistent, navigable 
> > > > > > interface.
> > > > > > You think you've heard the sounds before, but you've never had the 
> > > > > > precision
> > > > > > control of Fusion.
> > > > > > 
> > > > > > Maintainer: Dimitri Karamazov <deserter...@danwin1210.me>
> > > > > > 
> > > > > > WWW: https://github.com/mruby-zest/mruby-zest-build
> > > > > > 
> > > > > > Both Build & Run tested on amd64
> > > 
> > > 
> > > 
> 
> 
> 

Attachment: zyn-fusion.tar.gz
Description: Binary data

Attachment: zynaddsubfx.tar.gz
Description: Binary data

Reply via email to