diff options
Diffstat (limited to 'games-engines/devilutionx')
4 files changed, 162 insertions, 0 deletions
diff --git a/games-engines/devilutionx/Manifest b/games-engines/devilutionx/Manifest new file mode 100644 index 000000000000..fa03c45c4cd7 --- /dev/null +++ b/games-engines/devilutionx/Manifest @@ -0,0 +1,3 @@ +AUX devilutionx-facebookincubator_find_libsodium.patch 3401 BLAKE2B 3f721056ffd63cb063affb4a54641859e3a45360aa1695fc31f3aecd94fa47ddfb986f5fc35a8c5fd5d706e7f1dce5d8dae4d6def5ed163dda8957ab61728818 SHA512 91ba2f33dec4ea56f0ed5aec334fab2a97bbae82ca425c9962c62d6aedf67b16821bfe47f7abfbdb737e5685531be55442972aabcf39b36092f59b79752dbcbc +EBUILD devilutionx-9999.ebuild 1354 BLAKE2B 642a915685356f4726d28b07b8186149cb1df7a0b0f1310fe24ce6fc286cdb6c65641b6845d17dd9a52f58703c1b80f9a8be5a798e720b4e327b1dcbd5abf897 SHA512 e6399058fe35c9bb6b4c1771e3b6e008561d53887eed8ed452524a507a50c4ba58ec0ee36a60d944394be863b320e4cc0ced0a2549fea20fdab362d55a8a1c2d +MISC metadata.xml 349 BLAKE2B 11288d110457dff20a74658a3405aadc17fe8acce67069fd5493f0f81e8e2aa59f45ed5808377362f6840670ae6153b199c724b2801b4689394cadb98a8061a1 SHA512 b759e6fb2533964a7226df5a5877f70eb303689f7c0fd598d1d002444ee71ac0b83747a7c8c262f2ad1d087b232de2c1c7bd3b512bbcf3469eec037009ea7f4d diff --git a/games-engines/devilutionx/devilutionx-9999.ebuild b/games-engines/devilutionx/devilutionx-9999.ebuild new file mode 100644 index 000000000000..3070232b1069 --- /dev/null +++ b/games-engines/devilutionx/devilutionx-9999.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake-utils desktop + +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" +fi + +LICENSE="public-domain" +SLOT="0" + +IUSE="debug" + +RDEPEND=" + dev-libs/libsodium + media-libs/libsdl2[haptic] + media-libs/sdl2-mixer + media-libs/sdl2-ttf +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig +" + +src_prepare() { + # https://github.com/diasurgical/devilutionX/issues/225 + eapply -R "${FILESDIR}"/${PN}-facebookincubator_find_libsodium.patch + + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DBINARY_RELEASE=ON + -DDEBUG="$(usex debug)" + ) + cmake-utils_src_configure +} + +src_install() { + dobin "${BUILD_DIR}/${PN}" + make_desktop_entry ${PN} "Diablo devolved" +} + +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/" + einfo "and make sure it's writeable (chmod u+w)." +} diff --git a/games-engines/devilutionx/files/devilutionx-facebookincubator_find_libsodium.patch b/games-engines/devilutionx/files/devilutionx-facebookincubator_find_libsodium.patch new file mode 100644 index 000000000000..e81de974c4db --- /dev/null +++ b/games-engines/devilutionx/files/devilutionx-facebookincubator_find_libsodium.patch @@ -0,0 +1,88 @@ +From 1f7f5bf3dccee957e23bdf4d976883b155d5e81a Mon Sep 17 00:00:00 2001 +From: Anders Jenbo <anders@jenbo.dk> +Date: Tue, 23 Jul 2019 21:34:08 +0200 +Subject: [PATCH] Use facebookincubator findflindsodium cmake helper + +https://github.com/facebookincubator/fizz/blob/master/fizz/cmake/FindSodium.cmake +--- + CMake/Findsodium.cmake | 34 ++++++++++++++++++++-------------- + 1 file changed, 20 insertions(+), 14 deletions(-) + +diff --git a/CMake/Findsodium.cmake b/CMake/Findsodium.cmake +index 0667920c..c664ccbe 100644 +--- a/CMake/Findsodium.cmake ++++ b/CMake/Findsodium.cmake +@@ -55,22 +55,22 @@ if (UNIX) + endif() + + if(sodium_USE_STATIC_LIBS) +- if (sodium_PKG_STATIC_LIBRARIES) +- foreach(_libname ${sodium_PKG_STATIC_LIBRARIES}) +- if (NOT _libname MATCHES "^lib.*\\.a$") # ignore strings already ending with .a +- list(INSERT sodium_PKG_STATIC_LIBRARIES 0 "lib${_libname}.a") +- endif() +- endforeach() +- list(REMOVE_DUPLICATES sodium_PKG_STATIC_LIBRARIES) +- else() +- # if pkgconfig for libsodium doesn't provide +- # static lib info, then override PKG_STATIC here.. ++ foreach(_libname ${sodium_PKG_STATIC_LIBRARIES}) ++ if (NOT _libname MATCHES "^lib.*\\.a$") # ignore strings already ending with .a ++ list(INSERT sodium_PKG_STATIC_LIBRARIES 0 "lib${_libname}.a") ++ endif() ++ endforeach() ++ list(REMOVE_DUPLICATES sodium_PKG_STATIC_LIBRARIES) ++ ++ # if pkgconfig for libsodium doesn't provide ++ # static lib info, then override PKG_STATIC here.. ++ if (NOT sodium_PKG_STATIC_FOUND) + set(sodium_PKG_STATIC_LIBRARIES libsodium.a) + endif() + + set(XPREFIX sodium_PKG_STATIC) + else() +- if (sodium_PKG_LIBRARIES STREQUAL "") ++ if (NOT sodium_PKG_FOUND) + set(sodium_PKG_LIBRARIES sodium) + endif() + +@@ -101,7 +101,7 @@ elseif (WIN32) + + if (MSVC) + # detect target architecture +- file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/arch.c" [=[ ++ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/arch.cpp" [=[ + #if defined _M_IX86 + #error ARCH_VALUE x86_32 + #elif defined _M_X64 +@@ -109,7 +109,7 @@ elseif (WIN32) + #endif + #error ARCH_VALUE unknown + ]=]) +- try_compile(_UNUSED_VAR "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/arch.c" ++ try_compile(_UNUSED_VAR "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/arch.cpp" + OUTPUT_VARIABLE _COMPILATION_LOG + ) + string(REGEX REPLACE ".*ARCH_VALUE ([a-zA-Z0-9_]+).*" "\\1" _TARGET_ARCH "${_COMPILATION_LOG}") +@@ -224,7 +224,8 @@ endif() + + # communicate results + include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(sodium ++find_package_handle_standard_args( ++ Sodium # The name must be either uppercase or match the filename case. + REQUIRED_VARS + sodium_LIBRARY_RELEASE + sodium_LIBRARY_DEBUG +@@ -233,6 +234,11 @@ find_package_handle_standard_args(sodium + sodium_VERSION + ) + ++if(Sodium_FOUND) ++ set(sodium_LIBRARIES ++ optimized ${sodium_LIBRARY_RELEASE} debug ${sodium_LIBRARY_DEBUG}) ++endif() ++ + # mark file paths as advanced + mark_as_advanced(sodium_INCLUDE_DIR) + mark_as_advanced(sodium_LIBRARY_DEBUG) diff --git a/games-engines/devilutionx/metadata.xml b/games-engines/devilutionx/metadata.xml new file mode 100644 index 000000000000..81aca5b1e557 --- /dev/null +++ b/games-engines/devilutionx/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>polynomial-c@gentoo.org</email> + <name>Lars Wendler</name> + </maintainer> + <upstream> + <remote-id type="github">diasurgical/devilutionX</remote-id> + </upstream> +</pkgmetadata> |