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 <[email protected]>
> > > > > >
> > > > > > 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 <[email protected]>
> > > > > >
> > > > > > WWW: https://github.com/mruby-zest/mruby-zest-build
> > > > > >
> > > > > > Both Build & Run tested on amd64
> > >
> > >
> > >
>
>
>
zyn-fusion.tar.gz
Description: Binary data
zynaddsubfx.tar.gz
Description: Binary data
