1 |
|
# Copyright 1999-2023 Gentoo Authors
|
|
1 |
# Copyright 1999-2022 Gentoo Authors
|
2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
3 |
3 |
|
4 |
4 |
EAPI=7
|
5 |
5 |
|
|
6 |
inherit autotools toolchain-funcs
|
|
7 |
|
|
8 |
MY_P=ClanLib-${PV}
|
6 |
9 |
DESCRIPTION="Multi-platform game development library"
|
7 |
10 |
HOMEPAGE="https://github.com/sphair/ClanLib"
|
8 |
|
SRC_URI="mirror://gentoo/ClanLib-${PV}.tgz"
|
9 |
|
S="${WORKDIR}"/ClanLib-${PV}
|
|
11 |
SRC_URI="mirror://gentoo/${MY_P}.tgz"
|
|
12 |
S="${WORKDIR}"/${MY_P}
|
10 |
13 |
|
11 |
14 |
LICENSE="ZLIB"
|
12 |
|
SLOT="0.8"
|
13 |
|
# Not big endian safe! #82779
|
|
15 |
SLOT="2.3"
|
14 |
16 |
KEYWORDS="amd64 x86"
|
15 |
|
IUSE="doc ipv6 mikmod opengl sdl static-libs vorbis"
|
|
17 |
IUSE="doc ipv6 mikmod opengl +sound sqlite cpu_flags_x86_sse2 static-libs vorbis X"
|
|
18 |
REQUIRED_USE="opengl? ( X )"
|
16 |
19 |
|
17 |
|
# opengl keyword does not drop the GL/GLU requirement.
|
18 |
|
# Autoconf files need to be fixed
|
19 |
|
RDEPEND="
|
20 |
|
media-libs/alsa-lib
|
21 |
|
media-libs/libpng:0
|
22 |
|
virtual/jpeg:0
|
23 |
|
virtual/glu
|
24 |
|
virtual/opengl
|
25 |
|
x11-libs/libXi
|
26 |
|
x11-libs/libXmu
|
27 |
|
x11-libs/libXxf86vm
|
28 |
|
mikmod? ( media-libs/libmikmod )
|
29 |
|
sdl? (
|
30 |
|
media-libs/libsdl[X]
|
31 |
|
media-libs/sdl-gfx
|
|
20 |
BDEPEND="
|
|
21 |
virtual/pkgconfig
|
|
22 |
doc? (
|
|
23 |
app-doc/doxygen
|
|
24 |
dev-lang/perl
|
|
25 |
media-gfx/graphviz
|
32 |
26 |
)
|
33 |
|
vorbis? ( media-libs/libvorbis )
|
34 |
27 |
"
|
35 |
|
DEPEND="
|
36 |
|
${RDEPEND}
|
37 |
|
x11-base/xorg-proto
|
|
28 |
RDEPEND="
|
|
29 |
sys-libs/zlib
|
|
30 |
X? (
|
|
31 |
app-arch/bzip2
|
|
32 |
media-libs/libpng:0
|
|
33 |
media-libs/freetype
|
|
34 |
media-libs/fontconfig
|
|
35 |
media-libs/libjpeg-turbo:0=
|
|
36 |
x11-libs/libX11
|
|
37 |
opengl? ( virtual/opengl )
|
|
38 |
)
|
|
39 |
mikmod? (
|
|
40 |
media-libs/alsa-lib
|
|
41 |
media-libs/libmikmod
|
|
42 |
)
|
|
43 |
sqlite? ( dev-db/sqlite:3 )
|
|
44 |
sound? ( media-libs/alsa-lib )
|
|
45 |
vorbis? (
|
|
46 |
media-libs/alsa-lib
|
|
47 |
media-libs/libogg
|
|
48 |
media-libs/libvorbis
|
|
49 |
)
|
38 |
50 |
"
|
|
51 |
DEPEND="${RDEPEND}"
|
39 |
52 |
|
40 |
53 |
PATCHES=(
|
41 |
|
"${FILESDIR}/${P}-ndebug.patch"
|
42 |
|
"${FILESDIR}/${P}-gcc43.patch"
|
43 |
|
"${FILESDIR}/${P}-gcc44.patch"
|
44 |
|
"${FILESDIR}/${P}-gcc47.patch"
|
45 |
|
"${FILESDIR}/${P}-gcc6.patch"
|
46 |
|
"${FILESDIR}/${P}-llvm.patch"
|
47 |
|
"${FILESDIR}/${P}-libpng15.patch"
|
48 |
|
"${FILESDIR}/${P}-docbuilder.patch"
|
49 |
|
"${FILESDIR}/${P}-glibc2.34.patch"
|
50 |
|
"${FILESDIR}/${P}-gcc12.patch"
|
|
54 |
"${FILESDIR}"/${P}-autotools.patch
|
|
55 |
"${FILESDIR}"/${P}-doc.patch
|
|
56 |
"${FILESDIR}"/${P}-freetype_pkgconfig.patch #764902
|
|
57 |
"${FILESDIR}"/${P}-glibc2.34.patch
|
|
58 |
"${FILESDIR}"/${P}-32bit-opengl.patch
|
|
59 |
# From Fedora
|
|
60 |
"${FILESDIR}"/${P}-gcc47.patch
|
|
61 |
"${FILESDIR}"/${P}-gcc7.patch
|
|
62 |
"${FILESDIR}"/${P}-non-x86.patch
|
|
63 |
"${FILESDIR}"/${P}-no-ldflags-for-conftest.patch
|
|
64 |
"${FILESDIR}"/${P}-no-wm_type-in-fs.patch
|
51 |
65 |
)
|
52 |
66 |
|
53 |
|
DOCS=(
|
54 |
|
CODING_STYLE CREDITS NEWS PATCHES
|
55 |
|
README{,.anjuta,.distros,.kdevelop,.sdl,.upgrade} INSTALL.linux
|
56 |
|
)
|
|
67 |
DOCS=( CODING_STYLE CREDITS PATCHES README )
|
57 |
68 |
|
58 |
69 |
src_prepare() {
|
59 |
70 |
default
|
60 |
|
# See #739358
|
61 |
|
sed -i -e "s:libdir=\${exec_prefix}/lib:libdir=@libdir@:g" \
|
62 |
|
pkgconfig/*.pc.in || die
|
|
71 |
|
|
72 |
eautoreconf
|
|
73 |
|
|
74 |
ln -sf ../../../Sources/API Documentation/Utilities/ReferenceDocs/ClanLib || die
|
63 |
75 |
}
|
64 |
76 |
|
65 |
77 |
src_configure() {
|
66 |
|
# clanSound only controls mikmod/vorbis so there's
|
67 |
|
# no need to pass --{en,dis}able-clanSound ...
|
68 |
|
# clanDisplay only controls X, SDL, OpenGL plugins
|
69 |
|
# so no need to pass --{en,dis}able-clanDisplay
|
70 |
|
# also same reason why we don't have to use clanGUI
|
71 |
|
econf \
|
72 |
|
--enable-dyn \
|
73 |
|
--enable-clanNetwork \
|
74 |
|
$(use_enable x86 asm386) \
|
75 |
|
$(use_enable doc docs) \
|
76 |
|
$(use_enable opengl clanGL) \
|
77 |
|
$(use_enable sdl clanSDL) \
|
78 |
|
$(use_enable vorbis clanVorbis) \
|
79 |
|
$(use_enable mikmod clanMikMod) \
|
80 |
|
$(use_enable ipv6 getaddr) \
|
81 |
|
$(use_enable static-libs static)
|
|
78 |
# Add -DPACKAGE_BUGREPORT?
|
|
79 |
local myeconfargs=(
|
|
80 |
$(use_enable doc docs)
|
|
81 |
$(use_enable cpu_flags_x86_sse2 sse2)
|
|
82 |
$(use_enable opengl clanGL)
|
|
83 |
$(use_enable opengl clanGL1)
|
|
84 |
$(use_enable opengl clanGUI)
|
|
85 |
$(use_enable X clanDisplay)
|
|
86 |
$(use_enable vorbis clanVorbis)
|
|
87 |
$(use_enable mikmod clanMikMod)
|
|
88 |
$(use_enable sqlite clanSqlite)
|
|
89 |
$(use_enable ipv6 getaddr)
|
|
90 |
)
|
|
91 |
|
|
92 |
use sound \
|
|
93 |
|| use vorbis \
|
|
94 |
|| use mikmod \
|
|
95 |
|| myeconfargs+=( --disable-clanSound )
|
|
96 |
|
|
97 |
tc-export PKG_CONFIG
|
|
98 |
|
|
99 |
econf "${myeconfargs[@]}"
|
82 |
100 |
}
|
83 |
101 |
|
|
102 |
src_compile() {
|
|
103 |
emake
|
|
104 |
|
|
105 |
use doc && emake html
|
|
106 |
}
|
|
107 |
|
|
108 |
# html files are keeped in a directory that is dependent on the SLOT
|
|
109 |
# so to keep eventual bookmarks to the doc from version to version
|
84 |
110 |
src_install() {
|
85 |
111 |
default
|
86 |
112 |
|
|
113 |
find "${ED}" -type f -name '*.la' -delete || die
|
|
114 |
|
87 |
115 |
if use doc ; then
|
88 |
|
dodir /usr/share/doc/${PF}/html
|
89 |
|
mv "${D}"/usr/share/doc/clanlib/* "${D}"/usr/share/doc/${PF}/html/ || die
|
90 |
|
rm -rf "${D}"/usr/share/doc/clanlib
|
91 |
|
cp -r Examples Resources "${D}"/usr/share/doc/${PF}/ || die
|
|
116 |
emake DESTDIR="${D}" install-html
|
|
117 |
dodoc -r Examples Resources
|
92 |
118 |
fi
|
93 |
|
|
94 |
|
find "${ED}" -name '*.la' -delete || die
|
95 |
119 |
}
|