2012-10-26 22:08:09 +02:00
|
|
|
# Created by: elbarto
|
2009-07-28 20:04:33 +02:00
|
|
|
# $FreeBSD$
|
|
|
|
|
2013-02-22 14:57:56 +01:00
|
|
|
PORTNAME= higan
|
|
|
|
PORTVERSION= 0.92
|
Update to libmpc version 1.0.1 which brings the following fixes:
- Switched to automake 1.11.6, see CVE-2012-3386.
- #14669: Fixed extraction of CC from gmp.h.
- Fixed case of intermediate zero real or imaginary part in mpc_fma,
found by hydra with GMP_CHECK_RANDOMIZE=1346362345.
This is on top of the following changes from version 1.0
- Licence change towards LGPLv3+ for the code and GFDLv1.3+ (with no
invariant sections) for the documentation.
- 100% of all lines are covered by tests
- Renamed functions
. mpc_mul_2exp to mpc_mul_2ui
. mpc_div_2exp to mpc_div_2ui
- 0^0, which returned (NaN,NaN) previously, now returns (1,+0).
- Removed compatibility with K&R compilers, which was untestable due
to lack of such compilers.
- New functions
. mpc_log10
. mpc_mul_2si, mpc_div_2si
- Speed-ups
. mpc_fma
- Bug fixes
. mpc_div and mpc_norm now return a value indicating the effective
rounding direction, as the other functions.
. mpc_mul, mpc_sqr and mpc_norm now return correct results even if
there are over- or underflows during the computation.
. mpc_asin, mpc_proj, mpc_sqr: Wrong result when input variable has
infinite part and equals output variable is corrected.
. mpc_fr_sub: Wrong return value for imaginary part is corrected.
Convert to the new LIB_DEPENDS standard and remove hard-coded
.so versions from a couple of dependent ports.
Bump PORTREVISIONS of all dependent ports.
PR: 183141
Approved by: portmgr (bdrewery)
2013-10-26 02:52:33 +02:00
|
|
|
PORTREVISION= 2
|
2009-07-28 20:04:33 +02:00
|
|
|
CATEGORIES= emulators
|
2012-10-26 22:08:09 +02:00
|
|
|
MASTER_SITES= GOOGLE_CODE
|
2012-05-12 00:01:55 +02:00
|
|
|
DISTNAME= ${PORTNAME}_v${PORTVERSION:S/.//}-source
|
2009-07-28 20:04:33 +02:00
|
|
|
|
2012-05-12 00:01:55 +02:00
|
|
|
MAINTAINER= cyberbotx@cyberbotx.com
|
2013-02-22 14:57:56 +01:00
|
|
|
COMMENT= Nintendo multi-system emulator
|
2009-07-28 20:04:33 +02:00
|
|
|
|
2013-04-23 12:19:45 +02:00
|
|
|
USES= pkgconfig
|
2012-05-12 00:01:55 +02:00
|
|
|
USE_XZ= yes
|
2009-07-28 20:04:33 +02:00
|
|
|
USE_GMAKE= yes
|
2013-08-17 18:27:24 +02:00
|
|
|
USE_GCC= yes
|
2013-02-22 14:57:56 +01:00
|
|
|
USE_LDCONFIG= yes
|
2009-07-28 20:04:33 +02:00
|
|
|
|
|
|
|
ONLY_FOR_ARCHS= i386 amd64
|
2012-10-26 22:08:09 +02:00
|
|
|
MAKE_ENV+= c="${CC} -std=gnu99" cpp="${CXX} -std=gnu++0x"
|
|
|
|
|
2013-05-10 18:25:43 +02:00
|
|
|
OPTIONS_DEFINE= DEBUG
|
2012-10-26 22:08:09 +02:00
|
|
|
OPTIONS_SINGLE= PROFILE GUI
|
2013-02-22 14:57:56 +01:00
|
|
|
OPTIONS_SINGLE_PROFILE= ACCURACY BALANCED PERFORMANCE
|
2012-10-26 22:08:09 +02:00
|
|
|
OPTIONS_SINGLE_GUI= GTK2 QT4
|
|
|
|
OPTIONS_MULTI= VIDEO SOUND INPUT
|
|
|
|
OPTIONS_MULTI_VIDEO= GLX SDL XV
|
|
|
|
OPTIONS_MULTI_SOUND= AO OPENAL OSS PULSEAUDIO
|
|
|
|
OPTIONS_MULTI_INPUT= INPUT_SDL INPUT_X
|
2013-02-22 14:57:56 +01:00
|
|
|
OPTIONS_DEFAULT= BALANCED GTK2 GLX XV SDL \
|
2012-10-26 22:08:09 +02:00
|
|
|
OSS INPUT_SDL INPUT_X
|
|
|
|
|
2013-02-22 14:57:56 +01:00
|
|
|
ACCURACY_DESC= Use accuracy profile
|
|
|
|
BALACNED_DESC= Use balanced profile
|
|
|
|
PERFORMANCE_DESC= Use performance profile
|
2012-10-26 22:08:09 +02:00
|
|
|
GTK2_DESC= Build with GTK+2 GUI
|
|
|
|
QT4_DESC= Build with QT4 GUI
|
|
|
|
GLX_DESC= Build GLX video driver
|
|
|
|
SDL_DESC= Build SDL video driver
|
|
|
|
XV_DESC= Build Xv video driver
|
|
|
|
AO_DESC= Build AO sound driver
|
|
|
|
OPENAL_DESC= Build OpenAL sound driver
|
|
|
|
OSS_DESC= Build OSS sound driver
|
|
|
|
PULSEAUDIO_DESC= Build Pulseaudio sound driver
|
|
|
|
INPUT_SDL_DESC= Build SDL input driver
|
|
|
|
INPUT_X_DESC= Build X input driver
|
2009-07-28 20:04:33 +02:00
|
|
|
|
2013-09-20 18:43:52 +02:00
|
|
|
NO_STAGE= yes
|
2012-05-12 00:01:55 +02:00
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
|
2012-10-26 22:08:09 +02:00
|
|
|
.if ${PORT_OPTIONS:MACCURACY}
|
|
|
|
MAKE_ENV+= profile="accuracy"
|
2013-02-22 14:57:56 +01:00
|
|
|
.elif ${PORT_OPTIONS:MBALANCED}
|
|
|
|
MAKE_ENV+= profile="balanced"
|
2012-05-12 00:01:55 +02:00
|
|
|
.else
|
2012-10-26 22:08:09 +02:00
|
|
|
MAKE_ENV+= profile="performance"
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${PORT_OPTIONS:MGTK2}
|
|
|
|
USE_GNOME+= gtk20
|
|
|
|
MAKE_ENV+= phoenix="gtk"
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${PORT_OPTIONS:MQT4}
|
|
|
|
USE_QT4+= gui moc_build
|
2012-05-12 00:01:55 +02:00
|
|
|
MAKE_ENV+= phoenix="qt"
|
|
|
|
.endif
|
2009-07-28 20:04:33 +02:00
|
|
|
|
2012-10-26 22:08:09 +02:00
|
|
|
.if ${PORT_OPTIONS:MGLX}
|
2009-07-28 20:04:33 +02:00
|
|
|
USE_GL+= gl
|
|
|
|
VIDEO_DRIVER+= video.glx
|
|
|
|
.endif
|
|
|
|
|
2012-10-26 22:08:09 +02:00
|
|
|
.if ${PORT_OPTIONS:MXV}
|
2012-05-12 00:01:55 +02:00
|
|
|
USE_XORG+= xv
|
2009-07-28 20:04:33 +02:00
|
|
|
VIDEO_DRIVER+= video.xv
|
|
|
|
.endif
|
|
|
|
|
2012-10-26 22:08:09 +02:00
|
|
|
.if ${PORT_OPTIONS:MSDL}
|
2012-05-12 00:01:55 +02:00
|
|
|
USE_XORG+= xv
|
2009-07-28 20:04:33 +02:00
|
|
|
USE_SDL+= sdl
|
|
|
|
VIDEO_DRIVER+= video.sdl
|
|
|
|
.endif
|
|
|
|
|
2012-10-26 22:08:09 +02:00
|
|
|
.if ${PORT_OPTIONS:MOPENAL}
|
|
|
|
USE_OPENAL+= al
|
2009-07-28 20:04:33 +02:00
|
|
|
AUDIO_DRIVER+= audio.openal
|
|
|
|
.endif
|
|
|
|
|
2012-10-26 22:08:09 +02:00
|
|
|
.if ${PORT_OPTIONS:MOSS}
|
2009-07-28 20:04:33 +02:00
|
|
|
AUDIO_DRIVER+= audio.oss
|
|
|
|
.endif
|
|
|
|
|
2012-10-26 22:08:09 +02:00
|
|
|
.if ${PORT_OPTIONS:MPULSEAUDIO}
|
|
|
|
LIB_DEPENDS+= pulse:${PORTSDIR}/audio/pulseaudio
|
2009-07-28 20:04:33 +02:00
|
|
|
AUDIO_DRIVER+= audio.pulseaudio
|
|
|
|
.endif
|
|
|
|
|
2012-10-26 22:08:09 +02:00
|
|
|
.if ${PORT_OPTIONS:MAO}
|
|
|
|
LIB_DEPENDS+= ao:${PORTSDIR}/audio/libao
|
2009-07-28 20:04:33 +02:00
|
|
|
AUDIO_DRIVER+= audio.ao
|
|
|
|
.endif
|
|
|
|
|
2012-10-26 22:08:09 +02:00
|
|
|
.if ${PORT_OPTIONS:MINPUT_X}
|
2009-07-28 20:04:33 +02:00
|
|
|
INPUT_DRIVER+= input.x
|
|
|
|
.endif
|
|
|
|
|
2012-10-26 22:08:09 +02:00
|
|
|
.if ${PORT_OPTIONS:MINPUT_SDL}
|
2009-07-28 20:04:33 +02:00
|
|
|
USE_SDL+= sdl
|
|
|
|
INPUT_DRIVER+= input.sdl
|
|
|
|
.endif
|
|
|
|
|
|
|
|
post-patch:
|
2012-10-26 22:08:09 +02:00
|
|
|
${REINPLACE_CMD} \
|
|
|
|
-e 's|%%VIDEO%%|${VIDEO_DRIVER}|' \
|
|
|
|
-e 's|%%AUDIO%%|${AUDIO_DRIVER}|' \
|
|
|
|
-e 's|%%INPUT%%|${INPUT_DRIVER}|' \
|
2013-02-22 14:57:56 +01:00
|
|
|
${WRKSRC}/higan/target-ethos/Makefile
|
2013-05-05 16:21:55 +02:00
|
|
|
.if ${PORT_OPTIONS:MDEBUG}
|
|
|
|
${REINPLACE_CMD} -e 's|-O3|-g|g' \
|
|
|
|
${WRKSRC}/ananke/Makefile \
|
|
|
|
${WRKSRC}/higan/Makefile
|
|
|
|
${REINPLACE_CMD} -e 's|:= -s|:= #|g' \
|
|
|
|
${WRKSRC}/higan/Makefile
|
|
|
|
.endif
|
|
|
|
${RM} ${WRKSRC}/shaders/Sepia.Direct3D.shader
|
2009-11-26 15:32:14 +01:00
|
|
|
|
|
|
|
do-build:
|
2013-02-22 14:57:56 +01:00
|
|
|
.for d in higan ananke
|
2012-10-26 22:08:09 +02:00
|
|
|
.if ${PORT_OPTIONS:MQT4}
|
|
|
|
cd ${WRKSRC}/${d}/phoenix/qt && ${MOC} -i -o platform.moc platform.moc.hpp
|
|
|
|
.endif
|
|
|
|
cd ${WRKSRC}/${d} && ${GMAKE} ${MAKE_ENV}
|
|
|
|
.endfor
|
2009-07-28 20:04:33 +02:00
|
|
|
|
|
|
|
do-install:
|
2013-02-22 14:57:56 +01:00
|
|
|
${INSTALL_LIB} ${WRKSRC}/ananke/libananke.so ${PREFIX}/lib/libananke.so.1
|
|
|
|
${LN} -sf ${PREFIX}/lib/libananke.so.1 ${PREFIX}/lib/libananke.so
|
|
|
|
${INSTALL_PROGRAM} ${WRKSRC}/higan/out/higan ${PREFIX}/bin/
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/higan/data/higan.png ${PREFIX}/share/pixmaps/
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/higan/data/higan.desktop ${PREFIX}/share/applications/
|
2013-05-05 16:21:55 +02:00
|
|
|
${MKDIR} ${DATADIR}/Video\ Shaders
|
|
|
|
(cd ${WRKSRC}/higan/profile && ${COPYTREE_SHARE} \* ${DATADIR}/)
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/shaders/* ${DATADIR}/Video\ Shaders/
|
2009-07-28 20:04:33 +02:00
|
|
|
|
2012-05-12 00:01:55 +02:00
|
|
|
.include <bsd.port.mk>
|