diff options
Diffstat (limited to 'community-testing/oss')
-rw-r--r-- | community-testing/oss/PKGBUILD | 98 | ||||
-rw-r--r-- | community-testing/oss/oss.install | 30 | ||||
-rw-r--r-- | community-testing/oss/oss.service | 12 | ||||
-rw-r--r-- | community-testing/oss/rc-script | 30 | ||||
-rw-r--r-- | community-testing/oss/remove-hal.patch | 20 | ||||
-rw-r--r-- | community-testing/oss/rm-init-scripts.patch | 52 | ||||
-rw-r--r-- | community-testing/oss/soundon.patch | 28 |
7 files changed, 270 insertions, 0 deletions
diff --git a/community-testing/oss/PKGBUILD b/community-testing/oss/PKGBUILD new file mode 100644 index 000000000..82dec44a5 --- /dev/null +++ b/community-testing/oss/PKGBUILD @@ -0,0 +1,98 @@ +# $Id: PKGBUILD 72557 2012-06-16 17:10:20Z dreisner $ +# Maintainer: Florian Pritz <bluewind@xinu.at> +# Contributor: Paulo Matias <matiasΘarchlinux-br·org> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> + +pkgbase=oss +pkgname=(oss libflashsupport-oss) +pkgver=4.2_2006 +pkgrel=2 +arch=('i686' 'x86_64') +url="http://developer.opensound.com/" +license=('GPL2') +makedepends=('gtk2') +source=("http://www.4front-tech.com/developer/sources/stable/gpl/oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl.tar.bz2" + "rm-init-scripts.patch" + "rc-script" + "soundon.patch" + "remove-hal.patch" + "oss.service" + ) +md5sums=('ca25c06bb7d0c6495e1b6f55d1bad96c' + 'b9a380a0ac8896390d71ac13676f27e1' + 'cbcbce5c03b127df5eafa8faa091492c' + '65f07fe241bfbf912f76d8b6d8f276b5' + 'cd7f1dc6166bba8c94d96f3a28e948a5' + '8db0255b380dc6672993e627d1cd8ca6') +_dir=oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl + +build() { + cd "${srcdir}/${_dir}" + + # Avoid these flags conflicting with OSS build system. + unset CFLAGS + unset LDFLAGS + unset OSFLAGS + unset LIBRARIES + export NO_WARNING_CHECKS=yes + + # Compile libflashsupport.so only in packaging time, so we avoid + # conflicts with other packages and ease package management. + msg "Building libflashsupport.so." + cd oss/lib + gcc -shared -fPIC -O2 -Wall -Werror flashsupport.c -o libflashsupport.so + + msg "Preparing the build environment." + cd "${srcdir}" + + # Create build directory and configure + rm -rf build + mkdir build && cd build + "${srcdir}/${_dir}/configure" --enable-libsalsa=NO --regparm + + msg "Building OSS." + make build + + msg "Patching init scripts." + cd "${srcdir}/build/prototype" + rm usr/lib/oss/etc/S89oss + patch -p0 -i "${srcdir}/rm-init-scripts.patch" + patch -p0 -i "${srcdir}/soundon.patch" + # remove hal dependency + patch -p0 -i "${srcdir}/remove-hal.patch" + rm -rf usr/lib/oss/scripts/oss_usb-create-devices usr/lib/oss/scripts/90-oss_usb-create-device.fdi + + sed -i 's#/lib/modules/$KERNEL_VERSION/kernel/#/lib/modules/$KERNEL_VERSION/extramodules/kernel/#g' usr/sbin/soundon + sed -i 's#/lib/modules/$UNAME/kernel/#/lib/modules/$UNAME/extramodules/kernel/#g' usr/lib/oss/build/install.sh + sed -i 's#mkdir /lib/modules#mkdir -p /lib/modules#' usr/lib/oss/build/install.sh +} + +package_oss() { + pkgdesc="Open Sound System UNIX audio architecture" + depends=('gcc' 'make' 'linux-headers' 'libtool' 'sed') + optdepends=('gtk2: for graphical mixer (ossxmix)' + 'libflashsupport-oss: Adobe flash plugin support') + conflicts=('oss-linux' 'oss-linux-free' 'oss-testing') + backup=('usr/lib/oss/soundon.user') + install=oss.install + + cd "${srcdir}/build/prototype" + cp -a * "${pkgdir}" + + chmod -R a+r "${pkgdir}" # All files can have read permission (FS#13815) + find "${pkgdir}" -type d -exec chmod a+x '{}' \; # Make namcap happy + install -Dm755 "${srcdir}/rc-script" "${pkgdir}/etc/rc.d/oss" + install -Dm644 "$srcdir/oss.service" "$pkgdir/usr/lib/systemd/system" +} + +package_libflashsupport-oss() { + pkgdesc="Adobe flash plugin support lib (OSSv4)" + conflicts=('libflashsupport' 'libflashsupport-pulse' 'libflashsupport-oss') + depends=('oss') + + cd "${srcdir}/${_dir}" + + install -dm755 "$pkgdir/usr/lib" + ln -s oss/lib/libflashsupport.so "$pkgdir/usr/lib/libflashsupport.so" +} + diff --git a/community-testing/oss/oss.install b/community-testing/oss/oss.install new file mode 100644 index 000000000..672d63644 --- /dev/null +++ b/community-testing/oss/oss.install @@ -0,0 +1,30 @@ +post_install() { + echo "Running OSS install script..." + sh /usr/lib/oss/build/install.sh &>/dev/null + echo + echo " Note that OSS can't currently work together with kernel" + echo " ALSA modules, so they were moved out by the OSS install" + echo " scripts. If you want the ALSA kernel modules back, you can" + echo " just remove this package using pacman." +} + +post_upgrade() { + echo "Running OSS update script..." + sh /usr/lib/oss/build/install.sh &>/dev/null + + if [[ $(vercmp $2 4.2_2006) == "-1" ]]; then + echo "libflashsupport.so has been split into a seperate package." + echo "If you want flash to use oss, please install libflashsupport-oss" + fi +} + +pre_remove() { + # Restore any replaced ALSA drivers. + sh /usr/lib/oss/scripts/restore_drv.sh +} + +post_remove() { + echo " Open Sound System was now removed, and the ALSA kernel" + echo " modules were restored." +} + diff --git a/community-testing/oss/oss.service b/community-testing/oss/oss.service new file mode 100644 index 000000000..107c9bf3f --- /dev/null +++ b/community-testing/oss/oss.service @@ -0,0 +1,12 @@ +[Unit] +Description=Open Sound System v4 +Before=sound.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/sbin/soundon +ExecStop=/usr/sbin/soundoff + +[Install] +WantedBy=multi-user.target diff --git a/community-testing/oss/rc-script b/community-testing/oss/rc-script new file mode 100644 index 000000000..5c930107c --- /dev/null +++ b/community-testing/oss/rc-script @@ -0,0 +1,30 @@ +#!/bin/bash +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy 'Starting Open Sound System' + if /usr/sbin/soundon; then + add_daemon oss + stat_done + else + stat_fail + fi + ;; + stop) + stat_busy 'Stopping Open Sound System' + if /usr/sbin/soundoff; then + rm_daemon oss + stat_done + else + stat_fail + fi + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage: $0 {start|stop|restart}" +esac diff --git a/community-testing/oss/remove-hal.patch b/community-testing/oss/remove-hal.patch new file mode 100644 index 000000000..27e2ef2de --- /dev/null +++ b/community-testing/oss/remove-hal.patch @@ -0,0 +1,20 @@ +Date: Tue Aug 2 16:37:31 CEST 2011 +Author: Florian Pritz <bluewind@xinu.at> +This removes all hal dependencies + +References: +http://www.archlinux.org/todo/92/ + +--- usr/lib/oss/build/install_2011-08-02_162647.sh 2011-08-02 16:26:47.000000000 +0200 ++++ usr/lib/oss/build/install.sh 2011-08-02 16:27:13.000000000 +0200 +@@ -336,10 +336,4 @@ + echo "autosave_mixer yes" > $OSSLIBDIR/etc/userdefs + fi + +-# Hal 0.5.0+ hotplug +-mkdir -p /usr/lib/hal/scripts +-ln -sf $OSSLIBDIR/scripts/oss_usb-create-devices /usr/lib/hal/scripts/ +-mkdir -p /usr/share/hal/fdi/policy/20thirdparty/ +-ln -sf $OSSLIBDIR/scripts/90-oss_usb-create-device.fdi /usr/share/hal/fdi/policy/20thirdparty/ +- + exit 0 diff --git a/community-testing/oss/rm-init-scripts.patch b/community-testing/oss/rm-init-scripts.patch new file mode 100644 index 000000000..981ff605f --- /dev/null +++ b/community-testing/oss/rm-init-scripts.patch @@ -0,0 +1,52 @@ +--- usr/lib/oss/build/install.sh.orig 2008-09-25 11:41:47.180167692 -0300 ++++ usr/lib/oss/build/install.sh 2008-09-25 11:41:47.180167692 -0300 +@@ -290,38 +290,6 @@ + echo + fi + +-if ! test -d /etc/init.d +-then +- mkdir /etc/init.d +-fi +- +-rm -f /etc/init.d/oss /etc/rc.d/rc3.d/S89oss /etc/rc3.d/S89oss +-cp -f $OSSLIBDIR/etc/S89oss /etc/init.d/oss +- +-chmod 744 /etc/init.d/oss +- +-if test -x /sbin/chkconfig +-then +- /sbin/chkconfig oss on > /dev/null 2>&1 +-else +- if test -x /usr/sbin/update-rc.d +- then +- /usr/sbin/update-rc.d oss defaults > /dev/null 2>&1 +- else +- if test -d etc/rc.d/rc3.d +- then +- rm -f /etc/rc.d/rc3.d/S89oss +- ln -s /etc/init.d/oss /etc/rc.d/rc3.d/S89oss +- else +- if test -d /etc/rc3.d +- then +- rm -f /etc/rc3.d/S89oss +- ln -s /etc/init.d/oss /etc/rc3.d/S89oss +- fi +- fi +- fi +-fi +- + # Install ALSA interface module (Cuckoo) + #(cd $OSSLIBDIR/cuckoo && make clean) > /dev/null 2>&1 + #if (cd $OSSLIBDIR/cuckoo && make install) > /var/log/cuckoo.log 2>&1 +--- usr/lib/oss/scripts/restore_drv.sh.orig 2008-09-25 11:41:47.210168487 -0300 ++++ usr/lib/oss/scripts/restore_drv.sh 2008-09-25 11:41:47.210168487 -0300 +@@ -18,8 +18,6 @@ + fi + fi + +-rm -f /etc/init.d/oss +- + if ! test -d /lib/modules/`uname -r`/kernel/sound + then + if test -f /lib/modules/`uname -r`/sound-preoss.tar.bz2 diff --git a/community-testing/oss/soundon.patch b/community-testing/oss/soundon.patch new file mode 100644 index 000000000..4702b8680 --- /dev/null +++ b/community-testing/oss/soundon.patch @@ -0,0 +1,28 @@ +--- usr/sbin/soundon.old 2009-09-04 06:35:26.000000000 +0100 ++++ usr/sbin/soundon 2009-11-15 13:59:53.000000000 +0000 +@@ -255,7 +255,10 @@ + then + if test "`uname -m` " = "x86_64 " + then +- ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib64/libasound.so.2 ++ # Fix for compatibility with Arch's directory structure ++ # Not that we use it, there is no $OSSLIBDIR/.libsalsa_installed ++ ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib/libasound.so.2 ++ #ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib64/libasound.so.2 + #ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64 + else + if test -s /lib/libasound.so.2 +@@ -278,8 +281,11 @@ + then + if test "`uname -m` " = "x86_64 " + then +- ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64 +- ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib64 ++ # Fix for compatibility with Arch's directory structure ++ ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib ++ ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib ++ #ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64 ++ #ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib64 + else + if test -s /lib/libasound.so.2 + then |