1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-02-04 11:23:46 +00:00

- Fix build with clang

- Fix destination to install architecture-dependent binaries
- Support qmake USES macro

PR:		ports/185327
Submitted by:	KATO Tsuguru <tkato432@yahoo.com>
This commit is contained in:
Guido Falsi 2014-01-10 23:07:07 +00:00
parent 6985d0fff6
commit 57f8bb04a9
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=339391
6 changed files with 219 additions and 171 deletions

View File

@ -3,77 +3,80 @@
PORTNAME= last.fm
PORTVERSION= 1.5.4.26862
DISTVERSIONSUFFIX= .src
PORTREVISION= 1
CATEGORIES= audio net
MASTER_SITES= http://cdn.last.fm/client/src/
DISTNAME= ${PORTNAME}-${PORTVERSION}.src
MAINTAINER= ports@FreeBSD.org
COMMENT= Official last.fm radio player
BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash
LIB_DEPENDS= libgpod.so:${PORTSDIR}/audio/libgpod \
libmad.so:${PORTSDIR}/audio/libmad \
libsamplerate.so:${PORTSDIR}/audio/libsamplerate \
libfftw3f.so:${PORTSDIR}/math/fftw3-float \
libasound.so:${PORTSDIR}/audio/alsa-lib
LICENSE= GPLv2
PKGINSTALL= ${WRKDIR}/pkg-install
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
SUB_FILES= pkg-install pkg-deinstall
USES= dos2unix shebangfix
NO_STAGE= yes
LIB_DEPENDS= libasound.so:${PORTSDIR}/audio/alsa-lib \
libgpod.so:${PORTSDIR}/audio/libgpod \
libmad.so:${PORTSDIR}/audio/libmad \
libsamplerate.so:${PORTSDIR}/audio/libsamplerate \
libfftw3f.so:${PORTSDIR}/math/fftw3-float
WRKSRC= ${WRKDIR}/last.fm-${PORTVERSION}
USE_BZIP2= yes
USE_QT4= gui imageformats_run moc_build network qmake_build rcc_build \
sql uic_build xml
HAS_CONFIGURE= yes
USES= dos2unix qmake:norecursive
DOS2UNIX_GLOB= *.h *.cpp
USE_QT4= moc_build rcc_build uic_build \
gui network sql xml imageformats_run
QMAKE_SOURCE_PATH= ${WRKSRC}/LastFM.pro
USE_LDCONFIG= yes
DOS2UNIX_GLOB= *.h
SHEBANG_FILES= dist/tarball_files/configure
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
.include <bsd.port.pre.mk>
.if ${ARCH} == "amd64"
USE_GCC=4.2+
.endif
SUB_FILES= pkg-install pkg-deinstall
post-patch:
${CP} ${WRKSRC}/dist/tarball_files/configure ${WRKSRC}/configure
${REINPLACE_CMD} -E -e 's|(.*"CONFIG-=debug")|\1 ${QMAKE_ARGS}|g' \
-e 's|function header|header()|g' \
-e 's|function middle|middle()|g' \
-e 's|-pthread|-pthread -R/usr/local/share/last.fm|g' \
${WRKSRC}/configure
${REINPLACE_CMD} -e 's|linux\*|unix|g' ${WRKSRC}/src/src.pro
${REINPLACE_CMD} -e 's|/usr/include/gpod|${LOCALBASE}/include/gpod|; \
s|/usr/include/glib|${LOCALBASE}/include/glib|;s|linux|freebsd|' \
${WRKSRC}/src/mediadevices/ipod/ipod.pro
${REINPLACE_CMD} -e 's|^RUNDIR.*|RUNDIR=${DATADIR}|' ${WRKSRC}/bin/last.fm.sh
${RM} ${WRKSRC}/bin/libmad.1.dylib ${WRKSRC}/bin/libmad.dylib \
${WRKSRC}/bin/last.fm.sh.bak \
${WRKSRC}/bin/*.dll ${WRKSRC}/bin/LastFM.exe.config
${RM} -rf ${WRKSRC}/bin/Microsoft* ${WRKSRC}/bin/sqldrivers
${REINPLACE_CMD} -e 's|glib/.*\.h>|glib.h>|g' \
@${REINPLACE_CMD} -e \
's|linux\*|unix|g' ${WRKSRC}/src/src.pro
@${REINPLACE_CMD} -e \
's|/usr/include/gpod|${LOCALBASE}/include/gpod| ; \
s|/usr/include/glib|${LOCALBASE}/include/glib| ; \
s|linux|freebsd|' ${WRKSRC}/src/mediadevices/ipod/ipod.pro
@${REINPLACE_CMD} -e \
's|^RUNDIR.*|RUNDIR=${PREFIX}/lib/last.fm|' \
${WRKSRC}/bin/last.fm.sh
@${REINPLACE_CMD} -e \
's|glib/.*\.h>|glib.h>|g' \
${WRKSRC}/src/mediadevices/ipod/IpodDevice.cpp
pre-build:
@${MKDIR} ${WRKSRC}/build/fplib/release
post-build:
cd ${WRKSRC}/src/output/RtAudio && \
${SETENV} ${CONFIGURE_ENV} ${QMAKE} ${QMAKE_ARGS} && make
@(cd ${WRKSRC}/src/output/RtAudio \
&& ${SETENV} ${CONFIGURE_ENV} ${QMAKE} ${QMAKE_ARGS} \
&& ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS})
@${SED} -e 's|/usr/local/share/|${PREFIX}/lib/|' \
${FILESDIR}/last.fm.desktop > ${WRKDIR}/last.fm.desktop
do-install:
${INSTALL_SCRIPT} ${WRKSRC}/bin/last.fm.sh ${PREFIX}/bin/last.fm
${INSTALL_DATA} ${FILESDIR}/last.fm.desktop ${PREFIX}/share/applications
${MKDIR} ${PREFIX}/share/services
${INSTALL_DATA} ${FILESDIR}/lastfm.protocol ${PREFIX}/share/services
${MKDIR} ${DATADIR}
${CP} -Rp ${WRKSRC}/bin/* ${DATADIR}/
(cd ${WRKSRC}/bin && ${INSTALL_SCRIPT} last.fm.sh \
${STAGEDIR}${PREFIX}/bin/last.fm)
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/last.fm
(cd ${WRKSRC}/bin && ${INSTALL_PROGRAM} last.fm \
${STAGEDIR}${PREFIX}/lib/last.fm)
.for i in libLastFmFingerprint libLastFmTools libMoose
(cd ${WRKSRC}/bin && ${INSTALL_LIB} ${i}.so.1.0.0 \
${STAGEDIR}${PREFIX}/lib/last.fm)
${LN} -sf ${i}.so.1.0.0 ${STAGEDIR}${PREFIX}/lib/last.fm/${i}.so.1.0
${LN} -sf ${i}.so.1.0.0 ${STAGEDIR}${PREFIX}/lib/last.fm/${i}.so.1
${LN} -sf ${i}.so.1.0.0 ${STAGEDIR}${PREFIX}/lib/last.fm/${i}.so
.endfor
@(cd ${WRKSRC}/bin && ${COPYTREE_SHARE} data \
${STAGEDIR}${PREFIX}/lib/last.fm)
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/last.fm/services
(cd ${WRKSRC}/bin/services && ${INSTALL_LIB} *.so \
${STAGEDIR}${PREFIX}/lib/last.fm/services)
(cd ${WRKDIR} && ${INSTALL_DATA} last.fm.desktop \
${STAGEDIR}${DESKTOPDIR})
@${MKDIR} ${STAGEDIR}${PREFIX}/share/services
(cd ${FILESDIR} && ${INSTALL_DATA} lastfm.protocol \
${STAGEDIR}${PREFIX}/share/services)
post-install:
.if !defined(PACKAGE_BUILDING)
@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
.endif
.include <bsd.port.post.mk>
.include <bsd.port.mk>

View File

@ -0,0 +1,13 @@
--- src/lastfmapplication.cpp.orig
+++ src/lastfmapplication.cpp
@@ -55,6 +55,10 @@
#include <QTcpSocket>
#include <QTimer>
+#ifdef Q_OS_UNIX
+ #include <unistd.h>
+#endif
+
#ifdef WIN32
#include <windows.h>
#endif

View File

@ -0,0 +1,11 @@
--- src/libUnicorn/TrackInfo.h.orig
+++ src/libUnicorn/TrackInfo.h
@@ -33,6 +33,8 @@
#include <QStringList>
#include <QUrl>
+#include <sys/time.h>
+
class UNICORN_DLLEXPORT TrackInfo
{

View File

@ -0,0 +1,13 @@
--- src/libUnicorn/UnicornCommon.cpp.orig
+++ src/libUnicorn/UnicornCommon.cpp
@@ -29,6 +29,10 @@
#include <QCoreApplication>
#include <QDir>
+#ifdef Q_OS_UNIX
+ #include <unistd.h>
+#endif
+
#ifdef WIN32
#include <windows.h>
#include <shlobj.h>

View File

@ -0,0 +1,13 @@
--- src/playerlistener.cpp.orig
+++ src/playerlistener.cpp
@@ -33,6 +33,10 @@
#include <iostream>
#include <algorithm>
+#ifdef Q_OS_UNIX
+#include <unistd.h>
+#endif
+
using namespace std;

View File

@ -1,120 +1,115 @@
bin/last.fm
%%DATADIR%%/data/about.png
%%DATADIR%%/data/about_generic.png
%%DATADIR%%/data/about_mac.png
%%DATADIR%%/data/app_55.png
%%DATADIR%%/data/buttons/action_edit.png
%%DATADIR%%/data/buttons/action_edit_down.png
%%DATADIR%%/data/buttons/action_edit_hover.png
%%DATADIR%%/data/buttons/action_tag.png
%%DATADIR%%/data/buttons/action_tag_down.png
%%DATADIR%%/data/buttons/action_tag_hover.png
%%DATADIR%%/data/buttons/action_upload.png
%%DATADIR%%/data/buttons/action_upload_down.png
%%DATADIR%%/data/buttons/action_upload_hover.png
%%DATADIR%%/data/buttons/closebutton.png
%%DATADIR%%/data/buttons/myprofile.png
%%DATADIR%%/data/buttons/scrobble.png
%%DATADIR%%/data/icons/as.ico
%%DATADIR%%/data/icons/as.png
%%DATADIR%%/data/icons/blackprofile24.png
%%DATADIR%%/data/icons/blueprofile24.png
%%DATADIR%%/data/icons/buy_album.png
%%DATADIR%%/data/icons/buy_track.png
%%DATADIR%%/data/icons/greenprofile24.png
%%DATADIR%%/data/icons/history16.png
%%DATADIR%%/data/icons/history32.png
%%DATADIR%%/data/icons/icon_radio.png
%%DATADIR%%/data/icons/icon_tag.png
%%DATADIR%%/data/icons/icon_track.png
%%DATADIR%%/data/icons/icon_user.png
%%DATADIR%%/data/icons/loved_radio.png
%%DATADIR%%/data/icons/my_bookmarks.png
%%DATADIR%%/data/icons/my_friends.png
%%DATADIR%%/data/icons/my_neighbours.png
%%DATADIR%%/data/icons/my_tags.png
%%DATADIR%%/data/icons/mymix_radio.png
%%DATADIR%%/data/icons/neighbour_radio.png
%%DATADIR%%/data/icons/options_account.png
%%DATADIR%%/data/icons/options_connection.png
%%DATADIR%%/data/icons/options_mediadevices.png
%%DATADIR%%/data/icons/options_radio.png
%%DATADIR%%/data/icons/options_scrobbling.png
%%DATADIR%%/data/icons/orangeprofile24.png
%%DATADIR%%/data/icons/personal_radio.png
%%DATADIR%%/data/icons/qt_cross.png
%%DATADIR%%/data/icons/recent_tracks.png
%%DATADIR%%/data/icons/recently_banned.png
%%DATADIR%%/data/icons/recently_banned16.png
%%DATADIR%%/data/icons/recently_loved.png
%%DATADIR%%/data/icons/recently_loved16.png
%%DATADIR%%/data/icons/recommended_radio.png
%%DATADIR%%/data/icons/redprofile24.png
%%DATADIR%%/data/icons/scrobble16.png
%%DATADIR%%/data/icons/scrobbling_graphic.png
%%DATADIR%%/data/icons/systray_mac.png
%%DATADIR%%/data/icons/user_black.png
%%DATADIR%%/data/icons/user_black32_collapse.png
%%DATADIR%%/data/icons/user_black32_expand.png
%%DATADIR%%/data/icons/user_blue.png
%%DATADIR%%/data/icons/user_blue32_collapse.png
%%DATADIR%%/data/icons/user_blue32_expand.png
%%DATADIR%%/data/icons/user_disabled.png
%%DATADIR%%/data/icons/user_green.png
%%DATADIR%%/data/icons/user_green32_collapse.png
%%DATADIR%%/data/icons/user_green32_expand.png
%%DATADIR%%/data/icons/user_orange.png
%%DATADIR%%/data/icons/user_orange32_collapse.png
%%DATADIR%%/data/icons/user_orange32_expand.png
%%DATADIR%%/data/icons/user_purple.png
%%DATADIR%%/data/icons/user_red.png
%%DATADIR%%/data/icons/user_red32_collapse.png
%%DATADIR%%/data/icons/user_red32_expand.png
%%DATADIR%%/data/install_mac.png
%%DATADIR%%/data/logo.png
%%DATADIR%%/data/no_artist.gif
%%DATADIR%%/data/no_cover.gif
%%DATADIR%%/data/progress.mng
%%DATADIR%%/data/progress_active.mng
%%DATADIR%%/data/slider_knob.png
%%DATADIR%%/data/slider_left.png
%%DATADIR%%/data/slider_middle.png
%%DATADIR%%/data/slider_right.png
%%DATADIR%%/data/speaker_high.png
%%DATADIR%%/data/speaker_low.png
%%DATADIR%%/data/watermark.png
%%DATADIR%%/data/wizard.png
%%DATADIR%%/data/wizard_generic.png
%%DATADIR%%/data/wizard_mac.png
%%DATADIR%%/glib-2.0.lib
%%DATADIR%%/gpod.lib
%%DATADIR%%/last.fm
%%DATADIR%%/last.fm.sh
%%DATADIR%%/libLastFmFingerprint.so.1.0.0
%%DATADIR%%/libLastFmFingerprint.so.1.0
%%DATADIR%%/libLastFmFingerprint.so.1
%%DATADIR%%/libLastFmFingerprint.so
%%DATADIR%%/libLastFmTools.so.1.0.0
%%DATADIR%%/libLastFmTools.so.1.0
%%DATADIR%%/libLastFmTools.so.1
%%DATADIR%%/libLastFmTools.so
%%DATADIR%%/libMoose.so.1.0.0
%%DATADIR%%/libMoose.so.1.0
%%DATADIR%%/libMoose.so.1
%%DATADIR%%/libMoose.so
%%DATADIR%%/libfftw3f-3.lib
%%DATADIR%%/services/libsrv_Ipod_device.so
%%DATADIR%%/services/libsrv_httpinput.so
%%DATADIR%%/services/libsrv_madtranscode.so
%%DATADIR%%/services/libsrv_rtaudioplayback.so
%%DATADIR%%/services/libsrv_output_alsa.so
%%DATADIR%%/services/libsrv_output_portaudio.so
%%DATADIR%%/zlibwapi.lib
lib/last.fm/data/about.png
lib/last.fm/data/about_generic.png
lib/last.fm/data/about_mac.png
lib/last.fm/data/app_55.png
lib/last.fm/data/buttons/action_edit.png
lib/last.fm/data/buttons/action_edit_down.png
lib/last.fm/data/buttons/action_edit_hover.png
lib/last.fm/data/buttons/action_tag.png
lib/last.fm/data/buttons/action_tag_down.png
lib/last.fm/data/buttons/action_tag_hover.png
lib/last.fm/data/buttons/action_upload.png
lib/last.fm/data/buttons/action_upload_down.png
lib/last.fm/data/buttons/action_upload_hover.png
lib/last.fm/data/buttons/closebutton.png
lib/last.fm/data/buttons/myprofile.png
lib/last.fm/data/buttons/scrobble.png
lib/last.fm/data/icons/as.ico
lib/last.fm/data/icons/as.png
lib/last.fm/data/icons/blackprofile24.png
lib/last.fm/data/icons/blueprofile24.png
lib/last.fm/data/icons/buy_album.png
lib/last.fm/data/icons/buy_track.png
lib/last.fm/data/icons/greenprofile24.png
lib/last.fm/data/icons/history16.png
lib/last.fm/data/icons/history32.png
lib/last.fm/data/icons/icon_radio.png
lib/last.fm/data/icons/icon_tag.png
lib/last.fm/data/icons/icon_track.png
lib/last.fm/data/icons/icon_user.png
lib/last.fm/data/icons/loved_radio.png
lib/last.fm/data/icons/my_bookmarks.png
lib/last.fm/data/icons/my_friends.png
lib/last.fm/data/icons/my_neighbours.png
lib/last.fm/data/icons/my_tags.png
lib/last.fm/data/icons/mymix_radio.png
lib/last.fm/data/icons/neighbour_radio.png
lib/last.fm/data/icons/options_account.png
lib/last.fm/data/icons/options_connection.png
lib/last.fm/data/icons/options_mediadevices.png
lib/last.fm/data/icons/options_radio.png
lib/last.fm/data/icons/options_scrobbling.png
lib/last.fm/data/icons/orangeprofile24.png
lib/last.fm/data/icons/personal_radio.png
lib/last.fm/data/icons/qt_cross.png
lib/last.fm/data/icons/recent_tracks.png
lib/last.fm/data/icons/recently_banned.png
lib/last.fm/data/icons/recently_banned16.png
lib/last.fm/data/icons/recently_loved.png
lib/last.fm/data/icons/recently_loved16.png
lib/last.fm/data/icons/recommended_radio.png
lib/last.fm/data/icons/redprofile24.png
lib/last.fm/data/icons/scrobble16.png
lib/last.fm/data/icons/scrobbling_graphic.png
lib/last.fm/data/icons/systray_mac.png
lib/last.fm/data/icons/user_black.png
lib/last.fm/data/icons/user_black32_collapse.png
lib/last.fm/data/icons/user_black32_expand.png
lib/last.fm/data/icons/user_blue.png
lib/last.fm/data/icons/user_blue32_collapse.png
lib/last.fm/data/icons/user_blue32_expand.png
lib/last.fm/data/icons/user_disabled.png
lib/last.fm/data/icons/user_green.png
lib/last.fm/data/icons/user_green32_collapse.png
lib/last.fm/data/icons/user_green32_expand.png
lib/last.fm/data/icons/user_orange.png
lib/last.fm/data/icons/user_orange32_collapse.png
lib/last.fm/data/icons/user_orange32_expand.png
lib/last.fm/data/icons/user_purple.png
lib/last.fm/data/icons/user_red.png
lib/last.fm/data/icons/user_red32_collapse.png
lib/last.fm/data/icons/user_red32_expand.png
lib/last.fm/data/install_mac.png
lib/last.fm/data/logo.png
lib/last.fm/data/no_artist.gif
lib/last.fm/data/no_cover.gif
lib/last.fm/data/progress.mng
lib/last.fm/data/progress_active.mng
lib/last.fm/data/slider_knob.png
lib/last.fm/data/slider_left.png
lib/last.fm/data/slider_middle.png
lib/last.fm/data/slider_right.png
lib/last.fm/data/speaker_high.png
lib/last.fm/data/speaker_low.png
lib/last.fm/data/watermark.png
lib/last.fm/data/wizard.png
lib/last.fm/data/wizard_generic.png
lib/last.fm/data/wizard_mac.png
lib/last.fm/last.fm
lib/last.fm/libLastFmFingerprint.so
lib/last.fm/libLastFmFingerprint.so.1
lib/last.fm/libLastFmFingerprint.so.1.0
lib/last.fm/libLastFmFingerprint.so.1.0.0
lib/last.fm/libLastFmTools.so
lib/last.fm/libLastFmTools.so.1
lib/last.fm/libLastFmTools.so.1.0
lib/last.fm/libLastFmTools.so.1.0.0
lib/last.fm/libMoose.so
lib/last.fm/libMoose.so.1
lib/last.fm/libMoose.so.1.0
lib/last.fm/libMoose.so.1.0.0
lib/last.fm/services/libsrv_Ipod_device.so
lib/last.fm/services/libsrv_httpinput.so
lib/last.fm/services/libsrv_madtranscode.so
lib/last.fm/services/libsrv_output_alsa.so
lib/last.fm/services/libsrv_output_portaudio.so
lib/last.fm/services/libsrv_rtaudioplayback.so
share/applications/last.fm.desktop
share/services/lastfm.protocol
@dirrmtry share/services
@dirrm %%DATADIR%%/services
@dirrm %%DATADIR%%/data/icons
@dirrm %%DATADIR%%/data/buttons
@dirrm %%DATADIR%%/data
@dirrm %%DATADIR%%
@dirrm lib/last.fm/services
@dirrm lib/last.fm/data/icons
@dirrm lib/last.fm/data/buttons
@dirrm lib/last.fm/data
@dirrm lib/last.fm