Bug 182283 - audio/akode*: Fix build with Clang and newer versions of GCC
Summary: audio/akode*: Fix build with Clang and newer versions of GCC
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Tijl Coosemans
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-21 17:10 UTC by Scot Hetzel
Modified: 2013-10-17 18:35 UTC (History)
0 users

See Also:


Attachments
akode.diff (47.01 KB, patch)
2013-09-21 17:10 UTC, Scot Hetzel
no flags Details | Diff
akode.diff2 (43.33 KB, application/octet-stream)
2013-09-21 19:30 UTC, Scot Hetzel
no flags Details
akode-jack.diff (2.32 KB, patch)
2013-09-21 19:39 UTC, Scot Hetzel
no flags Details | Diff
akode.diff3 (50.21 KB, application/octet-stream)
2013-09-26 07:53 UTC, Scot Hetzel
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Scot Hetzel 2013-09-21 17:10:00 UTC
- Fix build with clang by avoiding shadowing in template definitions (Obtained from NetBSD's pkgsrc)
- Add missing includes for <cstring>, <cstdlib> to allow akode to build with newer versions of GCC.
- Fix OPTIONS_DEFAULT as it had the XIPH option misspelled

Fix: The below patch corrects these issues for all the akode ports:

akode
akode-plugins-ffmpeg
akode-plugins-jack
akode-plugins-mpc
akode-plugins-mpeg
akode-plugins-oss
akode-plugins-pulseaudio
akode-plugins-resampler
akode-plugins-xiph

Note: To apply the patch:
cd /usr/ports/audio
patch -p0 < akode.diff

It will add several new patch files to the ports

M       akode/Makefile
A       akode/files/patch-akode-akodeplay-akodeplay.cpp
A       akode/files/patch-akode-lib-auto_sink.cpp
A       akode/files/patch-akode-lib-converter.cpp
A       akode/files/patch-akode-lib-crossfader.cpp
A       akode/files/patch-akode-lib-fast_resampler.cpp
A       akode/files/patch-akode-lib-magic.cpp
A       akode/files/patch-akode-lib-player.cpp
A       akode/files/patch-akode-lib-volumefilter.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-converter.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-magic.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-player.cpp
A       akode-plugins-ffmpeg/files/patch-akode-lib-volumefilter.cpp
A       akode-plugins-jack/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-jack/files/patch-akode-lib-converter.cpp
A       akode-plugins-jack/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-jack/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-jack/files/patch-akode-lib-magic.cpp
A       akode-plugins-jack/files/patch-akode-lib-player.cpp
A       akode-plugins-jack/files/patch-akode-lib-volumefilter.cpp
M       akode-plugins-mpc/Makefile
A       akode-plugins-mpc/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-mpc/files/patch-akode-lib-converter.cpp
A       akode-plugins-mpc/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-mpc/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-mpc/files/patch-akode-lib-magic.cpp
A       akode-plugins-mpc/files/patch-akode-lib-player.cpp
A       akode-plugins-mpc/files/patch-akode-lib-volumefilter.cpp
M       akode-plugins-mpeg/Makefile
A       akode-plugins-mpeg/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-mpeg/files/patch-akode-lib-converter.cpp
A       akode-plugins-mpeg/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-mpeg/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-mpeg/files/patch-akode-lib-magic.cpp
A       akode-plugins-mpeg/files/patch-akode-lib-player.cpp
A       akode-plugins-mpeg/files/patch-akode-lib-volumefilter.cpp
M       akode-plugins-oss/Makefile
A       akode-plugins-oss/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-oss/files/patch-akode-lib-converter.cpp
A       akode-plugins-oss/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-oss/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-oss/files/patch-akode-lib-magic.cpp
A       akode-plugins-oss/files/patch-akode-lib-player.cpp
A       akode-plugins-oss/files/patch-akode-lib-volumefilter.cpp
M       akode-plugins-resampler/Makefile
A       akode-plugins-resampler/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-resampler/files/patch-akode-lib-converter.cpp
A       akode-plugins-resampler/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-resampler/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-resampler/files/patch-akode-lib-magic.cpp
A       akode-plugins-resampler/files/patch-akode-lib-player.cpp
A       akode-plugins-resampler/files/patch-akode-lib-volumefilter.cpp
M       akode-plugins-xiph/Makefile
A       akode-plugins-xiph/files/patch-akode-lib-auto_sink.cpp
A       akode-plugins-xiph/files/patch-akode-lib-converter.cpp
A       akode-plugins-xiph/files/patch-akode-lib-crossfader.cpp
A       akode-plugins-xiph/files/patch-akode-lib-fast_resampler.cpp
A       akode-plugins-xiph/files/patch-akode-lib-magic.cpp
A       akode-plugins-xiph/files/patch-akode-lib-player.cpp
A       akode-plugins-xiph/files/patch-akode-lib-volumefilter.cpp
How-To-Repeat: On a recent current with only the clang compiler installed

cd /usr/ports/audio/akode
make build

Port will fail to build due to missing declarations

Switch to clang compiler by removing USE_GCC=any from the Makefile.  It will fail to build with:

fast_resampler.cpp:40:52: error: declaration of 'S' shadows template parameter
template<typename T, typename S, template<typename S> class Arithm>
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-09-21 17:10:11 UTC
Responsible Changed
From-To: freebsd-ports-bugs->miwi

miwi@ wants this submitter's PRs (via the GNATS Auto Assign Tool)
Comment 2 Scot Hetzel 2013-09-21 19:30:01 UTC
Here's a better patch.  It moves all the plugin patches to the audio/akode port.

All the plugin ports now use PATCHDIR=${MASTERSITE}/../akode/files

akode-plugins-pulseaudio is also fixed, as the previous patch had
missed adding the patch-akode-lib* files.

M akode/Makefile
A akode/files/patch-akode-akodeplay-akodeplay.cpp
A akode/files/patch-akode-lib-auto_sink.cpp
A akode/files/patch-akode-lib-converter.cpp
A akode/files/patch-akode-lib-crossfader.cpp
A akode/files/patch-akode-lib-fast_resampler.cpp
A akode/files/patch-akode-lib-magic.cpp
A akode/files/patch-akode-lib-player.cpp
A akode/files/patch-akode-lib-volumefilter.cpp
A akode/files/patch-akode__plugins__Makefile.in
A akode/files/patch-akode__plugins__ffmpeg_decoder__ffmpeg_decoder.cpp
A akode/files/patch-akode__plugins__polyp_sink__polyp_sink.cpp
A akode/files/patch-akode__plugins__xiph_decoder__flac113_decoder.cpp
A akode/files/patch-akode__plugins__xiph_decoder__speex_decoder.cpp
A akode/files/patch-configure
M akode-plugins-ffmpeg/Makefile
D akode-plugins-ffmpeg/files
D akode-plugins-ffmpeg/files/patch-akode_Makefile.in
D akode-plugins-ffmpeg/files/patch-akode__plugins__ffmpeg_decoder__ffmpeg_decoder.cpp
D akode-plugins-ffmpeg/files/patch-akode_plugins-Makefile.in
A akode-plugins-jack/files/patch-akode-lib-auto_sink.cpp
A akode-plugins-jack/files/patch-akode-lib-converter.cpp
A akode-plugins-jack/files/patch-akode-lib-crossfader.cpp
A akode-plugins-jack/files/patch-akode-lib-fast_resampler.cpp
A akode-plugins-jack/files/patch-akode-lib-magic.cpp
A akode-plugins-jack/files/patch-akode-lib-player.cpp
A akode-plugins-jack/files/patch-akode-lib-volumefilter.cpp
M akode-plugins-mpc/Makefile
D akode-plugins-mpc/files
D akode-plugins-mpc/files/patch-akode_Makefile.in
D akode-plugins-mpc/files/patch-akode_plugins-Makefile.in
M akode-plugins-mpeg/Makefile
D akode-plugins-mpeg/files
D akode-plugins-mpeg/files/patch-akode_Makefile.in
D akode-plugins-mpeg/files/patch-akode_plugins-Makefile.in
M akode-plugins-oss/Makefile
D akode-plugins-oss/files
D akode-plugins-oss/files/patch-akode_Makefile.in
D akode-plugins-oss/files/patch-akode_plugins-Makefile.in
M akode-plugins-pulseaudio/Makefile
D akode-plugins-pulseaudio/files
D akode-plugins-pulseaudio/files/patch-akode_Makefile.in
D akode-plugins-pulseaudio/files/patch-akode__polyp_sink__polyp_sink.cpp
D akode-plugins-pulseaudio/files/patch-akode_plugins-Makefile.in
D akode-plugins-pulseaudio/files/patch-configure
M akode-plugins-resampler/Makefile
D akode-plugins-resampler/files
D akode-plugins-resampler/files/patch-akode_Makefile.in
D akode-plugins-resampler/files/patch-akode_plugins-Makefile.in
M akode-plugins-xiph/Makefile
D akode-plugins-xiph/files
D akode-plugins-xiph/files/patch-akode_Makefile.in
D akode-plugins-xiph/files/patch-akode_plugins-Makefile.in
D akode-plugins-xiph/files/patch-akode_plugins_xiph__decoder_flac113__decoder.cpp
D akode-plugins-xiph/files/patch-akode_plugins_xiph__decoder_speex__decoder.cpp
D akode-plugins-xiph/files/patch-configure
Comment 3 Scot Hetzel 2013-09-21 19:39:43 UTC
On Sat, Sep 21, 2013 at 1:30 PM, Scot Hetzel <swhetzel@gmail.com> wrote:
> Here's a better patch.  It moves all the plugin patches to the audio/akode port.
>
> All the plugin ports now use PATCHDIR=${MASTERSITE}/../akode/files
>
> akode-plugins-pulseaudio is also fixed, as the previous patch had
> missed adding the patch-akode-lib* files.
>

Of course I missed changing akode-plugins-jack to use the central PATCHDIR ;-)

> A akode-plugins-jack/files/patch-akode-lib-auto_sink.cpp
> A akode-plugins-jack/files/patch-akode-lib-converter.cpp
> A akode-plugins-jack/files/patch-akode-lib-crossfader.cpp
> A akode-plugins-jack/files/patch-akode-lib-fast_resampler.cpp
> A akode-plugins-jack/files/patch-akode-lib-magic.cpp
> A akode-plugins-jack/files/patch-akode-lib-player.cpp
> A akode-plugins-jack/files/patch-akode-lib-volumefilter.cpp

These files from akode.diff2 are not needed after applying the akode-jack.diff

Note akode-plugins-jack/files can be removed.
Comment 4 Bryan Drewery freebsd_committer freebsd_triage 2013-09-22 15:12:22 UTC
Responsible Changed
From-To: miwi->freebsd-ports-bugs

Back to the heap due to timeout
Comment 5 Scot Hetzel 2013-09-26 07:53:12 UTC
Here is the final patch:

- Fix build with clang by avoiding shadowing in template definitions
(Obtained from NetBSD's pkgsrc)
- Add missing includes for <cstring>, <cstdlib> to allow akode to
build with newer versions of GCC.
- Fix OPTIONS_DEFAULT as it had the XIPH option misspelled
- Use a central patch directory for all akode* ports
(PATCHDIR=${MASTERSITE}/../akode/files)
- Simplify the akode-plugins-* ports by removing the
do-{build,install} targets from the ports Makefile
-- The do-{build,install} targets did the same thing as the ones in
the bsd.port.mk
-- This should allow the ports to use the new staging area (NO_STAGE
could be removed from the Makefiles)
- fix several portlint errors in the ports

I have tested the new staging area for these ports using:

make -DFORCE_STAGE stage
make -DFORCE_STAGE check-orphans
make -DFORCE_STAGE package

I didn't notice any issue.

NOTE:
- If  FORCE_STAGE is used, the dependencies will need to be installed
first (without FORCE_STAGE) as most of them are not ready for the new
staging area.

List of changed, added, removed files:

M akode/Makefile
A akode/files/patch-akode-akodeplay-akodeplay.cpp
A akode/files/patch-akode-lib-auto_sink.cpp
A akode/files/patch-akode-lib-converter.cpp
A akode/files/patch-akode-lib-crossfader.cpp
A akode/files/patch-akode-lib-fast_resampler.cpp
A akode/files/patch-akode-lib-magic.cpp
A akode/files/patch-akode-lib-player.cpp
A akode/files/patch-akode-lib-volumefilter.cpp
A akode/files/patch-akode__plugins__Makefile.in
A akode/files/patch-akode__plugins__ffmpeg_decoder__ffmpeg_decoder.cpp
A akode/files/patch-akode__plugins__polyp_sink__polyp_sink.cpp
A akode/files/patch-akode__plugins__xiph_decoder__flac113_decoder.cpp
A akode/files/patch-akode__plugins__xiph_decoder__speex_decoder.cpp
A akode/files/patch-configure
M akode-plugins-ffmpeg/Makefile
D akode-plugins-ffmpeg/files
D akode-plugins-ffmpeg/files/patch-akode_Makefile.in
D akode-plugins-ffmpeg/files/patch-akode__plugins__ffmpeg_decoder__ffmpeg_decoder.cpp
D akode-plugins-ffmpeg/files/patch-akode_plugins-Makefile.in
D akode-plugins-ffmpeg/pkg-plist
M akode-plugins-jack/Makefile
D akode-plugins-jack/files
D akode-plugins-jack/files/patch-akode_Makefile.in
D akode-plugins-jack/files/patch-akode_plugins-Makefile.in
D akode-plugins-jack/pkg-plist
M akode-plugins-mpc/Makefile
D akode-plugins-mpc/files
D akode-plugins-mpc/files/patch-akode_Makefile.in
D akode-plugins-mpc/files/patch-akode_plugins-Makefile.in
M akode-plugins-mpeg/Makefile
D akode-plugins-mpeg/files
D akode-plugins-mpeg/files/patch-akode_Makefile.in
D akode-plugins-mpeg/files/patch-akode_plugins-Makefile.in
M akode-plugins-oss/Makefile
D akode-plugins-oss/files
D akode-plugins-oss/files/patch-akode_Makefile.in
D akode-plugins-oss/files/patch-akode_plugins-Makefile.in
M akode-plugins-pulseaudio/Makefile
D akode-plugins-pulseaudio/files
D akode-plugins-pulseaudio/files/patch-akode_Makefile.in
D akode-plugins-pulseaudio/files/patch-akode__polyp_sink__polyp_sink.cpp
D akode-plugins-pulseaudio/files/patch-akode_plugins-Makefile.in
D akode-plugins-pulseaudio/files/patch-configure
M akode-plugins-resampler/Makefile
D akode-plugins-resampler/files
D akode-plugins-resampler/files/patch-akode_Makefile.in
D akode-plugins-resampler/files/patch-akode_plugins-Makefile.in
M akode-plugins-xiph/Makefile
D akode-plugins-xiph/files
D akode-plugins-xiph/files/patch-akode_Makefile.in
D akode-plugins-xiph/files/patch-akode_plugins-Makefile.in
D akode-plugins-xiph/files/patch-akode_plugins_xiph__decoder_flac113__decoder.cpp
D akode-plugins-xiph/files/patch-akode_plugins_xiph__decoder_speex__decoder.cpp
D akode-plugins-xiph/files/patch-configure
Comment 6 Scot Hetzel 2013-10-12 09:28:48 UTC
On Thu, Sep 26, 2013 at 1:53 AM, Scot Hetzel <swhetzel@gmail.com> wrote:
> Here is the final patch:
>
> - Fix build with clang by avoiding shadowing in template definitions
> (Obtained from NetBSD's pkgsrc)
> - Add missing includes for <cstring>, <cstdlib> to allow akode to
> build with newer versions of GCC.
> - Fix OPTIONS_DEFAULT as it had the XIPH option misspelled
> - Use a central patch directory for all akode* ports
> (PATCHDIR=${MASTERSITE}/../akode/files)
> - Simplify the akode-plugins-* ports by removing the
> do-{build,install} targets from the ports Makefile
> -- The do-{build,install} targets did the same thing as the ones in
> the bsd.port.mk
> -- This should allow the ports to use the new staging area (NO_STAGE
> could be removed from the Makefiles)
> - fix several portlint errors in the ports
>
Could some one apply this patch to the akode ports as it resolves
several build errors detected by pkg-fallout with gcc46 and clang:

http://beefy1.isc.freebsd.org/bulk/head-i386-default/2013-10-10_05h56m46s/logs/akode-plugins-ffmpeg-2.0.2_4,1.log
http://beefy1.isc.freebsd.org/bulk/head-i386-default/2013-10-10_05h56m46s/logs/akode-plugins-jack-2.0.2,1.log
http://beefy1.isc.freebsd.org/bulk/head-i386-default/2013-10-10_05h56m46s/logs/akode-plugins-mpc-2.0.2,1.log
http://beefy1.isc.freebsd.org/bulk/head-i386-default/2013-10-10_05h56m46s/logs/akode-plugins-mpeg-2.0.2,1.log
http://beefy1.isc.freebsd.org/bulk/head-i386-default/2013-10-10_05h56m46s/logs/akode-plugins-oss-2.0.2,1.log
http://beefy1.isc.freebsd.org/bulk/head-i386-default/2013-10-10_05h56m46s/logs/akode-plugins-pulseaudio-2.0.2_5.log
http://beefy1.isc.freebsd.org/bulk/head-i386-default/2013-10-10_05h56m46s/logs/akode-plugins-resampler-2.0.2,1.log
http://beefy1.isc.freebsd.org/bulk/head-i386-default/2013-10-10_05h56m46s/logs/akode-plugins-xiph-2.0.2_5,1.log
Comment 7 Scot Hetzel 2013-10-17 17:53:37 UTC
It looks like nothing is depending on the audio/akode ports any more.
They were part of KDE3.

cd /usr/ports
find . -name Makefile -depth 3 -exec grep akode {} +

These ports can be removed.

-- 
DISCLAIMER:

No electrons were maimed while sending this message. Only slightly bruised.
Comment 8 dfilter service freebsd_committer freebsd_triage 2013-10-17 18:28:28 UTC
Author: tijl
Date: Thu Oct 17 17:28:19 2013
New Revision: 330659
URL: http://svnweb.freebsd.org/changeset/ports/330659

Log:
  Remove audio/akode*.  This was part of KDE 3.x.
  
  PR:		ports/182283
  Approved by:	Scot Hetzel <swhetzel@gmail.com> (maintainer)

Deleted:
  head/audio/akode/
  head/audio/akode-plugins-ffmpeg/
  head/audio/akode-plugins-jack/
  head/audio/akode-plugins-mpc/
  head/audio/akode-plugins-mpeg/
  head/audio/akode-plugins-oss/
  head/audio/akode-plugins-pulseaudio/
  head/audio/akode-plugins-resampler/
  head/audio/akode-plugins-xiph/
Modified:
  head/MOVED
  head/audio/Makefile

Modified: head/MOVED
==============================================================================
--- head/MOVED	Thu Oct 17 17:14:24 2013	(r330658)
+++ head/MOVED	Thu Oct 17 17:28:19 2013	(r330659)
@@ -5107,3 +5107,12 @@ dns/dnsdoctor||2013-10-15|Has expired: D
 devel/py-psyco||2013-10-15|Has expired: only bulds with lang/python26
 x11-toolkits/ruby-tk||2013-10-15|Has expired: Does not work with Ruby 1.9
 emulators/dolphin-emu-devel|emulators/dolphin-emu|2013-10-16|Has reached stable quality
+audio/akode||2013-10-17|Removed: Dependency of KDE 3.x
+audio/akode-plugins-ffmpeg||2013-10-17|Removed: Dependency of KDE 3.x
+audio/akode-plugins-jack||2013-10-17|Removed: Dependency of KDE 3.x
+audio/akode-plugins-mpc||2013-10-17|Removed: Dependency of KDE 3.x
+audio/akode-plugins-mpeg||2013-10-17|Removed: Dependency of KDE 3.x
+audio/akode-plugins-oss||2013-10-17|Removed: Dependency of KDE 3.x
+audio/akode-plugins-pulseaudio||2013-10-17|Removed: Dependency of KDE 3.x
+audio/akode-plugins-resampler||2013-10-17|Removed: Dependency of KDE 3.x
+audio/akode-plugins-xiph||2013-10-17|Removed: Dependency of KDE 3.x

Modified: head/audio/Makefile
==============================================================================
--- head/audio/Makefile	Thu Oct 17 17:14:24 2013	(r330658)
+++ head/audio/Makefile	Thu Oct 17 17:28:19 2013	(r330659)
@@ -15,15 +15,6 @@
     SUBDIR += adplay
     SUBDIR += afsp
     SUBDIR += aften
-    SUBDIR += akode
-    SUBDIR += akode-plugins-ffmpeg
-    SUBDIR += akode-plugins-jack
-    SUBDIR += akode-plugins-mpc
-    SUBDIR += akode-plugins-mpeg
-    SUBDIR += akode-plugins-oss
-    SUBDIR += akode-plugins-pulseaudio
-    SUBDIR += akode-plugins-resampler
-    SUBDIR += akode-plugins-xiph
     SUBDIR += alac
     SUBDIR += alienwah
     SUBDIR += alsa-lib
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 9 Tijl Coosemans freebsd_committer freebsd_triage 2013-10-17 18:33:25 UTC
State Changed
From-To: open->closed

Ports removed in r330659.  Thanks for maintaining them! 


Comment 10 Tijl Coosemans freebsd_committer freebsd_triage 2013-10-17 18:33:25 UTC
Responsible Changed
From-To: freebsd-ports-bugs->tijl

Ports removed in r330659.  Thanks for maintaining them!