aboutsummaryrefslogtreecommitdiffstats
path: root/games/0ad/Makefile
blob: 6970ab8eb0e63c9eb557a5b5a662e1a300df881d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# $FreeBSD$

PORTNAME=   0ad
PORTVERSION=    0.0.19
CATEGORIES= games
MASTER_SITES=   SF/zero-ad/releases
DISTFILES=  ${PORTNAME}-${PORTVERSION}-alpha-unix-build.tar.xz \
        ${PORTNAME}-${PORTVERSION}-alpha-unix-data.tar.xz

MAINTAINER= madpilot@FreeBSD.org
COMMENT=    Real-time strategy (RTS) game of ancient warfare

BUILD_DEPENDS=  zip:${PORTSDIR}/archivers/zip \
        cmake:${PORTSDIR}/devel/cmake
LIB_DEPENDS=    libboost_thread.so:${PORTSDIR}/devel/boost-libs \
        libexecinfo.so:${PORTSDIR}/devel/libexecinfo \
        libpng.so:${PORTSDIR}/graphics/png \
        libogg.so:${PORTSDIR}/audio/libogg \
        libvorbis.so:${PORTSDIR}/audio/libvorbis \
        libcurl.so:${PORTSDIR}/ftp/curl \
        libgloox.so:${PORTSDIR}/net-im/gloox \
        libminiupnpc.so:${PORTSDIR}/net/miniupnpc \
        libnspr4.so:${PORTSDIR}/devel/nspr \
        libenet.so:${PORTSDIR}/net/enet

WRKSRC=     ${WRKDIR}/${PORTNAME}-${PORTVERSION}-alpha
BUILD_WRKSRC=   ${WRKSRC}/build/workspaces/gcc
MAKE_ARGS=  config=release
USES=       compiler:c++11-lib dos2unix gmake iconv openal:al \
        pkgconfig tar:xz
USE_GNOME=  libxml2 gtk20
USE_GL=     gl
BUNDLE_LIBS=    yes
DOS2UNIX_REGEX= .*\.([ch]p{0,2}|make)

USE_WX=     2.8+
WX_COMPS=   wx:lib
MAKE_ENV+=  JOBS=${_MAKE_JOBS}

OPTIONS_SINGLE=     SDL_VERSION
OPTIONS_SINGLE_SDL_VERSION= SDL SDL2
OPTIONS_DEFAULT=    SDL2

SDL_VERSION_DESC=   SDL version
SDL_DESC=       Use SDL 1.2 (deprecated)
SDL2_DESC=      Use SDL 2.0

SDL_USE=        SDL=sdl
SDL_VARS=       0ADSDLARG=--sdl1
SDL2_USE=       SDL=sdl2

MANUAL_PACKAGE_BUILD=   huge

PORTDATA=   *

.include <bsd.port.pre.mk>

.if ${OSVERSION} < 1000024
BROKEN=     segfaults during build
.endif

post-patch:
    @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
            -e 's|%%CC%%|${CC}|' \
        ${WRKSRC}/build/premake/premake4.lua
.if ${ARCH} == i386 && ${CHOSEN_COMPILER_TYPE} == gcc
    @${REINPLACE_CMD} -e '1055,1251s/-rdynamic/-lssp_nonshared &/' \
            -e '1441s/"execinfo",/& "ssp_nonshared",/' \
        ${WRKSRC}/build/premake/premake4.lua
.endif
    @${REINPLACE_CMD} 's,^\(Exec=\)/usr/local,\1${PREFIX},' \
        ${WRKSRC}/build/resources/0ad.desktop
    @${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|' \
        ${WRKSRC}/build/resources/0ad.sh

pre-build:
    (cd ${WRKSRC}/build/workspaces && ${SETENV} ${MAKE_ENV} ./update-workspaces.sh ${0ADSDLARG} --bindir=${PREFIX}/bin --datadir=${DATADIR} --libdir=${PREFIX}/lib/${PORTNAME})

do-install:
    ${INSTALL_PROGRAM} ${WRKSRC}/binaries/system/pyrogenesis ${STAGEDIR}${PREFIX}/bin
    ${INSTALL_SCRIPT} ${WRKSRC}/build/resources/0ad.sh ${STAGEDIR}${PREFIX}/bin/0ad
    ${INSTALL_PROGRAM} ${WRKSRC}/binaries/system/ActorEditor ${STAGEDIR}${PREFIX}/bin
    ${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
    (cd ${WRKSRC}/binaries/system && ${INSTALL_LIB} libAtlasUI.so libCollada.so libnvcore.so libnvimage.so libnvmath.so libnvtt.so ${STAGEDIR}${PREFIX}/lib/${PORTNAME})
    (cd ${WRKSRC}/binaries/system && ${INSTALL_LIB} libmozjs31-ps-release.so ${STAGEDIR}${PREFIX}/lib/${PORTNAME})
    ${INSTALL_DATA} ${WRKSRC}/build/resources/0ad.desktop ${STAGEDIR}${PREFIX}/share/applications
    ${INSTALL_DATA} ${WRKSRC}/build/resources/0ad.png ${STAGEDIR}${PREFIX}/share/pixmaps
    ${MKDIR} ${STAGEDIR}${DATADIR}
    (cd ${WRKSRC}/binaries/data && ${COPYTREE_SHARE} "config l10n tests tools" ${STAGEDIR}${DATADIR})
    ${MKDIR} ${STAGEDIR}${DATADIR}/mods/public ${STAGEDIR}${DATADIR}/mods/mod
    ${TAR} xf ${WRKSRC}/binaries/data/mods/public/public.zip -C ${STAGEDIR}${DATADIR}/mods/public --no-same-permissions
    ${TAR} xf ${WRKSRC}/binaries/data/mods/mod/mod.zip -C ${STAGEDIR}${DATADIR}/mods/mod --no-same-permissions

.include <bsd.port.post.mk>