mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-games/clanlib: fix consumers when built against glibc-2.34
Code to avoid issues was pre-existing but not enabled on Linux. Affected 0.8 and 2.3 slots, >=4.0 is no longer using this function. Closes: https://bugs.gentoo.org/808707 Closes: https://bugs.gentoo.org/811591 Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
This commit is contained in:
94
dev-games/clanlib/clanlib-0.8.1-r2.ebuild
Normal file
94
dev-games/clanlib/clanlib-0.8.1-r2.ebuild
Normal file
@@ -0,0 +1,94 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Multi-platform game development library"
|
||||
HOMEPAGE="http://www.clanlib.org/"
|
||||
SRC_URI="http://clanlib.org/download/releases-${PV:0:3}/ClanLib-${PV}.tgz"
|
||||
S="${WORKDIR}"/ClanLib-${PV}
|
||||
|
||||
LICENSE="ZLIB"
|
||||
SLOT="0.8"
|
||||
# Not big endian safe! #82779
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="doc ipv6 mikmod opengl sdl static-libs vorbis"
|
||||
|
||||
# opengl keyword does not drop the GL/GLU requirement.
|
||||
# Autoconf files need to be fixed
|
||||
RDEPEND="
|
||||
media-libs/alsa-lib
|
||||
media-libs/libpng:0
|
||||
virtual/jpeg:0
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
x11-libs/libXi
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXxf86vm
|
||||
mikmod? ( media-libs/libmikmod )
|
||||
sdl? (
|
||||
media-libs/libsdl[X]
|
||||
media-libs/sdl-gfx
|
||||
)
|
||||
vorbis? ( media-libs/libvorbis )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
x11-base/xorg-proto
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-ndebug.patch"
|
||||
"${FILESDIR}/${P}-gcc43.patch"
|
||||
"${FILESDIR}/${P}-gcc44.patch"
|
||||
"${FILESDIR}/${P}-gcc47.patch"
|
||||
"${FILESDIR}/${P}-gcc6.patch"
|
||||
"${FILESDIR}/${P}-llvm.patch"
|
||||
"${FILESDIR}/${P}-libpng15.patch"
|
||||
"${FILESDIR}/${P}-docbuilder.patch"
|
||||
"${FILESDIR}/${P}-glibc2.34.patch"
|
||||
)
|
||||
|
||||
DOCS=(
|
||||
CODING_STYLE CREDITS NEWS PATCHES
|
||||
README{,.anjuta,.distros,.kdevelop,.sdl,.upgrade} INSTALL.linux
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# See #739358
|
||||
sed -i -e "s:libdir=\${exec_prefix}/lib:libdir=@libdir@:g" \
|
||||
pkgconfig/*.pc.in || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# clanSound only controls mikmod/vorbis so there's
|
||||
# no need to pass --{en,dis}able-clanSound ...
|
||||
# clanDisplay only controls X, SDL, OpenGL plugins
|
||||
# so no need to pass --{en,dis}able-clanDisplay
|
||||
# also same reason why we don't have to use clanGUI
|
||||
econf \
|
||||
--enable-dyn \
|
||||
--enable-clanNetwork \
|
||||
$(use_enable x86 asm386) \
|
||||
$(use_enable doc docs) \
|
||||
$(use_enable opengl clanGL) \
|
||||
$(use_enable sdl clanSDL) \
|
||||
$(use_enable vorbis clanVorbis) \
|
||||
$(use_enable mikmod clanMikMod) \
|
||||
$(use_enable ipv6 getaddr) \
|
||||
$(use_enable static-libs static)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use doc ; then
|
||||
dodir /usr/share/doc/${PF}/html
|
||||
mv "${D}"/usr/share/doc/clanlib/* "${D}"/usr/share/doc/${PF}/html/ || die
|
||||
rm -rf "${D}"/usr/share/doc/clanlib
|
||||
cp -r Examples Resources "${D}"/usr/share/doc/${PF}/ || die
|
||||
fi
|
||||
|
||||
find "${ED}" -name '*.la' -delete || die
|
||||
}
|
||||
107
dev-games/clanlib/clanlib-2.3.7-r2.ebuild
Normal file
107
dev-games/clanlib/clanlib-2.3.7-r2.ebuild
Normal file
@@ -0,0 +1,107 @@
|
||||
# Copyright 1999-2021 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="http://www.clanlib.org/"
|
||||
SRC_URI="http://clanlib.org/download/releases-2.0/${MY_P}.tgz"
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
|
||||
LICENSE="ZLIB"
|
||||
SLOT="2.3"
|
||||
# Not big endian safe! #82779
|
||||
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-doc/doxygen dev-lang/perl )
|
||||
"
|
||||
RDEPEND="
|
||||
sys-libs/zlib
|
||||
X? (
|
||||
app-arch/bzip2
|
||||
media-libs/libpng:0
|
||||
media-libs/freetype
|
||||
media-libs/fontconfig
|
||||
virtual/jpeg: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
|
||||
)
|
||||
|
||||
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
|
||||
|
||||
if use doc ; then
|
||||
emake DESTDIR="${D}" install-html
|
||||
dodoc -r Examples Resources
|
||||
fi
|
||||
}
|
||||
17
dev-games/clanlib/files/clanlib-0.8.1-glibc2.34.patch
Normal file
17
dev-games/clanlib/files/clanlib-0.8.1-glibc2.34.patch
Normal file
@@ -0,0 +1,17 @@
|
||||
pthread_mutexattr_setkind_np() is long deprecated and should be using
|
||||
pthread_mutexattr_settype() instead even on Linux. Fixes consumers
|
||||
when built against glibc-2.34.
|
||||
|
||||
https://bugs.gentoo.org/808707
|
||||
--- a/Sources/Core/System/Unix/mutex_pthread.cpp
|
||||
+++ b/Sources/Core/System/Unix/mutex_pthread.cpp
|
||||
@@ -42,3 +42,3 @@
|
||||
{
|
||||
-#ifdef __FreeBSD__
|
||||
+#if 1
|
||||
int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int kind);
|
||||
@@ -65,3 +65,3 @@
|
||||
#else
|
||||
-#ifdef __FreeBSD__
|
||||
+#if 1
|
||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
||||
17
dev-games/clanlib/files/clanlib-2.3.7-glibc2.34.patch
Normal file
17
dev-games/clanlib/files/clanlib-2.3.7-glibc2.34.patch
Normal file
@@ -0,0 +1,17 @@
|
||||
pthread_mutexattr_setkind_np() is long deprecated and should be using
|
||||
pthread_mutexattr_settype() instead even on Linux. Fixes consumers
|
||||
when built against glibc-2.34.
|
||||
|
||||
https://bugs.gentoo.org/811591
|
||||
--- a/Sources/Core/System/mutex.cpp
|
||||
+++ b/Sources/Core/System/mutex.cpp
|
||||
@@ -37,3 +37,3 @@
|
||||
{
|
||||
-#if defined(__APPLE__) || defined (__FreeBSD__) || defined(__OpenBSD__)
|
||||
+#if 1
|
||||
int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int kind);
|
||||
@@ -55,3 +55,3 @@
|
||||
pthread_mutexattr_init(&attr);
|
||||
- #if defined(__FreeBSD__) || defined(__APPLE__)
|
||||
+ #if 1
|
||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
||||
Reference in New Issue
Block a user