freebsd-ports/emulators/mupen64plus-core/Makefile.common
Loïc Bartoletti 45ab80b9df archivers/minizip*: Add minizip-ng and zlib-ng and create USES=minizip
Import minizip-ng and zlib-ng

Minizip was originally developed in 1998. It was first included in the zlib
distribution as an additional code contribution starting in zlib 1.1.2. Since
that time, it has been continually improved upon and contributed to by many
people.

+ Creating and extracting zip archives.
+ Adding and removing entries from zip archives.
+ Read and write raw zip entry data.
+ Reading and writing zip archives from memory.
+ Zlib, BZIP2, LZMA, and ZSTD compression methods.
+ Password protection through Traditional PKWARE and WinZIP AES encryption.
+ Buffered streaming for improved I/O performance.

some ports bundle it, some ports allow building against a systemwide
one, some ports bundle/rely on an incompatible version - all those will be
fixed in following commits.

Mk/Uses: Introduce USES=minizip[:ng]

To simplify, the LIB_DEPENDS part a new USES tag is added.

USES=minizip will add a LIB_DEPENDS on legacy minizip and
USES=minizip:ng will add a LIB_DEPENDS on minizip-ng.

minizip [1]:

    databases/spatialite
    databases/spatialite-tools
    devel/collada-dom
    games/mrboom
    games/oolite
    graphics/comical
    misc/xiphos
    science/libkml
    textproc/sigil
    www/domoticz
    deskutils/anydesk
    emulators/mupen64plus-core
    multimedia/assimp
    multimedia/vlc
    net-im/psi
    net-im/telegram-desktop

minizip-ng:

    devel/axmldec

[1] Some are known to work with minizip-ng but have to be patched.

Approved by:	tcberner (portmgr)
Differential Revision:	https://reviews.freebsd.org/D33771
2022-01-25 07:35:22 +01:00

129 lines
4.1 KiB
Makefile

USES+= dos2unix
DOS2UNIX_GLOB= *.c *.cpp *.h *.H *.ini *.conf
DISTNAME= ${PORTNAME}-bundle-src-${PORTVERSION}
PATCHDIR= ${.CURDIR}/files
BUILD_WRKSRC?= ${WRKSRC}/source/${PORTNAME}${PKGNAMESUFFIX}/projects/unix
WRKSRC?= ${WRKDIR}/${DISTNAME}
EXTRACT_AFTER_ARGS?= "${DISTNAME}/source/${PORTNAME}-core/*" \
"${DISTNAME}/source/${PORTNAME}${PKGNAMESUFFIX}/*"
.if ${PKGNAMESUFFIX} == "-core"
LIB_DEPENDS+= libfreetype.so:print/freetype2 \
libpng.so:graphics/png
USES+= minizip
.else
PLIST= ${WRKDIR}/pkg-plist
.endif
.if ${PKGNAMESUFFIX} == "-video-rice"
LIB_DEPENDS+= libpng.so:graphics/png
.endif
.if ${PKGNAMESUFFIX} == "-video-glide64mk"
LIB_DEPENDS+= libboost_thread.so:devel/boost-libs
.endif
.if ${PKGNAMESUFFIX} != "-core"
post-patch:
@cd ${BUILD_WRKSRC} && ${REINPLACE_CMD} -e 's|gcc|${CC}|g' -e \
's|g++|${CXX}|g' -e 's|sdl-config|${SDL2_CONFIG}|g' Makefile
. if ${PKGNAMESUFFIX} == "-video-glide64mk2"
@cd ${WRKSRC}/source/${PORTNAME}${PKGNAMESUFFIX}/src && \
${REINPLACE_CMD} -e 's|#include <thread>||g' \
GlideHQ/TxQuantize.cpp GlideHQ/TxFilter.cpp && \
${REINPLACE_CMD} -e 's|(FxU32)NULL|(uintptr_t)NULL|g' \
Glide64/Main.cpp
. endif
. if ${PKGNAMESUFFIX} == "-video-glide64"
@cd ${WRKSRC}/${PORTNAME}${PKGNAMESUFFIX}/src && \
${REINPLACE_CMD} -e 's|__builtin_ia32_loadups|_mm_loadu_ps|g' -e \
's|__builtin_ia32_storeups|_mm_storeu_ps|g' \
3dmath.cpp && \
${REINPLACE_CMD} -e 's|\"G64_VERSION|\" G64_VERSION|g' -e \
's|FxU32|uintptr_t|g' \
Main.cpp
. endif
pre-install:
@${RM} ${PLIST}
. if ${PKGNAMESUFFIX} == "-video-rice"
@${ECHO_CMD} "%%DATADIR%%/RiceVideoLinux.ini" >> ${PLIST}
. endif
. if ${PKGNAMESUFFIX} == "-video-glide64"
@${ECHO_CMD} "%%DATADIR%%/Glide64.ini" >> ${PLIST}
. endif
. if ${PKGNAMESUFFIX} == "-video-glide64mk2"
@${ECHO_CMD} "%%DATADIR%%/Glide64mk2.ini" >> ${PLIST}
. endif
. if ${PKGNAMESUFFIX} == "-input-sdl"
@${ECHO_CMD} "%%DATADIR%%/InputAutoCfg.ini" >> ${PLIST}
. endif
. if ${PKGNAMESUFFIX} == "-ui-console"
@${ECHO_CMD} "man/man6/mupen64plus.6.gz" >> ${PLIST}
. endif
. if ${PKGNAMESUFFIX} != "-ui-console"
@${ECHO_CMD} "lib/${PORTNAME}/${PORTNAME}${PKGNAMESUFFIX}.so" >> ${PLIST}
. else
@${ECHO_CMD} "bin/${PORTNAME}" >> ${PLIST}
. endif
@${ECHO_CMD} "@dir %%DATADIR%%" >> ${PLIST}
.else
post-patch:
@cd ${BUILD_WRKSRC} && ${REINPLACE_CMD} -e 's|gcc|${CC}|g' -e \
's|g++|${CXX}|g' Makefile
.endif
do-install:
@${MKDIR} ${STAGEDIR}${DATADIR}
.if ${PKGNAMESUFFIX} == "-core"
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/libmupen64plus.so.2.0.0 \
${STAGEDIR}${PREFIX}/lib/libmupen64plus.so.2.0.0
${INSTALL_DATA} ${WRKSRC}/source/${PORTNAME}${PKGNAMESUFFIX}/data/* \
${STAGEDIR}${DATADIR}
@${MKDIR} ${STAGEDIR}${PREFIX}/include/${PORTNAME}
${INSTALL_DATA} ${WRKSRC}/source/${PORTNAME}${PKGNAMESUFFIX}/src/api/m64p_*.h \
${STAGEDIR}${PREFIX}/include/${PORTNAME}
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/source/${PORTNAME}${PKGNAMESUFFIX}/RELEASE \
${STAGEDIR}${DOCSDIR}/RELEASE
${LN} -sf ${PREFIX}/lib/libmupen64plus.so.2.0.0 ${STAGEDIR}${PREFIX}/lib/libmupen64plus.so.2
.else
. if ${PKGNAMESUFFIX} == "-ui-console"
${INSTALL_MAN} ${WRKSRC}/source/${PORTNAME}${PKGNAMESUFFIX}/doc/mupen64plus.6 ${STAGEDIR}${PREFIX}/man/man6/
. endif
. if ${PKGNAMESUFFIX} == "-video-rice"
${INSTALL_DATA} ${WRKSRC}/source/${PORTNAME}${PKGNAMESUFFIX}/data/RiceVideoLinux.ini ${STAGEDIR}${DATADIR}
. endif
. if ${PKGNAMESUFFIX} == "-video-glide64"
${INSTALL_DATA} ${WRKSRC}/${PORTNAME}${PKGNAMESUFFIX}/data/Glide64.ini ${STAGEDIR}${DATADIR}
. endif
. if ${PKGNAMESUFFIX} == "-video-glide64mk2"
${INSTALL_DATA} ${WRKSRC}/source/${PORTNAME}${PKGNAMESUFFIX}/data/Glide64mk2.ini ${STAGEDIR}${DATADIR}
. endif
. if ${PKGNAMESUFFIX} == "-input-sdl"
${INSTALL_DATA} ${WRKSRC}/source/${PORTNAME}${PKGNAMESUFFIX}/data/InputAutoCfg.ini ${STAGEDIR}${DATADIR}
. endif
. if ${PKGNAMESUFFIX} != "-ui-console"
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/${PORTNAME}${PKGNAMESUFFIX}.so ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
. else
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
. endif
.endif