| 7 |
7 |
# * Update DOLPHIN_TAG_COMMIT to match commit used in tag.
|
| 8 |
8 |
# * Update *_COMMIT for the vendored packages based on their submodules in Externals/.
|
| 9 |
9 |
|
| 10 |
|
LLVM_COMPAT=( {18..22} )
|
|
10 |
LLVM_COMPAT=( {18..23} )
|
| 11 |
11 |
LLVM_OPTIONAL=1
|
| 12 |
12 |
|
| 13 |
|
inherit branding cmake llvm-r2 pax-utils xdg
|
|
13 |
inherit branding cmake llvm-r2 pax-utils toolchain-funcs xdg
|
| 14 |
14 |
|
| 15 |
15 |
if [[ ${PV} == *9999 ]]; then
|
| 16 |
16 |
inherit git-r3
|
| ... | ... | |
| 28 |
28 |
)
|
| 29 |
29 |
else
|
| 30 |
30 |
# bug #979791
|
| 31 |
|
DOLPHIN_TAG_COMMIT=c77bbaa0f372c3f72281602a8b087206706542cb
|
|
31 |
DOLPHIN_TAG_COMMIT=6094cfcf7b8fba733b3116fdf3414d51c1c0e4a4
|
| 32 |
32 |
|
| 33 |
33 |
CPPIPC_COMMIT=ce0773b3e6d5abaa8d104100c5704321113853ca
|
| 34 |
34 |
CPPOPTPARSE_COMMIT=2265d647232249a53a03b411099863ceca35f0d3
|
| ... | ... | |
| 63 |
63 |
-> rcheevos-${RCHEEVOS_COMMIT}.tar.gz
|
| 64 |
64 |
)
|
| 65 |
65 |
"
|
| 66 |
|
KEYWORDS="amd64 ~arm64"
|
|
66 |
KEYWORDS="~amd64 ~arm64"
|
| 67 |
67 |
fi
|
| 68 |
68 |
|
| 69 |
69 |
DESCRIPTION="Gamecube and Wii game emulator"
|
| ... | ... | |
| 175 |
175 |
}
|
| 176 |
176 |
add_bundled_licenses
|
| 177 |
177 |
|
| 178 |
|
PATCHES=(
|
| 179 |
|
"${FILESDIR}"/dolphin-2603-mbgba-definitions.patch
|
| 180 |
|
)
|
|
178 |
# TODO: use eclass function when it exists, bug #892331
|
|
179 |
tc-check-cxx-min_ver() {
|
|
180 |
do_check() {
|
|
181 |
debug-print "C++ library version check for ${1}"
|
|
182 |
debug-print "Detected: ${2}"
|
|
183 |
debug-print "Required: ${3}"
|
|
184 |
if ver_test ${2} -lt ${3}; then
|
|
185 |
eerror "Your current C++ library is too old for this package!"
|
|
186 |
die "Active C++ library is too old for this package (found ${1} ${2})."
|
|
187 |
fi
|
|
188 |
}
|
|
189 |
|
|
190 |
get_cxx_version() {
|
|
191 |
$(tc-getCXX) -x c++ -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | sed -n 's/^GENTOO_CXX_VERSION \(.*\)$/\1/p'
|
|
192 |
#if __cplusplus >= 202002L
|
|
193 |
#include <version>
|
|
194 |
#else
|
|
195 |
#include <ciso646>
|
|
196 |
#endif
|
|
197 |
GENTOO_CXX_VERSION ${1}
|
|
198 |
EOF
|
|
199 |
}
|
|
200 |
|
|
201 |
case ${1} in
|
|
202 |
libc++)
|
|
203 |
[[ $(tc-get-cxx-stdlib) == libc++ ]] || return
|
|
204 |
do_check libc++ $(get_cxx_version _LIBCPP_VERSION) ${2}
|
|
205 |
;;
|
|
206 |
libstdc++)
|
|
207 |
[[ $(tc-get-cxx-stdlib) == libstdc++ ]] || return
|
|
208 |
do_check libstdc++ $(get_cxx_version _GLIBCXX_RELEASE) ${2}
|
|
209 |
;;
|
|
210 |
*)
|
|
211 |
eerror "Unknown first parameter for ${FUNCNAME} - must be libc++ or libstdc++"
|
|
212 |
die "${FUNCNAME}: Parameter ${1} unknown"
|
|
213 |
;;
|
|
214 |
esac
|
|
215 |
}
|
|
216 |
|
|
217 |
is_toolchain_new_enough() {
|
|
218 |
# See libstdc++_min_version and libc++_min_version in CMakeLists.txt
|
|
219 |
tc-check-cxx-min_ver libstdc++ 12
|
|
220 |
tc-check-cxx-min_ver libc++ 180000
|
|
221 |
}
|
|
222 |
|
|
223 |
pkg_pretend() {
|
|
224 |
[[ ${MERGE_TYPE} != binary ]] && is_toolchain_new_enough
|
|
225 |
}
|
| 181 |
226 |
|
| 182 |
227 |
pkg_setup() {
|
|
228 |
[[ ${MERGE_TYPE} != binary ]] && is_toolchain_new_enough
|
|
229 |
|
| 183 |
230 |
use llvm && llvm-r2_pkg_setup
|
| 184 |
231 |
}
|
| 185 |
232 |
|
| ... | ... | |
| 216 |
263 |
einfo "removing sources: ${remove[*]}"
|
| 217 |
264 |
rm -r "${remove[@]}" || die
|
| 218 |
265 |
|
| 219 |
|
# Use ccache only when user did set FEATURES=ccache (or similar)
|
| 220 |
|
# # not when ccache binary is present in system (automagic).
|
| 221 |
|
sed -e '/include(CCache)/d' -i CMakeLists.txt || die
|
| 222 |
|
|
| 223 |
266 |
# Remove dirty suffix: needed for netplay
|
| 224 |
267 |
sed -i -e 's/--dirty/&=""/' CMake/ScmRevGen.cmake || die
|
| 225 |
268 |
}
|
| ... | ... | |
| 277 |
320 |
|
| 278 |
321 |
-DDISTRIBUTOR="${BRANDING_OS_NAME}"
|
| 279 |
322 |
|
|
323 |
# Use ccache only when user did set FEATURES=ccache (or similar)
|
|
324 |
-DENABLE_CCACHE=OFF
|
|
325 |
|
| 280 |
326 |
# Undo cmake.eclass's defaults.
|
| 281 |
327 |
# All dolphin's libraries are private
|
| 282 |
328 |
# and rely on circular dependency resolution.
|