From d5ef8d1e4d76423613bfae63be347e3714b51794 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 28 Jun 2013 20:51:04 -0300 Subject: oss-libre: add new package to libre repo --- libre/oss-libre/PKGBUILD | 104 ++++++++++++++++++++++++++++++++++ libre/oss-libre/linux-3.8.patch | 40 +++++++++++++ libre/oss-libre/oss.install | 25 ++++++++ libre/oss-libre/oss.service | 12 ++++ libre/oss-libre/remove-hal.patch | 20 +++++++ libre/oss-libre/rm-init-scripts.patch | 52 +++++++++++++++++ libre/oss-libre/soundon.patch | 28 +++++++++ 7 files changed, 281 insertions(+) create mode 100644 libre/oss-libre/PKGBUILD create mode 100644 libre/oss-libre/linux-3.8.patch create mode 100644 libre/oss-libre/oss.install create mode 100644 libre/oss-libre/oss.service create mode 100644 libre/oss-libre/remove-hal.patch create mode 100644 libre/oss-libre/rm-init-scripts.patch create mode 100644 libre/oss-libre/soundon.patch (limited to 'libre') diff --git a/libre/oss-libre/PKGBUILD b/libre/oss-libre/PKGBUILD new file mode 100644 index 000000000..ab51da0cd --- /dev/null +++ b/libre/oss-libre/PKGBUILD @@ -0,0 +1,104 @@ +# $Id: PKGBUILD 92058 2013-05-31 02:02:47Z seblu $ +# Maintainer: Kyle Keen +# Contributor: Florian Pritz +# Contributor: Paulo Matias +# Contributor: Daniel J Griffiths +# Maintainer (Parabola): André Silva + +pkgname=oss-libre +pkgver=4.2_2007 +pkgrel=4 +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" + "soundon.patch" + "remove-hal.patch" + "linux-3.8.patch" + "oss.service" +) +md5sums=('f995118db1759fee3bcd38483940da6f' + 'b9a380a0ac8896390d71ac13676f27e1' + '65f07fe241bfbf912f76d8b6d8f276b5' + 'cd7f1dc6166bba8c94d96f3a28e948a5' + 'effecefb774f1d08ef9f0af0ad205c34' + '39c46b10a6bc56fc146d669a61bd3028') +_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 + + 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 + + # ossvermagic hardcodes /lib/modules *grumble* + sed -i 's|/lib/modules|/usr&|' \ + os_cmd/Linux/ossvermagic/ossvermagic.c + + pushd "$srcdir/$_dir" + patch -p0 -i "${srcdir}/linux-3.8.patch" + popd + + 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 + + # fix kernel module directories + sed -i 's#/lib/modules/$KERNEL_VERSION/kernel/#/usr/lib/modules/$KERNEL_VERSION/extramodules/kernel/#g' usr/sbin/soundon + sed -i 's#/lib/modules/$UNAME/kernel/#/usr/lib/modules/$UNAME/extramodules/kernel/#g' usr/lib/oss/build/install.sh + sed -i 's#mkdir /lib/modules#mkdir -p /usr/lib/modules#' usr/lib/oss/build/install.sh + sed -i 's#mkdir \(/usr/lib/modules/$UNAME/extramodules/kernel/oss\)#mkdir -p \1#' usr/lib/oss/build/install.sh + sed -i 's#\([= ]\)/lib/modules#\1/usr/lib/modules#g' \ + usr/lib/oss/build/install.sh \ + usr/lib/oss/scripts/restore_drv.sh \ + usr/lib/oss/scripts/setup-alsa.sh \ + usr/lib/oss/scripts/remove_drv.sh \ + usr/lib/oss/build/Makefile.tmpl \ + usr/lib/oss/build/Makefile.osscore \ + usr/lib/oss/cuckoo/Makefile +} + +package() { + pkgdesc="Open Sound System UNIX audio architecture, without nonfree libflashsupport-oss recommendation (built for the linux-libre-headers package)" + depends=('gcc' 'make' 'linux-libre-headers' 'libtool' 'sed') + optdepends=('gtk2: for graphical mixer (ossxmix)') + replaces=('oss') + conflicts=('oss' 'oss-linux' 'oss-linux-free' 'oss-testing') + provides=("oss=${pkgver}") + backup=('usr/lib/oss/soundon.user') + install=oss.install + + cd "${srcdir}/build/prototype" + cp -a * "${pkgdir}" + + cd "$pkgdir" + mv usr/sbin/* usr/bin + rmdir usr/sbin + chmod -R a+r . # All files can have read permission (FS#13815) + find . -type d -exec chmod a+x '{}' \; # Make namcap happy + install -Dm644 "$srcdir/oss.service" usr/lib/systemd/system/oss.service +} + +# vim:set ts=2 sw=2 et: diff --git a/libre/oss-libre/linux-3.8.patch b/libre/oss-libre/linux-3.8.patch new file mode 100644 index 000000000..46200e01a --- /dev/null +++ b/libre/oss-libre/linux-3.8.patch @@ -0,0 +1,40 @@ +--- setup/Linux/oss/build/pci_wrapper.inc 2009-08-27 05:19:07.000000000 +0300 ++++ setup/Linux/oss/build/pci_wrapper.inc 2013-02-08 13:56:10.519794975 +0200 +@@ -17,7 +17,11 @@ + static dev_map_t dev_map[MAX_INSTANCE]; + static int n_devmap = 0; + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) + static int __devinit ++#else ++static int ++#endif + osspci_probe (struct pci_dev *pcidev, const struct pci_device_id *pciid) + { + oss_device_t *osdev; +@@ -65,7 +69,11 @@ + return 0; + } + +-static void __devexit ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) ++static int __devexit ++#else ++static int ++#endif + osspci_remove (struct pci_dev *pcidev) + { + int i; +@@ -80,10 +88,11 @@ + pci_disable_device (dev_map[i].pcidev); + osdev_delete (osdev); + +- return; ++ return 0; + } + + printk (KERN_ALERT DRIVER_NICK ": Can't find the PCI device to detach\n"); ++ return -EIO; + } + + void diff --git a/libre/oss-libre/oss.install b/libre/oss-libre/oss.install new file mode 100644 index 000000000..9bd4e1fbc --- /dev/null +++ b/libre/oss-libre/oss.install @@ -0,0 +1,25 @@ +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 +} + +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/libre/oss-libre/oss.service b/libre/oss-libre/oss.service new file mode 100644 index 000000000..0200d2477 --- /dev/null +++ b/libre/oss-libre/oss.service @@ -0,0 +1,12 @@ +[Unit] +Description=Open Sound System v4 +Before=sound.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/soundon +ExecStop=/usr/bin/soundoff + +[Install] +WantedBy=multi-user.target diff --git a/libre/oss-libre/remove-hal.patch b/libre/oss-libre/remove-hal.patch new file mode 100644 index 000000000..27e2ef2de --- /dev/null +++ b/libre/oss-libre/remove-hal.patch @@ -0,0 +1,20 @@ +Date: Tue Aug 2 16:37:31 CEST 2011 +Author: Florian Pritz +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/libre/oss-libre/rm-init-scripts.patch b/libre/oss-libre/rm-init-scripts.patch new file mode 100644 index 000000000..981ff605f --- /dev/null +++ b/libre/oss-libre/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/libre/oss-libre/soundon.patch b/libre/oss-libre/soundon.patch new file mode 100644 index 000000000..4702b8680 --- /dev/null +++ b/libre/oss-libre/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 -- cgit v1.2.3