View | Details | Raw Unified | Return to bug 261173 | Differences between
and this patch

Collapse All | Expand All

(-)b/emulators/rpcs3/Makefile (-3 / +2 lines)
Lines 1-117 Link Here
1
PORTNAME=	rpcs3
1
PORTNAME=	rpcs3
2
DISTVERSIONPREFIX=	v
2
DISTVERSIONPREFIX=	v
3
DISTVERSION=	0.0.20-13155 # git rev-list --count HEAD
3
DISTVERSION=	0.0.20-13155 # git rev-list --count HEAD
4
DISTVERSIONSUFFIX=	-g83026fd26
4
DISTVERSIONSUFFIX=	-g83026fd26
5
CATEGORIES=	emulators
5
CATEGORIES=	emulators
6
6
7
MAINTAINER=	jbeich@FreeBSD.org
7
MAINTAINER=	jbeich@FreeBSD.org
8
COMMENT=	PS3 emulator/debugger
8
COMMENT=	PS3 emulator/debugger
9
9
10
LICENSE=	APACHE20 ISCL GPLv2 MIT ZLIB
10
LICENSE=	APACHE20 ISCL GPLv2 MIT ZLIB
11
LICENSE_COMB=	multi
11
LICENSE_COMB=	multi
12
LICENSE_FILE_ISCL=	${WRKSRC_cubeb}/LICENSE
12
LICENSE_FILE_ISCL=	${WRKSRC_cubeb}/LICENSE
13
LICENSE_FILE_MIT=	${WRKSRC_pugixml}/LICENSE.md
13
LICENSE_FILE_MIT=	${WRKSRC_pugixml}/LICENSE.md
14
LICENSE_FILE_ZLIB=	${WRKSRC_asmjit}/LICENSE.md
14
LICENSE_FILE_ZLIB=	${WRKSRC_asmjit}/LICENSE.md
15
15
16
LIB_DEPENDS=	libcurl.so:ftp/curl \
16
LIB_DEPENDS=	libcurl.so:ftp/curl \
17
		libpng.so:graphics/png \
17
		libpng.so:graphics/png \
18
		libavcodec.so:multimedia/ffmpeg
18
		libavcodec.so:multimedia/ffmpeg
19
19
20
ONLY_FOR_ARCHS=	amd64
20
ONLY_FOR_ARCHS=	amd64
21
ONLY_FOR_ARCHS_REASON=	requires int128 and SSE2
21
ONLY_FOR_ARCHS_REASON=	requires int128 and SSE2
22
22
23
USE_GITHUB=	yes
23
USE_GITHUB=	yes
24
GH_ACCOUNT=	RPCS3
24
GH_ACCOUNT=	RPCS3
25
GH_TUPLE=	RPCS3:hidapi:hidapi-0.11.0-2-gc47734c:hidapi/3rdparty/hidapi/hidapi \
25
GH_TUPLE=	RPCS3:hidapi:hidapi-0.11.0-2-gc47734c:hidapi/3rdparty/hidapi/hidapi \
26
		RPCS3:llvm-mirror:509d31ad8967:llvm/llvm \
26
		RPCS3:llvm-mirror:509d31ad8967:llvm/llvm \
27
		Cyan4973:xxHash:v0.8.1:xxHash/3rdparty/xxHash \
27
		Cyan4973:xxHash:v0.8.1:xxHash/3rdparty/xxHash \
28
		asmjit:asmjit:eae7197:asmjit/3rdparty/asmjit/asmjit \
28
		asmjit:asmjit:eae7197:asmjit/3rdparty/asmjit/asmjit \
29
		google:flatbuffers:v2.0.0:flatbuffers/3rdparty/flatbuffers \
29
		google:flatbuffers:v2.0.0:flatbuffers/3rdparty/flatbuffers \
30
		jbeder:yaml-cpp:yaml-cpp-0.7.0-1-g0b67821:yamlcpp/3rdparty/yaml-cpp/yaml-cpp \
30
		jbeder:yaml-cpp:yaml-cpp-0.7.0-1-g0b67821:yamlcpp/3rdparty/yaml-cpp/yaml-cpp \
31
		KhronosGroup:SPIRV-Headers:1.5.3.reservations1:spirv_headers/3rdparty/SPIRV/SPIRV-Headers \
31
		KhronosGroup:SPIRV-Headers:1.5.3.reservations1:spirv_headers/3rdparty/SPIRV/SPIRV-Headers \
32
		KhronosGroup:SPIRV-Tools:v2020.4:spirv_tools/3rdparty/SPIRV/SPIRV-Tools \
32
		KhronosGroup:SPIRV-Tools:v2020.4:spirv_tools/3rdparty/SPIRV/SPIRV-Tools \
33
		KhronosGroup:glslang:11.7.1:glslang/3rdparty/glslang/glslang \
33
		KhronosGroup:glslang:11.7.1:glslang/3rdparty/glslang/glslang \
34
		kinetiknz:cubeb:cubeb-0.2-1345-g773f16b:cubeb/3rdparty/cubeb/cubeb \
34
		kinetiknz:cubeb:cubeb-0.2-1345-g773f16b:cubeb/3rdparty/cubeb/cubeb \
35
		wolfSSL:wolfssl:v4.8.1-stable:wolfssl/3rdparty/wolfssl/wolfssl \
35
		wolfSSL:wolfssl:v4.8.1-stable:wolfssl/3rdparty/wolfssl/wolfssl \
36
		zeux:pugixml:v1.11.4:pugixml/3rdparty/pugixml
36
		zeux:pugixml:v1.11.4:pugixml/3rdparty/pugixml
37
37
38
USES=		cmake compiler:c++17-lang gl iconv:wchar_t localbase:ldflags \
38
USES=		cmake compiler:c++17-lang gl iconv:wchar_t localbase:ldflags \
39
		openal:soft pkgconfig python:3.4+,build qt:5 xorg
39
		openal:soft pkgconfig python:3.4+,build qt:5 xorg
40
USE_GL=		gl glew
40
USE_GL=		gl glew
41
USE_QT=		qmake_build buildtools_build core concurrent dbus gui multimedia svg widgets
41
USE_QT=		qmake_build buildtools_build core concurrent dbus gui multimedia svg widgets
42
USE_XORG=	x11
42
USE_XORG=	x11
43
CMAKE_ON=	CMAKE_SKIP_RPATH USE_SYSTEM_CURL USE_SYSTEM_FFMPEG USE_SYSTEM_LIBPNG
43
CMAKE_ON=	CMAKE_SKIP_RPATH USE_SYSTEM_CURL USE_SYSTEM_FFMPEG USE_SYSTEM_LIBPNG
44
CMAKE_ON+=	BUNDLE_SPEEX # only used by cubeb tests
44
CMAKE_ON+=	BUNDLE_SPEEX # only used by cubeb tests
45
CMAKE_OFF=	USE_NATIVE_INSTRUCTIONS USE_PRECOMPILED_HEADERS
45
CMAKE_OFF=	USE_NATIVE_INSTRUCTIONS USE_PRECOMPILED_HEADERS
46
LDFLAGS+=	-Wl,--as-needed # GLU
46
LDFLAGS+=	-Wl,--as-needed # GLU
47
47
48
OPTIONS_DEFINE=	ALSA EVDEV FAUDIO PULSEAUDIO JACK SNDIO VULKAN
48
OPTIONS_DEFINE=	ALSA EVDEV FAUDIO PULSEAUDIO JACK SNDIO VULKAN
49
OPTIONS_DEFAULT=EVDEV FAUDIO PULSEAUDIO JACK SNDIO VULKAN
49
OPTIONS_DEFAULT=EVDEV FAUDIO PULSEAUDIO JACK SNDIO VULKAN
50
50
51
ALSA_BUILD_DEPENDS=	alsa-lib>0:audio/alsa-lib
51
ALSA_BUILD_DEPENDS=	alsa-lib>0:audio/alsa-lib
52
ALSA_CMAKE_BOOL=	USE_ALSA
52
ALSA_CMAKE_BOOL=	USE_ALSA
53
53
54
EVDEV_DESC=		libevdev-based joystick support
54
EVDEV_DESC=		libevdev-based joystick support
55
EVDEV_CMAKE_BOOL=	USE_LIBEVDEV
55
EVDEV_CMAKE_BOOL=	USE_LIBEVDEV
56
EVDEV_BUILD_DEPENDS=	evdev-proto>0:devel/evdev-proto
56
EVDEV_BUILD_DEPENDS=	evdev-proto>0:devel/evdev-proto
57
EVDEV_LIB_DEPENDS=	libevdev.so:devel/libevdev
57
EVDEV_LIB_DEPENDS=	libevdev.so:devel/libevdev
58
58
59
FAUDIO_DESC=		FAudio audio support
59
FAUDIO_DESC=		FAudio audio support
60
FAUDIO_LIB_DEPENDS=	libFAudio.so:audio/faudio
60
FAUDIO_LIB_DEPENDS=	libFAudio.so:audio/faudio
61
FAUDIO_CMAKE_BOOL=	USE_FAUDIO USE_SYSTEM_FAUDIO
61
FAUDIO_CMAKE_BOOL=	USE_FAUDIO USE_SYSTEM_FAUDIO
62
62
63
JACK_BUILD_DEPENDS=	jackit>0:audio/jack
63
JACK_BUILD_DEPENDS=	jackit>0:audio/jack
64
JACK_CMAKE_BOOL=	USE_JACK
64
JACK_CMAKE_BOOL=	USE_JACK
65
65
66
PULSEAUDIO_BUILD_DEPENDS=pulseaudio>0:audio/pulseaudio
66
PULSEAUDIO_BUILD_DEPENDS=pulseaudio>0:audio/pulseaudio
67
PULSEAUDIO_CMAKE_BOOL=	USE_PULSE
67
PULSEAUDIO_CMAKE_BOOL=	USE_PULSE
68
68
69
SNDIO_BUILD_DEPENDS=	sndio>0:audio/sndio
69
SNDIO_BUILD_DEPENDS=	sndio>0:audio/sndio
70
SNDIO_CMAKE_BOOL=	USE_SNDIO
70
SNDIO_CMAKE_BOOL=	USE_SNDIO
71
71
72
VULKAN_DESC=		Vulkan renderer
72
VULKAN_DESC=		Vulkan renderer
73
VULKAN_BUILD_DEPENDS=	${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
73
VULKAN_BUILD_DEPENDS=	${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
74
VULKAN_LIB_DEPENDS=	libvulkan.so:graphics/vulkan-loader
74
VULKAN_LIB_DEPENDS=	libvulkan.so:graphics/vulkan-loader
75
VULKAN_CMAKE_BOOL=	USE_VULKAN
75
VULKAN_CMAKE_BOOL=	USE_VULKAN
76
76
77
post-patch:
77
post-patch:
78
	@${REINPLACE_CMD} -e '/GIT_BRANCH/s/local_build/master/' \
78
	@${REINPLACE_CMD} -e '/GIT_BRANCH/s/local_build/master/' \
79
		 -e '/GIT_FULL_BRANCH/s/local_build/${GH_ACCOUNT}\/${GH_PROJECT}\/master/' \
79
		 -e '/GIT_FULL_BRANCH/s/local_build/${GH_ACCOUNT}\/${GH_PROJECT}\/master/' \
80
		-e '/GIT_VERSION/s/local_build/${GH_TAGNAME:C/[^-]*-//}/' \
80
		-e '/GIT_VERSION/s/local_build/${GH_TAGNAME:C/[^-]*-//}/' \
81
		${WRKSRC}/${PORTNAME}/git-version.cmake
81
		${WRKSRC}/${PORTNAME}/git-version.cmake
82
82
83
post-install:
83
post-install:
84
.if exists(/usr/bin/elfctl)
84
.if exists(/usr/bin/elfctl)
85
. if 0
85
. if ${OSVERSION} >= 1300000
86
	elfctl -e +noaslr ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
86
	elfctl -e +noaslr +wxneeded ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
87
. else
87
. else
88
# FreeBSD 12.2 lacks https://cgit.freebsd.org/src/commit/?id=f56d7f838f5b
88
# FreeBSD 12.2 lacks https://cgit.freebsd.org/src/commit/?id=f56d7f838f5b
89
	elfctl -e +aslr ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
89
	elfctl -e +aslr ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
90
. endif
90
. endif
91
.endif
91
.endif
92
92
93
.include <bsd.port.pre.mk>
93
.include <bsd.port.pre.mk>
94
94
95
# Ignore Mk/bsd.default-versions.mk but respect make.conf(5)
95
# Ignore Mk/bsd.default-versions.mk but respect make.conf(5)
96
.if !defined(DEFAULT_VERSIONS) || ! ${DEFAULT_VERSIONS:Mllvm*}
96
.if !defined(DEFAULT_VERSIONS) || ! ${DEFAULT_VERSIONS:Mllvm*}
97
LLVM_DEFAULT=	13 # bump if not latest release
97
LLVM_DEFAULT=	13 # bump if not latest release
98
.endif
98
.endif
99
BUILD_DEPENDS+=	clang++${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
99
BUILD_DEPENDS+=	clang++${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
100
USES:=		${USES:Ncompiler*}
100
USES:=		${USES:Ncompiler*}
101
CC=		clang${LLVM_DEFAULT}
101
CC=		clang${LLVM_DEFAULT}
102
CXX=		clang++${LLVM_DEFAULT}
102
CXX=		clang++${LLVM_DEFAULT}
103
CPP=		clang-cpp${LLVM_DEFAULT}
103
CPP=		clang-cpp${LLVM_DEFAULT}
104
104
105
# XXX Move into separate port and standardize via USES
105
# XXX Move into separate port and standardize via USES
106
GH_TUPLE+=	llvm:llvm-project:llvmorg-13.0.1-rc1:libcxx
106
GH_TUPLE+=	llvm:llvm-project:llvmorg-13.0.1-rc1:libcxx
107
CXXFLAGS+=	-nostdinc++ -isystem${WRKDIR}/libcxx_prefix/include/c++/v1
107
CXXFLAGS+=	-nostdinc++ -isystem${WRKDIR}/libcxx_prefix/include/c++/v1
108
LDFLAGS+=	-nostdlib++ -L${WRKDIR}/libcxx_prefix/lib -l:libc++.a -lcxxrt
108
LDFLAGS+=	-nostdlib++ -L${WRKDIR}/libcxx_prefix/lib -l:libc++.a -lcxxrt
109
109
110
pre-configure:	bundled-libcxx
110
pre-configure:	bundled-libcxx
111
bundled-libcxx:
111
bundled-libcxx:
112
	@${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS:M*Ninja*} \
112
	@${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS:M*Ninja*} \
113
		-DCMAKE_INSTALL_PREFIX:PATH=${WRKDIR}/libcxx_prefix \
113
		-DCMAKE_INSTALL_PREFIX:PATH=${WRKDIR}/libcxx_prefix \
114
		-B ${WRKDIR}/libcxx_build -S ${WRKSRC_libcxx}/libcxx
114
		-B ${WRKDIR}/libcxx_build -S ${WRKSRC_libcxx}/libcxx
115
	@${DO_MAKE_BUILD:NDESTDIR*} install -C ${WRKDIR}/libcxx_build
115
	@${DO_MAKE_BUILD:NDESTDIR*} install -C ${WRKDIR}/libcxx_build
116
116
117
.include <bsd.port.post.mk>
117
.include <bsd.port.post.mk>
118
- 

Return to bug 261173