diff --git a/games-board/dreamchess/additional-files/dreamchess.rdef.in b/games-board/dreamchess/additional-files/dreamchess.rdef.in index 904899e12..e094a2231 100644 --- a/games-board/dreamchess/additional-files/dreamchess.rdef.in +++ b/games-board/dreamchess/additional-files/dreamchess.rdef.in @@ -14,56 +14,32 @@ resource app_version { resource app_signature "@APP_SIGNATURE@"; -resource large_icon array { - $"FFFFFFFFFFFFFFFFFFFFFFFFFF0709D0D0D0D0FFFFFFFFFFFFFFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFFFFFFFFFFFFD0B0AA838383AAAAFFFFFFFFFFFFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFFFFFFFFFFFF07D0B0AAAAAAAAB0FFFFFFFFFFFFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFFFFFFFFFFFF07D0AAAA89AAAAB0FFFFFFFFFFFFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFFFFFFFFFF08D0D0D0D0D0D0D0D008FFFFFFFFFFFFFFFFFFFFFF" - $"FFFFFFFFD6B0B0D008D0AAAAAAAAAAAAAAB0AA89AAAAAAAAAA89AA0AFFFFFFFF" - $"FFFFFFFF05D0B0D008D0AAAAAA83838383AAAA83838AAAAAAA83AAB0FFFFFFFF" - $"FFFFFFFF05D7D0D00808AAAAAA83D9D9D989AA8A8AAAAAAAAAAAAA09FFFFFFFF" - $"FFFFFFFF050607080808AAAAAAAA838383AAAAAAAAAAAAAAAAAAB0FFFFFFFFFF" - $"FFFFFFFFFF05D70708D0D0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFF" - $"FFFFFFFFFF0506D7D1D0D0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFF" - $"FFFFFFFFFFFF06D707D0D0AAAAAAAAAAAAAAAAAAAAAAAAAAAAB0FFFFFFFFFFFF" - $"FFFFFFFFFFFF05D707D0D0AAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFF" - $"FFFFFFFFFFFF06D707D0D0AAAAAAAAAAAAAA8484AAAAAAAAAAFFFFFFFFFFFFFF" - $"FFFFFFFFFFFF05D707D0D0AAAAAAAAAAAA838383AAAAAAAAAAFFFFFFFFFFFFFF" - $"FFFFFFFFFFFF05D707D1D0AAAAAAAAAA8383838384AAAAAAAAFFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFFD707D1D0AAAAAAAA838383838384AAAAAAB0FFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFFD707D1D0AAAAAAAA838383D98383AAAAAAAAFFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFFD707D0D0AAAAAA83838383D98384AAAAAAB0FFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFF0708D0D0AAAAAAAA838383838384AAAAAAB0FFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFFD707D0D0AAAAAAAA838383838384AAAAAAB0FFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFF06D707D0D0AAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFF06D708D0D0AAAAAAAAAAAAAAAAAAAAAAB0FFFFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFF060708D0D0AAAAAA89898989AAAAAAAAB0FFFFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFFFF0708D0AAAA8983D9D9D9D98384AAAAB0FFFFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFF0708D0AAAAAAAA838383D983838AAAAAAA0AFFFFFFFFFFFFFF" - $"FFFFFFFFFFFF08D0AAAAAAAAAAAA8A89838383848AAAAAAAAAB0FFFFFFFFFFFF" - $"FFFFFFFF0808D0D0AAAAAAAA89838383D9D9D9D98383848AAAAAAAB0FFFFFFFF" - $"FFFFFF06D60707090A0AB0B0AAAA89898383838389AAAAAAAAAAB00BFFFFFFFF" - $"FFFFFFFFFFFFFFFFFFFF06070808D0D0D0D0080807D7FFFFFFFFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFFFFFFFFD60708D0D0D0D0D0D0080706FFFFFFFFFFFFFFFFFFFF" - $"FFFFFFFFFFFFFFFFFFFF0607D108D0D0B0B0D0D0D0D6FFFFFFFFFFFFFFFFFFFF" +resource vector_icon array { + $"6E6369660A0501020006023BE3983ABA2BBA70AD3B7ACC4A49A2450B08008BBD" + $"D7FF868D9203AFBCC402001602390783380D04BBA4D93CB0F6497D1046ECE400" + $"FFFFDD0500020106033BF569B5EDE4B4FD4FBB0308495EF147F5C849F0F4F73B" + $"DCE4EBFF9EB0C3020106023D00000000000000003BBFB14800004A800070F0F4" + $"F7FF9EB0C3020106023CBFE50000000000003CBFE548E0004A4000009EB0C3DB" + $"F0F4F7020106023D5FD80000000000003BBFB14780004AE000AEF0F4F7FF9EB0" + $"C30400660C0A0431422B3F2B3A313C0606AE0B2B39323430363432382D403138" + $"38BD6FBBB0363A313C0A04382F3C303C2538240605EE023C30442D3E2CC3B3B8" + $"924B3247274C2BC114B49F3C25060DE6EFEE0231423C3F323C2CBD79B85BBED0" + $"B739472DC204B7E5C311B8784B33C3F7B99AC451BBA74A3A4743473D4745484A" + $"404E464E3A4E39483A44BD26C263BD8CC0663D3B0606B60D30544D415533554F" + $"55524D54415B4F5B335B0204BDC1C0E2BAD3C0E2C0AEC0E2C2FCC4EDC2FCC2A8" + $"C2FCC730BDC1C8F9C0AEC8F9BAD3C8F9B887C4EDB887C730B887C2A802043A41" + $"BA3B41C07A41484C48C21248C6FB3A57C07A57BA3B572C4C2CC6FB2CC2120204" + $"BDC1C0DABBB5C0DABFCCC0DAC168C355C168C1F1C168C4B8BDC1C5D0BFCCC5D0" + $"BBB5C5D0BA1AC355BA1AC4B8BA1AC1F102043A41BB1F41BF9641444844C15F44" + $"C47E3A4FBF964FBB1F4F304830C47E30C15F02043A47BA0247C0B347495249C4" + $"7649C95F3A5DC0B35DBA025D2B522BC95F2BC4760208C5ED4CC7CA4CC5634CC4" + $"70C4C9C4E2C49FC33EC3343D46C12A463D462B532B532BCA2DBE5B60BA8060C1" + $"2560C4A9C985C38CCB47C50DC9A4C5ED59C57A59C7CA5958C71F58C88C58C5AF" + $"0D0A09010B20281F0A00010A12400F0E00000000000040000044DE1E00000001" + $"178400040A08010A02400F0E00000000000040000044DE1E0000000A04010612" + $"3FFFFF0000000000003F8025450000458F1F01178400040A060107023FDEF000" + $"00000000003F802545AD84458F1F0A04010830262301178400040A0701092026" + $"230A000500010203041001178422040A010100000A030101000A050104000A02" + $"0102000A01010300" }; -resource mini_icon array { - $"FFFFFFFFFFFFB08383AAFFFFFFFFFFFF" - $"FFFFFFFFFFFFD0AAAAB0FFFFFFFFFFFF" - $"FFFFB0D0D0AAAAAAB089AAAA890AFFFF" - $"FFFFD7D008AA83D9898AAAAAAA09FFFF" - $"FFFF0507D0AAAAAAAAAAAAAAAAFFFFFF" - $"FFFFFFD7D0AAAAAAAAAAAAAAB0FFFFFF" - $"FFFFFFD7D0AAAAAAAA84AAAAFFFFFFFF" - $"FFFFFFD7D1AAAAAA8383AAAAFFFFFFFF" - $"FFFFFFD7D1AAAA838383AAAAFFFFFFFF" - $"FFFFFF07D0AAAA838383AAAAFFFFFFFF" - $"FFFFFF0607D0AAAAAAAAAAAAFFFFFFFF" - $"FFFFFF0608D0AA8989AAAAB0FFFFFFFF" - $"FFFFFF07D0AAAA83D983AAAAFFFFFFFF" - $"FFFF08D0AAAA8383D9D9838AAAB0FFFF" - $"FFFFFFFFFF0708D0D008D7FFFFFFFFFF" - $"FFFFFFFFFF0708D0B0D0D6FFFFFFFFFF" -}; diff --git a/games-board/dreamchess/dreamchess-0.2.0.recipe b/games-board/dreamchess/dreamchess-0.3.0.recipe similarity index 63% rename from games-board/dreamchess/dreamchess-0.2.0.recipe rename to games-board/dreamchess/dreamchess-0.3.0.recipe index 0b89cbfb2..f130a6bde 100644 --- a/games-board/dreamchess/dreamchess-0.2.0.recipe +++ b/games-board/dreamchess/dreamchess-0.3.0.recipe @@ -19,42 +19,47 @@ Walter van Niftrik, Rogier van Schaijk, Lawrence Sebald, Matthew P. Smith 1991-1993 The Regents of the University of California 1998-2005 Gilles Vollant" LICENSE="GNU GPL v3" -REVISION="4" -SOURCE_URI="https://github.com/dreamchess/dreamchess/releases/download/$portVersion/dreamchess-$portVersion.tar.gz" -CHECKSUM_SHA256="7615699995a635c3dff6c952aa0d32723c415c8bb42448b4269d3daa199d8059" +REVISION="1" +SOURCE_URI="https://github.com/dreamchess/dreamchess/archive/$portVersion.tar.gz" +CHECKSUM_SHA256="b070a34acf69ed92e523902683d104abb295d78b6f37663f4668e929b9e90470" +PATCHES="dreamchess-$portVersion.patchset" ADDITIONAL_FILES="dreamchess.rdef.in" -ARCHITECTURES="x86_gcc2 ?x86_64" +ARCHITECTURES="x86_gcc2 x86_64" PROVIDES=" dreamchess - cmd:dreamchess - cmd:dreamer + app:DreamChess " REQUIRES=" haiku + lib:libexpat lib:libGL lib:libGLU + lib:libglew lib:libmxml - lib:libSDL_1.2 - lib:libSDL_image_1.2 - lib:libSDL_mixer_1.2 + lib:libSDL2_2.0 + lib:libSDL2_image_2.0 + lib:libSDL2_mixer_2.0 lib:libz " BUILD_REQUIRES=" haiku_devel + devel:libexpat devel:libGL devel:libGLU + devel:libglew devel:libmxml - devel:libSDL - devel:libSDL_image - devel:libSDL_mixer + devel:libSDL2 + devel:libSDL2_image + devel:libSDL2_mixer devel:libz " BUILD_PREREQUIRES=" cmd:awk cmd:bison + cmd:cmake cmd:find cmd:flex cmd:gcc @@ -63,13 +68,27 @@ BUILD_PREREQUIRES=" BUILD() { - runConfigure ./configure + mkdir -p build + cd build + cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$appsDir/DreamChess \ + -DCMAKE_INSTALL_BINDIR=$appsDir/DreamChess \ + -DCMAKE_INSTALL_MANDIR=$appsDir/DreamChess/man \ + -DCMAKE_INSTALL_DOCDIR=$appsDir/DreamChess/doc \ + -DCMAKE_INSTALL_FULL_DATADIR=$appsDir/DreamChess/data \ + -DCMAKE_INSTALL_DATAROOTDIR=$appsDir/DreamChess/data \ + -DCMAKE_INSTALL_DATADIR=$appsDir/DreamChess/data make $jobArgs } INSTALL() { + cd build make install + + mv $appsDir/DreamChess/dreamchess $appsDir/DreamChess/DreamChess + rm -rf $appsDir/DreamChess/{man,data/applications,data/icons} local APP_SIGNATURE="application/x-vnd.DreamChess" local MAJOR="`echo "$portVersion" | cut -d. -f1`" @@ -84,6 +103,6 @@ INSTALL() -e "s|@LONG_INFO@|$LONG_INFO|" \ $portDir/additional-files/dreamchess.rdef.in > dreamchess.rdef - addResourcesToBinaries dreamchess.rdef $binDir/dreamchess - addAppDeskbarSymlink $binDir/dreamchess "DreamChess" + addResourcesToBinaries dreamchess.rdef $appsDir/DreamChess/DreamChess + addAppDeskbarSymlink $appsDir/DreamChess/DreamChess DreamChess } diff --git a/games-board/dreamchess/patches/dreamchess-0.3.0.patchset b/games-board/dreamchess/patches/dreamchess-0.3.0.patchset new file mode 100644 index 000000000..15e373143 --- /dev/null +++ b/games-board/dreamchess/patches/dreamchess-0.3.0.patchset @@ -0,0 +1,93 @@ +From f80a1228c81a2c2f421b5513c91c723eb49669cd Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Wed, 25 Sep 2019 19:41:56 +1000 +Subject: Fix for Haiku + + +diff --git a/dreamchess/src/dreamchess.c b/dreamchess/src/dreamchess.c +index ea6cee7..efff2fe 100644 +--- a/dreamchess/src/dreamchess.c ++++ b/dreamchess/src/dreamchess.c +@@ -508,6 +508,18 @@ int main(int argc, char **argv) { + game_set_engine_error(comm_init(temp2)); + } else + game_set_engine_error(comm_init(option->string)); ++#elif defined(__HAIKU__) ++ char temp[PATH_MAX]; ++ if (!strcmp(option->string, "dreamer") || !strcmp(option->string, "Dreamer")) { ++ char *binpath = realpath(argv[0], NULL); ++ if (binpath != NULL) { ++ char *appdir = dirname(binpath); ++ snprintf(temp, sizeof(temp), "%s/dreamer", appdir); ++ free(binpath); ++ } ++ game_set_engine_error(comm_init(temp)); ++ } else ++ game_set_engine_error(comm_init(option->string)); + #else + game_set_engine_error(comm_init(option->string)); + #endif +-- +2.23.0 + + +From cceab1e6cc82e0fb4ace524100a353070bb715b5 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Wed, 25 Sep 2019 21:05:23 +1000 +Subject: Kill process on quit + + +diff --git a/dreamchess/src/comm_unix.c b/dreamchess/src/comm_unix.c +index 489b57f..5331e05 100644 +--- a/dreamchess/src/comm_unix.c ++++ b/dreamchess/src/comm_unix.c +@@ -105,6 +105,11 @@ void comm_exit(void) { + } + } + ++void app_exit(int err) { ++ kill(getpid(), SIGKILL); ++ exit(0); ++} ++ + void comm_send_str(const char *str) { + if (init_ok) + pipe_unix_send(str); +diff --git a/dreamchess/src/gui/get_move.c b/dreamchess/src/gui/get_move.c +index 083ab27..12c593a 100644 +--- a/dreamchess/src/gui/get_move.c ++++ b/dreamchess/src/gui/get_move.c +@@ -63,7 +63,7 @@ int get_move(void) { + while (SDL_PollEvent(&event)) + if (event.type == SDL_QUIT) + /* FIXME */ +- exit(0); ++ app_exit(0); + } + + while (SDL_PollEvent(&event)) { +@@ -71,7 +71,7 @@ int get_move(void) { + + if (event.type == SDL_QUIT) + /* FIXME */ +- exit(0); ++ app_exit(0); + + if (event.type == SDL_MOUSEMOTION) + set_mouse_pos(event.motion.x, event.motion.y); +diff --git a/dreamchess/src/gui/ui_sdlgl.c b/dreamchess/src/gui/ui_sdlgl.c +index 161aadb..e002c2f 100644 +--- a/dreamchess/src/gui/ui_sdlgl.c ++++ b/dreamchess/src/gui/ui_sdlgl.c +@@ -175,7 +175,7 @@ static int poll_event(gg_event_t *event) { + + if (sdl_event.type == SDL_QUIT) + /* FIXME */ +- exit(0); ++ app_exit(0); + + if ((sdl_event.type == SDL_KEYDOWN && sdl_event.key.keysym.mod & KMOD_ALT && + sdl_event.key.keysym.sym == SDLK_RETURN) || +-- +2.23.0 +