Bug 229192

Summary: audio/pulseaudio: Update to 12.2
Product: Ports & Packages Reporter: lightside <lightside>
Component: Individual Port(s)Assignee: Steve Wills <swills>
Status: Closed FIXED    
Severity: Affects Some People CC: gnome, jbeich, lightside, swills
Priority: --- Keywords: patch
Version: LatestFlags: bugzilla: maintainer-feedback? (gnome)
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 229492    
Attachments:
Description Flags
Proposed patch (since 467282 revision)
none
Proposed patch (since 467282 revision)
none
Proposed patch (since 475857 revision)
none
Proposed patch (since 475857 revision)
none
Proposed patch (since 481920 revision) lightside: maintainer-approval? (gnome)

Description lightside 2018-06-20 23:06:08 UTC
Created attachment 194439 [details]
Proposed patch (since 467282 revision)

Patch to update audio/pulseaudio port from 11.1 to 12.0 version.

Look following links for changes:
https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/12.0/
https://github.com/pulseaudio/pulseaudio/compare/v11.1...v12.0
ABI:
https://abi-laboratory.pro/tracker/timeline/pulseaudio/

- Add GSETTINGS option [1]
- Delete ${STAGEDIR}${PREFIX}/libexec/pulse directory, if it's empty
- Remove files/patch-src_Makefile.in
- Update files/patch-src_modules_module-detect.c
- Regenerate files/patch-src_modules_oss_module-oss.c
- Add files/patch-src_utils_padsp.c
- Adapt pkg-plist

Reference links:
1. build-sys: enable GSettings by default:
https://github.com/pulseaudio/pulseaudio/commit/5d66b442039527ef01ad00a1d85fd8a6a206f954

The build was tested on FreeBSD 10.4 amd64.

CC: jbeich@ as requested on bug 223506 comment #2.
Comment 1 lightside 2018-06-20 23:07:53 UTC
(In reply to comment #0)
> - Add GSETTINGS option [1]
> ...
> 1. build-sys: enable GSettings by default:
> https://github.com/pulseaudio/pulseaudio/commit/5d66b442039527ef01ad00a1d85fd8a6a206f954

From commit log:
-8<--
A new paprefs release is expected soon, and it will only support
GSettings. In order to have the default configuration work with the new
paprefs version, we need to enable GSettings by default.
-->8-

As I understood, there is a audio/paprefs port, which may use GCONF option, but which disabled by default in audio/pulseaudio port for some reason(s).
I guess, the maintainer may decide about GSETTINGS option by default (i.e. OPTIONS_DEFAULT+=GSETTINGS) in case of new audio/paprefs release, if needed. I just proposed a GSETTINGS option.
Comment 2 lightside 2018-06-20 23:09:47 UTC
(In reply to comment #0)
> - Delete ${STAGEDIR}${PREFIX}/libexec/pulse directory, if it's empty
Possible to add following sed patch to post-patch stage:
-8<--
	@${REINPLACE_CMD} -e 's/test -n "$$(pulselibexecdir)"/& -a -n "`echo $$(pulselibexec_PROGRAMS) | sed -e "s|[[:blank:]]||g"`"/' \
		${WRKSRC}/src/Makefile.in
-->8-

or update files/patch-src_Makefile.in:
-8<--
--- src/Makefile.in.bak	2018-06-18 14:13:17 UTC
+++ src/Makefile.in
@@ -6461,7 +6461,7 @@
 	rm -f $$list
 install-pulselibexecPROGRAMS: $(pulselibexec_PROGRAMS)
 	@$(NORMAL_INSTALL)
-	@list='$(pulselibexec_PROGRAMS)'; test -n "$(pulselibexecdir)" || list=; \
+	@list='$(pulselibexec_PROGRAMS)'; test -n "$(pulselibexecdir)" -a -n "`echo $(pulselibexec_PROGRAMS) | sed -e 's|[[:blank:]]||g'`" || list=; \
 	if test -n "$$list"; then \
 	  echo " $(MKDIR_P) '$(DESTDIR)$(pulselibexecdir)'"; \
 	  $(MKDIR_P) "$(DESTDIR)$(pulselibexecdir)" || exit 1; \

-->8-

But I decided to propose some method in post-install stage instead.

Probably, this issue is automake 1.15.1 related (or related to src/Makefile.am by itself), which was used to generate src/Makefile.in file:
http://git.savannah.gnu.org/cgit/automake.git/tree/lib/am/progs.am?h=v1.15.1#n25
http://git.savannah.gnu.org/cgit/automake.git/tree/lib/am/progs.am?h=v1.15.1#n30
where 'test -n "$$list"' check is true for pulselibexec_PROGRAMS value, which may contain a space character, when am__EXEEXT_15 and am__EXEEXT_16 variables are emtpy (in case if GCONF and GSETTINGS options was disabled), e.g. on 343 line of src/Makefile.in file:
<.. 342 ..>
pulselibexec_PROGRAMS = $(am__EXEEXT_15) $(am__EXEEXT_16)
<.. 2121 ..>
@HAVE_GCONF_TRUE@am__EXEEXT_15 = gconf-helper$(EXEEXT)
@HAVE_GSETTINGS_TRUE@am__EXEEXT_16 = gsettings-helper$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(pulselibexec_PROGRAMS)
<.. 2125 ..>
Comment 4 lightside 2018-07-31 19:43:57 UTC
Created attachment 195696 [details]
Proposed patch (since 475857 revision)

Updated patch after ports r475857 changes, i.e. removed PORTREVISION.
Comment 5 lightside 2018-07-31 20:17:54 UTC
Created attachment 195699 [details]
Proposed patch (since 475857 revision)

Using "-maxdepth 0" instead of "-prune" option for find command to delete ${STAGEDIR}${PREFIX}/libexec/pulse directory only, if it's empty.
Comment 6 lightside 2018-10-14 19:09:17 UTC
Created attachment 198147 [details]
Proposed patch (since 481920 revision)

Update patch after ports r481920 changes.

- Pet portlint about "USE_* seen before USES" warning message
Comment 7 commit-hook freebsd_committer freebsd_triage 2018-11-09 15:33:17 UTC
A commit references this bug:

Author: swills
Date: Fri Nov  9 15:32:16 UTC 2018
New revision: 484515
URL: https://svnweb.freebsd.org/changeset/ports/484515

Log:
  audio/pulseaudio: Update to 12.2

  PR:		229192
  Submitted by:	lightside <lightside@gmx.com>

Changes:
  head/audio/pulseaudio/Makefile
  head/audio/pulseaudio/distinfo
  head/audio/pulseaudio/files/patch-src_Makefile.in
  head/audio/pulseaudio/files/patch-src_modules_module-detect.c
  head/audio/pulseaudio/files/patch-src_modules_oss_module-oss.c
  head/audio/pulseaudio/files/patch-src_utils_padsp.c
  head/audio/pulseaudio/pkg-plist
  head/net/xrdp/Makefile
Comment 8 Steve Wills freebsd_committer freebsd_triage 2018-11-09 15:33:37 UTC
Committed, thanks!