Ravenports generated: 13 Aug 2023 17:55
[ravenports.git] / bucket_9F / devilutionX
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               devilutionX
4 VERSION=                1.5.0
5 KEYWORDS=               games
6 VARIANTS=               standard
7 SDESC[standard]=        Reverse-engineered Diablo 1 engine made portable
8 HOMEPAGE=               https://github.com/diasurgical/devilutionX
9 CONTACT=                Michael_Reim[kraileth@elderlinux.org]
10
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
25 DF_INDEX=               1 2 3 4 5 6
26 SPKGS[standard]=        single
27
28 OPTIONS_AVAILABLE=      none
29 OPTIONS_STANDARD=       none
30
31 BUILD_DEPENDS=          asio:single:standard
32                         gtest:complete:standard
33                         libsodium:dev:standard
34 BUILDRUN_DEPENDS=       libsodium:primary:standard
35
36 USES=                   cmake pkgconfig gettext:build png dos2unix zlib
37                         bz2:build
38 C_USES[linux]=          iconv
39 SDL_COMPONENTS=         mixer2 ttf2 sdl2 image2
40
41 LICENSE=                PUBDOM:single
42 LICENSE_FILE=           PUBDOM:{{WRKSRC}}/LICENSE.md
43 LICENSE_SCHEME=         solo
44
45 DOS2UNIX_GLOB=          *.cpp
46                         *.h
47                         *.cmake
48                         CMakeLists.txt
49 FPC_EQUIVALENT=         games/devilutionX
50
51 SUB_FILES=              pkg-message-single
52
53 CMAKE_ARGS=             -DBINARY_RELEASE:BOOL=ON
54                         -DVERSION_NUM="1.5.0"
55                         -DDISABLE_ZERO_TIER:BOOL=ON
56                         -DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON
57                         -Wno-dev
58 VAR_OPSYS[linux]=       LDFLAGS=-liconv
59
60 post-extract:
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)
68
69 do-install:
70         ${INSTALL_PROGRAM} ${WRKDIR}/.build/devilutionx \
71                 ${STAGEDIR}${PREFIX}/bin
72
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).
78
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.
83
84 The Hellfire expansion is also supported since version 1.2.0.
85
86
87 [FILE:912:distinfo]
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
94
95
96 [FILE:16:manifests/plist.single]
97 bin/devilutionx
98
99
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
103 @@ -1,6 +1,6 @@
104  include(functions/FetchContent_MakeAvailableExcludeFromAll)
105  
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)
110  endif()
111
112
113 [FILE:318:patches/patch-CMakeLists.txt]
114 --- CMakeLists.txt.orig 2023-06-18 17:54:38 UTC
115 +++ CMakeLists.txt
116 @@ -213,7 +213,6 @@ if(PIE)
117    set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
118  endif()
119  
120 -find_program(CCACHE_PROGRAM ccache)
121  if(CCACHE_PROGRAM)
122    set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
123    set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
124
125
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)
131  endif()
132  
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)
137    else()
138 -    add_definitions(-D_BSD_SOURCE)
139      set(UBSAN OFF)
140    endif()
141    set(ASAN OFF)
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)
144  endif()
145  
146
147
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)
153    endif()
154  
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)
159    endif()
160
161
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!
168
169 This version matches Diablo 1.9 but also includes some additional fixes
170 and new features.
171