# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= devilutionX VERSION= 1.5.4 KEYWORDS= games VARIANTS= std SDESC[std]= 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.4 SITES[audiolib]= GITHUB/realnc:SDL_audiolib:cc1bb6af8d4cf5e200259072bde1edd1c8c5137e SITES[libfmt]= GITHUB/fmtlib:fmt:02537548f3a9efb5f3b83755acf50c8a16ba58c8 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[std]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= asio:dev:std gtest:set:std libsodium:dev:std BUILDRUN_DEPENDS= libsodium:primary:std USES= cmake pkgconfig gettext:build png dos2unix zlib bz2:build SDL_COMPONENTS= mixer2 ttf2 sdl2 image2 LICENSE= CUSTOM1:single LICENSE_NAME= CUSTOM1:"Sustainable Use License 1.0" LICENSE_FILE= CUSTOM1:{{WRKSRC}}/LICENSE.md LICENSE_SCHEME= solo DOS2UNIX_GLOB= *.cpp *.h *.cmake CMakeLists.txt FPC_EQUIVALENT= games/devilutionX CMAKE_ARGS= -DBINARY_RELEASE:BOOL=ON -DVERSION_NUM="1.5.4" -DDISABLE_ZERO_TIER:BOOL=ON -DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON -Wno-dev post-extract: ${MKDIR} ${BUILD_WRKSRC}/_deps (cd ${BUILD_WRKSRC}/_deps \ && ${MV} ${WRKDIR}/libsmackerdec-91e732bb6953489077430572f43fc802bf2c75b2 libsmackerdec-src \ && ${MV} ${WRKDIR}/fmt-02537548f3a9efb5f3b83755acf50c8a16ba58c8 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] 3b4db4a0e1c2d72f2bcada18b7837d2b37e9fd6a7a3c8184a98cd77f4ee4420e 9835887 devilutionX/diasurgical-DevilutionX-1.5.4.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 8e18338ad6b5d9422ad1f3781f06e77e15b3458c4c586abb11a75276cec44f42 699928 devilutionX/fmtlib-fmt-02537548f3a9efb5f3b83755acf50c8a16ba58c8.tar.gz [FILE:16:manifests/plist.single] bin/devilutionx [FILE:455:patches/patch-3rdParty_libfmt_CMakeLists.txt] --- 3rdParty/libfmt/CMakeLists.txt.orig 2025-02-16 00:15:15 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 2025-02-16 00:15:15 UTC +++ CMakeLists.txt @@ -219,7 +219,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 2025-02-16 00:15:15 UTC +++ CMake/Platforms.cmake @@ -2,14 +2,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 2025-02-16 00:15:15 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:435:patches/patch-Source_dvlnet_tcp__server.cpp] --- Source/dvlnet/tcp_server.cpp.orig 2025-03-25 12:01:54 UTC +++ Source/dvlnet/tcp_server.cpp @@ -17,7 +17,7 @@ tcp_server::tcp_server(asio::io_context : ioc(ioc) , pktfty(pktfty) { - auto addr = asio::ip::address::from_string(bindaddr); + auto addr = asio::ip::make_address(bindaddr); auto ep = asio::ip::tcp::endpoint(addr, port); acceptor = std::make_unique(ioc, ep, true); StartAccept(); [FILE:448:files/messages-single.ucl] single: { type: "install" message: <