# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= devilutionX VERSION= 1.5.2 KEYWORDS= games VARIANTS= standard SDESC[standard]= Reverse-engineered Diablo 1 engine made portable HOMEPAGE= https://github.com/diasurgical/devilutionX CONTACT= Michael_Reim[kraileth@elderlinux.org] DOWNLOAD_GROUPS= main audiolib libfmt libmpq simpleini smack SITES[main]= GITHUB/diasurgical:devilutionX:1.5.2 SITES[audiolib]= GITHUB/realnc:SDL_audiolib:cc1bb6af8d4cf5e200259072bde1edd1c8c5137e SITES[libfmt]= GITHUB/fmtlib:fmt:44f3d8a77cd7e05e9da92d68635abdb4da626e9e SITES[libmpq]= GITHUB/diasurgical:libmpq:7c2924d4553513eba1a70bbdb558198dd8c2726a SITES[simpleini]= GITHUB/brofield:simpleini:56499b5af5d2195c6acfc58c4630b70e0c9c4c21 SITES[smack]= GITHUB/diasurgical:libsmackerdec:91e732bb6953489077430572f43fc802bf2c75b2 DISTFILE[1]= generated:main DISTFILE[2]= generated:smack DISTFILE[3]= generated:audiolib DISTFILE[4]= generated:simpleini DISTFILE[5]= generated:libmpq DISTFILE[6]= generated:libfmt DIST_SUBDIR= devilutionX DF_INDEX= 1 2 3 4 5 6 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= asio:single:standard gtest:complete:standard libsodium:dev:standard BUILDRUN_DEPENDS= libsodium:primary:standard USES= cmake pkgconfig gettext:build png dos2unix zlib bz2:build C_USES[linux]= iconv SDL_COMPONENTS= mixer2 ttf2 sdl2 image2 LICENSE= PUBDOM:single LICENSE_FILE= PUBDOM:{{WRKSRC}}/LICENSE.md LICENSE_SCHEME= solo DOS2UNIX_GLOB= *.cpp *.h *.cmake CMakeLists.txt FPC_EQUIVALENT= games/devilutionX SUB_FILES= pkg-message-single CMAKE_ARGS= -DBINARY_RELEASE:BOOL=ON -DVERSION_NUM="1.5.2" -DDISABLE_ZERO_TIER:BOOL=ON -DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON -Wno-dev VAR_OPSYS[linux]= LDFLAGS=-liconv post-extract: ${MKDIR} ${BUILD_WRKSRC}/_deps (cd ${BUILD_WRKSRC}/_deps \ && ${MV} ${WRKDIR}/libsmackerdec-91e732bb6953489077430572f43fc802bf2c75b2 libsmackerdec-src \ && ${MV} ${WRKDIR}/fmt-44f3d8a77cd7e05e9da92d68635abdb4da626e9e libfmt-src \ && ${MV} ${WRKDIR}/libmpq-7c2924d4553513eba1a70bbdb558198dd8c2726a libmpq-src \ && ${MV} ${WRKDIR}/simpleini-56499b5af5d2195c6acfc58c4630b70e0c9c4c21 simpleini-src \ && ${MV} ${WRKDIR}/SDL_audiolib-cc1bb6af8d4cf5e200259072bde1edd1c8c5137e sdl_audiolib-src) do-install: ${INSTALL_PROGRAM} ${WRKDIR}/.build/devilutionx \ ${STAGEDIR}${PREFIX}/bin [FILE:592:descriptions/desc.single] Devilution is a project to re-create and document the source code for the game Diablo 1 as closely to the original as possible. It was reverse-engineered and cleaned up (believed to be legal under the Digital Millennium Copyright Act's documentation and interoperability exceptions). DevilutionX is a portable version of the engine that uses SDL to run across modern operating systems. This package contains just the engine, no game data is provided. You will need the original resource container ("diabdat.mpq") to play. The Hellfire expansion is also supported since version 1.2.0. [FILE:912:distinfo] c046fd23778729ce77e7f6fd1c66ba7c3e1b32a1472821c3485f0d8bd4f3b4aa 9448866 devilutionX/diasurgical-devilutionX-1.5.2.tar.gz e565e37ef1ae4f8846d9c9c24b861bc56fdce2d7a4ece47de448e00aa9048b87 18576 devilutionX/diasurgical-libsmackerdec-91e732bb6953489077430572f43fc802bf2c75b2.tar.gz 5adc71bee3506b16c505c1662da73fcfdfd878914645784f80fc70db979533a5 1140118 devilutionX/realnc-SDL_audiolib-cc1bb6af8d4cf5e200259072bde1edd1c8c5137e.tar.gz dbdb50a33d3edf791fc2622309d9c3d701a2fb7e7e2b403d3fa504e04f0ade0e 62858 devilutionX/brofield-simpleini-56499b5af5d2195c6acfc58c4630b70e0c9c4c21.tar.gz ab8c004cc62d6e01b06a6f8d1ec67704728ed6163886b40d1f7fa5421a2b387d 70645 devilutionX/diasurgical-libmpq-7c2924d4553513eba1a70bbdb558198dd8c2726a.tar.gz 2fff3a579ca56c7990c7c75758c5dce5860f1697f4bde56785ac99da151217ae 839561 devilutionX/fmtlib-fmt-44f3d8a77cd7e05e9da92d68635abdb4da626e9e.tar.gz [FILE:16:manifests/plist.single] bin/devilutionx [FILE:455:patches/patch-3rdParty_libfmt_CMakeLists.txt] --- 3rdParty/libfmt/CMakeLists.txt.orig 2023-06-18 17:54:38 UTC +++ 3rdParty/libfmt/CMakeLists.txt @@ -1,6 +1,6 @@ include(functions/FetchContent_MakeAvailableExcludeFromAll) -if(NOT WIN32 AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD) +if(NOT WIN32 AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "BSD|DragonFly") # Enable POSIX extensions such as `readlink` and `ftruncate`. add_definitions(-D_POSIX_C_SOURCE=200809L) endif() [FILE:318:patches/patch-CMakeLists.txt] --- CMakeLists.txt.orig 2023-06-18 17:54:38 UTC +++ CMakeLists.txt @@ -213,7 +213,6 @@ if(PIE) set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) endif() -find_program(CCACHE_PROGRAM ccache) if(CCACHE_PROGRAM) set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") [FILE:650:patches/patch-CMake_Platforms.cmake] --- CMake/Platforms.cmake.orig 2023-07-25 11:59:49 UTC +++ CMake/Platforms.cmake @@ -6,14 +6,14 @@ if(HAIKU) include(platforms/haiku) endif() -if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|OpenBSD|DragonFly|NetBSD") +if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|OpenBSD|DragonFly|NetBSD|MidnightBSD") if(CMAKE_SYSTEM_NAME MATCHES "NetBSD") add_definitions(-D_NETBSD_SOURCE) else() - add_definitions(-D_BSD_SOURCE) set(UBSAN OFF) endif() set(ASAN OFF) + add_definitions(-D_BSD_SOURCE) add_definitions(-DO_LARGEFILE=0 -Dstat64=stat -Dlstat64=lstat -Dlseek64=lseek -Doff64_t=off_t -Dfstat64=fstat -Dftruncate64=ftruncate) endif() [FILE:558:patches/patch-CMake_functions_devilutionx__library.cmake] --- CMake/functions/devilutionx_library.cmake.orig 2023-06-18 17:54:38 UTC +++ CMake/functions/devilutionx_library.cmake @@ -45,7 +45,7 @@ function(add_devilutionx_library NAME) target_compile_options(${NAME} PUBLIC -Wall -Wextra -Wno-unused-parameter) endif() - if(NOT WIN32 AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD) + if(NOT WIN32 AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "BSD|DragonFly") # Enable POSIX extensions such as `readlink` and `ftruncate`. add_definitions(-D_POSIX_C_SOURCE=200809L) endif() [FILE:397:files/pkg-message-single.in] To play the game you need the resource container file DIABDAT.MPQ. Copy it off your Diablo CD or extract it (using e.g. innoextract) from the GOG version (see https://www.gog.com/game/diablo). Then put it into the directory ~/.local/share/diasurgical/devilution and make sure it is spelled all lower-case! This version matches Diablo 1.9 but also includes some additional fixes and new features.