summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Campbell <zlg@gentoo.org>2015-08-24 02:40:43 -0700
committerDaniel Campbell <zlg@gentoo.org>2015-08-24 02:40:43 -0700
commita7d86faf81d3ea5b46abf91cd030ab9992928b78 (patch)
tree3ee346841e02b4db7bd1572dce124ca6267bcd5f /media-sound/apulse/files
parentmedia-sound/vmpk: bump to 0.6.1. (diff)
downloadgentoo-a7d86faf81d3ea5b46abf91cd030ab9992928b78.tar.gz
gentoo-a7d86faf81d3ea5b46abf91cd030ab9992928b78.tar.bz2
gentoo-a7d86faf81d3ea5b46abf91cd030ab9992928b78.zip
media-sound/apulse: Revbump to 0.1.6-r1
Introduces script to automagically assign libdir based on the executable being passed through to apulse. Will need expansion if/when arches besides x86 and amd64 need apulse. Bug: 547524 Package-Manager: portage-2.2.20.1
Diffstat (limited to 'media-sound/apulse/files')
-rwxr-xr-xmedia-sound/apulse/files/apulse40
1 files changed, 40 insertions, 0 deletions
diff --git a/media-sound/apulse/files/apulse b/media-sound/apulse/files/apulse
new file mode 100755
index 000000000000..f4195651bc92
--- /dev/null
+++ b/media-sound/apulse/files/apulse
@@ -0,0 +1,40 @@
+#!/bin/sh
+# Author: Daniel Campbell <zlg@gentoo.org>
+# License: Creative Commons Public Domain Dedication (CC0 1.0)
+# <https://creativecommons.org/publicdomain/zero/1.0/>
+
+# apulse needs at least one argument
+if [ $# -lt 1 ]; then
+ echo "Usage: apulse <app-path> [options]"
+ exit
+fi
+
+# Get the full path of our application
+app_path=$(which ${1} 2>/dev/null)
+
+# The app might not be picked up by `which`, so let's use realpath as a backup
+[ -z ${app_path} ] && app_path=$(realpath ${1})
+
+# Then make sure it's executable
+[ ! -x ${app_path} ] && echo "${app_path} is not executable!" && exit 8
+
+# Fetch the app's ABI
+app_abi=$(file -L ${app_path} | sed 's/\([^,]*\), \([^,]*\), \(.*\)/\2/')
+
+# Determine libdir based on app_abi
+# Applications that don't have a header will default to native libdir
+case $app_abi in
+ Intel\ 80386)
+ APULSE_ABI="32"
+ ;;
+ x86-64)
+ APULSE_ABI="64"
+ ;;
+ *)
+ APULSE_ABI=$(readlink /usr/lib)
+ APULSE_ABI=${APULSE_ABI#lib}
+ ;;
+esac
+
+# Set library path for the application so it'll use apulse
+LD_LIBRARY_PATH=/usr/lib${APULSE_ABI}/apulse${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} exec "$@"