diff options
Diffstat (limited to 'audio')
-rw-r--r-- | audio/wineasio/README | 20 | ||||
-rw-r--r-- | audio/wineasio/wineasio.SlackBuild | 81 | ||||
-rw-r--r-- | audio/wineasio/wineasio.info | 10 |
3 files changed, 56 insertions, 55 deletions
diff --git a/audio/wineasio/README b/audio/wineasio/README index 9419074d6f65d..606e7781226a3 100644 --- a/audio/wineasio/README +++ b/audio/wineasio/README @@ -1,16 +1,14 @@ +wineasio (an ASIO to JACK driver for WINE) + WineASIO provides an ASIO to JACK driver for WINE. ASIO is the most common Windows low-latency driver, so is commonly used in audio workstation programs. -To build the package, you will need the file "asio.h" from the -Steinberg ASIO SDK, version 2.1 or greater. This file must be -downloaded from http://www.steinberg.net/en/company/developer.html and -copied to the directory containing the SlackBuild. - -After installing the package, each user who will use wineasio must run -the command "regsvr32 wineasio.dll". This must be done as the user(s), -not as root. This only needs to be done once per user. +After installing the package, each user who will use wineasio must +run the command "regsvr32 wineasio.dll". This must be done as the +user(s), not as root. This only needs to be done once per user. See +the wineasio README.md for more information. -This can't be built on a stock Slackware64 system, since it requires -32-bit Wine. It may (or may not) be possible to build on a 64-bit -multilib system; let me know how it goes. +Note: If multilib is installed, this *should* build a package with +support for both 32-bit and 64-bit wine, but it hasn't been tested by +the SlackBuild maintainer. diff --git a/audio/wineasio/wineasio.SlackBuild b/audio/wineasio/wineasio.SlackBuild index 833b59c8e146d..21cb9876e97f4 100644 --- a/audio/wineasio/wineasio.SlackBuild +++ b/audio/wineasio/wineasio.SlackBuild @@ -8,8 +8,13 @@ cd $(dirname $0) ; CWD=$(pwd) +# 20220101 bkw: +# - update to v1.0.0, switch to falkTX's fork (which is actually maintained). +# - 64-bit support. +# - asio.h no longer needed, update README. + PRGNAM=wineasio -VERSION=${VERSION:-0.9.2} +VERSION=${VERSION:-1.0.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -22,9 +27,6 @@ if [ -z "$ARCH" ]; then esac fi -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 @@ -34,56 +36,57 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - # WARNING: presence of this block of code does not imply the - # existence of x86_64 support. Caveat scriptor. - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi +SLKCFLAGS32="-O2 -march=i586 -mtune=i686" +SLKCFLAGS64="-O2 -fPIC" set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $PRGNAM +rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM +cd $PRGNAM-$VERSION chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - -if [ -e "$CWD/asio.h" ]; then - cp "$CWD/asio.h" . -else - echo "To build this package, get asio.h from the Steinberg ASIO SDK" 1>&2 - exit 1 +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ + +# 20220102 bkw: support multilib, if possible. we will try both +# 32 and 64 bit builds, and it's only a fatal error if both fail. +# This is UNTESTED but should work. I think. + +trymake() { + local BITS="$1" + local WINELIB="$2" + local FLAGS="$3" + + if make $BITS CFLAGS="$FLAGS" CXXFLAGS="$FLAGS"; then + mkdir -p $WINELIB + install -m0755 -s build$BITS/wineasio.dll.so $WINELIB + fi +} + +trymake 32 $PKG/usr/lib/wine "$SLKCFLAGS32" + +if [ "$ARCH" = "x86_64" ]; then + make clean + trymake 64 $PKG/usr/lib64/wine "$SLKCFLAGS64" fi -make CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" -mkdir -p $PKG/usr/lib/wine -cp wineasio.dll.so $PKG/usr/lib/wine +count="$( find $PKG/usr -name '*.dll.so' | wc -l )" +case "$count" in + 1) MULTILIB="" ;; + 2) MULTILIB=" This package supports both 32-bit and 64-bit WINE." ;; + *) echo "*** Failed to build either 32-bit or 64-bit $PRGNAM." + exit 1 ;; +esac mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - COPYING.LIB README \ - $PKG/usr/doc/$PRGNAM-$VERSION +cp -a COPYING.* *.md $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc +sed "15s,\$,$MULTILIB," $CWD/slack-desc > $PKG/install/slack-desc cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/audio/wineasio/wineasio.info b/audio/wineasio/wineasio.info index 414ba48c3d70c..acca7c72a8d8e 100644 --- a/audio/wineasio/wineasio.info +++ b/audio/wineasio/wineasio.info @@ -1,9 +1,9 @@ PRGNAM="wineasio" -VERSION="0.9.2" -HOMEPAGE="https://sourceforge.net/projects/wineasio/" -DOWNLOAD="https://sourceforge.net/projects/wineasio/files/wineasio-0.9.2.tar.gz" -MD5SUM="aef9c22557f37c4bee393aab0232c63b" -DOWNLOAD_x86_64="UNSUPPORTED" +VERSION="1.0.0" +HOMEPAGE="https://github.com/wineasio/wineasio" +DOWNLOAD="https://github.com/wineasio/wineasio/releases/download/v1.0.0/wineasio-1.0.0.tar.gz" +MD5SUM="cd8b09c36d00ba819d4f52a0ed9285a0" +DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="jack wine" MAINTAINER="B. Watson" |