Call for testers: projectM comes to FreeBSD! [re ports/152823]

Chris Rees utisoft at gmail.com
Sun Feb 6 10:09:06 UTC 2011


On 6 February 2011 00:33, Raphael Kubo da Costa <kubito at gmail.com> wrote:
> Chris Rees <utisoft at gmail.com> writes:
>
>> Anyone interested can grab them and test them out! I've tried them on
>> i386, they work great; feedback is most welcome.
>
> In both ports I see that you manually add ${LOCALBASE}/include and
> ${LOCALBASE}/lib to CFLAGS. In theory, that shouldn't be necessary.

Shouldn't, but unfortunately is!

Linking CXX shared library libprojectM_libvisual.so
/usr/bin/ld: cannot find -lprojectM
*** Error code 1

That also applies to GLEW as below.

>
> Unfortunately, projectM does not seem to be a very good CMake citizen:
> it should have a FindGLEW.cmake file responsible for finding GLEW's
> libraries and includes, so that it later can just do something along
> these lines:
>
>  include_directories(${GLEW_INCLUDE_DIR})
>  target_link_libraries(foo ${GLEW_LIBRARIES})

You're absolutely right, however my cmake-foo is not quite up to that
yet, and the authors are
_dreadful_ at making releases. I have a feeling this may be the last.

>
> Also, it shouldn't even have a copy of FindFreetype2.cmake lying around
> (which should also render one of the sed's you use in post-path
> unnecessary), as CMake itself has had FindFreetype.cmake for quite a
> long time.
>
> Do you know if upstream is aware of these issues?

They will soon become aware when I tell them; however I want to make
sure it works for us before I start to get them to patch their code.
Also, see above.

>
> Another question related to libprojectM: does it really need to install
> Vera.ttf instead of using the system-wide one from
> x11-fonts/bitstream-vera? Or is it a different font which happens to
> have the same name?

I'll investigate.

>
> As for projectm-libvisual:
>
> Do you also need to set CFLAGS here too?
>
> +post-patch:
> +       @${FIND} ${WRKSRC} -name "*.[hc]*" | ${XARGS} ${REINPLACE_CMD} \
> +               -e 's#<libvisual#<libvisual-${LIBVISUAL_VER}/libvisual#g'
>
> Is this really needed? It seems to be fairly intrusive.

Oh yes it *really* is needed [1]!

>
> + @${REINPLACE_CMD} -e '/return NULL/d' ${WRKSRC}/actor_projectM.cpp
>
> Is this one from upstream? If so, isn't it better to put it in files/?

No, this is one I made. They've written a dummy function in, but it's
type struct * and tries to return NULL.

I have a serious hatred of files/patch-*; they break with most
updates, they bloat the repository and make it slower for everyone to
csup as well. I thought that a ${REINPLACE_CMD} was a cleaner way of
doing so.


I think I should have made satisfactory (for the time being) replies
to these, I will look again at the Vera.ttf.

If you think I'm fobbing you off, tell me! Thanks very much for the feedback.

Chris

[1] http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/154530


More information about the freebsd-ports mailing list