summaryrefslogtreecommitdiff
blob: 7dd0936032d96cd1531f1dc275de84f4a3b51f6f (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
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit autotools toolchain-funcs

MY_P=ClanLib-${PV}
DESCRIPTION="Multi-platform game development library"
HOMEPAGE="https://github.com/sphair/ClanLib"
SRC_URI="mirror://gentoo/${MY_P}.tgz"
S="${WORKDIR}"/${MY_P}

LICENSE="ZLIB"
SLOT="2.3"
KEYWORDS="amd64 x86"
IUSE="doc ipv6 mikmod opengl +sound sqlite cpu_flags_x86_sse2 static-libs vorbis X"
REQUIRED_USE="opengl? ( X )"

BDEPEND="
	virtual/pkgconfig
	doc? (
		app-text/doxygen
		dev-lang/perl
		media-gfx/graphviz
	)
"
RDEPEND="
	sys-libs/zlib
	X? (
		app-arch/bzip2
		media-libs/libpng:0
		media-libs/freetype
		media-libs/fontconfig
		media-libs/libjpeg-turbo:0=
		x11-libs/libX11
		opengl? ( virtual/opengl )
	)
	mikmod? (
		media-libs/alsa-lib
		media-libs/libmikmod
	)
	sqlite? ( dev-db/sqlite:3 )
	sound? ( media-libs/alsa-lib )
	vorbis? (
		media-libs/alsa-lib
		media-libs/libogg
		media-libs/libvorbis
	)
"
DEPEND="${RDEPEND}"

PATCHES=(
	"${FILESDIR}"/${P}-autotools.patch
	"${FILESDIR}"/${P}-doc.patch
	"${FILESDIR}"/${P}-freetype_pkgconfig.patch #764902
	"${FILESDIR}"/${P}-glibc2.34.patch
	"${FILESDIR}"/${P}-32bit-opengl.patch
	# From Fedora
	"${FILESDIR}"/${P}-gcc47.patch
	"${FILESDIR}"/${P}-gcc7.patch
	"${FILESDIR}"/${P}-non-x86.patch
	"${FILESDIR}"/${P}-no-ldflags-for-conftest.patch
	"${FILESDIR}"/${P}-no-wm_type-in-fs.patch
)

DOCS=( CODING_STYLE CREDITS PATCHES README )

src_prepare() {
	default

	eautoreconf

	ln -sf ../../../Sources/API Documentation/Utilities/ReferenceDocs/ClanLib || die
}

src_configure() {
	# Add -DPACKAGE_BUGREPORT?
	local myeconfargs=(
		$(use_enable doc docs)
		$(use_enable cpu_flags_x86_sse2 sse2)
		$(use_enable opengl clanGL)
		$(use_enable opengl clanGL1)
		$(use_enable opengl clanGUI)
		$(use_enable X clanDisplay)
		$(use_enable vorbis clanVorbis)
		$(use_enable mikmod clanMikMod)
		$(use_enable sqlite clanSqlite)
		$(use_enable ipv6 getaddr)
	)

	use sound \
		|| use vorbis \
		|| use mikmod \
		|| myeconfargs+=( --disable-clanSound )

	tc-export PKG_CONFIG

	econf "${myeconfargs[@]}"
}

src_compile() {
	emake

	use doc && emake html
}

# html files are keeped in a directory that is dependent on the SLOT
# so to keep eventual bookmarks to the doc from version to version
src_install() {
	default

	find "${ED}" -type f -name '*.la' -delete || die

	if use doc ; then
		emake DESTDIR="${D}" install-html
		dodoc -r Examples Resources
	fi
}