projectm allows Winamp's Milkdrop visualizations to be used by libvisual (amaroK) and xmms. In the past it required its own version of SDL 1.3, making it inappropriate for Gentoo. However, in 0.96 it has dropped this prerequesite. There would be a USE flags for libvisual and xmms support, as they are seperate. It does some weird things like install the 'presets' (what it calls the different visualizations) into /etc. I'd suggest a USE flag for libvisual-plugins to be added, so as to direct users to these funky visualizations (not sure on policy about this). Reproducible: Always Steps to Reproduce:
Created attachment 56796 [details] projectm-0.96.ebuild As requested, ebuild for projectm-0.96 -- works for building libvisual plugin, but fails to compile xmms plugin. I believe the bug resides in src/projectM/common.h on lines 57-59: #ifndef USE_XMMS typedef short gint16; #endif /** !USE_XMMS */ I don't think USE_XMMS is being defined when building xmms-projectM, but I don't have any experience with automake/autoconf so I can't fix this. Maybe someone else could help here? Anyway, here's the ebuild.
Created attachment 56797 [details, diff] makeinstall.patch Patch file to make the "make install" portion of projectM's Makefiles play nicely with portage
The ebuild worked great with 0.96 but not 0.97. Either way projectm dosn't show up for beep-media-player. Any thoughts?
Hmm now that I look closer, projectM isn't showing up for xmms either. I also foudn a bunch of permission Denied errors with all the chmod/chowns for the install. I am using the makefile patch listed above. Problem exists with 0.96 and 0.97 on my system. Am using libvisual 0.2.0 and beep-media-player 0.9.7-r4.
Created attachment 64851 [details, diff] Added a patch for Makefile.in (just for xmms) I appended a patch for Makefile.in into makeinstall.patch, as Makefile.in is the file that actually creats Makefile (and this makes emerge happy, ie, not die).
I revisted the ebuild using the makeinstall-xmms patch and built with the libvisual use-flag, but beep-media-player will not pickup the projectM actor with bmp-libvisual. Although bmp-libvisual works fine rendering the normal actors.
Update: the ebuild works great with xmms, very groovey.
Just tested the ebuild with the makeinstall-xmms patch and it works with the new projectM-0.97.
builds fine on my amd64 using libvisual -- thanks
Created attachment 71752 [details] projectm-0.97_p5.ebuild Update for 0.97, which has strangely named tarballs... I haven't tested xmms functionality because I don't use xmms. But there's a small change to fix the compilation of the libvisual actor.
Created attachment 71753 [details, diff] makeinstall.patch Don't install stuff into /etc/projectM/presets with mode 777...
Latest works awesome like in xmms, still get the usual stuff in beep-media-player with libvisuals, no full projectm there.
For me, the libvisual actor works without any problems in amaroK. Can somebody else confirm? (Maybe a problem with beep-media-player?)
Works for me (amarok + libvisual). Not sure about Beep -- not using it, cannot test.
Amazingly works for me! Gentoo amd64 Amarok 1.3.6 using projectm-0.97_p5.ebuild with libvisual USE flag I had to manually fetch projectM-0.97.5.tar.gz from http://prdownloads.sourceforge.net/xmms-projectm/projectM-0.97.5.tar.gz?download and put it in the distfiles dir because gentoo mirrors didn't have this(?) Then I downloaded makeinstall.patch (2005-10-30 13:00 PST) and put it in: /usr/local/portage/media-plugins/projectm/files/makeinstall.patch Only then digesting and emerging successfully completed.
Created attachment 87682 [details] libprojectm-0.98.ebuild -- xmms-projectm-0.98 dependency
Created attachment 87683 [details] xmms-projectm-0.98.ebuild
Created attachment 87684 [details, diff] 0.98-gl_cflags.patch -- xmms-projectm-0.98
Seems like the structure of the projectM package changed greatly from 0.97 to 0.98 and most of the issues the earlier ebuilds had to address are no longer present. Only issue I had was with @GL_CFLAGS@ not being resolved and breaking the build at the compile stage, so I patched it to remove that variable from Makefile.in and it works for me on x86 with xmms-1.2.10. This was my first attempt at an ebuild, though, so it may not work for you :-P
libvisual-projectM-0.98 wants >=libvisual-0.40 (bug #131733). I'll try it later when I have time.
libvisual 0.2 and 0.4 are incompatible (and should be installed in parallel in different slots - see my comment on bug #131733).
libprojectm-0.98 fails to build on amd64 when linking against ftgl-2.1.2 (which only builds libftgl.a). It does build fine when using ftgl-2.1.2-r1 (wich does build libftgl.so*).
Created attachment 93646 [details] libprojectm-0.99.ebuild
Comment on attachment 93646 [details] libprojectm-0.99.ebuild The ebuild for libprojectm-0.99. I had to edit libprojectm-0.98.ebuild a bit to get v0.99 working on amd64.
Created attachment 93647 [details] xmms-projectm-0.99.ebuild Here's the ebuild for xmms-projectm-0.99. Had to do minimal editing to xmms-projectm-0.98.ebuild to get it working on amd64.
Created attachment 93650 [details] libprojectm-0.99.ebuild cleaned the ebuild up a bit, works with libprojectm-0.99 source code.
Created attachment 93656 [details] libprojectm-0.99.ebuild Sorry for the attachment spam. Just wanted to fix DEPEND/RDEPEND. DEPEND is the list of packages needed for the building of the main package. RDEPEND is the list of packages that will be ran by the main package (read: run-time dependencies). Also RDEPEND defaults to DEPEND, if not specified. The ebuild howto also warns against stting DEPEND to RDEPEND.
Created attachment 93657 [details] xmms-projectm-0.99.ebuild Same thing with libprojectm-0.99's DEPEND/RDEPEND. Seeing as xmms-projectm-0.99 is now a xmms plugin we should always have xmms in DEPEND.
Created attachment 95573 [details] libvisual-projectm-0.99.ebuild This is the libvisual actor for projectM. I believe this is not the same as the xmms plugin. Works great with amarok-1.4.2...
Thanks to everyone, projectm and libvisual-projectm are now in portage. The xmms plugin is obviously not committed.