Download raw body.
Possible unbreak for gnuchess 6.3.0
This patch is possible solution for the build problems with input from
/dev/null.
The patch changes the source from gnuchess by adding a global flag,
which can disable the whole input routine by replacing it with some
sleeps.
Tested on amd64 by building with make < /dev/null and with dpb
games/gnuchess. (And playing a game with the new package)
Index: Makefile
===================================================================
RCS file: /cvs/ports/games/gnuchess/Makefile,v
diff -u -p -r1.56 Makefile
--- Makefile 8 Sep 2025 10:35:20 -0000 1.56
+++ Makefile 12 Sep 2025 11:32:46 -0000
@@ -1,9 +1,7 @@
-BROKEN= post-build fails in dpb (or if stdin is redirected from /dev/null)
-
COMMENT= chess program
DISTNAME= gnuchess-6.3.0
-REVISION= 0
+REVISION= 1
DISTFILES= ${DISTNAME}.tar.gz book_1.02.pgn.gz
CATEGORIES= games
Index: patches/patch-src_components_cc
===================================================================
RCS file: patches/patch-src_components_cc
diff -N patches/patch-src_components_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_components_cc 12 Sep 2025 11:32:46 -0000
@@ -0,0 +1,11 @@
+Index: src/components.cc
+--- src/components.cc.orig
++++ src/components.cc
+@@ -32,6 +32,7 @@
+ #include "frontend/common.h"
+ #include "components.h"
+
++extern unsigned int noinput;
+ extern unsigned int flags;
+
+ /* Main loop of adapter */
Index: patches/patch-src_frontend_common_h
===================================================================
RCS file: patches/patch-src_frontend_common_h
diff -N patches/patch-src_frontend_common_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_frontend_common_h 12 Sep 2025 11:32:46 -0000
@@ -0,0 +1,11 @@
+Index: src/frontend/common.h
+--- src/frontend/common.h.orig
++++ src/frontend/common.h
+@@ -311,6 +311,7 @@ extern int RealGameCnt;
+ extern short RealSide;
+ extern int GameCnt;
+ extern int computer;
++extern unsigned int noinput;
+ extern unsigned int flags;
+ extern unsigned int preanalyze_flags;
+ extern Board board;
Index: patches/patch-src_frontend_input_cc
===================================================================
RCS file: patches/patch-src_frontend_input_cc
diff -N patches/patch-src_frontend_input_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_frontend_input_cc 12 Sep 2025 11:32:46 -0000
@@ -0,0 +1,14 @@
+Index: src/frontend/input.cc
+--- src/frontend/input.cc.orig
++++ src/frontend/input.cc
+@@ -140,6 +140,10 @@ void *input_func(void *arg __attribute__((unused)) )
+ char prompt[MAXSTR] = "";
+
+ while (!(flags & QUIT)) {
++ if(noinput) {
++ usleep(100);
++ continue;
++ }
+ if (!(flags & XBOARD)) {
+
+ pthread_mutex_lock( &input_mutex );
Index: patches/patch-src_main_cc
===================================================================
RCS file: patches/patch-src_main_cc
diff -N patches/patch-src_main_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_main_cc 12 Sep 2025 11:32:46 -0000
@@ -0,0 +1,19 @@
+Index: src/main.cc
+--- src/main.cc.orig
++++ src/main.cc
+@@ -64,6 +64,7 @@ int GameCnt;
+ int RealGameCnt;
+ short RealSide;
+ int computer;
++unsigned int noinput = 0;
+ unsigned int flags;
+ unsigned int preanalyze_flags;
+ int cboard[64];
+@@ -345,6 +346,7 @@ int main (int argc, char *argv[])
+ return(1);
+ }
+ strcpy( opt_addbook, optarg );
++ noinput = 1;
+ break;
+ default:
+ puts (_("Option processing failed.\n"));
Possible unbreak for gnuchess 6.3.0