blob: 94cf23f1928da8c0336ebb4ceb63bb7db9e690f4 (
plain)
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
|
PORTNAME= rpcs3
DISTVERSIONPREFIX= v
DISTVERSION= 0.0.31-16181 # git rev-list --count HEAD
DISTVERSIONSUFFIX= -gadc8a360ad
CATEGORIES= emulators wayland
MAINTAINER= jbeich@FreeBSD.org
COMMENT= PS3 emulator/debugger
WWW= https://rpcs3.net/
LICENSE= APACHE20 ISCL GPLv2 MIT ZLIB
LICENSE_COMB= multi
LICENSE_FILE_ISCL= ${WRKSRC_cubeb}/LICENSE
LICENSE_FILE_ZLIB= ${WRKSRC_asmjit}/LICENSE.md
BUILD_DEPENDS= flatc:devel/flatbuffers
LIB_DEPENDS= libxxhash.so:devel/xxhash \
libcurl.so:ftp/curl \
libpng.so:graphics/png \
libavcodec.so:multimedia/ffmpeg \
libpugixml.so:textproc/pugixml
ONLY_FOR_ARCHS= aarch64 amd64
ONLY_FOR_ARCHS_REASON= requires int128 and SSE2
USE_GITHUB= yes
GH_ACCOUNT= RPCS3
GH_TUPLE= RPCS3:hidapi:hidapi-0.14.0-2-g8b43a97:hidapi/3rdparty/hidapi/hidapi \
RPCS3:soundtouch:2.3.1-30-gced3ce8:soundtouch/3rdparty/SoundTouch/soundtouch \
asmjit:asmjit:416f735:asmjit/3rdparty/asmjit/asmjit \
jbeder:yaml-cpp:0.8.0-11-g456c68f:yamlcpp/3rdparty/yaml-cpp/yaml-cpp \
KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-323-ge867c06:spirv_headers/3rdparty/SPIRV/SPIRV-Headers \
KhronosGroup:SPIRV-Tools:v2023.5.rc1:spirv_tools/3rdparty/SPIRV/SPIRV-Tools \
KhronosGroup:glslang:13.1.1:glslang/3rdparty/glslang/glslang \
kinetiknz:cubeb:cubeb-0.2-1425-g88585b6:cubeb/3rdparty/cubeb/cubeb \
miniupnp:miniupnp:miniupnpd_2_3_5:miniupnp/3rdparty/miniupnp/miniupnp \
wolfSSL:wolfssl:v5.6.6-stable:wolfssl/3rdparty/wolfssl/wolfssl
USES= cmake elfctl gl iconv:wchar_t llvm:min=16,lib localbase:ldflags \
openal:soft pkgconfig python:build qt:6 xorg
USE_GL= gl glew
USE_QT= base multimedia svg
USE_XORG= x11
CMAKE_ON= CMAKE_SKIP_RPATH ${CURL FFMPEG FLATBUFFERS LIBPNG PUGIXML XXHASH:L:S/^/USE_SYSTEM_/}
CMAKE_ON+= BUNDLE_SPEEX # only used by cubeb tests
CMAKE_OFF= USE_NATIVE_INSTRUCTIONS USE_PRECOMPILED_HEADERS
LDFLAGS+= -Wl,--as-needed # GLU
ELF_FEATURES= +wxneeded:bin/${PORTNAME}
OPTIONS_DEFINE= ALSA EVDEV FAUDIO PULSEAUDIO JACK SDL SNDIO VULKAN
OPTIONS_DEFAULT=EVDEV FAUDIO PULSEAUDIO JACK SDL SNDIO VULKAN
ALSA_BUILD_DEPENDS= alsa-lib>0:audio/alsa-lib
ALSA_CMAKE_BOOL= USE_ALSA
EVDEV_DESC= libevdev-based joystick support
EVDEV_CMAKE_BOOL= USE_LIBEVDEV
EVDEV_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto
EVDEV_LIB_DEPENDS= libevdev.so:devel/libevdev \
libudev.so:devel/libudev-devd
FAUDIO_DESC= FAudio audio support
FAUDIO_LIB_DEPENDS= libFAudio.so:audio/faudio
FAUDIO_CMAKE_BOOL= USE_FAUDIO USE_SYSTEM_FAUDIO
JACK_BUILD_DEPENDS= jackit>0:audio/jack
JACK_CMAKE_BOOL= USE_JACK
PULSEAUDIO_BUILD_DEPENDS=pulseaudio>0:audio/pulseaudio
PULSEAUDIO_CMAKE_BOOL= USE_PULSE
SDL_USES= sdl
SDL_USE= SDL=sdl2
SDL_CMAKE_BOOL= USE_SDL USE_SYSTEM_SDL
SNDIO_BUILD_DEPENDS= sndio>0:audio/sndio
SNDIO_CMAKE_BOOL= USE_SNDIO
VULKAN_DESC= Vulkan renderer
VULKAN_BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
VULKAN_CMAKE_BOOL= USE_VULKAN
# XXX Unbundle audio/rtmidi
GH_TUPLE+= thestk:rtmidi:6.0.0:rtmidi/3rdparty/rtmidi/rtmidi
ALSA_LIB_DEPENDS+= libasound.so:audio/alsa-lib
ALSA_CMAKE_BOOL+= RTMIDI_API_ALSA
JACK_LIB_DEPENDS+= libjack.so:audio/jack
JACK_CMAKE_BOOL+= RTMIDI_API_JACK
post-patch:
@${REINPLACE_CMD} -e '/GIT_BRANCH/s/local_build/master/' \
-e '/GIT_FULL_BRANCH/s/local_build/${GH_ACCOUNT}\/${GH_PROJECT}\/master/' \
-e '/GIT_VERSION/s/local_build/${GH_TAGNAME:C/[^-]*-//}/' \
${WRKSRC}/${PORTNAME}/git-version.cmake
# XXX Drop after FreeBSD 13.2 EOL around 2024-05-01
.if !exists(/usr/include/c++/v1/__ranges/as_rvalue_view.h)
PATH:= ${LLVM_PREFIX}/bin:${PATH} # XXX _CMAKE_TOOLCHAIN_SUFFIX vs. devel/llvm*
CC= clang${LLVM_VERSION}
CXX= clang++${LLVM_VERSION}
CPP= clang-cpp${LLVM_VERSION}
CONFIGURE_ENV+= CC="${CC}" CXX="${CXX}" CPP="${CPP}"
.endif
.include <bsd.port.mk>
|