source: trunk/dports/audio/pulseaudio/Portfile

Last change on this file was 153196, checked in by ionic@…, 10 months ago

pulseaudio: update to 9.0. Fixes: #52386.

Changes:

  • Now uses C11, some compilers were blacklisted.
  • Refresh patches, drop upstreamed patches, rework the others.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.9 KB
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2# $Id: Portfile 153196 2016-09-27 03:10:12Z ryandesign@macports.org $
3
4# TODO: Improve atomics by using libkern/OSAtomics.h
5#       https://bugs.freedesktop.org/show_bug.cgi?id=67795
6
7PortSystem          1.0
8PortGroup           active_variants 1.1
9PortGroup           compiler_blacklist_versions 1.0
10
11name                pulseaudio
12version             9.0
13revision            0
14license             LGPL-2.1
15categories          audio
16maintainers         ionic openmaintainer
17platforms           darwin
18description         A sound server for POSIX OSes
19
20long_description    PulseAudio is a sound server for POSIX OSes, meaning that it is a proxy \
21                    for your sound applications. It allows you to do advanced operations \
22                    on your sound data as it passes between your application and your hardware. \
23                    Things like transferring the audio to a different machine, changing the \
24                    sample format or channel count and mixing several sounds into one are \
25                    easily achieved using a sound server.
26
27homepage            https://www.freedesktop.org/wiki/Software/PulseAudio/
28master_sites        https://www.freedesktop.org/software/${name}/releases/
29
30use_xz              yes
31
32checksums           rmd160  bab63483ff39e462a0701fcd612fea9f1ebe1173 \
33                    sha256  c3d3d66b827f18fbe903fe3df647013f09fc1e2191c035be1ee2d82a9e404686
34
35set perl_branch     5.24
36
37depends_build       port:pkgconfig \
38                    port:intltool \
39                    port:autoconf \
40                    port:automake \
41                    port:libtool \
42                    port:p${perl_branch}-xml-parser
43
44depends_lib         port:libiconv \
45                    port:json-c \
46                    port:libsndfile \
47                    port:libtool \
48                    port:gdbm \
49                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
50                    port:gtk3 \
51                    port:dbus \
52                    port:fftw-3-single \
53                    path:lib/libspeex.dylib:speex \
54                    port:orc \
55                    port:soxr
56
57# configure falls back to libatomic_ops as last resort
58# if no linux kernel support and inline asm snippet fails to build
59# likely to fail on Leopard and older
60# https://trac.macports.org/ticket/42052
61
62platform darwin {
63    if {${os.major} < 10} {
64        depends_lib-append  port:libatomic_ops
65    }
66}
67
68# DO NOT USE! Maintainer-only helper. DO NOT USE!
69#configure.cflags-append -g3 -ggdb3 -gdwarf-4 -O0
70#configure.cxxflags-append -g3 -ggdb3 -gdwarf-4 -O0
71
72# Some patches make PulseAudio startup correctly.
73# Will hopefully be merged upstream soon.
74# All work has or will be sent upstream.
75# C.f. https://bugs.freedesktop.org/show_bug.cgi?id=62987
76# and posts on the mailing list.
77patchfiles          patch-man-Makefile.am.diff \
78                    i386.patch \
79                    patch-src_modules_macosx_module_coreaudio_device.c-respect-PA_NAME_MAX.diff \
80                    patch-src_daemon_default.pa.in-skip-consolekit-and-systemdlogin.diff \
81                    patch-src_modules_macosx_module_coreaudio_detect_device.c-add-record-playback-modarg.diff
82
83# reconfigure using upstream autogen.sh for intltool 0.51 compatibility
84post-patch {
85    xinstall -m 755 ${filespath}/autogen.sh ${worksrcpath}
86    reinplace "s|@@MP_PERL@@|${prefix}/bin/perl${perl_branch}|" ${worksrcpath}/man/Makefile.am
87}
88
89# Blacklist compilers that do not support C11.
90compiler.blacklist  {*gcc-3*} {*gcc-4.[0-8]} {clang < 300} cc
91
92configure.cmd       ./autogen.sh
93
94configure.args      --with-mac-version-min=$macosx_deployment_target \
95                    --with-caps \
96                    --with-soxr \
97                    --disable-silent-rules \
98                    --disable-tests \
99                    --disable-x11 \
100                    --disable-oss-output \
101                    --disable-alsa \
102                    --disable-esound \
103                    --disable-solaris \
104                    --disable-waveout \
105                    --disable-avahi \
106                    --disable-gconf \
107                    --disable-jack \
108                    --disable-asyncns \
109                    --disable-tcpwrap \
110                    --disable-lirc \
111                    --disable-bluez4 \
112                    --disable-bluez5 \
113                    --disable-udev \
114                    --disable-hal-compat \
115                    --disable-openssl \
116                    --disable-xen \
117                    --disable-systemd \
118                    --enable-neon-opt=no \
119                    --enable-orc
120
121if {"${configure.sdkroot}" eq ""} {
122    configure.args-append --with-mac-sysroot=/
123} else {
124    configure.args-append --with-mac-sysroot=${configure.sdkroot}
125}
126
127add_users           pulse group=pulse realname=Pulse\ Audio
128
129variant x11 conflicts minimal {
130    configure.args-replace  --disable-x11 \
131                            --enable-x11
132    depends_lib-append      port:xorg-libX11 \
133                            port:xorg-libxcb \
134                            port:xorg-libice \
135                            port:xorg-libsm \
136                            port:xorg-libXtst
137}
138
139variant jack conflicts minimal description {Enable Jack support} {
140    configure.args-replace  --disable-jack \
141                            --enable-jack
142    depends_lib-append      port:jack
143}
144
145variant _internal_valgrind description {DO NOT USE! Enable valgrind support. DO NOT USE!} {
146    depends_lib-append      path:bin/valgrind:valgrind-devel
147    patchfiles-append       patch-src_daemon_caps.c-enable-root.diff
148}
149
150variant esound description {Enable optional esound emulation support.} {
151    configure.args-replace  --disable-esound \
152                            --enable-esound
153}
154
155variant minimal conflicts jack conflicts x11 description {Builds a minimal version. Do not use if unsure. Please build this ONLY in trace mode.} {
156    depends_lib-delete      port:libiconv \
157                            port:gdbm \
158                            path:lib/pkgconfig/glib-2.0.pc:glib2 \
159                            port:gtk3 \
160                            port:dbus \
161                            port:fftw-3-single \
162                            port:orc \
163                            port:soxr
164
165    configure.args-replace  --with-soxr \
166                            --without-soxr
167
168    configure.args-replace  --enable-orc \
169                            --disable-orc
170
171    configure.args-append   --with-database=simple \
172                            --disable-glib2 \
173                            --disable-gtk3 \
174                            --disable-dbus \
175                            --without-fftw \
176                            --disable-nls
177
178    require_active_variants libsndfile no_external_libs
179}
180
181if {![variant_isset minimal]} {
182    default_variants    +x11
183}
184
185livecheck.type      regex
186livecheck.url       ${master_sites}
187livecheck.regex     "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
Note: See TracBrowser for help on using the repository browser.