blob: 5792fa5ac7e7d843d8e0693a0c109c2fa4f99541 (
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
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
|
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools flag-o-matic gnome2-utils xdg-utils
DESCRIPTION="Super Nintendo Entertainment System (SNES) emulator"
HOMEPAGE="https://github.com/snes9xgit/snes9x"
SRC_URI="https://github.com/snes9xgit/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Snes9x GPL-2 GPL-2+ LGPL-2.1 LGPL-2.1+ ISC MIT ZLIB Info-ZIP"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~x86 ~x86-fbsd"
IUSE="alsa debug gtk joystick multilib netplay nls opengl oss png pulseaudio portaudio wayland xinerama +xv"
RESTRICT="bindist"
RDEPEND="
sys-libs/zlib:=[minizip]
x11-libs/libX11
x11-libs/libXext
png? ( media-libs/libpng:0= )
gtk? (
dev-libs/glib:2
dev-libs/libxml2
>=x11-libs/gtk+-3.22:3[wayland?]
x11-libs/libXrandr
x11-misc/xdg-utils
alsa? ( media-libs/alsa-lib )
joystick? ( media-libs/libsdl2[joystick] )
opengl? (
media-libs/libepoxy
virtual/opengl
)
portaudio? ( >=media-libs/portaudio-19_pre )
pulseaudio? ( media-sound/pulseaudio )
xv? ( x11-libs/libXv )
wayland? ( dev-libs/wayland )
)
xinerama? ( x11-libs/libXinerama )"
DEPEND="${RDEPEND}
virtual/pkgconfig
x11-base/xorg-proto
nls? ( dev-util/intltool )"
S="${WORKDIR}/${P}/unix"
PATCHES=(
"${FILESDIR}"/${PN}-1.53-cross-compile.patch
"${FILESDIR}"/${PN}-1.56-build-system.patch
)
src_prepare() {
cd "${WORKDIR}"/${P} || die
rm -r unzip || die
default
cd unix || die
eautoreconf
if use gtk; then
cd ../gtk || die
eautoreconf
fi
}
src_configure() {
append-ldflags -Wl,-z,noexecstack
# build breaks when zlib/zip support is disabled
local myeconfargs=(
--enable-gzip
--enable-zip
--with-system-zip
$(use_enable joystick gamepad)
$(use_enable debug debugger)
$(use_enable netplay)
$(use_enable png screenshot)
$(use_enable xinerama)
)
econf "${myeconfargs[@]}"
if use gtk; then
cd ../gtk || die
myeconfargs=(
--with-gtk3
--with-zlib
--with-system-zip
--without-gtk2
$(use_enable nls)
$(use_with opengl)
$(use_with joystick)
$(use_with xv)
$(use_with netplay)
$(use_with alsa)
$(use_with oss)
$(use_with pulseaudio)
$(use_with portaudio)
$(use_with png screenshot)
$(use_with wayland)
)
econf "${myeconfargs[@]}"
fi
}
src_compile() {
emake
use gtk && emake -C ../gtk
}
src_install() {
dobin ${PN}
dodoc ../docs/{snes9x.conf.default,{changes,control-inputs,controls,snapshots}.txt}
if use gtk; then
emake -C ../gtk DESTDIR="${D}" install
dodoc ../gtk/{AUTHORS,doc/README}
fi
docinto html
dodoc {.,..}/docs/*.html
}
pkg_preinst() {
use gtk && gnome2_icon_savelist
}
pkg_postinst() {
if use gtk ; then
gnome2_icon_cache_update
xdg_desktop_database_update
fi
}
pkg_postrm() {
if use gtk ; then
gnome2_icon_cache_update
xdg_desktop_database_update
fi
}
|