Erwin_Iosef

Hedgewars 1.0.2-140 cmake build error

Apr 11th, 2025 (edited)
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.97 KB | None | 0 0
  1. ##PKGBUILD
  2.  
  3. # Maintainer: Felix Yan <[email protected]>
  4. # Contributor: Sergej Pupykin <[email protected]>
  5. # Contributor: Tinxy <arch at tinx dot eu>
  6.  
  7. pkgname=(hedgewars hedgewars-server)
  8. pkgver=1.0.2
  9. pkgrel=140
  10. pkgdesc="Turn-based strategy artillery game similiar to Worms"
  11. arch=('x86_64')
  12. url="https://hedgewars.org"
  13. license=('GPL' 'custom')
  14. depends=('qt5-base' 'sdl2' 'sdl2_mixer' 'sdl2_image' 'sdl2_net' 'sdl2_ttf' 'lua51' 'ffmpeg4.4'
  15. 'physfs' 'ghc-libs' 'haskell-entropy' 'haskell-sha' 'haskell-random' 'haskell-regex-tdfa'
  16. 'haskell-sandi' 'haskell-hslogger' 'haskell-network' 'haskell-network-bsd'
  17. 'haskell-utf8-string' 'haskell-vector')
  18.  
  19. makedepends=('fpc' 'cmake' 'qt5-tools' 'ghc' 'haskell-zlib' 'haskell-base-prelude' 'imagemagick'
  20. 'mesa')
  21.  
  22. source=("https://www.hedgewars.org/download/releases/hedgewars-src-$pkgver.tar.bz2")
  23. sha512sums=('dc79cc48eee305d8dd2b64fcbfe598d48f8aec918d9065a6af4aef9be4e4940ad858836fc6bda46e02128b80dbba8c443a4f8a702a16b0ac969f8d0a0e080502')
  24.  
  25. prepare() {
  26. cd hedgewars-src-$pkgver
  27. sed -e 's|cmake_minimum_required(VERSION 2.6.4)|cmake_minimum_required(VERSION 3.12.0)|' -e 's|add_subdirectory(gameServer)|add_subdirectory(gameServer EXCLUDE_FROM_ALL)|' \
  28. -e 's/CMP0026//' \
  29. -i CMakeLists.txt
  30. sed -i '/physlayer_fullpath/d' misc/libphyslayer/CMakeLists.txt
  31.  
  32. #hedgwars gameServer CMakeLists.txt edits
  33. sed -e 's|set(ghc_flags|set(ghc_flags -dynamic|' \
  34. -e '1i cmake_minimum_required(VERSION 3.12.0)\nproject(hedgewars-server)' \
  35. -e '2a set(target_binary_install_dir "bin" CACHE PATH "install dest for binaries")' -i gameServer/CMakeLists.txt
  36. }
  37.  
  38. build() {
  39. export PKG_CONFIG_PATH='/usr/lib/ffmpeg4.4/pkgconfig'
  40. #echo `ls ${srcdir}/hedgewars-src-$pkgver/cmake_modules/`
  41. cd hedgewars-src-$pkgver
  42. cmake \
  43. -Bhedgewars-server \
  44. -SgameServer \
  45. -DCMAKE_BUILD_TYPE="Release" \
  46. -DCMAKE_INSTALL_PREFIX=/usr \
  47. -DCMAKE_MODULE_PATH=${srcdir}/hedgewars-src-$pkgver/cmake_modules
  48. make -C hedgewars-server
  49.  
  50. # resize icon
  51. for _size in 16 32 48 64 128 256; do
  52. convert +set date:create +set date:modify misc/hedgewars.png -resize ${_size}x${_size} hedgewars_${_size}.png
  53. done
  54. }
  55.  
  56. package_hedgewars() {
  57. depends=('qt5-base' 'sdl2' 'sdl2_mixer' 'sdl2_image' 'sdl2_net'
  58. 'sdl2_ttf' 'lua51' 'ffmpeg4.4' 'physfs')
  59.  
  60. cd hedgewars-src-$pkgver
  61. DESTDIR="$pkgdir" make -C build install
  62. install -D -m644 Fonts_LICENSE.txt "$pkgdir"/usr/share/licenses/${pkgname}/Fonts_LICENSE.txt
  63.  
  64. # install icons
  65. install -D -m644 misc/hedgewars.png "$pkgdir"/usr/share/icons/hicolor/512x512/apps/hedgewars.png
  66. for _size in 16 32 48 64 128 256; do
  67. install -D -m644 hedgewars_${_size}.png "$pkgdir"/usr/share/icons/hicolor/${_size}x${_size}/apps/hedgewars.png
  68. done
  69. rm -rf "$pkgdir"/usr/share/pixmaps
  70.  
  71. install -D -m644 share/hedgewars/Data/misc/hedgewars.desktop "$pkgdir"/usr/share/applications/hedgewars.desktop
  72. mv "$pkgdir"/usr/share/{appdata,metainfo}
  73. }
  74.  
  75. package_hedgewars-server() {
  76. depends=('ghc-libs' 'haskell-entropy' 'haskell-sha' 'haskell-random' 'haskell-regex-tdfa'
  77. 'haskell-sandi' 'haskell-hslogger' 'haskell-network' 'haskell-network-bsd'
  78. 'haskell-utf8-string' 'haskell-vector' 'hedgewars')
  79.  
  80. pkgdesc="Hedgewars game server for local/online play and making chat rooms."
  81.  
  82. cd hedgewars-src-$pkgver
  83. DESTDIR="$pkgdir" make -C hedgewars-server install
  84. }
  85.  
  86.  
  87. ##gameServer/CMakeLists.txt
  88.  
  89. cmake_minimum_required(VERSION 3.12.0)
  90. project(hedgewars-server)
  91.  
  92. include(${CMAKE_MODULE_PATH}/utils.cmake)
  93. set(target_binary_install_dir "bin" CACHE PATH "install dest for binaries")
  94.  
  95. find_package_or_disable(GHC NOSERVER)
  96.  
  97. include(${CMAKE_MODULE_PATH}/CheckHaskellPackageExists.cmake)
  98.  
  99. check_haskell_package_exists(base "Control.Exception" mask 1 REQUIRED)
  100. check_haskell_package_exists(containers "Data.Map" size 1 REQUIRED)
  101. check_haskell_package_exists(vector "Data.Vector" length 1 REQUIRED)
  102. check_haskell_package_exists(bytestring "Data.ByteString" pack 1 REQUIRED)
  103. check_haskell_package_exists(network "Network.Socket" defaultHints 0 REQUIRED)
  104. check_haskell_package_exists(network-bsd "Network.BSD" getHostName 0 OPTIONAL)
  105. check_haskell_package_exists(time "Data.Time" getCurrentTime 0 REQUIRED)
  106. check_haskell_package_exists(mtl "Control.Monad.State" fix 1 REQUIRED)
  107. check_haskell_package_exists(sandi "Codec.Binary.Base64" encode 1 REQUIRED)
  108. check_haskell_package_exists(hslogger "System.Log.Logger" warningM 1 REQUIRED)
  109. check_haskell_package_exists(process "System.Process" createProcess 3 REQUIRED)
  110. check_haskell_package_exists(utf8-string "Data.ByteString.Lazy.UTF8" decode 1 REQUIRED)
  111. check_haskell_package_exists(SHA "Data.Digest.Pure.SHA" sha1 1 REQUIRED)
  112. check_haskell_package_exists(entropy "System.Entropy" openHandle 0 REQUIRED)
  113. check_haskell_package_exists(zlib "Codec.Compression.Zlib" decompress 1 REQUIRED)
  114. check_haskell_package_exists(random "System.Random" getStdGen 0 REQUIRED)
  115. check_haskell_package_exists(regex-tdfa "Text.Regex.TDFA.ByteString" execute 2 REQUIRED)
  116. check_haskell_package_exists(deepseq "Control.DeepSeq" deepseq 2 REQUIRED)
  117.  
  118.  
  119.  
  120. set(hwserver_sources
  121. OfficialServer/DBInteraction.hs
  122. Actions.hs
  123. ClientIO.hs
  124. ConfigFile.hs
  125. Consts.hs
  126. CoreTypes.hs
  127. EngineInteraction.hs
  128. FloodDetection.hs
  129. HWProtoCore.hs
  130. HWProtoInRoomState.hs
  131. HWProtoLobbyState.hs
  132. HWProtoNEState.hs
  133. HandlerUtils.hs
  134. JoinsMonitor.hs
  135. NetRoutines.hs
  136. Opts.hs
  137. RoomsAndClients.hs
  138. ServerCore.hs
  139. ServerState.hs
  140. Store.hs
  141. Utils.hs
  142. Votes.hs
  143. hedgewars-server.hs
  144. )
  145.  
  146. set(hwserv_main ${CMAKE_CURRENT_SOURCE_DIR}/hedgewars-server.hs)
  147.  
  148. set(ghc_flags -dynamic
  149. --make ${hwserv_main}
  150. -i${CMAKE_CURRENT_SOURCE_DIR}
  151. -o ${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}
  152. -odir ${CMAKE_CURRENT_BINARY_DIR}
  153. -hidir ${CMAKE_CURRENT_BINARY_DIR}
  154. ${haskell_flags})
  155.  
  156. add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}"
  157. COMMAND "${GHC_EXECUTABLE}"
  158. ARGS ${ghc_flags}
  159. MAIN_DEPENDENCY ${hwserv_main}
  160. DEPENDS ${hwserver_sources}
  161. )
  162.  
  163. add_custom_target(hedgewars-server ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}")
  164.  
  165. install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hedgewars-server${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION ${target_binary_install_dir})
  166.  
  167. ##Build log
  168.  
  169. $ makechrootpkg -r $CHROOT -- --syncdeps
  170. [sudo] password for admin2:
  171. ==> Making package: hedgewars 1.0.2-140 (Sun Apr 13 12:36:47 2025)
  172. ==> Retrieving sources...
  173. -> Found hedgewars-src-1.0.2.tar.bz2
  174. ==> Validating source files with sha512sums...
  175. hedgewars-src-1.0.2.tar.bz2 ... Passed
  176. ==> Making package: hedgewars 1.0.2-140 (Sun Apr 13 07:06:53 2025)
  177. ==> Checking runtime dependencies...
  178. ==> Checking buildtime dependencies...
  179. ==> Retrieving sources...
  180. -> Found hedgewars-src-1.0.2.tar.bz2
  181. ==> WARNING: Skipping all source file integrity checks.
  182. ==> Extracting sources...
  183. -> Extracting hedgewars-src-1.0.2.tar.bz2 with bsdtar
  184. ==> Starting prepare()...
  185. ==> Starting build()...
  186. -- The C compiler identification is GNU 14.2.1
  187. -- The CXX compiler identification is GNU 14.2.1
  188. -- Detecting C compiler ABI info
  189. -- Detecting C compiler ABI info - done
  190. -- Check for working C compiler: /usr/bin/cc - skipped
  191. -- Detecting C compile features
  192. -- Detecting C compile features - done
  193. -- Detecting CXX compiler ABI info
  194. -- Detecting CXX compiler ABI info - done
  195. -- Check for working CXX compiler: /usr/bin/c++ - skipped
  196. -- Detecting CXX compile features
  197. -- Detecting CXX compile features - done
  198. -- Found GHC: /usr/bin/ghc
  199. -- Looking for Haskell package base ...
  200. -- Looking for Haskell package base - found
  201. -- Looking for Haskell package containers ...
  202. -- Looking for Haskell package containers - found
  203. -- Looking for Haskell package vector ...
  204. -- Looking for Haskell package vector - found
  205. -- Looking for Haskell package bytestring ...
  206. -- Looking for Haskell package bytestring - found
  207. -- Looking for Haskell package network ...
  208. -- Looking for Haskell package network - found
  209. -- Looking for Haskell package network-bsd ...
  210. -- Looking for Haskell package network-bsd - found
  211. -- Looking for Haskell package time ...
  212. -- Looking for Haskell package time - found
  213. -- Looking for Haskell package mtl ...
  214. -- Looking for Haskell package mtl - found
  215. -- Looking for Haskell package sandi ...
  216. -- Looking for Haskell package sandi - found
  217. -- Looking for Haskell package hslogger ...
  218. -- Looking for Haskell package hslogger - found
  219. -- Looking for Haskell package process ...
  220. -- Looking for Haskell package process - found
  221. -- Looking for Haskell package utf8-string ...
  222. -- Looking for Haskell package utf8-string - found
  223. -- Looking for Haskell package SHA ...
  224. -- Looking for Haskell package SHA - found
  225. -- Looking for Haskell package entropy ...
  226. -- Looking for Haskell package entropy - found
  227. -- Looking for Haskell package zlib ...
  228. -- Looking for Haskell package zlib - found
  229. -- Looking for Haskell package random ...
  230. -- Looking for Haskell package random - found
  231. -- Looking for Haskell package regex-tdfa ...
  232. -- Looking for Haskell package regex-tdfa - found
  233. -- Looking for Haskell package deepseq ...
  234. -- Looking for Haskell package deepseq - found
  235. -- Configuring done (1.5s)
  236. -- Generating done (0.0s)
  237. -- Build files have been written to: /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server
  238. make: Entering directory '/build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server'
  239. [100%] Generating /hedgewars-server
  240. [ 1 of 27] Compiling Consts ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/Consts.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/Consts.o )
  241. [ 2 of 27] Compiling Data.TConfig ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/Data/TConfig.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/Data/TConfig.o )
  242. [ 3 of 27] Compiling JoinsMonitor ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/JoinsMonitor.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/JoinsMonitor.o )
  243. [ 4 of 27] Compiling Store ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/Store.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/Store.o )
  244. [ 5 of 27] Compiling RoomsAndClients ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/RoomsAndClients.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/RoomsAndClients.o )
  245. [ 6 of 27] Compiling CoreTypes ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/CoreTypes.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/CoreTypes.o )
  246. [ 7 of 27] Compiling ServerState ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/ServerState.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/ServerState.o )
  247. [ 8 of 27] Compiling OfficialServer.DBInteraction ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/OfficialServer/DBInteraction.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/OfficialServer/DBInteraction.o )
  248. [ 9 of 27] Compiling HandlerUtils ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/HandlerUtils.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/HandlerUtils.o )
  249. [10 of 27] Compiling HWProtoChecker ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/HWProtoChecker.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/HWProtoChecker.o )
  250. [11 of 27] Compiling ConfigFile ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/ConfigFile.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/ConfigFile.o )
  251. [12 of 27] Compiling ClientIO ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/ClientIO.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/ClientIO.o )
  252. [13 of 27] Compiling Utils ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/Utils.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/Utils.o )
  253. [14 of 27] Compiling Opts ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/Opts.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/Opts.o )
  254. [15 of 27] Compiling NetRoutines ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/NetRoutines.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/NetRoutines.o )
  255. [16 of 27] Compiling HWProtoNEState ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/HWProtoNEState.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/HWProtoNEState.o )
  256. [17 of 27] Compiling FloodDetection ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/FloodDetection.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/FloodDetection.o )
  257. [18 of 27] Compiling EngineInteraction ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/EngineInteraction.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/EngineInteraction.o )
  258. [19 of 27] Compiling CommandHelp ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/CommandHelp.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/CommandHelp.o )
  259. [20 of 27] Compiling HWProtoLobbyState ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/HWProtoLobbyState.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/HWProtoLobbyState.o )
  260. [21 of 27] Compiling Votes ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/Votes.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/Votes.o )
  261. [22 of 27] Compiling HWProtoInRoomState ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/HWProtoInRoomState.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/HWProtoInRoomState.o )
  262. [23 of 27] Compiling HWProtoCore ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/HWProtoCore.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/HWProtoCore.o )
  263. [24 of 27] Compiling Actions ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/Actions.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/Actions.o )
  264. [25 of 27] Compiling ServerCore ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/ServerCore.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/ServerCore.o )
  265. [26 of 27] Compiling Main ( /build/hedgewars/src/hedgewars-src-1.0.2/gameServer/hedgewars-server.hs, /build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server/Main.o )
  266. [27 of 27] Linking /hedgewars-server
  267. /usr/bin/ld.gold: fatal error: /hedgewars-server: open: Permission denied
  268. collect2: error: ld returned 1 exit status
  269. ghc-9.4.8: `gcc' failed in phase `Linker'. (Exit code: 1)
  270. make[2]: *** [CMakeFiles/hedgewars-server.dir/build.make:96: /hedgewars-server] Error 1
  271. make[1]: *** [CMakeFiles/Makefile2:87: CMakeFiles/hedgewars-server.dir/all] Error 2
  272. make: *** [Makefile:136: all] Error 2
  273. make: Leaving directory '/build/hedgewars/src/hedgewars-src-1.0.2/hedgewars-server'
  274. ==> ERROR: A failure occurred in build().
  275. Aborting...
  276. ==> ERROR: Build failed, check /home/admin2/Downloads/hedgewars-main/hwchroot/admin2/build
  277.  
  278.  
  279.  
Add Comment
Please, Sign In to add comment