summaryrefslogtreecommitdiff
path: root/libre/oss-libre/PKGBUILD
blob: 2ef42613a806cde1924a560eb10f61449b591bc1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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@parabola.nu>

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: