summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-games')
-rw-r--r--dev-games/KXL/KXL-1.1.7-r2.ebuild33
-rw-r--r--dev-games/KXL/KXL-1.1.7_p17.ebuild48
-rw-r--r--dev-games/KXL/Manifest1
-rw-r--r--dev-games/KXL/files/KXL-1.1.7-amd64.patch95
-rw-r--r--dev-games/KXL/files/KXL-1.1.7-as-needed.patch4
-rw-r--r--dev-games/KXL/files/KXL-1.1.7-implicit-function-declarations.patch19
-rw-r--r--dev-games/KXL/files/KXL-1.1.7-ldflags.patch4
-rw-r--r--dev-games/KXL/files/KXL-1.1.7-m4.patch9
-rw-r--r--dev-games/KXL/metadata.xml2
-rw-r--r--dev-games/aseprite/Manifest6
-rw-r--r--dev-games/aseprite/aseprite-1.1.6.ebuild92
-rw-r--r--dev-games/aseprite/aseprite-1.1.7-r1.ebuild111
-rw-r--r--dev-games/aseprite/aseprite-1.1.9.ebuild113
-rw-r--r--dev-games/aseprite/aseprite-1.2.40.ebuild231
-rw-r--r--dev-games/aseprite/aseprite-1.3.5.ebuild233
-rw-r--r--dev-games/aseprite/files/aseprite-1.1.7_type-punned_pointer.patch28
-rw-r--r--dev-games/aseprite/files/aseprite-1.2.35_laf_fixes.patch40
-rw-r--r--dev-games/aseprite/files/aseprite-1.2.40_ixwebsocket-gcc13.patch245
-rw-r--r--dev-games/aseprite/files/aseprite-1.2.40_laf-gcc13.patch47
-rw-r--r--dev-games/aseprite/files/aseprite-1.2.40_musl_pthreads.patch57
-rw-r--r--dev-games/aseprite/files/aseprite-1.2.40_shared_json11.patch54
-rw-r--r--dev-games/aseprite/files/aseprite-1.2.40_shared_libarchive.patch106
-rw-r--r--dev-games/aseprite/files/aseprite-1.2.40_shared_webp.patch72
-rw-r--r--dev-games/aseprite/files/aseprite-1.3.2_shared_fmt.patch52
-rw-r--r--dev-games/aseprite/files/aseprite-1.3.2_shared_json11.patch56
-rw-r--r--dev-games/aseprite/files/aseprite-1.3.2_shared_webp.patch81
-rw-r--r--dev-games/aseprite/files/aseprite-1.3.2_strict-aliasing.patch55
-rw-r--r--dev-games/aseprite/files/aseprite-1.3.5_laf-strict-aliasing.patch155
-rw-r--r--dev-games/aseprite/files/skia-m102_remove_angle2.patch15
-rw-r--r--dev-games/aseprite/metadata.xml10
-rw-r--r--dev-games/cardpics/Manifest1
-rw-r--r--dev-games/cardpics/cardpics-0.4-r1.ebuild12
-rw-r--r--dev-games/cardpics/metadata.xml15
-rw-r--r--dev-games/cegui/Manifest1
-rw-r--r--dev-games/cegui/cegui-0.8.7-r1.ebuild123
-rw-r--r--dev-games/cegui/files/cegui-0.8.7-icu-59.patch11
-rw-r--r--dev-games/cegui/files/cegui-0.8.7-musl.patch72
-rw-r--r--dev-games/cegui/files/cegui-0.8.7-python3.patch21
-rw-r--r--dev-games/cegui/metadata.xml20
-rw-r--r--dev-games/clanlib/Manifest2
-rw-r--r--dev-games/clanlib/clanlib-0.8.1-r2.ebuild (renamed from dev-games/clanlib/clanlib-0.8.1.ebuild)77
-rw-r--r--dev-games/clanlib/clanlib-2.3.7-r3.ebuild (renamed from dev-games/clanlib/clanlib-2.3.7.ebuild)98
-rw-r--r--dev-games/clanlib/clanlib-4.1.0.ebuild (renamed from dev-games/clanlib/clanlib-4.0.0.ebuild)28
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-docbuilder.patch28
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-gcc12.patch12
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch8
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-gcc44.patch15
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch4
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-glibc2.34.patch17
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch4
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-llvm.patch87
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch5
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-32bit-opengl.patch19
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-autotools.patch8
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-doc.patch4
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-freetype_pkgconfig.patch13
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-gcc47.patch107
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-gcc7.patch20
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-glibc2.34.patch17
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-no-ldflags-for-conftest.patch19
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-no-wm_type-in-fs.patch12
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-non-x86.patch38
-rw-r--r--dev-games/clanlib/files/clanlib-4.0.0-fix-build-system.patch25
-rw-r--r--dev-games/clanlib/files/clanlib-4.0.0-freetype_pkgconfig.patch27
-rw-r--r--dev-games/clanlib/metadata.xml4
-rw-r--r--dev-games/flatzebra/Manifest1
-rw-r--r--dev-games/flatzebra/flatzebra-0.1.6.ebuild35
-rw-r--r--dev-games/flatzebra/flatzebra-0.1.7-r1.ebuild (renamed from dev-games/flatzebra/flatzebra-0.1.7.ebuild)6
-rw-r--r--dev-games/flatzebra/metadata.xml2
-rw-r--r--dev-games/freecell-solver/Manifest3
-rw-r--r--dev-games/freecell-solver/files/freecell-solver-6.6.0-no-git-clone-kthxbye.patch39
-rw-r--r--dev-games/freecell-solver/freecell-solver-5.24.0.ebuild51
-rw-r--r--dev-games/freecell-solver/freecell-solver-6.8.0.ebuild (renamed from dev-games/freecell-solver/freecell-solver-6.0.1.ebuild)22
-rw-r--r--dev-games/freecell-solver/metadata.xml2
-rw-r--r--dev-games/freesolid/Manifest1
-rw-r--r--dev-games/freesolid/freesolid-2.1.2.ebuild37
-rw-r--r--dev-games/freesolid/metadata.xml (renamed from dev-games/higan-ananke/metadata.xml)5
-rw-r--r--dev-games/goatee/Manifest1
-rw-r--r--dev-games/goatee/goatee-0.3.1.2.ebuild27
-rw-r--r--dev-games/goatee/metadata.xml21
-rw-r--r--dev-games/godot/Manifest2
-rw-r--r--dev-games/godot/files/godot-3.5-musl.patch9
-rw-r--r--dev-games/godot/files/godot-3.5-scons.patch74
-rw-r--r--dev-games/godot/files/godot-3.5.3-gcc13.patch9
-rw-r--r--dev-games/godot/files/godot-4.0_rc2-musl.patch21
-rw-r--r--dev-games/godot/files/godot-4.0_rc3-scons.patch15
-rw-r--r--dev-games/godot/godot-3.5.3.ebuild218
-rw-r--r--dev-games/godot/godot-4.2.2.ebuild238
-rw-r--r--dev-games/godot/metadata.xml34
-rw-r--r--dev-games/guichan/files/guichan-0.8.2-as-needed.patch8
-rw-r--r--dev-games/guichan/files/guichan-0.8.2-automake-1.13.patch4
-rw-r--r--dev-games/guichan/files/guichan-0.8.2-slibtool-undefined-references.patch48
-rw-r--r--dev-games/guichan/guichan-0.8.2.ebuild34
-rw-r--r--dev-games/guichan/metadata.xml2
-rw-r--r--dev-games/hawknl/hawknl-1.68-r3.ebuild10
-rw-r--r--dev-games/hawknl/metadata.xml2
-rw-r--r--dev-games/hdl_dump/Manifest1
-rw-r--r--dev-games/hdl_dump/files/hdl_dump-0.8.6.20060901-fortify.patch45
-rw-r--r--dev-games/hdl_dump/hdl_dump-0.8.6.20060901.ebuild31
-rw-r--r--dev-games/hdl_dump/hdl_dump-0.9.2.20180722.ebuild6
-rw-r--r--dev-games/hdl_dump/metadata.xml2
-rw-r--r--dev-games/higan-ananke/Manifest1
-rw-r--r--dev-games/higan-ananke/files/higan-ananke-094-makefile.patch38
-rw-r--r--dev-games/higan-ananke/higan-ananke-094.ebuild36
-rw-r--r--dev-games/irrlicht-headers/irrlicht-headers-1.8.4.ebuild8
-rw-r--r--dev-games/irrlicht-headers/metadata.xml2
-rw-r--r--dev-games/irrlicht-mt-headers/Manifest2
-rw-r--r--dev-games/irrlicht-mt-headers/irrlicht-mt-headers-1.9.0.10.ebuild32
-rw-r--r--dev-games/irrlicht-mt-headers/irrlicht-mt-headers-1.9.0.13.ebuild32
-rw-r--r--dev-games/irrlicht-mt-headers/metadata.xml11
-rw-r--r--dev-games/irrlicht-mt/Manifest2
-rw-r--r--dev-games/irrlicht-mt/files/irrlicht-mt-1.9.0.10-no_upstream_optflags.patch12
-rw-r--r--dev-games/irrlicht-mt/irrlicht-mt-1.9.0.10-r1.ebuild42
-rw-r--r--dev-games/irrlicht-mt/irrlicht-mt-1.9.0.13.ebuild42
-rw-r--r--dev-games/irrlicht-mt/metadata.xml11
-rw-r--r--dev-games/irrlicht/files/irrlicht-1.8.4-drop-register.patch33
-rw-r--r--dev-games/irrlicht/irrlicht-1.8.4-r2.ebuild (renamed from dev-games/irrlicht/irrlicht-1.8.4-r1.ebuild)38
-rw-r--r--dev-games/irrlicht/metadata.xml20
-rw-r--r--dev-games/libmaitretarot/files/libmaitretarot-0.1.98-libdir.patch18
-rw-r--r--dev-games/libmaitretarot/libmaitretarot-0.1.98-r2.ebuild36
-rw-r--r--dev-games/libmaitretarot/libmaitretarot-0.1.98.ebuild17
-rw-r--r--dev-games/libmaitretarot/metadata.xml2
-rw-r--r--dev-games/libmt_client/files/libmt_client-0.1.98-format.patch4
-rw-r--r--dev-games/libmt_client/files/libmt_client-0.1.98-libdir.patch18
-rw-r--r--dev-games/libmt_client/libmt_client-0.1.98-r1.ebuild48
-rw-r--r--dev-games/libmt_client/libmt_client-0.1.98.ebuild24
-rw-r--r--dev-games/libmt_client/metadata.xml2
-rw-r--r--dev-games/libnw/libnw-1.30.02-r1.ebuild43
-rw-r--r--dev-games/libnw/libnw-1.30.02.ebuild31
-rw-r--r--dev-games/libnw/metadata.xml22
-rw-r--r--dev-games/libsmacker/Manifest2
-rw-r--r--dev-games/libsmacker/libsmacker-1.1.1_p35.ebuild28
-rw-r--r--dev-games/libsmacker/libsmacker-1.2.0_p43.ebuild31
-rw-r--r--dev-games/libsmacker/metadata.xml15
-rw-r--r--dev-games/mercator/Manifest1
-rw-r--r--dev-games/mercator/mercator-0.3.3.ebuild30
-rw-r--r--dev-games/mercator/metadata.xml28
-rw-r--r--dev-games/metadata.xml3
-rw-r--r--dev-games/mygui/Manifest4
-rw-r--r--dev-games/mygui/files/mygui-3.2.2-build.patch61
-rw-r--r--dev-games/mygui/files/mygui-3.2.2-underlinking.patch20
-rw-r--r--dev-games/mygui/files/mygui-3.4.0-underlinking.patch21
-rw-r--r--dev-games/mygui/files/mygui-3.4.1-FHS.patch (renamed from dev-games/mygui/files/mygui-3.2.2-FHS.patch)17
-rw-r--r--dev-games/mygui/files/mygui-3.4.1-build.patch (renamed from dev-games/mygui/files/mygui-3.4.0-build.patch)9
-rw-r--r--dev-games/mygui/files/mygui-3.4.1-gcc13.patch23
-rw-r--r--dev-games/mygui/files/mygui-3.4.3-werror.patch12
-rw-r--r--dev-games/mygui/metadata.xml2
-rw-r--r--dev-games/mygui/mygui-3.4.1-r1.ebuild (renamed from dev-games/mygui/mygui-3.4.0.ebuild)35
-rw-r--r--dev-games/mygui/mygui-3.4.3.ebuild (renamed from dev-games/mygui/mygui-3.2.2.ebuild)103
-rw-r--r--dev-games/newton/metadata.xml4
-rw-r--r--dev-games/newton/newton-3.14.ebuild15
-rw-r--r--dev-games/ode/Manifest2
-rw-r--r--dev-games/ode/metadata.xml4
-rw-r--r--dev-games/ode/ode-0.11.1.ebuild72
-rw-r--r--dev-games/ode/ode-0.12.ebuild72
-rw-r--r--dev-games/ode/ode-0.14-r1.ebuild57
-rw-r--r--dev-games/ogre/Manifest2
-rw-r--r--dev-games/ogre/files/ogre-13.5.3-gentoolize_imgui_inclusion.patch27
-rw-r--r--dev-games/ogre/files/ogre-13.5.3-media_path.patch12
-rw-r--r--dev-games/ogre/files/ogre-13.5.3-resource_path.patch13
-rw-r--r--dev-games/ogre/metadata.xml29
-rw-r--r--dev-games/ogre/ogre-1.12.9-r3.ebuild (renamed from dev-games/ogre/ogre-1.12.9.ebuild)13
-rw-r--r--dev-games/ogre/ogre-1.9.0-r1.ebuild133
-rw-r--r--dev-games/ogre/ogre-1.9.0-r3.ebuild (renamed from dev-games/ogre/ogre-1.9.0-r2.ebuild)15
-rw-r--r--dev-games/ogre/ogre-13.6.1.ebuild198
-rw-r--r--dev-games/ogre/ogre-2.1-r1.ebuild (renamed from dev-games/ogre/ogre-2.1.ebuild)8
-rw-r--r--dev-games/ois/Manifest2
-rw-r--r--dev-games/ois/files/ois-1.3-automake-1.13.patch11
-rw-r--r--dev-games/ois/files/ois-1.3-gcc47.patch40
-rw-r--r--dev-games/ois/metadata.xml3
-rw-r--r--dev-games/ois/ois-1.3.ebuild26
-rw-r--r--dev-games/ois/ois-1.5.1.ebuild21
-rw-r--r--dev-games/openscenegraph-openmw/Manifest2
-rw-r--r--dev-games/openscenegraph-openmw/files/openscenegraph-3.4-cmake.patch87
-rw-r--r--dev-games/openscenegraph-openmw/files/openscenegraph-3.5.1-jpeg-9.patch34
-rw-r--r--dev-games/openscenegraph-openmw/files/openscenegraph-3.6-openexr3.patch68
-rw-r--r--dev-games/openscenegraph-openmw/files/openscenegraph-3.6.3-cmake.patch12
-rw-r--r--dev-games/openscenegraph-openmw/files/openscenegraph-3.6.5-cmake_lua_version.patch14
-rw-r--r--dev-games/openscenegraph-openmw/metadata.xml23
-rw-r--r--dev-games/openscenegraph-openmw/openscenegraph-openmw-3.4_p20200425.ebuild156
-rw-r--r--dev-games/openscenegraph-openmw/openscenegraph-openmw-3.6_p20221115.ebuild (renamed from dev-games/openscenegraph/openscenegraph-3.6.4.ebuild)99
-rw-r--r--dev-games/openscenegraph-qt/metadata.xml2
-rw-r--r--dev-games/openscenegraph-qt/openscenegraph-qt-3.5.7-r1.ebuild (renamed from dev-games/openscenegraph-qt/openscenegraph-qt-3.5.7.ebuild)10
-rw-r--r--dev-games/openscenegraph/Manifest1
-rw-r--r--dev-games/openscenegraph/files/openscenegraph-3.6.5-cmake_lua_version.patch14
-rw-r--r--dev-games/openscenegraph/files/openscenegraph-3.6.5-openexr3.patch68
-rw-r--r--dev-games/openscenegraph/files/openscenegraph-3.6.5-remove-register-keyword.patch172
-rw-r--r--dev-games/openscenegraph/files/openscenegraph-3.6.5-use_boost_asio.patch55
-rw-r--r--dev-games/openscenegraph/metadata.xml5
-rw-r--r--dev-games/openscenegraph/openscenegraph-3.6.5-r114.ebuild (renamed from dev-games/openscenegraph/openscenegraph-3.6.5-r1.ebuild)75
-rw-r--r--dev-games/paklib/metadata.xml2
-rw-r--r--dev-games/paklib/paklib-0.3.ebuild25
-rw-r--r--dev-games/physfs/files/GNUInstallDirs.patch74
-rw-r--r--dev-games/physfs/metadata.xml2
-rw-r--r--dev-games/physfs/physfs-3.0.2-r1.ebuild (renamed from dev-games/physfs/physfs-3.0.2.ebuild)11
-rw-r--r--dev-games/physfs/physfs-9999.ebuild9
-rw-r--r--dev-games/poker-eval/metadata.xml2
-rw-r--r--dev-games/poker-eval/poker-eval-138.0.ebuild21
-rw-r--r--dev-games/ps2-packer/metadata.xml2
-rw-r--r--dev-games/ps2-packer/ps2-packer-0.4.4-r1.ebuild49
-rw-r--r--dev-games/ps2-packer/ps2-packer-0.4.4.ebuild49
-rw-r--r--dev-games/quake4-sdk/metadata.xml2
-rw-r--r--dev-games/quake4-sdk/quake4-sdk-1.4.2-r1.ebuild13
-rw-r--r--dev-games/quake4-sdk/quake4-sdk-1.4.2.ebuild28
-rw-r--r--dev-games/recastnavigation/Manifest2
-rw-r--r--dev-games/recastnavigation/files/recastnavigation-1.5.1_p20200511-install.patch115
-rw-r--r--dev-games/recastnavigation/metadata.xml9
-rw-r--r--dev-games/recastnavigation/recastnavigation-1.6.0.ebuild (renamed from dev-games/recastnavigation/recastnavigation-1.5.1_p20200511.ebuild)24
-rw-r--r--dev-games/simgear/Manifest2
-rw-r--r--dev-games/simgear/files/simgear-2020.1.2-boost.patch11
-rw-r--r--dev-games/simgear/files/simgear-2020.1.2-do-not-assume-libc++-clang.patch12
-rw-r--r--dev-games/simgear/files/simgear-2020.3.17-boost-1.81.patch11
-rw-r--r--dev-games/simgear/metadata.xml2
-rw-r--r--dev-games/simgear/simgear-2020.3.19.ebuild (renamed from dev-games/simgear/simgear-2020.1.2.ebuild)22
-rw-r--r--dev-games/simgear/simgear-9999.ebuild17
-rw-r--r--dev-games/t4k-common/files/t4k-common-0.1.1-ICONV_CONST.patch10
-rw-r--r--dev-games/t4k-common/files/t4k-common-0.1.1-fix-declaration.patch10
-rw-r--r--dev-games/t4k-common/files/t4k-common-0.1.1-fno-common.patch11
-rw-r--r--dev-games/t4k-common/files/t4k-common-0.1.1-gcc14-build-fix.patch76
-rw-r--r--dev-games/t4k-common/files/t4k-common-0.1.1-libpng.patch4
-rw-r--r--dev-games/t4k-common/files/t4k-common-0.1.1-missing-text.patch14
-rw-r--r--dev-games/t4k-common/files/t4k-common-0.1.1-svg-libxml2.patch73
-rw-r--r--dev-games/t4k-common/metadata.xml2
-rw-r--r--dev-games/t4k-common/t4k-common-0.1.1-r1.ebuild65
-rw-r--r--dev-games/t4k-common/t4k-common-0.1.1-r2.ebuild66
-rw-r--r--dev-games/t4k-common/t4k-common-0.1.1.ebuild46
-rw-r--r--dev-games/tiled/Manifest3
-rw-r--r--dev-games/tiled/metadata.xml6
-rw-r--r--dev-games/tiled/tiled-1.4.1.ebuild63
-rw-r--r--dev-games/tiled/tiled-1.8.6.ebuild (renamed from dev-games/tiled/tiled-1.4.2.ebuild)22
-rw-r--r--dev-games/wfmath/Manifest1
-rw-r--r--dev-games/wfmath/metadata.xml20
-rw-r--r--dev-games/wfmath/wfmath-1.0.2.ebuild33
233 files changed, 4977 insertions, 2926 deletions
diff --git a/dev-games/KXL/KXL-1.1.7-r2.ebuild b/dev-games/KXL/KXL-1.1.7-r2.ebuild
deleted file mode 100644
index ab0d291a05c8..000000000000
--- a/dev-games/KXL/KXL-1.1.7-r2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils autotools ltprune
-
-DESCRIPTION="Development Library for making games for X"
-HOMEPAGE="http://kxl.orz.hm/"
-SRC_URI="http://kxl.hn.org/download/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="static-libs"
-
-DEPEND="x11-libs/libX11"
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-m4.patch \
- "${FILESDIR}"/${P}-amd64.patch \
- "${FILESDIR}"/${P}-as-needed.patch \
- "${FILESDIR}"/${P}-ldflags.patch
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- use static-libs || prune_libtool_files
-}
diff --git a/dev-games/KXL/KXL-1.1.7_p17.ebuild b/dev-games/KXL/KXL-1.1.7_p17.ebuild
new file mode 100644
index 000000000000..242c5e00de58
--- /dev/null
+++ b/dev-games/KXL/KXL-1.1.7_p17.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_PV=$(ver_cut 1-3)
+DESCRIPTION="Development Library for making games for X"
+HOMEPAGE="http://kxl.orz.hm/"
+# http://kxl.hn.org/download/${P}.tar.gz
+SRC_URI="mirror://debian/pool/main/k/kxl/kxl_${MY_PV}.orig.tar.gz -> ${PN}-${MY_PV}.tar.gz"
+SRC_URI+=" mirror://debian/pool/main/k/kxl/kxl_${MY_PV}-$(ver_cut 5).debian.tar.xz"
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="x11-libs/libX11"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-${MY_PV}-as-needed.patch
+ "${FILESDIR}"/${PN}-${MY_PV}-ldflags.patch
+ "${FILESDIR}"/${PN}-${MY_PV}-implicit-function-declarations.patch
+)
+
+src_prepare() {
+ drop_debian_patch() {
+ rm "${WORKDIR}"/debian/patches/$1 || die
+ sed -i -e "/^${1}/d" "${WORKDIR}"/debian/patches/series || die
+ }
+
+ drop_debian_patch 000_soname_xlibs.diff
+
+ eapply $(awk '{print $1}' "${WORKDIR}"/debian/patches/series | sed -e "s:^:${WORKDIR}/debian/patches/:")
+
+ default
+
+ eautoreconf
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-games/KXL/Manifest b/dev-games/KXL/Manifest
index c7348333e321..45f968e799ca 100644
--- a/dev-games/KXL/Manifest
+++ b/dev-games/KXL/Manifest
@@ -1 +1,2 @@
DIST KXL-1.1.7.tar.gz 192070 BLAKE2B 7f5256afaffe94cd5f6551d8f53b43e2d9512cf94dfaebb123205b55d83d4645e226bbed62bf5f0da909104d4e33d1da60c7e08c0ee527087a4793c79c117df2 SHA512 f3a9051b0e8916745725a2809097df07c59f8811f336574def7e479c992175d0bd49661817f9da35d122d291aff0bde5d4c27e5b17a3f09878e71b2c7a709adb
+DIST kxl_1.1.7-17.debian.tar.xz 178364 BLAKE2B 067f73a23b3bfd3c2fbdeb6c032d56444a3db68190a1a23cbe88f39767cea4ad1f16c641d24d12cccd6f3c480134105e85384d2f34b9bc0f4487d71faa975fc2 SHA512 ac2b8e919dcf3e1449df393aad9daf282b9954da6c2f43ff4cbb7bc073fd9ad660413ea09ea8cac480593fd2ea63ec2d176b338fa8f8a24b128636d5e3376495
diff --git a/dev-games/KXL/files/KXL-1.1.7-amd64.patch b/dev-games/KXL/files/KXL-1.1.7-amd64.patch
deleted file mode 100644
index ec4b141d2a3e..000000000000
--- a/dev-games/KXL/files/KXL-1.1.7-amd64.patch
+++ /dev/null
@@ -1,95 +0,0 @@
---- src/KXLsound.c.old 2007-05-13 21:59:27.000000000 +0200
-+++ src/KXLsound.c 2007-05-13 22:09:19.000000000 +0200
-@@ -4,6 +4,9 @@
- #include <sys/ioctl.h>
- #include <sys/time.h>
- #include <linux/soundcard.h>
-+#include <stdlib.h>
-+#include <errno.h>
-+#include <string.h>
- #include "KXL.h"
-
- #define MIN(a, b) (((a) < (b)) ? (a) : (b))
-@@ -22,7 +24,7 @@
- struct {
- Uint16 ListCnt;
- Sint32 ID;
-- Sint32 Pipe[2];
-+ int Pipe[2];
- Sint32 Device;
- Uint16 PlayCnt;
- KXL_SoundControl PlaySound[MAX_SOUNDS_PLAYING];
-@@ -242,11 +244,19 @@
- KXL_SoundOk = False;
-
- KXL_LoadSoundData(path, fname);
-- // device check
-- if ((KXL_SoundData.Device = open("/dev/dsp", O_WRONLY)) == -1) {
-- fprintf(stderr, "KXL error message\nnot found sound card\n");
-+ // Open the sound device in non-blocking mode, because ALSA's OSS
-+ // emulation and some broken OSS drivers would make a blocking call
-+ // wait forever until the device is available. Since this breaks the
-+ // OSS spec, we immediately put it back to blocking mode if the
-+ // operation was successful.
-+ KXL_SoundData.Device = open("/dev/dsp", O_WRONLY|O_NDELAY);
-+ if (KXL_SoundData.Device < 0) {
-+ fprintf(stderr, "KXL error message\ncould not open sound card (%s)\n",
-+ strerror(errno));
- return;
- }
-+ fcntl( KXL_SoundData.Device, F_SETFL,
-+ fcntl( KXL_SoundData.Device, F_GETFL ) &~ FNDELAY );
- // create pipe
- if (pipe(KXL_SoundData.Pipe) < 0) {
- fprintf(stderr, "KXL error message\npipe error\n");
---- src/KXL.h.old 2007-05-13 22:25:11.000000000 +0200
-+++ src/KXL.h 2007-05-13 22:25:47.000000000 +0200
-@@ -205,6 +205,7 @@
- KXL_Frame *Frame; // Pointer of frame structure
- GC FontGC; // GC of font
- XFontStruct *WinFont; // Pointer of font structrue
-+ Bool DetectAutoRepeat; // Does the server have detectable auto repeat
- } KXL_Window;
- // RGBE palette
- typedef struct {
---- src/KXLimage.c.old 2007-05-13 22:29:02.000000000 +0200
-+++ src/KXLimage.c 2007-05-13 22:29:33.000000000 +0200
-@@ -1,4 +1,5 @@
- #include <stdio.h>
-+#include <stdlib.h>
- #include "KXL.h"
-
- extern KXL_Window *KXL_Root;
---- src/KXLvisual.c.old 2007-05-13 22:22:34.000000000 +0200
-+++ src/KXLvisual.c 2007-05-13 22:28:39.000000000 +0200
-@@ -1,4 +1,6 @@
- #include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
- #include "KXL.h"
-
- //================================================================
-@@ -364,7 +366,11 @@
- KXL_ReSizeFrame(w, h);
- KXL_Clear_Frame(0, 0, w, h);
- // Auto repeat off
-- XAutoRepeatOff(KXL_Root->Display);
-+ XkbSetDetectableAutoRepeat(KXL_Root->Display, True,
-+ &KXL_Root->DetectAutoRepeat);
-+ if(!KXL_Root->DetectAutoRepeat) {
-+ XAutoRepeatOff(KXL_Root->Display);
-+ }
- }
-
- //==============================================================
-@@ -377,7 +383,9 @@
- XFreeGC(KXL_Root->Display, KXL_Root->Frame->Gc);
- KXL_Free(KXL_Root->Frame);
- // Auto repeat on
-- XAutoRepeatOn(KXL_Root->Display);
-+ if(!KXL_Root->DetectAutoRepeat) {
-+ XAutoRepeatOn(KXL_Root->Display);
-+ }
- // Delete font
- XFreeGC(KXL_Root->Display, KXL_Root->FontGC);
- // Delete window
diff --git a/dev-games/KXL/files/KXL-1.1.7-as-needed.patch b/dev-games/KXL/files/KXL-1.1.7-as-needed.patch
index d99564202ecd..b4cb502a3803 100644
--- a/dev-games/KXL/files/KXL-1.1.7-as-needed.patch
+++ b/dev-games/KXL/files/KXL-1.1.7-as-needed.patch
@@ -1,5 +1,5 @@
---- src/Makefile.am.old 2009-01-28 16:03:27.000000000 +0100
-+++ src/Makefile.am 2009-01-28 16:03:47.000000000 +0100
+--- a/src/Makefile.am
++++ b/src/Makefile.am
@@ -2,3 +2,4 @@
libKXL_la_SOURCES = KXLmisc.c KXLsound.c KXLjoystick.c KXLvisual.c KXLimage.c
include_HEADERS = KXL.h
diff --git a/dev-games/KXL/files/KXL-1.1.7-implicit-function-declarations.patch b/dev-games/KXL/files/KXL-1.1.7-implicit-function-declarations.patch
new file mode 100644
index 000000000000..ac1d0e530a4c
--- /dev/null
+++ b/dev-games/KXL/files/KXL-1.1.7-implicit-function-declarations.patch
@@ -0,0 +1,19 @@
+--- a/src/KXLjoystick.c
++++ b/src/KXLjoystick.c
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include <sys/ioctl.h>
++#include <unistd.h>
+ #include <fcntl.h>
+ #include "KXL.h"
+
+--- a/src/KXLsound.c
++++ b/src/KXLsound.c
+@@ -7,6 +7,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/time.h>
+ #include <sys/soundcard.h>
++#include <unistd.h>
+ #include "KXL.h"
+
+ #define MIN(a, b) (((a) < (b)) ? (a) : (b))
diff --git a/dev-games/KXL/files/KXL-1.1.7-ldflags.patch b/dev-games/KXL/files/KXL-1.1.7-ldflags.patch
index e628b5d2170f..dd33debc718c 100644
--- a/dev-games/KXL/files/KXL-1.1.7-ldflags.patch
+++ b/dev-games/KXL/files/KXL-1.1.7-ldflags.patch
@@ -1,5 +1,5 @@
---- KXL.m4.old 2010-09-23 14:20:45.000000000 +0200
-+++ KXL.m4 2010-09-23 14:21:08.000000000 +0200
+--- a/KXL.m4
++++ b/KXL.m4
@@ -29,7 +29,6 @@
dnl add the KXL library
diff --git a/dev-games/KXL/files/KXL-1.1.7-m4.patch b/dev-games/KXL/files/KXL-1.1.7-m4.patch
deleted file mode 100644
index f039974e6f98..000000000000
--- a/dev-games/KXL/files/KXL-1.1.7-m4.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-Get rid of aclocal warning:
-/usr/share/aclocal/KXL.m4:6: warning: underquoted definition of AM_PATH_KXL
---- KXL-1.1.7/KXL.m4
-+++ KXL-1.1.7/KXL.m4
-@@ -5,3 +5,3 @@
- dnl
--AC_DEFUN(AM_PATH_KXL,
-+AC_DEFUN([AM_PATH_KXL],
- [dnl
diff --git a/dev-games/KXL/metadata.xml b/dev-games/KXL/metadata.xml
index a580c9cfe304..ca06a4fcd5e4 100644
--- a/dev-games/KXL/metadata.xml
+++ b/dev-games/KXL/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/aseprite/Manifest b/dev-games/aseprite/Manifest
index ef7855809398..731ec7f14de6 100644
--- a/dev-games/aseprite/Manifest
+++ b/dev-games/aseprite/Manifest
@@ -1,3 +1,3 @@
-DIST Aseprite-v1.1.6-Source.zip 11801981 BLAKE2B f20186a1669d7f9ab1453a2104a54228c22e2ef1703bba200f44c965b3fb3d9310c1ddd343db9c27ddca3564e4245352476c5228e171f1c0e74c553e5a59d419 SHA512 d87bcc5ece64cbc772ea5d4dc1edf29943d9038221905c0263511852afbb4e9119ce82468502a78c286729bb91389d08e3a8b7f358e4f6f8fe88507e7e69c9ac
-DIST Aseprite-v1.1.7-Source.zip 11801711 BLAKE2B 282492c29ece6b5b5bed029c7f27aa0a287bcb475f60066b6c34f54607b2714f35540e4d6ef4737818712776c2202162ce47c5713ba26b756d9e1c1d8af9c904 SHA512 9a92853042c7de567a7eb33d10ddd38c6d6bd53acfe4b93dc96e11408a7bda39ef7503c159934c483f0455700933c541dfdc0cb4c505d3385778e40686e474e6
-DIST Aseprite-v1.1.9-Source.zip 11746265 BLAKE2B fa16be059a7bb3b83705c56e7e93cbbb71676617a8d0798f0e481b09199ae069b85826615f8609acabb10a4e9a9da0857f2f99b03c2b913f26eee6d4dfdc0f0a SHA512 44c5878c67e69d2510c862e8f6869d727aa47b3d23d41d4e7318eca54c6d72fc5f89e72c70c160ce6da78fa091e11eedefa74e0273dc4cea59b2fe16c8851d9e
+DIST Aseprite-v1.2.40-Source.zip 61802371 BLAKE2B f6f586a3ca222de208e6639e3fc94a63f98e487e1975dccd2974ffa71f937384177639e3799fb81f064afaf1c4a048394fab32a30bcda353320ac55c38b17636 SHA512 0a548428a3362f49cb6cecaa061de8371ad3f0bc22d00bc957e21f22316772e854d7ad36ebb7e5b69274eea376bb62fa39abfd4bc02250524c3707f81a628b1f
+DIST Aseprite-v1.3.5-Source.zip 64189695 BLAKE2B f796f688f0ba565ae32fde2e8d84e39b610f451054440ced078ce1fc847a9208460b45aa6efa059a56c9e0603b4fd156cc476a2c40715ec2c37181e39c06a401 SHA512 885386e84c55b84cc85ffbf16f7269ac1640458abe973c3aa2e3eabd807ea3e1e06ee6e6dfaffff9dd7b09d3b37bd9ac41821152838cd80742edd4d53302c0e3
+DIST skia-m102-3338e90707323d2cd3a150276acb9f39933deee2.gh.tar.gz 53944562 BLAKE2B 9da3e8386cd7a18a6ee9362743bee4146c41038af8868a6f5e8a2dce468e4dc4669b488861d117da8d1bd8461b2ad47bfc300774a33a84153bca345d63a929a7 SHA512 9ae0032ee3861ce4958af6eb7047273d28b1faa3823576ef568e3c7faed7f49a9976540a72c3fa38234a4ae6319ac381324eff807938f9763781fd33ad67d075
diff --git a/dev-games/aseprite/aseprite-1.1.6.ebuild b/dev-games/aseprite/aseprite-1.1.6.ebuild
deleted file mode 100644
index e95b1dcdefed..000000000000
--- a/dev-games/aseprite/aseprite-1.1.6.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils eutils flag-o-matic
-
-DESCRIPTION="Animated sprite editor & pixel art tool"
-HOMEPAGE="https://www.aseprite.org"
-SRC_URI="https://github.com/aseprite/aseprite/releases/download/v${PV}/Aseprite-v${PV}-Source.zip"
-
-# See https://github.com/aseprite/aseprite#credits
-# Some bundled third-party packages built-in:
-# gtest duktape modp_b64 simpleini
-LICENSE="BSD GPL-2 MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-IUSE="debug kde gtk3 test webp"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-libs/tinyxml
- media-libs/allegro:0[X,png]
- media-libs/freetype
- media-libs/giflib:=
- webp? ( media-libs/libwebp )
- media-libs/libpng:0=
- net-misc/curl
- sys-libs/zlib
- virtual/jpeg:0
- x11-libs/libX11
- x11-libs/pixman
- gtk3? ( dev-cpp/gtkmm:3.0 )
- kde? (
- dev-qt/qtcore:5
- kde-frameworks/kio:5 )"
-DEPEND="${RDEPEND}
- app-arch/unzip
- gtk3? ( virtual/pkgconfig )
- webp? ( virtual/pkgconfig )"
-
-DOCS=( docs/files/ase.txt
- docs/files/fli.txt
- docs/files/msk.txt
- docs/files/pic.txt
- docs/files/picpro.txt
- README.md )
-
-S="${WORKDIR}"
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # Fix to make flag-o-matic work.
- if use debug ; then
- sed -i '/-DNDEBUG/d' CMakeLists.txt || die
- fi
- # Fix shebang in thumbnailer
- sed -i -e 's:#!/usr/bin/sh:#!/bin/sh:' desktop/aseprite-thumbnailer || die
-}
-
-src_configure() {
- use debug && append-cppflags -DDEBUGMODE -D_DEBUG
-
- local mycmakeargs=(
- -DENABLE_UPDATER=OFF
- -DFULLSCREEN_PLATFORM=ON
- -DUSE_SHARED_ALLEGRO4=ON
- -DUSE_SHARED_CURL=ON
- -DUSE_SHARED_FREETYPE=ON
- -DUSE_SHARED_GIFLIB=ON
- -DUSE_SHARED_JPEGLIB=ON
- -DUSE_SHARED_LIBLOADPNG=ON
- -DUSE_SHARED_LIBPNG=ON
- -DUSE_SHARED_PIXMAN=ON
- -DUSE_SHARED_TINYXML=ON
- -DUSE_SHARED_ZLIB=ON
- -DUSE_SHARED_LIBWEBP=ON
- -DWITH_DESKTOP_INTEGRATION=ON
- -DWITH_GTK_FILE_DIALOG_SUPPORT="$(usex gtk3)"
- -DWITH_QT_THUMBNAILER="$(usex kde)"
- -DWITH_WEBP_SUPPORT="$(usex webp)"
- -DENABLE_TESTS="$(usex test)"
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- newicon "${S}/data/icons/ase64.png" "${PN}.png"
- cmake-utils_src_install
-}
diff --git a/dev-games/aseprite/aseprite-1.1.7-r1.ebuild b/dev-games/aseprite/aseprite-1.1.7-r1.ebuild
deleted file mode 100644
index c272fa35e70b..000000000000
--- a/dev-games/aseprite/aseprite-1.1.7-r1.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake desktop flag-o-matic xdg-utils
-
-DESCRIPTION="Animated sprite editor & pixel art tool"
-HOMEPAGE="https://www.aseprite.org"
-SRC_URI="https://github.com/aseprite/aseprite/releases/download/v${PV}/Aseprite-v${PV}-Source.zip"
-
-# See https://github.com/aseprite/aseprite#credits
-# Some bundled third-party packages built-in:
-# gtest duktape modp_b64 simpleini
-LICENSE="BSD GPL-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-IUSE="bundled-libs debug kde gtk3 test webp"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !bundled-libs? ( media-libs/allegro:0[X,png] )
- gtk3? ( dev-cpp/gtkmm:3.0 )
- kde? (
- dev-qt/qtcore:5
- kde-frameworks/kio:5
- )
- webp? ( media-libs/libwebp )
- dev-libs/tinyxml
- media-libs/freetype
- media-libs/giflib:=
- media-libs/libpng:0=
- net-misc/curl
- sys-libs/zlib
- virtual/jpeg:0
- x11-libs/libX11
- x11-libs/pixman"
-BDEPEND="
- app-arch/unzip
- gtk3? ( virtual/pkgconfig )
- webp? ( virtual/pkgconfig )"
-
-DOCS=( docs/files/ase.txt
- docs/files/fli.txt
- docs/files/msk.txt
- docs/files/pic.txt
- docs/files/picpro.txt
- README.md )
-
-S="${WORKDIR}"
-
-PATCHES=( "${FILESDIR}/${P}_type-punned_pointer.patch" )
-
-src_prepare() {
- cmake_src_prepare
-
- # Fix to make flag-o-matic work.
- if use debug ; then
- sed -i '/-DNDEBUG/d' CMakeLists.txt || die
- fi
- # Fix shebang in thumbnailer
- sed -i -e 's:#!/usr/bin/sh:#!/bin/sh:' desktop/aseprite-thumbnailer || die
-}
-
-src_configure() {
- use debug && append-cppflags -DDEBUGMODE -D_DEBUG
-
- local mycmakeargs=(
- -DENABLE_UPDATER=OFF
- -DFULLSCREEN_PLATFORM=ON
- -DUSE_SHARED_ALLEGRO4=$(usex !bundled-libs)
- -DUSE_SHARED_CURL=ON
- -DUSE_SHARED_FREETYPE=ON
- -DUSE_SHARED_GIFLIB=ON
- -DUSE_SHARED_JPEGLIB=ON
- -DUSE_SHARED_LIBLOADPNG=ON
- -DUSE_SHARED_LIBPNG=ON
- -DUSE_SHARED_PIXMAN=ON
- -DUSE_SHARED_TINYXML=ON
- -DUSE_SHARED_ZLIB=ON
- -DUSE_SHARED_LIBWEBP=ON
- -DWITH_DESKTOP_INTEGRATION=ON
- -DWITH_GTK_FILE_DIALOG_SUPPORT="$(usex gtk3)"
- -DWITH_QT_THUMBNAILER="$(usex kde)"
- -DWITH_WEBP_SUPPORT="$(usex webp)"
- -DENABLE_TESTS="$(usex test)"
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
- )
- cmake_src_configure
-}
-
-src_install() {
- newicon -s 64 "${S}/data/icons/ase64.png" "${PN}.png"
- cmake_src_install
-}
-
-pkg_postinst() {
- if use !bundled-libs ; then
- ewarn "Aseprite has been built with system-wide Allegro 4."
- ewarn "Please note that you will not be able to resize the main window."
- ewarn "For resizing support enable USE-flag bundled-libs and rebuild package."
- fi
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/dev-games/aseprite/aseprite-1.1.9.ebuild b/dev-games/aseprite/aseprite-1.1.9.ebuild
deleted file mode 100644
index b3ab60f8d324..000000000000
--- a/dev-games/aseprite/aseprite-1.1.9.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake desktop flag-o-matic xdg-utils
-
-DESCRIPTION="Animated sprite editor & pixel art tool"
-HOMEPAGE="https://www.aseprite.org"
-SRC_URI="https://github.com/aseprite/aseprite/releases/download/v${PV}/Aseprite-v${PV}-Source.zip"
-
-# See https://github.com/aseprite/aseprite#license
-# Some bundled third-party packages built-in:
-# gtest duktape modp_b64 simpleini
-LICENSE="Aseprite-EULA"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-IUSE="bundled-libs debug kde gtk3 test webp"
-RESTRICT="bindist mirror !test? ( test )"
-
-RDEPEND="
- !bundled-libs? ( media-libs/allegro:0[X,png] )
- gtk3? ( dev-cpp/gtkmm:3.0 )
- kde? (
- dev-qt/qtcore:5
- kde-frameworks/kio:5
- )
- webp? ( media-libs/libwebp )
- dev-libs/tinyxml
- media-libs/freetype
- media-libs/giflib:=
- media-libs/libpng:0=
- net-misc/curl
- sys-libs/zlib
- virtual/jpeg:0
- x11-libs/libX11
- x11-libs/pixman"
-BDEPEND="
- app-arch/unzip
- gtk3? ( virtual/pkgconfig )
- webp? ( virtual/pkgconfig )"
-
-DOCS=( docs/files/ase.txt
- docs/files/fli.txt
- docs/files/msk.txt
- docs/files/pic.txt
- docs/files/picpro.txt
- README.md )
-
-S="${WORKDIR}"
-
-PATCHES=( "${FILESDIR}/${PN}-1.1.7_type-punned_pointer.patch" )
-
-src_prepare() {
- cmake_src_prepare
-
- # Fix to make flag-o-matic work.
- if use debug ; then
- sed -i '/-DNDEBUG/d' CMakeLists.txt || die
- fi
- # Fix shebang in thumbnailer
- sed -i -e 's:#!/usr/bin/sh:#!/bin/sh:' desktop/aseprite-thumbnailer || die
-}
-
-src_configure() {
- use debug && append-cppflags -DDEBUGMODE -D_DEBUG
-
- local mycmakeargs=(
- -DENABLE_UPDATER=OFF
- -DFULLSCREEN_PLATFORM=ON
- -DUSE_SHARED_ALLEGRO4=$(usex !bundled-libs)
- -DUSE_SHARED_CURL=ON
- -DUSE_SHARED_FREETYPE=ON
- -DUSE_SHARED_GIFLIB=ON
- -DUSE_SHARED_JPEGLIB=ON
- -DUSE_SHARED_LIBLOADPNG=ON
- -DUSE_SHARED_LIBPNG=ON
- -DUSE_SHARED_PIXMAN=ON
- -DUSE_SHARED_TINYXML=ON
- -DUSE_SHARED_ZLIB=ON
- -DUSE_SHARED_LIBWEBP=ON
- -DWITH_DESKTOP_INTEGRATION=ON
- -DWITH_GTK_FILE_DIALOG_SUPPORT="$(usex gtk3)"
- -DWITH_QT_THUMBNAILER="$(usex kde)"
- -DWITH_WEBP_SUPPORT="$(usex webp)"
- -DENABLE_TESTS="$(usex test)"
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
- )
- cmake_src_configure
-}
-
-src_install() {
- newicon -s 64 "${S}/data/icons/ase64.png" "${PN}.png"
- cmake_src_install
-}
-
-pkg_postinst() {
- if use !bundled-libs ; then
- ewarn "Aseprite has been built with system-wide Allegro 4."
- ewarn "Please note that you will not be able to resize the main window."
- ewarn "For resizing support enable USE-flag bundled-libs and rebuild package."
- fi
- xdg_desktop_database_update
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
diff --git a/dev-games/aseprite/aseprite-1.2.40.ebuild b/dev-games/aseprite/aseprite-1.2.40.ebuild
new file mode 100644
index 000000000000..2a603fddfb1f
--- /dev/null
+++ b/dev-games/aseprite/aseprite-1.2.40.ebuild
@@ -0,0 +1,231 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake desktop flag-o-matic ninja-utils python-any-r1 toolchain-funcs xdg-utils
+
+SKIA_VER="m102"
+# Last commit in ${SKIA_VER} feature branch
+# Don't use skia.googlesource.com, it produces non-reproducible tarballs
+SKIA_REV="3338e90707323d2cd3a150276acb9f39933deee2"
+
+DESCRIPTION="Animated sprite editor & pixel art tool"
+HOMEPAGE="https://www.aseprite.org"
+SRC_URI="https://github.com/aseprite/aseprite/releases/download/v${PV}/Aseprite-v${PV}-Source.zip
+ https://github.com/google/skia/archive/${SKIA_REV}.tar.gz -> skia-${SKIA_VER}-${SKIA_REV}.gh.tar.gz"
+
+# See https://github.com/aseprite/aseprite#license
+LICENSE="Aseprite-EULA"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+IUSE="kde test webp"
+RESTRICT="bindist mirror !test? ( test )"
+
+RDEPEND="
+ app-arch/libarchive:=
+ app-text/cmark:=
+ dev-cpp/json11
+ dev-libs/tinyxml
+ media-libs/freetype
+ media-libs/giflib:=
+ media-libs/harfbuzz:=[truetype]
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ net-misc/curl
+ sys-libs/zlib:=
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXi
+ x11-libs/libxcb:=
+ kde? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ kde-frameworks/kio:5
+ )
+ webp? ( media-libs/libwebp:= )"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? ( dev-cpp/gtest )
+ app-arch/unzip
+ dev-build/gn
+ virtual/pkgconfig"
+
+DOCS=(
+ docs/ase-file-specs.md
+ docs/gpl-palette-extension.md
+ README.md
+)
+
+S="${WORKDIR}"
+
+PATCHES=(
+ "${FILESDIR}/skia-${SKIA_VER}_remove_angle2.patch"
+ "${FILESDIR}/${PN}-1.2.40_shared_libarchive.patch"
+ "${FILESDIR}/${PN}-1.2.40_shared_json11.patch"
+ "${FILESDIR}/${PN}-1.2.40_shared_webp.patch"
+ "${FILESDIR}/${PN}-1.2.35_laf_fixes.patch"
+ "${FILESDIR}/${PN}-1.2.40_musl_pthreads.patch"
+ "${FILESDIR}/${PN}-1.2.40_ixwebsocket-gcc13.patch"
+ "${FILESDIR}/${PN}-1.2.40_laf-gcc13.patch"
+)
+
+src_prepare() {
+ # Remove extra \r on ends, #895504
+ sed -i -e 's/\r$//' \
+ third_party/IXWebSocket/ixwebsocket/IXWebSocketSendData.h || die
+ cmake_src_prepare
+ # Skia: remove custom optimizations
+ sed -i -e 's:"\/\/gn\/skia\:optimize",::g' \
+ "skia-${SKIA_REV}/gn/BUILDCONFIG.gn" || die
+ # Aseprite: don't install tga bundled library
+ sed -i -e '/install/d' src/tga/CMakeLists.txt || die
+ # Aseprite: don't use bundled gtest
+ sed -i -e '/add_subdirectory(googletest)/d' \
+ laf/third_party/CMakeLists.txt || die
+ # Fix shebang in thumbnailer
+ sed -i -e 's:#!/usr/bin/sh:#!/bin/sh:' \
+ src/desktop/linux/aseprite-thumbnailer || die
+}
+
+src_configure() {
+ # -Werror=strict-aliasing, -Werror=odr, -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/924692
+ # https://github.com/aseprite/aseprite/issues/4413
+ #
+ # There is a bundled skia that fails with ODR errors. When excluding just
+ # skia from testing, aseprite itself fails with strict-aliasing, and when
+ # that is disabled, fails again with ODR and lto-type-mismatch issues.
+ #
+ # There are a lot of issues, so don't trust any fixes without thorough
+ # testing.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ einfo "Skia configuration"
+ cd "${WORKDIR}/skia-${SKIA_REV}" || die
+
+ tc-export AR CC CXX
+
+ passflags() {
+ local _f _x
+ _f=( ${1} )
+ _x="[$(printf '"%s", ' "${_f[@]}")]"
+ myconf_gn+=( ${2}="${_x}" )
+ }
+
+ local myconf_gn=(
+ ar=\"${AR}\"
+ cc=\"${CC}\"
+ cxx=\"${CXX}\"
+
+ is_official_build=true
+ is_component_build=false
+ is_debug=false
+
+ skia_use_egl=false
+ skia_use_dawn=false
+ skia_use_dng_sdk=false
+ skia_use_metal=false
+ skia_use_sfntly=false
+ skia_use_wuffs=false
+
+ skia_enable_pdf=false
+ skia_enable_svg=false
+ skia_use_expat=false
+ skia_use_ffmpeg=false
+ skia_use_fontconfig=false
+ skia_use_freetype=true
+ skia_use_gl=true
+ skia_use_harfbuzz=true
+ skia_use_icu=false
+ skia_use_libjpeg_turbo_decode=true
+ skia_use_libjpeg_turbo_encode=true
+ skia_use_libpng_decode=true
+ skia_use_libpng_encode=true
+ skia_use_libwebp_decode=$(usex webp true false)
+ skia_use_libwebp_encode=$(usex webp true false)
+ skia_use_lua=false
+ skia_use_vulkan=false
+ skia_use_x11=false
+ skia_use_xps=false
+ skia_use_zlib=true
+ )
+
+ passflags "${CFLAGS}" extra_cflags_c
+ passflags "${CXXFLAGS}" extra_cflags_cc
+ passflags "${LDFLAGS}" extra_ldflags
+ myconf_gn="${myconf_gn[@]}"
+ set -- gn gen --args="${myconf_gn% }" out/Static
+ echo "$@"
+ "$@" || die
+
+ einfo "Aseprite configuration"
+ cd "${WORKDIR}" || die
+
+ local mycmakeargs=(
+ -DENABLE_CCACHE=OFF
+ -DENABLE_DESKTOP_INTEGRATION=ON
+ -DENABLE_STEAM=OFF
+ -DENABLE_TESTS="$(usex test)"
+ -DENABLE_QT_THUMBNAILER="$(usex kde)"
+ -DENABLE_UPDATER=OFF
+ -DENABLE_UI=ON
+ -DENABLE_WEBP="$(usex webp)"
+ -DLAF_WITH_EXAMPLES=OFF
+ -DLAF_WITH_TESTS="$(usex test)"
+ -DFULLSCREEN_PLATFORM=ON
+ -DSKIA_DIR="${WORKDIR}/skia-${SKIA_REV}/"
+ -DSKIA_LIBRARY_DIR="${WORKDIR}/skia-${SKIA_REV}/out/Static/"
+ -DSKIA_LIBRARY="${WORKDIR}/skia-${SKIA_REV}/out/Static/libskia.a"
+ -DSKSHAPER_LIBRARY="${WORKDIR}/skia-${SKIA_REV}/out/Static/libskshaper.a"
+ -DUSE_SHARED_CMARK=ON
+ -DUSE_SHARED_CURL=ON
+ -DUSE_SHARED_FREETYPE=ON
+ -DUSE_SHARED_GIFLIB=ON
+ -DUSE_SHARED_HARFBUZZ=ON
+ -DUSE_SHARED_JPEGLIB=ON
+ -DUSE_SHARED_JSON11=ON
+ -DUSE_SHARED_LIBARCHIVE=ON
+ -DUSE_SHARED_LIBPNG=ON
+ -DUSE_SHARED_PIXMAN=ON
+ -DUSE_SHARED_TINYXML=ON
+ -DUSE_SHARED_WEBP=ON
+ -DUSE_SHARED_ZLIB=ON
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ einfo "Skia compilation"
+ cd "${WORKDIR}/skia-${SKIA_REV}" || die
+ eninja -C out/Static
+
+ einfo "Aseprite compilation"
+ cd "${WORKDIR}" || die
+ cmake_src_compile
+}
+
+src_install() {
+ newicon -s 64 "${S}/data/icons/ase64.png" "${PN}.png"
+ cmake_src_install
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+}
diff --git a/dev-games/aseprite/aseprite-1.3.5.ebuild b/dev-games/aseprite/aseprite-1.3.5.ebuild
new file mode 100644
index 000000000000..8717c09abd5e
--- /dev/null
+++ b/dev-games/aseprite/aseprite-1.3.5.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake desktop flag-o-matic python-any-r1 toolchain-funcs xdg-utils
+
+SKIA_VER="m102"
+# Last commit in ${SKIA_VER} feature branch
+# Don't use skia.googlesource.com, it produces non-reproducible tarballs
+SKIA_REV="3338e90707323d2cd3a150276acb9f39933deee2"
+
+DESCRIPTION="Animated sprite editor & pixel art tool"
+HOMEPAGE="https://www.aseprite.org"
+SRC_URI="https://github.com/aseprite/aseprite/releases/download/v${PV}/Aseprite-v${PV}-Source.zip
+ https://github.com/google/skia/archive/${SKIA_REV}.tar.gz -> skia-${SKIA_VER}-${SKIA_REV}.gh.tar.gz"
+
+# See https://github.com/aseprite/aseprite#license
+LICENSE="Aseprite-EULA MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="kde test webp"
+RESTRICT="bindist mirror !test? ( test )"
+
+CDEPEND="
+ app-arch/libarchive:=
+ app-text/cmark:=
+ dev-libs/libfmt:=
+ dev-libs/tinyxml
+ media-libs/freetype
+ media-libs/giflib:=
+ media-libs/harfbuzz:=[truetype]
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ net-misc/curl
+ sys-libs/zlib:=
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXi
+ x11-libs/libxcb:=
+ kde? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ kde-frameworks/kio:5
+ )
+ webp? ( media-libs/libwebp:= )"
+RDEPEND="
+ ${CDEPEND}
+ gnome-extra/zenity
+"
+DEPEND="
+ ${CDEPEND}
+ x11-base/xorg-proto"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? ( dev-cpp/gtest )
+ app-arch/unzip
+ dev-build/gn
+ virtual/pkgconfig"
+
+DOCS=(
+ docs/ase-file-specs.md
+ docs/gpl-palette-extension.md
+ README.md
+)
+
+S="${WORKDIR}"
+
+PATCHES=(
+ "${FILESDIR}/skia-${SKIA_VER}_remove_angle2.patch"
+ "${FILESDIR}/${PN}-1.2.40_shared_libarchive.patch"
+ "${FILESDIR}/${PN}-1.3.2_shared_json11.patch"
+ "${FILESDIR}/${PN}-1.3.2_shared_webp.patch"
+ "${FILESDIR}/${PN}-1.2.35_laf_fixes.patch"
+ "${FILESDIR}/${PN}-1.3.2_shared_fmt.patch"
+ "${FILESDIR}/${PN}-1.3.2_strict-aliasing.patch"
+ "${FILESDIR}"/aseprite-1.3.5_laf-strict-aliasing.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+ # Skia: remove custom optimizations
+ sed -i -e 's:"\/\/gn\/skia\:optimize",::g' \
+ "skia-${SKIA_REV}/gn/BUILDCONFIG.gn" || die
+ # Aseprite: don't install tga bundled library
+ sed -i -e '/install/d' src/tga/CMakeLists.txt || die
+ # Aseprite: don't use bundled gtest
+ sed -i -e '/add_subdirectory(googletest)/d' \
+ laf/third_party/CMakeLists.txt || die
+ # Fix shebang in thumbnailer
+ sed -i -e 's:#!/usr/bin/sh:#!/bin/sh:' \
+ src/desktop/linux/aseprite-thumbnailer || die
+}
+
+src_configure() {
+ # -Werror=strict-aliasing, -Werror=odr, -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/924692
+ # https://github.com/aseprite/aseprite/issues/4413
+ #
+ # There is a bundled skia that fails with ODR errors. When excluding just
+ # skia from testing, aseprite itself failed with strict-aliasing (before
+ # upstream PR#84), and when that is disabled, fails again with ODR and
+ # lto-type-mismatch issues.
+ #
+ # There are a lot of issues, so don't trust any fixes without thorough
+ # testing.
+ filter-lto
+
+ einfo "Skia configuration"
+ cd "${WORKDIR}/skia-${SKIA_REV}" || die
+
+ tc-export AR CC CXX
+
+ passflags() {
+ local _f _x
+ _f=( ${1} )
+ _x="[$(printf '"%s", ' "${_f[@]}")]"
+ myconf_gn+=( ${2}="${_x}" )
+ }
+
+ local myconf_gn=(
+ ar=\"${AR}\"
+ cc=\"${CC}\"
+ cxx=\"${CXX}\"
+
+ is_official_build=true
+ is_component_build=false
+ is_debug=false
+
+ skia_use_egl=false
+ skia_use_dawn=false
+ skia_use_dng_sdk=false
+ skia_use_metal=false
+ skia_use_sfntly=false
+ skia_use_wuffs=false
+
+ skia_enable_pdf=false
+ skia_enable_svg=false
+ skia_use_expat=false
+ skia_use_ffmpeg=false
+ skia_use_fontconfig=false
+ skia_use_freetype=true
+ skia_use_gl=true
+ skia_use_harfbuzz=true
+ skia_use_icu=false
+ skia_use_libjpeg_turbo_decode=true
+ skia_use_libjpeg_turbo_encode=true
+ skia_use_libpng_decode=true
+ skia_use_libpng_encode=true
+ skia_use_libwebp_decode=$(usex webp true false)
+ skia_use_libwebp_encode=$(usex webp true false)
+ skia_use_lua=false
+ skia_use_vulkan=false
+ skia_use_x11=false
+ skia_use_xps=false
+ skia_use_zlib=true
+ )
+
+ passflags "${CFLAGS}" extra_cflags_c
+ passflags "${CXXFLAGS}" extra_cflags_cc
+ passflags "${LDFLAGS}" extra_ldflags
+ myconf_gn="${myconf_gn[@]}"
+ set -- gn gen --args="${myconf_gn% }" out/Static
+ echo "$@"
+ "$@" || die
+
+ einfo "Aseprite configuration"
+ cd "${WORKDIR}" || die
+
+ local mycmakeargs=(
+ -DENABLE_CCACHE=OFF
+ -DENABLE_DESKTOP_INTEGRATION=ON
+ -DENABLE_STEAM=OFF
+ -DENABLE_TESTS="$(usex test)"
+ -DENABLE_QT_THUMBNAILER="$(usex kde)"
+ -DENABLE_UPDATER=OFF
+ -DENABLE_UI=ON
+ -DENABLE_WEBP="$(usex webp)"
+ -DLAF_WITH_EXAMPLES=OFF
+ -DLAF_WITH_TESTS="$(usex test)"
+ -DFULLSCREEN_PLATFORM=ON
+ -DSKIA_DIR="${WORKDIR}/skia-${SKIA_REV}/"
+ -DSKIA_LIBRARY_DIR="${WORKDIR}/skia-${SKIA_REV}/out/Static/"
+ -DSKIA_LIBRARY="${WORKDIR}/skia-${SKIA_REV}/out/Static/libskia.a"
+ -DSKSHAPER_LIBRARY="${WORKDIR}/skia-${SKIA_REV}/out/Static/libskshaper.a"
+ -DUSE_SHARED_CMARK=ON
+ -DUSE_SHARED_CURL=ON
+ -DUSE_SHARED_FMT=ON
+ -DUSE_SHARED_FREETYPE=ON
+ -DUSE_SHARED_GIFLIB=ON
+ -DUSE_SHARED_HARFBUZZ=ON
+ -DUSE_SHARED_JPEGLIB=ON
+ -DUSE_SHARED_JSON11=OFF # Custom methods added to bundled version
+ -DUSE_SHARED_LIBARCHIVE=ON
+ -DUSE_SHARED_LIBPNG=ON
+ -DUSE_SHARED_PIXMAN=ON
+ -DUSE_SHARED_TINYXML=ON
+ -DUSE_SHARED_WEBP=ON
+ -DUSE_SHARED_ZLIB=ON
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ einfo "Skia compilation"
+ cd "${WORKDIR}/skia-${SKIA_REV}" || die
+ eninja -C out/Static
+
+ einfo "Aseprite compilation"
+ cd "${WORKDIR}" || die
+ cmake_src_compile
+}
+
+src_install() {
+ newicon -s 64 "${S}/data/icons/ase64.png" "${PN}.png"
+ cmake_src_install
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+}
diff --git a/dev-games/aseprite/files/aseprite-1.1.7_type-punned_pointer.patch b/dev-games/aseprite/files/aseprite-1.1.7_type-punned_pointer.patch
deleted file mode 100644
index ca0921437fc8..000000000000
--- a/dev-games/aseprite/files/aseprite-1.1.7_type-punned_pointer.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/src/allegro/src/x/xkeyboard.c b/src/allegro/src/x/xkeyboard.c
-index f121e62..86fa4f7 100644
---- a/src/allegro/src/x/xkeyboard.c
-+++ b/src/allegro/src/x/xkeyboard.c
-@@ -356,6 +356,14 @@ static int find_unknown_key_assignment (int i)
- return _xwin.keycode_to_scancode[i];
- }
-
-+/* unicode_getc:
-+ * Reads a character from a Unicode string.
-+ */
-+static int unicode_getc(AL_CONST char *s)
-+{
-+ return *((unsigned short *)s);
-+}
-+
-
-
- /* _xwin_keyboard_handler:
-@@ -412,7 +420,7 @@ void _xwin_keyboard_handler(XKeyEvent *event, int dga2_hack)
- }
- buffer[len] = '\0';
- uconvert(buffer, U_UTF8, buffer2, U_UNICODE, sizeof buffer2);
-- unicode = *(unsigned short *)buffer2;
-+ unicode = unicode_getc(buffer2);
-
- #ifdef ALLEGRO_XWINDOWS_WITH_XIM
- r = XFilterEvent((XEvent *)event, _xwin.window);
diff --git a/dev-games/aseprite/files/aseprite-1.2.35_laf_fixes.patch b/dev-games/aseprite/files/aseprite-1.2.35_laf_fixes.patch
new file mode 100644
index 000000000000..31a9ab5b3be9
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.2.35_laf_fixes.patch
@@ -0,0 +1,40 @@
+diff --git a/cmake/FindSkia.cmake b/cmake/FindSkia.cmake
+index 2d18c12..2e37f22 100644
+--- a/laf/cmake/FindSkia.cmake
++++ b/laf/cmake/FindSkia.cmake
+@@ -122,25 +122,25 @@ if(NOT ZLIB_LIBRARIES)
+ set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
+ endif()
+
+-set(FREETYPE_FOUND ON)
+-find_library(FREETYPE_LIBRARY freetype2 PATH "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
+-set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
+-set(FREETYPE_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/freetype/include")
+-
+-find_library(HARFBUZZ_LIBRARY harfbuzz PATH "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
+-set(HARFBUZZ_LIBRARIES ${HARFBUZZ_LIBRARY})
+-set(HARFBUZZ_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/harfbuzz/src")
+-
+ set(SKIA_LIBRARIES
+ ${SKIA_LIBRARY}
+ ${SKIA_OPENGL_LIBRARY}
++ ${FREETYPE_LIBRARIES}
++ ${JPEG_LIBRARIES}
++ ${HARFBUZZ_LIBRARIES}
++ ${PNG_LIBRARIES}
++ ${WEBP_LIBRARIES}
+ CACHE INTERNAL "Skia libraries")
+
+ add_library(skia INTERFACE)
+ target_include_directories(skia INTERFACE
+ ${SKIA_DIR}
+ ${FREETYPE_INCLUDE_DIRS}
+- ${HARFBUZZ_INCLUDE_DIRS})
++ ${JPEG_INCLUDE_DIRS}
++ ${HARFBUZZ_INCLUDE_DIRS}
++ ${PNG_INCLUDE_DIRS}
++ ${WEBP_INCLUDE_DIRS}
++)
+ target_link_libraries(skia INTERFACE ${SKIA_LIBRARIES})
+ target_compile_definitions(skia INTERFACE
+ SK_INTERNAL
diff --git a/dev-games/aseprite/files/aseprite-1.2.40_ixwebsocket-gcc13.patch b/dev-games/aseprite/files/aseprite-1.2.40_ixwebsocket-gcc13.patch
new file mode 100644
index 000000000000..85ae6739beb8
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.2.40_ixwebsocket-gcc13.patch
@@ -0,0 +1,245 @@
+From a5d86afd43920d2401682ecd3ec6879a574845ea Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sun, 19 Feb 2023 21:08:36 +0300
+Subject: [PATCH] Fix compilation on GCC-13
+
+GCC-13 changes internal cstdint includes, and now files that uses
+standart integer types should directly include cstdint header.
+
+See: https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+See: https://github.com/machinezone/IXWebSocket/pull/443
+Bug: https://bugs.gentoo.org/865117
+Bug: https://bugs.gentoo.org/895440
+--- a/third_party/IXWebSocket/ixwebsocket/IXBench.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXBench.h
+@@ -6,7 +6,7 @@
+ #pragma once
+
+ #include <chrono>
+-#include <stdint.h>
++#include <cstdint>
+ #include <string>
+
+ namespace ix
+--- a/third_party/IXWebSocket/ixwebsocket/IXConnectionState.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXConnectionState.h
+@@ -7,9 +7,9 @@
+ #pragma once
+
+ #include <atomic>
++#include <cstdint>
+ #include <functional>
+ #include <memory>
+-#include <stdint.h>
+ #include <string>
+
+ namespace ix
+--- a/third_party/IXWebSocket/ixwebsocket/IXDNSLookup.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXDNSLookup.h
+@@ -12,6 +12,7 @@
+
+ #include "IXCancellationRequest.h"
+ #include <atomic>
++#include <cstdint>
+ #include <memory>
+ #include <mutex>
+ #include <set>
+--- a/third_party/IXWebSocket/ixwebsocket/IXHttp.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXHttp.h
+@@ -9,6 +9,7 @@
+ #include "IXProgressCallback.h"
+ #include "IXWebSocketHttpHeaders.h"
+ #include <atomic>
++#include <cstdint>
+ #include <tuple>
+ #include <unordered_map>
+
+--- a/third_party/IXWebSocket/ixwebsocket/IXHttpClient.cpp
++++ b/third_party/IXWebSocket/ixwebsocket/IXHttpClient.cpp
+@@ -12,6 +12,7 @@
+ #include "IXUserAgent.h"
+ #include "IXWebSocketHttpHeaders.h"
+ #include <assert.h>
++#include <cstdint>
+ #include <cstring>
+ #include <iomanip>
+ #include <random>
+--- a/third_party/IXWebSocket/ixwebsocket/IXHttpServer.cpp
++++ b/third_party/IXWebSocket/ixwebsocket/IXHttpServer.cpp
+@@ -10,6 +10,7 @@
+ #include "IXNetSystem.h"
+ #include "IXSocketConnect.h"
+ #include "IXUserAgent.h"
++#include <cstdint>
+ #include <cstring>
+ #include <fstream>
+ #include <sstream>
+--- a/third_party/IXWebSocket/ixwebsocket/IXNetSystem.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXNetSystem.h
+@@ -6,6 +6,8 @@
+
+ #pragma once
+
++#include <cstdint>
++
+ #ifdef _WIN32
+
+ #ifndef WIN32_LEAN_AND_MEAN
+--- a/third_party/IXWebSocket/ixwebsocket/IXSelectInterrupt.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXSelectInterrupt.h
+@@ -6,8 +6,8 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <memory>
+-#include <stdint.h>
+ #include <string>
+
+ namespace ix
+--- a/third_party/IXWebSocket/ixwebsocket/IXSelectInterruptEvent.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXSelectInterruptEvent.h
+@@ -5,8 +5,8 @@
+ #pragma once
+
+ #include "IXSelectInterrupt.h"
++#include <cstdint>
+ #include <mutex>
+-#include <stdint.h>
+ #include <string>
+ #include <deque>
+ #ifdef _WIN32
+--- a/third_party/IXWebSocket/ixwebsocket/IXSelectInterruptPipe.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXSelectInterruptPipe.h
+@@ -7,6 +7,7 @@
+ #pragma once
+
+ #include "IXSelectInterrupt.h"
++#include <cstdint>
+ #include <mutex>
+ #include <stdint.h>
+ #include <string>
+--- a/third_party/IXWebSocket/ixwebsocket/IXSocket.cpp
++++ b/third_party/IXWebSocket/ixwebsocket/IXSocket.cpp
+@@ -14,7 +14,6 @@
+ #include <array>
+ #include <assert.h>
+ #include <fcntl.h>
+-#include <stdint.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+--- a/third_party/IXWebSocket/ixwebsocket/IXSocket.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXSocket.h
+@@ -7,6 +7,7 @@
+ #pragma once
+
+ #include <atomic>
++#include <cstdint>
+ #include <functional>
+ #include <memory>
+ #include <mutex>
+--- a/third_party/IXWebSocket/ixwebsocket/IXSocketMbedTLS.cpp
++++ b/third_party/IXWebSocket/ixwebsocket/IXSocketMbedTLS.cpp
+@@ -14,6 +14,7 @@
+ #include "IXNetSystem.h"
+ #include "IXSocket.h"
+ #include "IXSocketConnect.h"
++#include <cstdint>
+ #include <string.h>
+
+ #ifdef _WIN32
+--- a/third_party/IXWebSocket/ixwebsocket/IXUuid.cpp
++++ b/third_party/IXWebSocket/ixwebsocket/IXUuid.cpp
+@@ -16,6 +16,7 @@
+
+ #include "IXUuid.h"
+
++#include <cstdint>
+ #include <iomanip>
+ #include <random>
+ #include <sstream>
+--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocket.cpp
++++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocket.cpp
+@@ -13,6 +13,7 @@
+ #include "IXWebSocketHandshake.h"
+ #include <cassert>
+ #include <cmath>
++#include <cstdint>
+
+
+ namespace
+--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocket.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocket.h
+@@ -21,6 +21,7 @@
+ #include "IXWebSocketTransport.h"
+ #include <atomic>
+ #include <condition_variable>
++#include <cstdint>
+ #include <mutex>
+ #include <string>
+ #include <thread>
+--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocketPerMessageDeflate.cpp
++++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocketPerMessageDeflate.cpp
+@@ -46,6 +46,8 @@
+ *
+ */
+
++#include <cstdint>
++
+ #include "IXWebSocketPerMessageDeflate.h"
+
+ #include "IXUniquePtr.h"
+--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocketPerMessageDeflateCodec.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocketPerMessageDeflateCodec.h
+@@ -10,6 +10,7 @@
+ #include "zlib.h"
+ #endif
+ #include <array>
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ #include "IXWebSocketSendData.h"
+--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocketPerMessageDeflateOptions.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocketPerMessageDeflateOptions.h
+@@ -6,6 +6,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+
+ namespace ix
+--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocketSendData.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocketSendData.h
+@@ -6,6 +6,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ #include <iterator>
+--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocketTransport.cpp
++++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocketTransport.cpp
+@@ -45,7 +45,6 @@
+ #include <cstdarg>
+ #include <cstdlib>
+ #include <sstream>
+-#include <stdlib.h>
+ #include <string.h>
+ #include <string>
+ #include <thread>
+--- a/third_party/IXWebSocket/ixwebsocket/IXWebSocketTransport.h
++++ b/third_party/IXWebSocket/ixwebsocket/IXWebSocketTransport.h
+@@ -21,6 +21,7 @@
+ #include "IXWebSocketSendData.h"
+ #include "IXWebSocketSendInfo.h"
+ #include <atomic>
++#include <cstdint>
+ #include <functional>
+ #include <list>
+ #include <memory>
+--
+2.39.2
+
diff --git a/dev-games/aseprite/files/aseprite-1.2.40_laf-gcc13.patch b/dev-games/aseprite/files/aseprite-1.2.40_laf-gcc13.patch
new file mode 100644
index 000000000000..3d7ff309342b
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.2.40_laf-gcc13.patch
@@ -0,0 +1,47 @@
+From 59c6af303dea4c6dc0c9da687ec73612929eacfc Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Tue, 21 Feb 2023 17:01:04 +0300
+Subject: [PATCH] Fix compilation on GCC13
+
+GCC-13 changes internal cstdint includes, and now files that uses
+standard integer types should directly include cstdint header.
+
+See: https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+See: https://github.com/aseprite/laf/pull/55
+Bug: https://bugs.gentoo.org/865117
+Bug: https://bugs.gentoo.org/895616
+--- a/laf/base/file_content.h
++++ b/laf/base/file_content.h
+@@ -9,6 +9,7 @@
+ #pragma once
+
+ #include "base/buffer.h"
++#include "base/ints.h"
+
+ #include <cstdio>
+ #include <string>
+--- a/laf/base/sha1.h
++++ b/laf/base/sha1.h
+@@ -11,6 +11,8 @@
+ #include <vector>
+ #include <string>
+
++#include "base/ints.h"
++
+ extern "C" struct SHA1Context;
+
+ namespace base {
+--- a/laf/base/sha1_rfc3174.h
++++ b/laf/base/sha1_rfc3174.h
+@@ -18,6 +18,8 @@
+ #define BASE_SHA1_RFC3174_H_INCLUDED
+ #pragma once
+
++#include "base/ints.h"
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+--
+2.39.2
+
diff --git a/dev-games/aseprite/files/aseprite-1.2.40_musl_pthreads.patch b/dev-games/aseprite/files/aseprite-1.2.40_musl_pthreads.patch
new file mode 100644
index 000000000000..6a6dfd9f6020
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.2.40_musl_pthreads.patch
@@ -0,0 +1,57 @@
+From 27403363708ca72cbbbdb085de27896485c5c422 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sat, 12 Nov 2022 05:13:08 +0300
+Subject: [PATCH] Don't use pthread_detach() after pthread_join()
+
+After pthread_join() all allocated to thread resources are freed, so
+pthread_detach() after pthread_join() will results in undefined behavior
+with SIGSERV on some libc implementations (like MUSL). According to
+pthread_detach(3), "Either pthread_join(3) or pthread_detach() should be
+called for each thread that an application creates".
+---
+ base/thread.cpp | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/laf/base/thread.cpp b/laf/base/thread.cpp
+index 81c1284..4d5e0ce 100644
+--- a/laf/base/thread.cpp
++++ b/laf/base/thread.cpp
+@@ -55,8 +55,12 @@ thread::thread()
+
+ thread::~thread()
+ {
+- if (joinable())
++ if (joinable()) {
++#if LAF_WINDOWS
++ ::CloseHandle(m_native_handle);
++#endif
+ detach();
++ }
+ }
+
+ bool thread::joinable() const
+@@ -69,6 +73,7 @@ void thread::join()
+ if (joinable()) {
+ #if LAF_WINDOWS
+ ::WaitForSingleObject(m_native_handle, INFINITE);
++ ::CloseHandle(m_native_handle);
+ #else
+ ::pthread_join((pthread_t)m_native_handle, NULL);
+ #endif
+@@ -79,12 +84,7 @@ void thread::join()
+ void thread::detach()
+ {
+ if (joinable()) {
+-#if LAF_WINDOWS
+- ::CloseHandle(m_native_handle);
+- m_native_handle = (native_handle_type)0;
+-#else
+- ::pthread_detach((pthread_t)m_native_handle);
+-#endif
++ m_native_handle = (native_handle_type)NULL;
+ }
+ }
+
+--
+2.37.4
+
diff --git a/dev-games/aseprite/files/aseprite-1.2.40_shared_json11.patch b/dev-games/aseprite/files/aseprite-1.2.40_shared_json11.patch
new file mode 100644
index 000000000000..d4c50484c9a8
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.2.40_shared_json11.patch
@@ -0,0 +1,54 @@
+From d92660c3187d0e7d5a0b7b2210f328d0d0bf73f2 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sun, 10 Jul 2022 19:53:06 +0300
+Subject: [PATCH 2/3] Use shared json11 library
+
+Added option -DUSE_SHARED_JSON11
+---
+ CMakeLists.txt | 7 +++++++
+ third_party/CMakeLists.txt | 4 +++-
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 85d447ac8..69ab97ed8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -50,6 +50,7 @@ option(USE_SHARED_CMARK "Use your installed copy of cmark" off)
+ option(USE_SHARED_CURL "Use your installed copy of curl" off)
+ option(USE_SHARED_GIFLIB "Use your installed copy of giflib" off)
+ option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off)
++option(USE_SHARED_JSON11 "Use your installed copy of json11" off)
+ option(USE_SHARED_ZLIB "Use your installed copy of zlib" off)
+ option(USE_SHARED_LIBARCHIVE "Use your installed copy of libarchive" off)
+ option(USE_SHARED_LIBPNG "Use your installed copy of libpng" off)
+@@ -301,6 +302,12 @@ else()
+ endif()
+ include_directories(${JPEG_INCLUDE_DIRS})
+
++if(USE_SHARED_JSON11)
++ find_package(PkgConfig QUIET)
++ pkg_check_modules(JSON11 json11)
++ include_directories(${JSON11_INCLUDE_DIRS})
++endif()
++
+ if(USE_SHARED_CMARK)
+ find_library(CMARK_LIBRARIES NAMES cmark)
+ find_path(CMARK_INCLUDE_DIRS NAMES cmark.h)
+diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
+index e0a11c9c6..63ad42f23 100644
+--- a/third_party/CMakeLists.txt
++++ b/third_party/CMakeLists.txt
+@@ -123,7 +123,9 @@ if(NOT USE_SHARED_CMARK)
+ endif()
+
+ # JSON
+-add_subdirectory(json11)
++if(NOT USE_SHARED_JSON11)
++ add_subdirectory(json11)
++endif()
+
+ # libarchive
+ if(NOT USE_SHARED_LIBARCHIVE)
+--
+2.37.4
+
diff --git a/dev-games/aseprite/files/aseprite-1.2.40_shared_libarchive.patch b/dev-games/aseprite/files/aseprite-1.2.40_shared_libarchive.patch
new file mode 100644
index 000000000000..ffe5ae8bdeef
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.2.40_shared_libarchive.patch
@@ -0,0 +1,106 @@
+From dcad402ec83ca298cc206a1e8170b13c3f9a40fd Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Fri, 9 Oct 2020 02:18:36 +0300
+Subject: [PATCH 1/3] Make LibArchive as shared library dependency
+
+---
+ CMakeLists.txt | 11 +++++++++++
+ src/app/CMakeLists.txt | 2 +-
+ third_party/CMakeLists.txt | 38 ++++++++++++++++++++------------------
+ 3 files changed, 32 insertions(+), 19 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e9814380d..85d447ac8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -51,6 +51,7 @@ option(USE_SHARED_CURL "Use your installed copy of curl" off)
+ option(USE_SHARED_GIFLIB "Use your installed copy of giflib" off)
+ option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off)
+ option(USE_SHARED_ZLIB "Use your installed copy of zlib" off)
++option(USE_SHARED_LIBARCHIVE "Use your installed copy of libarchive" off)
+ option(USE_SHARED_LIBPNG "Use your installed copy of libpng" off)
+ option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
+ option(USE_SHARED_PIXMAN "Use your installed copy of pixman" off)
+@@ -210,6 +211,16 @@ else()
+ endif()
+ include_directories(${ZLIB_INCLUDE_DIRS})
+
++# libarchive
++if(USE_SHARED_LIBARCHIVE)
++ find_package(LibArchive REQUIRED)
++else()
++ set(LibArchive_FOUND)
++ set(LibArchive_LIBRARIES archive_static)
++ set(LibArchive_INCLUDE_DIRS $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libarchive/libarchive>)
++endif()
++include_directories(${LibArchive_INCLUDE_DIRS})
++
+ # libpng
+ if(USE_SHARED_LIBPNG)
+ find_package(PNG REQUIRED)
+diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
+index c42768ff6..e0495f98f 100644
+--- a/src/app/CMakeLists.txt
++++ b/src/app/CMakeLists.txt
+@@ -670,8 +670,8 @@ target_link_libraries(app-lib
+ ${ZLIB_LIBRARIES}
+ ${FREETYPE_LIBRARIES}
+ ${HARFBUZZ_LIBRARIES}
++ ${LibArchive_LIBRARIES}
+ json11
+- archive_static
+ fmt
+ tinyexpr)
+
+diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
+index 96a82829d..e0a11c9c6 100644
+--- a/third_party/CMakeLists.txt
++++ b/third_party/CMakeLists.txt
+@@ -126,24 +126,26 @@ endif()
+ add_subdirectory(json11)
+
+ # libarchive
+-set(ENABLE_WERROR OFF CACHE BOOL "Treat warnings as errors - default is ON for Debug, OFF otherwise.")
+-set(ENABLE_TEST OFF CACHE BOOL "Enable unit and regression tests")
+-set(ENABLE_COVERAGE OFF CACHE BOOL "Enable code coverage (GCC only, automatically sets ENABLE_TEST to ON)")
+-set(ENABLE_LZ4 OFF CACHE BOOL "Enable the use of the system LZ4 library if found")
+-set(ENABLE_LZO OFF CACHE BOOL "Enable the use of the system LZO library if found")
+-set(ENABLE_LZMA OFF CACHE BOOL "Enable the use of the system LZMA library if found")
+-set(ENABLE_ZSTD OFF CACHE BOOL "Enable the use of the system zstd library if found")
+-set(ENABLE_CNG OFF CACHE BOOL "Enable the use of CNG(Crypto Next Generation)")
+-set(ENABLE_BZip2 OFF CACHE BOOL "Enable the use of the system BZip2 library if found")
+-set(ENABLE_EXPAT OFF CACHE BOOL "Enable the use of the system EXPAT library if found")
+-set(ENABLE_LIBXML2 OFF CACHE BOOL "Enable the use of the system libxml2 library if found")
+-set(ENABLE_CAT OFF CACHE BOOL "Enable cat building")
+-set(ENABLE_TAR OFF CACHE BOOL "Enable tar building")
+-set(ENABLE_CPIO OFF CACHE BOOL "Enable cpio building")
+-set(ENABLE_LIBB2 OFF CACHE BOOL "Enable the use of the system LIBB2 library if found")
+-add_subdirectory(libarchive)
+-target_include_directories(archive_static INTERFACE
+- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libarchive/libarchive>)
++if(NOT USE_SHARED_LIBARCHIVE)
++ set(ENABLE_WERROR OFF CACHE BOOL "Treat warnings as errors - default is ON for Debug, OFF otherwise.")
++ set(ENABLE_TEST OFF CACHE BOOL "Enable unit and regression tests")
++ set(ENABLE_COVERAGE OFF CACHE BOOL "Enable code coverage (GCC only, automatically sets ENABLE_TEST to ON)")
++ set(ENABLE_LZ4 OFF CACHE BOOL "Enable the use of the system LZ4 library if found")
++ set(ENABLE_LZO OFF CACHE BOOL "Enable the use of the system LZO library if found")
++ set(ENABLE_LZMA OFF CACHE BOOL "Enable the use of the system LZMA library if found")
++ set(ENABLE_ZSTD OFF CACHE BOOL "Enable the use of the system zstd library if found")
++ set(ENABLE_CNG OFF CACHE BOOL "Enable the use of CNG(Crypto Next Generation)")
++ set(ENABLE_BZip2 OFF CACHE BOOL "Enable the use of the system BZip2 library if found")
++ set(ENABLE_EXPAT OFF CACHE BOOL "Enable the use of the system EXPAT library if found")
++ set(ENABLE_LIBXML2 OFF CACHE BOOL "Enable the use of the system libxml2 library if found")
++ set(ENABLE_CAT OFF CACHE BOOL "Enable cat building")
++ set(ENABLE_TAR OFF CACHE BOOL "Enable tar building")
++ set(ENABLE_CPIO OFF CACHE BOOL "Enable cpio building")
++ set(ENABLE_LIBB2 OFF CACHE BOOL "Enable the use of the system LIBB2 library if found")
++ add_subdirectory(libarchive)
++ target_include_directories(archive_static INTERFACE
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libarchive/libarchive>)
++endif()
+
+ # benchmark
+ if(ENABLE_BENCHMARKS)
+--
+2.37.4
+
diff --git a/dev-games/aseprite/files/aseprite-1.2.40_shared_webp.patch b/dev-games/aseprite/files/aseprite-1.2.40_shared_webp.patch
new file mode 100644
index 000000000000..44f46efac5d5
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.2.40_shared_webp.patch
@@ -0,0 +1,72 @@
+From adabed7947074268be713e1da3b4cb2d6d8c88a5 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sun, 10 Jul 2022 20:14:00 +0300
+Subject: [PATCH 3/3] Use shared webp library
+
+Added option -DUSE_SHARED_WEBP
+---
+ CMakeLists.txt | 25 ++++++++++++++++---------
+ third_party/CMakeLists.txt | 2 +-
+ 2 files changed, 17 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 69ab97ed8..2cb0886cd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -56,6 +56,7 @@ option(USE_SHARED_LIBARCHIVE "Use your installed copy of libarchive" off)
+ option(USE_SHARED_LIBPNG "Use your installed copy of libpng" off)
+ option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
+ option(USE_SHARED_PIXMAN "Use your installed copy of pixman" off)
++option(USE_SHARED_WEBP "Use your installed copy of webp" off)
+ option(USE_SHARED_FREETYPE "Use shared FreeType library" off)
+ option(USE_SHARED_HARFBUZZ "Use shared HarfBuzz library" off)
+ option(ENABLE_ASEPRITE_EXE "Compile main Aseprite executable" on)
+@@ -345,17 +346,23 @@ add_subdirectory(laf)
+
+ # libwebp
+ if(ENABLE_WEBP)
+- # Use libwebp from Skia
+- if(LAF_BACKEND STREQUAL "skia")
+- find_library(WEBP_LIBRARIES webp
+- NAMES libwebp # required for Windows
+- PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
+- set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
++ if(USE_SHARED_WEBP)
++ find_package(PkgConfig QUIET)
++ pkg_check_modules(WEBP libwebp libwebpdemux libwebpmux)
++ include_directories(${WEBP_INCLUDE_DIR})
+ else()
+- set(WEBP_LIBRARIES webp webpdemux libwebpmux)
+- set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
++ # Use libwebp from Skia
++ if(LAF_BACKEND STREQUAL "skia")
++ find_library(WEBP_LIBRARIES webp
++ NAMES libwebp # required for Windows
++ PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
++ set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
++ else()
++ set(WEBP_LIBRARIES webp webpdemux libwebpmux)
++ set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
++ endif()
++ include_directories(${WEBP_INCLUDE_DIR})
+ endif()
+- include_directories(${WEBP_INCLUDE_DIR})
+ endif()
+ message(STATUS "aseprite libwebp: ${WEBP_LIBRARIES}")
+
+diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
+index 63ad42f23..9e240bc3e 100644
+--- a/third_party/CMakeLists.txt
++++ b/third_party/CMakeLists.txt
+@@ -33,7 +33,7 @@ if(NOT USE_SHARED_GIFLIB)
+ add_subdirectory(giflib)
+ endif()
+
+-if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
++if(ENABLE_WEBP AND NOT USE_SHARED_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
+ set(WEBP_BUILD_EXTRAS OFF CACHE BOOL "Build extras.")
+ set(WEBP_BUILD_ANIM_UTILS OFF CACHE BOOL "Build animation utilities.")
+ set(WEBP_BUILD_CWEBP OFF CACHE BOOL "Build the cwebp command line tool.")
+--
+2.37.4
+
diff --git a/dev-games/aseprite/files/aseprite-1.3.2_shared_fmt.patch b/dev-games/aseprite/files/aseprite-1.3.2_shared_fmt.patch
new file mode 100644
index 000000000000..ddb32c5b672d
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.3.2_shared_fmt.patch
@@ -0,0 +1,52 @@
+From 7afccfca25ffe17aba5dada1dab663c8b6228ab1 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Tue, 2 Jan 2024 20:00:12 +0300
+Subject: [PATCH] Use shared fmt library
+
+Added option -DUSE_SHARED_FMT
+---
+ CMakeLists.txt | 5 +++++
+ third_party/CMakeLists.txt | 4 +++-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2fc29252b..e49373323 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -39,6 +39,7 @@ enable_testing()
+
+ option(USE_SHARED_CMARK "Use your installed copy of cmark" off)
+ option(USE_SHARED_CURL "Use your installed copy of curl" off)
++option(USE_SHARED_FMT "Use your installed copy of libfmt" off)
+ option(USE_SHARED_GIFLIB "Use your installed copy of giflib" off)
+ option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off)
+ option(USE_SHARED_JSON11 "Use your installed copy of json11" off)
+@@ -197,6 +198,10 @@ if(NOT USE_SHARED_CURL)
+ set(CURL_STATICLIB ON BOOL)
+ endif()
+
++if(USE_SHARED_FMT)
++ find_package(fmt REQUIRED)
++endif()
++
+ # zlib
+ if(USE_SHARED_ZLIB)
+ find_package(ZLIB REQUIRED)
+diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
+index babbd4742..3c83991a4 100644
+--- a/third_party/CMakeLists.txt
++++ b/third_party/CMakeLists.txt
+@@ -113,7 +113,9 @@ if(NOT USE_SHARED_HARFBUZZ AND NOT LAF_BACKEND STREQUAL "skia")
+ endif()
+
+ add_subdirectory(simpleini)
+-add_subdirectory(fmt)
++if(NOT USE_SHARED_FMT)
++ add_subdirectory(fmt)
++endif()
+
+ # Add cmark without tests
+ if(NOT USE_SHARED_CMARK)
+--
+2.41.0
+
diff --git a/dev-games/aseprite/files/aseprite-1.3.2_shared_json11.patch b/dev-games/aseprite/files/aseprite-1.3.2_shared_json11.patch
new file mode 100644
index 000000000000..98b10f76b58d
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.3.2_shared_json11.patch
@@ -0,0 +1,56 @@
+From 7fa34e4a478ae4e4eab4031e626040a9db210417 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sun, 10 Jul 2022 19:53:06 +0300
+Subject: [PATCH 1/3] Use shared json11 library
+
+Added option -DUSE_SHARED_JSON11
+---
+ CMakeLists.txt | 7 +++++++
+ third_party/CMakeLists.txt | 6 +++++-
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f099e1deb..c4f364185 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,6 +41,7 @@ option(USE_SHARED_CMARK "Use your installed copy of cmark" off)
+ option(USE_SHARED_CURL "Use your installed copy of curl" off)
+ option(USE_SHARED_GIFLIB "Use your installed copy of giflib" off)
+ option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off)
++option(USE_SHARED_JSON11 "Use your installed copy of json11" off)
+ option(USE_SHARED_ZLIB "Use your installed copy of zlib" off)
+ option(USE_SHARED_LIBARCHIVE "Use your installed copy of libarchive" off)
+ option(USE_SHARED_LIBPNG "Use your installed copy of libpng" off)
+@@ -299,6 +300,12 @@ else()
+ endif()
+ include_directories(${JPEG_INCLUDE_DIRS})
+
++if(USE_SHARED_JSON11)
++ find_package(PkgConfig QUIET)
++ pkg_check_modules(JSON11 json11)
++ include_directories(${JSON11_INCLUDE_DIRS})
++endif()
++
+ if(USE_SHARED_CMARK)
+ find_library(CMARK_LIBRARIES NAMES cmark)
+ find_path(CMARK_INCLUDE_DIRS NAMES cmark.h)
+diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
+index bdd52435c..88eea9b5e 100644
+--- a/third_party/CMakeLists.txt
++++ b/third_party/CMakeLists.txt
+@@ -123,7 +123,11 @@ if(NOT USE_SHARED_CMARK)
+ endif()
+
+ # JSON
+-add_subdirectory(json11)
++if(NOT USE_SHARED_JSON11)
++ add_library(json11 STATIC json11/json11.cpp)
++ target_include_directories(json11 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/json11)
++ #target_compile_options(json11 PRIVATE -fPIC -fno-rtti -fno-exceptions -Wall)
++endif()
+
+ # libarchive
+ if(NOT USE_SHARED_LIBARCHIVE)
+--
+2.41.0
+
diff --git a/dev-games/aseprite/files/aseprite-1.3.2_shared_webp.patch b/dev-games/aseprite/files/aseprite-1.3.2_shared_webp.patch
new file mode 100644
index 000000000000..3026b7641e6d
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.3.2_shared_webp.patch
@@ -0,0 +1,81 @@
+From 06d5d4cd307e9ee0b83bdbff71729dab1305ea9a Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sun, 10 Jul 2022 20:14:00 +0300
+Subject: [PATCH 2/4] Use shared webp library
+
+Added option -DUSE_SHARED_WEBP
+---
+ CMakeLists.txt | 28 ++++++++++++++++++----------
+ third_party/CMakeLists.txt | 2 +-
+ 2 files changed, 19 insertions(+), 11 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c4f364185..ba05f8d84 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -47,6 +47,7 @@ option(USE_SHARED_LIBARCHIVE "Use your installed copy of libarchive" off)
+ option(USE_SHARED_LIBPNG "Use your installed copy of libpng" off)
+ option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
+ option(USE_SHARED_PIXMAN "Use your installed copy of pixman" off)
++option(USE_SHARED_WEBP "Use your installed copy of webp" off)
+ option(USE_SHARED_FREETYPE "Use shared FreeType library" off)
+ option(USE_SHARED_HARFBUZZ "Use shared HarfBuzz library" off)
+ option(ENABLE_ASEPRITE_EXE "Compile main Aseprite executable" on)
+@@ -342,24 +343,31 @@ set(UNDO_TESTS ${ENABLE_TESTS} CACHE BOOL "Enable undo tests")
+ if(ENABLE_DRM)
+ add_subdirectory(drm)
+ endif()
+-add_subdirectory(laf)
+
+ # libwebp
+ if(ENABLE_WEBP)
+- # Use libwebp from Skia
+- if(LAF_BACKEND STREQUAL "skia")
+- find_library(WEBP_LIBRARIES webp
+- NAMES libwebp # required for Windows
+- PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
+- set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
++ if(USE_SHARED_WEBP)
++ find_package(PkgConfig QUIET)
++ pkg_check_modules(WEBP libwebp libwebpdemux libwebpmux)
++ include_directories(${WEBP_INCLUDE_DIR})
+ else()
+- set(WEBP_LIBRARIES webp webpdemux libwebpmux)
+- set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
++ # Use libwebp from Skia
++ if(LAF_BACKEND STREQUAL "skia")
++ find_library(WEBP_LIBRARIES webp
++ NAMES libwebp # required for Windows
++ PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
++ set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
++ else()
++ set(WEBP_LIBRARIES webp webpdemux libwebpmux)
++ set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
++ endif()
++ include_directories(${WEBP_INCLUDE_DIR})
+ endif()
+- include_directories(${WEBP_INCLUDE_DIR})
+ endif()
+ message(STATUS "aseprite libwebp: ${WEBP_LIBRARIES}")
+
++add_subdirectory(laf)
++
+ # LAF libraries + Aseprite are compiled with config.h
+ target_include_directories(laf-base PUBLIC src)
+ target_compile_definitions(laf-base PUBLIC HAVE_CONFIG_H)
+diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
+index 88eea9b5e..31aa3e52f 100644
+--- a/third_party/CMakeLists.txt
++++ b/third_party/CMakeLists.txt
+@@ -33,7 +33,7 @@ if(NOT USE_SHARED_GIFLIB)
+ add_subdirectory(giflib)
+ endif()
+
+-if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
++if(ENABLE_WEBP AND NOT USE_SHARED_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
+ set(WEBP_BUILD_EXTRAS OFF CACHE BOOL "Build extras.")
+ set(WEBP_BUILD_ANIM_UTILS OFF CACHE BOOL "Build animation utilities.")
+ set(WEBP_BUILD_CWEBP OFF CACHE BOOL "Build the cwebp command line tool.")
+--
+2.41.0
+
diff --git a/dev-games/aseprite/files/aseprite-1.3.2_strict-aliasing.patch b/dev-games/aseprite/files/aseprite-1.3.2_strict-aliasing.patch
new file mode 100644
index 000000000000..de88b29a82aa
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.3.2_strict-aliasing.patch
@@ -0,0 +1,55 @@
+From 4e2066a7eb108503bfea2092672329e19ffbde49 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Tue, 2 Jan 2024 21:09:04 +0300
+Subject: [PATCH] Fix strict-aliasing warnings
+
+---
+ src/dio/aseprite_decoder.cpp | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/src/dio/aseprite_decoder.cpp b/src/dio/aseprite_decoder.cpp
+index e01fbba32..209a67307 100644
+--- a/src/dio/aseprite_decoder.cpp
++++ b/src/dio/aseprite_decoder.cpp
+@@ -28,10 +28,20 @@
+ #include "zlib.h"
+
+ #include <cstdio>
++#include <cstring>
+ #include <vector>
+
+ namespace dio {
+
++template <typename T>
++T
++copy_reinterpret_cast(const void* ptr)
++{
++ T tmp;
++ std::memcpy(&tmp, ptr, sizeof(T));
++ return tmp;
++}
++
+ bool AsepriteDecoder::decode()
+ {
+ bool ignore_old_color_chunks = false;
+@@ -425,7 +435,7 @@ float AsepriteDecoder::readFloat()
+
+ // Little endian.
+ int v = ((b4 << 24) | (b3 << 16) | (b2 << 8) | b1);
+- return *reinterpret_cast<float*>(&v);
++ return *copy_reinterpret_cast<float*>(&v);
+ }
+
+ double AsepriteDecoder::readDouble()
+@@ -465,7 +475,7 @@ double AsepriteDecoder::readDouble()
+ ((long long)b3 << 16) |
+ ((long long)b2 << 8) |
+ (long long)b1);
+- return *reinterpret_cast<double*>(&v);
++ return *copy_reinterpret_cast<double*>(&v);
+ }
+
+ doc::Palette* AsepriteDecoder::readColorChunk(doc::Palette* prevPal,
+--
+2.41.0
+
diff --git a/dev-games/aseprite/files/aseprite-1.3.5_laf-strict-aliasing.patch b/dev-games/aseprite/files/aseprite-1.3.5_laf-strict-aliasing.patch
new file mode 100644
index 000000000000..de6d5ffe3e7c
--- /dev/null
+++ b/dev-games/aseprite/files/aseprite-1.3.5_laf-strict-aliasing.patch
@@ -0,0 +1,155 @@
+https://github.com/aseprite/laf/pull/84
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Sun, 14 Apr 2024 21:47:02 +0300
+Subject: [PATCH] Fix strict-alias warnings
+
+reinterpret_cast on pointers break strict-aliasing rule (-Wstrict-aliasing). Implemented internal function copy_reinterpret_cast that memcpy pointer into type, that can be converted to desired type.
+--- a/laf/base/cfile.cpp
++++ b/laf/base/cfile.cpp
+@@ -7,6 +7,7 @@
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
++#include "base/mem_utils.h"
+
+ #include <cstdio>
+
+@@ -114,7 +115,7 @@ float fgetf(FILE* file)
+
+ // Little endian.
+ int v = ((b4 << 24) | (b3 << 16) | (b2 << 8) | b1);
+- return *reinterpret_cast<float*>(&v);
++ return *copy_reinterpret_cast<float*>(&v);
+ }
+
+ // Reads a 64-bit double-precision floating point number using
+@@ -156,7 +157,7 @@ double fgetd(FILE* file)
+ ((long long)b3 << 16) |
+ ((long long)b2 << 8) |
+ (long long)b1);
+- return *reinterpret_cast<double*>(&v);
++ return *copy_reinterpret_cast<double*>(&v);
+ }
+
+ // Writes a word using little-endian byte ordering.
+@@ -231,7 +232,7 @@ int fputq(long long l, FILE* file)
+ // Returns 0 in success or -1 in error
+ int fputf(float l, FILE* file)
+ {
+- int b = *(reinterpret_cast<int*>(&l));
++ int b = *(copy_reinterpret_cast<int*>(&l));
+ int b1, b2, b3, b4;
+
+ // Little endian.
+@@ -254,7 +255,7 @@ int fputf(float l, FILE* file)
+ // Returns 0 in success or -1 in error
+ int fputd(double l, FILE* file)
+ {
+- long long b = *(reinterpret_cast<long long*>(&l));
++ long long b = *(copy_reinterpret_cast<long long*>(&l));
+ int b1, b2, b3, b4, b5, b6, b7, b8;
+
+ // Little endian.
+--- a/laf/base/mem_utils.h
++++ b/laf/base/mem_utils.h
+@@ -8,10 +8,18 @@
+ #define BASE_MEM_UTILS_H_INCLUDED
+ #pragma once
+
++#include <cstring>
+ #include <string>
+
+ namespace base {
+
++ template<typename T>
++ T copy_reinterpret_cast(const void* ptr) {
++ T tmp;
++ std::memcpy(&tmp, ptr, sizeof(T));
++ return tmp;
++ }
++
+ std::string get_pretty_memory_size(std::size_t memsize);
+
+ } // namespace base
+--- a/laf/base/serialization.cpp
++++ b/laf/base/serialization.cpp
+@@ -8,6 +8,7 @@
+ #include "config.h"
+ #endif
+
++#include "base/mem_utils.h"
+ #include "base/serialization.h"
+
+ #include <iostream>
+@@ -57,7 +58,7 @@ std::ostream& little_endian::write64(std::ostream& os, uint64_t qword)
+
+ std::ostream& little_endian::write_float(std::ostream& os, float value)
+ {
+- int b = *(reinterpret_cast<int*>(&value));
++ int b = *(copy_reinterpret_cast<int*>(&value));
+ os.put((int)((b & 0x000000ffl)));
+ os.put((int)((b & 0x0000ff00l) >> 8));
+ os.put((int)((b & 0x00ff0000l) >> 16));
+@@ -67,7 +68,7 @@ std::ostream& little_endian::write_float(std::ostream& os, float value)
+
+ std::ostream& little_endian::write_double(std::ostream& os, double value)
+ {
+- long long b = *(reinterpret_cast<long long*>(&value));
++ long long b = *(copy_reinterpret_cast<long long*>(&value));
+ os.put((int)((b & 0x00000000000000ffl)));
+ os.put((int)((b & 0x000000000000ff00l) >> 8));
+ os.put((int)((b & 0x0000000000ff0000l) >> 16));
+@@ -126,7 +127,7 @@ float little_endian::read_float(std::istream& is)
+ b3 = is.get();
+ b4 = is.get();
+ int v = ((b4 << 24) | (b3 << 16) | (b2 << 8) | b1);
+- return *reinterpret_cast<float*>(&v);
++ return *copy_reinterpret_cast<float*>(&v);
+ }
+
+ double little_endian::read_double(std::istream& is)
+@@ -148,7 +149,7 @@ double little_endian::read_double(std::istream& is)
+ ((long long)b3 << 16) |
+ ((long long)b2 << 8) |
+ (long long)b1);
+- return *reinterpret_cast<double*>(&v);
++ return *copy_reinterpret_cast<double*>(&v);
+ }
+
+ std::ostream& big_endian::write16(std::ostream& os, uint16_t word)
+@@ -182,7 +183,7 @@ std::ostream& big_endian::write64(std::ostream& os, uint64_t qword)
+
+ std::ostream& big_endian::write_float(std::ostream& os, float value)
+ {
+- int b = *(reinterpret_cast<int*>(&value));
++ int b = *(copy_reinterpret_cast<int*>(&value));
+ os.put((int)((b & 0xff000000l) >> 24));
+ os.put((int)((b & 0x00ff0000l) >> 16));
+ os.put((int)((b & 0x0000ff00l) >> 8));
+@@ -192,7 +193,7 @@ std::ostream& big_endian::write_float(std::ostream& os, float value)
+
+ std::ostream& big_endian::write_double(std::ostream& os, double value)
+ {
+- long long b = *(reinterpret_cast<long long*>(&value));
++ long long b = *(copy_reinterpret_cast<long long*>(&value));
+ os.put((int)((b & 0xff00000000000000l) >> 56));
+ os.put((int)((b & 0x00ff000000000000l) >> 48));
+ os.put((int)((b & 0x0000ff0000000000l) >> 40));
+@@ -251,7 +252,7 @@ float big_endian::read_float(std::istream& is)
+ b2 = is.get();
+ b1 = is.get();
+ int v = ((b4 << 24) | (b3 << 16) | (b2 << 8) | b1);
+- return *reinterpret_cast<float*>(&v);
++ return *copy_reinterpret_cast<float*>(&v);
+ }
+
+ double big_endian::read_double(std::istream& is)
+@@ -273,7 +274,7 @@ double big_endian::read_double(std::istream& is)
+ ((long long)b3 << 16) |
+ ((long long)b2 << 8) |
+ (long long)b1);
+- return *reinterpret_cast<double*>(&v);
++ return *copy_reinterpret_cast<double*>(&v);
+ }
+
+
diff --git a/dev-games/aseprite/files/skia-m102_remove_angle2.patch b/dev-games/aseprite/files/skia-m102_remove_angle2.patch
new file mode 100644
index 000000000000..7539a1e9aeb7
--- /dev/null
+++ b/dev-games/aseprite/files/skia-m102_remove_angle2.patch
@@ -0,0 +1,15 @@
+--- a/skia-3338e90707323d2cd3a150276acb9f39933deee2/third_party/zlib/BUILD.gn 2022-07-10 00:39:12.507321714 +0300
++++ b/skia-3338e90707323d2cd3a150276acb9f39933deee2/third_party/zlib/BUILD.gn 2022-07-10 00:40:49.175261689 +0300
+@@ -197,12 +197,3 @@
+ config("zlib_config") {
+ }
+
+-third_party("compression_utils_portable") {
+- visibility = [ "//third_party/externals/angle2:*" ]
+- public_include_dirs = [ "../externals/zlib/google" ]
+- sources = [
+- "../externals/zlib/google/compression_utils_portable.cc",
+- "../externals/zlib/google/compression_utils_portable.h",
+- ]
+- public_deps = [ ":zlib" ] # either system or from source
+-}
diff --git a/dev-games/aseprite/metadata.xml b/dev-games/aseprite/metadata.xml
index 1bf066565824..66ff5b77ea41 100644
--- a/dev-games/aseprite/metadata.xml
+++ b/dev-games/aseprite/metadata.xml
@@ -1,18 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>azamat.hackimov@gmail.com</email>
<name>Azamat H. Hackimov</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
- <use>
- <flag name="bundled-libs">Use the upstream provided bundled version of allegro 4.4.2</flag>
- <flag name="gtk3">Enable support for the experimental native GTK File Dialog</flag>
- </use>
<upstream>
<remote-id type="github">aseprite/aseprite</remote-id>
</upstream>
diff --git a/dev-games/cardpics/Manifest b/dev-games/cardpics/Manifest
deleted file mode 100644
index dfc2aa0aca98..000000000000
--- a/dev-games/cardpics/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cardpics-0.4.tar.bz2 151425 BLAKE2B 6288352ad22dcb38610791ed44be955c473c9ebfb1e31c2b290e41e062866b4843ffdff074ebeb1e485fadb4917381b09492566dd761bb578d88f515711a4061 SHA512 7451112f5b7954326e381563a3730c677b261481de79ede3def451591ce081e651a86a4c24ff3259ab979ac109446588bb1cacd0beed6892a5a288f190bf6382
diff --git a/dev-games/cardpics/cardpics-0.4-r1.ebuild b/dev-games/cardpics/cardpics-0.4-r1.ebuild
deleted file mode 100644
index 4ba122862bce..000000000000
--- a/dev-games/cardpics/cardpics-0.4-r1.ebuild
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="set of free cards sets"
-HOMEPAGE="https://www.nongnu.org/cardpics/"
-SRC_URI="https://download.savannah.gnu.org/releases/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 hppa x86"
diff --git a/dev-games/cardpics/metadata.xml b/dev-games/cardpics/metadata.xml
deleted file mode 100644
index faa613d79a30..000000000000
--- a/dev-games/cardpics/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>games@gentoo.org</email>
- <name>Gentoo Games Project</name>
-</maintainer>
-<longdescription>
-cardpics is a set of free cards sets.
-
-If you are programming a card game and are looking for free cards,
-Cardpics was made for you! Get a set of cards and include them in your
-project, as soon as your project is free.
-</longdescription>
-</pkgmetadata>
diff --git a/dev-games/cegui/Manifest b/dev-games/cegui/Manifest
deleted file mode 100644
index 8f032e272ef5..000000000000
--- a/dev-games/cegui/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cegui-0.8.7.tar.bz2 18114465 BLAKE2B cf0a4867f0e32c6a6b585821c915dc1fbd532e0f95effe28f6d3e4f1a2bccd23f47c7c33a3115befdf8b3f094d49a5af042d28c1e1fbb88e7c7f6da7f3fa173b SHA512 271ff2a1e19f46c7d40cbc210bc665666e45b56cd0efea460db4d08df134d929337846eaf923db1b915597965aab27ad39512d6567cc63ef883555cbff542e56
diff --git a/dev-games/cegui/cegui-0.8.7-r1.ebuild b/dev-games/cegui/cegui-0.8.7-r1.ebuild
deleted file mode 100644
index 6e34ca1b15de..000000000000
--- a/dev-games/cegui/cegui-0.8.7-r1.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# TODO: multiple ABI?
-PYTHON_COMPAT=( python3_8 )
-inherit flag-o-matic cmake python-single-r1
-
-DESCRIPTION="Crazy Eddie's GUI System"
-HOMEPAGE="http://www.cegui.org.uk/"
-SRC_URI="mirror://sourceforge/crayzedsgui/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="bidi debug devil doc freeimage expat irrlicht lua ogre opengl pcre python static-libs tinyxml truetype xerces-c +xml zip"
-REQUIRED_USE="|| ( expat tinyxml xerces-c xml )
- python? ( ${PYTHON_REQUIRED_USE} )" # bug 362223
-
-# gles broken
-# gles? ( media-libs/mesa[gles1] )
-# directfb broken
-# directfb? ( dev-libs/DirectFB )
-RDEPEND="
- dev-libs/boost:=
- virtual/libiconv
- bidi? ( dev-libs/fribidi )
- devil? ( media-libs/devil )
- expat? ( dev-libs/expat )
- freeimage? ( media-libs/freeimage )
- irrlicht? ( dev-games/irrlicht )
- lua? (
- dev-lang/lua:0
- dev-lua/toluapp
- )
- ogre? ( >=dev-games/ogre-1.7:= )
- opengl? (
- virtual/opengl
- virtual/glu
- media-libs/glew:=
- )
- pcre? ( dev-libs/libpcre )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-libs/boost:=[python,${PYTHON_MULTI_USEDEP}]
- ')
- )
- tinyxml? ( dev-libs/tinyxml )
- truetype? ( media-libs/freetype:2 )
- xerces-c? ( dev-libs/xerces-c )
- xml? ( dev-libs/libxml2:2 )
- zip? ( sys-libs/zlib[minizip] )"
-
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- opengl? ( media-libs/glm )"
-
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-icu-59.patch
- "${FILESDIR}"/${P}-python3.patch
- "${FILESDIR}"/${P}-musl.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- # http://www.cegui.org.uk/mantis/view.php?id=991
- append-ldflags $(no-as-needed)
-
- local mycmakeargs=(
- -DCEGUI_BUILD_IMAGECODEC_CORONA=OFF
- -DCEGUI_BUILD_IMAGECODEC_DEVIL=$(usex devil)
- -DCEGUI_BUILD_IMAGECODEC_FREEIMAGE=$(usex freeimage)
- -DCEGUI_BUILD_IMAGECODEC_PVR=OFF
- -DCEGUI_BUILD_IMAGECODEC_SILLY=OFF
- -DCEGUI_BUILD_IMAGECODEC_STB=ON
- -DCEGUI_BUILD_IMAGECODEC_TGA=ON
- -DCEGUI_BUILD_LUA_GENERATOR=$(usex lua)
- -DCEGUI_BUILD_LUA_MODULE=$(usex lua)
- -DCEGUI_BUILD_PYTHON_MODULES=$(usex python)
- -DCEGUI_BUILD_RENDERER_DIRECTFB=OFF
- -DCEGUI_BUILD_RENDERER_IRRLICHT=$(usex irrlicht)
- -DCEGUI_BUILD_RENDERER_NULL=ON
- -DCEGUI_BUILD_RENDERER_OGRE=$(usex ogre)
- -DCEGUI_BUILD_RENDERER_OPENGL=$(usex opengl)
- -DCEGUI_BUILD_RENDERER_OPENGL3=$(usex opengl)
- -DCEGUI_BUILD_RENDERER_OPENGLES=OFF
- -DCEGUI_BUILD_STATIC_CONFIGURATION=$(usex static-libs)
- -DCEGUI_BUILD_TESTS=OFF
- -DCEGUI_BUILD_XMLPARSER_EXPAT=$(usex expat)
- -DCEGUI_BUILD_XMLPARSER_LIBXML2=$(usex xml)
- -DCEGUI_BUILD_XMLPARSER_RAPIDXML=OFF
- -DCEGUI_BUILD_XMLPARSER_TINYXML=$(usex tinyxml)
- -DCEGUI_BUILD_XMLPARSER_XERCES=$(usex xerces-c)
- -DCEGUI_HAS_FREETYPE=$(usex truetype)
- -DCEGUI_HAS_MINIZIP_RESOURCE_PROVIDER=$(usex zip)
- -DCEGUI_HAS_PCRE_REGEX=$(usex pcre)
- -DCEGUI_SAMPLES_ENABLED=OFF
- -DCEGUI_USE_FRIBIDI=$(usex bidi)
- -DCEGUI_USE_MINIBIDI=OFF
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile all $(usex doc html "")
-}
-
-src_install() {
- cmake_src_install
- docinto html
- use doc && dodoc -r "${BUILD_DIR}"/doc/doxygen/html/*
-}
diff --git a/dev-games/cegui/files/cegui-0.8.7-icu-59.patch b/dev-games/cegui/files/cegui-0.8.7-icu-59.patch
deleted file mode 100644
index e64dfc97ab59..000000000000
--- a/dev-games/cegui/files/cegui-0.8.7-icu-59.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -72,7 +72,7 @@
-
- if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
-- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03")
-+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
- elseif (NOT CMAKE_VERSION VERSION_LESS "3.1")
- set (CMAKE_C_STANDARD_REQUIRED TRUE)
- set (CMAKE_C_STANDARD "99")
diff --git a/dev-games/cegui/files/cegui-0.8.7-musl.patch b/dev-games/cegui/files/cegui-0.8.7-musl.patch
deleted file mode 100644
index 6eb62018dcfc..000000000000
--- a/dev-games/cegui/files/cegui-0.8.7-musl.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From e7611d3ef0b9ab2e00f485030234dea3a58c7aa4 Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <chewi@gentoo.org>
-Date: Sat, 16 May 2020 20:07:02 +0100
-Subject: [PATCH] Fix debug build and rework Exceptions includes logic
-
-Commit 3ddf92058392 broke the debug build. HAVE_EXECINFO_H is never
-defined by the build system so this header is never included, even
-when it is needed by the debug code.
-
-The right way to fix this is only to include these headers when debug
-is actually enabled. This does mean that the debug build is still
-broken under musl but fixing that would require using libunwind
-instead.
----
- cegui/src/Exceptions.cpp | 16 ++++------------
- 1 file changed, 4 insertions(+), 12 deletions(-)
-
-diff --git a/cegui/src/Exceptions.cpp b/cegui/src/Exceptions.cpp
-index 138081a..934989e 100644
---- a/cegui/src/Exceptions.cpp
-+++ b/cegui/src/Exceptions.cpp
-@@ -33,12 +33,13 @@
-
- #if defined( __WIN32__ ) || defined( _WIN32)
- # include <windows.h>
-+#elif defined(__ANDROID__)
-+# include <android/log.h>
- #endif
-
-+#if defined(_DEBUG) || defined(DEBUG)
- #if defined(_MSC_VER)
- # include <dbghelp.h>
--#elif defined(__ANDROID__)
--# include <android/log.h>
- #elif (defined(__linux__) && !defined(__ANDROID__)) \
- || defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) \
- || defined(__HAIKU__)
-@@ -47,6 +48,7 @@
- # include <cxxabi.h>
- # include <cstdlib>
- #endif
-+#endif
-
- // Start of CEGUI namespace section
- namespace CEGUI
-@@ -57,14 +59,6 @@ bool Exception::d_stdErrEnabled(true);
- //----------------------------------------------------------------------------//
- static void dumpBacktrace(size_t frames)
- {
--
--#if defined(__ANDROID__)
--
-- // Not implemented yet.
-- CEGUI_UNUSED(frames);
--
--#else
--
- #if defined(_DEBUG) || defined(DEBUG)
- #if defined(_MSC_VER)
- SymSetOptions(SYMOPT_DEFERRED_LOADS | SYMOPT_INCLUDE_32BIT_MODULES);
-@@ -187,8 +181,6 @@ static void dumpBacktrace(size_t frames)
-
- CEGUI_UNUSED(frames);
-
--#endif
--
- #endif
- }
-
---
-2.26.2
-
diff --git a/dev-games/cegui/files/cegui-0.8.7-python3.patch b/dev-games/cegui/files/cegui-0.8.7-python3.patch
deleted file mode 100644
index 354f8cc65c8c..000000000000
--- a/dev-games/cegui/files/cegui-0.8.7-python3.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From b53f162767bd18aa7dfebe322a7af65593c753f5 Mon Sep 17 00:00:00 2001
-From: ATAGOYAMA Tanuki <s172262@yahoo.co.jp>
-Date: Tue, 21 Nov 2017 20:51:36 +0900
-Subject: [PATCH] cegui/src/ScriptModules/Python/binding/CMakeLists.txt: fix
- cmake error
-
----
- cegui/src/ScriptModules/Python/bindings/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cegui/src/ScriptModules/Python/bindings/CMakeLists.txt b/cegui/src/ScriptModules/Python/bindings/CMakeLists.txt
-index 758788c67..5cc9d5620 100644
---- a/cegui/src/ScriptModules/Python/bindings/CMakeLists.txt
-+++ b/cegui/src/ScriptModules/Python/bindings/CMakeLists.txt
-@@ -1,5 +1,5 @@
- execute_process(
-- COMMAND ${PYTHON_EXECUTABLE} -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(plat_specific=True, prefix=\"\")"
-+ COMMAND ${PYTHON_EXECUTABLE} -c "import distutils.sysconfig; print (distutils.sysconfig.get_python_lib(plat_specific=True, prefix=\"\"))"
- OUTPUT_VARIABLE CEGUI_PYTHON_INSTALL_DIR
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
diff --git a/dev-games/cegui/metadata.xml b/dev-games/cegui/metadata.xml
deleted file mode 100644
index 424b06f2e571..000000000000
--- a/dev-games/cegui/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>games@gentoo.org</email>
- <name>Gentoo Games Project</name>
- </maintainer>
- <use>
- <flag name="devil">Build the DevIL based ImageCodec module</flag>
- <flag name="freeimage">Build the FreeImage based ImageCodec module</flag>
- <flag name="irrlicht">Enable the Irrlicht renderer</flag>
- <flag name="ogre">Enable the OGRE renderer</flag>
- <flag name="tinyxml">Enable the Tiny XML parser module</flag>
- <flag name="xerces-c">Enable the Xerces-C++ XML parser module</flag>
- <flag name="zip">Enable the Minizip resource provider</flag>
- </use>
- <upstream>
- <remote-id type="sourceforge">crayzedsgui</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-games/clanlib/Manifest b/dev-games/clanlib/Manifest
index 5f0b913cf471..a54ac9118f5b 100644
--- a/dev-games/clanlib/Manifest
+++ b/dev-games/clanlib/Manifest
@@ -1,3 +1,3 @@
DIST ClanLib-0.8.1.tgz 7629019 BLAKE2B 7f238111931212e3f9c82ed43842706bf16ee145896735ca35595e29dd357e52364cc592be55d88e231f962adc313bc8f57357bc74c9f1b8b134bc411497f5e9 SHA512 277daaf1055ae0198be7a6bbfd415c79cfae9e2145f62553e83849d670f56e50b8484c83f8b85f23290002e0b0c72c1e01ca597ad608a0954a4add828177293b
DIST ClanLib-2.3.7.tgz 26132425 BLAKE2B 109ba92baf21174022c8dbc4044e39ec16ec77c730b57590733418e246ab71d18d81bbf281cd469dd9e2aebd4ac4302fbb581f27dc7fc0054a8c7ce69699e19d SHA512 73169afc0f639390f80403150757a8a14f842bc291a9457c9bca1319642b78bc4d03a93327d75254230e39545c5b4b690e56dc0149ed7b60b223e5a5364e882a
-DIST clanlib-4.0.0.tar.gz 7435551 BLAKE2B 243fc2519ee90a12af37e8925c99db77785a9a5da497d870545bb489e76cbfcbb4cac81352731326a0cc59689a361b8ab14db2bb1e255da07696e378a9cfb6e5 SHA512 e727239d782d2d52ce2f927e16a88c469b30f46d5b9eba4573baa520d98f60515df7ff4dd921092ddd5cfe4c6f5c441e0f33469b774287003db439feb8b027fe
+DIST clanlib-4.1.0.tar.gz 6871886 BLAKE2B 0aeb9e89998a9ef6975bf16a2e77f461e6415aacda9a26a5c0a9c6ec3c19a136a5f092c7866b60898251fbd6cb8aa7e96c86f6b87afb564824298fac77bf20c3 SHA512 34f5d1fdb7b071a218f081a6b06a6018a9c20cedc4c8500a9796be02d335f06fa148304379eeb1a35e08b9a734e504ceb490a6558a43d1611187bd97be01f4b0
diff --git a/dev-games/clanlib/clanlib-0.8.1.ebuild b/dev-games/clanlib/clanlib-0.8.1-r2.ebuild
index 7aa5d3df56ef..4235f050aabd 100644
--- a/dev-games/clanlib/clanlib-0.8.1.ebuild
+++ b/dev-games/clanlib/clanlib-0.8.1-r2.ebuild
@@ -1,53 +1,71 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit flag-o-matic eutils ltprune
+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"
+DESCRIPTION="Multi-platform game development library"
+HOMEPAGE="https://github.com/sphair/ClanLib"
+SRC_URI="mirror://gentoo/ClanLib-${PV}.tgz"
+S="${WORKDIR}"/ClanLib-${PV}
LICENSE="ZLIB"
SLOT="0.8"
-KEYWORDS="amd64 x86" #not big endian safe #82779
+# 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/libpng:0
+RDEPEND="
+ media-libs/alsa-lib
+ media-libs/libpng:0
virtual/jpeg:0
virtual/glu
virtual/opengl
- sdl? (
- media-libs/libsdl[X]
- media-libs/sdl-gfx
- )
x11-libs/libXi
x11-libs/libXmu
x11-libs/libXxf86vm
- media-libs/alsa-lib
mikmod? ( media-libs/libmikmod )
- vorbis? ( media-libs/libvorbis )"
-DEPEND="${RDEPEND}
- x11-base/xorg-proto"
+ sdl? (
+ media-libs/libsdl[X]
+ media-libs/sdl-gfx
+ )
+ vorbis? ( media-libs/libvorbis )
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+"
-S=${WORKDIR}/ClanLib-${PV}
+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"
+ "${FILESDIR}/${P}-gcc12.patch"
+)
+
+DOCS=(
+ CODING_STYLE CREDITS NEWS PATCHES
+ README{,.anjuta,.distros,.kdevelop,.sdl,.upgrade} INSTALL.linux
+)
src_prepare() {
- epatch \
- "${FILESDIR}"/${P}-ndebug.patch \
- "${FILESDIR}"/${P}-gcc43.patch \
- "${FILESDIR}"/${P}-gcc44.patch \
- "${FILESDIR}"/${P}-gcc47.patch \
- "${FILESDIR}"/${P}-gcc6.patch \
- "${FILESDIR}"/${P}-libpng15.patch
+ 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
+ # clanSound only controls mikmod/vorbis so there's
# no need to pass --{en,dis}able-clanSound ...
- #clanDisplay only controls X, SDL, OpenGL plugins
+ # 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 \
@@ -64,13 +82,14 @@ src_configure() {
}
src_install() {
- DOCS="CODING_STYLE CREDITS NEWS PATCHES README* INSTALL.linux" \
- default
+ 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
- prune_libtool_files
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-games/clanlib/clanlib-2.3.7.ebuild b/dev-games/clanlib/clanlib-2.3.7-r3.ebuild
index 994ee11d94ce..7dd0936032d9 100644
--- a/dev-games/clanlib/clanlib-2.3.7.ebuild
+++ b/dev-games/clanlib/clanlib-2.3.7-r3.ebuild
@@ -1,68 +1,82 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit flag-o-matic eutils autotools-utils
+EAPI=7
-MY_P=ClanLib-${PV}
+inherit autotools toolchain-funcs
-DESCRIPTION="multi-platform game development library"
-HOMEPAGE="http://www.clanlib.org/"
-SRC_URI="http://clanlib.org/download/releases-2.0/${MY_P}.tgz"
+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" #not big endian safe #82779
-IUSE="doc ipv6 mikmod opengl sound sqlite cpu_flags_x86_sse2 static-libs vorbis X"
+KEYWORDS="amd64 x86"
+IUSE="doc ipv6 mikmod opengl +sound sqlite cpu_flags_x86_sse2 static-libs vorbis X"
REQUIRED_USE="opengl? ( X )"
-RDEPEND="sys-libs/zlib
+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
- virtual/jpeg:0
media-libs/freetype
media-libs/fontconfig
- opengl? ( virtual/opengl )
- app-arch/bzip2
+ media-libs/libjpeg-turbo:0=
x11-libs/libX11
+ opengl? ( virtual/opengl )
)
- sqlite? ( dev-db/sqlite:3 )
- sound? ( media-libs/alsa-lib )
mikmod? (
- media-libs/libmikmod
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
- media-libs/alsa-lib
- )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? ( app-doc/doxygen dev-lang/perl )"
-
-S=${WORKDIR}/${MY_P}
+ )
+"
+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
)
-AUTOTOOLS_AUTORECONF=1
-AUTOTOOLS_IN_SOURCE_BUILD=1
-DOCS=(
- CODING_STYLE
- CREDITS
- PATCHES
- README
-)
+
+DOCS=( CODING_STYLE CREDITS PATCHES README )
src_prepare() {
- autotools-utils_src_prepare
- ln -sf ../../../Sources/API Documentation/Utilities/ReferenceDocs/ClanLib
+ default
+
+ eautoreconf
+
+ ln -sf ../../../Sources/API Documentation/Utilities/ReferenceDocs/ClanLib || die
}
src_configure() {
- myeconfargs=(
+ # Add -DPACKAGE_BUGREPORT?
+ local myeconfargs=(
$(use_enable doc docs)
$(use_enable cpu_flags_x86_sse2 sse2)
$(use_enable opengl clanGL)
@@ -74,22 +88,30 @@ src_configure() {
$(use_enable sqlite clanSqlite)
$(use_enable ipv6 getaddr)
)
+
use sound \
|| use vorbis \
|| use mikmod \
|| myeconfargs+=( --disable-clanSound )
- autotools-utils_src_configure
+
+ tc-export PKG_CONFIG
+
+ econf "${myeconfargs[@]}"
}
src_compile() {
- autotools-utils_src_compile
- use doc && autotools-utils_src_compile html
+ 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() {
- autotools-utils_src_install
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+
if use doc ; then
emake DESTDIR="${D}" install-html
dodoc -r Examples Resources
diff --git a/dev-games/clanlib/clanlib-4.0.0.ebuild b/dev-games/clanlib/clanlib-4.1.0.ebuild
index cc7115a38348..98a0ab082277 100644
--- a/dev-games/clanlib/clanlib-4.0.0.ebuild
+++ b/dev-games/clanlib/clanlib-4.1.0.ebuild
@@ -1,20 +1,21 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit autotools
+inherit autotools toolchain-funcs
MY_PN=ClanLib
DESCRIPTION="Multi-platform game development library"
HOMEPAGE="https://github.com/sphair/ClanLib"
SRC_URI="https://github.com/sphair/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="ZLIB"
-SLOT="4.0"
-KEYWORDS="~amd64 ~x86" #not big endian safe #82779
-IUSE="cpu_flags_x86_sse2 doc examples ipv6 opengl sound static-libs X"
+SLOT="4.1"
+KEYWORDS="amd64 x86" #not big endian safe #82779
+IUSE="cpu_flags_x86_sse2 doc examples ipv6 opengl +sound static-libs X"
REQUIRED_USE="opengl? ( X )"
RDEPEND="
@@ -29,21 +30,15 @@ RDEPEND="
)
)
sound? ( media-libs/alsa-lib )"
-DEPEND="${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
virtual/pkgconfig
doc? (
- app-doc/doxygen
+ app-text/doxygen
dev-lang/perl
media-gfx/graphviz
)"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.0.0-fix-build-system.patch
- "${FILESDIR}"/${PN}-4.0.0-freetype_pkgconfig.patch #658424
-)
-
src_prepare() {
default
eautoreconf
@@ -60,6 +55,9 @@ src_configure() {
$(use_enable ipv6 getaddr)
$(use_enable static-libs static)
)
+
+ tc-export PKG_CONFIG
+
econf "${myeconfargs[@]}"
}
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-docbuilder.patch b/dev-games/clanlib/files/clanlib-0.8.1-docbuilder.patch
new file mode 100644
index 000000000000..f5a35763c48d
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-docbuilder.patch
@@ -0,0 +1,28 @@
+--- a/Documentation/Utilities/webbuilder.pl.in
++++ b/Documentation/Utilities/webbuilder.pl.in
+@@ -68,11 +68,7 @@ sub convert
+ sub print_head
+ {
+ my ($xml_head, $file) = @ARG;
+- my $ml, $buffer;
+-
+- # Don't know what this does, but Perceps does it:
+- if ($*) { $ml=1; }
+- else { $ml=0; }
++ my $buffer;
+
+ # Read theme from disk and execute it:
+ if ( -e $file )
+@@ -93,11 +89,7 @@ sub print_head
+ sub print_body
+ {
+ my ($xml_body, $file) = @ARG;
+- my $ml, $buffer;
+-
+- # Don't know what this does, but Perceps does it:
+- if ($*) { $ml=1; }
+- else { $ml=0; }
++ my $buffer;
+
+ # Read theme from disk and execute it:
+ if ( -e $file )
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-gcc12.patch b/dev-games/clanlib/files/clanlib-0.8.1-gcc12.patch
new file mode 100644
index 000000000000..68ed616b3ca7
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-gcc12.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/877301
+--- a/Sources/API/Core/System/cl_assert.h
++++ b/Sources/API/Core/System/cl_assert.h
+@@ -33,6 +33,8 @@
+ #ifndef header_cl_assert
+ #define header_cl_assert
+
++#include <cstddef>
++
+ #ifdef CL_API_DLL
+ #ifdef CL_CORE_EXPORT
+ #define CL_API_CORE __declspec(dllexport)
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch b/dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch
index ca1d898ce5ab..655e667ff7bf 100644
--- a/dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch
+++ b/dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch
@@ -1,5 +1,5 @@
---- Sources/GL/opengl.cpp
-+++ Sources/GL/opengl.cpp
+--- a/Sources/GL/opengl.cpp
++++ b/Sources/GL/opengl.cpp
@@ -51,6 +51,8 @@
#endif
#endif
@@ -16,8 +16,8 @@
-}
\ No newline at end of file
+}
---- Sources/Network/Socket/ip_address_getsock.cpp
-+++ Sources/Network/Socket/ip_address_getsock.cpp
+--- a/Sources/Network/Socket/ip_address_getsock.cpp
++++ b/Sources/Network/Socket/ip_address_getsock.cpp
@@ -40,6 +40,7 @@
#include "ip_address_getsock.h"
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-gcc44.patch b/dev-games/clanlib/files/clanlib-0.8.1-gcc44.patch
index ddf5a170b027..0851074bddcb 100644
--- a/dev-games/clanlib/files/clanlib-0.8.1-gcc44.patch
+++ b/dev-games/clanlib/files/clanlib-0.8.1-gcc44.patch
@@ -1,6 +1,5 @@
-diff -Naur ClanLib-0.8.1-old/Sources/GL/canvas_opengl.cpp ClanLib-0.8.1/Sources/GL/canvas_opengl.cpp
---- ClanLib-0.8.1-old/Sources/GL/canvas_opengl.cpp 2009-08-01 18:15:44.000000000 +0200
-+++ ClanLib-0.8.1/Sources/GL/canvas_opengl.cpp 2009-08-01 18:08:55.000000000 +0200
+--- a/Sources/GL/canvas_opengl.cpp
++++ b/Sources/GL/canvas_opengl.cpp
@@ -48,6 +48,7 @@
#include "graphic_context_opengl.h"
#include "surface_target_opengl.h"
@@ -9,9 +8,8 @@ diff -Naur ClanLib-0.8.1-old/Sources/GL/canvas_opengl.cpp ClanLib-0.8.1/Sources/
/////////////////////////////////////////////////////////////////////////////
// CL_Canvas_OpenGL construction:
-diff -Naur ClanLib-0.8.1-old/Sources/GL/GLX/input_device_linuxevent.cpp ClanLib-0.8.1/Sources/GL/GLX/input_device_linuxevent.cpp
---- ClanLib-0.8.1-old/Sources/GL/GLX/input_device_linuxevent.cpp 2009-08-01 18:17:25.000000000 +0200
-+++ ClanLib-0.8.1/Sources/GL/GLX/input_device_linuxevent.cpp 2009-08-01 18:11:23.000000000 +0200
+--- a/Sources/GL/GLX/input_device_linuxevent.cpp
++++ b/Sources/GL/GLX/input_device_linuxevent.cpp
@@ -35,6 +35,7 @@
#include <iostream>
#include <errno.h>
@@ -20,9 +18,8 @@ diff -Naur ClanLib-0.8.1-old/Sources/GL/GLX/input_device_linuxevent.cpp ClanLib-
#include "API/Core/System/error.h"
#include "API/Core/System/clanstring.h"
-diff -Naur ClanLib-0.8.1-old/Sources/GL/GLX/input_device_xinput.cpp ClanLib-0.8.1/Sources/GL/GLX/input_device_xinput.cpp
---- ClanLib-0.8.1-old/Sources/GL/GLX/input_device_xinput.cpp 2009-08-01 18:17:41.000000000 +0200
-+++ ClanLib-0.8.1/Sources/GL/GLX/input_device_xinput.cpp 2009-08-01 18:12:56.000000000 +0200
+--- a/Sources/GL/GLX/input_device_xinput.cpp
++++ b/Sources/GL/GLX/input_device_xinput.cpp
@@ -29,6 +29,7 @@
#include <iostream>
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch b/dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch
index 19ebab6fd07d..db9b90ff9d23 100644
--- a/dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch
+++ b/dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch
@@ -1,5 +1,5 @@
---- ./Sources/Core/IOData/Generic/inputsource_file.cpp.orig 2012-12-30 01:49:01.698950614 +0400
-+++ ./Sources/Core/IOData/Generic/inputsource_file.cpp 2012-12-30 01:49:27.714977456 +0400
+--- a/Sources/Core/IOData/Generic/inputsource_file.cpp
++++ b/Sources/Core/IOData/Generic/inputsource_file.cpp
@@ -32,6 +32,7 @@
#ifdef WIN32
#include <direct.h>
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-glibc2.34.patch b/dev-games/clanlib/files/clanlib-0.8.1-glibc2.34.patch
new file mode 100644
index 000000000000..85c20ccdbcfd
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-glibc2.34.patch
@@ -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);
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch b/dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch
index 03d0ba536acf..81a216f221ad 100644
--- a/dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch
+++ b/dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch
@@ -1,5 +1,5 @@
---- Sources/Display/Providers/png_provider_generic.cpp
-+++ Sources/Display/Providers/png_provider_generic.cpp
+--- a/Sources/Display/Providers/png_provider_generic.cpp
++++ b/Sources/Display/Providers/png_provider_generic.cpp
@@ -107,7 +107,7 @@
png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL);
cl_assert(false);
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-llvm.patch b/dev-games/clanlib/files/clanlib-0.8.1-llvm.patch
new file mode 100644
index 000000000000..63f9a1415423
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-llvm.patch
@@ -0,0 +1,87 @@
+--- a/Sources/Display/graphic_context.cpp
++++ b/Sources/Display/graphic_context.cpp
+@@ -237,18 +237,18 @@ void CL_GraphicContext::fill_triangle(
+ grad.bottom_left.get_alpha()/256.0};
+ */
+ unsigned char color_array[] = {
+- grad.top_left.get_red(),
+- grad.top_left.get_green(),
+- grad.top_left.get_blue(),
+- grad.top_left.get_alpha(),
+- grad.top_right.get_red(),
+- grad.top_right.get_green(),
+- grad.top_right.get_blue(),
+- grad.top_right.get_alpha(),
+- grad.bottom_left.get_red(),
+- grad.bottom_left.get_green(),
+- grad.bottom_left.get_blue(),
+- grad.bottom_left.get_alpha()};
++ static_cast<unsigned char>(grad.top_left.get_red()),
++ static_cast<unsigned char>(grad.top_left.get_green()),
++ static_cast<unsigned char>(grad.top_left.get_blue()),
++ static_cast<unsigned char>(grad.top_left.get_alpha()),
++ static_cast<unsigned char>(grad.top_right.get_red()),
++ static_cast<unsigned char>(grad.top_right.get_green()),
++ static_cast<unsigned char>(grad.top_right.get_blue()),
++ static_cast<unsigned char>(grad.top_right.get_alpha()),
++ static_cast<unsigned char>(grad.bottom_left.get_red()),
++ static_cast<unsigned char>(grad.bottom_left.get_green()),
++ static_cast<unsigned char>(grad.bottom_left.get_blue()),
++ static_cast<unsigned char>(grad.bottom_left.get_alpha())};
+
+ params.count = 1;
+ params.vertices = vertice_array;
+--- a/Sources/GL/graphic_context_opengl.cpp
++++ b/Sources/GL/graphic_context_opengl.cpp
+@@ -355,8 +355,8 @@ void CL_GraphicContext_OpenGL::draw_quad(const CL_Quad &quad, const CL_Color &co
+ state.blendfunc[3] = blend_one_minus_src_alpha;
+ state.fillmode = fillmode_line;
+
+- double qx[4] = { quad.x1, quad.x2, quad.x3, quad.x4 };
+- double qy[4] = { quad.y1, quad.y2, quad.y3, quad.y4 };
++ double qx[4] = { static_cast<double>(quad.x1), static_cast<double>(quad.x2), static_cast<double>(quad.x3), static_cast<double>(quad.x4) };
++ double qy[4] = { static_cast<double>(quad.y1), static_cast<double>(quad.y2), static_cast<double>(quad.y3), static_cast<double>(quad.y4) };
+ int tx[4] = { quad.x1, quad.x2, quad.x3, quad.x4 };
+ int ty[4] = { quad.y1, quad.y2, quad.y3, quad.y4 };
+
+@@ -380,8 +380,8 @@ void CL_GraphicContext_OpenGL::fill_quad(const CL_Quad &quad, const CL_Color &co
+ state.blendfunc[3] = blend_one_minus_src_alpha;
+ state.fillmode = fillmode_solid;
+
+- double qx[4] = { quad.x1, quad.x2, quad.x3, quad.x4 };
+- double qy[4] = { quad.y1, quad.y2, quad.y3, quad.y4 };
++ double qx[4] = { static_cast<double>(quad.x1), static_cast<double>(quad.x2), static_cast<double>(quad.x3), static_cast<double>(quad.x4) };
++ double qy[4] = { static_cast<double>(quad.y1), static_cast<double>(quad.y2), static_cast<double>(quad.y3), static_cast<double>(quad.y4) };
+ int tx[4] = { quad.x1, quad.x2, quad.x3, quad.x4 };
+ int ty[4] = { quad.y1, quad.y2, quad.y3, quad.y4 };
+
+--- a/Sources/SDL/graphic_context_sdl.cpp
++++ b/Sources/SDL/graphic_context_sdl.cpp
+@@ -410,7 +410,7 @@ void CL_GraphicContext_SDL::update_cliprect()
+ }
+ else
+ {
+- SDL_Rect crect = {rect.left,rect.top,rect.get_width(),rect.get_height()};
++ SDL_Rect crect = {static_cast<Sint16>(rect.left),static_cast<Sint16>(rect.top),static_cast<Uint16>(rect.get_width()),static_cast<Uint16>(rect.get_height())};
+ SDL_SetClipRect(SDL_GetVideoSurface(),&crect);
+ }
+ }
+--- a/Sources/SDL/surface_sdl.cpp
++++ b/Sources/SDL/surface_sdl.cpp
+@@ -259,13 +259,13 @@ void CL_Surface_SDL::draw(
+ CL_Surface_TargetDrawParams1 *t_params1,
+ CL_GraphicContext *context)
+ {
+- SDL_Rect source = {params2.srcX, params2.srcY, params2.srcWidth, params2.srcHeight};
++ SDL_Rect source = {static_cast<Sint16>(params2.srcX), static_cast<Sint16>(params2.srcY), static_cast<Uint16>(params2.srcWidth), static_cast<Uint16>(params2.srcHeight)};
+
+ SDL_Rect dst = {
+ static_cast<Sint16>(t_params1->pixDestX + context->get_modelview().get_origin_x()),
+ static_cast<Sint16>(t_params1->pixDestY + context->get_modelview().get_origin_y()),
+- static_cast<Sint16>(t_params1->destWidth),
+- static_cast<Sint16>(t_params1->destHeight)
++ static_cast<Uint16>(t_params1->destWidth),
++ static_cast<Uint16>(t_params1->destHeight)
+ };
+
+ if (t_params1->destWidth == params2.srcWidth && t_params1->destHeight == params2.srcHeight)
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch b/dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch
index e41bae1a3296..b9a891e99a7a 100644
--- a/dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch
+++ b/dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch
@@ -8,9 +8,8 @@ rather than a debug version is built (-DNDEBUG).
This patch adds the missing declaration, thus make the
file compile with or without -DNDEBUG.
-diff -Naur clanlib-0.7.8-r2.orig/work/ClanLib-0.7.8/Sources/Core/System/Unix/init_linux.cpp clanlib-0.7.8-r2/work/ClanLib-0.7.8/Sources/Core/System/Unix/init_linux.cpp
---- clanlib-0.7.8-r2.orig/work/ClanLib-0.7.8/Sources/Core/System/Unix/init_linux.cpp 2003-09-19 10:33:02.000000000 +0000
-+++ clanlib-0.7.8-r2/work/ClanLib-0.7.8/Sources/Core/System/Unix/init_linux.cpp 2007-10-26 13:36:39.000000000 +0000
+--- a/Sources/Core/System/Unix/init_linux.cpp
++++ b/Sources/Core/System/Unix/init_linux.cpp
@@ -52,6 +52,7 @@
_begin_time = (long) tv.tv_sec*(long) 1000+(long) tv.tv_usec/(long) 1000;
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-32bit-opengl.patch b/dev-games/clanlib/files/clanlib-2.3.7-32bit-opengl.patch
new file mode 100644
index 000000000000..73d5287c5dd9
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-32bit-opengl.patch
@@ -0,0 +1,19 @@
+Patch taken from Fedora, removes redefinitions that conflicts on x86.
+--- a/Sources/API/GL/opengl_defines.h
++++ b/Sources/API/GL/opengl_defines.h
+@@ -69,6 +69,4 @@
+ typedef void GLvoid;
+ typedef char GLchar;
+-typedef ptrdiff_t GLintptr;
+-typedef ptrdiff_t GLsizeiptr;
+ typedef struct __CLsync *CLsync;
+
+--- a/Sources/API/GL1/opengl1_defines.h
++++ b/Sources/API/GL1/opengl1_defines.h
+@@ -65,6 +65,4 @@
+ typedef void GLvoid;
+ typedef char GLchar;
+-typedef ptrdiff_t GLintptr;
+-typedef ptrdiff_t GLsizeiptr;
+
+ #else
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-autotools.patch b/dev-games/clanlib/files/clanlib-2.3.7-autotools.patch
index 97db79ac4245..eccc7e291323 100644
--- a/dev-games/clanlib/files/clanlib-2.3.7-autotools.patch
+++ b/dev-games/clanlib/files/clanlib-2.3.7-autotools.patch
@@ -1,5 +1,5 @@
---- Documentation/Reference/Makefile.am.old 2012-09-25 10:39:25.973544935 +0200
-+++ Documentation/Reference/Makefile.am 2012-09-25 10:39:42.560554053 +0200
+--- a/Documentation/Reference/Makefile.am
++++ b/Documentation/Reference/Makefile.am
@@ -10,7 +10,7 @@
mkdir doxyoutput;
mkdir reftest
@@ -9,8 +9,8 @@
../Utilities/ReferenceDocs/ReferenceDocs
install-html:
---- configure.ac.old 2012-09-25 11:07:38.412537590 +0200
-+++ configure.ac 2012-09-25 11:09:41.133939131 +0200
+--- a/configure.ac
++++ b/configure.ac
@@ -337,11 +337,9 @@
dnl Optional linux/joystick.h
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-doc.patch b/dev-games/clanlib/files/clanlib-2.3.7-doc.patch
index 627df26785b4..d207f2df3cca 100644
--- a/dev-games/clanlib/files/clanlib-2.3.7-doc.patch
+++ b/dev-games/clanlib/files/clanlib-2.3.7-doc.patch
@@ -1,5 +1,5 @@
---- Documentation/Utilities/ReferenceDocs/Makefile.old 2014-09-12 20:06:52.970459560 +0200
-+++ Documentation/Utilities/ReferenceDocs/Makefile 2014-09-12 20:08:17.387048685 +0200
+--- a/Documentation/Utilities/ReferenceDocs/Makefile
++++ b/Documentation/Utilities/ReferenceDocs/Makefile
@@ -3,7 +3,10 @@
LIBS=clanCore
EXTRA_LIBS=-lpthread
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-freetype_pkgconfig.patch b/dev-games/clanlib/files/clanlib-2.3.7-freetype_pkgconfig.patch
new file mode 100644
index 000000000000..cadb3b90b530
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-freetype_pkgconfig.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/764902
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -342,7 +342,7 @@
+ echo "=============================="
+ CLANLIB_CHECK_LIB(png, [`cat $srcdir/Setup/Tests/png.cpp`], clanDisplay, [ *** Cannot find png (See http://www.libpng.org ) (Try libpng12-dev or better) ], [-lz -lpng])
+ CLANLIB_CHECK_LIB(jpeg, [`cat $srcdir/Setup/Tests/jpeg.cpp`], clanDisplay, [ *** Cannot find jpeg (See http://www.ijg.org ) (Try libjpeg62-dev or better) ], [ -ljpeg])
+- CLANLIB_CHECK_LIB(ttf, [`cat $srcdir/Setup/Tests/ttf.cpp`], clanDisplay, [ *** Cannot find ttf (freetype) (See http://freetype.sourceforge.net ) (Try libfreetype6-dev or better) ], [`freetype-config --libs` ], [ `freetype-config --cflags`])
++ CLANLIB_CHECK_LIB(ttf, [`cat $srcdir/Setup/Tests/ttf.cpp`], clanDisplay, [ *** Cannot find ttf (freetype) (See http://freetype.sourceforge.net ) (Try libfreetype6-dev or better) ], [`${PKG_CONFIG} --libs freetype2` ], [ `${PKG_CONFIG} --cflags freetype2`])
+
+ dnl Optional linux/joystick.h
+ AC_CHECK_HEADERS(linux/joystick.h, linux_joystick=yes)
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-gcc47.patch b/dev-games/clanlib/files/clanlib-2.3.7-gcc47.patch
new file mode 100644
index 000000000000..58b55ccf0291
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-gcc47.patch
@@ -0,0 +1,107 @@
+diff -up ClanLib-2.3.4/Sources/Core/IOData/file_help.cpp~ ClanLib-2.3.4/Sources/Core/IOData/file_help.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/file_help.cpp~ 2011-07-22 10:03:21.000000000 +0200
++++ ClanLib-2.3.4/Sources/Core/IOData/file_help.cpp 2012-01-12 22:16:39.779011207 +0100
+@@ -34,6 +34,7 @@
+ #include "API/Core/System/exception.h"
+
+ #ifndef WIN32
++#include <unistd.h>
+ #include <sys/stat.h>
+ #endif
+
+diff -up ClanLib-2.3.4/Sources/Core/IOData/path_help.cpp~ ClanLib-2.3.4/Sources/Core/IOData/path_help.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/path_help.cpp~ 2011-08-03 10:13:57.000000000 +0200
++++ ClanLib-2.3.4/Sources/Core/IOData/path_help.cpp 2012-01-12 22:18:30.754009662 +0100
+@@ -43,6 +43,7 @@
+
+ #ifndef WIN32
+ #include <cstring>
++#include <unistd.h>
+ #endif
+
+ /////////////////////////////////////////////////////////////////////////////
+diff -up ClanLib-2.3.4/Sources/Core/IOData/iodevice_provider_pipe_connection.cpp~ ClanLib-2.3.4/Sources/Core/IOData/iodevice_provider_pipe_connection.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/iodevice_provider_pipe_connection.cpp~ 2011-01-27 10:03:39.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/IOData/iodevice_provider_pipe_connection.cpp 2012-01-12 22:24:55.536004557 +0100
+@@ -33,6 +33,7 @@
+ #include "API/Core/Text/string_help.h"
+ #include "API/Core/Text/string_format.h"
+ #ifndef WIN32
++#include <unistd.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #ifndef UNIX_PATH_MAX
+diff -up ClanLib-2.3.4/Sources/Core/IOData/pipe_listen_impl.cpp~ ClanLib-2.3.4/Sources/Core/IOData/pipe_listen_impl.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/pipe_listen_impl.cpp~ 2011-01-13 12:17:34.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/IOData/pipe_listen_impl.cpp 2012-01-12 22:25:17.359004259 +0100
+@@ -36,6 +36,7 @@
+ #include "API/Core/Text/string_help.h"
+ #ifndef WIN32
+ #include "Network/Socket/event_provider_unixsocket.h"
++#include <unistd.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #ifndef UNIX_PATH_MAX
+diff -up ClanLib-2.3.4/Sources/Core/IOData/security_identifier.cpp~ ClanLib-2.3.4/Sources/Core/IOData/security_identifier.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/security_identifier.cpp~ 2011-01-13 12:17:34.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/IOData/security_identifier.cpp 2012-01-12 22:26:06.047003649 +0100
+@@ -31,6 +31,9 @@
+ #include "API/Core/System/exception.h"
+ #ifdef WIN32
+ #include <AclAPI.h>
++#else
++#include <unistd.h>
++#include <sys/types.h>
+ #endif
+
+ /////////////////////////////////////////////////////////////////////////////
+diff -up ClanLib-2.3.4/Sources/Core/IOData/virtual_directory.cpp~ ClanLib-2.3.4/Sources/Core/IOData/virtual_directory.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/virtual_directory.cpp~ 2011-11-25 09:16:46.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/IOData/virtual_directory.cpp 2012-01-12 22:26:37.583003215 +0100
+@@ -38,6 +38,10 @@
+ #include "API/Core/System/weakptr.h"
+ #include "API/Core/Text/string_help.h"
+
++#ifndef WIN32
++#include <unistd.h>
++#endif
++
+ /////////////////////////////////////////////////////////////////////////////
+ // CL_VirtualDirectory_Impl Class:
+
+diff -up ClanLib-2.3.4/Sources/Core/System/Unix/service_unix.cpp~ ClanLib-2.3.4/Sources/Core/System/Unix/service_unix.cpp
+--- ClanLib-2.3.4/Sources/Core/System/Unix/service_unix.cpp~ 2011-01-13 12:17:34.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/System/Unix/service_unix.cpp 2012-01-12 22:29:12.478001042 +0100
+@@ -35,6 +35,7 @@
+ #include "service_unix.h"
+ #include <iostream>
+ #include <signal.h>
++#include <unistd.h>
+
+ /////////////////////////////////////////////////////////////////////////////
+ // CL_Service_Unix Construction:
+diff -up ClanLib-2.3.4/Sources/Core/Text/console_logger.cpp~ ClanLib-2.3.4/Sources/Core/Text/console_logger.cpp
+--- ClanLib-2.3.4/Sources/Core/Text/console_logger.cpp~ 2011-01-13 12:17:34.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/Text/console_logger.cpp 2012-01-12 22:27:54.446002158 +0100
+@@ -33,6 +33,10 @@
+ #include "API/Core/Text/string_format.h"
+ #include "API/Core/System/datetime.h"
+
++#ifndef WIN32
++#include <unistd.h>
++#endif
++
+ /////////////////////////////////////////////////////////////////////////////
+ // CL_ConsoleLogger Construction:
+
+diff -up ClanLib-2.3.4/Sources/Display/X11/x11_window.cpp~ ClanLib-2.3.4/Sources/Display/X11/x11_window.cpp
+--- ClanLib-2.3.4/Sources/Display/X11/x11_window.cpp~ 2012-01-12 22:18:49.000000000 +0100
++++ ClanLib-2.3.4/Sources/Display/X11/x11_window.cpp 2012-01-12 22:30:46.492999847 +0100
+@@ -50,6 +50,7 @@
+ #include "display_message_queue_x11.h"
+ #include <X11/Xatom.h>
+ #include <cstdio>
++#include <unistd.h>
+ #include "../Window/input_context_impl.h"
+ #include <X11/XKBlib.h>
+ #include <dlfcn.h>
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-gcc7.patch b/dev-games/clanlib/files/clanlib-2.3.7-gcc7.patch
new file mode 100644
index 000000000000..22cce76debfb
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-gcc7.patch
@@ -0,0 +1,20 @@
+diff -up ClanLib-2.3.7/configure.ac~ ClanLib-2.3.7/configure.ac
+--- ClanLib-2.3.7/configure.ac~ 2012-04-11 08:55:49.000000000 +0200
++++ ClanLib-2.3.7/configure.ac 2017-02-21 11:57:23.482504683 +0100
+@@ -119,7 +119,6 @@ case $target in
+ *)
+ X11="yes"
+ WIN32="no"
+- CXXFLAGS="$CXXFLAGS -std=c++0x"
+ ;;
+ esac
+
+@@ -259,7 +258,7 @@ if test "$use_sse2" != "no"; then
+ fi
+
+ if test "$WIN32" = "no"; then
+- extra_CFLAGS_clanCore="$extra_CFLAGS_clanCore -pthread -std=c++0x"
++ extra_CFLAGS_clanCore="$extra_CFLAGS_clanCore -pthread"
+ else
+ extra_CFLAGS_clanCore="$extra_CFLAGS_clanCore -mthreads -std=c++0x"
+ fi
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-glibc2.34.patch b/dev-games/clanlib/files/clanlib-2.3.7-glibc2.34.patch
new file mode 100644
index 000000000000..05e7320428ca
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-glibc2.34.patch
@@ -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);
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-no-ldflags-for-conftest.patch b/dev-games/clanlib/files/clanlib-2.3.7-no-ldflags-for-conftest.patch
new file mode 100644
index 000000000000..c22e58106485
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-no-ldflags-for-conftest.patch
@@ -0,0 +1,19 @@
+diff -up ClanLib-2.3.7/acinclude.m4~ ClanLib-2.3.7/acinclude.m4
+--- ClanLib-2.3.7/acinclude.m4~ 2011-11-24 11:57:30.000000000 +0100
++++ ClanLib-2.3.7/acinclude.m4 2015-04-02 15:22:52.060631122 +0200
+@@ -5,6 +5,7 @@ dnl CLANLIB_CHECK_LIB(lib, testprog, mod
+ define([CLANLIB_CHECK_LIB],[if test "$enable_$3" != "no"; then
+ OLDLIBS="$LIBS"; LIBS="$5"; AC_MSG_CHECKING(for $1)
+ OLD_CXXFLAGS="$CXXFLAGS"; CXXFLAGS="$6";
++ OLD_LDFLAGS="$LDFLAGS"; LDFLAGS=;
+ AC_RUN_IFELSE([AC_LANG_SOURCE($2)], [CL_RESULT=yes], [CL_RESULT=no], [AC_LINK_IFELSE([AC_LANG_SOURCE($2)], [CL_RESULT="yes, linked"],[CL_RESULT=no])])
+ AC_MSG_RESULT([$CL_RESULT])
+ if test "$CL_RESULT" = "no"; then
+@@ -14,6 +15,7 @@ define([CLANLIB_CHECK_LIB],[if test "$en
+ extra_LIBS_$3=" $extra_LIBS_$3 $LIBS "
+ fi
+ CXXFLAGS="$OLD_CXXFLAGS"
++ LDFLAGS="$OLD_LDFLAGS"
+ LIBS="$OLDLIBS"
+ fi])
+
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-no-wm_type-in-fs.patch b/dev-games/clanlib/files/clanlib-2.3.7-no-wm_type-in-fs.patch
new file mode 100644
index 000000000000..48799baa42c2
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-no-wm_type-in-fs.patch
@@ -0,0 +1,12 @@
+diff -up ClanLib-2.3.7/Sources/Display/X11/x11_window.cpp~ ClanLib-2.3.7/Sources/Display/X11/x11_window.cpp
+--- ClanLib-2.3.7/Sources/Display/X11/x11_window.cpp~ 2013-08-01 16:32:37.866001296 +0200
++++ ClanLib-2.3.7/Sources/Display/X11/x11_window.cpp 2013-08-01 16:33:26.267001811 +0200
+@@ -289,7 +289,7 @@ void CL_X11Window::create(XVisualInfo *v
+ // Retrieve the frame size (emulating microsoft windows)
+ bool window_is_frameless = false;
+ bool window_has_thin_frame = false;
+- if ((!desc.has_caption()) || (!desc.get_decorations()))
++ if (!desc.is_fullscreen() && (!desc.has_caption() || !desc.get_decorations()))
+ {
+ if (desc.is_tool_window())
+ {
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-non-x86.patch b/dev-games/clanlib/files/clanlib-2.3.7-non-x86.patch
new file mode 100644
index 000000000000..acaa8520b645
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-non-x86.patch
@@ -0,0 +1,38 @@
+diff -up ClanLib-2.3.6/Sources/Core/System/detect_cpu_ext.cpp.non-x86 ClanLib-2.3.6/Sources/Core/System/detect_cpu_ext.cpp
+--- ClanLib-2.3.6/Sources/Core/System/detect_cpu_ext.cpp.non-x86 2011-11-15 13:15:42.000000000 +0100
++++ ClanLib-2.3.6/Sources/Core/System/detect_cpu_ext.cpp 2013-01-08 13:33:20.000000000 +0100
+@@ -30,7 +30,7 @@
+ #include "Core/precomp.h"
+ #include "API/Core/System/system.h"
+
+-#ifdef CL_ARM_PLATFORM
++#if ! (defined(__i386__) || defined(__x86_64__) || defined(__amd64__))
+ bool CL_System::detect_cpu_extension(CL_CPU_ExtensionPPC ext)
+ {
+ throw ("Congratulations, you've just been selected to code this feature!");
+@@ -48,11 +48,12 @@ bool CL_System::detect_cpu_extension(CL_
+ #ifdef __GNUC__
+
+
+-#ifdef __amd64__
++#if defined(__amd64__) || defined(__x86_64__)
+
+ #define __cpuid(out, infoType)\
+ asm("cpuid": "=a" ((out)[0]), "=b" ((out)[1]), "=c" ((out)[2]), "=d" ((out)[3]): "a" (infoType));
+-#else
++
++#elif defined(__i386__)
+
+ #define __cpuid(out, infoType) \
+ asm volatile( "pushl %%ebx \n" \
+@@ -61,6 +62,10 @@ bool CL_System::detect_cpu_extension(CL_
+ "popl %%ebx" \
+ : "=a" ((out)[0]), "=r" ((out)[1]), "=c" ((out)[2]), "=d" ((out)[3]): "a" (infoType));
+
++#else
++
++#define __cpuid(out, infoType) {}
++
+ #endif
+
+ #endif
diff --git a/dev-games/clanlib/files/clanlib-4.0.0-fix-build-system.patch b/dev-games/clanlib/files/clanlib-4.0.0-fix-build-system.patch
deleted file mode 100644
index a3500e22f7e1..000000000000
--- a/dev-games/clanlib/files/clanlib-4.0.0-fix-build-system.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-* Fix AM_CONDITIONAL to always be invoked
-* Install html files in proper --htmldir
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -437,8 +437,8 @@
- fi
-
- if test "$enable_clanSound" = "auto"; then enable_clanSound=yes; fi
-- AM_CONDITIONAL(ALSA, test x$have_alsa = xyes)
- fi
-+AM_CONDITIONAL(ALSA, test x$have_alsa = xyes)
-
- if test "$enable_clanNetwork" != "no"; then
- echo "Checking for clanNetwork stuff"
---- a/Documentation/Makefile.am
-+++ b/Documentation/Makefile.am
-@@ -1,6 +1,6 @@
- EXTRA_DIST = $(wildcart images/*.png)
-
--HTML_PREFIX = $(datadir)/doc/@PACKAGE@-@LT_RELEASE@
-+HTML_PREFIX = $(htmldir)
-
- all-local:
-
diff --git a/dev-games/clanlib/files/clanlib-4.0.0-freetype_pkgconfig.patch b/dev-games/clanlib/files/clanlib-4.0.0-freetype_pkgconfig.patch
deleted file mode 100644
index 34759a8d89d9..000000000000
--- a/dev-games/clanlib/files/clanlib-4.0.0-freetype_pkgconfig.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From af16d8a344b9bafc9131508fecfcdbfdc53cf100 Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Mon, 25 Jun 2018 15:14:31 +0200
-Subject: [PATCH] Use pkg-config to find freetype.
-
-As of freetype-2.9.1 the freetype-config file no longer gets installed
-by default.
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6b9def916..c97e959f7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -307,7 +307,7 @@ echo ""
- if test "$enable_clanDisplay" != "no"; then
- echo "Checking for clanDisplay stuff"
- echo "=============================="
-- CLANLIB_CHECK_LIB(ttf, [`cat $srcdir/Setup/Unix/Tests/ttf.cpp`], clanDisplay, [ *** Cannot find ttf (freetype) (See http://freetype.sourceforge.net ) (Try libfreetype6-dev or better) ], [`freetype-config --libs` ], [ `freetype-config --cflags`])
-+ CLANLIB_CHECK_LIB(ttf, [`cat $srcdir/Setup/Unix/Tests/ttf.cpp`], clanDisplay, [ *** Cannot find ttf (freetype) (See http://freetype.sourceforge.net ) (Try libfreetype6-dev or better) ], [`pkg-config --libs freetype2` ], [ `pkg-config --cflags freetype2`])
-
- dnl Optional linux/joystick.h
- AC_CHECK_HEADERS(linux/joystick.h, has_linux_joystick=yes)
---
-2.18.0
-
diff --git a/dev-games/clanlib/metadata.xml b/dev-games/clanlib/metadata.xml
index c6bda8543208..b46c6ea4b4fb 100644
--- a/dev-games/clanlib/metadata.xml
+++ b/dev-games/clanlib/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/flatzebra/Manifest b/dev-games/flatzebra/Manifest
index 7fb2322f6088..18d0ae031fb1 100644
--- a/dev-games/flatzebra/Manifest
+++ b/dev-games/flatzebra/Manifest
@@ -1,2 +1 @@
-DIST flatzebra-0.1.6.tar.gz 359098 BLAKE2B 8f17c76ea70013bc916ef062dbbf333abd5d8935f5daabd47a101a3c16c7dfab169b80dc406e6175d2626b6265f9bc009b8a5f7a5d4bf2dc1ed766e632977d5a SHA512 500df95ee23bd2decf1e11be76725733d9219ef06a844f2de337fc11494eeea57e5ab6298cb4235c394216dd75bfb64a4e9f732362ca5ee95c43086b2ca38f75
DIST flatzebra-0.1.7.tar.gz 375938 BLAKE2B b84ee2a69c02a7fd519de3e709a81026946b107fa1ddf8f4ee24a490ae9993f2ecf6c8509b9e92d1ab4e11e7f41e41effaaa2b32a7d2e679400f02853602a9bb SHA512 12afbb0ef00dfac21654961da8d2101e9b7b0e6550b9e66bfb4da4faf77cc1dfb7f3da15c8b84c19379eb1ff8bac09324acc694f9282b74ae73a7379686f2374
diff --git a/dev-games/flatzebra/flatzebra-0.1.6.ebuild b/dev-games/flatzebra/flatzebra-0.1.6.ebuild
deleted file mode 100644
index 1c956c236d5a..000000000000
--- a/dev-games/flatzebra/flatzebra-0.1.6.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils ltprune
-
-DESCRIPTION="A generic game engine for 2D double-buffering animation"
-HOMEPAGE="https://perso.b2b2c.ca/~sarrazip/dev/batrachians.html"
-SRC_URI="https://perso.b2b2c.ca/~sarrazip/dev/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="static-libs"
-
-RDEPEND="media-libs/libsdl[video]
- media-libs/sdl-image
- media-libs/sdl-mixer"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- sed -i \
- -e '/^doc_DATA =/s/^/NOTHANKS/' \
- Makefile.in || die
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- use static-libs || prune_libtool_files
-}
diff --git a/dev-games/flatzebra/flatzebra-0.1.7.ebuild b/dev-games/flatzebra/flatzebra-0.1.7-r1.ebuild
index 725e4ddcf45f..89175cf28dff 100644
--- a/dev-games/flatzebra/flatzebra-0.1.7.ebuild
+++ b/dev-games/flatzebra/flatzebra-0.1.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,10 +9,10 @@ SRC_URI="http://perso.b2b2c.ca/~sarrazip/dev/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="static-libs"
-RDEPEND="media-libs/libsdl[video]
+RDEPEND="media-libs/libsdl[joystick,video]
media-libs/sdl-image
media-libs/sdl-mixer"
DEPEND="${RDEPEND}"
diff --git a/dev-games/flatzebra/metadata.xml b/dev-games/flatzebra/metadata.xml
index 78274e0fa550..1c3ba213c494 100644
--- a/dev-games/flatzebra/metadata.xml
+++ b/dev-games/flatzebra/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/freecell-solver/Manifest b/dev-games/freecell-solver/Manifest
index deb1fbb8fb75..d8a13a0b3d4e 100644
--- a/dev-games/freecell-solver/Manifest
+++ b/dev-games/freecell-solver/Manifest
@@ -1,2 +1 @@
-DIST freecell-solver-5.24.0.tar.xz 422468 BLAKE2B 3fc98a6ba5116bbbdc79c8c09c820b3992fd666c14736fca98b2191c752b5c5a465dcf4ad3fc79ac944d2189647097aad70f99b140e6feff133bae26d4d52411 SHA512 264a7e016a5dbd093f126aab520b36c98c02111a3834ba09646ba527046973163aeefe41449e05d161d1790d2f599c6a3302402442b96b9bd524e97fc4f54b91
-DIST freecell-solver-6.0.1.tar.xz 421700 BLAKE2B 1effa1c16c90ca09078728eb698b48c30c3489e2c05ef8163dfba825bc44422ec3897a89d4094bedef42e796d3ebfdfe5b65d2783965458d0c11218eb56cc197 SHA512 4e8a810a6385cb448432a54a0791ed948bacd0e4b8d02dfa1a5aed4544846384c6921ca6322496387daba825930d6f9d9fa01bdc1e3e31094fc9e6d3b0ae78e5
+DIST freecell-solver-6.8.0.tar.xz 450320 BLAKE2B b33b9ae51485d5f028817bfed01c167cbcc42366d7e44cfb75c1c3f86f7ef17d1d6e8fdfe41da5af390e6db9527dee7998118a5e3440e104a18e97001017992a SHA512 3baed3cc02405036b882b8eb71f0e54d11051789b9071081a26a6feca653e13129b7d2e5f3ffcbbbac528e67eccdb95d0adcbf598b35f0849a220c90bed131ee
diff --git a/dev-games/freecell-solver/files/freecell-solver-6.6.0-no-git-clone-kthxbye.patch b/dev-games/freecell-solver/files/freecell-solver-6.6.0-no-git-clone-kthxbye.patch
new file mode 100644
index 000000000000..db2cc0bfb915
--- /dev/null
+++ b/dev-games/freecell-solver/files/freecell-solver-6.6.0-no-git-clone-kthxbye.patch
@@ -0,0 +1,39 @@
+From edbcda19be3720b164e9961226bfa74271f2b9b5 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sat, 27 Nov 2021 11:35:28 +0100
+Subject: [PATCH] Make sure to disable futile external repo fetching
+
+---
+ CMakeLists.txt | 2 +-
+ cmake/rinutils_bootstrap.cmake | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c991dcb47..b0c13d4ff 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -210,7 +210,7 @@ ENDIF ()
+ # Clone the patsolve repository with the appropriate branch.
+ SET (pats_dir "patsolve")
+
+-IF (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${pats_dir}")
++IF (0)
+ EXECUTE_PROCESS(
+ COMMAND "git" "clone" "https://github.com/shlomif/patsolve.git" "${pats_dir}"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+diff --git a/cmake/rinutils_bootstrap.cmake b/cmake/rinutils_bootstrap.cmake
+index 3879bce85..cf2ea168d 100644
+--- a/cmake/rinutils_bootstrap.cmake
++++ b/cmake/rinutils_bootstrap.cmake
+@@ -5,7 +5,7 @@ MACRO(RINUTILS_SET_UP_FLAGS)
+ SET (rinutils_inc_dir "${rinutils_dir_absolute}/rinutils/include")
+ SET (rinutils_git_tag "0.6.0")
+
+- find_package(Rinutils QUIET)
++ find_package(Rinutils REQUIRED)
+ IF ("${Rinutils_FOUND}")
+ INCLUDE_DIRECTORIES(AFTER ${RINUTILS_INCLUDE_DIR} ${RINUTILS_INCLUDE_DIRS})
+ ELSE ()
+--
+2.34.1
+
diff --git a/dev-games/freecell-solver/freecell-solver-5.24.0.ebuild b/dev-games/freecell-solver/freecell-solver-5.24.0.ebuild
deleted file mode 100644
index e2375962e0ee..000000000000
--- a/dev-games/freecell-solver/freecell-solver-5.24.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit cmake python-single-r1
-
-DESCRIPTION="C library for automatically solving Freecell and some other solitaire variants"
-HOMEPAGE="https://fc-solve.shlomifish.org/"
-SRC_URI="https://fc-solve.shlomifish.org/downloads/fc-solve/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-IUSE="tcmalloc"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/pysol_cards[${PYTHON_MULTI_USEDEP}]
- dev-python/random2[${PYTHON_MULTI_USEDEP}]
- dev-python/six[${PYTHON_MULTI_USEDEP}]
- ')
- tcmalloc? ( dev-util/google-perftools )
-"
-DEPEND="${RDEPEND}
- dev-perl/Path-Tiny
- dev-perl/Template-Toolkit
-"
-
-DOCS=( README.html )
-
-PATCHES=( "${FILESDIR}/${PN}-5.22.1-no-docs.patch" )
-
-src_prepare() {
- python_fix_shebang board_gen
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_STATIC_LIBRARY=OFF
- -DFCS_BUILD_DOCS=OFF
- -DFCS_WITH_TEST_SUITE=OFF #requires unpackaged dependencies
- -DFCS_AVOID_TCMALLOC=$(usex !tcmalloc)
- )
-
- cmake_src_configure
-}
diff --git a/dev-games/freecell-solver/freecell-solver-6.0.1.ebuild b/dev-games/freecell-solver/freecell-solver-6.8.0.ebuild
index 94ebeef52d0e..fa199fae5478 100644
--- a/dev-games/freecell-solver/freecell-solver-6.0.1.ebuild
+++ b/dev-games/freecell-solver/freecell-solver-6.8.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit cmake python-single-r1
DESCRIPTION="C library for automatically solving Freecell and some other solitaire variants"
@@ -12,16 +12,17 @@ SRC_URI="https://fc-solve.shlomifish.org/downloads/fc-solve/${P}.tar.xz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 arm64 ~loong ~riscv x86"
IUSE="tcmalloc"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
+ dev-libs/rinutils
$(python_gen_cond_dep '
- dev-python/pysol_cards[${PYTHON_MULTI_USEDEP}]
- dev-python/random2[${PYTHON_MULTI_USEDEP}]
- dev-python/six[${PYTHON_MULTI_USEDEP}]
+ dev-python/pysol-cards[${PYTHON_USEDEP}]
+ dev-python/random2[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
')
tcmalloc? ( dev-util/google-perftools )
"
@@ -33,11 +34,14 @@ DEPEND="${RDEPEND}
DOCS=( README.html )
-PATCHES=( "${FILESDIR}/${PN}-5.22.1-no-docs.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-5.22.1-no-docs.patch"
+ "${FILESDIR}/${PN}-6.6.0-no-git-clone-kthxbye.patch"
+)
src_prepare() {
- python_fix_shebang board_gen
cmake_src_prepare
+ python_fix_shebang board_gen
}
src_configure() {
diff --git a/dev-games/freecell-solver/metadata.xml b/dev-games/freecell-solver/metadata.xml
index a23f64d7727c..45423ec7bfb8 100644
--- a/dev-games/freecell-solver/metadata.xml
+++ b/dev-games/freecell-solver/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>kde@gentoo.org</email>
diff --git a/dev-games/freesolid/Manifest b/dev-games/freesolid/Manifest
new file mode 100644
index 000000000000..491a08bc189f
--- /dev/null
+++ b/dev-games/freesolid/Manifest
@@ -0,0 +1 @@
+DIST FreeSOLID-2.1.2.zip 605512 BLAKE2B f0e616ac58a7b15b74687a27a21a170087d4ea0b7563ddb7f2f144cfb02eb03b1b3979e8e43248a5fb42fa984e7e2757123335aaaa298a9fe8b05cfbd0fff898 SHA512 8139c88e0295fcc4a4f9c050bbf71c89c80cb9fc68fee99c1bda6c77f8f7e47e632d909d46581e65a8b72ca18dbce5b70046ce93ce913374594a981e8dd26556
diff --git a/dev-games/freesolid/freesolid-2.1.2.ebuild b/dev-games/freesolid/freesolid-2.1.2.ebuild
new file mode 100644
index 000000000000..53519e9ff629
--- /dev/null
+++ b/dev-games/freesolid/freesolid-2.1.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+MY_P="FreeSOLID-${PV}"
+
+DESCRIPTION="Library for collision detection of three-dimensional objects"
+HOMEPAGE="https://sourceforge.net/projects/freesolid/"
+SRC_URI="https://downloads.sourceforge.net/freesolid/${MY_P}.zip"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="app-arch/unzip"
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i 's/ \(-ffast-math -msse\|-mfpmath=sse\)//' CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=( -DBUILD_SHARED_LIBS=no )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ doinfo doc/solid2.info
+}
diff --git a/dev-games/higan-ananke/metadata.xml b/dev-games/freesolid/metadata.xml
index 26079e608bed..bad72ac8a006 100644
--- a/dev-games/higan-ananke/metadata.xml
+++ b/dev-games/freesolid/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
+ <upstream>
+ <remote-id type="sourceforge">freesolid</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-games/goatee/Manifest b/dev-games/goatee/Manifest
deleted file mode 100644
index b2881d985e17..000000000000
--- a/dev-games/goatee/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST goatee-0.3.1.2.tar.gz 84576 BLAKE2B 66eea2e0685279acadba0ae857786bc8bf5eec26d4856745f6a040ac220a824d02e7c9ccf36e38d81ad8a60e90972681f9e2ab2e5f67fa4af267e5f8bb5cc98c SHA512 b8723679823dbb092346f8a6c556c3391888f004d609d6b61c73c9f590901abc5d4024d0ad4063692078637be0171d78e9a91c9436735423d597f310226ee9db
diff --git a/dev-games/goatee/goatee-0.3.1.2.ebuild b/dev-games/goatee/goatee-0.3.1.2.ebuild
deleted file mode 100644
index 6524456fa39e..000000000000
--- a/dev-games/goatee/goatee-0.3.1.2.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# ebuild generated by hackport 0.5.9999
-
-CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
-inherit haskell-cabal
-
-DESCRIPTION="A monadic take on a 2,500-year-old board game - library"
-HOMEPAGE="http://khumba.net/projects/goatee"
-SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
-
-LICENSE="AGPL-3"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND=">=dev-haskell/mtl-2.1:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
- >=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
- >=dev-lang/ghc-7.4.1:=
-"
-DEPEND="${RDEPEND}
- >=dev-haskell/cabal-1.8
- test? ( >=dev-haskell/hunit-1.2 <dev-haskell/hunit-1.4 )
-"
diff --git a/dev-games/goatee/metadata.xml b/dev-games/goatee/metadata.xml
deleted file mode 100644
index 7bb68a35c426..000000000000
--- a/dev-games/goatee/metadata.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>games@gentoo.org</email>
- <name>Gentoo Games Project</name>
- </maintainer>
- <maintainer type="project">
- <email>haskell@gentoo.org</email>
- <name>Gentoo Haskell</name>
- </maintainer>
- <longdescription>
- Goatee is a Go library and game editor, written in Haskell. It provides a
- GUI for recording, studying, and editing game records. Underneath this is a
- portable library for manipulating SGF files to build UIs and tools. Goatee
- aims to be full-featured by supporting all of the SGF spec and allowing for
- full and easy customization of the game records you create.
-
- This package is the shared library.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-games/godot/Manifest b/dev-games/godot/Manifest
new file mode 100644
index 000000000000..d3e0adfca766
--- /dev/null
+++ b/dev-games/godot/Manifest
@@ -0,0 +1,2 @@
+DIST godot-3.5.3-stable.tar.xz 24072964 BLAKE2B a4c03328e3aa77d741a1c642cfd645de04084f2852e865757fc8960c4919d3b8b8571e772f44004901fdd80a967e8e21bd8c6be8b36263db7afae787dcbd3ed6 SHA512 4c008af5bb7c298d465edbe03f6ebc642f5bbbb0a4254e99d7a7a88919e1f9424b98c5dff95a55ae68d4e2e5878c7c0bb7d13a66869cb632ecb51a913f865155
+DIST godot-4.2.2-stable.tar.xz 26768552 BLAKE2B e4a6040d7a1f63f841f56d74bb7b04e58f2fa26ddd8850df7f93937deb10c4af925ea2059c174d9f457222e0cddfe477498e3462bfaaf69ec8e57de8f2d43c83 SHA512 4a623063be5488957e1ede7e45b6865f6cd61bc954ac311587b9e97bed848a4083c4a7225d0a81bca285d854d33be9b07d7d0c21465c9f25b90e92b08090429c
diff --git a/dev-games/godot/files/godot-3.5-musl.patch b/dev-games/godot/files/godot-3.5-musl.patch
new file mode 100644
index 000000000000..0738b035480f
--- /dev/null
+++ b/dev-games/godot/files/godot-3.5-musl.patch
@@ -0,0 +1,9 @@
+crash handler requires glibc or libexecinfo (not packaged),
+and is always enabled if build the editor (release_debug)
+--- a/platform/x11/crash_handler_x11.cpp
++++ b/platform/x11/crash_handler_x11.cpp
+@@ -38,3 +38,3 @@
+
+-#ifdef DEBUG_ENABLED
++#if defined(DEBUG_ENABLED) && defined(__GLIBC__)
+ #define CRASH_HANDLER_ENABLED 1
diff --git a/dev-games/godot/files/godot-3.5-scons.patch b/dev-games/godot/files/godot-3.5-scons.patch
new file mode 100644
index 000000000000..b8ed7f50311d
--- /dev/null
+++ b/dev-games/godot/files/godot-3.5-scons.patch
@@ -0,0 +1,74 @@
+* add option to respect AR
+ (respecting PKG_CONFIG is handled in the ebuild)
+* handle recastnavigation unbundling
+* remove unnecessary opusfile
+* remove unnecessary -no-pie
+* remove -pipe from LDFLAGS, may "possibly" be relevant to:
+ https://bugs.gentoo.org/861689
+ https://github.com/godotengine/godot/commit/f035e784
+--- a/SConstruct
++++ b/SConstruct
+@@ -192,4 +192,5 @@
+ opts.Add("CXX", "C++ compiler")
+ opts.Add("CC", "C compiler")
++opts.Add("AR", "Archiver")
+ opts.Add("LINK", "Linker")
+ opts.Add("CCFLAGS", "Custom flags for both the C and C++ compilers")
+--- a/platform/server/detect.py
++++ b/platform/server/detect.py
+@@ -135,5 +135,4 @@
+
+ env.Append(CCFLAGS=["-pipe"])
+- env.Append(LINKFLAGS=["-pipe"])
+
+ ## Dependencies
+@@ -178,4 +177,7 @@
+ env.ParseConfig("pkg-config libenet --cflags --libs")
+
++ if not env["builtin_recast"]:
++ env.ParseConfig("pkg-config recastnavigation --cflags --libs")
++
+ if not env["builtin_squish"]:
+ env.ParseConfig("pkg-config libsquish --cflags --libs")
+@@ -205,5 +207,5 @@
+ if not env["builtin_opus"]:
+ env["builtin_libogg"] = False # Needed to link against system opus
+- env.ParseConfig("pkg-config opus opusfile --cflags --libs")
++ env.ParseConfig("pkg-config opus --cflags --libs")
+
+ if not env["builtin_libogg"]:
+--- a/platform/x11/detect.py
++++ b/platform/x11/detect.py
+@@ -232,17 +232,5 @@
+
+ env.Append(CCFLAGS=["-pipe"])
+- env.Append(LINKFLAGS=["-pipe"])
+
+- # Check for gcc version >= 6 before adding -no-pie
+- version = get_compiler_version(env) or [-1, -1]
+- if using_gcc(env):
+- if version[0] >= 6:
+- env.Append(CCFLAGS=["-fpie"])
+- env.Append(LINKFLAGS=["-no-pie"])
+- # Do the same for clang should be fine with Clang 4 and higher
+- if using_clang(env):
+- if version[0] >= 4:
+- env.Append(CCFLAGS=["-fpie"])
+- env.Append(LINKFLAGS=["-no-pie"])
+
+ ## Dependencies
+@@ -298,4 +286,7 @@
+ env.ParseConfig("pkg-config libenet --cflags --libs")
+
++ if not env["builtin_recast"]:
++ env.ParseConfig("pkg-config recastnavigation --cflags --libs")
++
+ if not env["builtin_squish"]:
+ env.ParseConfig("pkg-config libsquish --cflags --libs")
+@@ -325,5 +316,5 @@
+ if not env["builtin_opus"]:
+ env["builtin_libogg"] = False # Needed to link against system opus
+- env.ParseConfig("pkg-config opus opusfile --cflags --libs")
++ env.ParseConfig("pkg-config opus --cflags --libs")
+
+ if not env["builtin_libogg"]:
diff --git a/dev-games/godot/files/godot-3.5.3-gcc13.patch b/dev-games/godot/files/godot-3.5.3-gcc13.patch
new file mode 100644
index 000000000000..dd681b87dce5
--- /dev/null
+++ b/dev-games/godot/files/godot-3.5.3-gcc13.patch
@@ -0,0 +1,9 @@
+Issues seem(?) to only trigger when gcc13 is combined with musl.
+
+https://bugs.gentoo.org/906363
+--- a/modules/fbx/fbx_parser/FBXCommon.h
++++ b/modules/fbx/fbx_parser/FBXCommon.h
+@@ -78,2 +78,3 @@
+
++#include <cstdint>
+ #include <string>
diff --git a/dev-games/godot/files/godot-4.0_rc2-musl.patch b/dev-games/godot/files/godot-4.0_rc2-musl.patch
new file mode 100644
index 000000000000..3b9a458ac7d4
--- /dev/null
+++ b/dev-games/godot/files/godot-4.0_rc2-musl.patch
@@ -0,0 +1,21 @@
+Crash handler requires glibc or libexecinfo (not packaged) and is enabled
+if build the editor (implies debug), but can be easily turned off.
+https://bugs.gentoo.org/894762
+--- a/platform/linuxbsd/crash_handler_linuxbsd.cpp
++++ b/platform/linuxbsd/crash_handler_linuxbsd.cpp
+@@ -38,3 +38,3 @@
+
+-#ifdef DEBUG_ENABLED
++#if defined(DEBUG_ENABLED) && defined(__GLIBC__)
+ #define CRASH_HANDLER_ENABLED 1
+--- a/platform/linuxbsd/detect.py
++++ b/platform/linuxbsd/detect.py
+@@ -329,8 +329,2 @@
+
+- if not env["execinfo"] and platform.libc_ver()[0] != "glibc":
+- # The default crash handler depends on glibc, so if the host uses
+- # a different libc (BSD libc, musl), fall back to libexecinfo.
+- print("Note: Using `execinfo=yes` for the crash handler as required on platforms where glibc is missing.")
+- env["execinfo"] = True
+-
+ if env["execinfo"]:
diff --git a/dev-games/godot/files/godot-4.0_rc3-scons.patch b/dev-games/godot/files/godot-4.0_rc3-scons.patch
new file mode 100644
index 000000000000..682e1510ac94
--- /dev/null
+++ b/dev-games/godot/files/godot-4.0_rc3-scons.patch
@@ -0,0 +1,15 @@
+--- a/SConstruct
++++ b/SConstruct
+@@ -241,2 +241,3 @@
+ opts.Add("CC", "C compiler")
++opts.Add("AR", "Archiver")
+ opts.Add("LINK", "Linker")
+@@ -569,8 +570,2 @@
+ env.Append(CCFLAGS=["-g2"])
+- else:
+- if methods.using_clang(env) and not methods.is_vanilla_clang(env):
+- # Apple Clang, its linker doesn't like -s.
+- env.Append(LINKFLAGS=["-Wl,-S", "-Wl,-x", "-Wl,-dead_strip"])
+- else:
+- env.Append(LINKFLAGS=["-s"])
+
diff --git a/dev-games/godot/godot-3.5.3.ebuild b/dev-games/godot/godot-3.5.3.ebuild
new file mode 100644
index 000000000000..c4e78535e32d
--- /dev/null
+++ b/dev-games/godot/godot-3.5.3.ebuild
@@ -0,0 +1,218 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit desktop python-any-r1 scons-utils shell-completion toolchain-funcs xdg
+
+DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
+HOMEPAGE="https://godotengine.org/"
+SRC_URI="
+ https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz
+ https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz
+"
+S="${WORKDIR}/${P}-stable"
+
+LICENSE="
+ MIT
+ Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
+ gui? ( CC-BY-4.0 ) tools? ( BitstreamVera OFL-1.1 )
+"
+SLOT="3"
+KEYWORDS="~amd64"
+# Enable roughly same as upstream by default so it works as expected,
+# except raycast (tools-only heavy dependency), and deprecated.
+IUSE="
+ +bullet debug deprecated +gui pulseaudio raycast +runner +theora
+ +tools +udev +upnp +webm +webp
+"
+
+# dlopen: alsa-lib,pulseaudio,udev
+RDEPEND="
+ app-arch/zstd:=
+ dev-games/recastnavigation:=
+ dev-libs/libpcre2:=[pcre32]
+ media-libs/alsa-lib
+ media-libs/freetype[brotli]
+ media-libs/libpng:=
+ <net-libs/mbedtls-3:=
+ net-libs/wslay
+ sys-libs/zlib:=
+ bullet? ( sci-physics/bullet:= )
+ gui? (
+ media-libs/libglvnd
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ tools? ( raycast? ( media-libs/embree:3 ) )
+ )
+ pulseaudio? ( media-libs/libpulse )
+ theora? (
+ media-libs/libogg
+ media-libs/libtheora
+ media-libs/libvorbis
+ )
+ tools? ( app-misc/ca-certificates )
+ udev? ( virtual/udev )
+ upnp? ( net-libs/miniupnpc:= )
+ webm? (
+ media-libs/libvorbis
+ media-libs/libvpx:=
+ media-libs/opus
+ )
+ webp? ( media-libs/libwebp:= )
+"
+DEPEND="
+ ${RDEPEND}
+ gui? ( x11-base/xorg-proto )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.5-musl.patch
+ "${FILESDIR}"/${PN}-3.5-scons.patch
+ "${FILESDIR}"/${PN}-3.5.3-gcc13.patch
+)
+
+src_prepare() {
+ default
+
+ # handle slotting
+ sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
+ sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
+ sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
+ -i misc/dist/linux/org.godotengine.Godot.desktop || die
+ sed -e "s/godot/&${SLOT}/g" \
+ -i misc/dist/shell/{godot.bash-completion,godot.fish,_godot.zsh-completion} || die
+
+ sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/{x11,server}/detect.py || die
+
+ # use of builtin_ switches can be messy (see below), delete to be sure
+ local unbundle=(
+ bullet embree freetype libogg libpng libtheora libvorbis libvpx
+ libwebp mbedtls miniupnpc opus pcre2 recastnavigation wslay zlib zstd
+ # certs: unused by generated header, but scons panics if not found
+ )
+ rm -r "${unbundle[@]/#/thirdparty/}" || die
+}
+
+src_compile() {
+ local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
+
+ local esconsargs=(
+ AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
+
+ platform=$(usex gui x11 server)
+ progress=no
+ verbose=yes
+
+ deprecated=$(usex deprecated)
+ #execinfo=$(usex !elibc_glibc) # libexecinfo is not packaged
+ minizip=yes # uses a modified bundled copy
+ pulseaudio=$(usex pulseaudio)
+ udev=$(usex udev)
+
+ system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
+
+ # platform/*/detect.py uses builtin_* switches to check if need
+ # to link with system libraries, but ignores whether the dep is
+ # actually used, so "enable" deleted builtins on disabled deps
+ builtin_bullet=$(usex !bullet)
+ builtin_certs=no
+ builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
+ builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
+ builtin_freetype=no
+ builtin_libogg=yes # unused
+ builtin_libpng=no
+ builtin_libtheora=$(usex !theora)
+ builtin_libvorbis=$(usex !theora $(usex !webm))
+ builtin_libvpx=$(usex !webm)
+ builtin_libwebp=$(usex !webp)
+ builtin_mbedtls=no
+ builtin_miniupnpc=$(usex !upnp)
+ builtin_opus=$(usex !webm)
+ builtin_pcre2=no
+ builtin_recast=no
+ builtin_rvo2=yes # bundled copy has godot-specific changes
+ builtin_squish=yes # ^ likewise, may not be safe to unbundle
+ builtin_wslay=no
+ builtin_xatlas=yes # not wired for unbundling nor packaged
+ builtin_zlib=no
+ builtin_zstd=no
+ # (more is bundled in third_party/ but they lack builtin_* switches)
+
+ # modules with optional dependencies, "possible" to disable more but
+ # gets messy and breaks all sorts of features (expected enabled)
+ module_bullet_enabled=$(usex bullet)
+ module_mono_enabled=no # unhandled
+ module_ogg_enabled=no # unused
+ module_opus_enabled=no # unused, support is gone and webm uses system's
+ # note raycast is disabled on many arches, see raycast/config.py
+ module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
+ module_theora_enabled=$(usex theora)
+ module_upnp_enabled=$(usex upnp)
+ module_vorbis_enabled=no # unused, non-theora/webm uses stb_vorbis
+ module_webm_enabled=$(usex webm)
+ module_webp_enabled=$(usex webp)
+
+ # let *FLAGS handle these, e.g. can pass -flto as-is
+ debug_symbols=no
+ optimize=none
+ use_lto=no
+ use_static_cpp=no
+ )
+
+ if use runner && use tools; then
+ # build alternate faster + ~60% smaller binary for running
+ # games or servers without game development debug paths
+ escons extra_suffix=runner target=release tools=no "${esconsargs[@]}"
+ fi
+
+ esconsargs+=(
+ # debug: debug for godot itself
+ # release_debug: debug for game development
+ # release: no debugging paths, only available with tools=no
+ target=$(usex debug{,} $(usex tools release_debug release))
+ tools=$(usex tools)
+ )
+
+ escons extra_suffix=main "${esconsargs[@]}"
+}
+
+src_install() {
+ local s=godot${SLOT}
+
+ newbin bin/godot*.main ${s}
+ if use runner && use tools; then
+ newbin bin/godot*.runner ${s}-runner
+ else
+ # always available, revdeps shouldn't depend on [runner]
+ dosym ${s} /usr/bin/${s}-runner
+ fi
+
+ newman misc/dist/linux/godot.6 ${s}.6
+ dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
+
+ if use gui; then
+ newicon icon.svg ${s}.svg
+ newmenu misc/dist/linux/org.godotengine.Godot.desktop \
+ org.godotengine.${s^}.desktop
+
+ insinto /usr/share/metainfo
+ newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
+ org.godotengine.${s^}.appdata.xml
+
+ insinto /usr/share/mime/application
+ newins misc/dist/linux/org.godotengine.Godot.xml \
+ org.godotengine.${s^}.xml
+ fi
+
+ newbashcomp misc/dist/shell/godot.bash-completion ${s}
+ newfishcomp misc/dist/shell/godot.fish ${s}.fish
+ newzshcomp misc/dist/shell/_godot.zsh-completion _${s}
+}
diff --git a/dev-games/godot/godot-4.2.2.ebuild b/dev-games/godot/godot-4.2.2.ebuild
new file mode 100644
index 000000000000..bda89ed4d705
--- /dev/null
+++ b/dev-games/godot/godot-4.2.2.ebuild
@@ -0,0 +1,238 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit desktop python-any-r1 flag-o-matic scons-utils
+inherit shell-completion toolchain-funcs xdg
+
+DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
+HOMEPAGE="https://godotengine.org/"
+SRC_URI="
+ https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz
+ https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz
+"
+S=${WORKDIR}/${P}-stable
+
+LICENSE="
+ MIT
+ Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
+ gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 )
+"
+SLOT="4"
+KEYWORDS="~amd64"
+# Enable roughly same as upstream by default so it works as expected,
+# except raycast (tools-only heavy dependency), and deprecated.
+IUSE="
+ alsa +dbus debug deprecated +fontconfig +gui pulseaudio raycast
+ +runner speech test +theora +tools +udev +upnp +vulkan +webp
+"
+# TODO: tests still need more figuring out
+RESTRICT="test"
+
+# dlopen: libglvnd
+RDEPEND="
+ app-arch/brotli:=
+ app-arch/zstd:=
+ dev-games/recastnavigation:=
+ dev-libs/icu:=
+ dev-libs/libpcre2:=[pcre32]
+ media-libs/freetype[brotli,harfbuzz]
+ media-libs/harfbuzz:=[icu]
+ media-libs/libogg
+ media-libs/libpng:=
+ media-libs/libvorbis
+ <net-libs/mbedtls-3:=
+ net-libs/wslay
+ sys-libs/zlib:=
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ fontconfig? ( media-libs/fontconfig )
+ gui? (
+ media-libs/libglvnd
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libxkbcommon
+ tools? ( raycast? ( media-libs/embree:3 ) )
+ vulkan? ( media-libs/vulkan-loader[X] )
+ )
+ pulseaudio? ( media-libs/libpulse )
+ speech? ( app-accessibility/speech-dispatcher )
+ theora? ( media-libs/libtheora )
+ tools? ( app-misc/ca-certificates )
+ udev? ( virtual/udev )
+ upnp? ( net-libs/miniupnpc:= )
+ webp? ( media-libs/libwebp:= )
+"
+DEPEND="
+ ${RDEPEND}
+ gui? ( x11-base/xorg-proto )
+ tools? ( test? ( dev-cpp/doctest ) )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0_rc2-musl.patch
+ "${FILESDIR}"/${PN}-4.0_rc3-scons.patch
+)
+
+src_prepare() {
+ default
+
+ # handle slotting
+ sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
+ sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
+ sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
+ -i misc/dist/linux/org.godotengine.Godot.desktop || die
+ sed -e "s/godot/&${SLOT}/g" \
+ -i misc/dist/shell/{godot.bash-completion,godot.fish,_godot.zsh-completion} || die
+
+ sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
+
+ # use of builtin_ switches can be messy (see below), delete to be sure
+ local unbundle=(
+ brotli doctest embree freetype graphite harfbuzz icu4c libogg
+ libpng libtheora libvorbis libwebp linuxbsd_headers mbedtls
+ miniupnpc pcre2 recastnavigation volk wslay zlib zstd
+ # certs: unused by generated header, but scons panics if not found
+ )
+ rm -r "${unbundle[@]/#/thirdparty/}" || die
+
+ ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die
+}
+
+src_compile() {
+ local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
+
+ filter-lto #921017
+
+ local esconsargs=(
+ AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
+
+ progress=no
+ verbose=yes
+
+ use_sowrap=no
+
+ alsa=$(usex alsa)
+ dbus=$(usex dbus)
+ deprecated=$(usex deprecated)
+ fontconfig=$(usex fontconfig)
+ opengl3=$(usex gui)
+ pulseaudio=$(usex pulseaudio)
+ speechd=$(usex speech)
+ udev=$(usex udev)
+ use_volk=no # unnecessary when linking directly to libvulkan
+ vulkan=$(usex gui $(usex vulkan))
+ x11=$(usex gui)
+
+ system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
+
+ # platform/*/detect.py uses builtin_* switches to check if need
+ # to link with system libraries, but many ignore whether the dep
+ # is actually used, so "enable" deleted builtins on disabled deps
+ builtin_brotli=no
+ builtin_certs=no
+ builtin_clipper2=yes # not packaged
+ builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
+ builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
+ builtin_freetype=no
+ builtin_glslang=yes #879111 (for now, may revisit if more stable)
+ builtin_graphite=no
+ builtin_harfbuzz=no
+ builtin_icu4c=no
+ builtin_libogg=no
+ builtin_libpng=no
+ builtin_libtheora=$(usex !theora)
+ builtin_libvorbis=no
+ builtin_libwebp=$(usex !webp)
+ builtin_mbedtls=no
+ builtin_miniupnpc=$(usex !upnp)
+ builtin_msdfgen=yes # not wired for unbundling nor packaged
+ builtin_openxr=yes # not packaged
+ builtin_pcre2=no
+ builtin_recastnavigation=no
+ builtin_rvo2=yes # bundled copy has godot-specific changes
+ builtin_squish=yes # ^ likewise, may not be safe to unbundle
+ builtin_wslay=no
+ builtin_xatlas=yes # not wired for unbundling nor packaged
+ builtin_zlib=no
+ builtin_zstd=no
+ # (more is bundled in third_party/ but they lack builtin_* switches)
+
+ # modules with optional dependencies, "possible" to disable more but
+ # gets messy and breaks all sorts of features (expected enabled)
+ module_mono_enabled=no # unhandled
+ # note raycast is only enabled on amd64+arm64, see raycast/config.py
+ module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
+ module_theora_enabled=$(usex theora)
+ module_upnp_enabled=$(usex upnp)
+ module_webp_enabled=$(usex webp)
+
+ # let *FLAGS handle these
+ debug_symbols=no
+ lto=none
+ optimize=custom
+ use_static_cpp=no
+ )
+
+ if use runner && use tools; then
+ # build alternate faster + ~60% smaller binary for running
+ # games or servers without game development debug paths
+ escons extra_suffix=runner target=template_release "${esconsargs[@]}"
+ fi
+
+ esconsargs+=(
+ target=$(usex tools editor template_$(usex debug{,} release))
+ dev_build=$(usex debug)
+
+ # harmless but note this bakes in --test in the final binary
+ tests=$(usex tools $(usex test))
+ )
+
+ escons extra_suffix=main "${esconsargs[@]}"
+}
+
+src_test() {
+ xdg_environment_reset
+ bin/godot*.main --headless --test || die
+}
+
+src_install() {
+ local s=godot${SLOT}
+
+ newbin bin/godot*.main ${s}
+ if use runner && use tools; then
+ newbin bin/godot*.runner ${s}-runner
+ else
+ # always available, revdeps shouldn't depend on [runner]
+ dosym ${s} /usr/bin/${s}-runner
+ fi
+
+ newman misc/dist/linux/godot.6 ${s}.6
+ dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
+
+ if use gui; then
+ newicon icon.svg ${s}.svg
+ newmenu misc/dist/linux/org.godotengine.Godot.desktop \
+ org.godotengine.${s^}.desktop
+
+ insinto /usr/share/metainfo
+ newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
+ org.godotengine.${s^}.appdata.xml
+
+ insinto /usr/share/mime/application
+ newins misc/dist/linux/org.godotengine.Godot.xml \
+ org.godotengine.${s^}.xml
+ fi
+
+ newbashcomp misc/dist/shell/godot.bash-completion ${s}
+ newfishcomp misc/dist/shell/godot.fish ${s}.fish
+ newzshcomp misc/dist/shell/_godot.zsh-completion _${s}
+}
diff --git a/dev-games/godot/metadata.xml b/dev-games/godot/metadata.xml
new file mode 100644
index 000000000000..71f596fee4e9
--- /dev/null
+++ b/dev-games/godot/metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <longdescription>
+ Godot Engine is a feature-packed, cross-platform game engine
+ to create 2D and 3D games from a unified interface. It provides
+ a comprehensive set of common tools, so that users can focus on
+ making games without having to reinvent the wheel. Games can be
+ exported with one click to a number of platforms, including the
+ major desktop platforms (Linux, macOS, Windows), mobile
+ platforms (Android, iOS), as well as Web-based platforms (HTML5)
+ and consoles.
+ </longdescription>
+ <use>
+ <flag name="bullet">Enable the <pkg>sci-physics/bullet</pkg> module</flag>
+ <flag name="deprecated">Enable support for deprecated features</flag>
+ <flag name="raycast">Enable the raycast Editor module using <pkg>media-libs/embree</pkg></flag>
+ <flag name="runner">Build an additional binary optimized for running games (only relevant with USE=tools)</flag>
+ <flag name="tools">Enable the Godot Editor for game development</flag>
+ <flag name="webm">Enable the WebM module</flag>
+ </use>
+ <upstream>
+ <doc>https://docs.godotengine.org/</doc>
+ <remote-id type="github">godotengine/godot</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-games/guichan/files/guichan-0.8.2-as-needed.patch b/dev-games/guichan/files/guichan-0.8.2-as-needed.patch
index 79eb563c0f8d..c4d8228e9ac6 100644
--- a/dev-games/guichan/files/guichan-0.8.2-as-needed.patch
+++ b/dev-games/guichan/files/guichan-0.8.2-as-needed.patch
@@ -1,13 +1,13 @@
---- src/Makefile.am
-+++ src/Makefile.am
+--- a/src/Makefile.am
++++ b/src/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = widgets @GUICHAN_EXTRADIRS@ hge openlayer contrib
+SUBDIRS = widgets . @GUICHAN_EXTRADIRS@ hge openlayer contrib
INCLUDES = -I$(top_srcdir)/include
---- src/sdl/Makefile.am
-+++ src/sdl/Makefile.am
+--- a/src/sdl/Makefile.am
++++ b/src/sdl/Makefile.am
@@ -6,6 +6,8 @@
libguichan_sdl_la_LDFLAGS = -no-undefined -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
diff --git a/dev-games/guichan/files/guichan-0.8.2-automake-1.13.patch b/dev-games/guichan/files/guichan-0.8.2-automake-1.13.patch
index e2f46097b82a..abc0d80ef62d 100644
--- a/dev-games/guichan/files/guichan-0.8.2-automake-1.13.patch
+++ b/dev-games/guichan/files/guichan-0.8.2-automake-1.13.patch
@@ -1,5 +1,5 @@
---- guichan-0.8.2/configure.in
-+++ guichan-0.8.2/configure.in
+--- a/configure.in
++++ b/configure.in
@@ -38,7 +38,7 @@
AC_SUBST(LT_AGE)
diff --git a/dev-games/guichan/files/guichan-0.8.2-slibtool-undefined-references.patch b/dev-games/guichan/files/guichan-0.8.2-slibtool-undefined-references.patch
new file mode 100644
index 000000000000..bec3cc9bb484
--- /dev/null
+++ b/dev-games/guichan/files/guichan-0.8.2-slibtool-undefined-references.patch
@@ -0,0 +1,48 @@
+https://bugs.gentoo.org/779040
+
+commit a1e784de2edc4784c440246998fb8ad28065cc39
+Author: orbea <orbea@riseup.net>
+Date: Tue Mar 30 07:34:15 2021 -0700
+
+ build: Fix the build with -no-undefined.
+
+--- a/src/allegro/Makefile.am
++++ b/src/allegro/Makefile.am
+@@ -3,6 +3,7 @@ lib_LTLIBRARIES = libguichan_allegro.la
+ INCLUDES = -I$(top_srcdir)/include
+
+ libguichan_allegro_la_LDFLAGS = -no-undefined -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++libguichan_allegro_la_LIBADD = $(top_srcdir)/src/libguichan.la -lalleg
+
+ libguichan_allegro_la_SOURCES = \
+ allegro.cpp \
+@@ -10,4 +11,4 @@ libguichan_allegro_la_SOURCES = \
+ allegrographics.cpp \
+ allegroimage.cpp \
+ allegroimageloader.cpp \
+- allegroinput.cpp
+\ No newline at end of file
++ allegroinput.cpp
+--- a/src/opengl/Makefile.am
++++ b/src/opengl/Makefile.am
+@@ -3,6 +3,7 @@ lib_LTLIBRARIES = libguichan_opengl.la
+ INCLUDES = -I$(top_srcdir)/include
+
+ libguichan_opengl_la_LDFLAGS = -no-undefined -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++libguichan_opengl_la_LIBADD = $(top_srcdir)/src/libguichan.la -lGL
+
+ libguichan_opengl_la_SOURCES = \
+ opengl.cpp \
+diff --git a/src/sdl/Makefile.am b/src/sdl/Makefile.am
+index 61b3d50..728ca3c 100644
+--- a/src/sdl/Makefile.am
++++ b/src/sdl/Makefile.am
+@@ -6,7 +6,7 @@ INCLUDES = -I$(top_srcdir)/include
+
+ libguichan_sdl_la_LDFLAGS = -no-undefined -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
+
+-libguichan_sdl_la_LIBADD = -lSDL_image -L$(top_srcdir)/src -lguichan
++libguichan_sdl_la_LIBADD = $(top_srcdir)/src/libguichan.la -lSDL -lSDL_image
+
+ libguichan_sdl_la_SOURCES = \
+ sdl.cpp \
diff --git a/dev-games/guichan/guichan-0.8.2.ebuild b/dev-games/guichan/guichan-0.8.2.ebuild
index 049a09d0547b..647b6c9477ef 100644
--- a/dev-games/guichan/guichan-0.8.2.ebuild
+++ b/dev-games/guichan/guichan-0.8.2.ebuild
@@ -1,30 +1,37 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit eutils autotools ltprune
+EAPI=7
-DESCRIPTION="a portable C++ GUI library designed for games using Allegro, SDL and/or OpenGL"
-HOMEPAGE="http://guichan.sourceforge.net/"
+inherit autotools
+
+DESCRIPTION="A portable C++ GUI library designed for games using Allegro, SDL and/or OpenGL"
+HOMEPAGE="https://guichan.sourceforge.net/oldsite/about.shtml"
SRC_URI="https://guichan.googlecode.com/files/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE="allegro opengl sdl static-libs"
+IUSE="allegro opengl sdl"
-DEPEND="allegro? ( <media-libs/allegro-5 )
+DEPEND="
+ allegro? ( media-libs/allegro:0 )
opengl? ( virtual/opengl )
sdl? (
media-libs/libsdl
media-libs/sdl-image
)"
-RDEPEND=${DEPEND}
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-as-needed.patch
+ "${FILESDIR}"/${P}-automake-1.13.patch
+ "${FILESDIR}"/${P}-slibtool-undefined-references.patch
+)
src_prepare() {
- epatch \
- "${FILESDIR}"/${P}-as-needed.patch \
- "${FILESDIR}"/${P}-automake-1.13.patch
+ default
+
mv configure.in configure.ac || die
eautoreconf
}
@@ -35,10 +42,11 @@ src_configure() {
$(use_enable opengl) \
$(use_enable sdl) \
$(use_enable sdl sdlimage) \
- $(use_enable static-libs static)
+ --disable-static
}
src_install() {
default
- prune_libtool_files
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-games/guichan/metadata.xml b/dev-games/guichan/metadata.xml
index f0f0f67b46f8..82d4f99756bf 100644
--- a/dev-games/guichan/metadata.xml
+++ b/dev-games/guichan/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/hawknl/hawknl-1.68-r3.ebuild b/dev-games/hawknl/hawknl-1.68-r3.ebuild
index 1263783a20ec..4011847e391d 100644
--- a/dev-games/hawknl/hawknl-1.68-r3.ebuild
+++ b/dev-games/hawknl/hawknl-1.68-r3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit toolchain-funcs
+inherit flag-o-matic toolchain-funcs
DESCRIPTION="A cross-platform network library designed for games"
HOMEPAGE="http://www.hawksoft.com/hawknl/"
@@ -11,7 +11,7 @@ SRC_URI="http://www.sonic.net/~philf/download/HawkNL${PV/./}src.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64 hppa x86"
+KEYWORDS="amd64 ~hppa x86"
IUSE="examples"
S="${WORKDIR}/${PN}${PV}"
@@ -20,6 +20,10 @@ PATCHES=( "${FILESDIR}"/${P}-build.patch )
src_configure() {
tc-export CC
+
+ # bug #855311
+ append-flags -fno-strict-aliasing
+ filter-lto
}
src_compile() {
diff --git a/dev-games/hawknl/metadata.xml b/dev-games/hawknl/metadata.xml
index 20b595958d04..c75aff8659cc 100644
--- a/dev-games/hawknl/metadata.xml
+++ b/dev-games/hawknl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/hdl_dump/Manifest b/dev-games/hdl_dump/Manifest
index 2a84ffeb793b..8fb43ac68607 100644
--- a/dev-games/hdl_dump/Manifest
+++ b/dev-games/hdl_dump/Manifest
@@ -1,2 +1 @@
DIST hdl_dump-0.9.2.20180722.tar.gz 185864 BLAKE2B cf8ff790f418d8905b0e0fbab1bcb52d8f9bb73f2a5d0dd7320c97c38a0b87800bb6ad778ebf3345d71d1f4ea2c6a6fd9a9ed0da73082fd774231568ac9fab45 SHA512 e70ae10425679dd7eab7fae51a3dd2355b2e2ef9a3de83f313bfb437407b47c4482759799a4b81cf0b86ae852eb64ab8b30aeca9443f511e5ff1e34e1fbc30e3
-DIST hdl_dumx-0.8.6-20060901-src.tar.bz2 156322 BLAKE2B f05ce1ccc10e23980ec24d75555bc609b913b0d2c32606b2eb616a7721d7c11ceee6c2a3b8e8bd9020c1747dfb8d514d4924798a512e11e606249c5a8725c45d SHA512 c54c72c3f4d57ca8f3299c0b6044ec5376504f7b7a4c7977d71b996bc8d98577ffa868891e1a599aebbe58b8d3ccf2513c5cf8a47350c0b0f53fd21a0e64bbc8
diff --git a/dev-games/hdl_dump/files/hdl_dump-0.8.6.20060901-fortify.patch b/dev-games/hdl_dump/files/hdl_dump-0.8.6.20060901-fortify.patch
deleted file mode 100644
index 96f85d4609af..000000000000
--- a/dev-games/hdl_dump/files/hdl_dump-0.8.6.20060901-fortify.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-http://bugs.gentoo.org/340145
-
-fix buffer overflows in path handling. these defines should only be used
-with host paths, so bumping them up to a larger value should be fine.
-
---- a/common.h
-+++ b/common.h
-@@ -35,7 +35,8 @@
- C_START
-
- #if !defined (MAX_PATH)
--# define MAX_PATH 128
-+/* This needs to be at least 256 bytes -- see iin_gi_probe_path */
-+# define MAX_PATH 1024
- #endif
-
-
---- a/osal.h
-+++ b/osal.h
-@@ -62,7 +62,8 @@ typedef struct
- # define OSAL_HANDLE_INIT { -1 } /* file descriptor */
- # define OSAL_IS_OPENED(x) ((x).desc != -1)
-
--# define MAX_PATH 256
-+/* This needs to be at least 256 bytes -- see iin_gi_probe_path */
-+# define MAX_PATH 1024
-
- #endif
- typedef /*@special@*/ /*@only@*/ /*@out@*/ osal_handle_t* osal_handle_p_t;
-
-the magic field is 32 bytes, so strcpy-ing 32 bytes will add a 33rd NUL char.
-this isn't a problem in practice as the 33rd char is "unknown_0x02", but let's
-fix the issue anyways.
-
---- a/apa.c
-+++ b/apa.c
-@@ -1270,7 +1270,7 @@ apa_initialize_ex (hio_t *hio)
- set_u32 (&header.length, 128 * 1024 * 2);
- set_u16 (&header.type, 0x0001);
- set_ps2fs_datetime (&header.created, time (NULL));
-- strcpy (header.mbr.magic, "Sony Computer Entertainment Inc.");
-+ memcpy (header.mbr.magic, "Sony Computer Entertainment Inc.", 32);
- header.mbr.unknown_0x02 = 0x02;
- set_ps2fs_datetime (&header.mbr.created, time (NULL));
- set_u32 (&header.checksum, apa_partition_checksum (&header));
diff --git a/dev-games/hdl_dump/hdl_dump-0.8.6.20060901.ebuild b/dev-games/hdl_dump/hdl_dump-0.8.6.20060901.ebuild
deleted file mode 100644
index 470f81f67c20..000000000000
--- a/dev-games/hdl_dump/hdl_dump-0.8.6.20060901.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils toolchain-funcs versionator
-
-MY_PV=$(replace_version_separator 3 -)
-DESCRIPTION="game installer for playstation 2 HD Loader"
-HOMEPAGE="http://www.psx-scene.com/hdldump/"
-SRC_URI="http://www.psx-scene.com/hdldump/hdl_dumx-${MY_PV}-src.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-S=${WORKDIR}/${PN}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-fortify.patch #340145
- sed -i \
- -e "s/-O0 -g/${CFLAGS}/" \
- -e "s/@\$(CC)/$(tc-getCC)/" \
- -e '/LDFLAGS =/d' \
- Makefile || die
-}
-
-src_install() {
- dobin hdl_dump
- dodoc AUTHORS CHANGELOG README TODO
-}
diff --git a/dev-games/hdl_dump/hdl_dump-0.9.2.20180722.ebuild b/dev-games/hdl_dump/hdl_dump-0.9.2.20180722.ebuild
index d35f64fad47b..64b4a2647bba 100644
--- a/dev-games/hdl_dump/hdl_dump-0.9.2.20180722.ebuild
+++ b/dev-games/hdl_dump/hdl_dump-0.9.2.20180722.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/AKuHAK/hdl-dump/archive/${COMMIT}.tar.gz -> ${P}.tar
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="debug"
S="${WORKDIR}/${PN//_/-}-${COMMIT}"
@@ -30,7 +30,7 @@ src_prepare() {
src_compile() {
emake \
- CC=$(tc-getCC) \
+ CC="$(tc-getCC)" \
RELEASE=$(usex debug no yes) \
IIN_OPTICAL_MMAP=yes
}
diff --git a/dev-games/hdl_dump/metadata.xml b/dev-games/hdl_dump/metadata.xml
index 2cb715d74b4f..b9c32450e372 100644
--- a/dev-games/hdl_dump/metadata.xml
+++ b/dev-games/hdl_dump/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/higan-ananke/Manifest b/dev-games/higan-ananke/Manifest
deleted file mode 100644
index 9628295a15ad..000000000000
--- a/dev-games/higan-ananke/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST higan_v094-source.tar.xz 882732 BLAKE2B fb2794a95060befc3495f347328e62c45ee8a21b888a9958857f739f5fb138704275b3624241fee4224e78678746e68d534db6d8d839eb4a6973c092819c509b SHA512 e7e48c76cdc93d2d66db1fa0c71e64903cf4188571b2d5ecb8066dd4e2172a67da4dee68bed6fd0a532b6fd397fa4f537b97de58cc5043a9e970d48d0b66b0da
diff --git a/dev-games/higan-ananke/files/higan-ananke-094-makefile.patch b/dev-games/higan-ananke/files/higan-ananke-094-makefile.patch
deleted file mode 100644
index 14639614cad7..000000000000
--- a/dev-games/higan-ananke/files/higan-ananke-094-makefile.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- a/ananke/Makefile
-+++ b/ananke/Makefile
-@@ -2,7 +2,7 @@
- include ../phoenix/Makefile
-
- path := /usr/local/lib
--flags := $(flags) -O3 -fomit-frame-pointer -I..
-+flags := $(flags) $(CXXFLAGS) -I..
-
- all:
- $(compiler) $(cppflags) $(flags) -fPIC -o obj/ananke.o -c ananke.cpp
-@@ -13,7 +13,7 @@
- else ifeq ($(platform),macosx)
- $(compiler) $(link) -shared -dynamiclib -undefined suppress -flat_namespace -o libananke.dylib obj/ananke.o
- else
-- $(compiler) $(link) -shared -Wl,-soname,libananke.so.1 -o libananke.so obj/ananke.o
-+ $(compiler) $(link) $(LDFLAGS) -shared -Wl,-soname,libananke.so.1 -o libananke.so obj/ananke.o
- endif
-
- resource: force
---- a/nall/Makefile
-+++ b/nall/Makefile
-@@ -53,11 +53,11 @@
- link :=
- endif
-
-- cflags := -x c -std=c99
-- objcflags := -x objective-c -std=c99
-- cppflags := -x c++ -std=c++11
-- objcppflags := -x objective-c++ -std=c++11
- endif
-+cflags := -x c -std=c99
-+objcflags := -x objective-c -std=c99
-+cppflags := -x c++ -std=c++11
-+objcppflags := -x objective-c++ -std=c++11
-
- # cross-compilation support
- ifeq ($(arch),x86)
diff --git a/dev-games/higan-ananke/higan-ananke-094.ebuild b/dev-games/higan-ananke/higan-ananke-094.ebuild
deleted file mode 100644
index b3b0566ec1bb..000000000000
--- a/dev-games/higan-ananke/higan-ananke-094.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib toolchain-funcs
-
-MY_P=higan_v${PV}-source
-
-DESCRIPTION="A higan helper library needed for extra rom load options"
-HOMEPAGE="http://byuu.org/higan/"
-SRC_URI="http://byuu.org/files/${MY_P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-S=${WORKDIR}/${MY_P}/ananke
-
-src_prepare() {
- cd "${WORKDIR}/${MY_P}"
- epatch \
- "${FILESDIR}"/${P}-makefile.patch
-}
-
-src_compile() {
- emake \
- platform="linux" \
- compiler="$(tc-getCXX)"
-}
-
-src_install() {
- newlib.so libananke.so libananke.so.1
- dosym libananke.so.1 /usr/$(get_libdir)/libananke.so
-}
diff --git a/dev-games/irrlicht-headers/irrlicht-headers-1.8.4.ebuild b/dev-games/irrlicht-headers/irrlicht-headers-1.8.4.ebuild
index 2996e70be608..16ef3a412efc 100644
--- a/dev-games/irrlicht-headers/irrlicht-headers-1.8.4.ebuild
+++ b/dev-games/irrlicht-headers/irrlicht-headers-1.8.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,13 +8,13 @@ inherit edos2unix
MY_PN="irrlicht"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Irrlicht 3D engine headers"
-HOMEPAGE="http://irrlicht.sourceforge.net/"
-SRC_URI="mirror://sourceforge/irrlicht/${MY_P}.zip
+HOMEPAGE="https://irrlicht.sourceforge.io/"
+SRC_URI="https://downloads.sourceforge.net/irrlicht/${MY_P}.zip
https://dev.gentoo.org/~mgorny/dist/${MY_P}-patchset.tar.bz2"
LICENSE="ZLIB"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~riscv x86"
RDEPEND="!<dev-games/irrlicht-1.8.4-r1"
BDEPEND="app-arch/unzip"
diff --git a/dev-games/irrlicht-headers/metadata.xml b/dev-games/irrlicht-headers/metadata.xml
index 5a340ad7a1cc..e9212f840b96 100644
--- a/dev-games/irrlicht-headers/metadata.xml
+++ b/dev-games/irrlicht-headers/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/irrlicht-mt-headers/Manifest b/dev-games/irrlicht-mt-headers/Manifest
new file mode 100644
index 000000000000..10aff65bbbca
--- /dev/null
+++ b/dev-games/irrlicht-mt-headers/Manifest
@@ -0,0 +1,2 @@
+DIST irrlicht-mt-1.9.0.10.tar.gz 898774 BLAKE2B 2b11aead4556127bff7c7f06d16a57632cf1758ad0ddf12e6d9346d80d13c0cd437ccade268db5bec25f8d62cfa61e9ecda07a98d0a82c18b548a1b520dccee2 SHA512 216221b5073d2b234b2d19658b30517c3abb2677c16e3a9b7fd31c15431bd2ffc047a68851c5bebf94aeb178d6b761a80c2f5744a7498cdac1d7b65fed139cc0
+DIST irrlicht-mt-1.9.0.13.tar.gz 754056 BLAKE2B 02e3a219c2cfbd0c383f70c5e82d06563e28b4ae3fb59d420bb570e38d8618b525db50ddb67fbb91182f64b0567f99caa517f9799c650be3c8cd98ce43a9bc76 SHA512 5226d78eaacf8b56eafbbb6359bfb6137f9d6a555a252224e33d39c0d219fcb7d0d29fd3828961eee37d55940f3aa6e767fea31c96fb772dd5eca3889f5ac16e
diff --git a/dev-games/irrlicht-mt-headers/irrlicht-mt-headers-1.9.0.10.ebuild b/dev-games/irrlicht-mt-headers/irrlicht-mt-headers-1.9.0.10.ebuild
new file mode 100644
index 000000000000..ca22218f7ec1
--- /dev/null
+++ b/dev-games/irrlicht-mt-headers/irrlicht-mt-headers-1.9.0.10.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN%-mt-headers}"
+MY_PV="$(ver_rs 3 'mt')"
+MY_P="${MY_PN}-${MY_PV}"
+# These two should be kept in sync with dev-games/irrlicht-mt
+SRC_PN="${PN%-headers}"
+SRC_P="${SRC_PN}-${PV}"
+
+DESCRIPTION="Header files for Minetest's fork of dev-games/irrlicht"
+HOMEPAGE="https://github.com/minetest/irrlicht"
+SRC_URI="https://github.com/minetest/${MY_PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${SRC_P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="!<dev-games/irrlicht-mt-1.9.0.4-r1"
+
+S="${WORKDIR}"/${MY_P}
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/include/${SRC_PN/-/}
+ doins include/*
+}
diff --git a/dev-games/irrlicht-mt-headers/irrlicht-mt-headers-1.9.0.13.ebuild b/dev-games/irrlicht-mt-headers/irrlicht-mt-headers-1.9.0.13.ebuild
new file mode 100644
index 000000000000..ca22218f7ec1
--- /dev/null
+++ b/dev-games/irrlicht-mt-headers/irrlicht-mt-headers-1.9.0.13.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN%-mt-headers}"
+MY_PV="$(ver_rs 3 'mt')"
+MY_P="${MY_PN}-${MY_PV}"
+# These two should be kept in sync with dev-games/irrlicht-mt
+SRC_PN="${PN%-headers}"
+SRC_P="${SRC_PN}-${PV}"
+
+DESCRIPTION="Header files for Minetest's fork of dev-games/irrlicht"
+HOMEPAGE="https://github.com/minetest/irrlicht"
+SRC_URI="https://github.com/minetest/${MY_PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${SRC_P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="!<dev-games/irrlicht-mt-1.9.0.4-r1"
+
+S="${WORKDIR}"/${MY_P}
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/include/${SRC_PN/-/}
+ doins include/*
+}
diff --git a/dev-games/irrlicht-mt-headers/metadata.xml b/dev-games/irrlicht-mt-headers/metadata.xml
new file mode 100644
index 000000000000..cd29c13fee92
--- /dev/null
+++ b/dev-games/irrlicht-mt-headers/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">minetest/irrlicht</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-games/irrlicht-mt/Manifest b/dev-games/irrlicht-mt/Manifest
new file mode 100644
index 000000000000..10aff65bbbca
--- /dev/null
+++ b/dev-games/irrlicht-mt/Manifest
@@ -0,0 +1,2 @@
+DIST irrlicht-mt-1.9.0.10.tar.gz 898774 BLAKE2B 2b11aead4556127bff7c7f06d16a57632cf1758ad0ddf12e6d9346d80d13c0cd437ccade268db5bec25f8d62cfa61e9ecda07a98d0a82c18b548a1b520dccee2 SHA512 216221b5073d2b234b2d19658b30517c3abb2677c16e3a9b7fd31c15431bd2ffc047a68851c5bebf94aeb178d6b761a80c2f5744a7498cdac1d7b65fed139cc0
+DIST irrlicht-mt-1.9.0.13.tar.gz 754056 BLAKE2B 02e3a219c2cfbd0c383f70c5e82d06563e28b4ae3fb59d420bb570e38d8618b525db50ddb67fbb91182f64b0567f99caa517f9799c650be3c8cd98ce43a9bc76 SHA512 5226d78eaacf8b56eafbbb6359bfb6137f9d6a555a252224e33d39c0d219fcb7d0d29fd3828961eee37d55940f3aa6e767fea31c96fb772dd5eca3889f5ac16e
diff --git a/dev-games/irrlicht-mt/files/irrlicht-mt-1.9.0.10-no_upstream_optflags.patch b/dev-games/irrlicht-mt/files/irrlicht-mt-1.9.0.10-no_upstream_optflags.patch
new file mode 100644
index 000000000000..3fa6884d56f8
--- /dev/null
+++ b/dev-games/irrlicht-mt/files/irrlicht-mt-1.9.0.10-no_upstream_optflags.patch
@@ -0,0 +1,12 @@
+--- a/source/Irrlicht/CMakeLists.txt
++++ b/source/Irrlicht/CMakeLists.txt
+@@ -14,9 +14,6 @@
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+ if(CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|Clang|AppleClang)$")
+- set(CMAKE_CXX_FLAGS_RELEASE "-O3")
+- set(CMAKE_CXX_FLAGS_DEBUG "-g")
+-
+ add_compile_options(-Wall -pipe -fno-exceptions -fno-rtti)
+
+ # Enable SSE for floating point math on 32-bit x86 by default
diff --git a/dev-games/irrlicht-mt/irrlicht-mt-1.9.0.10-r1.ebuild b/dev-games/irrlicht-mt/irrlicht-mt-1.9.0.10-r1.ebuild
new file mode 100644
index 000000000000..aabef13c265f
--- /dev/null
+++ b/dev-games/irrlicht-mt/irrlicht-mt-1.9.0.10-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_PN="${PN%-mt}"
+MY_PV="$(ver_rs 3 'mt')"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="Minetest's fork of dev-games/irrlicht"
+HOMEPAGE="https://github.com/minetest/irrlicht"
+SRC_URI="https://github.com/minetest/${MY_PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="~dev-games/irrlicht-mt-headers-${PV}
+ media-libs/libpng:0=
+ sys-libs/zlib
+ media-libs/libjpeg-turbo
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libXxf86vm"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9.0.10-no_upstream_optflags.patch
+)
+
+S="${WORKDIR}"/${MY_P}
+
+src_install() {
+ cmake_src_install
+
+ # We package these separately
+ rm -r "${ED}"/usr/include/${PN/-/} || die "Failed to exclude header files from installation"
+}
diff --git a/dev-games/irrlicht-mt/irrlicht-mt-1.9.0.13.ebuild b/dev-games/irrlicht-mt/irrlicht-mt-1.9.0.13.ebuild
new file mode 100644
index 000000000000..aabef13c265f
--- /dev/null
+++ b/dev-games/irrlicht-mt/irrlicht-mt-1.9.0.13.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_PN="${PN%-mt}"
+MY_PV="$(ver_rs 3 'mt')"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="Minetest's fork of dev-games/irrlicht"
+HOMEPAGE="https://github.com/minetest/irrlicht"
+SRC_URI="https://github.com/minetest/${MY_PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="~dev-games/irrlicht-mt-headers-${PV}
+ media-libs/libpng:0=
+ sys-libs/zlib
+ media-libs/libjpeg-turbo
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libXxf86vm"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9.0.10-no_upstream_optflags.patch
+)
+
+S="${WORKDIR}"/${MY_P}
+
+src_install() {
+ cmake_src_install
+
+ # We package these separately
+ rm -r "${ED}"/usr/include/${PN/-/} || die "Failed to exclude header files from installation"
+}
diff --git a/dev-games/irrlicht-mt/metadata.xml b/dev-games/irrlicht-mt/metadata.xml
new file mode 100644
index 000000000000..cd29c13fee92
--- /dev/null
+++ b/dev-games/irrlicht-mt/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">minetest/irrlicht</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-games/irrlicht/files/irrlicht-1.8.4-drop-register.patch b/dev-games/irrlicht/files/irrlicht-1.8.4-drop-register.patch
new file mode 100644
index 000000000000..532b14f2503e
--- /dev/null
+++ b/dev-games/irrlicht/files/irrlicht-1.8.4-drop-register.patch
@@ -0,0 +1,33 @@
+Bug: https://bugs.gentoo.org/894764
+
+--- a/source/Irrlicht/CColorConverter.cpp
++++ b/source/Irrlicht/CColorConverter.cpp
+@@ -165,7 +165,7 @@
+ out += lineWidth * height;
+
+ u32 x;
+- register u32 c;
++ u32 c;
+ for (u32 y=0; y < (u32) height; ++y)
+ {
+ if (flip)
+--- a/source/Irrlicht/CMY3DHelper.h
++++ b/source/Irrlicht/CMY3DHelper.h
+@@ -269,7 +269,7 @@
+ unsigned char *out_buf, int out_buf_size)
+ {
+ // we start out with 3 repeating bytes
+- register int len = 3;
++ int len = 3;
+
+ unsigned char ch;
+
+@@ -328,7 +328,7 @@
+ //-----------------------------------------------------------
+ void flush_outbuf(unsigned char *out_buf, int out_buf_size)
+ {
+- register int pos=0;
++ int pos=0;
+
+ if(!outbuf_cnt)
+ return; // nothing to do */
diff --git a/dev-games/irrlicht/irrlicht-1.8.4-r1.ebuild b/dev-games/irrlicht/irrlicht-1.8.4-r2.ebuild
index 93fb56f1380e..e41ea71fe755 100644
--- a/dev-games/irrlicht/irrlicht-1.8.4-r1.ebuild
+++ b/dev-games/irrlicht/irrlicht-1.8.4-r2.ebuild
@@ -1,24 +1,28 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit eutils toolchain-funcs
+EAPI=8
+
+inherit toolchain-funcs
DESCRIPTION="open source high performance realtime 3D engine written in C++"
-HOMEPAGE="http://irrlicht.sourceforge.net/"
-SRC_URI="mirror://sourceforge/irrlicht/${P}.zip
+HOMEPAGE="https://irrlicht.sourceforge.io/"
+SRC_URI="
+ https://downloads.sourceforge.net/irrlicht/${P}.zip
https://dev.gentoo.org/~mgorny/dist/${P}-patchset.tar.bz2"
+S="${WORKDIR}/${P}/source/${PN^}"
LICENSE="ZLIB"
SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="debug doc static-libs"
+KEYWORDS="amd64 ~riscv x86"
+IUSE="debug doc"
-RDEPEND="app-arch/bzip2
+RDEPEND="
+ app-arch/bzip2
~dev-games/irrlicht-headers-${PV}
- media-libs/libpng:0=
- sys-libs/zlib
- virtual/jpeg:0
+ media-libs/libpng:=
+ sys-libs/zlib:=
+ media-libs/libjpeg-turbo:=
virtual/opengl
x11-libs/libX11
x11-libs/libXxf86vm"
@@ -26,14 +30,13 @@ DEPEND="${RDEPEND}
x11-base/xorg-proto"
BDEPEND="app-arch/unzip"
-S=${WORKDIR}/${P}/source/${PN^}
-
PATCHES=(
"${WORKDIR}"/${P}-patchset/${P}-gentoo.patch
"${WORKDIR}"/${P}-patchset/${P}-demoMake.patch
"${WORKDIR}"/${P}-patchset/${P}-mesa-10.x.patch
"${WORKDIR}"/${P}-patchset/${P}-jpeg-9a.patch
- "${FILESDIR}/${P}-remove-sys-sysctl.h.patch"
+ "${FILESDIR}"/${P}-remove-sys-sysctl.h.patch
+ "${FILESDIR}"/${P}-drop-register.patch
)
DOCS=( changes.txt readme.txt )
@@ -62,13 +65,12 @@ src_prepare() {
src_compile() {
tc-export CXX CC AR
- emake NDEBUG=$(usex debug "" "1") sharedlib $(usex static-libs "staticlib" "")
+ emake NDEBUG=$(usev !debug 1) sharedlib
}
src_install() {
cd "${WORKDIR}"/${P} || die
- use static-libs && dolib.a lib/Linux/libIrrlicht.a
dolib.so lib/Linux/libIrrlicht.so*
# create library symlinks
@@ -78,7 +80,5 @@ src_install() {
einstalldocs
# don't do these with einstalldocs because they shouldn't be compressed
- if use doc ; then
- dodoc -r examples media
- fi
+ use doc && dodoc -r examples media
}
diff --git a/dev-games/irrlicht/metadata.xml b/dev-games/irrlicht/metadata.xml
index d7f0def17f75..a9927208b49e 100644
--- a/dev-games/irrlicht/metadata.xml
+++ b/dev-games/irrlicht/metadata.xml
@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
<longdescription>
-The Irrlicht Engine is an open source high performance realtime 3D engine written in
-C++. It is completely cross-platform, using D3D, OpenGL and its own software renderer,
-and has all of the state-of-the-art features which can be found in commercial 3d
-engines.
-We've got a huge active community, and there are lots of games in development that use
-the engine. You can find enhancements for Irrlicht all over the web, like alternative
-terrain renderers, portal renderers, world layers, tutorials, editors, bindings for
-perl, ruby, python, and so on. And best of all: It's completely free.
-</longdescription>
+ The Irrlicht Engine is an open source high performance realtime 3D engine written in
+ C++. It is completely cross-platform, using D3D, OpenGL and its own software renderer,
+ and has all of the state-of-the-art features which can be found in commercial 3d
+ engines.
+ We've got a huge active community, and there are lots of games in development that use
+ the engine. You can find enhancements for Irrlicht all over the web, like alternative
+ terrain renderers, portal renderers, world layers, tutorials, editors, bindings for
+ perl, ruby, python, and so on. And best of all: It's completely free.
+ </longdescription>
<upstream>
<remote-id type="sourceforge">irrlicht</remote-id>
</upstream>
diff --git a/dev-games/libmaitretarot/files/libmaitretarot-0.1.98-libdir.patch b/dev-games/libmaitretarot/files/libmaitretarot-0.1.98-libdir.patch
new file mode 100644
index 000000000000..635ba1e437fa
--- /dev/null
+++ b/dev-games/libmaitretarot/files/libmaitretarot-0.1.98-libdir.patch
@@ -0,0 +1,18 @@
+https://bugs.gentoo.org/729734
+
+--- a/libmaitretarot.m4
++++ b/libmaitretarot.m4
+@@ -9,10 +9,10 @@ AC_DEFUN([AM_LIB_MAITRETAROT],
+ --with-libmaitretarot path to libmaitretarot libraries,
+ [
+ LIBMT_CFLAGS="-I${withval}/include"
+- LIBMT_LIBS="-L${withval}/lib -lmaitretarot"
++ LIBMT_LIBS="-L${withval}/${libdir} -lmaitretarot"
+ ],[
+- LIBMT_CFLAGS="-I/usr/local/include -I/usr/include"
+- LIBMT_LIBS="-L/usr/local/lib -L/usr/lib -lmaitretarot"
++ LIBMT_CFLAGS="-I/usr/include"
++ LIBMT_LIBS="-L${libdir} -lmaitretarot"
+ ])
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ ac_save_CFLAGS="$CFLAGS"
diff --git a/dev-games/libmaitretarot/libmaitretarot-0.1.98-r2.ebuild b/dev-games/libmaitretarot/libmaitretarot-0.1.98-r2.ebuild
new file mode 100644
index 000000000000..2004dba61357
--- /dev/null
+++ b/dev-games/libmaitretarot/libmaitretarot-0.1.98-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="backend library for the maitretarot games"
+HOMEPAGE="http://www.nongnu.org/maitretarot/"
+SRC_URI="https://savannah.nongnu.org/download/maitretarot/${PN}.pkg/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="dev-libs/glib:2
+ dev-libs/libxml2"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.1.98-libdir.patch
+)
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ # Needed for consumers like dev-games/libmt_client
+ # bug #729734
+ insinto /usr/share/aclocal
+ doins libmaitretarot.m4
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-games/libmaitretarot/libmaitretarot-0.1.98.ebuild b/dev-games/libmaitretarot/libmaitretarot-0.1.98.ebuild
deleted file mode 100644
index 82da3cb36b6c..000000000000
--- a/dev-games/libmaitretarot/libmaitretarot-0.1.98.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-DESCRIPTION="backend library for the maitretarot games"
-HOMEPAGE="http://www.nongnu.org/maitretarot/"
-SRC_URI="https://savannah.nongnu.org/download/maitretarot/${PN}.pkg/${PV}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="dev-libs/glib:2
- dev-libs/libxml2"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
diff --git a/dev-games/libmaitretarot/metadata.xml b/dev-games/libmaitretarot/metadata.xml
index 64ab523b4aaf..57e55403df14 100644
--- a/dev-games/libmaitretarot/metadata.xml
+++ b/dev-games/libmaitretarot/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/libmt_client/files/libmt_client-0.1.98-format.patch b/dev-games/libmt_client/files/libmt_client-0.1.98-format.patch
index 5173853849cc..76c329d388d6 100644
--- a/dev-games/libmt_client/files/libmt_client-0.1.98-format.patch
+++ b/dev-games/libmt_client/files/libmt_client-0.1.98-format.patch
@@ -1,5 +1,5 @@
---- src/mt_client_game.c.old 2015-12-22 08:51:19.858561807 +0100
-+++ src/mt_client_game.c 2015-12-22 08:52:48.934904973 +0100
+--- a/src/mt_client_game.c
++++ b/src/mt_client_game.c
@@ -56,7 +56,7 @@
}
else
diff --git a/dev-games/libmt_client/files/libmt_client-0.1.98-libdir.patch b/dev-games/libmt_client/files/libmt_client-0.1.98-libdir.patch
new file mode 100644
index 000000000000..cc56eb09be45
--- /dev/null
+++ b/dev-games/libmt_client/files/libmt_client-0.1.98-libdir.patch
@@ -0,0 +1,18 @@
+https://bugs.gentoo.org/729734
+
+--- a/libmt_client.m4
++++ b/libmt_client.m4
+@@ -9,10 +9,10 @@ AC_DEFUN([AM_LIB_MT_CLIENT],
+ --with-libmt_client path to libmt_client libraries,
+ [
+ LIBMT_CFLAGS="-I${withval}/include"
+- LIBMT_LIBS="-L${withval}/lib -lmt_client"
++ LIBMT_LIBS="-L${withval}/${libdir} -lmt_client"
+ ],[
+- LIBMT_CFLAGS="-I/usr/local/include -I/usr/include"
+- LIBMT_LIBS="-L/usr/local/lib -L/usr/lib -lmt_client"
++ LIBMT_CFLAGS="-I/usr/include"
++ LIBMT_LIBS="-L${libdir} -lmt_client"
+ ])
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ ac_save_CFLAGS="$CFLAGS"
diff --git a/dev-games/libmt_client/libmt_client-0.1.98-r1.ebuild b/dev-games/libmt_client/libmt_client-0.1.98-r1.ebuild
new file mode 100644
index 000000000000..997ade02a0e2
--- /dev/null
+++ b/dev-games/libmt_client/libmt_client-0.1.98-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="backend library for the maitretarot clients"
+HOMEPAGE="http://www.nongnu.org/maitretarot/"
+
+SRC_URI="https://savannah.nongnu.org/download/maitretarot/${PN}.pkg/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-libs/glib:2
+ dev-libs/libxml2
+ dev-games/libmaitretarot"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-format.patch
+ "${FILESDIR}"/${PN}-0.1.98-libdir.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+
+ # For the m4 libdir patch, bug #729734
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ # bug #716102
+ insinto /usr/share/aclocal
+ doins libmt_client.m4
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-games/libmt_client/libmt_client-0.1.98.ebuild b/dev-games/libmt_client/libmt_client-0.1.98.ebuild
deleted file mode 100644
index 46c1e6efde71..000000000000
--- a/dev-games/libmt_client/libmt_client-0.1.98.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils
-
-DESCRIPTION="backend library for the maitretarot clients"
-HOMEPAGE="http://www.nongnu.org/maitretarot/"
-SRC_URI="https://savannah.nongnu.org/download/maitretarot/${PN}.pkg/${PV}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND="dev-libs/glib:2
- dev-libs/libxml2
- dev-games/libmaitretarot"
-RDEPEND=${DEPEND}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-format.patch
-}
diff --git a/dev-games/libmt_client/metadata.xml b/dev-games/libmt_client/metadata.xml
index 64ab523b4aaf..57e55403df14 100644
--- a/dev-games/libmt_client/metadata.xml
+++ b/dev-games/libmt_client/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/libnw/libnw-1.30.02-r1.ebuild b/dev-games/libnw/libnw-1.30.02-r1.ebuild
new file mode 100644
index 000000000000..70e02dd86931
--- /dev/null
+++ b/dev-games/libnw/libnw-1.30.02-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Tools and libraries for NWN file manipulation"
+HOMEPAGE="https://sourceforge.net/projects/openknights"
+SRC_URI="https://downloads.sourceforge.net/openknights/${P}.tar.gz"
+
+LICENSE="openknights"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="!sci-biology/newick-utils"
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex"
+
+DOCS=( AUTHORS ChangeLog NEWS README README.tech TODO )
+
+src_prepare() {
+ default
+ eautoreconf
+
+}
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/855314
+ #
+ # Sourceforge software dead since 2006, no point reporting anything.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ default
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-games/libnw/libnw-1.30.02.ebuild b/dev-games/libnw/libnw-1.30.02.ebuild
deleted file mode 100644
index 7cd617c7c93e..000000000000
--- a/dev-games/libnw/libnw-1.30.02.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit toolchain-funcs
-
-DESCRIPTION="Tools and libraries for NWN file manipulation"
-HOMEPAGE="http://openknights.sourceforge.net/"
-SRC_URI="mirror://sourceforge/openknights/${P}.tar.gz"
-
-LICENSE="openknights"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND="sys-devel/bison
- sys-devel/flex"
-RDEPEND="!sci-biology/newick-utils"
-
-src_prepare() {
- sed -i \
- -e '/^CC =/d' \
- -e '/^CXX =/d' \
- $(find . -name Makefile.in) || die
- tc-export CC CXX
-}
-
-src_install() {
- DOCS="AUTHORS ChangeLog NEWS README README.tech TODO" \
- default
-}
diff --git a/dev-games/libnw/metadata.xml b/dev-games/libnw/metadata.xml
index 2429b89627b6..7820d773b507 100644
--- a/dev-games/libnw/metadata.xml
+++ b/dev-games/libnw/metadata.xml
@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
<longdescription>
-libnw - libnw's aim is to provide platform-independent routines for the low- and
-mid-level manipulation of NWN resources, as members of game data files, modules, hak
-paks, export files, or stand alone. As a side effect, command-line programs are
-often produced to exercise portions of the library. Ultimately, these routines are
-intended to be assembled along with some form of GUI to make an equivalent to
-BioWare's Aurora Toolset.
-libnw is very much a work in progress, coded in C, and initially developed on ia32
-hardware running GNU/Linux. Members of the OK Project have assisted in porting the
-code to Mac OS X, as well.
-</longdescription>
+ libnw - libnw's aim is to provide platform-independent routines for the low- and
+ mid-level manipulation of NWN resources, as members of game data files, modules, hak
+ paks, export files, or stand alone. As a side effect, command-line programs are
+ often produced to exercise portions of the library. Ultimately, these routines are
+ intended to be assembled along with some form of GUI to make an equivalent to
+ BioWare's Aurora Toolset.
+ libnw is very much a work in progress, coded in C, and initially developed on ia32
+ hardware running GNU/Linux. Members of the OK Project have assisted in porting the
+ code to Mac OS X, as well.
+ </longdescription>
<upstream>
<remote-id type="sourceforge">openknights</remote-id>
</upstream>
diff --git a/dev-games/libsmacker/Manifest b/dev-games/libsmacker/Manifest
new file mode 100644
index 000000000000..99b51a6c2d93
--- /dev/null
+++ b/dev-games/libsmacker/Manifest
@@ -0,0 +1,2 @@
+DIST libsmacker-1.1.1_p35.tar.gz 27554 BLAKE2B d8735518d2e6c6dc2b03d5781fb7d58862ff59c7452e91eeea913c619ff4e22b9b01f5cc1512329a1678406f98844c09125caede1a963b0c690bfc8f6a60e367 SHA512 beeece71fe35a9d2554e082245f1f600e211f1431c2162c83d6bd1b378867f211f5687ad359ed5e035c0376cfa28a58651532f1dc58863fae8e0da4540283c33
+DIST libsmacker-1.2.0_p43.tar.gz 27766 BLAKE2B 783b05a66fbf5b0b1344e0b00e06a3edce3eb8c30e189d343869eb8866266ea9204ab1d1821f1f455f63fb365622630cb5da042a1b6650a7d166d5c62d217ac9 SHA512 1785b000884a6f93b621c1503adef100ac9b8c6e7ed5ef4d85b9ea4819715c40f9af3d930490b33ca079f531103acc69de2a800756ed7678c820ff155f86aaeb
diff --git a/dev-games/libsmacker/libsmacker-1.1.1_p35.ebuild b/dev-games/libsmacker/libsmacker-1.1.1_p35.ebuild
new file mode 100644
index 000000000000..08c6610cd2af
--- /dev/null
+++ b/dev-games/libsmacker/libsmacker-1.1.1_p35.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="A cross-platform C library for decoding .smk Smacker Video files"
+HOMEPAGE="http://libsmacker.sourceforge.net"
+SRC_URI="https://sourceforge.net/projects/libsmacker/files/libsmacker-$(ver_cut 1-2)/${P/_p/r}.tar.gz/download -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-$(ver_cut 1-3)"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ default
+
+ # No .la files or static libraries
+ find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-games/libsmacker/libsmacker-1.2.0_p43.ebuild b/dev-games/libsmacker/libsmacker-1.2.0_p43.ebuild
new file mode 100644
index 000000000000..1d6aaad106b5
--- /dev/null
+++ b/dev-games/libsmacker/libsmacker-1.2.0_p43.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A cross-platform C library for decoding .smk Smacker Video files."
+HOMEPAGE="http://libsmacker.sourceforge.net"
+SRC_URI="https://sourceforge.net/projects/libsmacker/files/libsmacker-$(ver_cut 1-2)/${P/_p/r}.tar.gz/download -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-$(ver_cut 1-3)"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ default
+
+ insinto /usr/include
+ doins smacker.h
+
+ # No .la files or static libraries
+ find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-games/libsmacker/metadata.xml b/dev-games/libsmacker/metadata.xml
new file mode 100644
index 000000000000..2dd9053e71be
--- /dev/null
+++ b/dev-games/libsmacker/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>misanthropos@gmx.net</email>
+ <name>Richard Fröhning</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">libsmacker</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-games/mercator/Manifest b/dev-games/mercator/Manifest
deleted file mode 100644
index 513773da5827..000000000000
--- a/dev-games/mercator/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST mercator-0.3.3.tar.gz 436499 BLAKE2B da807a954e83da39c52b88cfec4ee9c61cff98e6cf71b9c0d0f18540e07811b5d6512ed8b48441c7512f6f6f5c223fa030efe7fb4fca65a750beb0ab3b950e6b SHA512 d8f0bcec904c77ceaadd11474a4a83ec4d5e5086f0c878b147b00f3fb3ef2ae6596553d2d4548f943aa280672dde938d34f4d231782b10149190f5d8029e039a
diff --git a/dev-games/mercator/mercator-0.3.3.ebuild b/dev-games/mercator/mercator-0.3.3.ebuild
deleted file mode 100644
index ad2b19b766a0..000000000000
--- a/dev-games/mercator/mercator-0.3.3.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils ltprune
-
-DESCRIPTION="WorldForge library primarily aimed at terrain"
-HOMEPAGE="https://www.worldforge.org/index.php/components/mercator/"
-SRC_URI="mirror://sourceforge/worldforge/${P}.tar.gz"
-
-LICENSE="GPL-2"
-KEYWORDS="amd64 x86"
-IUSE="doc"
-SLOT="0"
-
-RDEPEND=">=dev-games/wfmath-1"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- virtual/pkgconfig"
-
-src_compile() {
- default
- use doc && emake docs
-}
-
-src_install() {
- default
- use doc && dohtml -r doc/html/*
- prune_libtool_files
-}
diff --git a/dev-games/mercator/metadata.xml b/dev-games/mercator/metadata.xml
deleted file mode 100644
index 4b1795998d19..000000000000
--- a/dev-games/mercator/metadata.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>games@gentoo.org</email>
- <name>Gentoo Games Project</name>
- </maintainer>
- <longdescription lang="en">
-Mercator is primarily aimed at terrain for multiplayer online games and forms
-one of the WorldForge core libraries. It is intended to be used as a terrain
-library on the client, while a subset of features are useful on the server.
-
-Mercator is designed in such a way that individual tiles can be generated
-on-the-fly from a very small source data set. Each tile uses a fast
-deterministic random number generation to ensure that identical results are
-produced "anytime, anywhere". This enables transmission of terrain across low
-bandwidth links as part of the standard data stream, or server side collision
-detection with the same terrain that the player sees.
-
-The use of tiles means that there is inherently a large degree of gross control
-of the shape of the terrain. Finer control is implemented by allowing geometric
-modifications - for example, a polygonal area might be flattened, or a crater
-could be applied.
-</longdescription>
- <upstream>
- <remote-id type="sourceforge">worldforge</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-games/metadata.xml b/dev-games/metadata.xml
index b9454811d16e..70efa2020e17 100644
--- a/dev-games/metadata.xml
+++ b/dev-games/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<catmetadata>
<longdescription lang="en">
The dev-games category contains libraries and utilities relevant to
@@ -40,4 +40,3 @@
programowaniem gier.
</longdescription>
</catmetadata>
-
diff --git a/dev-games/mygui/Manifest b/dev-games/mygui/Manifest
index 0a6549d14952..0be3a4c3b634 100644
--- a/dev-games/mygui/Manifest
+++ b/dev-games/mygui/Manifest
@@ -1,2 +1,2 @@
-DIST MyGUI3.2.2.tar.gz 22081236 BLAKE2B 3a28e0838a8203d20565822d5a19423a733149cca250dc4169de43f22beb7d37fccbf3d282ea9b4f284cb71df2df9a9073bac40124e1d8a90d15c5fda2af798a SHA512 1290ce1d78b9e4bfe72bea3fb1bc6cdd25969b44be2844df62a1f425b3e221a68b61658fdf45271fb50a1957f12b5ada1c9be971e00ecfe41f53ae0a83ae18d4
-DIST mygui-3.4.0.tar.gz 22391483 BLAKE2B 5628cca98625285368b9363acd95e541e1ba7d86fd1d471f687c553d0f0abd9ccb2f47981cf0bb91f44a68489bb7ec3fbcb451734758e2435ab9ef320214465a SHA512 3f560fd9c7e5b514da40e41c7753dc20649f80b763f5ee20afc9627df3be14242ea833eff09eac16b9e88b1c9fbed7c09def0c5068c832e710c247191fb53487
+DIST mygui-3.4.1.tar.gz 22433198 BLAKE2B 400f88a63df1bff5554236a0aeb58218fdb6100aa84f9eb1ac111adabfa45ae7eb1c3124bb04f3ef57587566e716d3242daa9cb5866d7ccc43a56c9605952411 SHA512 9d36272345b1a755db88848c8a0919feb6f8ae09d048efa3b8ed833bb5ddb9c65e1e7e0d26ad39eecd2a4de53fb654f4099c555e9ebd21ce9541a1a74580ef05
+DIST mygui-3.4.3.tar.gz 18797995 BLAKE2B 8329e63bdef7201f6a810fd5f4d85e36e0cf48f74f769c4e0f7c026ccae397274debe49ad71ba4a30d251cfba00ee99bcf73ed7424d4f878d769793aef985cf1 SHA512 88c69ca2e706af364b72d425f95013eb285501881d8094f8d67e31a54c45ca11b0eb5b62c382af0d4c43f69aa8197648259ac306b72efa7ef3e25eecb9b039cb
diff --git a/dev-games/mygui/files/mygui-3.2.2-build.patch b/dev-games/mygui/files/mygui-3.2.2-build.patch
deleted file mode 100644
index a16b27c285b7..000000000000
--- a/dev-games/mygui/files/mygui-3.2.2-build.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff -ru mygui-MyGUI3.2.2.orig/CMake/ConfigureBuild.cmake mygui-MyGUI3.2.2/CMake/ConfigureBuild.cmake
---- mygui-MyGUI3.2.2.orig/CMake/ConfigureBuild.cmake 2015-01-26 10:32:35.000000000 -0500
-+++ mygui-MyGUI3.2.2/CMake/ConfigureBuild.cmake 2015-03-14 01:09:40.743621643 -0400
-@@ -4,6 +4,8 @@
- # also prepare package files for pkg-config and CMake.
- #######################################################################
-
-+include(GNUInstallDirs)
-+
- # should we build static libs?
- if (MYGUI_STATIC)
- set(MYGUI_LIB_TYPE STATIC)
-@@ -47,7 +49,7 @@
- else ()
- configure_file(${MYGUI_TEMPLATES_DIR}/MYGUI.pc.in ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc @ONLY)
- endif ()
-- install(FILES ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc DESTINATION lib/pkgconfig)
-+ install(FILES ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-
- # configure additional packages
-
-diff -ru mygui-MyGUI3.2.2.orig/CMake/Utils/MyGUIConfigTargets.cmake mygui-MyGUI3.2.2/CMake/Utils/MyGUIConfigTargets.cmake
---- mygui-MyGUI3.2.2.orig/CMake/Utils/MyGUIConfigTargets.cmake 2015-01-26 10:32:35.000000000 -0500
-+++ mygui-MyGUI3.2.2/CMake/Utils/MyGUIConfigTargets.cmake 2015-03-14 01:08:44.905791784 -0400
-@@ -1,6 +1,8 @@
- # Configure settings and install targets
- # FIXME: Copypasted from Ogre and need lots of changes
-
-+include(GNUInstallDirs)
-+
- if (WIN32)
- set(MYGUI_RELEASE_PATH "/Release")
- set(MYGUI_RELWDBG_PATH "/RelWithDebInfo")
-@@ -60,6 +62,12 @@
- # install targets according to current build type
- function(mygui_install_target TARGETNAME SUFFIX)
- install(TARGETS ${TARGETNAME}
-+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" CONFIGURATIONS Gentoo ""
-+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" CONFIGURATIONS Gentoo ""
-+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" CONFIGURATIONS Gentoo ""
-+ FRAMEWORK DESTINATION "${MYGUI_FRAMEWORK_PATH}" CONFIGURATIONS Gentoo ""
-+ )
-+ install(TARGETS ${TARGETNAME}
- RUNTIME DESTINATION "bin${MYGUI_RELEASE_PATH}" CONFIGURATIONS Release None ""
- LIBRARY DESTINATION "lib${MYGUI_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
- ARCHIVE DESTINATION "lib${MYGUI_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
-@@ -171,7 +179,13 @@
- endif ()
- add_executable(${PROJECTNAME} ${MYGUI_EXEC_TYPE} ${HEADER_FILES} ${SOURCE_FILES})
- endif ()
-- set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER})
-+
-+ # rename demo target^M
-+ if (${SOLUTIONFOLDER} STREQUAL "Demos")
-+ set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER} OUTPUT_NAME MYGUI-${PROJECTNAME})
-+ else()
-+ set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER})
-+ endif()
-
- add_dependencies(${PROJECTNAME} MyGUIEngine Common)
-
diff --git a/dev-games/mygui/files/mygui-3.2.2-underlinking.patch b/dev-games/mygui/files/mygui-3.2.2-underlinking.patch
deleted file mode 100644
index 2d1026856f03..000000000000
--- a/dev-games/mygui/files/mygui-3.2.2-underlinking.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From: Julian Ospald <hasufell@gentoo.org>
-Date: Fri Jun 15 10:42:42 UTC 2012
-Subject: build system
-
-fix underlinking
-
---- MyGUIEngine/CMakeLists.txt
-+++ MyGUIEngine/CMakeLists.txt
-@@ -48,7 +48,10 @@
- if (MYGUI_USE_FREETYPE)
- target_link_libraries(${PROJECTNAME}
- ${FREETYPE_LIBRARIES}
-- )
-+ dl)
-+else()
-+ target_link_libraries(${PROJECTNAME}
-+ dl)
- endif()
-
- # platform specific dependencies
diff --git a/dev-games/mygui/files/mygui-3.4.0-underlinking.patch b/dev-games/mygui/files/mygui-3.4.0-underlinking.patch
deleted file mode 100644
index 1dcf2dbbbfda..000000000000
--- a/dev-games/mygui/files/mygui-3.4.0-underlinking.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Julian Ospald <hasufell@gentoo.org>
-Date: Fri Jun 15 10:42:42 UTC 2012
-Subject: build system
-
-fix underlinking
-
-diff --git a/MyGUIEngine/CMakeLists.txt b/MyGUIEngine/CMakeLists.txt
---- a/MyGUIEngine/CMakeLists.txt
-+++ b/MyGUIEngine/CMakeLists.txt
-@@ -44,7 +44,10 @@ if (MYGUI_USE_FREETYPE)
- target_link_libraries(${PROJECTNAME}
- ${FREETYPE_LIBRARIES}
- ${ZLIB_LIBRARIES}
-- )
-+ dl)
-+else()
-+ target_link_libraries(${PROJECTNAME}
-+ dl)
- endif()
-
- # platform specific dependencies
diff --git a/dev-games/mygui/files/mygui-3.2.2-FHS.patch b/dev-games/mygui/files/mygui-3.4.1-FHS.patch
index 14d21626ff7b..b6d7bbe8e327 100644
--- a/dev-games/mygui/files/mygui-3.2.2-FHS.patch
+++ b/dev-games/mygui/files/mygui-3.4.1-FHS.patch
@@ -24,21 +24,4 @@ paths hardcoded until upstream fixed the logic
else ()
set(MYGUI_MEDIA_DIR "../../Media")
endif ()
---- mygui-MyGUI3.2.2.orig/Common/Base/Ogre/BaseManager.cpp
-+++ mygui-MyGUI3.2.2/Common/Base/Ogre/BaseManager.cpp
-@@ -49,13 +49,13 @@
- mWindow(nullptr),
- mExit(false),
- mPluginCfgName("plugins.cfg"),
-- mResourceXMLName("resources.xml"),
-+ mResourceXMLName("/etc/MYGUI/resources.xml"),
- mResourceFileName("MyGUI_Core.xml")
- {
- #if MYGUI_PLATFORM == MYGUI_PLATFORM_APPLE
- mResourcePath = macBundlePath() + "/Contents/Resources/";
- #else
-- mResourcePath = "";
-+ mResourcePath = "/etc/MYGUI/";
- #endif
- }
diff --git a/dev-games/mygui/files/mygui-3.4.0-build.patch b/dev-games/mygui/files/mygui-3.4.1-build.patch
index 71ed87d8bcb8..5729be5d4380 100644
--- a/dev-games/mygui/files/mygui-3.4.0-build.patch
+++ b/dev-games/mygui/files/mygui-3.4.1-build.patch
@@ -10,15 +10,6 @@ diff --git a/CMake/ConfigureBuild.cmake b/CMake/ConfigureBuild.cmake
# should we build static libs?
if (MYGUI_STATIC)
set(MYGUI_LIB_TYPE STATIC)
-@@ -47,7 +49,7 @@ if (UNIX)
- else ()
- configure_file(${MYGUI_TEMPLATES_DIR}/MYGUI.pc.in ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc @ONLY)
- endif ()
-- install(FILES ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc DESTINATION lib/pkgconfig)
-+ install(FILES ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-
- # configure additional packages
-
diff --git a/CMake/Utils/MyGUIConfigTargets.cmake b/CMake/Utils/MyGUIConfigTargets.cmake
--- a/CMake/Utils/MyGUIConfigTargets.cmake
+++ b/CMake/Utils/MyGUIConfigTargets.cmake
diff --git a/dev-games/mygui/files/mygui-3.4.1-gcc13.patch b/dev-games/mygui/files/mygui-3.4.1-gcc13.patch
new file mode 100644
index 000000000000..542df19bcfc5
--- /dev/null
+++ b/dev-games/mygui/files/mygui-3.4.1-gcc13.patch
@@ -0,0 +1,23 @@
+https://github.com/MyGUI/mygui/pull/249
+
+From f97c85b4e096379f728700d61c2f5780043dfc0a Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Tue, 18 Apr 2023 12:29:08 +0100
+Subject: [PATCH] Fix build with GCC 13
+
+GCC 13 (as usual for new compiler releases) shuffles around some internal includes so some
+are no longer transitively included.
+
+See https://gnu.org/software/gcc/gcc-13/porting_to.html.
+
+Bug: https://bugs.gentoo.org/895098
+--- a/MyGUIEngine/include/MyGUI_Types.h
++++ b/MyGUIEngine/include/MyGUI_Types.h
+@@ -9,6 +9,7 @@
+
+ #include "MyGUI_Prerequest.h"
+
++#include <cstdint>
+ #include <vector>
+ #include <map>
+ #include <string>
diff --git a/dev-games/mygui/files/mygui-3.4.3-werror.patch b/dev-games/mygui/files/mygui-3.4.3-werror.patch
new file mode 100644
index 000000000000..d001c9e48baf
--- /dev/null
+++ b/dev-games/mygui/files/mygui-3.4.3-werror.patch
@@ -0,0 +1,12 @@
+Remove -Werror
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -174,7 +174,6 @@ include(Dependencies)
+
+ # Set compiler specific build flags
+ if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel")
+- add_compile_options(-Werror)
+ if (NOT MYGUI_HIGH_LEVEL_WARNINGS)
+ add_compile_options(-w)
+ else ()
diff --git a/dev-games/mygui/metadata.xml b/dev-games/mygui/metadata.xml
index 9c40bc645ee4..24fe1f1c9e2e 100644
--- a/dev-games/mygui/metadata.xml
+++ b/dev-games/mygui/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/mygui/mygui-3.4.0.ebuild b/dev-games/mygui/mygui-3.4.1-r1.ebuild
index 896d211683f2..749f0fb91765 100644
--- a/dev-games/mygui/mygui-3.4.0.ebuild
+++ b/dev-games/mygui/mygui-3.4.1-r1.ebuild
@@ -1,11 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-CMAKE_REMOVE_MODULES="yes"
CMAKE_REMOVE_MODULES_LIST="FindFreetype"
-inherit cmake-utils flag-o-matic multilib
+inherit cmake flag-o-matic
MY_PN=MyGUI
MY_P=${MY_PN}${PV}
@@ -16,8 +15,8 @@ SRC_URI="https://github.com/MyGUI/mygui/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc +ogre -opengl plugins samples static-libs test tools l10n_ru"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="debug doc +ogre opengl plugins samples static-libs test tools l10n_ru"
RESTRICT="!test? ( test )"
REQUIRED_USE="ogre? ( !opengl )
opengl? ( !ogre )"
@@ -25,7 +24,7 @@ REQUIRED_USE="ogre? ( !opengl )
RDEPEND="media-libs/freetype:2
sys-libs/zlib
ogre? (
- dev-games/ogre:0=[freeimage,opengl]
+ >=dev-games/ogre-1.12:0=[freeimage,opengl]
samples? ( dev-games/ois )
)
opengl? (
@@ -35,15 +34,15 @@ RDEPEND="media-libs/freetype:2
tools? ( dev-games/ois )"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig
- doc? ( app-doc/doxygen )"
+ doc? ( app-text/doxygen )"
S=${WORKDIR}/mygui-${MY_P}
STATIC_BUILD=${WORKDIR}/${P}_build_static
PATCHES=(
- "${FILESDIR}"/${P}-underlinking.patch
"${FILESDIR}"/${P}-build.patch
- "${FILESDIR}"/${PN}-3.2.2-FHS.patch
+ "${FILESDIR}"/${P}-FHS.patch
+ "${FILESDIR}"/${P}-gcc13.patch
)
pkg_setup() {
@@ -64,15 +63,15 @@ src_configure() {
-DMYGUI_BUILD_DOCS=OFF
-DMYGUI_INSTALL_DOCS=OFF
-DMYGUI_USE_FREETYPE=ON
- $(cmake-utils_use plugins MYGUI_BUILD_PLUGINS)
+ -DMYGUI_BUILD_PLUGINS=$(usex plugins)
-DMYGUI_BUILD_DEMOS=OFF
- -DMYGUI_INSTALL_SAMPLES=OFF
+ -DMYGUI_INSTALL_DEMOS=OFF
-DMYGUI_BUILD_TOOLS=OFF
-DMYGUI_INSTALL_TOOLS=OFF
-DMYGUI_BUILD_WRAPPER=OFF
-DMYGUI_RENDERSYSTEM=$(usex opengl "4" "$(usex ogre "3" "1")") )
- CMAKE_BUILD_DIR=${STATIC_BUILD} cmake-utils_src_configure
+ CMAKE_BUILD_DIR=${STATIC_BUILD} cmake_src_configure
unset mycmakeargs
fi
@@ -93,12 +92,12 @@ src_configure() {
if use ogre && use samples; then
mycmakeargs+=(
-DMYGUI_BUILD_DEMOS=ON
- -DMYGUI_INSTALL_SAMPLES=ON
+ -DMYGUI_INSTALL_DEMOS=ON
)
else
mycmakeargs+=(
-DMYGUI_BUILD_DEMOS=OFF
- -DMYGUI_INSTALL_SAMPLES=OFF
+ -DMYGUI_INSTALL_DEMOS=OFF
)
fi
@@ -109,23 +108,23 @@ src_configure() {
mycmakeargs+=( -DMYGUI_INSTALL_MEDIA=OFF )
fi
- cmake-utils_src_configure
+ cmake_src_configure
}
src_compile() {
# build system does not support building static and shared at once,
# run a double build
if use static-libs ; then
- CMAKE_BUILD_DIR=${STATIC_BUILD} cmake-utils_src_compile
+ CMAKE_BUILD_DIR=${STATIC_BUILD} cmake_src_compile
fi
- cmake-utils_src_compile
+ cmake_src_compile
use doc && emake -C "${CMAKE_BUILD_DIR}"/Docs api-docs
}
src_install() {
- cmake-utils_src_install
+ cmake_src_install
if use static-libs ; then
find "${STATIC_BUILD}" -name "*.a" \! -name "libCommon.a" -exec dolib.a '{}' \;
diff --git a/dev-games/mygui/mygui-3.2.2.ebuild b/dev-games/mygui/mygui-3.4.3.ebuild
index ac582627a70d..b8690f9d6bc9 100644
--- a/dev-games/mygui/mygui-3.2.2.ebuild
+++ b/dev-games/mygui/mygui-3.4.3.ebuild
@@ -1,46 +1,48 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-CMAKE_REMOVE_MODULES="yes"
-CMAKE_REMOVE_MODULES_LIST="FindFreetype"
-inherit eutils cmake-utils flag-o-matic multilib
+EAPI=8
+
+CMAKE_REMOVE_MODULES_LIST=(FindFreetype)
+inherit cmake flag-o-matic
MY_PN=MyGUI
MY_P=${MY_PN}${PV}
-DESCRIPTION="A library for creating GUIs for games"
-HOMEPAGE="http://mygui.info/"
-SRC_URI="https://github.com/MyGUI/mygui/archive/${MY_P}.tar.gz"
+DESCRIPTION="A library for creating GUIs for games and 3D applications"
+HOMEPAGE="http://mygui.info"
+SRC_URI="https://github.com/MyGUI/mygui/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="debug doc +ogre -opengl plugins samples static-libs test tools l10n_ru"
+SLOT="0/${PV}" # soname
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="debug doc +ogre opengl plugins samples static-libs test tools l10n_ru"
RESTRICT="!test? ( test )"
REQUIRED_USE="ogre? ( !opengl )
opengl? ( !ogre )"
-RDEPEND="
- media-libs/freetype:2
+RDEPEND="media-libs/freetype:2
+ sys-libs/zlib
ogre? (
- dev-games/ogre:=[freeimage,opengl]
+ >=dev-games/ogre-1.12:0=[freeimage,opengl]
samples? ( dev-games/ois )
)
- opengl? ( virtual/opengl
- media-libs/glew )
+ opengl? (
+ virtual/opengl
+ media-libs/glew:0=
+ )
tools? ( dev-games/ois )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ doc? ( app-text/doxygen )"
S=${WORKDIR}/mygui-${MY_P}
STATIC_BUILD=${WORKDIR}/${P}_build_static
PATCHES=(
- "${FILESDIR}"/${P}-underlinking.patch
- "${FILESDIR}"/${P}-build.patch
- "${FILESDIR}"/${P}-FHS.patch
+ "${FILESDIR}"/mygui-3.4.1-build.patch
+ "${FILESDIR}"/mygui-3.4.1-FHS.patch
+ "${FILESDIR}"/mygui-3.4.3-werror.patch
)
pkg_setup() {
@@ -58,34 +60,49 @@ src_configure() {
# static configuration
if use static-libs ; then
mycmakeargs=( -DMYGUI_STATIC=ON
+ -DMYGUI_DONT_USE_OBSOLETE=ON
-DMYGUI_BUILD_DOCS=OFF
-DMYGUI_INSTALL_DOCS=OFF
-DMYGUI_USE_FREETYPE=ON
- $(cmake-utils_use plugins MYGUI_BUILD_PLUGINS)
+ -DMYGUI_BUILD_PLUGINS=$(usex plugins)
-DMYGUI_BUILD_DEMOS=OFF
- -DMYGUI_INSTALL_SAMPLES=OFF
+ -DMYGUI_INSTALL_DEMOS=OFF
-DMYGUI_BUILD_TOOLS=OFF
-DMYGUI_INSTALL_TOOLS=OFF
-DMYGUI_BUILD_WRAPPER=OFF
-DMYGUI_RENDERSYSTEM=$(usex opengl "4" "$(usex ogre "3" "1")") )
- CMAKE_BUILD_DIR=${STATIC_BUILD} cmake-utils_src_configure
+ CMAKE_BUILD_DIR=${STATIC_BUILD} cmake_src_configure
unset mycmakeargs
fi
# main configuration
- mycmakeargs=( -DMYGUI_STATIC=OFF
- $(cmake-utils_use doc MYGUI_BUILD_DOCS)
- $(cmake-utils_use doc MYGUI_INSTALL_DOCS)
+ mycmakeargs=(
+ -DMYGUI_STATIC=OFF
+ -DMYGUI_BUILD_DOCS=$(usex doc)
+ -DMYGUI_INSTALL_DOCS=$(usex doc)
-DMYGUI_USE_FREETYPE=ON
- $(cmake-utils_use plugins MYGUI_BUILD_PLUGINS)
- $(usex ogre "$(cmake-utils_use samples MYGUI_BUILD_DEMOS)" "-DMYGUI_BUILD_DEMOS=OFF")
- $(usex ogre "$(cmake-utils_use samples MYGUI_INSTALL_SAMPLES)" "-DMYGUI_INSTALL_SAMPLES=OFF")
- $(cmake-utils_use tools MYGUI_BUILD_TOOLS)
- $(cmake-utils_use tools MYGUI_INSTALL_TOOLS)
- $(cmake-utils_use opengl MYGUI_USE_SYSTEM_GLEW)
+ -DMYGUI_BUILD_PLUGINS=$(usex plugins)
+ -DMYGUI_BUILD_TOOLS=$(usex tools)
+ -DMYGUI_INSTALL_TOOLS=$(usex tools)
+ -DMYGUI_USE_SYSTEM_GLEW=$(usex opengl)
-DMYGUI_BUILD_WRAPPER=OFF
- -DMYGUI_RENDERSYSTEM=$(usex opengl "4" "$(usex ogre "3" "1")") )
+ -DMYGUI_DONT_USE_OBSOLETE=ON
+ -DMYGUI_RENDERSYSTEM=$(usex opengl "4" "$(usex ogre "3" "1")")
+ )
+
+ if use ogre && use samples; then
+ mycmakeargs+=(
+ -DMYGUI_BUILD_DEMOS=ON
+ -DMYGUI_INSTALL_DEMOS=ON
+ )
+ else
+ mycmakeargs+=(
+ -DMYGUI_BUILD_DEMOS=OFF
+ -DMYGUI_INSTALL_DEMOS=OFF
+ )
+
+ fi
if use tools || (use samples && use ogre) ; then
mycmakeargs+=( -DMYGUI_INSTALL_MEDIA=ON )
@@ -93,23 +110,23 @@ src_configure() {
mycmakeargs+=( -DMYGUI_INSTALL_MEDIA=OFF )
fi
- cmake-utils_src_configure
+ cmake_src_configure
}
src_compile() {
# build system does not support building static and shared at once,
# run a double build
if use static-libs ; then
- CMAKE_BUILD_DIR=${STATIC_BUILD} cmake-utils_src_compile
+ CMAKE_BUILD_DIR=${STATIC_BUILD} cmake_src_compile
fi
- cmake-utils_src_compile
+ cmake_src_compile
use doc && emake -C "${CMAKE_BUILD_DIR}"/Docs api-docs
}
src_install() {
- cmake-utils_src_install
+ cmake_src_install
if use static-libs ; then
find "${STATIC_BUILD}" -name "*.a" \! -name "libCommon.a" -exec dolib.a '{}' \;
@@ -118,7 +135,7 @@ src_install() {
fi
if use doc ; then
- dohtml -r "${CMAKE_BUILD_DIR}"/Docs/html/*
+ dodoc -r "${CMAKE_BUILD_DIR}"/Docs/html/
if use l10n_ru ; then
docompress -x /usr/share/doc/${PF}/Papers
@@ -130,14 +147,14 @@ src_install() {
fperms o+w /etc/MYGUI
# test media not needed at runtime
- rm -rf "${ED%/}"/usr/share/MYGUI/Media/UnitTests || die
+ rm -rf "${ED}"/usr/share/MYGUI/Media/UnitTests || die
# wrapper not available for linux, remove related media
- rm -rf "${ED%/}"/usr/share/MYGUI/Media/Wrapper || die
+ rm -rf "${ED}"/usr/share/MYGUI/Media/Wrapper || die
}
pkg_postinst() {
elog
elog "ogre.cfg and Ogre.log are created as"
- elog "${EROOT%/}/etc/MYGUI/mygui-ogre.cfg and /etc/MYGUI/mygui-Ogre.log"
+ elog "${EROOT}/etc/MYGUI/mygui-ogre.cfg and /etc/MYGUI/mygui-Ogre.log"
elog
}
diff --git a/dev-games/newton/metadata.xml b/dev-games/newton/metadata.xml
index 50e390f21491..44d0a9f36765 100644
--- a/dev-games/newton/metadata.xml
+++ b/dev-games/newton/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/newton/newton-3.14.ebuild b/dev-games/newton/newton-3.14.ebuild
index ef27f047fc4d..f1e04a4e16d0 100644
--- a/dev-games/newton/newton-3.14.ebuild
+++ b/dev-games/newton/newton-3.14.ebuild
@@ -1,28 +1,25 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit cmake-utils toolchain-funcs
+inherit cmake
MY_P="${PN}-dynamics-${P}"
DESCRIPTION="Integrated solution for real time simulation of physics environments"
HOMEPAGE="http://newtondynamics.com/forum/newton.php"
SRC_URI="https://github.com/MADEAPPS/newton-dynamics/archive/${P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
LICENSE="ZLIB"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
-RDEPEND=""
DEPEND="dev-libs/tinyxml"
-S=${WORKDIR}/${MY_P}
-
src_prepare() {
- cmake-utils_src_prepare
sed -i -e '/packages/d' CMakeLists.txt || die
+ cmake_src_prepare
}
src_configure() {
@@ -30,5 +27,5 @@ src_configure() {
-DNEWTON_DEMOS_SANDBOX=OFF
-DCMAKE_VERBOSE_MAKEFILE=ON
)
- cmake-utils_src_configure
+ cmake_src_configure
}
diff --git a/dev-games/ode/Manifest b/dev-games/ode/Manifest
index 4528a5fa39c7..77d310fc155f 100644
--- a/dev-games/ode/Manifest
+++ b/dev-games/ode/Manifest
@@ -1,3 +1 @@
-DIST ode-0.11.1.tar.bz2 1720088 BLAKE2B 0908356d45e9b17af80cc2afefd3a09735c4955d0a03b502a60f0bd01023796c3b00b1caf379eac354d7754035db11bcdf802c1ecc72abd28a9fce7e1dd7eef1 SHA512 1e015231f4d01c68e7539144d197031cca23d4b58ea53733184a826ce23388956c428a53385254e7eed2c5d3fc28224a688eb13be7ea648bd78e186c8f203d37
-DIST ode-0.12.tar.bz2 1816246 BLAKE2B 7ac4b9158f6672775e0374a619f71a178cb8a3a1cf8c957d67c2547081a9dd660a091923fec364133dfbe4cd6b82cfe14961bda8994bb6241aa9e1af61ef22ef SHA512 303ffda8afcb89a87d09c44393f590f5646f10e8959ca06746121859ad2407709cd711ab185fed4817a9f74c9ca4ee13d1698a28577211bf65dbaad1141f6fc0
DIST ode-0.14.tar.gz 4018146 BLAKE2B 7dbb3d4cd673dabce176cf92d9d0b5fdd21dea25b751b8b43fd99a71e7806170fb97459dc2ecc7a9cbd14bf54bd32b4a3e631b78a1c3420ebc11c2d518f0eb45 SHA512 1f74c3c4687ee9665fa70e65a79100747fba577729830a90806e374115f1c161a2f4545cf591b0979054aa3e2f9a3673635668cb7362ab5c213ada0d39b1a03d
diff --git a/dev-games/ode/metadata.xml b/dev-games/ode/metadata.xml
index bc254df5ec9a..b1da0ee24971 100644
--- a/dev-games/ode/metadata.xml
+++ b/dev-games/ode/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/ode/ode-0.11.1.ebuild b/dev-games/ode/ode-0.11.1.ebuild
deleted file mode 100644
index b20a61d98648..000000000000
--- a/dev-games/ode/ode-0.11.1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils ltprune
-
-DESCRIPTION="Open Dynamics Engine SDK"
-HOMEPAGE="http://ode.org/"
-SRC_URI="mirror://sourceforge/opende/${P}.tar.bz2"
-
-LICENSE="|| ( LGPL-2.1 BSD )"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="debug doc double-precision examples gyroscopic static-libs"
-
-RDEPEND="examples? (
- virtual/opengl
- )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )"
-
-src_prepare() {
- sed -i \
- -e "s:\$.*/drawstuff/textures:/usr/share/doc/${PF}/examples:" \
- drawstuff/src/Makefile.in \
- ode/demo/Makefile.in || die
-}
-
-src_configure() {
- # use bash (bug #335760)
- CONFIG_SHELL=/bin/bash \
- econf \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable debug asserts) \
- $(use_enable double-precision) \
- $(use_enable examples demos) \
- $(use_enable gyroscopic) \
- $(use_with examples drawstuff X11)
-}
-
-src_compile() {
- emake
- if use doc ; then
- cd ode/doc
- doxygen Doxyfile || die
- fi
-}
-
-src_install() {
- DOCS="CHANGELOG.txt README.txt" \
- default
- prune_libtool_files
- if use doc ; then
- dohtml docs/*
- fi
- if use examples; then
- cd ode/demo
- exeinto /usr/share/doc/${PF}/examples
- local f
- for f in *.c* ; do
- doexe .libs/${f%.*}
- done
- cd ../..
- doexe drawstuff/dstest/dstest
- insinto /usr/share/doc/${PF}/examples
- doins ode/demo/*.{c,cpp,h} \
- drawstuff/textures/*.ppm \
- drawstuff/dstest/dstest.cpp \
- drawstuff/src/{drawstuff.cpp,internal.h,x11.cpp}
- fi
-}
diff --git a/dev-games/ode/ode-0.12.ebuild b/dev-games/ode/ode-0.12.ebuild
deleted file mode 100644
index f9239dc91a8a..000000000000
--- a/dev-games/ode/ode-0.12.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils ltprune
-
-DESCRIPTION="Open Dynamics Engine SDK"
-HOMEPAGE="http://ode.org/"
-SRC_URI="mirror://sourceforge/opende/${P}.tar.bz2"
-
-LICENSE="|| ( LGPL-2.1 BSD )"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="debug doc double-precision examples gyroscopic static-libs"
-
-RDEPEND="examples? (
- virtual/opengl
- )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )"
-
-src_prepare() {
- sed -i \
- -e "s:\$.*/drawstuff/textures:/usr/share/doc/${PF}/examples:" \
- drawstuff/src/Makefile.in \
- ode/demo/Makefile.in || die
-}
-
-src_configure() {
- # use bash (bug #335760)
- CONFIG_SHELL=/bin/bash \
- econf \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable debug asserts) \
- $(use_enable double-precision) \
- $(use_enable examples demos) \
- $(use_enable gyroscopic) \
- $(use_with examples drawstuff X11)
-}
-
-src_compile() {
- emake
- if use doc ; then
- cd ode/doc
- doxygen Doxyfile || die
- fi
-}
-
-src_install() {
- DOCS="CHANGELOG.txt README.txt" \
- default
- prune_libtool_files
- if use doc ; then
- dohtml docs/*
- fi
- if use examples; then
- cd ode/demo
- exeinto /usr/share/doc/${PF}/examples
- local f
- for f in *.c* ; do
- doexe .libs/${f%.*}
- done
- cd ../..
- doexe drawstuff/dstest/dstest
- insinto /usr/share/doc/${PF}/examples
- doins ode/demo/*.{c,cpp,h} \
- drawstuff/textures/*.ppm \
- drawstuff/dstest/dstest.cpp \
- drawstuff/src/{drawstuff.cpp,internal.h,x11.cpp}
- fi
-}
diff --git a/dev-games/ode/ode-0.14-r1.ebuild b/dev-games/ode/ode-0.14-r1.ebuild
index 11a993ae006d..4b47cc5c5a34 100644
--- a/dev-games/ode/ode-0.14-r1.ebuild
+++ b/dev-games/ode/ode-0.14-r1.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit autotools eutils ltprune
+EAPI=7
+
+inherit autotools
DESCRIPTION="Open Dynamics Engine SDK"
HOMEPAGE="http://ode.org/"
@@ -10,19 +11,28 @@ SRC_URI="https://bitbucket.org/odedevs/ode/downloads/${P}.tar.gz"
LICENSE="|| ( LGPL-2.1+ BSD )"
SLOT="0/6"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
IUSE="debug doc double-precision examples gyroscopic static-libs"
-RDEPEND="examples? (
- virtual/glu
- virtual/opengl )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )"
+RDEPEND="
+ examples? (
+ virtual/glu
+ virtual/opengl
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-text/doxygen )"
MY_EXAMPLES_DIR=/usr/share/doc/${PF}/examples
+DOCS=( CHANGELOG.txt README.md )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.14-gcc7.patch
+)
+
src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.14-gcc7.patch
+ default
sed -i \
-e "s:\$.*/drawstuff/textures:${MY_EXAMPLES_DIR}:" \
@@ -47,28 +57,35 @@ src_configure() {
src_compile() {
emake
if use doc ; then
- cd ode/doc
+ cd ode/doc || die
doxygen Doxyfile || die
fi
}
src_install() {
- DOCS="CHANGELOG.txt README.md" \
- default
- prune_libtool_files
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
if use doc ; then
- dohtml docs/*
+ docinto html
+ dodoc docs/*
fi
- if use examples; then
- docompress -x "${MY_EXAMPLES_DIR}"
- insinto "${MY_EXAMPLES_DIR}"
- exeinto "${MY_EXAMPLES_DIR}"
+
+ if use examples ; then
+ docompress -x ${MY_EXAMPLES_DIR}
+
+ insinto ${MY_EXAMPLES_DIR}
+ exeinto ${MY_EXAMPLES_DIR}
+
doexe drawstuff/dstest/dstest
doins ode/demo/*.{c,cpp,h} \
drawstuff/textures/*.ppm \
drawstuff/dstest/dstest.cpp \
drawstuff/src/{drawstuff.cpp,internal.h,x11.cpp}
- cd ode/demo
+
+ cd ode/demo || die
+
local f
for f in *.c* ; do
doexe .libs/${f%.*}
diff --git a/dev-games/ogre/Manifest b/dev-games/ogre/Manifest
index abe2b0d79948..333bba06d603 100644
--- a/dev-games/ogre/Manifest
+++ b/dev-games/ogre/Manifest
@@ -1,4 +1,6 @@
DIST imgui-1.77.tar.gz 1269147 BLAKE2B be0db9b77903664db0fadf1672ec23983dc89292fd261a1e89c1eab88b82e95de7c2af37eb7ef43cc994b889fdf7d7fb2dd1282b93c1f3b1166c7fe0d2dccaf5 SHA512 d5ebf4bb5e1ce83b226f2e68b3afe0f0abaeb55245fedf754e5453afd8d1df4dac8b5c47fc284c2588b40d05a55fc191b5e55c7be279c5e5e23f7c5b70150546
+DIST imgui-1.87.tar.gz 1460834 BLAKE2B f73b71400311e7c5f82248e242a932add5090670c78077ca2239f349730bab88a00bfe4deca4e854772ef7f6a2cff1fc0f38f7174a026995f93c9e7b55eb2a1d SHA512 3255b06698ab9c8951953e1e0b6d160d64adfa4c011b21a4288547292a7f8fff586875faf9dae0677818bde65bd7e98da92f16f6beb1e6a66aa835edf32e8ce2
DIST ogre-1.12.9.tar.gz 125955067 BLAKE2B 5676690d2d9db8c4c903b7bf3e7660ddf5c0675eb11e1b34f08a5a50739d6212e986c7b500173ad5edab4835d96c705f86cc0fd37e1ff1e64a161ab1ce8968df SHA512 a80525a4924a430ccac3f01f93a5f36b4b9d2f7671ef0629d7dd21d3651ea7a698d5cc520eb814c6ee4c0ee7efcd3f6a8f16688773300a25537636bb61eba286
DIST ogre-1.9.0.tar.bz2 128098305 BLAKE2B 6e67a5b60a6606a910e099f1c7ba736eb525f079f3aba5cfb362329b9130059d303fc9df6f7b8611c0ba75e1e207fa018e543e93c9f5ce39a6621e4c72ed4a83 SHA512 b1ea93d80ac0978a7c228460a6714f8d17797450efd5af6765c9fa4402e9060a8ef3a700d2757593a3016fdc32276722c8f4a5d9889a3e2eb424f16162a52bde
+DIST ogre-13.6.1.tar.gz 91951783 BLAKE2B a345de5b6cb4e7be3c565f77bf7f541684733b21d862a234687ccffcc2b6c0ecf5b0fdd9fd42ddbee11c0e81388aee21d550a7e33550cd46fb17dbccfb6bb7f6 SHA512 c868a171c75adacf5eee54ee6be70faf8d5f8734dc5f1f01cd475faa78d4f9796860cfb20d486f53f20aaca5ea5306795bb5a2e1c5ded2dcb38612d5ca2550b4
DIST ogre-2.1.tar.gz 157457252 BLAKE2B 97e83cb93a07de5bd5f4fd778604e6146105e70045a6019f0fcdd7f96fe20f6ad495e19988dcd5e4c4073a0bcdeb5ce2afb06fae6945363c397a882672c80520 SHA512 9802e3bf20ddb09453524d1ddafa7a2083dfd0e609563f478fe31b087dd06d463f69800b9c6485cb3db92d98f282ef67ace3e272c1ef531e982ea9f719617fb5
diff --git a/dev-games/ogre/files/ogre-13.5.3-gentoolize_imgui_inclusion.patch b/dev-games/ogre/files/ogre-13.5.3-gentoolize_imgui_inclusion.patch
new file mode 100644
index 000000000000..13e65963193a
--- /dev/null
+++ b/dev-games/ogre/files/ogre-13.5.3-gentoolize_imgui_inclusion.patch
@@ -0,0 +1,27 @@
+--- a/Components/Overlay/CMakeLists.txt 2022-12-13 08:16:21.006454596 +0100
++++ b/Components/Overlay/CMakeLists.txt 2022-12-13 08:16:41.416455669 +0100
+@@ -19,14 +19,14 @@
+ file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
+
+ if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI)
+- set(IMGUI_DIR "${PROJECT_BINARY_DIR}/imgui-1.87" CACHE PATH "")
++ set(IMGUI_DIR "${PROJECT_SOURCE_DIR}/imgui-1.87" CACHE PATH "")
+ if(NOT EXISTS ${IMGUI_DIR})
+ message(STATUS "Downloading imgui")
+ file(DOWNLOAD
+ https://github.com/ocornut/imgui/archive/v1.87.tar.gz
+- ${PROJECT_BINARY_DIR}/imgui.tar.gz)
++ ${PROJECT_SOURCE_DIR}/imgui.tar.gz)
+ execute_process(COMMAND ${CMAKE_COMMAND}
+- -E tar xf imgui.tar.gz WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
++ -E tar xf imgui.tar.gz WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
+ endif()
+ list(APPEND SOURCE_FILES
+ ${IMGUI_DIR}/imgui.cpp
+@@ -103,4 +103,4 @@
+ )
+ install(FILES "${PROJECT_SOURCE_DIR}/Media/packs/profiler.zip"
+ DESTINATION "${OGRE_MEDIA_PATH}/packs/"
+-)
+\ No newline at end of file
++)
diff --git a/dev-games/ogre/files/ogre-13.5.3-media_path.patch b/dev-games/ogre/files/ogre-13.5.3-media_path.patch
new file mode 100644
index 000000000000..84fd2d871cb8
--- /dev/null
+++ b/dev-games/ogre/files/ogre-13.5.3-media_path.patch
@@ -0,0 +1,12 @@
+--- a/CMake/InstallResources.cmake 2022-12-13 07:54:58.845387208 +0100
++++ b/CMake/InstallResources.cmake 2022-12-13 07:56:02.083390532 +0100
+@@ -174,9 +174,6 @@
+
+ # CREATE CONFIG FILES - BUILD DIR VERSIONS
+ if (NOT (APPLE_IOS OR WINDOWS_STORE OR WINDOWS_PHONE))
+- set(OGRE_MEDIA_DIR_REL "${PROJECT_SOURCE_DIR}/Samples/Media")
+- set(OGRE_CORE_MEDIA_DIR "${PROJECT_SOURCE_DIR}/Media")
+- set(OGRE_TEST_MEDIA_DIR_REL "${PROJECT_SOURCE_DIR}/Tests/Media")
+ else ()
+ # iOS needs to use relative paths in the config files
+ set(OGRE_MEDIA_DIR_REL "${OGRE_MEDIA_PATH}")
diff --git a/dev-games/ogre/files/ogre-13.5.3-resource_path.patch b/dev-games/ogre/files/ogre-13.5.3-resource_path.patch
new file mode 100644
index 000000000000..3d8bef1f7c64
--- /dev/null
+++ b/dev-games/ogre/files/ogre-13.5.3-resource_path.patch
@@ -0,0 +1,13 @@
+These was already configured above, the BINARY paths are wrong!
+
+--- a/CMake/InstallResources.cmake 2019-11-06 08:12:01.271816772 +0100
++++ b/CMake/InstallResources.cmake 2019-11-06 08:13:15.623814658 +0100
+@@ -188,8 +188,6 @@
+ set(OGRE_PLUGIN_DIR_REL "Contents/Frameworks/")
+ set(OGRE_SAMPLES_DIR_REL "Contents/Plugins/")
+ elseif (UNIX)
+- set(OGRE_PLUGIN_DIR_REL "${PROJECT_BINARY_DIR}/lib")
+- set(OGRE_SAMPLES_DIR_REL "${PROJECT_BINARY_DIR}/lib")
+ endif ()
+
+ if(OGRE_BUILD_SAMPLES)
diff --git a/dev-games/ogre/metadata.xml b/dev-games/ogre/metadata.xml
index db70daa77363..744b1a91ff68 100644
--- a/dev-games/ogre/metadata.xml
+++ b/dev-games/ogre/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
@@ -77,36 +77,30 @@ Exporters
* Maya (meshes)
</longdescription>
<use>
- <flag name="assimp" restrict="~dev-games/ogre-1.12.9">Use media-libs/assimp to import assets from 3D files</flag>
+ <flag name="assimp" restrict="&gt;dev-games/ogre-13">Use <pkg>media-libs/assimp</pkg> to import assets from 3D files</flag>
<flag name="boost">Enable boost support</flag>
+ <flag name="bullet" restrict="&gt;dev-games/ogre-13">Use <pkg>sci-physics/bullet</pkg> for physics plugin</flag>
<flag name="cache">Enable GL state cache support</flag>
<flag name="cg">NVIDIA toolkit plugin</flag>
<flag name="double-precision">More precise calculations at the expense of speed</flag>
- <flag name="egl">Use egl instead of glx</flag>
- <flag name="deprecated" restrict="~dev-games/ogre-1.12.9">
- Build deprecated component 'HLMS' and nodeless positioning of Lights and Cameras.
+ <flag name="deprecated" restrict="&gt;dev-games/ogre-13">
+ Build deprecated nodeless positioning of Lights and Cameras.
</flag>
+ <flag name="egl">Use egl instead of glx</flag>
<flag name="fine-granularity" restrict="~dev-games/ogre-2.1">
Enable fine light mask granularity. This impacts on performance and should
not be enabled unless an application really needs it.
</flag>
- <flag name="freeimage">Support images via media-libs/freeimage</flag>
- <flag name="gl3plus">Build OpenGL 3+ RenderSystem (EXPERIMENTAL)</flag>
- <flag name="gles2" restrict="~dev-games/ogre-1.9.0">Build OpenGL ES 2.x RenderSystem</flag>
- <flag name="gles3" restrict="~dev-games/ogre-1.9.0">Enable OpenGL ES 3.x Features</flag>
- <flag name="json">Use dev-libs/rapidjson (needed by Hlms JSON materials)</flag>
+ <flag name="freeimage">Support images via <pkg>media-libs/freeimage</pkg></flag>
+ <flag name="gl3plus">Build OpenGL 3+ RenderSystem</flag>
+ <flag name="gles3" restrict="&lt;dev-games/ogre-13">Enable OpenGL ES 3.x Features</flag>
+ <flag name="json">Use <pkg>dev-libs/rapidjson</pkg> (needed by Hlms JSON materials)</flag>
<flag name="legacy-animations">
Use the skeletal animation from 1.x. It's much slower, but the new system
is still experimental.
</flag>
- <flag name="ois">Pull in Object-oriented Input System library dev-games/ois for samples</flag>
+ <flag name="ois">Pull in Object-oriented Input System library <pkg>dev-games/ois</pkg> for samples</flag>
<flag name="poco">When USE=threads, use poco for threading</flag>
- <!-- Not yet available? Needs testing! (Note: Shouldn't this be EGL instead of GLES2?)
- <flag name="mobile">
- Build for OpenGL ES 2.0 only and use the mobile variants of the PBS and
- unlit material systems.
- </flag>
- -->
<flag name="resman-pedantic">
Resource Manager PEDANTIC : require an explicit resource group. Case
sensitive lookup. Some demos might not work with this setting.
@@ -120,6 +114,5 @@ Exporters
<upstream>
<remote-id type="bitbucket">sinbad/ogre</remote-id>
<remote-id type="github">OGRECave/ogre</remote-id>
- <remote-id type="github">OGRECave/ogre-next</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-games/ogre/ogre-1.12.9.ebuild b/dev-games/ogre/ogre-1.12.9-r3.ebuild
index 74d3cd557a69..ff6ae63e3b22 100644
--- a/dev-games/ogre/ogre-1.12.9.ebuild
+++ b/dev-games/ogre/ogre-1.12.9-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,7 +20,7 @@ SLOT="0/1.12"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="assimp +cache cg debug deprecated doc double-precision egl examples +freeimage
- json openexr +opengl pch profile resman-pedantic tools"
+ json +opengl pch profile resman-pedantic tools"
# Note: gles2 USE flag taken out for now. It seems like the Ogre Devs now rely
# on HLSL2GLSL (https://github.com/aras-p/hlsl2glslfork) unconditionally
@@ -50,12 +50,11 @@ RDEPEND="
x11-libs/libXaw
x11-libs/libXrandr
x11-libs/libXt
- assimp? ( media-libs/assimp )
+ assimp? ( media-libs/assimp:= )
cg? ( media-gfx/nvidia-cg-toolkit )
- egl? ( media-libs/mesa[egl] )
+ egl? ( media-libs/mesa[egl(+)] )
freeimage? ( media-libs/freeimage )
json? ( dev-libs/rapidjson )
- openexr? ( media-libs/openexr:= )
opengl? (
virtual/glu
virtual/opengl
@@ -69,7 +68,7 @@ DEPEND="
"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
PATCHES=(
@@ -143,7 +142,7 @@ src_configure() {
-DOGRE_BUILD_DEPENDENCIES=no
-DOGRE_BUILD_PLUGIN_CG=$(usex cg)
-DOGRE_BUILD_PLUGIN_FREEIMAGE=$(usex freeimage)
- -DOGRE_BUILD_PLUGIN_EXRCODEC=$(usex openexr)
+ -DOGRE_BUILD_PLUGIN_EXRCODEC=no
-DOGRE_BUILD_RENDERSYSTEM_GL=$(usex opengl)
-DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=$(usex opengl)
-DOGRE_BUILD_RENDERSYSTEM_GLES2=no
diff --git a/dev-games/ogre/ogre-1.9.0-r1.ebuild b/dev-games/ogre/ogre-1.9.0-r1.ebuild
deleted file mode 100644
index dd3d2ee065a3..000000000000
--- a/dev-games/ogre/ogre-1.9.0-r1.ebuild
+++ /dev/null
@@ -1,133 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CMAKE_REMOVE_MODULES="yes"
-CMAKE_REMOVE_MODULES_LIST="FindFreetype FindDoxygen FindZLIB"
-
-inherit eutils cmake-utils vcs-snapshot
-
-DESCRIPTION="Object-oriented Graphics Rendering Engine"
-HOMEPAGE="https://www.ogre3d.org/"
-SRC_URI="https://bitbucket.org/sinbad/ogre/get/v${PV//./-}.tar.bz2 -> ${P}.tar.bz2"
-
-LICENSE="MIT public-domain"
-SLOT="0/1.9.0"
-KEYWORDS="amd64 ~arm x86"
-
-# gles1 currently broken wrt bug #418201
-# gles1 does not even build wrt bug #506058
-IUSE="+boost cg doc double-precision examples +freeimage gl3plus gles2 gles3 ois +opengl poco profile tbb threads tools +zip"
-
-REQUIRED_USE="threads? ( ^^ ( boost poco tbb ) )
- examples? ( ois )
- poco? ( threads )
- tbb? ( threads )
- gl3plus? ( !gles2 !gles3 )
- gles3? ( gles2 )
- gl3plus? ( opengl )"
-
-RESTRICT="test" #139905
-
-RDEPEND="
- media-libs/freetype:2
- virtual/opengl
- virtual/glu
- x11-libs/libX11
- x11-libs/libXaw
- x11-libs/libXrandr
- x11-libs/libXt
- boost? ( dev-libs/boost:= )
- cg? ( media-gfx/nvidia-cg-toolkit )
- freeimage? ( media-libs/freeimage )
- gles2? ( >=media-libs/mesa-9.0.0[gles2] )
- gles3? ( >=media-libs/mesa-10.0.0[gles2] )
- gl3plus? ( >=media-libs/mesa-9.2.5 )
- ois? ( dev-games/ois )
- threads? (
- poco? ( dev-libs/poco )
- tbb? ( dev-cpp/tbb )
- )
- tools? ( dev-libs/tinyxml[stl] )
- zip? ( sys-libs/zlib dev-libs/zziplib )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- x11-base/xorg-proto
- doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}/${P}-remove_resource_path_to_bindir.patch"
- "${FILESDIR}/${P}-remove_media_path_to_bindir.patch"
- "${FILESDIR}/${P}-gcc52.patch"
- "${FILESDIR}/${P}-samples.patch"
-)
-
-src_prepare() {
- sed -i \
- -e "s:share/OGRE/docs:share/doc/${PF}:" \
- Docs/CMakeLists.txt || die
- # Stupid build system hardcodes release names
- sed -i \
- -e '/CONFIGURATIONS/s:CONFIGURATIONS Release.*::' \
- CMake/Utils/OgreConfigTargets.cmake || die
-
- # make sure we're not using the included tinyxml
- rm -f Tools/XMLConverter/{include,src}/tiny*.*
-
- # Fix some path issues
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DOGRE_FULL_RPATH=NO
- $(cmake-utils_use boost OGRE_USE_BOOST)
- $(cmake-utils_use cg OGRE_BUILD_PLUGIN_CG)
- $(cmake-utils_use doc OGRE_INSTALL_DOCS)
- $(cmake-utils_use double-precision OGRE_CONFIG_DOUBLE)
- $(cmake-utils_use freeimage OGRE_CONFIG_ENABLE_FREEIMAGE)
- $(cmake-utils_use opengl OGRE_BUILD_RENDERSYSTEM_GL)
- $(cmake-utils_use gl3plus OGRE_BUILD_RENDERSYSTEM_GL3PLUS)
- -DOGRE_BUILD_RENDERSYSTEM_GLES=FALSE
- $(cmake-utils_use gles2 OGRE_BUILD_RENDERSYSTEM_GLES2)
- $(cmake-utils_use gles3 OGRE_CONFIG_ENABLE_GLES3_SUPPORT)
- $(cmake-utils_use profile OGRE_PROFILING)
- $(cmake-utils_use examples OGRE_BUILD_SAMPLES)
- $(cmake-utils_use examples OGRE_INSTALL_SAMPLES)
- $(cmake-utils_use examples OGRE_INSTALL_SAMPLES_SOURCE)
- -DOGRE_BUILD_TESTS=FALSE
- -DOGRE_CONFIG_THREADS=$(usex threads 2 0)
- $(cmake-utils_use tools OGRE_BUILD_TOOLS)
- $(cmake-utils_use zip OGRE_CONFIG_ENABLE_ZIP)
- )
-
- if use threads ; then
- local f
- for f in boost poco tbb ; do
- use ${f} || continue
- mycmakeargs+=( -DOGRE_CONFIG_THREAD_PROVIDER=${f} )
- break
- done
- fi
-
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
-
- CONFIGDIR=/etc/OGRE
- SHAREDIR=/usr/share/OGRE
-
- # plugins and resources are the main configuration
- insinto "${CONFIGDIR}"
- doins "${CMAKE_BUILD_DIR}"/bin/plugins.cfg
- doins "${CMAKE_BUILD_DIR}"/bin/resources.cfg
- dosym "${CONFIGDIR}"/plugins.cfg "${SHAREDIR}"/plugins.cfg
- dosym "${CONFIGDIR}"/resources.cfg "${SHAREDIR}"/resources.cfg
-
- # These are only for the sample browser
- insinto "${SHAREDIR}"
- doins "${CMAKE_BUILD_DIR}"/bin/quakemap.cfg
- doins "${CMAKE_BUILD_DIR}"/bin/samples.cfg
-}
diff --git a/dev-games/ogre/ogre-1.9.0-r2.ebuild b/dev-games/ogre/ogre-1.9.0-r3.ebuild
index 024f38575f1d..fa9a798418c7 100644
--- a/dev-games/ogre/ogre-1.9.0-r2.ebuild
+++ b/dev-games/ogre/ogre-1.9.0-r3.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CMAKE_REMOVE_MODULES_LIST="FindFreetype FindDoxygen FindZLIB"
-inherit cmake vcs-snapshot
+inherit cmake flag-o-matic vcs-snapshot
DESCRIPTION="Object-oriented Graphics Rendering Engine"
HOMEPAGE="https://www.ogre3d.org/"
@@ -13,7 +13,7 @@ SRC_URI="https://bitbucket.org/sinbad/ogre/get/v${PV//./-}.tar.bz2 -> ${P}.tar.b
LICENSE="MIT public-domain"
SLOT="0/1.9.0"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="amd64 ~arm x86"
# gles1 currently broken wrt bug #418201
# gles1 does not even build wrt bug #506058
@@ -46,7 +46,7 @@ RDEPEND="
ois? ( dev-games/ois )
threads? (
poco? ( dev-libs/poco )
- tbb? ( dev-cpp/tbb )
+ tbb? ( dev-cpp/tbb:= )
)
tools? ( dev-libs/tinyxml[stl] )
zip? ( sys-libs/zlib dev-libs/zziplib )"
@@ -56,7 +56,7 @@ DEPEND="
"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
PATCHES=(
@@ -114,6 +114,11 @@ src_configure() {
done
fi
+ if use examples ; then
+ # bug #829253
+ append-cxxflags -std=c++14
+ fi
+
cmake_src_configure
}
diff --git a/dev-games/ogre/ogre-13.6.1.ebuild b/dev-games/ogre/ogre-13.6.1.ebuild
new file mode 100644
index 000000000000..3013ff8fb66a
--- /dev/null
+++ b/dev-games/ogre/ogre-13.6.1.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_REMOVE_MODULES_LIST=( FindFreetype FindDoxygen FindZLIB )
+inherit cmake
+
+IMGUI_PN="imgui"
+IMGUI_PV="1.87"
+IMGUI_P="${IMGUI_PN}-${IMGUI_PV}"
+
+DESCRIPTION="Object-oriented Graphics Rendering Engine"
+HOMEPAGE="https://www.ogre3d.org/"
+SRC_URI="https://github.com/OGRECave/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/ocornut/${IMGUI_PN}/archive/v${IMGUI_PV}.tar.gz -> ${IMGUI_P}.tar.gz"
+
+LICENSE="MIT public-domain"
+SLOT="0/13.6"
+KEYWORDS="~amd64 ~arm ~x86"
+
+IUSE="assimp bullet +cache cg debug deprecated doc double-precision egl examples +freeimage
+ json +opengl pch profile resman-pedantic tools"
+
+# Note: gles2 USE flag taken out for now, as even the configuration seems to be broken
+# ~~sed 2022-12-13 (sven@eden-worx.com)
+#
+# Note: The following dependencies might be considered for new ebuilds
+# + Vulkan SDK: Vulkan RenderSystem, glslang Plugin. Alternatively use system packages <https://vulkan.lunarg.com/>
+#
+# Note: Without gles2 USE flag, the opengl USE flag is next to useless. But
+# there are packages which enforce it, so it has to stay.
+#
+REQUIRED_USE="
+ examples? ( opengl )
+"
+
+RESTRICT="test" #139905
+
+RDEPEND="
+ dev-games/ois
+ dev-libs/pugixml
+ dev-libs/zziplib
+ media-libs/freetype:2
+ x11-libs/libX11
+ x11-libs/libXaw
+ x11-libs/libXrandr
+ x11-libs/libXt
+ assimp? ( media-libs/assimp:= )
+ bullet? ( sci-physics/bullet:= )
+ cg? ( media-gfx/nvidia-cg-toolkit )
+ egl? ( media-libs/mesa[egl(+)] )
+ freeimage? ( media-libs/freeimage )
+ json? ( dev-libs/rapidjson )
+ opengl? (
+ virtual/glu
+ virtual/opengl
+ )
+ tools? ( dev-libs/tinyxml[stl] )
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-13.5.3-media_path.patch
+ "${FILESDIR}"/${PN}-13.5.3-resource_path.patch
+ "${FILESDIR}"/${PN}-13.5.3-gentoolize_imgui_inclusion.patch
+ "${FILESDIR}"/${PN}-1.10.12-use_system_tinyxml.patch
+)
+
+src_unpack() {
+ unpack ${P}.tar.gz || die "Unpacking ${P}.zip failed"
+
+ # Ogre includes imgui, but as a manual download done by Components/Overlay/CMakeLists.txt
+ # That may fail and so we are doing it ourselves.
+ cd "${S}" || die "Unpack incomplete"
+ unpack ${IMGUI_P}.tar.gz || die "Unpacking ${IMGUI_P}.zip failed"
+}
+
+src_prepare() {
+ local broken_png=(
+ Icon@2x-72.png
+ Default-Portrait~ipad.png
+ Default-Portrait@2x~ipad.png
+ Default-Landscape@2x~ipad.png
+ )
+
+ sed -i \
+ -e "s:share/doc/OGRE:share/doc/${PF}:" \
+ Docs/CMakeLists.txt || die
+ # In this series, the CMAKE_BUILD_TARGET is hard-wired to the
+ # installation. And only Debug, MinSizeRel and RelWithDebInfo
+ # are supported.
+ sed -i \
+ -e "s/$(usex debug Debug Release)/Gentoo/g" \
+ CMake/InstallResources.cmake \
+ CMake/Utils/OgreConfigTargets.cmake \
+ || die
+
+ # Fix broken png files
+ einfo "Fixing broken png files."
+ pushd "${S}"/Samples/Common/misc 1>/dev/null 2>&1
+ for png in "${broken_png[@]}"; do
+ pngfix -q --out=out.png ${png}
+ mv -f out.png "${png}" || die
+ done
+ popd 1>/dev/null 2>&1
+ einfo "done ..."
+
+ # Fix some path issues
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_SKIP_INSTALL_RPATH=yes
+ -DOGRE_ASSERT_MODE=1
+ -DOGRE_BUILD_COMPONENT_BITES=yes
+ -DOGRE_BUILD_COMPONENT_BULLET=$(usex bullet)
+ -DOGRE_BUILD_COMPONENT_CSHARP=no
+ -DOGRE_BUILD_COMPONENT_JAVA=no
+ -DOGRE_BUILD_COMPONENT_OVERLAY=yes
+ -DOGRE_BUILD_COMPONENT_OVERLAY_IMGUI=yes
+ -DOGRE_BUILD_COMPONENT_PAGING=yes
+ -DOGRE_BUILD_COMPONENT_PROPERTY=yes
+ -DOGRE_BUILD_COMPONENT_PYTHON=no
+ -DOGRE_BUILD_COMPONENT_RTSHADERSYSTEM=yes
+ -DOGRE_BUILD_COMPONENT_TERRAIN=yes
+ -DOGRE_BUILD_COMPONENT_VOLUME=yes
+ -DOGRE_BUILD_DEPENDENCIES=no
+ -DOGRE_BUILD_PLUGIN_ASSIMP=$(usex assimp)
+ -DOGRE_BUILD_PLUGIN_CG=$(usex cg)
+ -DOGRE_BUILD_PLUGIN_FREEIMAGE=$(usex freeimage)
+ -DOGRE_BUILD_PLUGIN_EXRCODEC=no
+ -DOGRE_BUILD_RENDERSYSTEM_GL=$(usex opengl)
+ -DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=$(usex opengl)
+ -DOGRE_BUILD_RENDERSYSTEM_GLES2=no
+ -DOGRE_BUILD_SAMPLES=$(usex examples)
+ -DOGRE_BUILD_TESTS=no
+ -DOGRE_BUILD_TOOLS=$(usex tools)
+ -DOGRE_CONFIG_DOUBLE=$(usex double-precision)
+ -DOGRE_CONFIG_ENABLE_GL_STATE_CACHE_SUPPORT=$(usex cache)
+ -DOGRE_CONFIG_ENABLE_GLES2_CG_SUPPORT=no
+ -DOGRE_CONFIG_ENABLE_GLES3_SUPPORT=no
+ -DOGRE_CONFIG_THREADS=3
+ -DOGRE_CONFIG_THREAD_PROVIDER=std
+ -DOGRE_ENABLE_PRECOMPILED_HEADERS=$(usex pch)
+ -DOGRE_GLSUPPORT_USE_EGL=$(usex egl)
+ -DOGRE_INSTALL_DOCS=$(usex doc)
+ -DOGRE_INSTALL_SAMPLES=$(usex examples)
+ -DOGRE_NODELESS_POSITIONING=$(usex deprecated)
+ -DOGRE_PROFILING=$(usex profile)
+ -DOGRE_RESOURCEMANAGER_STRICT=$(usex resman-pedantic 1 2)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc ; then
+ eninja -C "${BUILD_DIR}" OgreDoc
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ CONFIGDIR=/etc/OGRE
+ SHAREDIR=/usr/share/OGRE
+
+ # plugins and resources are the main configuration
+ insinto "${CONFIGDIR}"
+ doins "${BUILD_DIR}"/bin/plugins.cfg
+ doins "${BUILD_DIR}"/bin/resources.cfg
+ dosym "${CONFIGDIR}"/plugins.cfg "${SHAREDIR}"/plugins.cfg
+ dosym "${CONFIGDIR}"/resources.cfg "${SHAREDIR}"/resources.cfg
+
+ # These are only for the sample browser
+ if use examples ; then
+ insinto "${SHAREDIR}"
+ doins "${BUILD_DIR}"/bin/samples.cfg
+ fi
+}
+
+pkg_postinst() {
+ elog "If you experience crashes when starting /usr/bin/SampleBrowser,"
+ elog "remove the cache directory at:"
+ elog " '~/.cache/OGRE Sample Browser'"
+ elog "first, before filing a bug report."
+}
diff --git a/dev-games/ogre/ogre-2.1.ebuild b/dev-games/ogre/ogre-2.1-r1.ebuild
index 6b173719ca73..dd9f2e405a0a 100644
--- a/dev-games/ogre/ogre-2.1.ebuild
+++ b/dev-games/ogre/ogre-2.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,7 +16,7 @@ SRC_URI="https://github.com/OGRECave/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.g
LICENSE="MIT public-domain"
SLOT="0/2.1"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~x86"
IUSE="+cache debug doc double-precision egl examples fine-granularity +freeimage json
legacy-animations +opengl profile tools"
@@ -36,7 +36,7 @@ RDEPEND="
x11-libs/libXaw
x11-libs/libXrandr
x11-libs/libXt
- egl? ( media-libs/mesa[egl] )
+ egl? ( media-libs/mesa[egl(+)] )
freeimage? ( media-libs/freeimage )
json? ( dev-libs/rapidjson )
opengl? (
@@ -55,7 +55,7 @@ DEPEND="
"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
PATCHES=(
diff --git a/dev-games/ois/Manifest b/dev-games/ois/Manifest
index 4610d18db104..2c588041c02d 100644
--- a/dev-games/ois/Manifest
+++ b/dev-games/ois/Manifest
@@ -1 +1 @@
-DIST ois_v1-3.tar.gz 136739 BLAKE2B 88dd3af2c8b253d9cacc5c65510c150ba50c6a47c1c2cd241bf366f38fba0560a7cef08392e338984e8b172020c4a4c37e5eab024fabc695b2f06f93393850ed SHA512 48b7355a9be9c66233691aa5461192fb6e537d284e4366ebf931a76ee3be30f2cf17a4aa350fce6b433eaecf4259414062b9dd5854eaf872b9a18294cfc640c3
+DIST ois-1.5.1.tar.gz 554124 BLAKE2B a975cbd629b86618a607b275bfcd35fedfd897c8aec00ab1caad992762d2fef4197af5eb052ffd122c135b610f5611c76c9cce937ca002668e3c313bf08a1d4a SHA512 20598aef999a70900cb7f75ffaf62059acf8e811822971cb21986b5d25d28dacb79e4b4cf4770c70e00d3c55cdd01ef3e68a77c2dd148677784fc4df38891340
diff --git a/dev-games/ois/files/ois-1.3-automake-1.13.patch b/dev-games/ois/files/ois-1.3-automake-1.13.patch
deleted file mode 100644
index fb103e40335a..000000000000
--- a/dev-games/ois/files/ois-1.3-automake-1.13.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ois-v1-3/configure.ac
-+++ ois-v1-3/configure.ac
-@@ -5,7 +5,7 @@
-
- AC_CANONICAL_TARGET
- AM_INIT_AUTOMAKE( [OIS], 1.3.0 )
--AM_CONFIG_HEADER([includes/config.h])
-+AC_CONFIG_HEADERS([includes/config.h])
-
- dnl Check for programs
- AC_PROG_CC
diff --git a/dev-games/ois/files/ois-1.3-gcc47.patch b/dev-games/ois/files/ois-1.3-gcc47.patch
deleted file mode 100644
index d002ec3cffb5..000000000000
--- a/dev-games/ois/files/ois-1.3-gcc47.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- demos/FFConsoleDemo.cpp.old 2012-07-17 08:41:33.667876985 +0200
-+++ demos/FFConsoleDemo.cpp 2012-07-17 08:42:01.415928693 +0200
-@@ -7,6 +7,7 @@
- #include <ios>
- #include <sstream>
- #include <vector>
-+#include <unistd.h>
-
- using namespace std;
-
---- demos/OISConsole.cpp.old 2012-07-17 08:43:44.637681119 +0200
-+++ demos/OISConsole.cpp 2012-07-17 08:44:06.653135337 +0200
-@@ -12,6 +12,7 @@
- #include <iostream>
- #include <vector>
- #include <sstream>
-+#include <unistd.h>
-
- ////////////////////////////////////Needed Windows Headers////////////
- #if defined OIS_WIN32_PLATFORM
---- src/linux/LinuxJoyStickEvents.cpp.old 2012-07-17 08:37:56.065155660 +0200
-+++ src/linux/LinuxJoyStickEvents.cpp 2012-07-17 08:38:33.236545721 +0200
-@@ -33,6 +33,7 @@
- #include <fcntl.h> //Needed to Open a file descriptor
- #include <cassert>
- #include <linux/input.h>
-+#include <unistd.h>
-
-
- #include <sstream>
---- src/linux/LinuxForceFeedback.cpp.old 2012-07-17 08:40:02.633268854 +0200
-+++ src/linux/LinuxForceFeedback.cpp 2012-07-17 08:40:28.642442655 +0200
-@@ -26,6 +26,7 @@
- #include <cstdlib>
- #include <errno.h>
- #include <memory.h>
-+#include <unistd.h>
-
- using namespace OIS;
-
diff --git a/dev-games/ois/metadata.xml b/dev-games/ois/metadata.xml
index 5d67c2e9bc85..8227df9e4e71 100644
--- a/dev-games/ois/metadata.xml
+++ b/dev-games/ois/metadata.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
<upstream>
+ <remote-id type="github">wgois/OIS</remote-id>
<remote-id type="sourceforge">wgois</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-games/ois/ois-1.3.ebuild b/dev-games/ois/ois-1.3.ebuild
deleted file mode 100644
index a7572e973690..000000000000
--- a/dev-games/ois/ois-1.3.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit autotools autotools-utils
-
-MY_P=${PN}-v${PV/./-}
-DESCRIPTION="Object-oriented Input System - A cross-platform C++ input handling library"
-HOMEPAGE="https://sourceforge.net/projects/wgois/"
-SRC_URI="mirror://sourceforge/wgois/${MY_P/-/_}.tar.gz"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE="static-libs"
-
-DEPEND="x11-libs/libXaw
- x11-libs/libX11"
-
-S=${WORKDIR}/${MY_P}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-gcc47.patch \
- "${FILESDIR}"/${P}-automake-1.13.patch
- eautoreconf
-}
diff --git a/dev-games/ois/ois-1.5.1.ebuild b/dev-games/ois/ois-1.5.1.ebuild
new file mode 100644
index 000000000000..3c0948fdfda6
--- /dev/null
+++ b/dev-games/ois/ois-1.5.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Object-oriented Input System - A cross-platform C++ input handling library"
+HOMEPAGE="https://github.com/wgois/OIS"
+SRC_URI="https://github.com/wgois/OIS/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P^^}"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
+
+DEPEND="
+ x11-libs/libXaw
+ x11-libs/libX11
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-games/openscenegraph-openmw/Manifest b/dev-games/openscenegraph-openmw/Manifest
index 16fc597107e4..2e55fa72c8ef 100644
--- a/dev-games/openscenegraph-openmw/Manifest
+++ b/dev-games/openscenegraph-openmw/Manifest
@@ -1 +1 @@
-DIST openscenegraph-openmw-3.4_p20200425.tar.gz 5698786 BLAKE2B 43684fa898912434dae9a7b41070a893c407dceba7e468a3f3dede32e24aea55d921098faf8d9d05708d2ef01a3507b2f126939dc13b8693002a0bec189bbaf7 SHA512 9bb4d2a6ca4694ee22a29508b74a095a483584ea801dc8298ec8a9b41c4d4fe18c52a21849ae9ec1065060479dcad5156227f82feed13c177415662ecba1da70
+DIST openscenegraph-openmw-3.6_p20221115.tar.gz 5789008 BLAKE2B 312544e8cb06146f1ba4f2ba87cbb7abcea166bfb88fb0252ab003eb35f6b84e96f85ca9d9f07a78a9b8fe692b43a976f57c2f4b326fc8612f564f8fa2baadd6 SHA512 0f54d98069674d016bfca08512d8322f3a744eb21c6ab7c798dc11896aba85270a64404e24f217217f5fd5e191b106aff645dbaec4f7828e8cc5f94328574977
diff --git a/dev-games/openscenegraph-openmw/files/openscenegraph-3.4-cmake.patch b/dev-games/openscenegraph-openmw/files/openscenegraph-3.4-cmake.patch
deleted file mode 100644
index 85eff1ab7907..000000000000
--- a/dev-games/openscenegraph-openmw/files/openscenegraph-3.4-cmake.patch
+++ /dev/null
@@ -1,87 +0,0 @@
---- OpenSceneGraph-3.4.0/CMakeLists.txt
-+++ OpenSceneGraph-3.4.0/CMakeLists.txt
-@@ -76,6 +76,7 @@
- SET(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
- ENDIF(NOT CMAKE_BUILD_TYPE)
-
-+INCLUDE(MacroOptionalFindPackage)
-
- IF(ANDROID)
- INCLUDE(OsgAndroidMacroUtils)--- OpenSceneGraph-3.4.0/CMakeModules/COPYING-CMAKE-SCRIPTS
-+++ OpenSceneGraph-3.4.0/CMakeModules/COPYING-CMAKE-SCRIPTS
-@@ -0,0 +1,22 @@
-+Redistribution and use in source and binary forms, with or without
-+modification, are permitted provided that the following conditions
-+are met:
-+
-+1. Redistributions of source code must retain the copyright
-+ notice, this list of conditions and the following disclaimer.
-+2. Redistributions in binary form must reproduce the copyright
-+ notice, this list of conditions and the following disclaimer in the
-+ documentation and/or other materials provided with the distribution.
-+3. The name of the author may not be used to endorse or promote products
-+ derived from this software without specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---- OpenSceneGraph-3.4.0/CMakeModules/MacroOptionalFindPackage.cmake
-+++ OpenSceneGraph-3.4.0/CMakeModules/MacroOptionalFindPackage.cmake
-@@ -0,0 +1,28 @@
-+# - MACRO_OPTIONAL_FIND_PACKAGE() combines FIND_PACKAGE() with an OPTION()
-+# MACRO_OPTIONAL_FIND_PACKAGE( <name> [QUIT] )
-+# This macro is a combination of OPTION() and FIND_PACKAGE(), it
-+# works like FIND_PACKAGE(), but additionally it automatically creates
-+# an option name WITH_<name>, which can be disabled via the cmake GUI.
-+# or via -DWITH_<name>=OFF
-+# The standard <name>_FOUND variables can be used in the same way
-+# as when using the normal FIND_PACKAGE()
-+
-+# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
-+#
-+# Redistribution and use is allowed according to the terms of the BSD license.
-+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-+
-+
-+macro (MACRO_OPTIONAL_FIND_PACKAGE _name )
-+ option(WITH_${_name} "Search for ${_name} package" ON)
-+ if (WITH_${_name})
-+ find_package(${_name} ${ARGN})
-+ else (WITH_${_name})
-+ set(${_name}_FOUND)
-+ set(${_name}_INCLUDE_DIR)
-+ set(${_name}_INCLUDES)
-+ set(${_name}_LIBRARY)
-+ set(${_name}_LIBRARIES)
-+ endif (WITH_${_name})
-+endmacro (MACRO_OPTIONAL_FIND_PACKAGE)
-+
---- OpenSceneGraph-3.5.5/CMakeModules/OsgMacroUtils.cmake
-+++ OpenSceneGraph-3.5.5/CMakeModules/OsgMacroUtils.cmake
-@@ -463,7 +463,7 @@ MACRO(SETUP_EXAMPLE EXAMPLE_NAME)
- IF(APPLE)
- INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin BUNDLE DESTINATION share/OpenSceneGraph/bin )
- ELSE(APPLE)
-- INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples )
-+ INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin COMPONENT openscenegraph-examples )
- IF(MSVC)
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_TARGETNAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples CONFIGURATIONS RelWithDebInfo)
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_TARGETNAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples CONFIGURATIONS Debug)
-
---- OpenSceneGraph-3.4.0/examples/osgviewerFLTK/CMakeLists.txt
-+++ OpenSceneGraph-3.4.0/examples/osgviewerFLTK/CMakeLists.txt
-@@ -1,6 +1,6 @@
- SET(TARGET_SRC osgviewerFLTK.cpp )
-
--SET(TARGET_EXTERNAL_LIBRARIES ${FLTK_LIBRARY} ${FLTK_GL_LIBRARY})
-+SET(TARGET_EXTERNAL_LIBRARIES ${FLTK_BASE_LIBRARY} ${FLTK_GL_LIBRARY})
-
- INCLUDE_DIRECTORIES(${FLTK_INCLUDE_DIR} )
-
diff --git a/dev-games/openscenegraph-openmw/files/openscenegraph-3.5.1-jpeg-9.patch b/dev-games/openscenegraph-openmw/files/openscenegraph-3.5.1-jpeg-9.patch
deleted file mode 100644
index f6e85e8e352d..000000000000
--- a/dev-games/openscenegraph-openmw/files/openscenegraph-3.5.1-jpeg-9.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 34b4e7001522c1b47b4211dac34d2d6a6b994a6f Mon Sep 17 00:00:00 2001
-From: Robert Osfield <robert@openscenegraph.com>
-Date: Thu, 17 Aug 2017 10:52:59 +0100
-Subject: [PATCH] Added version check for boolean, TRUE and FALSE settings
-
----
- src/osgPlugins/jpeg/ReaderWriterJPEG.cpp | 14 ++++++++------
- 1 file changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/src/osgPlugins/jpeg/ReaderWriterJPEG.cpp b/src/osgPlugins/jpeg/ReaderWriterJPEG.cpp
-index 9f7f4c38937..115203322a5 100644
---- a/src/osgPlugins/jpeg/ReaderWriterJPEG.cpp
-+++ b/src/osgPlugins/jpeg/ReaderWriterJPEG.cpp
-@@ -70,12 +70,14 @@ namespace osgDBJPEG
-
- static int jpegerror = ERR_NO_ERROR;
-
--/* Some versions of jmorecfg.h define boolean, some don't...
-- Those that do also define HAVE_BOOLEAN, so we can guard using that. */
--#ifndef HAVE_BOOLEAN
-- typedef int boolean;
-- #define FALSE 0
-- #define TRUE 1
-+#if JPEG_LIB_VERSION < 90
-+ /* Some versions of jmorecfg.h define boolean, some don't...
-+ Those that do also define HAVE_BOOLEAN, so we can guard using that. */
-+ #ifndef HAVE_BOOLEAN
-+ typedef int boolean;
-+ #define FALSE 0
-+ #define TRUE 1
-+ #endif
- #endif
-
- /* CODE FOR READING/WRITING JPEG FROM STREAMS
diff --git a/dev-games/openscenegraph-openmw/files/openscenegraph-3.6-openexr3.patch b/dev-games/openscenegraph-openmw/files/openscenegraph-3.6-openexr3.patch
new file mode 100644
index 000000000000..1cfab7715f10
--- /dev/null
+++ b/dev-games/openscenegraph-openmw/files/openscenegraph-3.6-openexr3.patch
@@ -0,0 +1,68 @@
+https://bugs.gentoo.org/833492
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -752,7 +752,6 @@ ELSE()
+- FIND_PACKAGE(ilmbase)
+ FIND_PACKAGE(Inventor)
+ FIND_PACKAGE(Jasper)
+- FIND_PACKAGE(OpenEXR)
++ FIND_PACKAGE(OpenEXR CONFIG)
+ FIND_PACKAGE(OpenCascade)
+ FIND_PACKAGE(COLLADA)
+ FIND_PACKAGE(FBX)
+--- a/src/osgPlugins/CMakeLists.txt
++++ b/src/osgPlugins/CMakeLists.txt
+@@ -105,7 +105,7 @@ ENDIF()
+ IF(JASPER_FOUND)
+ ADD_PLUGIN_DIRECTORY(jp2)
+ ENDIF()
+-IF(OPENEXR_FOUND AND ZLIB_FOUND AND OSG_CPP_EXCEPTIONS_AVAILABLE)
++IF(OpenEXR_FOUND AND ZLIB_FOUND AND OSG_CPP_EXCEPTIONS_AVAILABLE)
+ ADD_PLUGIN_DIRECTORY(exr)
+ ENDIF()
+ IF(GIFLIB_FOUND)
+--- a/src/osgPlugins/exr/CMakeLists.txt
++++ b/src/osgPlugins/exr/CMakeLists.txt
+@@ -1,9 +1,7 @@
+-INCLUDE_DIRECTORIES( ${ILMBASE_INCLUDE_DIR}/OpenEXR )
+-INCLUDE_DIRECTORIES( ${OPENEXR_INCLUDE_DIR}/OpenEXR )
+-
+ SET(TARGET_SRC ReaderWriterEXR.cpp )
+
+-SET(TARGET_LIBRARIES_VARS ${OPENEXR_LIBRARIES_VARS} ${ILMBASE_LIBRARIES_VARS} ZLIB_LIBRARIES)
++SET(OPENEXR_LIBRARIES_VARS OpenEXR::OpenEXR)
++SET(TARGET_LIBRARIES_VARS OPENEXR_LIBRARIES_VARS ZLIB_LIBRARIES)
+
+ IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ REMOVE_CXX_FLAG(-Wshadow)
+--- a/src/osgPlugins/exr/ReaderWriterEXR.cpp
++++ b/src/osgPlugins/exr/ReaderWriterEXR.cpp
+@@ -41,11 +41,11 @@ public:
+ {
+ return _inStream->read(c,n).good();
+ };
+- virtual Int64 tellg ()
++ virtual uint64_t tellg ()
+ {
+ return _inStream->tellg();
+ };
+- virtual void seekg (Int64 pos)
++ virtual void seekg (uint64_t pos)
+ {
+ _inStream->seekg(pos);
+ };
+@@ -69,11 +69,11 @@ public:
+ {
+ _outStream->write(c,n);
+ };
+- virtual Int64 tellp ()
++ virtual uint64_t tellp ()
+ {
+ return _outStream->tellp();
+ };
+- virtual void seekp (Int64 pos)
++ virtual void seekp (uint64_t pos)
+ {
+ _outStream->seekp(pos);
+ };
diff --git a/dev-games/openscenegraph-openmw/files/openscenegraph-3.6.3-cmake.patch b/dev-games/openscenegraph-openmw/files/openscenegraph-3.6.3-cmake.patch
new file mode 100644
index 000000000000..708c68659680
--- /dev/null
+++ b/dev-games/openscenegraph-openmw/files/openscenegraph-3.6.3-cmake.patch
@@ -0,0 +1,12 @@
+--- a/CMakeModules/OsgMacroUtils.cmake
++++ b/CMakeModules/OsgMacroUtils.cmake
+@@ -463,7 +463,7 @@ MACRO(SETUP_EXAMPLE EXAMPLE_NAME)
+ IF(APPLE)
+ INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin BUNDLE DESTINATION share/OpenSceneGraph/bin )
+ ELSE(APPLE)
+- INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples )
++ INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin COMPONENT openscenegraph-examples )
+ IF(MSVC)
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_TARGETNAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples CONFIGURATIONS RelWithDebInfo)
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_TARGETNAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples CONFIGURATIONS Debug)
+
diff --git a/dev-games/openscenegraph-openmw/files/openscenegraph-3.6.5-cmake_lua_version.patch b/dev-games/openscenegraph-openmw/files/openscenegraph-3.6.5-cmake_lua_version.patch
new file mode 100644
index 000000000000..1373b296da04
--- /dev/null
+++ b/dev-games/openscenegraph-openmw/files/openscenegraph-3.6.5-cmake_lua_version.patch
@@ -0,0 +1,14 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -771,10 +771,7 @@
+ FIND_PACKAGE(LIBLAS)
+
+ IF (NOT(OSG_USE_LOCAL_LUA_SOURCE))
+- FIND_PACKAGE(Lua52)
+- IF (NOT (LUA_LIBRARIES AND LUA_INCLUDE_DIR))
+- FIND_PACKAGE(Lua51)
+- ENDIF()
++ FIND_PACKAGE(Lua ${LUA_VERSION} EXACT)
+ ENDIF()
+
+ # V8 and Python plugins are tests for linking against these libraries but aren't functionality beyond this.
diff --git a/dev-games/openscenegraph-openmw/metadata.xml b/dev-games/openscenegraph-openmw/metadata.xml
index bc586e1a8125..95b4405f0657 100644
--- a/dev-games/openscenegraph-openmw/metadata.xml
+++ b/dev-games/openscenegraph-openmw/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>alexey+gentoo@asokolov.org</email>
<name>Alexey Sokolov</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
@@ -14,15 +14,28 @@
<name>Gentoo Games Project</name>
</maintainer>
<longdescription lang="en">
- OpenSceneGraph on steroids. This fork was created to experiment with performance enhancements for OpenMW that are too controversial to be included in the general purpose OSG project - either for design reasons or backward compatibility reasons. OpenMW still works with "vanilla" OpenSceneGraph, but it is recommended to use the fork for better performance (around 10-15% on most devices). Note that the improvements are very specific to OpenMW and its animation code in particular; other OpenSceneGraph applications are not likely to see the same speed-up, or any speed-up at all if they are already GPU limited.
+ OpenSceneGraph on steroids. This fork was created to experiment with
+ performance enhancements for OpenMW that are too controversial to be
+ included in the general purpose OSG project - either for design reasons
+ or backward compatibility reasons. OpenMW still works with "vanilla"
+ OpenSceneGraph, but it is recommended to use the fork for better
+ performance (around 10-15% on most devices). Note that the improvements
+ are very specific to OpenMW and its animation code in particular; other
+ OpenSceneGraph applications are not likely to see the same speed-up, or
+ any speed-up at all if they are already GPU limited.
</longdescription>
<use>
- <flag name="egl">Enable EGL support</flag>
+ <flag name="collada">Enable DAE file support via <pkg>dev-libs/collada-dom</pkg></flag>
+ <flag name="dicom">Enable DICOM medical image file support via <pkg>sci-libs/dcmtk</pkg></flag>
<flag name="fox">Build examples using <pkg>x11-libs/fox</pkg> library</flag>
<flag name="gdal">Enable support for <pkg>sci-libs/gdal</pkg> library</flag>
+ <flag name="las">Enable support for geospatial data LAS LiDAR format using <pkg>sci-geosciences/liblas</pkg></flag>
<flag name="openinventor">Build OpenInventor plugin</flag>
<flag name="osgapps">Build osg applications</flag>
<flag name="sdl2">Use <pkg>media-libs/libsdl2</pkg> additionally to <pkg>media-libs/libsdl</pkg></flag>
<flag name="xrandr">Enable support for the X xrandr extension</flag>
</use>
+ <upstream>
+ <remote-id type="github">OpenMW/osg</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-games/openscenegraph-openmw/openscenegraph-openmw-3.4_p20200425.ebuild b/dev-games/openscenegraph-openmw/openscenegraph-openmw-3.4_p20200425.ebuild
deleted file mode 100644
index fe26f799c8c5..000000000000
--- a/dev-games/openscenegraph-openmw/openscenegraph-openmw-3.4_p20200425.ebuild
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-WX_GTK_VER="3.0-gtk3"
-inherit cmake flag-o-matic wxwidgets
-
-DESCRIPTION="OpenMW-specific fork of OpenSceneGraph"
-HOMEPAGE="https://github.com/OpenMW/osg"
-MY_COMMIT="8b07809fa674ecffe77338aaea2e223b3aadff0e"
-SRC_URI="https://github.com/OpenMW/osg/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/osg-${MY_COMMIT}"
-
-LICENSE="wxWinLL-3 LGPL-2.1"
-SLOT="0/132" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
-KEYWORDS="~amd64 ~x86"
-IUSE="curl debug doc examples egl ffmpeg fltk fox gdal gif glut gstreamer jpeg
- lua openexr openinventor osgapps pdf png qt5 sdl sdl2 svg tiff
- truetype vnc wxwidgets xine xrandr zlib"
-
-REQUIRED_USE="
- sdl2? ( sdl )
- openexr? ( zlib )
-"
-
-# TODO: COLLADA, FBX, GTA, OpenVRML, Performer, DCMTK
-BDEPEND="
- app-arch/unzip
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
-"
-RDEPEND="
- !dev-games/openscenegraph
- media-libs/mesa[egl?]
- virtual/glu
- virtual/opengl
- x11-libs/libSM
- x11-libs/libXext
- curl? ( net-misc/curl )
- examples? (
- fltk? ( x11-libs/fltk:1[opengl] )
- fox? ( x11-libs/fox:1.6[opengl] )
- glut? ( media-libs/freeglut )
- sdl2? ( media-libs/libsdl2 )
- wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] )
- )
- ffmpeg? ( media-video/ffmpeg:0= )
- gdal? ( sci-libs/gdal:= )
- gif? ( media-libs/giflib:= )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- jpeg? ( virtual/jpeg:0 )
- lua? ( >=dev-lang/lua-5.1.5:* )
- openexr? (
- media-libs/ilmbase:=
- media-libs/openexr:=
- )
- openinventor? ( media-libs/coin )
- pdf? ( app-text/poppler[cairo] )
- png? ( media-libs/libpng:0= )
- qt5? (
- dev-qt/qtopengl:5
- dev-qt/qtwidgets:5
- )
- sdl? ( media-libs/libsdl )
- svg? (
- gnome-base/librsvg
- x11-libs/cairo
- )
- tiff? ( media-libs/tiff:0 )
- truetype? ( media-libs/freetype:2 )
- vnc? ( net-libs/libvncserver )
- xrandr? ( x11-libs/libXrandr )
- zlib? ( sys-libs/zlib )
-"
-DEPEND="${RDEPEND}
- x11-base/xorg-proto
-"
-
-PATCHES=(
- "${FILESDIR}"/openscenegraph-3.4-cmake.patch
- "${FILESDIR}"/openscenegraph-3.5.1-jpeg-9.patch
- "${FILESDIR}"/openscenegraph-3.6.3-docdir.patch
-)
-
-src_prepare() {
- sed -i "s/ FIND_PACKAGE/ MACRO_OPTIONAL_FIND_PACKAGE/g" CMakeLists.txt || die "can't replace FIND_PACKAGE"
- cmake_src_prepare
-}
-
-src_configure() {
- if use examples && use wxwidgets; then
- setup-wxwidgets
- fi
-
- # Needed by FFmpeg
- append-cppflags -D__STDC_CONSTANT_MACROS
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- -DDYNAMIC_OPENSCENEGRAPH=ON
- -DLIB_POSTFIX=${libdir/lib}
- -DOPENGL_PROFILE=GL2 #GL1 GL2 GL3 GLES1 GLES3 GLES3
- -DOSG_PROVIDE_READFILE=ON
- -DOSG_USE_LOCAL_LUA_SOURCE=OFF
- -DWITH_Lua51=OFF # We use CMake-version FindLua52.cmake instead which can find any lua
- -DWITH_Lua52=$(usex lua)
- -DWITH_Asio=OFF # Fails to build, similar to https://github.com/chriskohlhoff/asio/issues/316
- -DWITH_CURL=$(usex curl)
- -DBUILD_DOCUMENTATION=$(usex doc)
- -DBUILD_OSG_APPLICATIONS=$(usex osgapps)
- -DBUILD_OSG_EXAMPLES=$(usex examples)
- -DWITH_FFmpeg=$(usex ffmpeg)
- -DWITH_GDAL=$(usex gdal)
- -DWITH_GIFLIB=$(usex gif)
- -DWITH_GStreamer=$(usex gstreamer)
- -DWITH_GLIB=$(usex gstreamer)
- -DWITH_GtkGl=OFF
- -DWITH_JPEG=$(usex jpeg)
- -DWITH_Jasper=OFF
- -DWITH_LIBLAS=OFF # dep failed to build https://bugs.gentoo.org/725938
- -DWITH_OpenEXR=$(usex openexr)
- -DWITH_Inventor=$(usex openinventor)
- -DWITH_Poppler-glib=$(usex pdf)
- -DWITH_PNG=$(usex png)
- -DWITH_SDL=$(usex sdl)
- -DWITH_SDL2=$(usex sdl2)
- -DWITH_RSVG=$(usex svg rsvg)
- -DWITH_TIFF=$(usex tiff)
- -DWITH_Freetype=$(usex truetype)
- -DWITH_LibVNCServer=$(usex vnc)
- -DWITH_Xine=$(usex xine)
- -DOSGVIEWER_USE_XRANDR=$(usex xrandr)
- -DWITH_ZLIB=$(usex zlib)
- -DOSG_USE_QT=$(usex qt5)
- -DDESIRED_QT_VERSION=5
- )
- if use examples; then
- mycmakeargs+=(
- -DWITH_FLTK=$(usex fltk)
- -DWITH_FOX=$(usex fox)
- -DWITH_GLUT=$(usex glut)
- -DWITH_wxWidgets=$(usex wxwidgets)
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- use doc && cmake_src_compile doc_openscenegraph doc_openthreads
-}
diff --git a/dev-games/openscenegraph/openscenegraph-3.6.4.ebuild b/dev-games/openscenegraph-openmw/openscenegraph-openmw-3.6_p20221115.ebuild
index 14ae3e9ed18a..b519ec51bc22 100644
--- a/dev-games/openscenegraph/openscenegraph-3.6.4.ebuild
+++ b/dev-games/openscenegraph-openmw/openscenegraph-openmw-3.6_p20221115.ebuild
@@ -1,70 +1,81 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
+LUA_COMPAT=( lua5-1 )
-MY_PN="OpenSceneGraph"
-MY_P=${MY_PN}-${PV}
WX_GTK_VER="3.0-gtk3"
-inherit cmake flag-o-matic wxwidgets
+inherit cmake flag-o-matic lua-single wxwidgets
+
+MY_COMMIT="69cfecebfb6dc703b42e8de39eed750a84a87489"
-DESCRIPTION="Open source high performance 3D graphics toolkit"
-HOMEPAGE="http://www.openscenegraph.org/"
-SRC_URI="https://github.com/${PN}/${MY_PN}/archive/${MY_P}.tar.gz"
+DESCRIPTION="OpenMW-specific fork of OpenSceneGraph"
+HOMEPAGE="https://github.com/OpenMW/osg"
+SRC_URI="https://github.com/OpenMW/osg/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/osg-${MY_COMMIT}"
LICENSE="wxWinLL-3 LGPL-2.1"
-SLOT="0/158" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
-KEYWORDS="amd64 ~hppa ppc ppc64 x86"
-IUSE="asio curl dicom debug doc egl examples ffmpeg fltk fox gdal gif glut
-gstreamer jpeg las lua openexr openinventor osgapps pdf png sdl sdl2
-svg tiff truetype vnc wxwidgets xrandr +zlib"
+SLOT="0/162" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="
+ +collada curl dicom debug doc egl examples fltk fox gdal
+ gif gstreamer +jpeg las lua openexr openinventor osgapps pdf +png
+ +sdl sdl2 +svg tiff +truetype vnc wxwidgets xrandr +zlib
+"
-REQUIRED_USE="sdl2? ( sdl ) dicom? ( zlib ) openexr? ( zlib )"
+REQUIRED_USE="
+ dicom? ( zlib )
+ lua? ( ${LUA_REQUIRED_USE} )
+ openexr? ( zlib )
+ sdl2? ( sdl )
+"
-# TODO: COLLADA, FBX, GTA, NVTT, OpenVRML, Performer
+# TODO: FBX, GTA, NVTT, OpenVRML, Performer
BDEPEND="
app-arch/unzip
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen[dot] )
"
RDEPEND="
- media-libs/mesa[egl?]
+ !dev-games/openscenegraph
+ dev-libs/glib:2
+ media-libs/fontconfig
+ media-libs/mesa[egl(+)?]
virtual/glu
virtual/opengl
x11-libs/libSM
x11-libs/libXext
- asio? ( dev-cpp/asio )
+ collada? ( dev-libs/collada-dom:= )
curl? ( net-misc/curl )
examples? (
fltk? ( x11-libs/fltk:1[opengl] )
fox? ( x11-libs/fox:1.6[opengl] )
- glut? ( media-libs/freeglut )
sdl2? ( media-libs/libsdl2 )
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] )
)
- ffmpeg? ( media-video/ffmpeg:0= )
gdal? ( sci-libs/gdal:= )
gif? ( media-libs/giflib:= )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
)
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:= )
las? ( >=sci-geosciences/liblas-1.8.0 )
- lua? ( >=dev-lang/lua-5.1.5:* )
+ lua? ( ${LUA_DEPS} )
openexr? (
- media-libs/ilmbase:=
- media-libs/openexr:=
+ dev-libs/imath:=
+ >=media-libs/openexr-3:=
)
openinventor? ( media-libs/coin )
- pdf? ( app-text/poppler[cairo] )
+ pdf? ( app-text/poppler:=[cairo] )
png? ( media-libs/libpng:0= )
sdl? ( media-libs/libsdl )
svg? (
- gnome-base/librsvg
+ gnome-base/librsvg:2
x11-libs/cairo
)
- tiff? ( media-libs/tiff:0 )
+ tiff? ( media-libs/tiff:= )
truetype? ( media-libs/freetype:2 )
vnc? ( net-libs/libvncserver )
xrandr? ( x11-libs/libXrandr )
@@ -74,16 +85,20 @@ DEPEND="${RDEPEND}
x11-base/xorg-proto
"
-S="${WORKDIR}/${MY_PN}-${MY_P}"
-
PATCHES=(
- "${FILESDIR}"/${PN}-3.6.3-cmake.patch
- "${FILESDIR}"/${PN}-3.6.3-docdir.patch
+ "${FILESDIR}"/openscenegraph-3.6.3-cmake.patch
+ "${FILESDIR}"/openscenegraph-3.6.3-docdir.patch
+ "${FILESDIR}"/openscenegraph-3.6.5-cmake_lua_version.patch
+ "${FILESDIR}"/openscenegraph-3.6-openexr3.patch
)
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
src_configure() {
if use examples && use wxwidgets; then
- need-wxwidgets unicode
+ setup-wxwidgets unicode
fi
# Needed by FFmpeg
@@ -94,16 +109,13 @@ src_configure() {
-DDYNAMIC_OPENSCENEGRAPH=ON
-DLIB_POSTFIX=${libdir/lib}
-DOPENGL_PROFILE=GL2 #GL1 GL2 GL3 GLES1 GLES3 GLES3
- -DOSG_ENVVAR_SUPPORTED=ON
- -DOSG_PROVIDE_READFILE=ON
- -DOSG_USE_LOCAL_LUA_SOURCE=OFF
- $(cmake_use_find_package asio Asio)
+ $(cmake_use_find_package collada COLLADA)
$(cmake_use_find_package curl CURL)
-DBUILD_DOCUMENTATION=$(usex doc)
$(cmake_use_find_package dicom DCMTK)
$(cmake_use_find_package egl EGL)
-DBUILD_OSG_EXAMPLES=$(usex examples)
- $(cmake_use_find_package ffmpeg FFmpeg)
+ -DCMAKE_DISABLE_FIND_PACKAGE_FFmpeg=ON
$(cmake_use_find_package gdal GDAL)
$(cmake_use_find_package gif GIFLIB)
$(cmake_use_find_package gstreamer GLIB)
@@ -112,8 +124,7 @@ src_configure() {
$(cmake_use_find_package jpeg JPEG)
-DCMAKE_DISABLE_FIND_PACKAGE_Jasper=ON
$(cmake_use_find_package las LIBLAS)
- $(cmake_use_find_package lua Lua51)
- -DCMAKE_DISABLE_FIND_PACKAGE_Lua52=ON
+ $(cmake_use_find_package lua Lua)
-DCMAKE_DISABLE_FIND_PACKAGE_OpenCascade=ON
$(cmake_use_find_package openexr OpenEXR)
$(cmake_use_find_package openinventor Inventor)
@@ -128,16 +139,24 @@ src_configure() {
$(cmake_use_find_package vnc LibVNCServer)
-DOSGVIEWER_USE_XRANDR=$(usex xrandr)
$(cmake_use_find_package zlib ZLIB)
+ -DOSG_USE_LOCAL_LUA_SOURCE=OFF
+ -DCMAKE_RELWITHDEBINFO_POSTFIX=
)
+
if use examples; then
mycmakeargs+=(
$(cmake_use_find_package fltk FLTK)
$(cmake_use_find_package fox FOX)
- $(cmake_use_find_package glut GLUT)
$(cmake_use_find_package wxwidgets wxWidgets)
)
fi
+ if use lua; then
+ mycmakeargs+=(
+ -DLUA_VERSION="$(lua_get_version)"
+ )
+ fi
+
cmake_src_configure
}
diff --git a/dev-games/openscenegraph-qt/metadata.xml b/dev-games/openscenegraph-qt/metadata.xml
index 8357d9c234b6..d4133c8dccbe 100644
--- a/dev-games/openscenegraph-qt/metadata.xml
+++ b/dev-games/openscenegraph-qt/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>reavertm@gentoo.org</email>
diff --git a/dev-games/openscenegraph-qt/openscenegraph-qt-3.5.7.ebuild b/dev-games/openscenegraph-qt/openscenegraph-qt-3.5.7-r1.ebuild
index 96ab9bcba0b6..958ff334b737 100644
--- a/dev-games/openscenegraph-qt/openscenegraph-qt-3.5.7.ebuild
+++ b/dev-games/openscenegraph-qt/openscenegraph-qt-3.5.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,13 +8,13 @@ MY_P=${MY_PN}-${PV}
inherit cmake
DESCRIPTION="Qt support for OpenSceneGraph"
-HOMEPAGE="http://www.openscenegraph.org/"
+HOMEPAGE="https://www.openscenegraph.com/"
SRC_URI="https://github.com/openscenegraph/${MY_PN}/archive/${PV}.tar.gz -> ${MY_P}.tar.gz"
LICENSE="wxWinLL-3 LGPL-2.1"
SLOT="0/145" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
KEYWORDS="amd64 ~ppc64 x86"
-IUSE="examples webkit"
+IUSE="examples"
RDEPEND="
>=dev-games/openscenegraph-3.6.3:=
@@ -22,7 +22,6 @@ RDEPEND="
dev-qt/qtgui:5
dev-qt/qtopengl:5
dev-qt/qtwidgets:5
- webkit? ( dev-qt/qtwebkit:5 )
"
DEPEND="${RDEPEND}"
BDEPEND="
@@ -41,8 +40,7 @@ src_configure() {
-DDYNAMIC_OPENSCENEGRAPH=ON
-DDESIRED_QT_VERSION=5
-DBUILD_OSG_EXAMPLES=$(usex examples)
- $(cmake_use_find_package webkit Qt5WebKitWidgets)
+ -DCMAKE_DISABLE_USE_FIND_PACKAGE_Qt5WebKitWidgets=ON
)
-
cmake_src_configure
}
diff --git a/dev-games/openscenegraph/Manifest b/dev-games/openscenegraph/Manifest
index 845c83da61a8..b2f78728f975 100644
--- a/dev-games/openscenegraph/Manifest
+++ b/dev-games/openscenegraph/Manifest
@@ -1,2 +1 @@
-DIST OpenSceneGraph-3.6.4.tar.gz 5771539 BLAKE2B 3f608566ed8bd927f30c18ab25147826a40655bfa0eca2b0765f775d1fca53c090b77c9963b392bb73b405150f64f1b3bdc57ac6ef59de7f88bf9fd208b2ff6e SHA512 7cb34fc279ba62a7d7177d3f065f845c28255688bd29026ffb305346e1bb2e515a22144df233e8a7246ed392044ee3e8b74e51bf655282d33ab27dcaf12f4b19
DIST OpenSceneGraph-3.6.5.tar.gz 5780762 BLAKE2B 31ebeeae94eb6aff043788313946d5c08886f97d97cd5796e600918e137ef7f06839206b79b2f5649aac7f34037d4d79e18a5638152e150de931b7f7a7d3c38b SHA512 7002fa30a3bcf6551d2e1050b4ca75a3736013fd190e4f50953717406864da1952deb09f530bc8c5ddf6e4b90204baec7dbc283f497829846d46d561f66feb4b
diff --git a/dev-games/openscenegraph/files/openscenegraph-3.6.5-cmake_lua_version.patch b/dev-games/openscenegraph/files/openscenegraph-3.6.5-cmake_lua_version.patch
new file mode 100644
index 000000000000..1373b296da04
--- /dev/null
+++ b/dev-games/openscenegraph/files/openscenegraph-3.6.5-cmake_lua_version.patch
@@ -0,0 +1,14 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -771,10 +771,7 @@
+ FIND_PACKAGE(LIBLAS)
+
+ IF (NOT(OSG_USE_LOCAL_LUA_SOURCE))
+- FIND_PACKAGE(Lua52)
+- IF (NOT (LUA_LIBRARIES AND LUA_INCLUDE_DIR))
+- FIND_PACKAGE(Lua51)
+- ENDIF()
++ FIND_PACKAGE(Lua ${LUA_VERSION} EXACT)
+ ENDIF()
+
+ # V8 and Python plugins are tests for linking against these libraries but aren't functionality beyond this.
diff --git a/dev-games/openscenegraph/files/openscenegraph-3.6.5-openexr3.patch b/dev-games/openscenegraph/files/openscenegraph-3.6.5-openexr3.patch
new file mode 100644
index 000000000000..6a6aa57950d6
--- /dev/null
+++ b/dev-games/openscenegraph/files/openscenegraph-3.6.5-openexr3.patch
@@ -0,0 +1,68 @@
+https://bugs.gentoo.org/833491
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -752,7 +752,6 @@ ELSE()
+- FIND_PACKAGE(ilmbase)
+ FIND_PACKAGE(Inventor)
+ FIND_PACKAGE(Jasper)
+- FIND_PACKAGE(OpenEXR)
++ FIND_PACKAGE(OpenEXR CONFIG)
+ FIND_PACKAGE(OpenCascade)
+ FIND_PACKAGE(COLLADA)
+ FIND_PACKAGE(FBX)
+--- a/src/osgPlugins/CMakeLists.txt
++++ b/src/osgPlugins/CMakeLists.txt
+@@ -105,7 +105,7 @@ ENDIF()
+ IF(JASPER_FOUND)
+ ADD_PLUGIN_DIRECTORY(jp2)
+ ENDIF()
+-IF(OPENEXR_FOUND AND ZLIB_FOUND AND OSG_CPP_EXCEPTIONS_AVAILABLE)
++IF(OpenEXR_FOUND AND ZLIB_FOUND AND OSG_CPP_EXCEPTIONS_AVAILABLE)
+ ADD_PLUGIN_DIRECTORY(exr)
+ ENDIF()
+ IF(GIFLIB_FOUND)
+--- a/src/osgPlugins/exr/CMakeLists.txt
++++ b/src/osgPlugins/exr/CMakeLists.txt
+@@ -1,9 +1,7 @@
+-INCLUDE_DIRECTORIES( ${ILMBASE_INCLUDE_DIR}/OpenEXR )
+-INCLUDE_DIRECTORIES( ${OPENEXR_INCLUDE_DIR}/OpenEXR )
+-
+ SET(TARGET_SRC ReaderWriterEXR.cpp )
+
+-SET(TARGET_LIBRARIES_VARS ${OPENEXR_LIBRARIES_VARS} ${ILMBASE_LIBRARIES_VARS} ZLIB_LIBRARIES)
++SET(OPENEXR_LIBRARIES_VARS OpenEXR::OpenEXR)
++SET(TARGET_LIBRARIES_VARS OPENEXR_LIBRARIES_VARS ZLIB_LIBRARIES)
+
+ IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ REMOVE_CXX_FLAG(-Wshadow)
+--- a/src/osgPlugins/exr/ReaderWriterEXR.cpp
++++ b/src/osgPlugins/exr/ReaderWriterEXR.cpp
+@@ -41,11 +41,11 @@ public:
+ {
+ return _inStream->read(c,n).good();
+ };
+- virtual Int64 tellg ()
++ virtual uint64_t tellg ()
+ {
+ return _inStream->tellg();
+ };
+- virtual void seekg (Int64 pos)
++ virtual void seekg (uint64_t pos)
+ {
+ _inStream->seekg(pos);
+ };
+@@ -69,11 +69,11 @@ public:
+ {
+ _outStream->write(c,n);
+ };
+- virtual Int64 tellp ()
++ virtual uint64_t tellp ()
+ {
+ return _outStream->tellp();
+ };
+- virtual void seekp (Int64 pos)
++ virtual void seekp (uint64_t pos)
+ {
+ _outStream->seekp(pos);
+ };
diff --git a/dev-games/openscenegraph/files/openscenegraph-3.6.5-remove-register-keyword.patch b/dev-games/openscenegraph/files/openscenegraph-3.6.5-remove-register-keyword.patch
new file mode 100644
index 000000000000..474e738e05c3
--- /dev/null
+++ b/dev-games/openscenegraph/files/openscenegraph-3.6.5-remove-register-keyword.patch
@@ -0,0 +1,172 @@
+diff -ruN osg/src/osgPlugins/cfg/ConfigLexer.cpp my/src/osgPlugins/cfg/ConfigLexer.cpp
+--- osg/src/osgPlugins/cfg/ConfigLexer.cpp 2020-01-31 12:03:07.000000000 +0100
++++ my/src/osgPlugins/cfg/ConfigLexer.cpp 2024-02-24 06:23:01.866597764 +0100
+@@ -832,9 +832,9 @@
+
+ YY_DECL
+ {
+- register yy_state_type yy_current_state;
+- register char *yy_cp, *yy_bp;
+- register int yy_act;
++ yy_state_type yy_current_state;
++ char *yy_cp, *yy_bp;
++ int yy_act;
+
+ #line 35 ".././ConfigLexer.l"
+
+@@ -881,7 +881,7 @@
+ yy_match:
+ do
+ {
+- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
++ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+@@ -1598,9 +1598,9 @@
+
+ int yyFlexLexer::yy_get_next_buffer()
+ {
+- register char *dest = yy_current_buffer->yy_ch_buf;
+- register char *source = yytext_ptr;
+- register int number_to_move, i;
++ char *dest = yy_current_buffer->yy_ch_buf;
++ char *source = yytext_ptr;
++ int number_to_move, i;
+ int ret_val;
+
+ if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+@@ -1730,14 +1730,14 @@
+
+ yy_state_type yyFlexLexer::yy_get_previous_state()
+ {
+- register yy_state_type yy_current_state;
+- register char *yy_cp;
++ yy_state_type yy_current_state;
++ char *yy_cp;
+
+ yy_current_state = yy_start;
+
+ for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ {
+- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
++ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+@@ -1764,10 +1764,10 @@
+
+ yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state )
+ {
+- register int yy_is_jam;
+- register char *yy_cp = yy_c_buf_p;
++ int yy_is_jam;
++ char *yy_cp = yy_c_buf_p;
+
+- register YY_CHAR yy_c = 1;
++ YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+@@ -1786,9 +1786,9 @@
+ }
+
+
+-void yyFlexLexer::yyunput( int c, register char* yy_bp )
++void yyFlexLexer::yyunput( int c, char* yy_bp )
+ {
+- register char *yy_cp = yy_c_buf_p;
++ char *yy_cp = yy_c_buf_p;
+
+ /* undo effects of setting up yytext */
+ *yy_cp = yy_hold_char;
+@@ -1796,10 +1796,10 @@
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+- register int number_to_move = yy_n_chars + 2;
+- register char *dest = &yy_current_buffer->yy_ch_buf[
++ int number_to_move = yy_n_chars + 2;
++ char *dest = &yy_current_buffer->yy_ch_buf[
+ yy_current_buffer->yy_buf_size + 2];
+- register char *source =
++ char *source =
+ &yy_current_buffer->yy_ch_buf[number_to_move];
+
+ while ( source > yy_current_buffer->yy_ch_buf )
+@@ -2119,7 +2119,7 @@
+ int n;
+ #endif
+ {
+- register int i;
++ int i;
+ for ( i = 0; i < n; ++i )
+ s1[i] = s2[i];
+ }
+@@ -2133,7 +2133,7 @@
+ yyconst char *s;
+ #endif
+ {
+- register int n;
++ int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
+diff -ruN osg/src/osgPlugins/cfg/ConfigParser.cpp my/src/osgPlugins/cfg/ConfigParser.cpp
+--- osg/src/osgPlugins/cfg/ConfigParser.cpp 2020-01-31 12:03:07.000000000 +0100
++++ my/src/osgPlugins/cfg/ConfigParser.cpp 2024-02-24 06:21:37.488008033 +0100
+@@ -351,7 +351,7 @@
+ # define YYCOPY(To, From, Count) \
+ do \
+ { \
+- register YYSIZE_T yyi; \
++ YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+@@ -1025,7 +1025,7 @@
+ const char *yystr;
+ # endif
+ {
+- register const char *yys = yystr;
++ const char *yys = yystr;
+
+ while (*yys++ != '\0')
+ continue;
+@@ -1050,8 +1050,8 @@
+ const char *yysrc;
+ # endif
+ {
+- register char *yyd = yydest;
+- register const char *yys = yysrc;
++ char *yyd = yydest;
++ const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+@@ -1175,8 +1175,8 @@
+ #endif
+ {
+
+- register int yystate;
+- register int yyn;
++ int yystate;
++ int yyn;
+ int yyresult;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+@@ -1194,12 +1194,12 @@
+ /* The state stack. */
+ short yyssa[YYINITDEPTH];
+ short *yyss = yyssa;
+- register short *yyssp;
++ short *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+- register YYSTYPE *yyvsp;
++ YYSTYPE *yyvsp;
+
+
+
diff --git a/dev-games/openscenegraph/files/openscenegraph-3.6.5-use_boost_asio.patch b/dev-games/openscenegraph/files/openscenegraph-3.6.5-use_boost_asio.patch
index 4dfeedcaf191..f9a32c0dc601 100644
--- a/dev-games/openscenegraph/files/openscenegraph-3.6.5-use_boost_asio.patch
+++ b/dev-games/openscenegraph/files/openscenegraph-3.6.5-use_boost_asio.patch
@@ -1,6 +1,5 @@
-diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/CMakeLists.txt osg-my/CMakeLists.txt
---- OpenSceneGraph-OpenSceneGraph-3.6.5/CMakeLists.txt 2020-01-31 12:03:07.000000000 +0100
-+++ osg-my/CMakeLists.txt 2020-09-26 18:45:41.191099844 +0200
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
@@ -764,7 +764,7 @@
FIND_PACKAGE(DirectInput)
FIND_PACKAGE(NVTT)
@@ -10,9 +9,8 @@ diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/CMakeLists.txt osg-my/CMakeLists.t
ENDIF()
FIND_PACKAGE(ZeroConf)
-diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/CMakeModules/FindAsio.cmake osg-my/CMakeModules/FindAsio.cmake
---- OpenSceneGraph-OpenSceneGraph-3.6.5/CMakeModules/FindAsio.cmake 2020-01-31 12:03:07.000000000 +0100
-+++ osg-my/CMakeModules/FindAsio.cmake 1970-01-01 01:00:00.000000000 +0100
+--- a/CMakeModules/FindAsio.cmake
++++ b/CMakeModules/FindAsio.cmake
@@ -1,22 +0,0 @@
-# Locate ASIO-headers (http://think-async.com/Asio)
-# This module defines
@@ -36,9 +34,8 @@ diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/CMakeModules/FindAsio.cmake osg-my
- SET(ASIO_FOUND "YES")
- ENDIF()
-ENDIF()
-diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/CMakeLists.txt osg-my/src/osgPlugins/CMakeLists.txt
---- OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/CMakeLists.txt 2020-01-31 12:03:07.000000000 +0100
-+++ osg-my/src/osgPlugins/CMakeLists.txt 2020-09-26 20:04:59.345449848 +0200
+--- a/src/osgPlugins/CMakeLists.txt
++++ b/src/osgPlugins/CMakeLists.txt
@@ -299,13 +299,13 @@
#
# Device integration plugins
@@ -57,9 +54,8 @@ diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/CMakeLists.txt osg-
IF(ZEROCONF_FOUND)
-diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/CMakeLists.txt osg-my/src/osgPlugins/RestHttpDevice/CMakeLists.txt
---- OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/CMakeLists.txt 2020-01-31 12:03:07.000000000 +0100
-+++ osg-my/src/osgPlugins/RestHttpDevice/CMakeLists.txt 2020-09-26 18:46:57.096859301 +0200
+--- a/src/osgPlugins/RestHttpDevice/CMakeLists.txt
++++ b/src/osgPlugins/RestHttpDevice/CMakeLists.txt
@@ -1,6 +1,5 @@
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
-INCLUDE_DIRECTORIES(${ASIO_INCLUDE_DIR})
@@ -77,9 +73,8 @@ diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/CMak
#### end var setup ###
SETUP_PLUGIN(resthttp)
-diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/connection.cpp osg-my/src/osgPlugins/RestHttpDevice/connection.cpp
---- OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/connection.cpp 2020-01-31 12:03:07.000000000 +0100
-+++ osg-my/src/osgPlugins/RestHttpDevice/connection.cpp 2020-09-26 18:32:19.690576603 +0200
+--- a/src/osgPlugins/RestHttpDevice/connection.cpp
++++ b/src/osgPlugins/RestHttpDevice/connection.cpp
@@ -37,14 +37,14 @@
void connection::start()
{
@@ -112,9 +107,8 @@ diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/conn
socket_.shutdown(asio::ip::tcp::socket::shutdown_both, ignored_ec);
}
-diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/connection.hpp osg-my/src/osgPlugins/RestHttpDevice/connection.hpp
---- OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/connection.hpp 2020-01-31 12:03:07.000000000 +0100
-+++ osg-my/src/osgPlugins/RestHttpDevice/connection.hpp 2020-09-26 19:56:49.410701890 +0200
+--- a/src/osgPlugins/RestHttpDevice/connection.hpp
++++ b/src/osgPlugins/RestHttpDevice/connection.hpp
@@ -11,7 +11,7 @@
#ifndef HTTP_SERVER_CONNECTION_HPP
#define HTTP_SERVER_CONNECTION_HPP
@@ -147,9 +141,8 @@ diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/conn
/// Socket for the connection.
asio::ip::tcp::socket socket_;
-diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/io_service_pool.cpp osg-my/src/osgPlugins/RestHttpDevice/io_service_pool.cpp
---- OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/io_service_pool.cpp 2020-01-31 12:03:07.000000000 +0100
-+++ osg-my/src/osgPlugins/RestHttpDevice/io_service_pool.cpp 2020-09-26 19:56:12.353279737 +0200
+--- a/src/osgPlugins/RestHttpDevice/io_service_pool.cpp
++++ b/src/osgPlugins/RestHttpDevice/io_service_pool.cpp
@@ -11,7 +11,7 @@
#include "server.hpp"
#include <stdexcept>
@@ -181,9 +174,8 @@ diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/io_s
}
void io_service_pool::stop()
-diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/io_service_pool.hpp osg-my/src/osgPlugins/RestHttpDevice/io_service_pool.hpp
---- OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/io_service_pool.hpp 2020-01-31 12:03:07.000000000 +0100
-+++ osg-my/src/osgPlugins/RestHttpDevice/io_service_pool.hpp 2020-09-26 18:37:02.119722575 +0200
+--- a/src/osgPlugins/RestHttpDevice/io_service_pool.hpp
++++ b/src/osgPlugins/RestHttpDevice/io_service_pool.hpp
@@ -11,11 +11,13 @@
#ifndef HTTP_SERVER_IO_SERVICE_POOL_HPP
#define HTTP_SERVER_IO_SERVICE_POOL_HPP
@@ -199,9 +191,8 @@ diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/io_s
namespace http {
namespace server {
-diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/reply.hpp osg-my/src/osgPlugins/RestHttpDevice/reply.hpp
---- OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/reply.hpp 2020-01-31 12:03:07.000000000 +0100
-+++ osg-my/src/osgPlugins/RestHttpDevice/reply.hpp 2020-09-26 18:28:42.741206569 +0200
+--- a/src/osgPlugins/RestHttpDevice/reply.hpp
++++ b/src/osgPlugins/RestHttpDevice/reply.hpp
@@ -13,9 +13,11 @@
#include <string>
@@ -215,9 +206,8 @@ diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/repl
namespace http {
namespace server {
-diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/server.cpp osg-my/src/osgPlugins/RestHttpDevice/server.cpp
---- OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/server.cpp 2020-01-31 12:03:07.000000000 +0100
-+++ osg-my/src/osgPlugins/RestHttpDevice/server.cpp 2020-09-26 19:53:17.692061347 +0200
+--- a/src/osgPlugins/RestHttpDevice/server.cpp
++++ b/src/osgPlugins/RestHttpDevice/server.cpp
@@ -23,7 +23,7 @@
request_handler_(doc_root)
{
@@ -236,9 +226,8 @@ diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/serv
{
if (!e)
{
-diff -ruN OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/server.hpp osg-my/src/osgPlugins/RestHttpDevice/server.hpp
---- OpenSceneGraph-OpenSceneGraph-3.6.5/src/osgPlugins/RestHttpDevice/server.hpp 2020-01-31 12:03:07.000000000 +0100
-+++ osg-my/src/osgPlugins/RestHttpDevice/server.hpp 2020-09-26 18:29:38.894046375 +0200
+--- a/src/osgPlugins/RestHttpDevice/server.hpp
++++ b/src/osgPlugins/RestHttpDevice/server.hpp
@@ -11,7 +11,7 @@
#ifndef HTTP_SERVER_SERVER_HPP
#define HTTP_SERVER_SERVER_HPP
diff --git a/dev-games/openscenegraph/metadata.xml b/dev-games/openscenegraph/metadata.xml
index 9345e47b8272..049f3df3a410 100644
--- a/dev-games/openscenegraph/metadata.xml
+++ b/dev-games/openscenegraph/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>reavertm@gentoo.org</email>
@@ -13,9 +13,8 @@
The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating systems. The OpenSceneGraph is now well established as the world leading scene graph technology, used widely in the vis-sim, space, scientific, oil-gas, games and virtual reality industries.
</longdescription>
<use>
- <flag name="asio">Enable support for <pkg>dev-cpp/asio</pkg> library</flag>
+ <flag name="collada">Enable DAE file support via <pkg>dev-libs/collada-dom</pkg></flag>
<flag name="dicom">Enable DICOM medical image file support via <pkg>sci-libs/dcmtk</pkg></flag>
- <flag name="egl">Enable EGL support</flag>
<flag name="fox">Build examples using <pkg>x11-libs/fox</pkg> library</flag>
<flag name="gdal">Enable support for <pkg>sci-libs/gdal</pkg> library</flag>
<flag name="las">Enable support for geospatial data LAS LiDAR format using <pkg>sci-geosciences/liblas</pkg></flag>
diff --git a/dev-games/openscenegraph/openscenegraph-3.6.5-r1.ebuild b/dev-games/openscenegraph/openscenegraph-3.6.5-r114.ebuild
index 66084018cb7c..f1e25ba3592f 100644
--- a/dev-games/openscenegraph/openscenegraph-3.6.5-r1.ebuild
+++ b/dev-games/openscenegraph/openscenegraph-3.6.5-r114.ebuild
@@ -1,38 +1,52 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+LUA_COMPAT=( lua5-1 )
+
+WX_GTK_VER="3.0-gtk3"
+inherit cmake flag-o-matic lua-single wxwidgets
+
MY_PN="OpenSceneGraph"
MY_P=${MY_PN}-${PV}
-WX_GTK_VER="3.0-gtk3"
-inherit cmake flag-o-matic wxwidgets
DESCRIPTION="Open source high performance 3D graphics toolkit"
-HOMEPAGE="http://www.openscenegraph.org/"
+HOMEPAGE="https://www.openscenegraph.com/"
SRC_URI="https://github.com/${PN}/${MY_PN}/archive/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${MY_P}"
LICENSE="wxWinLL-3 LGPL-2.1"
SLOT="0/161" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
-KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
-IUSE="curl dicom debug doc egl examples ffmpeg fltk fox gdal gif glut
-gstreamer jpeg las lua openexr openinventor osgapps pdf png sdl sdl2
-svg tiff truetype vnc wxwidgets xrandr +zlib"
+KEYWORDS="amd64 ~arm64 ~hppa ppc64 x86"
+IUSE="
+ collada curl dicom debug doc egl examples ffmpeg fltk fox gdal
+ gif glut gstreamer jpeg las lua openexr openinventor osgapps pdf png
+ sdl sdl2 svg tiff truetype vnc wxwidgets xrandr +zlib
+"
-REQUIRED_USE="sdl2? ( sdl ) dicom? ( zlib ) openexr? ( zlib )"
+REQUIRED_USE="
+ dicom? ( zlib )
+ lua? ( ${LUA_REQUIRED_USE} )
+ openexr? ( zlib )
+ sdl2? ( sdl )
+"
-# TODO: COLLADA, FBX, GTA, NVTT, OpenVRML, Performer
+# TODO: FBX, GTA, NVTT, OpenVRML, Performer
BDEPEND="
app-arch/unzip
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen[dot] )
"
+# <ffmpeg-5 for bug #831486 / bug #834425 and
+# https://github.com/openscenegraph/OpenSceneGraph/issues/1111
RDEPEND="
- media-libs/mesa[egl?]
+ media-libs/mesa[egl(+)?]
virtual/glu
virtual/opengl
x11-libs/libSM
x11-libs/libXext
+ collada? ( dev-libs/collada-dom:= )
curl? ( net-misc/curl )
examples? (
fltk? ( x11-libs/fltk:1[opengl] )
@@ -41,19 +55,19 @@ RDEPEND="
sdl2? ( media-libs/libsdl2 )
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] )
)
- ffmpeg? ( media-video/ffmpeg:0= )
+ ffmpeg? ( <media-video/ffmpeg-5:= )
gdal? ( sci-libs/gdal:= )
gif? ( media-libs/giflib:= )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
)
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:= )
las? ( >=sci-geosciences/liblas-1.8.0 )
- lua? ( >=dev-lang/lua-5.1.5:* )
+ lua? ( ${LUA_DEPS} )
openexr? (
- media-libs/ilmbase:=
- media-libs/openexr:=
+ dev-libs/imath:=
+ >=media-libs/openexr-3:=
)
openinventor? ( media-libs/coin )
pdf? ( app-text/poppler[cairo] )
@@ -63,28 +77,33 @@ RDEPEND="
gnome-base/librsvg
x11-libs/cairo
)
- tiff? ( media-libs/tiff:0 )
+ tiff? ( media-libs/tiff:= )
truetype? ( media-libs/freetype:2 )
vnc? ( net-libs/libvncserver )
xrandr? ( x11-libs/libXrandr )
zlib? ( sys-libs/zlib )
"
DEPEND="${RDEPEND}
- >=dev-libs/boost-1.37.0:*
+ dev-libs/boost
x11-base/xorg-proto
"
-S="${WORKDIR}/${MY_PN}-${MY_P}"
-
PATCHES=(
"${FILESDIR}"/${PN}-3.6.3-cmake.patch
"${FILESDIR}"/${PN}-3.6.3-docdir.patch
"${FILESDIR}"/${PN}-3.6.5-use_boost_asio.patch
+ "${FILESDIR}"/${PN}-3.6.5-cmake_lua_version.patch
+ "${FILESDIR}"/${PN}-3.6.5-openexr3.patch
+ "${FILESDIR}"/${PN}-3.6.5-remove-register-keyword.patch
)
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
src_configure() {
if use examples && use wxwidgets; then
- need-wxwidgets unicode
+ setup-wxwidgets unicode
fi
# Needed by FFmpeg
@@ -95,6 +114,7 @@ src_configure() {
-DDYNAMIC_OPENSCENEGRAPH=ON
-DLIB_POSTFIX=${libdir/lib}
-DOPENGL_PROFILE=GL2 #GL1 GL2 GL3 GLES1 GLES3 GLES3
+ $(cmake_use_find_package collada COLLADA)
$(cmake_use_find_package curl CURL)
-DBUILD_DOCUMENTATION=$(usex doc)
$(cmake_use_find_package dicom DCMTK)
@@ -109,8 +129,7 @@ src_configure() {
$(cmake_use_find_package jpeg JPEG)
-DCMAKE_DISABLE_FIND_PACKAGE_Jasper=ON
$(cmake_use_find_package las LIBLAS)
- $(cmake_use_find_package lua Lua51)
- -DCMAKE_DISABLE_FIND_PACKAGE_Lua52=ON
+ $(cmake_use_find_package lua Lua)
-DCMAKE_DISABLE_FIND_PACKAGE_OpenCascade=ON
$(cmake_use_find_package openexr OpenEXR)
$(cmake_use_find_package openinventor Inventor)
@@ -125,7 +144,9 @@ src_configure() {
$(cmake_use_find_package vnc LibVNCServer)
-DOSGVIEWER_USE_XRANDR=$(usex xrandr)
$(cmake_use_find_package zlib ZLIB)
+ -DOSG_USE_LOCAL_LUA_SOURCE=OFF
)
+
if use examples; then
mycmakeargs+=(
$(cmake_use_find_package fltk FLTK)
@@ -135,6 +156,12 @@ src_configure() {
)
fi
+ if use lua; then
+ mycmakeargs+=(
+ -DLUA_VERSION="$(lua_get_version)"
+ )
+ fi
+
cmake_src_configure
}
diff --git a/dev-games/paklib/metadata.xml b/dev-games/paklib/metadata.xml
index 18cdb530e7b8..7370627154d0 100644
--- a/dev-games/paklib/metadata.xml
+++ b/dev-games/paklib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/paklib/paklib-0.3.ebuild b/dev-games/paklib/paklib-0.3.ebuild
index b046ce39026f..1f4fd0de35f2 100644
--- a/dev-games/paklib/paklib-0.3.ebuild
+++ b/dev-games/paklib/paklib-0.3.ebuild
@@ -1,29 +1,34 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
+
inherit toolchain-funcs
DESCRIPTION="library for accessing Quake pak files"
HOMEPAGE="https://sourceforge.net/projects/paklib/"
-SRC_URI="mirror://sourceforge/paklib/pak-${PV}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/paklib/pak-${PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
-S=${WORKDIR}/pak
+S="${WORKDIR}/pak"
src_compile() {
- $(tc-getCC) ${LDFLAGS} ${CFLAGS} -fPIC -shared pak.c -o libpak.so || die "pak.so failed"
- $(tc-getCC) ${CFLAGS} -c pak.c -o libpak.a || die "pak.a failed"
+ "$(tc-getCC)" \
+ ${LDFLAGS} \
+ ${CFLAGS} \
+ ${CPPFLAGS} \
+ -Wl,-soname,libpak.so \
+ -fPIC \
+ -shared \
+ pak.c -o libpak.so || die "pak.so failed"
}
src_install() {
dolib.so libpak.so
- dolib.a libpak.a
- insinto /usr/include
- doins pak.h
+ doheader pak.h
+
dodoc AUTHORS NEWS README TODO pak.c pak.h
}
diff --git a/dev-games/physfs/files/GNUInstallDirs.patch b/dev-games/physfs/files/GNUInstallDirs.patch
new file mode 100644
index 000000000000..ef7bb5d1f147
--- /dev/null
+++ b/dev-games/physfs/files/GNUInstallDirs.patch
@@ -0,0 +1,74 @@
+From 727d7a5265ad856fd473ad1c621d6c03dd306d6d Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sat, 10 Jul 2021 22:55:53 +0100
+Subject: [PATCH] Use the GNUInstallDirs CMake module to respect installation
+ locations
+
+Apparently use of LIB_SUFFIX is now discouraged. GNUInstallDirs does a
+better job of setting a default.
+
+The libdir of ${prefix}/lib in the pkg-config file caused warnings,
+and possibly even failures, when linking on multilib systems where
+/usr/lib is for 32-bit libraries rather than 64-bit libraries.
+---
+ CMakeLists.txt | 15 ++++++++-------
+ extras/physfs.pc.in | 6 +++---
+ 2 files changed, 11 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4a67c27..6c26cb1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -14,6 +14,8 @@ cmake_minimum_required(VERSION 2.8.4)
+ project(PhysicsFS)
+ set(PHYSFS_VERSION 3.0.2)
+
++include(GNUInstallDirs)
++
+ # Increment this if/when we break backwards compatibility.
+ set(PHYSFS_SOVERSION 1)
+
+@@ -213,11 +215,11 @@ if(PHYSFS_BUILD_TEST)
+ set(PHYSFS_INSTALL_TARGETS ${PHYSFS_INSTALL_TARGETS} ";test_physfs")
+ endif()
+
+-install(TARGETS ${PHYSFS_INSTALL_TARGETS}
+- RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib${LIB_SUFFIX}
+- ARCHIVE DESTINATION lib${LIB_SUFFIX})
+-install(FILES src/physfs.h DESTINATION include)
++install(TARGETS ${PHYSFS_INSTALL_TARGETS} EXPORT PhysFSExport
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++install(FILES src/physfs.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ find_package(Doxygen)
+ if(DOXYGEN_FOUND)
+@@ -271,7 +273,7 @@ if(NOT MSVC)
+ )
+ install(
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/extras/physfs.pc"
+- DESTINATION "lib${LIB_SUFFIX}/pkgconfig"
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
+ )
+ endif()
+
+diff --git a/extras/physfs.pc.in b/extras/physfs.pc.in
+index 6cd0972..f7e0307 100644
+--- a/extras/physfs.pc.in
++++ b/extras/physfs.pc.in
+@@ -1,7 +1,7 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+-exec_prefix=${prefix}
+-libdir=${exec_prefix}/lib
+-includedir=${prefix}/include
++exec_prefix=@CMAKE_INSTALL_PREFIX@
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+
+ Name: PhysicsFS
+ Description: PhysicsFS is a library to provide abstract access to various archives.
+--
+2.31.1
+
diff --git a/dev-games/physfs/metadata.xml b/dev-games/physfs/metadata.xml
index 2a68749c367a..ac2991dbd822 100644
--- a/dev-games/physfs/metadata.xml
+++ b/dev-games/physfs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/physfs/physfs-3.0.2.ebuild b/dev-games/physfs/physfs-3.0.2-r1.ebuild
index 5973e8fad0a0..490e4e7730b5 100644
--- a/dev-games/physfs/physfs-3.0.2.ebuild
+++ b/dev-games/physfs/physfs-3.0.2-r1.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-CMAKE_ECLASS=cmake
inherit cmake-multilib
DESCRIPTION="Abstraction layer for filesystem and archive access"
@@ -13,7 +12,7 @@ if [[ ${PV} == *9999* ]]; then
EHG_REPO_URI="https://hg.icculus.org/icculus/physfs"
inherit mercurial
else
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ppc64 x86"
+ KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ppc64 ~riscv x86"
SRC_URI="https://icculus.org/physfs/downloads/${P}.tar.bz2"
fi
@@ -21,7 +20,11 @@ LICENSE="ZLIB"
SLOT="0"
IUSE="7zip doc grp hog iso mvl qpak slb static-libs vdf wad +zip"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/GNUInstallDirs.patch
+)
DOCS=( docs/CHANGELOG.txt docs/CREDITS.txt docs/TODO.txt )
diff --git a/dev-games/physfs/physfs-9999.ebuild b/dev-games/physfs/physfs-9999.ebuild
index d448a513f820..f91ada07391b 100644
--- a/dev-games/physfs/physfs-9999.ebuild
+++ b/dev-games/physfs/physfs-9999.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-CMAKE_ECLASS=cmake
inherit cmake-multilib
DESCRIPTION="Abstraction layer for filesystem and archive access"
@@ -13,7 +12,7 @@ if [[ ${PV} == *9999* ]]; then
EHG_REPO_URI="https://hg.icculus.org/icculus/physfs"
inherit mercurial
else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86"
SRC_URI="https://icculus.org/physfs/downloads/${P}.tar.bz2"
fi
@@ -21,7 +20,7 @@ LICENSE="ZLIB"
SLOT="0"
IUSE="7zip doc grp hog iso mvl qpak slb static-libs vdf wad +zip"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
DOCS=( docs/CHANGELOG.txt docs/CREDITS.txt docs/TODO.txt )
diff --git a/dev-games/poker-eval/metadata.xml b/dev-games/poker-eval/metadata.xml
index 78274e0fa550..1c3ba213c494 100644
--- a/dev-games/poker-eval/metadata.xml
+++ b/dev-games/poker-eval/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/poker-eval/poker-eval-138.0.ebuild b/dev-games/poker-eval/poker-eval-138.0.ebuild
index 0fb3aa86c059..99c2da9ae20d 100644
--- a/dev-games/poker-eval/poker-eval-138.0.ebuild
+++ b/dev-games/poker-eval/poker-eval-138.0.ebuild
@@ -1,26 +1,25 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit eutils ltprune
+EAPI=7
-DESCRIPTION="A fast C library for evaluating poker hands"
-HOMEPAGE="http://gna.org/projects/pokersource/"
+DESCRIPTION="Fast C library for evaluating poker hands"
+HOMEPAGE="http://pokersource.sourceforge.net/"
SRC_URI="http://download.gna.org/pokersource/sources/${P}.tar.gz"
-LICENSE="GPL-3"
+LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE="static-libs"
+
+DOCS=( AUTHORS ChangeLog NEWS README TODO WHATS-HERE )
src_configure() {
econf \
--without-ccache \
- $(use_enable static-libs static)
+ --disable-static
}
src_install() {
- DOCS="AUTHORS ChangeLog NEWS README TODO WHATS-HERE" \
- default
- prune_libtool_files
+ default
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-games/ps2-packer/metadata.xml b/dev-games/ps2-packer/metadata.xml
index e259e7a8037c..6a76b1f693ae 100644
--- a/dev-games/ps2-packer/metadata.xml
+++ b/dev-games/ps2-packer/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/ps2-packer/ps2-packer-0.4.4-r1.ebuild b/dev-games/ps2-packer/ps2-packer-0.4.4-r1.ebuild
new file mode 100644
index 000000000000..5d3ee26ac3e7
--- /dev/null
+++ b/dev-games/ps2-packer/ps2-packer-0.4.4-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit wrapper
+
+DESCRIPTION="Another ELF packer for the PS2"
+HOMEPAGE="https://github.com/ps2dev/ps2-packer"
+SRC_URI="mirror://gentoo/${P}-linux.tar.gz"
+S="${WORKDIR}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+RESTRICT="strip"
+
+QA_TEXTRELS="
+ opt/ps2-packer/n2e-packer.so
+ opt/ps2-packer/n2d-packer.so
+ opt/ps2-packer/n2b-packer.so"
+
+QA_WX_LOAD="
+ opt/ps2-packer/stub/n2e-0088-stub
+ opt/ps2-packer/stub/lzo-0088-stub
+ opt/ps2-packer/stub/n2e-asm-1d00-stub
+ opt/ps2-packer/stub/null-0088-stub
+ opt/ps2-packer/stub/n2e-asm-one-1d00-stub
+ opt/ps2-packer/stub/n2e-1d00-stub
+ opt/ps2-packer/stub/zlib-1d00-stub
+ opt/ps2-packer/stub/n2b-0088-stub
+ opt/ps2-packer/stub/n2d-1d00-stub
+ opt/ps2-packer/stub/null-1d00-stub
+ opt/ps2-packer/stub/n2b-1d00-stub
+ opt/ps2-packer/stub/zlib-0088-stub
+ opt/ps2-packer/stub/lzo-1d00-stub
+ opt/ps2-packer/stub/n2d-0088-stub"
+
+RDEPEND="sys-libs/glibc"
+
+src_install() {
+ insinto /opt/${PN}
+ doins -r README.txt stub
+
+ exeinto /opt/${PN}
+ doexe *.so ps2-packer
+
+ make_wrapper ${PN} /opt/${PN}/${PN}
+}
diff --git a/dev-games/ps2-packer/ps2-packer-0.4.4.ebuild b/dev-games/ps2-packer/ps2-packer-0.4.4.ebuild
deleted file mode 100644
index 3354575677ff..000000000000
--- a/dev-games/ps2-packer/ps2-packer-0.4.4.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit games
-
-DESCRIPTION="another ELF packer for the PS2"
-HOMEPAGE="https://github.com/ps2dev/ps2-packer"
-SRC_URI="mirror://gentoo/${P}-linux.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="-* amd64 x86"
-IUSE=""
-RESTRICT="strip"
-
-QA_TEXTRELS="
- ${GAMES_PREFIX_OPT:1}/ps2-packer/n2e-packer.so
- ${GAMES_PREFIX_OPT:1}/ps2-packer/n2d-packer.so
- ${GAMES_PREFIX_OPT:1}/ps2-packer/n2b-packer.so"
-
-QA_WX_LOAD="
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/n2e-0088-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/lzo-0088-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/n2e-asm-1d00-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/null-0088-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/n2e-asm-one-1d00-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/n2e-1d00-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/zlib-1d00-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/n2b-0088-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/n2d-1d00-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/null-1d00-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/n2b-1d00-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/zlib-0088-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/lzo-1d00-stub
- ${GAMES_PREFIX_OPT:1}/ps2-packer/stub/n2d-0088-stub"
-
-RDEPEND="sys-libs/glibc"
-
-S=${WORKDIR}
-
-src_install() {
- insinto "${GAMES_PREFIX_OPT}"/${PN}
- doins -r README.txt stub
- exeinto "${GAMES_PREFIX_OPT}"/${PN}
- doexe *.so ps2-packer
- games_make_wrapper ${PN} "${GAMES_PREFIX_OPT}"/${PN}/${PN}
- prepgamesdirs
-}
diff --git a/dev-games/quake4-sdk/metadata.xml b/dev-games/quake4-sdk/metadata.xml
index 78274e0fa550..1c3ba213c494 100644
--- a/dev-games/quake4-sdk/metadata.xml
+++ b/dev-games/quake4-sdk/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/quake4-sdk/quake4-sdk-1.4.2-r1.ebuild b/dev-games/quake4-sdk/quake4-sdk-1.4.2-r1.ebuild
index fb80cba1dafb..f5de0d0eedc8 100644
--- a/dev-games/quake4-sdk/quake4-sdk-1.4.2-r1.ebuild
+++ b/dev-games/quake4-sdk/quake4-sdk-1.4.2-r1.ebuild
@@ -1,27 +1,26 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
+
inherit unpacker
DESCRIPTION="Quake4 SDK"
-HOMEPAGE="https://www.iddevnet.com/quake4/"
+HOMEPAGE="https://iddevnet.dhewm3.org/quake4/Quake4SDK.html"
SRC_URI="mirror://idsoftware/quake4/source/linux/quake4-linux-${PV}-sdk.x86.run"
+S="${WORKDIR}"
LICENSE="QUAKE4"
SLOT="0"
KEYWORDS="-* amd64 x86"
-IUSE=""
RESTRICT="bindist mirror strip"
-S="${WORKDIR}"
-
src_unpack() {
unpack_makeself
rm -rf setup.{sh,data} || die
}
src_install() {
- insinto "/opt/${PN}"
+ insinto /opt/${PN}
doins -r *
}
diff --git a/dev-games/quake4-sdk/quake4-sdk-1.4.2.ebuild b/dev-games/quake4-sdk/quake4-sdk-1.4.2.ebuild
deleted file mode 100644
index 03bf48f840d3..000000000000
--- a/dev-games/quake4-sdk/quake4-sdk-1.4.2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit unpacker games
-
-DESCRIPTION="Quake4 SDK"
-HOMEPAGE="https://www.iddevnet.com/quake4/"
-SRC_URI="mirror://idsoftware/quake4/source/linux/quake4-linux-${PV}-sdk.x86.run"
-
-LICENSE="QUAKE4"
-SLOT="0"
-KEYWORDS="-* amd64 x86"
-IUSE=""
-RESTRICT="bindist mirror strip"
-
-S=${WORKDIR}
-
-src_unpack() {
- unpack_makeself
- rm -rf setup.{sh,data} || die
-}
-
-src_install() {
- insinto "${GAMES_PREFIX_OPT}/${PN}"
- doins -r *
- prepgamesdirs
-}
diff --git a/dev-games/recastnavigation/Manifest b/dev-games/recastnavigation/Manifest
index e300d02e460a..3961245a59fa 100644
--- a/dev-games/recastnavigation/Manifest
+++ b/dev-games/recastnavigation/Manifest
@@ -1 +1 @@
-DIST recastnavigation-1.5.1_p20200511.tar.gz 1541540 BLAKE2B 3878294247e26421c33019c05a8d70f9ae04ce046d1e503b2df8297e5c390c592e0222c445c9a7798c2e3eb7090b6c32d18b94015dce0a248ab17198d3054dda SHA512 bc48d9195c1ce4422359d850ad422e53c2599ff575b8c7a0ce6b7dc42720d7edd99781a1efa7bee49a00cd4ce6734f34ce9d434421471cb0cbf8e5207bbebebc
+DIST recastnavigation-1.6.0.tar.gz 1280501 BLAKE2B e2bca1cfab7f8a904530b381225dcf4f8c0f6fb05da7f628d52e0e0f03c7dd59e43825b459fa5df8fc0ac50cbcdd18e3807841b6cfbfb484b2ed0cd811916304 SHA512 7567aaa78219cc490a6f76210fba1f130f0c17aeaa06432ab1207e0fd03404abe31042e8b03971aa0d04ad65d39469f13575fe0072fb920c38581d39568b70fb
diff --git a/dev-games/recastnavigation/files/recastnavigation-1.5.1_p20200511-install.patch b/dev-games/recastnavigation/files/recastnavigation-1.5.1_p20200511-install.patch
deleted file mode 100644
index 8017517b448a..000000000000
--- a/dev-games/recastnavigation/files/recastnavigation-1.5.1_p20200511-install.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-https://github.com/recastnavigation/recastnavigation/pull/437
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d23859d..54a38d8 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -11,6 +11,8 @@ option(RECASTNAVIGATION_TESTS "Build tests" ON)
- option(RECASTNAVIGATION_EXAMPLES "Build examples" ON)
- option(RECASTNAVIGATION_STATIC "Build static libraries" ON)
-
-+include(GNUInstallDirs)
-+
- add_subdirectory(DebugUtils)
- add_subdirectory(Detour)
- add_subdirectory(DetourCrowd)
-diff --git a/DebugUtils/CMakeLists.txt b/DebugUtils/CMakeLists.txt
-index 8b6a3fc..86cfe76 100644
---- a/DebugUtils/CMakeLists.txt
-+++ b/DebugUtils/CMakeLists.txt
-@@ -26,10 +26,10 @@ set_target_properties(DebugUtils PROPERTIES
- )
-
- install(TARGETS DebugUtils
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- COMPONENT library
- )
-
- file(GLOB INCLUDES Include/*.h)
--install(FILES ${INCLUDES} DESTINATION include)
-+install(FILES ${INCLUDES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation)
-diff --git a/Detour/CMakeLists.txt b/Detour/CMakeLists.txt
-index de88111..b4c457a 100644
---- a/Detour/CMakeLists.txt
-+++ b/Detour/CMakeLists.txt
-@@ -20,10 +20,10 @@ set_target_properties(Detour PROPERTIES
- )
-
- install(TARGETS Detour
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- COMPONENT library
- )
-
- file(GLOB INCLUDES Include/*.h)
--install(FILES ${INCLUDES} DESTINATION include)
-+install(FILES ${INCLUDES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation)
-diff --git a/DetourCrowd/CMakeLists.txt b/DetourCrowd/CMakeLists.txt
-index 73cdf7c..7d1ace3 100644
---- a/DetourCrowd/CMakeLists.txt
-+++ b/DetourCrowd/CMakeLists.txt
-@@ -24,10 +24,10 @@ set_target_properties(DetourCrowd PROPERTIES
- )
-
- install(TARGETS DetourCrowd
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- COMPONENT library
- )
-
- file(GLOB INCLUDES Include/*.h)
--install(FILES ${INCLUDES} DESTINATION include)
-+install(FILES ${INCLUDES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation)
-diff --git a/DetourTileCache/CMakeLists.txt b/DetourTileCache/CMakeLists.txt
-index 121b8ed..141a680 100644
---- a/DetourTileCache/CMakeLists.txt
-+++ b/DetourTileCache/CMakeLists.txt
-@@ -25,10 +25,10 @@ set_target_properties(DetourTileCache PROPERTIES
-
-
- install(TARGETS DetourTileCache
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- COMPONENT library
- )
-
- file(GLOB INCLUDES Include/*.h)
--install(FILES ${INCLUDES} DESTINATION include)
-+install(FILES ${INCLUDES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation)
-diff --git a/Recast/CMakeLists.txt b/Recast/CMakeLists.txt
-index 5e84376..3b04742 100644
---- a/Recast/CMakeLists.txt
-+++ b/Recast/CMakeLists.txt
-@@ -20,10 +20,10 @@ set_target_properties(Recast PROPERTIES
- )
-
- install(TARGETS Recast
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- COMPONENT library
- )
-
- file(GLOB INCLUDES Include/*.h)
--install(FILES ${INCLUDES} DESTINATION include)
-+install(FILES ${INCLUDES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation)
-diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
-index 7c17469..a98ccbf 100644
---- a/Tests/CMakeLists.txt
-+++ b/Tests/CMakeLists.txt
-@@ -8,5 +8,3 @@ add_executable(Tests ${TESTS_SOURCES})
- add_dependencies(Tests Recast Detour)
- target_link_libraries(Tests Recast Detour)
- add_test(Tests Tests)
--
--install(TARGETS Tests RUNTIME DESTINATION bin)
diff --git a/dev-games/recastnavigation/metadata.xml b/dev-games/recastnavigation/metadata.xml
index 476961fc1b94..5400c546f046 100644
--- a/dev-games/recastnavigation/metadata.xml
+++ b/dev-games/recastnavigation/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>alexey+gentoo@asokolov.org</email>
<name>Alexey Sokolov</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
@@ -13,4 +13,7 @@
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">recastnavigation/recastnavigation</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-games/recastnavigation/recastnavigation-1.5.1_p20200511.ebuild b/dev-games/recastnavigation/recastnavigation-1.6.0.ebuild
index ca12783c1d9f..588293ef40f9 100644
--- a/dev-games/recastnavigation/recastnavigation-1.5.1_p20200511.ebuild
+++ b/dev-games/recastnavigation/recastnavigation-1.6.0.ebuild
@@ -1,31 +1,33 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
DESCRIPTION="Navigation mesh construction toolset for games"
HOMEPAGE="https://github.com/recastnavigation/recastnavigation"
-MY_COMMIT="df27e4eb1a4ade9912f8b7d75c25769a3193dbd0"
-SRC_URI="https://github.com/recastnavigation/recastnavigation/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${MY_COMMIT}"
+SRC_URI="https://github.com/recastnavigation/recastnavigation/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+#S="${WORKDIR}/${PN}-${MY_COMMIT}"
LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
+SLOT="0/1.6.0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
-PATCHES=(
- "${FILESDIR}/recastnavigation-1.5.1_p20200511-install.patch"
-)
+DEPEND="test? ( dev-cpp/catch:0 )"
+
+src_prepare() {
+ rm -r Tests/Contrib/catch2 || die
+
+ cmake_src_prepare
+}
src_configure() {
local mycmakeargs=(
-DRECASTNAVIGATION_DEMO=OFF
-DRECASTNAVIGATION_EXAMPLES=OFF
- -DRECASTNAVIGATION_STATIC=OFF
-DRECASTNAVIGATION_TESTS=$(usex test)
)
diff --git a/dev-games/simgear/Manifest b/dev-games/simgear/Manifest
index 5662c13e1568..4b9a4b11d829 100644
--- a/dev-games/simgear/Manifest
+++ b/dev-games/simgear/Manifest
@@ -1 +1 @@
-DIST simgear-2020.1.2.tar.bz2 1393059 BLAKE2B 62fa15d88368177e23cf52edf51e8c56252399d8f2661e518911c1093a0d7f9f11069da8d65b479f2d4b45792dcd011194e57fa99ac3991f749e8196aaff9552 SHA512 c2e835de471f374a6c33cfd1769b7079d178ee66075bfe87cc9eb1f06dc2648db93c31f62f0ac7a664703406817cb1e909a531812cb76c99cd8751eb7e6782e7
+DIST simgear-2020.3.19.tar.bz2 1427799 BLAKE2B a3c90756053d01fdbb7f7518cbf58018b21a1e7acfbee523ffda0ba27682113c67c531b2f0c0678d7e962f365411811b7044e0df9b995e0d3eabef2ede431757 SHA512 b5c2acb9b843c48e573764c1474bc8723167376546d2fe01246ea936d348abf7e26c8778037680dc76fad5e514209ccce03f8c49cdd90ff0fb44f86759f9ec64
diff --git a/dev-games/simgear/files/simgear-2020.1.2-boost.patch b/dev-games/simgear/files/simgear-2020.1.2-boost.patch
deleted file mode 100644
index d28853cb3811..000000000000
--- a/dev-games/simgear/files/simgear-2020.1.2-boost.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -227,7 +227,7 @@
- endif()
-
- find_package(Boost REQUIRED)
--set (BOOST_CXX_FLAGS "-DBOOST_BIMAP_DISABLE_SERIALIZATION")
-+set (BOOST_CXX_FLAGS "-DBOOST_BIMAP_DISABLE_SERIALIZATION -DBOOST_NO_STDLIB_CONFIG")
- include(BoostTestTargets)
-
- if(SIMGEAR_HEADLESS)
diff --git a/dev-games/simgear/files/simgear-2020.1.2-do-not-assume-libc++-clang.patch b/dev-games/simgear/files/simgear-2020.1.2-do-not-assume-libc++-clang.patch
new file mode 100644
index 000000000000..3ff70aeebdc5
--- /dev/null
+++ b/dev-games/simgear/files/simgear-2020.1.2-do-not-assume-libc++-clang.patch
@@ -0,0 +1,12 @@
+diff -ruN simgear-2020.1.2/CMakeLists.txt simgear-my/CMakeLists.txt
+--- simgear-2020.1.2/CMakeLists.txt 2020-05-24 17:13:35.000000000 +0200
++++ simgear-my/CMakeLists.txt 2020-10-17 15:48:58.375116913 +0200
+@@ -442,8 +442,6 @@
+ set(WARNING_FLAGS_CXX "-Wall -fPIC -Wno-overloaded-virtual -Wno-redeclared-class-member")
+ set(WARNING_FLAGS_C "-Wall -fPIC")
+ set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
+- # fix Boost compilation :(
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
+
+ # override CMake default RelWithDebInfo flags.
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -DNDEBUG")
diff --git a/dev-games/simgear/files/simgear-2020.3.17-boost-1.81.patch b/dev-games/simgear/files/simgear-2020.3.17-boost-1.81.patch
new file mode 100644
index 000000000000..6edcafcea031
--- /dev/null
+++ b/dev-games/simgear/files/simgear-2020.3.17-boost-1.81.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/887431
+--- a/simgear/scene/viewer/Compositor.hxx
++++ b/simgear/scene/viewer/Compositor.hxx
+@@ -17,6 +17,7 @@
+ #ifndef SG_COMPOSITOR_HXX
+ #define SG_COMPOSITOR_HXX
+
++#include <array>
+ #include <unordered_map>
+ #include <vector>
+
diff --git a/dev-games/simgear/metadata.xml b/dev-games/simgear/metadata.xml
index aa189d18155e..241bec9110a6 100644
--- a/dev-games/simgear/metadata.xml
+++ b/dev-games/simgear/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>reavertm@gentoo.org</email>
diff --git a/dev-games/simgear/simgear-2020.1.2.ebuild b/dev-games/simgear/simgear-2020.3.19.ebuild
index 2408384dadbc..0d07ca324560 100644
--- a/dev-games/simgear/simgear-2020.1.2.ebuild
+++ b/dev-games/simgear/simgear-2020.3.19.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit cmake toolchain-funcs flag-o-matic
+inherit cmake toolchain-funcs
DESCRIPTION="Development library for simulation games"
HOMEPAGE="https://www.flightgear.org/"
-SRC_URI="mirror://sourceforge/flightgear/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/flightgear/${P}.tar.bz2"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~x86"
@@ -17,6 +17,7 @@ RESTRICT="!test? ( test )"
# TODO aeonwave
COMMON_DEPEND="
+ app-arch/xz-utils
dev-libs/expat
dev-games/openscenegraph
media-libs/openal
@@ -24,10 +25,10 @@ COMMON_DEPEND="
sys-libs/zlib
virtual/opengl
dns? ( net-libs/udns )
- gdal? ( sci-libs/gdal )
+ gdal? ( sci-libs/gdal:= )
"
DEPEND="${COMMON_DEPEND}
- >=dev-libs/boost-1.44
+ dev-libs/boost
"
RDEPEND="${COMMON_DEPEND}
subversion? ( dev-vcs/subversion )
@@ -35,7 +36,8 @@ RDEPEND="${COMMON_DEPEND}
PATCHES=(
"${FILESDIR}/${PN}-2019.1.1-gdal3.patch"
- "${FILESDIR}/${P}-boost.patch"
+ "${FILESDIR}/${PN}-2020.1.2-do-not-assume-libc++-clang.patch"
+ "${FILESDIR}/${PN}-2020.3.17-boost-1.81.patch"
)
pkg_pretend() {
@@ -53,8 +55,7 @@ src_configure() {
-DENABLE_OPENMP=$(usex openmp)
-DENABLE_PKGUTIL=ON
-DENABLE_RTI=OFF
- -DENABLE_SIMD=OFF # see CPU_FLAGS
- -DENABLE_SIMD_CODE=$(usex cpu_flags_x86_sse2)
+ -DENABLE_SIMD=$(usex cpu_flags_x86_sse2)
-DENABLE_SOUND=ON
-DENABLE_TESTS=$(usex test)
-DSIMGEAR_HEADLESS=OFF
@@ -64,10 +65,5 @@ src_configure() {
-DUSE_AEONWAVE=OFF
-DOSG_FSTREAM_EXPORT_FIXED=OFF # TODO perhaps track it
)
-
- if use cpu_flags_x86_sse2; then
- append-flags -msse2 -mfpmath=sse
- fi
-
cmake_src_configure
}
diff --git a/dev-games/simgear/simgear-9999.ebuild b/dev-games/simgear/simgear-9999.ebuild
index e4fa4059f41d..f86ab21c32aa 100644
--- a/dev-games/simgear/simgear-9999.ebuild
+++ b/dev-games/simgear/simgear-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit eutils cmake toolchain-funcs flag-o-matic git-r3
+inherit cmake toolchain-funcs git-r3
DESCRIPTION="Development library for simulation games"
HOMEPAGE="https://www.flightgear.org/"
@@ -26,10 +26,10 @@ COMMON_DEPEND="
sys-libs/zlib
virtual/opengl
dns? ( net-libs/udns )
- gdal? ( sci-libs/gdal )
+ gdal? ( sci-libs/gdal:= )
"
DEPEND="${COMMON_DEPEND}
- >=dev-libs/boost-1.44
+ dev-libs/boost
"
RDEPEND="${COMMON_DEPEND}
subversion? ( dev-vcs/subversion )
@@ -37,6 +37,7 @@ RDEPEND="${COMMON_DEPEND}
PATCHES=(
"${FILESDIR}/${PN}-2019.1.1-gdal3.patch"
+ "${FILESDIR}/${PN}-2020.1.2-do-not-assume-libc++-clang.patch"
)
pkg_pretend() {
@@ -54,8 +55,7 @@ src_configure() {
-DENABLE_OPENMP=$(usex openmp)
-DENABLE_PKGUTIL=ON
-DENABLE_RTI=OFF
- -DENABLE_SIMD=OFF # see CPU_FLAGS
- -DENABLE_SIMD_CODE=$(usex cpu_flags_x86_sse2)
+ -DENABLE_SIMD=$(usex cpu_flags_x86_sse2)
-DENABLE_SOUND=ON
-DENABLE_TESTS=$(usex test)
-DSIMGEAR_HEADLESS=OFF
@@ -65,10 +65,5 @@ src_configure() {
-DUSE_AEONWAVE=OFF
-DOSG_FSTREAM_EXPORT_FIXED=OFF # TODO perhaps track it
)
-
- if use cpu_flags_x86_sse2; then
- append-flags -msse2 -mfpmath=sse
- fi
-
cmake_src_configure
}
diff --git a/dev-games/t4k-common/files/t4k-common-0.1.1-ICONV_CONST.patch b/dev-games/t4k-common/files/t4k-common-0.1.1-ICONV_CONST.patch
new file mode 100644
index 000000000000..037d2acd292b
--- /dev/null
+++ b/dev-games/t4k-common/files/t4k-common-0.1.1-ICONV_CONST.patch
@@ -0,0 +1,10 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -39,6 +39,7 @@
+ AC_PROG_MKDIR_P
+ AC_PROG_YACC
+ AC_PROG_LIBTOOL
++AM_ICONV
+
+
+ # -----------------------------------------------------------------------
diff --git a/dev-games/t4k-common/files/t4k-common-0.1.1-fix-declaration.patch b/dev-games/t4k-common/files/t4k-common-0.1.1-fix-declaration.patch
new file mode 100644
index 000000000000..8b1188039f42
--- /dev/null
+++ b/dev-games/t4k-common/files/t4k-common-0.1.1-fix-declaration.patch
@@ -0,0 +1,10 @@
+https://bugs.gentoo.org/759574
+--- a/src/t4k_menu.c 2013-12-02 10:50:23.000000000 -0500
++++ b/src/t4k_menu.c 2021-01-04 19:49:20.561524579 -0500
+@@ -152,5 +152,5 @@
+ char* find_longest_text(MenuNode* menu, int* length);
+ int find_longest_menu_page(MenuNode* menu);
+-void set_font_size();
++void set_font_size(bool uniform);
+ void prerender_menu(MenuNode* menu);
+ int min(int a, int b);
diff --git a/dev-games/t4k-common/files/t4k-common-0.1.1-fno-common.patch b/dev-games/t4k-common/files/t4k-common-0.1.1-fno-common.patch
new file mode 100644
index 000000000000..2bdf418649c2
--- /dev/null
+++ b/dev-games/t4k-common/files/t4k-common-0.1.1-fno-common.patch
@@ -0,0 +1,11 @@
+--- a/src/t4k_common.h
++++ b/src/t4k_common.h
+@@ -239,7 +239,7 @@
+ #define MAX_LINES 128 //!< Maximum lines to wrap.
+ #define MAX_LINEWIDTH 256 //!< Maximum characters of each line.
+
+-char wrapped_lines[MAX_LINES][MAX_LINEWIDTH]; //!< Global buffer for wrapped lines.
++extern char wrapped_lines[MAX_LINES][MAX_LINEWIDTH]; //!< Global buffer for wrapped lines.
+
+ //TODO separate headers for different areas a la SDL?
+
diff --git a/dev-games/t4k-common/files/t4k-common-0.1.1-gcc14-build-fix.patch b/dev-games/t4k-common/files/t4k-common-0.1.1-gcc14-build-fix.patch
new file mode 100644
index 000000000000..7c272544ea2e
--- /dev/null
+++ b/dev-games/t4k-common/files/t4k-common-0.1.1-gcc14-build-fix.patch
@@ -0,0 +1,76 @@
+https://patch-diff.githubusercontent.com/raw/tux4kids/t4kcommon/pull/16.patch
+From: Florian Weimer <fweimer@redhat.com>
+Date: Tue, 7 Feb 2023 16:10:36 +0100
+Subject: [PATCH 1/2] linebreak: Avoid implicit declaration of u8_mbtouc_unsafe
+ function
+
+GNULIB_UNISTR_U8_MBTOUC_UNSAFE tells the bundled unistr.h to
+provide a function prototype for u8_mbtouc_unsafe. This prevents
+build failures with future compilers which do not support implicit
+function declarations.
+
+Upstream gnulib has split the linebreak module into multiple parts;
+it is hard to tell if it still has the same issue.
+--- a/src/linebreak/linebreak.c
++++ b/src/linebreak/linebreak.c
+@@ -35,6 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ //#include "c-ctype.h"
+ #include "ctype.h"
+ #include "xsize.h"
++#define GNULIB_UNISTR_U8_MBTOUC_UNSAFE
+ #include "unistr.h"
+ #include "uniwidth.h"
+ #include "uniwidth/cjk.h"
+--
+2.43.0
+
+
+Bug: https://bugs.gentoo.org/923789
+From: Brahmajit Das <brahmajit.xyz@gmail.com>
+Date: Fri, 9 Feb 2024 11:49:53 +0530
+Subject: [PATCH 2/2] t4k_menu: Fix passing incompatible pointer type
+
+First observed under Gentoo Linux with GCC 14, probably due to
+mismatching types between child (struct _xmlAttr *) and node.children
+(struct _xmlAttr *).
+
+Resulting in build errors such as
+t4k_menu.c:254:23: error: assignment to 'xmlAttr *' {aka 'struct _xmlAttr *'} from incompatible pointer type 'struct _xmlNode *' [-Wincompatible-pointer-types]
+ 254 | for(child = node->children; child; child = child->next) {
+ | ^
+t4k_menu.c:256:62: error: passing argument 1 of 'menu_TranslateNode' from incompatible pointer type [-Wincompatible-pointer-types]
+ 256 | tnode->submenu[i++] = menu_TranslateNode(child);
+ | ^~~~~
+ | |
+ | xmlAttr * {aka struct _xmlAttr *}
+
+Please reffer Gentoo bug: https://bugs.gentoo.org/923789
+Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
+--- a/src/t4k_menu.c
++++ b/src/t4k_menu.c
+@@ -251,9 +251,10 @@ MenuNode *menu_TranslateNode(xmlNode *node) {
+ /* Now add child nodes. */
+ if(xmlStrcasecmp(node->name, "menu") == 0) {
+ i = 0;
+- for(child = node->children; child; child = child->next) {
+- if(child->type == XML_ELEMENT_NODE) {
+- tnode->submenu[i++] = menu_TranslateNode(child);
++ xmlNode *childNode = NULL;
++ for(childNode = node->children; childNode; childNode = childNode->next) {
++ if(childNode->type == XML_ELEMENT_NODE) {
++ tnode->submenu[i++] = menu_TranslateNode(childNode);
+ }
+ }
+ }
+@@ -443,7 +444,7 @@ int T4K_RunMenu(int index, bool return_choice, void (*draw_background)(), int (*
+ int click_flag = 1;
+ int using_scroll = 0;
+
+- internal_res_switch_handler(&T4K_PrerenderAll);
++ internal_res_switch_handler((ResSwitchCallback)&T4K_PrerenderAll);
+
+ for(;;) /* one loop body execution for one menu page */
+ {
+--
+2.43.0
+
diff --git a/dev-games/t4k-common/files/t4k-common-0.1.1-libpng.patch b/dev-games/t4k-common/files/t4k-common-0.1.1-libpng.patch
index 29991544ddbf..fad91de2d205 100644
--- a/dev-games/t4k-common/files/t4k-common-0.1.1-libpng.patch
+++ b/dev-games/t4k-common/files/t4k-common-0.1.1-libpng.patch
@@ -1,5 +1,5 @@
---- src/t4k_common-0.1.1/src/t4k_loaders.c 2011-04-08 05:46:07.000000000 +0300
-+++ src.new/t4k_common-0.1.1/src/t4k_loaders.c 2012-05-02 10:35:41.836670434 +0300
+--- a/src/t4k_loaders.c
++++ b/src/t4k_loaders.c
@@ -1028,12 +1028,9 @@
{
png_init_io(png_ptr, fi);
diff --git a/dev-games/t4k-common/files/t4k-common-0.1.1-missing-text.patch b/dev-games/t4k-common/files/t4k-common-0.1.1-missing-text.patch
new file mode 100644
index 000000000000..72cb5372c282
--- /dev/null
+++ b/dev-games/t4k-common/files/t4k-common-0.1.1-missing-text.patch
@@ -0,0 +1,14 @@
+Fix some missing (transparent) text with libsdl-1.2.15_p20210224
+e.g. empty menus in tuxmath
+--- a/src/t4k_sdl.c
++++ b/src/t4k_sdl.c
+@@ -1401,3 +1401,3 @@
+ /* Use color key for eventual transparency: */
+- color_key = SDL_MapRGB(bg->format, 30, 30, 30);
++ color_key = SDL_MapRGBA(bg->format, 30, 30, 30, 0xff);
+ SDL_FillRect(bg, NULL, color_key);
+@@ -1448,3 +1448,3 @@
+ SDL_SetColorKey(bg, SDL_SRCCOLORKEY|SDL_RLEACCEL, color_key);
+- out = SDL_DisplayFormatAlpha(bg);
++ out = SDL_DisplayFormat(bg);
+ SDL_FreeSurface(bg);
diff --git a/dev-games/t4k-common/files/t4k-common-0.1.1-svg-libxml2.patch b/dev-games/t4k-common/files/t4k-common-0.1.1-svg-libxml2.patch
new file mode 100644
index 000000000000..590be3858de0
--- /dev/null
+++ b/dev-games/t4k-common/files/t4k-common-0.1.1-svg-libxml2.patch
@@ -0,0 +1,73 @@
+https://bugs.gentoo.org/763591
+
+https://github.com/tux4kids/t4kcommon/commit/99e9d3895b480d5998513592f6af25096c6d1c50
+From: Paul Huff <paul.huff@gmail.com>
+Date: Wed, 1 May 2019 19:56:12 -0600
+Subject: [PATCH] Use libxml2 to get info from svg files for frame counts since
+ librsvg doesn't let you access the description anymore.
+--- a/src/t4k_loaders.c
++++ b/src/t4k_loaders.c
+@@ -41,4 +41,6 @@
+ #include<librsvg/rsvg.h>
+ #include<librsvg/rsvg-cairo.h>
++#include <libxml/parser.h>
++#include <libxml/tree.h>
+ #endif
+
+@@ -49,4 +51,5 @@
+
+ #ifdef HAVE_RSVG
++int get_number_of_frames_from_svg(const char *file_name);
+ SDL_Surface* load_svg(const char* file_name, int width, int height, const char* layer_name);
+ sprite* load_svg_sprite(const char* file_name, int width, int height);
+@@ -161,4 +164,43 @@
+ #ifdef HAVE_RSVG
+
++int get_number_of_frames_from_svg(const char* file_name) {
++ xmlDocPtr svgFile;
++ xmlNodePtr svgNode = NULL, nodeIterator = NULL;
++ int number_of_frames = 0, found = 0;
++
++ svgFile = xmlReadFile(file_name, NULL, XML_PARSE_RECOVER | XML_PARSE_NOERROR | XML_PARSE_NOWARNING);
++
++ /* If it's null something's really wrong because we're trying to load a sprite that doesn't exist */
++ if(svgFile == NULL) {
++ DEBUGMSG(debug_loaders, "get_number_of_frames_from_svg: couldn't load svgFile: %s\n", file_name);
++ return 0;
++ }
++
++ svgNode = xmlDocGetRootElement(svgFile);
++
++ /* If it's null then something's really wrong because there should be a root in every svg file... */
++ if(svgNode == NULL) {
++ DEBUGMSG(debug_loaders, "get_number_of_frames_from_svg: couldn't load the root from the svgFile: %s", file_name);
++ xmlFreeDoc(svgFile); /* be clean */
++ return 0;
++ }
++
++ nodeIterator = svgNode->children;
++ while(nodeIterator) {
++ if(xmlStrcasecmp(nodeIterator->name, (const xmlChar*)"desc") == 0) {
++ sscanf((const char*)xmlNodeGetContent(nodeIterator), "%d", &number_of_frames);
++ xmlFreeDoc(svgFile);
++ return number_of_frames;
++ }
++ nodeIterator = nodeIterator->next;
++ }
++
++ /* if we get here we had no description, which means something's really wrong */
++ DEBUGMSG(debug_loaders, "get_number_of_frames_from_svg: couldn't find the description frame number count from svgFile: %s", file_name);
++ xmlFreeDoc(svgFile);
++ return 0;
++}
++
++
+ /* Load a layer of SVG file and resize it to given dimensions.
+ If width or height is negative no resizing is applied.
+@@ -215,5 +257,5 @@
+
+ /* get number of frames from description */
+- sscanf(rsvg_handle_get_desc(file_handle), "%d", &new_sprite->num_frames);
++ new_sprite->num_frames = get_number_of_frames_from_svg(file_name);
+ DEBUGMSG(debug_loaders, "load_svg_sprite(): loading %d frames\n", new_sprite->num_frames);
+
diff --git a/dev-games/t4k-common/metadata.xml b/dev-games/t4k-common/metadata.xml
index 9abddaa683a4..b7cb48e8c0a9 100644
--- a/dev-games/t4k-common/metadata.xml
+++ b/dev-games/t4k-common/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-games/t4k-common/t4k-common-0.1.1-r1.ebuild b/dev-games/t4k-common/t4k-common-0.1.1-r1.ebuild
new file mode 100644
index 000000000000..c395867aa56f
--- /dev/null
+++ b/dev-games/t4k-common/t4k-common-0.1.1-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Library of code shared between tuxmath and tuxtype"
+HOMEPAGE="https://github.com/tux4kids/t4kcommon"
+SRC_URI="https://github.com/tux4kids/t4kcommon/archive/upstream/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/t4kcommon-upstream-${PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="svg"
+
+RDEPEND="
+ dev-libs/libxml2:2
+ media-libs/libsdl
+ media-libs/sdl-image
+ media-libs/sdl-mixer
+ media-libs/sdl-net
+ media-libs/sdl-pango
+ svg? (
+ gnome-base/librsvg:2
+ media-libs/libpng:=
+ x11-libs/cairo
+ )"
+DEPEND="${RDEPEND}"
+# need sys-devel/gettext for AM_ICONV added to configure.ac
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libpng.patch
+ "${FILESDIR}"/${P}-fno-common.patch
+ "${FILESDIR}"/${P}-ICONV_CONST.patch
+ "${FILESDIR}"/${P}-fix-declaration.patch
+ "${FILESDIR}"/${P}-missing-text.patch
+ "${FILESDIR}"/${P}-svg-libxml2.patch
+)
+
+src_prepare() {
+ default
+
+ rm m4/iconv.m4 || die
+ eautoreconf
+}
+
+src_configure() {
+ # note: sdlpango<->sdlttf breaks ABI, prefer default pango
+ local econfargs=(
+ $(usex svg '' --without-rsvg)
+ --disable-static
+ )
+ econf "${econfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-games/t4k-common/t4k-common-0.1.1-r2.ebuild b/dev-games/t4k-common/t4k-common-0.1.1-r2.ebuild
new file mode 100644
index 000000000000..291feb6ce7d4
--- /dev/null
+++ b/dev-games/t4k-common/t4k-common-0.1.1-r2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Library of code shared between tuxmath and tuxtype"
+HOMEPAGE="https://github.com/tux4kids/t4kcommon"
+SRC_URI="https://github.com/tux4kids/t4kcommon/archive/upstream/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/t4kcommon-upstream-${PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="svg"
+
+RDEPEND="
+ dev-libs/libxml2:2
+ media-libs/libsdl
+ media-libs/sdl-image
+ media-libs/sdl-mixer
+ media-libs/sdl-net
+ media-libs/sdl-pango
+ svg? (
+ gnome-base/librsvg:2
+ media-libs/libpng:=
+ x11-libs/cairo
+ )"
+DEPEND="${RDEPEND}"
+# need sys-devel/gettext for AM_ICONV added to configure.ac
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libpng.patch
+ "${FILESDIR}"/${P}-fno-common.patch
+ "${FILESDIR}"/${P}-ICONV_CONST.patch
+ "${FILESDIR}"/${P}-fix-declaration.patch
+ "${FILESDIR}"/${P}-missing-text.patch
+ "${FILESDIR}"/${P}-svg-libxml2.patch
+ "${FILESDIR}"/${P}-gcc14-build-fix.patch
+)
+
+src_prepare() {
+ default
+
+ rm m4/iconv.m4 || die
+ eautoreconf
+}
+
+src_configure() {
+ # note: sdlpango<->sdlttf breaks ABI, prefer default pango
+ local econfargs=(
+ $(usex svg '' --without-rsvg)
+ --disable-static
+ )
+ econf "${econfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-games/t4k-common/t4k-common-0.1.1.ebuild b/dev-games/t4k-common/t4k-common-0.1.1.ebuild
deleted file mode 100644
index 3c366660d4d6..000000000000
--- a/dev-games/t4k-common/t4k-common-0.1.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils ltprune
-
-DESCRIPTION="A library of code shared between tuxmath and tuxtype"
-HOMEPAGE="https://github.com/tux4kids/t4kcommon"
-SRC_URI="https://github.com/tux4kids/t4kcommon/archive/upstream/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="static-libs svg"
-
-RDEPEND="dev-libs/libxml2:2
- media-libs/libsdl
- media-libs/sdl-image
- media-libs/sdl-mixer
- media-libs/sdl-net
- media-libs/sdl-ttf
- media-libs/sdl-pango
- svg? (
- gnome-base/librsvg:2
- media-libs/libpng:0
- x11-libs/cairo
- )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S=${WORKDIR}/t4kcommon-upstream-${PV}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-libpng.patch
-}
-
-src_configure() {
- econf \
- $(usex svg "" "--without-rsvg") \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- use static-libs || prune_libtool_files --all
-}
diff --git a/dev-games/tiled/Manifest b/dev-games/tiled/Manifest
index 4fb5d8ca130b..e42c7439c30b 100644
--- a/dev-games/tiled/Manifest
+++ b/dev-games/tiled/Manifest
@@ -1,2 +1 @@
-DIST tiled-1.4.1.tar.gz 17481260 BLAKE2B 81bbc8026e067fe8a6fc9c474868a7097ecab574c42a679b546bf7ee9a13889898237011114852d0a69f4703c2a9a2f7bdc19221164d350a2d407ff7035e3824 SHA512 68543e70a5b601e1426b12116da47d8c9b961a1d321bdf410287149d3f5cc76e3ef9724e61ae7c9a8b1314679eacd9b34f60faf5e49a090199e4e1707fc061e6
-DIST tiled-1.4.2.tar.gz 17806729 BLAKE2B 9f9e6b97c6d95b1f8a1ad6da3540aaf9310a705b412005752afe72c3ce8e35025559ed0e7aaf36a1d65284c29d8406bdc58121f6c13bb658ff84ff43fde7f403 SHA512 1fddd8c8d67e4eaf116c82e276b0941e6dae7c529f2132e49da77d7e215fc7106d5fd3ef55d118f799153b57340effcf2481a131a436be7f00f61c4fc4bd45d2
+DIST tiled-1.8.6.tar.gz 17053221 BLAKE2B a226ff9861ebfa3980176fac2b23c7fff8ac6db585444c5d5c21afff2301298e1eaa74179970bfaeb07c62074c706378040c520d5f0155b030f9e2025c51abb0 SHA512 f77ff46fbb707d8c02499f168e5748f39081fa780fb9a5b1ea04603b09cd71280d76034cab28b23fc30280bd856121e473c992c9c39d7c46fc97d5fbfbe4191d
diff --git a/dev-games/tiled/metadata.xml b/dev-games/tiled/metadata.xml
index efca90beb5b3..13233bbdb862 100644
--- a/dev-games/tiled/metadata.xml
+++ b/dev-games/tiled/metadata.xml
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>kensington@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">bjorn/tiled</remote-id>
</upstream>
diff --git a/dev-games/tiled/tiled-1.4.1.ebuild b/dev-games/tiled/tiled-1.4.1.ebuild
deleted file mode 100644
index 2579d6320997..000000000000
--- a/dev-games/tiled/tiled-1.4.1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-inherit python-single-r1 qmake-utils xdg-utils
-
-DESCRIPTION="A general purpose tile map editor"
-HOMEPAGE="https://www.mapeditor.org/"
-SRC_URI="https://github.com/bjorn/tiled/archive/v${PV}/${P}.tar.gz"
-
-LICENSE="BSD BSD-2 GPL-2+"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="examples python"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- >=dev-qt/qtcore-5.14:5
- >=dev-qt/qtdeclarative-5.14:5
- >=dev-qt/qtgui-5.14:5
- >=dev-qt/qtnetwork-5.14:5
- >=dev-qt/qtwidgets-5.14:5
- sys-libs/zlib
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="dev-qt/linguist-tools:5"
-
-DOCS=( AUTHORS COPYING NEWS.md README.md )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- eqmake5 LIBDIR="/usr/$(get_libdir)" PREFIX="/usr" DISABLE_PYTHON_PLUGIN="$(usex !python)"
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
-
- einstalldocs
-
- if use examples ; then
- docompress -x /usr/share/doc/${PF}/examples
- dodoc -r examples
- fi
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/dev-games/tiled/tiled-1.4.2.ebuild b/dev-games/tiled/tiled-1.8.6.ebuild
index fc9a62d7bd92..44e23d47cbd4 100644
--- a/dev-games/tiled/tiled-1.4.2.ebuild
+++ b/dev-games/tiled/tiled-1.8.6.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit python-single-r1 qmake-utils xdg-utils
DESCRIPTION="A general purpose tile map editor"
@@ -12,18 +12,19 @@ SRC_URI="https://github.com/bjorn/tiled/archive/v${PV}/${P}.tar.gz"
LICENSE="BSD BSD-2 GPL-2+"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="examples python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
app-arch/zstd:=
- >=dev-qt/qtcore-5.14:5
- >=dev-qt/qtdeclarative-5.14:5
- >=dev-qt/qtgui-5.14:5
- >=dev-qt/qtnetwork-5.14:5
- >=dev-qt/qtwidgets-5.14:5
+ >=dev-qt/qtcore-5.15:5
+ >=dev-qt/qtdbus-5.15:5
+ >=dev-qt/qtdeclarative-5.15:5
+ >=dev-qt/qtgui-5.15:5
+ >=dev-qt/qtnetwork-5.15:5
+ >=dev-qt/qtwidgets-5.15:5
sys-libs/zlib
python? ( ${PYTHON_DEPS} )
"
@@ -44,7 +45,8 @@ src_configure() {
LIBDIR="/usr/$(get_libdir)" \
PREFIX="/usr" \
SYSTEM_ZSTD="yes" \
- DISABLE_PYTHON_PLUGIN="$(usex !python)"
+ DISABLE_PYTHON_PLUGIN="$(usex !python)" \
+ USE_FHS_PLUGIN_PATH="true"
}
src_install() {
diff --git a/dev-games/wfmath/Manifest b/dev-games/wfmath/Manifest
deleted file mode 100644
index e0e04d9bc8b3..000000000000
--- a/dev-games/wfmath/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST wfmath-1.0.2.tar.bz2 399987 BLAKE2B d299a6d90a37a90daa6a86e0ddad15201c1a5ee247159633ba68fcb6d0df1205bd60869e73d4849b923f3dd8142a167348bdac6764dda7a3b9857d9b9eae5701 SHA512 3506dbaed5db914b0be5483d5b589d95ed495b6375384e4b045844f8d76240f97b5c322ac432faf177f16da0fedd0b0e6006877a9b40e7f5d31d3324efa6de57
diff --git a/dev-games/wfmath/metadata.xml b/dev-games/wfmath/metadata.xml
deleted file mode 100644
index a41dc201202f..000000000000
--- a/dev-games/wfmath/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>games@gentoo.org</email>
- <name>Gentoo Games Project</name>
- </maintainer>
- <longdescription lang="en">
-The primary focus of WFMath is geometric objects. Thus, it includes several
-shapes (boxes, balls, lines), in addition to the basic math objects that are
-used to build these shapes (points, vectors, matricies).
-Most of the library classes can be divided into two sorts. The first kind are
-basic mathematical objects, whose members are all fundamental types. The second
-kind are shapes, which implement the shape class interface described in
-doc/shape.h.
-</longdescription>
- <upstream>
- <remote-id type="sourceforge">worldforge</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-games/wfmath/wfmath-1.0.2.ebuild b/dev-games/wfmath/wfmath-1.0.2.ebuild
deleted file mode 100644
index 59d89b7ef79e..000000000000
--- a/dev-games/wfmath/wfmath-1.0.2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils ltprune
-
-DESCRIPTION="Worldforge math library"
-HOMEPAGE="http://www.worldforge.org/dev/eng/libraries/wfmath"
-SRC_URI="mirror://sourceforge/worldforge/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="doc static-libs"
-
-RDEPEND=""
-DEPEND="doc? ( app-doc/doxygen )
- virtual/pkgconfig"
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_compile() {
- default
- use doc && emake -C doc docs
-}
-
-src_install() {
- default
- use doc && dohtml doc/html/*
- prune_libtool_files
-}