Bug 231427

Summary: multimedia/audacious: Update to 3.10
Product: Ports & Packages Reporter: Nathan <ndowens04>
Component: Individual Port(s)Assignee: Guido Falsi <madpilot>
Status: Closed FIXED    
Severity: Affects Only Me CC: madpilot, tobik
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://audacious-media-player.org/news/43-audacious-3-10-released
Attachments:
Description Flags
Update
ndowens04: maintainer-approval+
Patch upgrading all audacious ports
none
Upgrade; Options Fix
none
patch including FILEWRITER fix
none
patch none

Description Nathan 2018-09-17 12:15:13 UTC
Created attachment 197169 [details]
Update

multimedia/audacious: Update to 3.10
 
Changelog: https://audacious-media-player.org/news/43-audacious-3-10-released

portlint -AC: Looks fine

poudriere(amd64/i386/armv6) 12-Current Built fine
poudriere(amd64/i386) 11.2 Built fine
Comment 1 Guido Falsi freebsd_committer freebsd_triage 2018-09-17 15:59:53 UTC
I'm looking into this since I do use audacious, but this patch cannot be accepted as is since it breaks the audacious-gtk3 subport.

The gtk3 port should also be upgraded anyway.

Also the ports leaves behind upgrading the related plugin ports, both default and gtk3 version.

I have tested the easy path but sharing patches between the default and gtk3 version is not going to work anymore since some files have diverged.

At this point I'd be in favor of completely decoupling the two versions, without sharing files anymore.
Comment 2 Nathan 2018-09-17 16:39:38 UTC
(In reply to Guido Falsi from comment #1)
Working on upgrading the plugins. For now the current version seems it may work so not a big deal if this was already committed. I am currently testing the upgraded plugins atm
Comment 3 Nathan 2018-09-17 16:40:43 UTC
I don’t see why not just do away with one of the versions gtk version personally and have option of gtk version
Comment 4 Guido Falsi freebsd_committer freebsd_triage 2018-09-17 18:09:55 UTC
Id rather do things well. version 3.9 works well so there is no hurry upgrading to 3.10. It can wait a few days while we upgrade the plugins too.

The gtk versions use a distinct distfile, it isn't a simple configure trigger, so we need a distinct port.

At present the gtk3 files are made in such a way to share some files with the normal version. But I actually see that as an hack. I'm looking at completely decoupling them.

I'm actually also looking at the plugins. Anyway if you have newer patches send them in.
Comment 5 Guido Falsi freebsd_committer freebsd_triage 2018-09-17 18:11:45 UTC
(In reply to Guido Falsi from comment #4)
> Id rather do things well. version 3.9 works well so there is no hurry
> upgrading to 3.10. It can wait a few days while we upgrade the plugins too.
> 

BTW upgrading audiacious to 3.10 as is would anyway break the gtk3 version, so fixing the gtk3 version is not optional.
Comment 6 Nathan 2018-09-17 18:15:14 UTC
(In reply to Guido Falsi from comment #4)
By decompiling what do you mean by? Haven’t done that I don’t think so no experience at it
Comment 7 Nathan 2018-09-17 18:16:08 UTC
(In reply to Nathan from comment #6)
I mean decoupling
Comment 8 Guido Falsi freebsd_committer freebsd_triage 2018-09-17 19:18:33 UTC
(In reply to Nathan from comment #6)
> (In reply to Guido Falsi from comment #4)
> By decompiling what do you mean by? Haven’t done that I don’t think so no
> experience at it

The audacios-gtk3 port is created as an "almost slave" port of audacious, so it uses it's patches and plist.

This worked with previous versions since the gtk3 and default version are very similar.

It looks like in this new version the two editions have diverged i a few ways, so sharing files like that is not going to work fine anymore.

By decoupling I mean breaking (at least in part) this strong relation.

I've done most of that work. I'm going to post a tentative patch shortly.

I still have to test the patch with non default options, and also try to actually run the resulting binary, but at least I'll have something to show in the while :)
Comment 9 Guido Falsi freebsd_committer freebsd_triage 2018-09-17 19:28:43 UTC
Created attachment 197177 [details]
Patch upgrading all audacious ports

Here is the patch I'm working on.

I've only tested it in poudriere with default options. It still needs further testing, with non default options and to test the resulting binary on an actual system.

I put it here to get feedback about the general approach.

I have not completely made the gtk3 ports independent from the main ones, but differences in the distributions required separate patches and plist files.
Comment 10 Nathan 2018-09-17 21:59:11 UTC
(In reply to Guido Falsi from comment #9)
I'm working on the gtk3 plugins atm
Comment 11 Nathan 2018-09-17 23:32:39 UTC
Created attachment 197178 [details]
Upgrade; Options Fix

Updates all audacious; Fixes OPTIONS ordering; MP3plugin is required to build and one output must be selected to build(fixed). Tested with ALL/NO options and built fine
Comment 12 Guido Falsi freebsd_committer freebsd_triage 2018-09-18 07:50:43 UTC
(In reply to Nathan from comment #11)
> Created attachment 197178 [details]
> Upgrade; Options Fix
> 
> Updates all audacious; Fixes OPTIONS ordering; MP3plugin is required to
> build and one output must be selected to build(fixed). Tested with ALL/NO
> options and built fine

Why have you removed the PKGNAMESUFFIX? In this way the ports produce identical packages, I think this is problematic for the build cluster. We need that to differentiate them.

I'm almost sure I'll have to put that back.

Also I'm not sure about this line:

%%FLAC%%lib/audacious/Output/filewriter.so

Are you sure the filewriter plugin is related only to the FLAC option?

Apart from these things I'm testing your patches. This port is becoming complicated and with a lot of options so I'll need a little time.
Comment 13 Guido Falsi freebsd_committer freebsd_triage 2018-09-18 08:43:29 UTC
(In reply to Guido Falsi from comment #12)
> (In reply to Nathan from comment #11)
> > Created attachment 197178 [details]
> > Upgrade; Options Fix
> > 
> > Updates all audacious; Fixes OPTIONS ordering; MP3plugin is required to
> > build and one output must be selected to build(fixed). Tested with ALL/NO
> > options and built fine

I now see you caught a mistake I made, I forgot to update the github tag in the gtk3 ports. Using the correct value we can keep sharing patches and plists between gtk2 and gtk3 ports, avoiding duplication, so I'm reverting the "decoupling" part. Sorry for misleading you here!

> 
> Why have you removed the PKGNAMESUFFIX? In this way the ports produce
> identical packages, I think this is problematic for the build cluster. We
> need that to differentiate them.
> 
> I'm almost sure I'll have to put that back.
> 
> Also I'm not sure about this line:
> 
> %%FLAC%%lib/audacious/Output/filewriter.so
> 
> Are you sure the filewriter plugin is related only to the FLAC option?

Looking at the configure script the filewriter plugin is a little messy. it depends on flac or vorbis, can be enabled when any of these is. This will require some work to explain to port makefiles.

I'm looking into this, I need to figure out a good strategy.
Comment 14 Nathan 2018-09-18 11:33:28 UTC
(In reply to Guido Falsi from comment #12)
It was a test, was having issues getting the sources and forgot to add them back it

On the FLAC one, I was thinking it might be FLAC or LAME that had filewritter, but I did try disable flac and and enable lame and didn't get a plist issue.

Yeah I noticed the plists ended up being the same between them
Comment 15 Guido Falsi freebsd_committer freebsd_triage 2018-09-18 11:46:39 UTC
Created attachment 197190 [details]
patch including FILEWRITER fix

I've built this last patch, which includes a new dedicated option for the filewriter plugin.

This patch adds back the "coupling" between the gtk3 and gtk2 ports since this actually reduces file duplication and seems to work fine.

I'm using the gtk3 version, and it works fine here. Please test the gtk2 version with this patch, and report back so I can commit it.
Comment 16 Tobias Kortkamp freebsd_committer freebsd_triage 2018-09-18 12:25:50 UTC
Comment on attachment 197190 [details]
patch including FILEWRITER fix

+OPTIONS_MULTI_OUTPUT=	OSS PULSEAUDIO

ALSA, JACK, SDL, SNDIO should be in the OUTPUT group too.
Comment 17 Guido Falsi freebsd_committer freebsd_triage 2018-09-18 12:42:03 UTC
(In reply to Tobias Kortkamp from comment #16)
> Comment on attachment 197190 [details]
> patch including FILEWRITER fix
> 
> +OPTIONS_MULTI_OUTPUT=	OSS PULSEAUDIO
> 
> ALSA, JACK, SDL, SNDIO should be in the OUTPUT group too.

I had a doubt about this, so thanks for pointing this out.
Comment 18 Guido Falsi freebsd_committer freebsd_triage 2018-09-18 13:11:05 UTC
Created attachment 197197 [details]
patch

Patch updated to include all output plugins in OUTPUT group.
Comment 19 Nathan 2018-09-18 14:15:57 UTC
(In reply to Guido Falsi from comment #18)
Tested multimedia/audacious-plugins/ and built fine with all on/off
Comment 20 Nathan 2018-09-18 14:23:15 UTC
(In reply to Nathan from comment #19)
Also seems to run fine as well
Comment 21 commit-hook freebsd_committer freebsd_triage 2018-09-18 14:51:18 UTC
A commit references this bug:

Author: madpilot
Date: Tue Sep 18 14:50:29 UTC 2018
New revision: 480027
URL: https://svnweb.freebsd.org/changeset/ports/480027

Log:
  - Update audaciouss ports to 3.10
  - Add explicit FILEWRITER option to control the filewriter plugin
    (enabled by default)
  - Group output plugins
  - Remove some unnecessary patches
  - Modernise and cleanup

  PR:		231427
  Submitted by:	Nathan <ndowens@yahoo.com>

Changes:
  head/multimedia/audacious/Makefile
  head/multimedia/audacious/distinfo
  head/multimedia/audacious/files/extra-patch-Makefile
  head/multimedia/audacious/files/patch-buildsys.mk.in
  head/multimedia/audacious/pkg-plist
  head/multimedia/audacious-gtk3/Makefile
  head/multimedia/audacious-gtk3/distinfo
  head/multimedia/audacious-plugins/Makefile
  head/multimedia/audacious-plugins/distinfo
  head/multimedia/audacious-plugins/files/
  head/multimedia/audacious-plugins/pkg-plist
  head/multimedia/audacious-plugins-gtk3/Makefile
  head/multimedia/audacious-plugins-gtk3/distinfo
Comment 22 Guido Falsi freebsd_committer freebsd_triage 2018-09-18 14:51:32 UTC
Ports updated. Thanks!