summaryrefslogtreecommitdiff
path: root/libre/audacious-plugins-libre/PKGBUILD
blob: 006c39cdfb6c987d187761390713961ede57bb0d (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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# $Id$
# Arch Contributor: Alexander Fehr <pizzapunk gmail com>
# Arch Contributor: William Rea <sillywilly@gmail.com>
# Arch maintainer: Gaetan Bisson <bisson@archlinux.org>
# Parabola maintainer: Brendan Tildesley

pkgname=audacious-plugins-libre
pkgver=3.0.4
pkgrel=1
pkgdesc='Plugins for Audacious without unfree plugins'
url='http://audacious-media-player.org/'
arch=('i686' 'x86_64' 'mips64el')
license=('GPL' 'LGPL' 'custom')

# Licensing issues:
# The plugins 'scrobbler', stereoplugin', 'wavepack' and 'plugin_echo' have no license notice
# but I've been informed by an upstream dev, <nenolod>, that they are all GPL of some type.
# 
# The plugin 'psf' is currently BSD+noncommercial, but is apparently being changed to GPL.
# However, 'psf' is apparently an emulator for running non-free code, so I'll leave it out.
#
# All the other custom licensed plugins I think are mostly modified BSD or ISC.
 
provides=("audacious-plugins=$pkgver")
replaces=("${pkgname%-libre}")
conflicts=("${pkgname%-libre}")

makedepends=("audacious>=${pkgver}"
             'oss' 'alsa-lib' 'pulseaudio' 'jack2' 'lame' 'libvorbis' 'flac'
             'mpg123' 'faad2' 'ffmpeg' 'fluidsynth' 'libcdio' 'libsidplay' 'wavpack'
             'libnotify' 'lirc-utils' 'curl' 'libmtp'
             'neon' 'libmms' 'libcue')

optdepends=('oss: Open Sound System v4 output'
            'alsa-lib: Advanced Linux Sound Arch. output'
            'pulseaudio: PulseAudio output'
            'jack2: Jack Audio Connection Kit output'
            'lame: FileWriter MP3 output'
            'libvorbis: Vorbis input, FileWriter Vorbis output'
            'flac: FLAC input, FileWriter FLAC output'

            'mpg123: MP3 input'
            'faad2: AAC input'
            'ffmpeg: ffaudio input'
            'fluidsynth: MIDI FluidSynth backend input'
            'libcdio: CD Digital Audio input'
            'libsidplay: Commodore 64 audio input'
            'wavpack: WavPack input'

            'libnotify: libnotify OSD'
            'lirc-utils: LIRC'
            'curl: AudioScrobbler Client'
            'libmtp: Upload to MTP device'

            'neon: neon-based http transport'
            'libmms: libmms-based mms transport'
            'libcue: CUE playlist format')

# Temporary source location
source=("http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.gz")
sha1sums=('eaf3fa55987ed60d1c99983453d2b89a30087b7e')

# Retrieve upstream & remove plugins 'psf' & 'usf' due to unfree license. Repackage as -libre
mksource(){
	[ -f ${pkgname%-libre}-$pkgver.tar.gz ] || wget http://distfiles.atheme.org/${pkgname%-libre}-$pkgver.tar.gz
	tar xzf ${pkgname%-libre}-${pkgver}.tar.gz

	rm -rvf ${pkgname%-libre}-$pkgver/src/{p,u}usf/
	sed -i s/enable_psf=yes/enable_psf=no/ ${pkgname%-libre}-$pkgver/configure

	mv -v ${pkgname%-libre}-$pkgver ${pkgname}-$pkgver
	tar czf ${pkgname}-${pkgver}.tar.gz ${pkgname}-${pkgver}/
	rm -rf ${pkgname}-${pkgver}
	echo "${pkgname}-${pkgver}.tar.gz is your new -libre source package."

}

build() {
	cd "${srcdir}/${pkgname}-${pkgver}"

	# hack to enable global hotkeys with gtk3
	sed -e 's/gdk-x11-2.0/gdk-x11-3.0/g' -i configure

	# Get license notices out of custom-licensed packages
	cd src
	tmpdir=$(mktemp -d /tmp/${pkgname}-${pkgver}-XXXX)
	head -n 18 albumart/albumart.c		   | cut -c 4- | tail -n 17 > ${tmpdir}/LICENSE.albumart
	head -n 17 alsa/alsa.c			   | cut -c 4- | tail -n 16 > ${tmpdir}/LICENSE.alsa
	head -n 18 cairo-spectrum/cairo-spectrum.c | cut -c 4- | tail -n 17 > ${tmpdir}/LICENSE.cairo-spectrum
	head -n 17 compressor/compressor.c	   | cut -c 4- | tail -n 16 > ${tmpdir}/LICENSE.compressor
	head -n 17 crossfade/crossfade.c	   | cut -c 4- | tail -n 16 > ${tmpdir}/LICENSE.crossfade
	head -n 18 crystalizer/crystalizer.c	   | cut -c 4- | tail -n 17 > ${tmpdir}/LICENSE.crystalizer
	head -n 17 daemon/daemon.c		   | cut -c 4- | tail -n 16 > ${tmpdir}/LICENSE.daemon
	head -n 22 dockalbumart/dockalbumart.c	   | cut -c 4- | tail -n 21 > ${tmpdir}/LICENSE.dockalbumart
	head -n 18 lyricwiki/lyricwiki.c	   | cut -c 4- | tail -n 17 > ${tmpdir}/LICENSE.lyricwiki
	head -n 17 mixdown/mixdown.c		   | cut -c 4- | tail -n 16 > ${tmpdir}/LICENSE.mixdown
	head -n 19 mpg123/mpg123.c		   | cut -c 4- | tail -n 18 > ${tmpdir}/LICENSE.mpg123
	head -n 17 openal/openal.c		   | cut -c 4- | tail -n 16 > ${tmpdir}/LICENSE.openal
	head -n 17 resample/resample.c		   | cut -c 4- | tail -n 16 > ${tmpdir}/LICENSE.resample
	head -n 18 roaraudio-vio/roaraudio-vio.c   | cut -c 4- | tail -n 17 > ${tmpdir}/LICENSE.roaraudio-vio
	head -n 17 unix-io/unix-io.c		   | cut -c 4- | tail -n 16 > ${tmpdir}/LICENSE.unix-io
	head -n 18 voice_removal/voice_removal.c   | cut -c 4- | tail -n 17 > ${tmpdir}/LICENSE.voice_removal
	head -n 25 xsf/corlett.c		   | cut -c 2- | tail -n 23 > ${tmpdir}/LICENSE.xfs
	l=${pkgdir}/usr/share/licenses/${pkgname}/	
	install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
 	cd ..
	pushd $tmpdir
	install -m644 LICENSE.albumart $l
	install -m644 LICENSE.alsa $l
	install -m644 LICENSE.cairo-spectrum $l
	install -m644 LICENSE.compressor $l
	install -m644 LICENSE.crossfade $l
	install -m644 LICENSE.crystalizer $l
	install -m644 LICENSE.daemon $l
	install -m644 LICENSE.dockalbumart $l
	install -m644 LICENSE.lyricwiki $l
	install -m644 LICENSE.mixdown $l
	install -m644 LICENSE.mpg123 $l
	install -m644 LICENSE.openal $l
	install -m644 LICENSE.resample $l
	install -m644 LICENSE.roaraudio-vio $l
	install -m644 LICENSE.unix-io $l
	install -m644 LICENSE.voice_removal $l
	install -m644 LICENSE.xfs $l
	popd
	[[ ${CARCH} == x86_64 ]] && _extraopts='' || _extraopts='--disable-sse2'
	./configure --prefix=/usr ${_extraopts}
	make
}

package() {
	cd "${srcdir}/${pkgname}-${pkgver}"
	make DESTDIR="${pkgdir}" install
}