diff options
-rw-r--r-- | audio/foo-yc20/README | 24 | ||||
-rw-r--r-- | audio/foo-yc20/foo-yc20.SlackBuild | 21 |
2 files changed, 31 insertions, 14 deletions
diff --git a/audio/foo-yc20/README b/audio/foo-yc20/README index 83a7436789983..4cea340315837 100644 --- a/audio/foo-yc20/README +++ b/audio/foo-yc20/README @@ -1,20 +1,28 @@ foo-yc20 (Yamaha YC-20 organ emulator for JACK and LV2) -This is an implementation of a 1969 designed Yamaha combo organ, -the YC-20. +This is an implementation of a 1969 designed Yamaha combo organ, the YC-20. Original YC-20 organs have a touch vibrato control, which is vibrato -induced by horizontal movement of the keys. As there very few (almost -none) midi keyboards which produce such information, this feature has +induced by horizontal movement of the keys. As there are very few (almost +no) MIDI keyboards which produce such information, this feature has been left out of the emulation. Instead of the touch vibrato control, the control panel hosts a "realism" switch. -By default, the package is built with -march=native, which tells gcc -to use the host CPU's features such as SSE2. You can disable this by -passing FORCE_SLACK_CFLAGS=yes to the script. - This package uses POSIX filesystem capabilities to execute with elevated privileges (required for realtime audio processing). This may be considered a security/stability risk. Please read http://www.slackbuilds.org/caps/ for more information. To disable capabilities, pass SETCAP=no to the script. + +Since audio synthesis is compute-intensive, compiler optimizations might +actually make a noticeable difference. The environment variable OPTIMIZE +can be set to: + +- OPTIMIZE="default" (or, unset) builds with -O2 -march=native. + +- OPTIMIZE="slack" builds with standard Slackware flags. Use this if you're + going to e.g. build a package on a system with SSE2 that you're going to + install on a system without SSE2). + +- OPTIMIZE="upstream" builds with -O3 -march=native. This requires up to + 6GB of memory (ram + swap) and takes up to 10 times as long to build. diff --git a/audio/foo-yc20/foo-yc20.SlackBuild b/audio/foo-yc20/foo-yc20.SlackBuild index 0dd1400c513f4..b2ad25834158b 100644 --- a/audio/foo-yc20/foo-yc20.SlackBuild +++ b/audio/foo-yc20/foo-yc20.SlackBuild @@ -6,9 +6,12 @@ # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. +# 20170621 bkw: Rework optimization options. Needed because -current's +# gcc7 requires massive amounts of memory to build this. + PRGNAM=foo-yc20 VERSION=${VERSION:-1.3.0} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -55,11 +58,17 @@ find -L . \ sed -i "s,\<lib\>,lib$LIBDIRSUFFIX,g" Makefile -if [ "${FORCE_SLACK_CFLAGS:-no}" = "yes" ]; then - make PREFIX=/usr CFLAGS="$SLKCFLAGS" -else - make PREFIX=/usr -fi +case "${OPTIMIZE:-default}" in + slack) + make PREFIX=/usr CFLAGS="$SLKCFLAGS" ;; + default) + sed -i 's,-O3,-O2,g' Makefile ; make PREFIX=/usr ;; + upstream) + make PREFIX=/usr ;; + *) + echo "Bad OPTIMIZE, must be one of: 'default', 'slack', 'upstream'" 2>&1 + exit 1 +esac make install DESTDIR=$PKG PREFIX=/usr |