commit:     4612f095b9e804494aa8797af3ea57b104b99ec2
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 30 01:28:06 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Jun 30 01:59:54 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4612f095

games-engines/devilutionx: add 1.4.0

Essentially a new ebuild, upstream changed about everything around.

wrt bug #814170 about fonts, ttf is no longer used (sdl-ttf dep is
also gone) and instead it uses converted pcx fonts and so unbundling
doesn't feel realistic anymore.

Bug: https://bugs.gentoo.org/814170
Closes: https://bugs.gentoo.org/814167
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 games-engines/devilutionx/Manifest                 |  1 +
 games-engines/devilutionx/devilutionx-1.4.0.ebuild | 78 ++++++++++++++++++++++
 .../devilutionx-1.4.0-system-sdl_audiolib.patch    | 18 +++++
 games-engines/devilutionx/metadata.xml             |  2 +
 4 files changed, 99 insertions(+)

diff --git a/games-engines/devilutionx/Manifest 
b/games-engines/devilutionx/Manifest
index 6f525083a265..c0aa8501e30f 100644
--- a/games-engines/devilutionx/Manifest
+++ b/games-engines/devilutionx/Manifest
@@ -1 +1,2 @@
 DIST devilutionx-1.2.1.tar.gz 3573200 BLAKE2B 
c3055bfa8ae0a670e21561673e23277fb76e2b24d269fdd86d13510f68a0e841ec96ab06cf98739913870884d82037b5297ce168e6cba1f8795de6ea72620649
 SHA512 
9327b127d0ad22d640b1a13fad9bfa00ba0fc512dd7ed362a9e84a80278d84634cd039cba7c98f15425715b11a35dc6ac07d75c816c3cbc818e6ab8c4437cf18
+DIST devilutionx-1.4.0.tar.xz 19752052 BLAKE2B 
3a79e9d88cc2f5623dfd7d4ad2a0a547361cde8d95197be36dc7076e0b56fa1a915c57bf5537f5e4508201c3b5a283ab90d13db93b3836b0f12c6108abf1578a
 SHA512 
9519c0bd52798f35fc986fab867b0005010f089b35200b5d54b7ed94145c2df54270a570cd3b0ff1c260f645d624a145e3581d744b48ae513919eb2258331bcf

diff --git a/games-engines/devilutionx/devilutionx-1.4.0.ebuild 
b/games-engines/devilutionx/devilutionx-1.4.0.ebuild
new file mode 100644
index 000000000000..c4ee3ebfae38
--- /dev/null
+++ b/games-engines/devilutionx/devilutionx-1.4.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+DESCRIPTION="Diablo engine for modern operating systems"
+HOMEPAGE="https://github.com/diasurgical/devilutionX/";
+SRC_URI="https://github.com/diasurgical/devilutionX/releases/download/${PV}/devilutionx-src.tar.xz
 -> ${P}.tar.xz"
+S="${WORKDIR}/${PN}-src-${PV}"
+
+LICENSE="Unlicense CC-BY-4.0 GPL-2+ LGPL-2.1+ MIT OFL-1.1 zerotier? ( BSL-1.1 
)"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug +sodium test zerotier"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       app-arch/bzip2:=
+       dev-libs/libfmt:=
+       media-libs/libsdl2[haptic,joystick,opengl,video]
+       media-libs/sdl2-image[png]
+       sys-libs/zlib:=
+       media-libs/sdl_audiolib
+       sodium? ( dev-libs/libsodium:= )"
+DEPEND="
+       ${RDEPEND}
+       dev-cpp/asio
+       test? ( dev-cpp/gtest )"
+BDEPEND="sys-devel/gettext"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-system-sdl_audiolib.patch
+)
+
+src_prepare() {
+       cmake_src_prepare
+
+       # use system asio
+       echo 'add_library(asio INTERFACE)' > 3rdParty/asio/CMakeLists.txt || die
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_TESTING=$(usex test)
+               -DCCACHE_PROGRAM=OFF #813768
+               -DDEBUG=$(usex debug)
+               -DDISABLE_LTO=ON # let CFLAGS control this
+               -DDISABLE_ZERO_TIER=$(usex !zerotier)
+               -DPACKET_ENCRYPTION=$(usex sodium)
+               -DPIE=ON
+       )
+       [[ ${PV} == 9999 ]] || mycmakeargs+=( -DVERSION_NUM=${PV} )
+
+       cmake_src_configure
+}
+
+src_install() {
+       local DOCS=( Packaging/nix/README.txt docs/*.md )
+       cmake_src_install
+
+       rm "${ED}"/usr/share/diasurgical/devilutionx/README.txt || die
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if [[ ! ${REPLACING_VERSIONS} ]]; then
+               elog "In order to play the game, you will need to copy the 
following data file"
+               elog "from the original game, and optionally the hellfire 
expansion files:"
+               elog "  - DIABDAT.MPQ"
+               elog "  - hellfire.mpq hfmonk.mpq hfmusic.mpq hfvoice.mpq"
+               elog "to ~/.local/share/diasurgical/devilution/"
+               elog
+               elog "See ${EROOT}/usr/share/doc/${PF}/README.txt* for details."
+       fi
+}

diff --git 
a/games-engines/devilutionx/files/devilutionx-1.4.0-system-sdl_audiolib.patch 
b/games-engines/devilutionx/files/devilutionx-1.4.0-system-sdl_audiolib.patch
new file mode 100644
index 000000000000..26d0b0045022
--- /dev/null
+++ 
b/games-engines/devilutionx/files/devilutionx-1.4.0-system-sdl_audiolib.patch
@@ -0,0 +1,18 @@
+Short version of upstreamed:
+https://github.com/diasurgical/devilutionX/pull/4464
+--- a/CMake/Dependencies.cmake
++++ b/CMake/Dependencies.cmake
+@@ -118,9 +118,11 @@
+ endif()
+ 
+ if(NOT NOSOUND)
+-  dependency_options("SDL_audiolib" DEVILUTIONX_SYSTEM_SDL_AUDIOLIB OFF 
DEVILUTIONX_STATIC_SDL_AUDIOLIB)
++  dependency_options("SDL_audiolib" DEVILUTIONX_SYSTEM_SDL_AUDIOLIB ON 
DEVILUTIONX_STATIC_SDL_AUDIOLIB)
+   if(DEVILUTIONX_SYSTEM_SDL_AUDIOLIB)
+-    find_package(SDL_audiolib REQUIRED)
++    find_package(PkgConfig REQUIRED)
++    pkg_check_modules(SDL_audiolib REQUIRED IMPORTED_TARGET SDL_audiolib)
++    add_library(SDL_audiolib ALIAS PkgConfig::SDL_audiolib)
+   else()
+     add_subdirectory(3rdParty/SDL_audiolib)
+   endif()

diff --git a/games-engines/devilutionx/metadata.xml 
b/games-engines/devilutionx/metadata.xml
index 6831710f8df5..ae8bad0665fb 100644
--- a/games-engines/devilutionx/metadata.xml
+++ b/games-engines/devilutionx/metadata.xml
@@ -7,6 +7,8 @@
   </maintainer>
   <use>
     <flag name="lto">Build with link time optimization enabled</flag>
+    <flag name="sodium">Enable network packet encryption using 
<pkg>dev-libs/libsodium</pkg></flag>
+    <flag name="zerotier">Enable ZeroTier for online public games</flag>
   </use>
   <upstream>
     <remote-id type="github">diasurgical/devilutionX</remote-id>

Reply via email to