Gentoo Archives: gentoo-commits

From: Ionen Wolkens <ionen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: games-fps/xonotic/
Date: Mon, 04 Jul 2022 15:56:49
Message-Id: 1656950162.0879cdd7c0900fd821a40296e7f362ff43079b92.ionen@gentoo
1 commit: 0879cdd7c0900fd821a40296e7f362ff43079b92
2 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jul 4 15:38:27 2022 +0000
4 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
5 CommitDate: Mon Jul 4 15:56:02 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0879cdd7
7
8 games-fps/xonotic: add 0.8.5
9
10 - add USE=X to make GLX variant optional (can build without X libs)
11 - enable sdl by default as it should make more sense than GLX nowadays,
12 and seems to be preferred upstream wrt xonotic.desktop
13 - drop USE=dedicated, disable X and sdl to get server-only
14 - drop USE=debug, all this does I can see is add -g -ggdb to CFLAGS
15 - drop USE=doc, upstream has deprecated the AFT docs in favor
16 of the markdown ones (install unconditionally)
17 - bump checkreqs
18 - install more icons and use upstream's .desktop files
19 - reduce reliance on the sed a bit and pass make args instead
20 - depend on dev-games/ode even if server-only wrt bug #801220
21 - bug #830499 and bug #830500 would only trigger when setting up
22 a clang toolchain for some reason, but is fixed with current layout
23
24 This could likely use more work (darkplaces does all sort of stuff
25 that could use more attention), but should work as expected albeit
26 not tested much (hopefully not missing anything).
27
28 Closes: https://bugs.gentoo.org/801220
29 Closes: https://bugs.gentoo.org/830499
30 Closes: https://bugs.gentoo.org/830500
31 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
32
33 games-fps/xonotic/Manifest | 1 +
34 games-fps/xonotic/xonotic-0.8.5.ebuild | 105 +++++++++++++++++++++++++++++++++
35 2 files changed, 106 insertions(+)
36
37 diff --git a/games-fps/xonotic/Manifest b/games-fps/xonotic/Manifest
38 index aa9efcbb4121..e854cb4d25f8 100644
39 --- a/games-fps/xonotic/Manifest
40 +++ b/games-fps/xonotic/Manifest
41 @@ -1 +1,2 @@
42 DIST xonotic-0.8.2.zip 991045679 BLAKE2B 3005473da954492bb7387f9e0e13c2415e638877fa8b83e14872f3b04ed0fc21b82e18f51aa6c68e8bf02d09d4a73f290cbcaebdfa8c0a12ceb6582309baee8a SHA512 0787fcf326827ae0292e5917c7ff2c7fd79947209d4b62e7f83b8b828bec15b575da304e0631f9f163c9b0bd93bed13616e142398ff08cbdaaea890a939dfca5
43 +DIST xonotic-0.8.5.zip 1228561792 BLAKE2B 3f1391ff6522c8f6b7b4f717aecd6ffe852142d70e7cffff9cb5a602a69142c59850636cc1450aade5ae39088354170b819f696427ba8829bf7c375029f2430a SHA512 4ffc4b73eeb5f580d178a98419d5b44cbff0c56e356a62baa729b5b7a6c3d43b2b425b123428c9b1bf3f4718eaf61bcf5d62914521cc061c7563a253440c807e
44
45 diff --git a/games-fps/xonotic/xonotic-0.8.5.ebuild b/games-fps/xonotic/xonotic-0.8.5.ebuild
46 new file mode 100644
47 index 000000000000..de5cb5d5a726
48 --- /dev/null
49 +++ b/games-fps/xonotic/xonotic-0.8.5.ebuild
50 @@ -0,0 +1,105 @@
51 +# Copyright 1999-2022 Gentoo Authors
52 +# Distributed under the terms of the GNU General Public License v2
53 +
54 +EAPI=8
55 +
56 +inherit desktop check-reqs toolchain-funcs xdg
57 +
58 +DESCRIPTION="Fork of Nexuiz, Deathmatch FPS based on DarkPlaces, an advanced Quake 1 engine"
59 +HOMEPAGE="https://xonotic.org/"
60 +SRC_URI="https://dl.xonotic.org/${P}.zip"
61 +S="${WORKDIR}/${PN^}"
62 +
63 +LICENSE="GPL-3+ GPL-2+"
64 +SLOT="0"
65 +KEYWORDS="~amd64 ~arm64 ~x86"
66 +IUSE="X +alsa ode +sdl"
67 +
68 +# note: many dependencies are used through dlopen()
69 +COMMON_UIDEPEND="
70 + media-libs/libogg
71 + media-libs/libtheora
72 + media-libs/libvorbis"
73 +RDEPEND="
74 + dev-libs/d0_blind_id
75 + media-libs/libjpeg-turbo:=
76 + media-libs/libpng
77 + media-libs/freetype:2
78 + net-misc/curl
79 + sys-libs/zlib:=
80 + X? (
81 + ${COMMON_UIDEPEND}
82 + media-libs/libglvnd[X]
83 + x11-libs/libX11
84 + x11-libs/libXext
85 + x11-libs/libXpm
86 + x11-libs/libXxf86vm
87 + alsa? ( media-libs/alsa-lib )
88 + )
89 + ode? ( dev-games/ode:=[double-precision] )
90 + sdl? (
91 + ${COMMON_UIDEPEND}
92 + media-libs/libsdl2[joystick,opengl,sound,video]
93 + )"
94 +DEPEND="
95 + ${RDEPEND}
96 + X? ( x11-base/xorg-proto )"
97 +BDEPEND="app-arch/unzip"
98 +
99 +CHECKREQS_DISK_BUILD="1500M"
100 +CHECKREQS_DISK_USR="1200M"
101 +
102 +src_prepare() {
103 + default
104 +
105 + sed -e 's|-O3 ||' \
106 + -e '/^LDFLAGS_RELEASE/s/$(OPTIM_RELEASE)/$(GENTOO_LDFLAGS)/' \
107 + -i source/darkplaces/makefile.inc || die
108 +}
109 +
110 +src_compile() {
111 + tc-export CC
112 +
113 + local emakeargs=(
114 + -C source/darkplaces
115 + DEFAULT_SNDAPI=$(usex alsa ALSA OSS)
116 + DP_FS_BASEDIR="${EPREFIX}"/usr/share/${PN}
117 + DP_LINK_ODE=$(usex ode shared no)
118 + STRIP=:
119 + CPUOPTIMIZATIONS="${CFLAGS}"
120 + GENTOO_LDFLAGS="${LDFLAGS}"
121 + )
122 +
123 + # split for bug 473352
124 + emake "${emakeargs[@]}" sv-release
125 + use X && emake "${emakeargs[@]}" cl-release
126 + use sdl && emake "${emakeargs[@]}" sdl-release
127 +}
128 +
129 +src_install() {
130 + newbin {source/darkplaces/darkplaces,${PN}}-dedicated
131 +
132 + if use X || use sdl; then
133 + if use X; then
134 + newbin {source/darkplaces/darkplaces,${PN}}-glx
135 + domenu misc/logos/${PN}-glx.desktop
136 + fi
137 + if use sdl; then
138 + newbin {source/darkplaces/darkplaces,${PN}}-sdl
139 + domenu misc/logos/${PN}.desktop
140 + fi
141 +
142 + local size
143 + for size in 16 22 24 32 48 128 256 512; do
144 + newicon -s ${size} misc/logos/icons_png/${PN}_${size}.png ${PN}.png
145 + done
146 + newicon -s scalable misc/logos/${PN}_icon.svg ${PN}.svg
147 + fi
148 +
149 + dodoc Docs/*.{md,txt}
150 +
151 + insinto /usr/share/${PN}
152 + doins -r key_0.d0pk server data
153 +
154 + rm "${ED}"/usr/share/${PN}/server/.gitattributes || die
155 +}