From 10f72b03c4cd2ee737367663c7598fa0e9e0b1fd Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 17 Aug 2021 02:44:47 +0100 Subject: games-engines/devilutionx: use dynamic linking (fixes libsodium build) -DDIST controls whether devilutionx links dynamically to libraries (only SDL 2 and glibc are linked dynamically otherwise). For later versions of libsodium, FindSodium.cmake malfunctions and does not correctly populate all the needed variables. For Gentoo's purposes, we can ignore this problem, and instead force dynamic linking (which is policy anyway). A fix to use a supported method to detect libsodium (pkg-config) is being pursued upstream. Maintainer timeout. Bug: https://github.com/diasurgical/devilutionX/issues/2615 Closes: https://bugs.gentoo.org/791031 Signed-off-by: Sam James --- .../devilutionx/devilutionx-1.2.1-r1.ebuild | 71 ++++++++++++++++++++++ games-engines/devilutionx/devilutionx-1.2.1.ebuild | 69 --------------------- games-engines/devilutionx/devilutionx-9999.ebuild | 4 +- 3 files changed, 74 insertions(+), 70 deletions(-) create mode 100644 games-engines/devilutionx/devilutionx-1.2.1-r1.ebuild delete mode 100644 games-engines/devilutionx/devilutionx-1.2.1.ebuild (limited to 'games-engines') diff --git a/games-engines/devilutionx/devilutionx-1.2.1-r1.ebuild b/games-engines/devilutionx/devilutionx-1.2.1-r1.ebuild new file mode 100644 index 000000000000..17884b883e85 --- /dev/null +++ b/games-engines/devilutionx/devilutionx-1.2.1-r1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# Sometimes build with ninja fails. +# Please check occasionally if we can revert back to ninja. +# Latest known issue: +# +#CMAKE_MAKEFILE_GENERATOR="emake" + +inherit cmake + +DESCRIPTION="Diablo engine for modern operating systems" +HOMEPAGE="https://github.com/diasurgical/devilutionX" +if [[ "${PV}" == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/diasurgical/devilutionX.git" +else + SRC_URI="https://github.com/diasurgical/devilutionX/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/devilutionX-${PV}" +fi + +LICENSE="public-domain" +SLOT="0" + +IUSE="debug lto" + +RDEPEND=" + dev-libs/libsodium + media-fonts/sil-charis + media-libs/libsdl2[haptic] + media-libs/sdl2-mixer + media-libs/sdl2-ttf +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/${PN}-1.2.0_pre-no_bundled_font.patch" #704508 +) + +DOCS=( docs/CHANGELOG.md ) + +src_configure() { + local mycmakeargs=( + -DASAN="OFF" + -DDEBUG="$(usex debug)" + -DDISABLE_LTO="$(usex !lto)" + # Must be off to force dynamic linking. + # See bug #791031 + -DDIST="OFF" + -DUBSAN="OFF" + ) + + if [[ "${PV}" != 9999 ]] ; then + mycmakeargs+=( -DVERSION_NUM="${PV}" ) + fi + + cmake_src_configure +} + +pkg_postinst() { + einfo "In order to play the game you need to install the file" + einfo " diabdat.mpq" + einfo "from the original game CD into the following directory:" + einfo " \${HOME}/.local/share/diasurgical/devilution/" +} diff --git a/games-engines/devilutionx/devilutionx-1.2.1.ebuild b/games-engines/devilutionx/devilutionx-1.2.1.ebuild deleted file mode 100644 index 01125c9e7e42..000000000000 --- a/games-engines/devilutionx/devilutionx-1.2.1.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Sometimes build with ninja fails. -# Please check occasionally if we can revert back to ninja. -# Latest known issue: -# -#CMAKE_MAKEFILE_GENERATOR="emake" - -inherit cmake - -DESCRIPTION="Diablo engine for modern operating systems" -HOMEPAGE="https://github.com/diasurgical/devilutionX" -if [[ "${PV}" == 9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/diasurgical/devilutionX.git" -else - SRC_URI="https://github.com/diasurgical/devilutionX/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~x86" - S="${WORKDIR}/devilutionX-${PV}" -fi - -LICENSE="public-domain" -SLOT="0" - -IUSE="debug lto" - -RDEPEND=" - dev-libs/libsodium - media-fonts/sil-charis - media-libs/libsdl2[haptic] - media-libs/sdl2-mixer - media-libs/sdl2-ttf -" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}/${PN}-1.2.0_pre-no_bundled_font.patch" #704508 -) - -DOCS=( docs/CHANGELOG.md ) - -src_configure() { - local mycmakeargs=( - -DASAN="OFF" - -DDEBUG="$(usex debug)" - -DDISABLE_LTO="$(usex !lto)" - -DDIST="ON" - -DUBSAN="OFF" - ) - - if [[ "${PV}" != 9999 ]] ; then - mycmakeargs+=( -DVERSION_NUM="${PV}" ) - fi - - cmake_src_configure -} - -pkg_postinst() { - einfo "In order to play the game you need to install the file" - einfo " diabdat.mpq" - einfo "from the original game CD into the following directory:" - einfo " \${HOME}/.local/share/diasurgical/devilution/" -} diff --git a/games-engines/devilutionx/devilutionx-9999.ebuild b/games-engines/devilutionx/devilutionx-9999.ebuild index 01125c9e7e42..17884b883e85 100644 --- a/games-engines/devilutionx/devilutionx-9999.ebuild +++ b/games-engines/devilutionx/devilutionx-9999.ebuild @@ -50,7 +50,9 @@ src_configure() { -DASAN="OFF" -DDEBUG="$(usex debug)" -DDISABLE_LTO="$(usex !lto)" - -DDIST="ON" + # Must be off to force dynamic linking. + # See bug #791031 + -DDIST="OFF" -DUBSAN="OFF" ) -- cgit v1.2.3-65-gdbad