blob: 787eb3c3150bef388bd8a198600a133bdede8f78 (
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
PORTNAME= godot
DISTVERSION= 4.4.1
DISTVERSIONSUFFIX= -stable
PORTREVISION?= 1
CATEGORIES= devel games
MAINTAINER= FreeBSD@Shaneware.biz
COMMENT?= Game runtime engine
WWW= https://godotengine.org/
LICENSE= CC-BY-3.0 MIT
LICENSE_COMB= multi
LICENSE_FILE_CC-BY-3.0= ${WRKSRC}/LOGO_LICENSE.txt
LICENSE_FILE_MIT= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= yasm:devel/yasm
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libgraphite2.so:graphics/graphite2 \
libharfbuzz-icu.so:print/harfbuzz-icu \
libharfbuzz.so:print/harfbuzz \
libpcre2-32.so:devel/pcre2 \
libpng.so:graphics/png \
libvpx.so:multimedia/libvpx
RUN_DEPENDS= xdg-open:devel/xdg-utils \
xdg-user-dir:devel/xdg-user-dirs \
xmessage:x11/xmessage
USES= compiler:c++17-lang cpe gl pkgconfig scons
CPE_VENDOR= godotengine
USE_GITHUB= yes
GH_ACCOUNT= godotengine
USE_GL= gl glew glu
MAKE_ARGS+= platform=linuxbsd \
builtin_freetype=False \
builtin_graphite=False \
builtin_harfbuzz=False \
builtin_libpng=False \
builtin_libvpx=False \
builtin_pcre2=False \
builtin_zlib=False \
verbose=True \
${MAKE_ARGS_${CHOSEN_COMPILER_TYPE}}
MAKE_ARGS_clang= use_llvm=True
CXXFLAGS_i386= ${CXXFLAGS_i386_${CHOSEN_COMPILER_TYPE}}
CXXFLAGS_i386_gcc= -march=i586
GODOTFILE= ${PORTNAME}${PKGNAMESUFFIX}
PLIST_FILES= bin/${GODOTFILE}
OPTIONS_DEFINE= EXAMPLES MOLD TEST TOOLS UDEV WAYLAND X11
OPTIONS_DEFAULT= ALSA UDEV WAYLAND X11
OPTIONS_GROUP= AUDIO
OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO
# Moved to devel/godot-tools
OPTIONS_EXCLUDE?= EXAMPLES TOOLS
AUDIO_DESC= Audio support
MOLD_DESC= Use mold linker for faster compilation
TOOLS_DESC= Include development tools (IDE)
UDEV_DESC= Libudev support (Joystick)
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
ALSA_MAKE_ARGS= alsa=True
ALSA_MAKE_ARGS_OFF= alsa=False
# master head at 6/3 - no branch made for 4.4 yet
EXAMPLES_GH_TUPLE= godotengine:godot-demo-projects:fdb2f50a2088:DEMOS
EXAMPLES_PORTEXAMPLES= *
MOLD_BUILD_DEPENDS= mold:devel/mold
MOLD_MAKE_ARGS= linker=mold
MOLD_MAKE_ARGS_OFF= linker=lld
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
PULSEAUDIO_MAKE_ARGS= pulseaudio=True
PULSEAUDIO_MAKE_ARGS_OFF= pulseaudio=False
TEST_MAKE_ARGS= tests=True
TOOLS_MAKE_ARGS= target=editor
TOOLS_MAKE_ARGS_OFF= target=template_release
TOOLS_DESKTOP_ENTRIES= "Godot Engine" "${COMMENT}" "${GODOTFILE}" \
"${GODOTFILE}" "Development;IDE;" ""
TOOLS_PLIST_FILES= share/icons/hicolor/256x256/apps/${GODOTFILE}.png \
share/icons/hicolor/scalable/apps/${GODOTFILE}.svg
UDEV_BUILD_DEPENDS= ${PREFIX}/include/linux/input.h:devel/evdev-proto
UDEV_LIB_DEPENDS= libudev.so:devel/libudev-devd
UDEV_MAKE_ARGS= udev=True
UDEV_MAKE_ARGS_OFF= udev=False
WAYLAND_BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \
libxkbcommon.so:x11/libxkbcommon
WAYLAND_MAKE_ARGS= wayland=True libdecor=True
WAYLAND_MAKE_ARGS_OFF= wayland=False
X11_USES= xorg
X11_USE= XORG=x11,xcursor,xext,xi,xinerama,xrandr,xrender
X11_MAKE_ARGS= x11=True
X11_MAKE_ARGS_OFF= x11=False
.ifmake makesum
# Always include optional distfiles
.MAKEFLAGS: WITH="${OPTIONS_DEFINE}" OPTIONS_EXCLUDE=
.endif
.include <bsd.port.options.mk>
.if ${ARCH} == powerpc || ${ARCH:Mriscv64*}
MAKE_ARGS+= module_embree_enabled=no \
module_raycast_enabled=no \
module_webm_enabled=no
.endif
post-patch:
@${REINPLACE_CMD} -e 's|custom_build|${OPSYS}_Ports_build|' \
${WRKSRC}/methods.py
# The official godot binary name reflects options used to compile
# We just want a simple name matching the portname
# This gives us bin/godot for runtime and bin/godot-tools for the IDE
do-install:
@${RM} ${WRKSRC}/bin/*.debugsymbols
cd ${WRKSRC}/bin && ${INSTALL_PROGRAM} godot.linuxbsd* \
${STAGEDIR}/${PREFIX}/bin/${GODOTFILE}
do-install-EXAMPLES-on:
(cd ${WRKSRC_DEMOS} && ${COPYTREE_SHARE} "${PORTEXAMPLES}" \
${STAGEDIR}${EXAMPLESDIR})
do-install-TOOLS-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps \
${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps
${INSTALL_DATA} ${WRKSRC}/icon.png \
${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps/${GODOTFILE}.png
${INSTALL_DATA} ${WRKSRC}/icon.svg \
${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/${GODOTFILE}.svg
.if ${PORT_OPTIONS:MTEST}
do-test:
${MKDIR} ~/.cache/godot
cd ${TEST_WRKSRC} && bin/godot.linuxbsd* --verbose --test
.endif
.include <bsd.port.mk>
|