1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
7 SDESC[standard]= Reverse-engineered Diablo 1 engine made portable
8 HOMEPAGE= https://github.com/diasurgical/devilutionX
9 CONTACT= Michael_Reim[kraileth@elderlinux.org]
11 DOWNLOAD_GROUPS= main audiolib libfmt libmpq simpleini smack
12 SITES[main]= GITHUB/diasurgical:devilutionX:1.5.0
13 SITES[audiolib]= GITHUB/realnc:SDL_audiolib:cc1bb6af8d4cf5e200259072bde1edd1c8c5137e
14 SITES[libfmt]= GITHUB/fmtlib:fmt:e421e854efcb21ee641349bab604d91b34af26b8
15 SITES[libmpq]= GITHUB/diasurgical:libmpq:b78d66c6fee6a501cc9b95d8556a129c68841b05
16 SITES[simpleini]= GITHUB/brofield:simpleini:56499b5af5d2195c6acfc58c4630b70e0c9c4c21
17 SITES[smack]= GITHUB/diasurgical:libsmackerdec:91e732bb6953489077430572f43fc802bf2c75b2
18 DISTFILE[1]= generated:main
19 DISTFILE[2]= generated:smack
20 DISTFILE[3]= generated:audiolib
21 DISTFILE[4]= generated:simpleini
22 DISTFILE[5]= generated:libmpq
23 DISTFILE[6]= generated:libfmt
24 DIST_SUBDIR= devilutionX
26 SPKGS[standard]= single
28 OPTIONS_AVAILABLE= none
29 OPTIONS_STANDARD= none
31 BUILD_DEPENDS= asio:single:standard
32 gtest:complete:standard
33 libsodium:dev:standard
34 BUILDRUN_DEPENDS= libsodium:primary:standard
36 USES= cmake pkgconfig gettext:build png dos2unix zlib
39 SDL_COMPONENTS= mixer2 ttf2 sdl2 image2
41 LICENSE= PUBDOM:single
42 LICENSE_FILE= PUBDOM:{{WRKSRC}}/LICENSE.md
49 FPC_EQUIVALENT= games/devilutionX
51 SUB_FILES= pkg-message-single
53 CMAKE_ARGS= -DBINARY_RELEASE:BOOL=ON
55 -DDISABLE_ZERO_TIER:BOOL=ON
56 -DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON
58 VAR_OPSYS[linux]= LDFLAGS=-liconv
61 ${MKDIR} ${BUILD_WRKSRC}/_deps
62 (cd ${BUILD_WRKSRC}/_deps \
63 && ${MV} ${WRKDIR}/libsmackerdec-91e732bb6953489077430572f43fc802bf2c75b2 libsmackerdec-src \
64 && ${MV} ${WRKDIR}/fmt-e421e854efcb21ee641349bab604d91b34af26b8 libfmt-src \
65 && ${MV} ${WRKDIR}/libmpq-b78d66c6fee6a501cc9b95d8556a129c68841b05 libmpq-src \
66 && ${MV} ${WRKDIR}/simpleini-56499b5af5d2195c6acfc58c4630b70e0c9c4c21 simpleini-src \
67 && ${MV} ${WRKDIR}/SDL_audiolib-cc1bb6af8d4cf5e200259072bde1edd1c8c5137e sdl_audiolib-src)
70 ${INSTALL_PROGRAM} ${WRKDIR}/.build/devilutionx \
71 ${STAGEDIR}${PREFIX}/bin
73 [FILE:592:descriptions/desc.single]
74 Devilution is a project to re-create and document the source code for the
75 game Diablo 1 as closely to the original as possible. It was
76 reverse-engineered and cleaned up (believed to be legal under the Digital
77 Millennium Copyright Act's documentation and interoperability exceptions).
79 DevilutionX is a portable version of the engine that uses SDL to run
80 across modern operating systems. This package contains just the engine, no
81 game data is provided. You will need the original resource container
82 ("diabdat.mpq") to play.
84 The Hellfire expansion is also supported since version 1.2.0.
88 94bd11e05ba53edddfd9df677d30c9f9fdca90f963a3466bf0fb133bd4f8d668 9353135 devilutionX/diasurgical-devilutionX-1.5.0.tar.gz
89 e565e37ef1ae4f8846d9c9c24b861bc56fdce2d7a4ece47de448e00aa9048b87 18576 devilutionX/diasurgical-libsmackerdec-91e732bb6953489077430572f43fc802bf2c75b2.tar.gz
90 5adc71bee3506b16c505c1662da73fcfdfd878914645784f80fc70db979533a5 1140118 devilutionX/realnc-SDL_audiolib-cc1bb6af8d4cf5e200259072bde1edd1c8c5137e.tar.gz
91 dbdb50a33d3edf791fc2622309d9c3d701a2fb7e7e2b403d3fa504e04f0ade0e 62858 devilutionX/brofield-simpleini-56499b5af5d2195c6acfc58c4630b70e0c9c4c21.tar.gz
92 348cd9c2be9c067dfcb8a2d6cd6f947ade5088e1543c1e5db1fdc5b12db6aeea 70149 devilutionX/diasurgical-libmpq-b78d66c6fee6a501cc9b95d8556a129c68841b05.tar.gz
93 5a5fd9127b4dfb9311e7ecd32bb9bf7f6bbf8878463c370e7225feea1803d1cb 852012 devilutionX/fmtlib-fmt-e421e854efcb21ee641349bab604d91b34af26b8.tar.gz
96 [FILE:16:manifests/plist.single]
100 [FILE:455:patches/patch-3rdParty_libfmt_CMakeLists.txt]
101 --- 3rdParty/libfmt/CMakeLists.txt.orig 2023-06-18 17:54:38 UTC
102 +++ 3rdParty/libfmt/CMakeLists.txt
104 include(functions/FetchContent_MakeAvailableExcludeFromAll)
106 -if(NOT WIN32 AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD)
107 +if(NOT WIN32 AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "BSD|DragonFly")
108 # Enable POSIX extensions such as `readlink` and `ftruncate`.
109 add_definitions(-D_POSIX_C_SOURCE=200809L)
113 [FILE:318:patches/patch-CMakeLists.txt]
114 --- CMakeLists.txt.orig 2023-06-18 17:54:38 UTC
116 @@ -213,7 +213,6 @@ if(PIE)
117 set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
120 -find_program(CCACHE_PROGRAM ccache)
122 set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
123 set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
126 [FILE:650:patches/patch-CMake_Platforms.cmake]
127 --- CMake/Platforms.cmake.orig 2023-07-25 11:59:49 UTC
128 +++ CMake/Platforms.cmake
129 @@ -6,14 +6,14 @@ if(HAIKU)
130 include(platforms/haiku)
133 -if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|OpenBSD|DragonFly|NetBSD")
134 +if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|OpenBSD|DragonFly|NetBSD|MidnightBSD")
135 if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
136 add_definitions(-D_NETBSD_SOURCE)
138 - add_definitions(-D_BSD_SOURCE)
142 + add_definitions(-D_BSD_SOURCE)
143 add_definitions(-DO_LARGEFILE=0 -Dstat64=stat -Dlstat64=lstat -Dlseek64=lseek -Doff64_t=off_t -Dfstat64=fstat -Dftruncate64=ftruncate)
148 [FILE:558:patches/patch-CMake_functions_devilutionx__library.cmake]
149 --- CMake/functions/devilutionx_library.cmake.orig 2023-06-18 17:54:38 UTC
150 +++ CMake/functions/devilutionx_library.cmake
151 @@ -45,7 +45,7 @@ function(add_devilutionx_library NAME)
152 target_compile_options(${NAME} PUBLIC -Wall -Wextra -Wno-unused-parameter)
155 - if(NOT WIN32 AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD)
156 + if(NOT WIN32 AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "BSD|DragonFly")
157 # Enable POSIX extensions such as `readlink` and `ftruncate`.
158 add_definitions(-D_POSIX_C_SOURCE=200809L)
162 [FILE:397:files/pkg-message-single.in]
163 To play the game you need the resource container file DIABDAT.MPQ. Copy
164 it off your Diablo CD or extract it (using e.g. innoextract) from the
165 GOG version (see https://www.gog.com/game/diablo). Then put it into the
166 directory ~/.local/share/diasurgical/devilution and make sure it is
167 spelled all lower-case!
169 This version matches Diablo 1.9 but also includes some additional fixes