summaryrefslogtreecommitdiff
path: root/libre/oss-libre
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@lavabit.com>2013-06-28 20:51:04 -0300
committerAndré Fabian Silva Delgado <emulatorman@lavabit.com>2013-06-28 20:51:04 -0300
commitd5ef8d1e4d76423613bfae63be347e3714b51794 (patch)
treea685dd0fd28eedde9dea73af4e607d252532a06c /libre/oss-libre
parentfb2086c4aad3719d95eb3e6fb33540ab42b6bcef (diff)
oss-libre: add new package to libre repo
Diffstat (limited to 'libre/oss-libre')
-rw-r--r--libre/oss-libre/PKGBUILD104
-rw-r--r--libre/oss-libre/linux-3.8.patch40
-rw-r--r--libre/oss-libre/oss.install25
-rw-r--r--libre/oss-libre/oss.service12
-rw-r--r--libre/oss-libre/remove-hal.patch20
-rw-r--r--libre/oss-libre/rm-init-scripts.patch52
-rw-r--r--libre/oss-libre/soundon.patch28
7 files changed, 281 insertions, 0 deletions
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 <keenerd@gmail.com>
+# Contributor: Florian Pritz <bluewind@xinu.at>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+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 <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/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