diff options
-rw-r--r-- | games-engines/devilutionx/Manifest | 1 | ||||
-rw-r--r-- | games-engines/devilutionx/devilutionx-1.5.1.ebuild | 88 |
2 files changed, 89 insertions, 0 deletions
diff --git a/games-engines/devilutionx/Manifest b/games-engines/devilutionx/Manifest index cbd3474c99a4..96a8f265ee41 100644 --- a/games-engines/devilutionx/Manifest +++ b/games-engines/devilutionx/Manifest @@ -1 +1,2 @@ DIST devilutionx-1.5.0.tar.xz 21951316 BLAKE2B efc6d3539eed25f917d30f3a858903952068bf4d4c66b0cd39f1a86ce3f98d9d67a8bce3a2467fa22e91bd2f552fbb593b602273e163422ab5f133133d513060 SHA512 df4998a86203372b82cb3be0348a1555ea95127a22ef050fed068215fd2223550f2b64364d83a58f829398169a29a5990d4332dc7f0adec6316f3a6c8e280ccb +DIST devilutionx-1.5.1.tar.xz 21971268 BLAKE2B fdcbfad36ded01ca40643d114ffd49b300ccf98b11415cbc396f226d42aa315502319e94e9075a2308f1f003db9611d1232170564f30cc3f09cb4b4db7f82b35 SHA512 c712c8215947a117777313bfe24c8b24e8efa702a211e67bee1ae7276176be782394dc32f1cc4509e1539fdca8b1181884f5bc9dc4cf46890f4c57a378fb5d3b diff --git a/games-engines/devilutionx/devilutionx-1.5.1.ebuild b/games-engines/devilutionx/devilutionx-1.5.1.ebuild new file mode 100644 index 000000000000..1ad3e2aafedd --- /dev/null +++ b/games-engines/devilutionx/devilutionx-1.5.1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2023 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? ( BUSL-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 + dev-cpp/simpleini + test? ( dev-cpp/gtest ) +" +BDEPEND="sys-devel/gettext" + +src_prepare() { + cmake_src_prepare + + # use system asio + echo 'add_library(asio INTERFACE)' > 3rdParty/asio/CMakeLists.txt || die + + # ensure system copies are used + rm -r dist/{asio,simpleini,sdl_audiolib}-src || die +} + +src_configure() { + local mycmakeargs=( + -DBUILD_TESTING=$(usex test) + -DCCACHE_PROGRAM=no #813768 + -DDEBUG=$(usex debug) + -DDISABLE_LTO=yes # let CFLAGS control this + -DDISABLE_ZERO_TIER=$(usex !zerotier) + -DPACKET_ENCRYPTION=$(usex sodium) + -DPIE=yes + -DFETCHCONTENT_FULLY_DISCONNECTED=yes + ) + + cmake_src_configure +} + +src_test() { + # timedemo tests only pass when game assets are available + cmake_src_test -E Timedemo. +} + +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 +} |