summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Whatson2018-12-04 16:32:22 +1000
committerAndrew Whatson2018-12-04 23:32:28 +1000
commit81253f7fdd4ce93d5fb80ea6fd6b73e8058d33e0 (patch)
tree0554552ea93aa9df26caa2a207b3932622d38c5f
downloadaur-81253f7fdd4ce93d5fb80ea6fd6b73e8058d33e0.tar.gz
Initial faudio-wrappers-git pkgbuild
-rw-r--r--.SRCINFO28
-rw-r--r--.gitignore4
-rw-r--r--PKGBUILD84
-rw-r--r--setup_faudio_aur.verb126
4 files changed, 242 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..c3448927fdcc
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+pkgbase = faudio-wrappers-git
+ pkgdesc = Accuracy-focused XAudio reimplementation for open platforms
+ pkgver = r949.acc1aaa
+ pkgrel = 1
+ url = https://github.com/FNA-XNA/FAudio
+ arch = i686
+ arch = x86_64
+ license = custom
+ makedepends = git
+ makedepends = mingw-w64-gcc
+ makedepends = mingw-w64-sdl2
+ makedepends = mingw-w64-ffmpeg
+ depends = wine
+ depends = winetricks
+ source = git+https://github.com/FNA-XNA/FAudio
+ source = setup_faudio_aur.verb
+ sha256sums = SKIP
+ sha256sums = 0fd64206dad7f7e255f1097eb50e1b2c770a6832adfa32549797accc44610b65
+
+pkgname = faudio-wrappers-win32-git
+ arch = i686
+ arch = x86_64
+ provides = faudio-wrappers-win32
+
+pkgname = faudio-wrappers-win64-git
+ arch = x86_64
+ provides = faudio-wrappers-win64
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..0d7c0ad3f743
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*.pkg.tar.xz
+/FAudio/
+/pkg/
+/src/
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..73e2cbd7fcf7
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,84 @@
+# Maintainer: Andrew Whatson <whatson@gmail.com>
+
+_pkgbase=faudio-wrappers
+_gitname=FAudio
+pkgbase=${_pkgbase}-git
+pkgname=("${_pkgbase}-win32-git" "${_pkgbase}-win64-git")
+pkgver=r949.acc1aaa
+pkgrel=1
+pkgdesc="Accuracy-focused XAudio reimplementation for open platforms"
+arch=('i686' 'x86_64')
+url='https://github.com/FNA-XNA/FAudio'
+license=('custom')
+depends=('wine' 'winetricks')
+makedepends=('git' 'mingw-w64-gcc' 'mingw-w64-sdl2' 'mingw-w64-ffmpeg')
+source=('git+https://github.com/FNA-XNA/FAudio'
+ 'setup_faudio_aur.verb')
+sha256sums=('SKIP'
+ '0fd64206dad7f7e255f1097eb50e1b2c770a6832adfa32549797accc44610b65')
+
+pkgver() {
+ cd "$srcdir/${_gitname}"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+_build_faudio-wrappers() {
+ cd "$srcdir/${_gitname}"
+
+ _mingw=$1
+
+ export PATH=/usr/${_mingw}/bin:${PATH}
+ export CC=${_mingw}-gcc
+ export CXX=${_mingw}-g++
+ export AR=${_mingw}-ar
+ export DLLTOOL=${_mingw}-dlltool
+ unset LDFLAGS
+
+ export DISABLE_XNASONG=1
+ export FAUDIO_RELEASE=1
+ export FAUDIO_FFMPEG=1
+ export FAUDIO_FFMPEG_PREFIX=/usr/${_mingw}
+
+ make clean
+ make
+ make -C cpp
+}
+
+build() {
+ ( _build_faudio-wrappers i686-w64-mingw32 )
+ ( _build_faudio-wrappers x86_64-w64-mingw32 )
+}
+
+_package_faudio-wrappers() {
+ cd "$srcdir/${_gitname}"
+
+ _arch=$1
+ _mingw=$2
+ _pkgname="${_pkgbase}-win${_arch}"
+
+ install -D -t "${pkgdir}/usr/share/${_pkgname}" "cpp/build_win${_arch}"/*.dll
+ install -D -m644 -t "${pkgdir}/usr/share/${_pkgname}" ../setup_faudio_aur.verb
+ install -D -m644 -t "${pkgdir}/usr/share/licenses/${_pkgname}" LICENSE
+ install -d "${pkgdir}/usr/bin"
+
+ find "${pkgdir}/usr/share/${_pkgname}" -name '*.dll' -exec ${_mingw}-strip --strip-unneeded {} \;
+
+ sed -i "s/SYSTEM32/SYSTEM${_arch}/g" "${pkgdir}/usr/share/${_pkgname}/setup_faudio_aur.verb"
+
+ ( echo "#!/bin/sh"
+ echo "winetricks --force /usr/share/${_pkgname}/setup_faudio_aur.verb"
+ ) > "${pkgdir}/usr/bin/setup_faudio${_arch}"
+ chmod +x "${pkgdir}/usr/bin/setup_faudio${_arch}"
+}
+
+package_faudio-wrappers-win32-git() {
+ arch=('i686' 'x86_64')
+ provides=("${_pkgbase}-win32")
+ _package_faudio-wrappers 32 i686-w64-mingw32
+}
+
+package_faudio-wrappers-win64-git() {
+ arch=('x86_64')
+ provides=("${_pkgbase}-win64")
+ _package_faudio-wrappers 64 x86_64-w64-mingw32
+}
diff --git a/setup_faudio_aur.verb b/setup_faudio_aur.verb
new file mode 100644
index 000000000000..ad506dbcc172
--- /dev/null
+++ b/setup_faudio_aur.verb
@@ -0,0 +1,126 @@
+w_metadata setup_faudio_aur dlls \
+ title='FAudio' \
+ publisher='Ethan Lee' \
+ year='2018' \
+ media='manual_download' \
+ file1='xaudio2_0.dll' \
+ file2='xaudio2_1.dll' \
+ file3='xaudio2_2.dll' \
+ file4='xaudio2_3.dll' \
+ file5='xaudio2_4.dll' \
+ file6='xaudio2_5.dll' \
+ file7='xaudio2_6.dll' \
+ file8='xaudio2_7.dll' \
+ file9='xaudio2_8.dll' \
+ file10='xaudio2_9.dll' \
+ file11='x3daudio1_3.dll' \
+ file12='x3daudio1_4.dll' \
+ file13='x3daudio1_5.dll' \
+ file14='x3daudio1_6.dll' \
+ file15='x3daudio1_7.dll' \
+ file16='xactengine3_0.dll' \
+ file17='xactengine3_1.dll' \
+ file18='xactengine3_2.dll' \
+ file19='xactengine3_3.dll' \
+ file20='xactengine3_4.dll' \
+ file21='xactengine3_5.dll' \
+ file22='xactengine3_6.dll' \
+ file23='xactengine3_7.dll' \
+ file24='xapofx1_1.dll' \
+ file25='xapofx1_2.dll' \
+ file26='xapofx1_3.dll' \
+ file27='xapofx1_4.dll' \
+ file28='xapofx1_5.dll' \
+ file29='FAudio.dll' \
+ file30='SDL2.dll' \
+ file31='libwinpthread-1.dll' \
+ file32='libiconv-2.dll' \
+ file33='avcodec-58.dll' \
+ file34='avutil-56.dll' \
+ file35='swresample-3.dll' \
+ installed_file1="$W_SYSTEM32_DLLS_WIN/xaudio2_0.dll" \
+ installed_file2="$W_SYSTEM32_DLLS_WIN/xaudio2_1.dll" \
+ installed_file3="$W_SYSTEM32_DLLS_WIN/xaudio2_2.dll" \
+ installed_file4="$W_SYSTEM32_DLLS_WIN/xaudio2_3.dll" \
+ installed_file5="$W_SYSTEM32_DLLS_WIN/xaudio2_4.dll" \
+ installed_file6="$W_SYSTEM32_DLLS_WIN/xaudio2_5.dll" \
+ installed_file7="$W_SYSTEM32_DLLS_WIN/xaudio2_6.dll" \
+ installed_file8="$W_SYSTEM32_DLLS_WIN/xaudio2_7.dll" \
+ installed_file9="$W_SYSTEM32_DLLS_WIN/xaudio2_8.dll" \
+ installed_file10="$W_SYSTEM32_DLLS_WIN/xaudio2_9.dll" \
+ installed_file11="$W_SYSTEM32_DLLS_WIN/x3daudio1_3.dll" \
+ installed_file12="$W_SYSTEM32_DLLS_WIN/x3daudio1_4.dll" \
+ installed_file13="$W_SYSTEM32_DLLS_WIN/x3daudio1_5.dll" \
+ installed_file14="$W_SYSTEM32_DLLS_WIN/x3daudio1_6.dll" \
+ installed_file15="$W_SYSTEM32_DLLS_WIN/x3daudio1_7.dll" \
+ installed_file16="$W_SYSTEM32_DLLS_WIN/xactengine3_0.dll" \
+ installed_file17="$W_SYSTEM32_DLLS_WIN/xactengine3_1.dll" \
+ installed_file18="$W_SYSTEM32_DLLS_WIN/xactengine3_2.dll" \
+ installed_file19="$W_SYSTEM32_DLLS_WIN/xactengine3_3.dll" \
+ installed_file20="$W_SYSTEM32_DLLS_WIN/xactengine3_4.dll" \
+ installed_file21="$W_SYSTEM32_DLLS_WIN/xactengine3_5.dll" \
+ installed_file22="$W_SYSTEM32_DLLS_WIN/xactengine3_6.dll" \
+ installed_file23="$W_SYSTEM32_DLLS_WIN/xactengine3_7.dll" \
+ installed_file24="$W_SYSTEM32_DLLS_WIN/xapofx1_1.dll" \
+ installed_file25="$W_SYSTEM32_DLLS_WIN/xapofx1_2.dll" \
+ installed_file26="$W_SYSTEM32_DLLS_WIN/xapofx1_3.dll" \
+ installed_file27="$W_SYSTEM32_DLLS_WIN/xapofx1_4.dll" \
+ installed_file28="$W_SYSTEM32_DLLS_WIN/xapofx1_5.dll" \
+ installed_file29="$W_SYSTEM32_DLLS_WIN/FAudio.dll" \
+ installed_file30="$W_SYSTEM32_DLLS_WIN/SDL2.dll" \
+ installed_file31="$W_SYSTEM32_DLLS_WIN/libwinpthread-1.dll" \
+ installed_file32="$W_SYSTEM32_DLLS_WIN/libiconv-2.dll" \
+ installed_file33="$W_SYSTEM32_DLLS_WIN/avcodec-58.dll" \
+ installed_file34="$W_SYSTEM32_DLLS_WIN/avutil-56.dll" \
+ installed_file35="$W_SYSTEM32_DLLS_WIN/swresample-3.dll" \
+ homepage='https://github.com/FNA-XNA/FAudio'
+
+FAUDIO_ROOT_DIR=$(dirname "$(readlink -f $1)")
+
+load_setup_faudio_aur() {
+ if [ ! -e "$FAUDIO_ROOT_DIR" ]; then
+ (>&2 echo "$FAUDIO_ROOT_DIR directory not found.")
+ exit 1
+ fi
+
+ echo "Setting up FAudio from $FAUDIO_ROOT_DIR"
+
+ for f in "$file1" "$file2" "$file3" "$file4" "$file5" "$file6" \
+ "$file7" "$file8" "$file9" "$file10" "$file11" "$file12" \
+ "$file13" "$file14" "$file15" "$file16" "$file17" "$file18" \
+ "$file19" "$file20" "$file21" "$file22" "$file23" "$file24" \
+ "$file25" "$file26" "$file27" "$file28" "$file29" "$file30" \
+ "$file31" "$file32" "$file33" "$file34" "$file35"; do
+ w_try ln -fs "$FAUDIO_ROOT_DIR/$f" "$W_SYSTEM32_DLLS/$f"
+ done
+
+ w_override_dlls native \
+ xaudio2_0 \
+ xaudio2_1 \
+ xaudio2_2 \
+ xaudio2_3 \
+ xaudio2_4 \
+ xaudio2_5 \
+ xaudio2_6 \
+ xaudio2_7 \
+ xaudio2_8 \
+ xaudio2_9 \
+ x3daudio1_3 \
+ x3daudio1_4 \
+ x3daudio1_5 \
+ x3daudio1_6 \
+ x3daudio1_7 \
+ xactengine3_0 \
+ xactengine3_1 \
+ xactengine3_2 \
+ xactengine3_3 \
+ xactengine3_4 \
+ xactengine3_5 \
+ xactengine3_6 \
+ xactengine3_7 \
+ xapofx1_1 \
+ xapofx1_2 \
+ xapofx1_3 \
+ xapofx1_4 \
+ xapofx1_5
+}