From: Peter Michael Green Date: Tue, 12 Mar 2019 23:54:56 +0000 (+0000) Subject: stockfish (9-2+rpi1) buster-staging; urgency=medium X-Git-Tag: archive/raspbian/11-1+rpi1~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=71edce01a57e208e577a15846c261e02d2b989ad;p=stockfish.git stockfish (9-2+rpi1) buster-staging; urgency=medium * Use libatomic on armhf too for raspbian. [dgit import unpatched stockfish 9-2+rpi1] --- 71edce01a57e208e577a15846c261e02d2b989ad diff --cc debian/README.source index 0000000,0000000..de95ff3 new file mode 100644 --- /dev/null +++ b/debian/README.source @@@ -1,0 -1,0 +1,3 @@@ ++This package uses quilt for handling any changes to the source files, ++please refer to: /usr/share/doc/quilt/README.source for any further ++instructions. diff --cc debian/changelog index 0000000,0000000..3aedd2f new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,397 @@@ ++stockfish (9-2+rpi1) buster-staging; urgency=medium ++ ++ * Use libatomic on armhf too for raspbian. ++ ++ -- Peter Michael Green Tue, 12 Mar 2019 23:54:56 +0000 ++ ++stockfish (9-2) unstable; urgency=medium ++ ++ * rules: Workaround of a gcc bug causing FTBFS on many architectures ++ applied; thanks to Adrian Bunk ; closes: #904139. ++ * Standards 4.2.1 (no real change). ++ ++ -- Milan Zamazal Sat, 08 Sep 2018 21:32:46 +0200 ++ ++stockfish (9-1) unstable; urgency=medium ++ ++ * New upstream version. ++ * Standards 4.1.5 (no real change). ++ * Debhelper compatibility level increased to 10. ++ ++ -- Milan Zamazal Wed, 11 Jul 2018 14:02:55 +0200 ++ ++stockfish (8-4) unstable; urgency=medium ++ ++ * Fix use of DEB_{BUILD,HOST}_* variables; thanks to ++ Helmut Grohne . ++ * Home page location updated. ++ ++ -- Milan Zamazal Wed, 16 May 2018 22:00:21 +0200 ++ ++stockfish (8-3) unstable; urgency=low ++ ++ * Set architecture bits from dpkg-architecture. ++ * Patch to exclude -m$(bits) compiler flag; thanks to Sven Joachim. ++ * Old unused patches removed. ++ ++ -- Milan Zamazal Sat, 12 Nov 2016 18:55:54 +0100 ++ ++stockfish (8-2) unstable; urgency=low ++ ++ * Build with ARCH=general-64 by default. ++ ++ -- Milan Zamazal Thu, 10 Nov 2016 21:05:09 +0100 ++ ++stockfish (8-1) unstable; urgency=low ++ ++ * New upstream version; closes: #843696. ++ * Enable parallel build. ++ ++ -- Milan Zamazal Wed, 09 Nov 2016 19:45:41 +0100 ++ ++stockfish (7-1) unstable; urgency=medium ++ ++ * New maintainer; closes: #835314. ++ * Standards 3.9.8 (no real changes). ++ ++ -- Milan Zamazal Mon, 17 Oct 2016 21:28:24 +0200 ++ ++stockfish (7-0.1) unstable; urgency=medium ++ ++ * Non-maintainer upload. ++ * New upstream release 7 (Closes: #759003) ++ - this bug was already fixed in version 6. ++ * Bump std-version to 3.9.6, no changes required. ++ * Update copyright file. ++ ++ -- Gianfranco Costamagna Fri, 08 Jan 2016 19:04:47 +0100 ++ ++stockfish (6-0.1) unstable; urgency=medium ++ ++ * Non-maintainer upload. ++ * New upstream release 6 (Closes: #797327) ++ - Closes: #699309 (fixed in 5.0 according to bug comment #17) ++ * Drop quilt. ++ * Update watch file. ++ * Use quilt format. ++ * Update copyright file. ++ ++ -- Gianfranco Costamagna Mon, 12 Oct 2015 14:46:27 +0200 ++ ++stockfish (5.0.dd+git20140823-1) unstable; urgency=low ++ ++ * New Upstream Version 5 (Closes: #756546) ++ * No polyglot.ini in the sources anymore, patch removed ++ * I am considering moving to the sources with Syzygy tablebases. If ++ anybody has an opinion on that matter file a bug with explanation. ++ ++ -- Oliver Korff Sat, 23 Aug 2014 16:43:44 +0200 ++ ++stockfish (4.0.dd+git20140122-1) unstable; urgency=low ++ ++ * New Upstream Version 4 (Closes: #730504) ++ * Removed makefile_patch_02 not needed anymore ++ * Upgraded to Standards-Version 3.9.5, no package changes ++ * Changed the binary path in polyglot.ini to /usr/games/stockfish ++ Thx to Francesco Poli for filing the bug (Closes: #728920) ++ * Changes to the watchfile, but this will not help scanning for new ++ Versions. ++ ++ -- Oliver Korff Thu, 20 Feb 2014 22:31:10 +0100 ++ ++stockfish (3.0.0+git20130508-2) unstable; urgency=low ++ ++ * Upstream version 3.(Closes: #706554) ++ * After fighting with the chroot environment on merulo I solved the ++ build problem on ia64 and added a target for the arch to the rules file: ++ profile-build ARCH=general-64 optimize=no (Closes: #679174) ++ ++ -- Oliver Korff Sun, 09 Jun 2013 21:07:19 +0200 ++ ++stockfish (3.0.0+git20130508-1) unstable; urgency=low ++ ++ * New Upstream version. (Closes: #706554) ++ * The prefetch behaviour is now changed by upstream, so the ++ makefile_patch_03 is not needed anymore. ++ ++ -- Oliver Korff Sat, 08 Jun 2013 16:34:32 +0200 ++ ++stockfish (2.3.1+git20121008-2) unstable; urgency=low ++ ++ * FTBFS on various archs due to a Makefile target change. This is fixed ++ now by changing the prefetch behaviour. ++ ++ -- Oliver Korff Fri, 12 Oct 2012 02:23:09 +0200 ++ ++stockfish (2.3.1+git20121008-1) unstable; urgency=low ++ ++ * New Upstream version. ++ * Updated to Standards-Version 3.9.4. No package changes. ++ * Use dh_auto_build in rules (instead of make directly) and compat ++ level 9 instead of 7. This sets the hardening build flags by ++ default. ++ The controlfile had to be ajusted to debhelper (>= 9). And the ++ patch makefile_patch_02 is intrduced to make the hardening ++ environment CXXFLAGS and LDFLAGS visible to the makefile. ++ ++ ++ -- Oliver Korff Thu, 11 Oct 2012 17:05:55 +0200 ++ ++stockfish (2.2.2+git20120201-1) unstable; urgency=low ++ ++ * New Upstream version. ++ ++ -- Oliver Korff Thu, 02 Feb 2012 00:01:04 +0100 ++ ++stockfish (2.2.1+git20120109-1) unstable; urgency=low ++ ++ * New Upstream version. ++ * Removed debian/patches/add-lgov-linker.patch: makes build fail on debian, ++ the upstream Makefile now includes lgcov. ++ ++ -- Oliver Korff Mon, 09 Jan 2012 23:30:22 +0100 ++ ++stockfish (2.1.1+git20111006-2) unstable; urgency=low ++ ++ * debian/patches/add-lgov-linker.patch: Add -lgcov library linker to fixing ++ FTBFS ld no-add-needed. (LP: #832862) Thanks to Mahyuddin Susanto. ++ ++ -- Oliver Korff Tue, 08 Nov 2011 10:16:52 +0100 ++ ++stockfish (2.1.1+git20111006-1) unstable; urgency=low ++ ++ * Upstream has now moved to git. ++ https://github.com/mcostalba/Stockfish.git ++ All changes are said to be code cleanups and no feature changes. ++ * Debian specific update to support m86k. ++ * Basic support for DEB_BUILD_OPTIONS. The option nocheck will drop ++ the testsuite and noopts will at least drop the profiling. ++ * Adjusted download location in copyright. ++ ++ -- Oliver Korff Thu, 15 Sep 2011 00:12:59 +0200 ++ ++stockfish (2.1.1-1) unstable; urgency=low ++ ++ * New Upstream version. Its a maintenance release. ++ * Repack of the source distribution due to the included binary files. Removed: ++ stockfish-211-64-ja stockfish-211-32-ja stockfish-211-64-ja.exe ++ stockfish-211-32-ja.exe stockfish-211-android-ja ++ * Removed build dependency to g++-4.4 (>= 4.4.5), maybe we don't need this ++ anymore. Lets see, if the other architectures will build fine... ++ * Updated to Standards-Version 3.9.2. No package changes. ++ * Removed duplicat Homepage field from contreol. ++ ++ -- Oliver Korff Tue, 10 May 2011 09:29:35 +0200 ++ ++stockfish (2.0.1-2) unstable; urgency=low ++ ++ * Upload to unstable. ++ * For sparc there is no profiling anymore, because I never received more ++ info on the bugreport. (Closes: #599979) ++ * Added a Homepage: field to control file. ++ ++ -- Oliver Korff Thu, 24 Feb 2011 16:28:14 +0100 ++ ++stockfish (2.0.1-1) experimental; urgency=low ++ ++ * New Upstream version. ++ * Upstream uses now the RKISS random generator for hash keys (courtesy of ++ Heinz van Saanen) instead of mersenne, so I adjusted the copyright notice. ++ ++ -- Oliver Korff Tue, 11 Jan 2011 09:31:01 +0100 ++ ++stockfish (1.9.1-3) experimental; urgency=low ++ ++ * The build problems on sparc are still present due to the old ++ installed new gcc packages. In my opinion the right way to deal with ++ that is to adjust the builddepends to the g++-4.4 (>= 4.4.5-1~) version, ++ that is working on the the porter-boxes. This version is also the current ++ in testing and unstable. The build systems on lebrun should be updated. ++ * On ia64 the build fails with an: "internal compiler error" To prevent this ++ I will disable the profiling there. The g++ is now current here. The ++ behavior is different on the porterbox merulo. The plan is to report ++ upstream and test profiling in experimental next release again. ++ ++ -- Oliver Korff Sun, 07 Nov 2010 14:14:39 +0100 ++ ++stockfish (1.9.1-2) experimental; urgency=low ++ ++ * The encountered build problems on sparc and ia64 should now be solved ++ by the installed new gcc packages. Old gcc/g++ versions broke ++ optimization and profile build. The corresponding bugs No. 599979 ++ and 599977. Will be closed after successful builds. ++ ++ -- Oliver Korff Sat, 16 Oct 2010 23:18:55 +0200 ++ ++stockfish (1.9.1-1) experimental; urgency=low ++ ++ * New Upstream Version. ++ * Repack removed the linux binaries and adjusted the source dir. ++ * Updated to Standards Version 3.9.1 ++ * Fixed a typo in debian/control ++ * Introduced debian/source/format, with 1.0 entry, I see no reason ++ for switching to quilt ATM ++ * I switched from: Recomments: polyglot, xboard | scid to Suggests, ++ This solves a problem, that Adrian Petrescu has, maybe it is more ++ convenient, and solves the ubuntu bug Nr. 652772. ++ ++ -- Oliver Korff Mon, 11 Oct 2010 15:20:04 +0200 ++ ++stockfish (1.8.0-5) unreleased; urgency=low ++ ++ * Joona Kiiski found a problem in the Makefile, that might affect ++ the proper building of the sources. This is fixed with the ++ makefile_patch. ++ ++ -- Oliver Korff Mon, 05 Jul 2010 20:52:08 +0200 ++ ++stockfish (1.8.0-4) unstable; urgency=low ++ ++ * Upstream suggested to add a testrun to the buildprocess to ensure, ++ the binaries are fully functional. ++ ++ -- Oliver Korff Mon, 05 Jul 2010 17:26:52 +0200 ++ ++stockfish (1.8.0-3) unstable; urgency=low ++ ++ * alpha is not building, so the profiling is disabled ++ * removed a typo in rules file ++ ++ -- Oliver Korff Mon, 05 Jul 2010 16:32:36 +0200 ++ ++stockfish (1.8.0-2) unstable; urgency=low ++ ++ * Building a profiled stockfish on armel, powerpc and hppa fails, ++ Solution: turn off the profiling, until this is further inspected. ++ * Updated to standards version 3.8.4, without any changes ++ ++ -- Oliver Korff Mon, 05 Jul 2010 10:05:13 +0200 ++ ++stockfish (1.8.0-1) unstable; urgency=low ++ ++ * New Upstream Release ++ * Removed the binarys in Linux subdir ++ * Adjusted the copyright to point to www.stockfishchess.com ++ * Added arch specific targets in rules file ++ * No more patches, I will remove quilt dependency, if it stays this way ++ ++ -- Oliver Korff Mon, 05 Jul 2010 00:35:01 +0200 ++ ++stockfish (1.7.1JA-2) unstable; urgency=low ++ ++ * a faulty mips compile workaround with -DBIGENDIAN broke the mipsel ++ compile. Reset of this should make this work again. ++ ++ -- Oliver Korff Sun, 16 May 2010 11:44:51 +0200 ++ ++stockfish (1.7.1JA-1) unstable; urgency=low ++ ++ * New Upstream bugfix Release ++ * Removed the binarys in Linux and Windows subdir ++ * mips compile was not working, added -DBIGENDIAN ++ * Set UCI option for zugzwang detection to "on" by default ++ ++ -- Oliver Korff Thu, 15 Apr 2010 15:30:22 +0200 ++ ++stockfish (1.7.0JA-2) unstable; urgency=low ++ ++ * The stockfish bin segfaults on hppa, powerpc, s390, sparc, so a ++ -DBIGENDIAN was added on these archs. ++ ++ -- Oliver Korff Sun, 11 Apr 2010 23:11:14 +0200 ++ ++stockfish (1.7.0JA-1) unstable; urgency=low ++ ++ * New Upstream Release ++ * Removed the binarys in Linux and Windows subdir ++ * Adjusted the copyright to match the current status, added Joona Kiiski ++ * Renewed the msse-removal patch, to work on the new source ++ ++ -- Oliver Korff Sat, 10 Apr 2010 14:40:58 +0200 ++ ++stockfish (1.6.3JA-2) unstable; urgency=low ++ ++ * rules: "make clean" compiles a .depend with -msse. This fails on ++ architectures other than i386. With this fix it is ensured that ++ the .depend exists even if the quilt patches are not applied. ++ Thanks to Christoph Berg for finding the problem. (Closes: #570665) ++ ++ -- Oliver Korff Mon, 22 Feb 2010 10:17:50 +0100 ++ ++stockfish (1.6.3JA-1) unstable; urgency=low ++ ++ * Ńew upstream version. This is a bugfix version. It contains the patches, ++ which were already in 1.6.2 and addresses some multi threading bugs. No ++ enhancement in playing strength. ++ * Updated to standards version 3.8.4, there was nothing todo. ++ * Included a watchfile for documentation purpose only. ++ * Added a description to the msse patch. ++ ++ -- Oliver Korff Fri, 05 Feb 2010 00:41:18 +0100 ++ ++stockfish (1.6.2JA-3) unstable; urgency=low ++ ++ * The bugfix patch contained an irritating bug itself. On commandline ++ after "go infinite", and "stop" there is no bestmove prited out. The ++ problem and fix was reported by Joona Kiiski, thanks. ++ ++ -- Oliver Korff Fri, 15 Jan 2010 21:27:36 +0100 ++ ++stockfish (1.6.2JA-2) unstable; urgency=low ++ ++ * "Search until stop command bug" fixed. This is only necessary ++ for GUIs like scid and was fixed by Marco Costelba. Patch was ++ Released in the http://talkchess.com forum. ++ ++ -- Oliver Korff Mon, 11 Jan 2010 14:44:12 +0100 ++ ++stockfish (1.6.2JA-1) unstable; urgency=low ++ ++ * New upstream version. ++ * This version still uses the SSE extensions. These are not usable ++ for debian. I decided to use the quilt patch system to work with resulting ++ patch for the makefile and tt.cpp. ++ * Renewed the rules file to use the new dh standards ++ ++ -- Oliver Korff Wed, 06 Jan 2010 13:26:08 +0100 ++ ++stockfish (1.5.1JA-3) unstable; urgency=low ++ ++ * Thanks to Joona Kiiski I could remove the -msse option from the ++ gcc flags and stockfish might now build on other architectures. ++ Problem was the include of xmmintrin.h, that holds the SSE extensions. ++ Marc Costelba: "in any case is only a speed optimization, not a ++ functional change." ++ * Change of Architecture: any in debian control ++ ++ -- Oliver Korff Wed, 16 Dec 2009 00:07:49 +0100 ++ ++stockfish (1.5.1JA-2) unstable; urgency=low ++ ++ * FTBS Bug: I had to find out, that stockfish uses architecture ++ specific SSE extensions. At the moment I counter this by specifying ++ the architectures, that are known to work: i386 amd64 kfreebsd-amd64 ++ kfreebsd-i386 kfreebsd-amd64. This matter will be discussed with ++ upstream. (Closes: 559724) ++ * Removed knights from Recommends: field, the package is not up to date ++ * Adjusted the description slightly ++ ++ -- Oliver Korff Mon, 07 Dec 2009 16:19:46 +0100 ++ ++stockfish (1.5.1JA-1) unstable; urgency=low ++ ++ * New Upstream Release ++ * The source was downloaded from mediafire.com ++ * It came as .zip file and was repackaged, the files stockfish_151_ja.exe ++ stockfish_151_win98.exe and stockfish_151_x64_ja.exe have been removed. ++ The source has been kept unchanged. ++ * Initial official release (Closes: #550566) ++ ++ -- Oliver Korff Sat, 10 Oct 2009 16:32:08 +0200 ++ ++stockfish (1.4.1JA-1) unofficial; urgency=low ++ ++ * Initial unofficial release ++ * The source came as .rar file it had to be repackaged ++ ++ -- Oliver Korff Tue, 11 Aug 2009 18:57:23 +0200 diff --cc debian/compat index 0000000,0000000..f599e28 new file mode 100644 --- /dev/null +++ b/debian/compat @@@ -1,0 -1,0 +1,1 @@@ ++10 diff --cc debian/control index 0000000,0000000..3835165 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,20 @@@ ++Source: stockfish ++Section: games ++Priority: optional ++Maintainer: Milan Zamazal ++Build-Depends: debhelper (>= 10) ++Standards-Version: 4.2.1 ++Homepage: https://stockfishchess.org ++ ++Package: stockfish ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends} ++Suggests: polyglot, xboard | scid ++Description: strong chess engine, to play chess against ++ free chess engine derived from Glaurung 2.1. It is a chess engine, so it ++ requires an UCI (universal chess interface) compatible GUI like XBoard ++ (with PolyGlot), eboard, Jose, Arena or scid in order to be used comfortably. ++ It is the strongest open source chess engine by october 2009 in the ++ "computer chess rating list" CCRL. Written in C++ it uses multiple threads ++ and cores. It is capable of Chess960 and has experimental support for polyglot ++ opening books. diff --cc debian/copyright index 0000000,0000000..20c8c8b new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,49 @@@ ++This package was debianized by: ++ ++ Oliver Korff on Tue, 11 Aug 2009 18:57:23 +0200 ++ ++It was downloaded from: ++ ++ Version 1.5.1: http://www.mediafire.com/?5jx12zdyygw ++ Version 1.4.1: http://www.mediafire.com/?mihzcymwhlg ++ Version 1.6.3: http://www.mediafire.com/?ywtum2tmwi5 ++ Later versions came from http://www.stockfishchess.com ++ ATM I clone the git repository at: https://github.com/mcostalba/Stockfish.git ++ Now the official git repository has moved to https://github.com/official-stockfish/Stockfish ++ ++Upstream Authors: ++ ++ Tord Romstad ++ Marco Costalba ++ Joona Kiiski ++ ++Copyright: ++ ++ Copyright (C) 2004-2008 Tord Romstad (Glaurung author) ++ Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, Tord Romstad ++ Copyright (C) 2015-2016 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad ++ The copyright holder of parts of rkiss.h is Heinz van Saanen ++ ++Licenses: ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation, either version 3 of the License, or ++ (at your option) any later version. ++ ++ This package is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . ++ ++On Debian systems, the complete text of the GNU General ++Public License version 3 can be found in `/usr/share/common-licenses/GPL-3'. ++ ++The Debian packaging is: ++ ++ Copyright (C) 2009-2014 Oliver Korff ++ ++and is licensed under the GPL version 3, see above. diff --cc debian/dirs index 0000000,0000000..33359b8 new file mode 100644 --- /dev/null +++ b/debian/dirs @@@ -1,0 -1,0 +1,1 @@@ ++usr/games diff --cc debian/docs index 0000000,0000000..ff6c8b4 new file mode 100644 --- /dev/null +++ b/debian/docs @@@ -1,0 -1,0 +1,2 @@@ ++Readme.md ++debian/engine-interface.txt diff --cc debian/engine-interface.txt index 0000000,0000000..7b6e697 new file mode 100644 --- /dev/null +++ b/debian/engine-interface.txt @@@ -1,0 -1,0 +1,544 @@@ ++ ++ ++Description of the universal chess interface (UCI) April 2006 ++================================================================= ++ ++* The specification is independent of the operating system. For Windows, ++ the engine is a normal exe file, either a console or "real" windows application. ++ ++* all communication is done via standard input and output with text commands, ++ ++* The engine should boot and wait for input from the GUI, ++ the engine should wait for the "isready" or "setoption" command to set up its internal parameters ++ as the boot process should be as quick as possible. ++ ++* the engine must always be able to process input from stdin, even while thinking. ++ ++* all command strings the engine receives will end with '\n', ++ also all commands the GUI receives should end with '\n', ++ Note: '\n' can be 0x0d or 0x0a0d or any combination depending on your OS. ++ If you use Engine and GUI in the same OS this should be no problem if you communicate in text mode, ++ but be aware of this when for example running a Linux engine in a Windows GUI. ++ ++* arbitrary white space between tokens is allowed ++ Example: "debug on\n" and " debug on \n" and "\t debug \t \t\ton\t \n" ++ all set the debug mode of the engine on. ++ ++* The engine will always be in forced mode which means it should never start calculating ++ or pondering without receiving a "go" command first. ++ ++* Before the engine is asked to search on a position, there will always be a position command ++ to tell the engine about the current position. ++ ++* by default all the opening book handling is done by the GUI, ++ but there is an option for the engine to use its own book ("OwnBook" option, see below) ++ ++* if the engine or the GUI receives an unknown command or token it should just ignore it and try to ++ parse the rest of the string in this line. ++ Examples: "joho debug on\n" should switch the debug mode on given that joho is not defined, ++ "debug joho on\n" will be undefined however. ++ ++* if the engine receives a command which is not supposed to come, for example "stop" when the engine is ++ not calculating, it should also just ignore it. ++ ++ ++Move format: ++------------ ++ ++The move format is in long algebraic notation. ++A nullmove from the Engine to the GUI should be sent as 0000. ++Examples: e2e4, e7e5, e1g1 (white short castling), e7e8q (for promotion) ++ ++ ++ ++GUI to engine: ++-------------- ++ ++These are all the command the engine gets from the interface. ++ ++* uci ++ tell engine to use the uci (universal chess interface), ++ this will be sent once as a first command after program boot ++ to tell the engine to switch to uci mode. ++ After receiving the uci command the engine must identify itself with the "id" command ++ and send the "option" commands to tell the GUI which engine settings the engine supports if any. ++ After that the engine should send "uciok" to acknowledge the uci mode. ++ If no uciok is sent within a certain time period, the engine task will be killed by the GUI. ++ ++* debug [ on | off ] ++ switch the debug mode of the engine on and off. ++ In debug mode the engine should send additional infos to the GUI, e.g. with the "info string" command, ++ to help debugging, e.g. the commands that the engine has received etc. ++ This mode should be switched off by default and this command can be sent ++ any time, also when the engine is thinking. ++ ++* isready ++ this is used to synchronize the engine with the GUI. When the GUI has sent a command or ++ multiple commands that can take some time to complete, ++ this command can be used to wait for the engine to be ready again or ++ to ping the engine to find out if it is still alive. ++ E.g. this should be sent after setting the path to the tablebases as this can take some time. ++ This command is also required once before the engine is asked to do any search ++ to wait for the engine to finish initializing. ++ This command must always be answered with "readyok" and can be sent also when the engine is calculating ++ in which case the engine should also immediately answer with "readyok" without stopping the search. ++ ++* setoption name [value ] ++ this is sent to the engine when the user wants to change the internal parameters ++ of the engine. For the "button" type no value is needed. ++ One string will be sent for each parameter and this will only be sent when the engine is waiting. ++ The name and value of the option in should not be case sensitive and can inlude spaces. ++ The substrings "value" and "name" should be avoided in and to allow unambiguous parsing, ++ for example do not use = "draw value". ++ Here are some strings for the example below: ++ "setoption name Nullmove value true\n" ++ "setoption name Selectivity value 3\n" ++ "setoption name Style value Risky\n" ++ "setoption name Clear Hash\n" ++ "setoption name NalimovPath value c:\chess\tb\4;c:\chess\tb\5\n" ++ ++* register ++ this is the command to try to register an engine or to tell the engine that registration ++ will be done later. This command should always be sent if the engine has sent "registration error" ++ at program startup. ++ The following tokens are allowed: ++ * later ++ the user doesn't want to register the engine now. ++ * name ++ the engine should be registered with the name ++ * code ++ the engine should be registered with the code ++ Example: ++ "register later" ++ "register name Stefan MK code 4359874324" ++ ++* ucinewgame ++ this is sent to the engine when the next search (started with "position" and "go") will be from ++ a different game. This can be a new game the engine should play or a new game it should analyse but ++ also the next position from a testsuite with positions only. ++ If the GUI hasn't sent a "ucinewgame" before the first "position" command, the engine shouldn't ++ expect any further ucinewgame commands as the GUI is probably not supporting the ucinewgame command. ++ So the engine should not rely on this command even though all new GUIs should support it. ++ As the engine's reaction to "ucinewgame" can take some time the GUI should always send "isready" ++ after "ucinewgame" to wait for the engine to finish its operation. ++ ++* position [fen | startpos ] moves .... ++ set up the position described in fenstring on the internal board and ++ play the moves on the internal chess board. ++ if the game was played from the start position the string "startpos" will be sent ++ Note: no "new" command is needed. However, if this position is from a different game than ++ the last position sent to the engine, the GUI should have sent a "ucinewgame" inbetween. ++ ++* go ++ start calculating on the current position set up with the "position" command. ++ There are a number of commands that can follow this command, all will be sent in the same string. ++ If one command is not sent its value should be interpreted as it would not influence the search. ++ * searchmoves .... ++ restrict search to this moves only ++ Example: After "position startpos" and "go infinite searchmoves e2e4 d2d4" ++ the engine should only search the two moves e2e4 and d2d4 in the initial position. ++ * ponder ++ start searching in pondering mode. ++ Do not exit the search in ponder mode, even if it's mate! ++ This means that the last move sent in in the position string is the ponder move. ++ The engine can do what it wants to do, but after a "ponderhit" command ++ it should execute the suggested move to ponder on. This means that the ponder move sent by ++ the GUI can be interpreted as a recommendation about which move to ponder. However, if the ++ engine decides to ponder on a different move, it should not display any mainlines as they are ++ likely to be misinterpreted by the GUI because the GUI expects the engine to ponder ++ on the suggested move. ++ * wtime ++ white has x msec left on the clock ++ * btime ++ black has x msec left on the clock ++ * winc ++ white increment per move in mseconds if x > 0 ++ * binc ++ black increment per move in mseconds if x > 0 ++ * movestogo ++ there are x moves to the next time control, ++ this will only be sent if x > 0, ++ if you don't get this and get the wtime and btime it's sudden death ++ * depth ++ search x plies only. ++ * nodes ++ search x nodes only, ++ * mate ++ search for a mate in x moves ++ * movetime ++ search exactly x mseconds ++ * infinite ++ search until the "stop" command. Do not exit the search without being told so in this mode! ++ ++* stop ++ stop calculating as soon as possible, ++ don't forget the "bestmove" and possibly the "ponder" token when finishing the search ++ ++* ponderhit ++ the user has played the expected move. This will be sent if the engine was told to ponder on the same move ++ the user has played. The engine should continue searching but switch from pondering to normal search. ++ ++* quit ++ quit the program as soon as possible ++ ++ ++Engine to GUI: ++-------------- ++ ++* id ++ * name ++ this must be sent after receiving the "uci" command to identify the engine, ++ e.g. "id name Shredder X.Y\n" ++ * author ++ this must be sent after receiving the "uci" command to identify the engine, ++ e.g. "id author Stefan MK\n" ++ ++* uciok ++ Must be sent after the id and optional options to tell the GUI that the engine ++ has sent all infos and is ready in uci mode. ++ ++* readyok ++ This must be sent when the engine has received an "isready" command and has ++ processed all input and is ready to accept new commands now. ++ It is usually sent after a command that can take some time to be able to wait for the engine, ++ but it can be used anytime, even when the engine is searching, ++ and must always be answered with "isready". ++ ++* bestmove [ ponder ] ++ the engine has stopped searching and found the move best in this position. ++ the engine can send the move it likes to ponder on. The engine must not start pondering automatically. ++ this command must always be sent if the engine stops searching, also in pondering mode if there is a ++ "stop" command, so for every "go" command a "bestmove" command is needed! ++ Directly before that the engine should send a final "info" command with the final search information, ++ the the GUI has the complete statistics about the last search. ++ ++* copyprotection ++ this is needed for copyprotected engines. After the uciok command the engine can tell the GUI, ++ that it will check the copy protection now. This is done by "copyprotection checking". ++ If the check is ok the engine should send "copyprotection ok", otherwise "copyprotection error". ++ If there is an error the engine should not function properly but should not quit alone. ++ If the engine reports "copyprotection error" the GUI should not use this engine ++ and display an error message instead! ++ The code in the engine can look like this ++ TellGUI("copyprotection checking\n"); ++ // ... check the copy protection here ... ++ if(ok) ++ TellGUI("copyprotection ok\n"); ++ else ++ TellGUI("copyprotection error\n"); ++ ++* registration ++ this is needed for engines that need a username and/or a code to function with all features. ++ Analog to the "copyprotection" command the engine can send "registration checking" ++ after the uciok command followed by either "registration ok" or "registration error". ++ Also after every attempt to register the engine it should answer with "registration checking" ++ and then either "registration ok" or "registration error". ++ In contrast to the "copyprotection" command, the GUI can use the engine after the engine has ++ reported an error, but should inform the user that the engine is not properly registered ++ and might not use all its features. ++ In addition the GUI should offer to open a dialog to ++ enable registration of the engine. To try to register an engine the GUI can send ++ the "register" command. ++ The GUI has to always answer with the "register" command if the engine sends "registration error" ++ at engine startup (this can also be done with "register later") ++ and tell the user somehow that the engine is not registered. ++ This way the engine knows that the GUI can deal with the registration procedure and the user ++ will be informed that the engine is not properly registered. ++ ++* info ++ the engine wants to send information to the GUI. This should be done whenever one of the info has changed. ++ The engine can send only selected infos or multiple infos with one info command, ++ e.g. "info currmove e2e4 currmovenumber 1" or ++ "info depth 12 nodes 123456 nps 100000". ++ Also all infos belonging to the pv should be sent together ++ e.g. "info depth 2 score cp 214 time 1242 nodes 2124 nps 34928 pv e2e4 e7e5 g1f3" ++ I suggest to start sending "currmove", "currmovenumber", "currline" and "refutation" only after one second ++ to avoid too much traffic. ++ Additional info: ++ * depth ++ search depth in plies ++ * seldepth ++ selective search depth in plies, ++ if the engine sends seldepth there must also be a "depth" present in the same string. ++ * time ++ the time searched in ms, this should be sent together with the pv. ++ * nodes ++ x nodes searched, the engine should send this info regularly ++ * pv ... ++ the best line found ++ * multipv ++ this for the multi pv mode. ++ for the best move/pv add "multipv 1" in the string when you send the pv. ++ in k-best mode always send all k variants in k strings together. ++ * score ++ * cp ++ the score from the engine's point of view in centipawns. ++ * mate ++ mate in y moves, not plies. ++ If the engine is getting mated use negative values for y. ++ * lowerbound ++ the score is just a lower bound. ++ * upperbound ++ the score is just an upper bound. ++ * currmove ++ currently searching this move ++ * currmovenumber ++ currently searching move number x, for the first move x should be 1 not 0. ++ * hashfull ++ the hash is x permill full, the engine should send this info regularly ++ * nps ++ x nodes per second searched, the engine should send this info regularly ++ * tbhits ++ x positions where found in the endgame table bases ++ * sbhits ++ x positions where found in the shredder endgame databases ++ * cpuload ++ the cpu usage of the engine is x permill. ++ * string ++ any string str which will be displayed be the engine, ++ if there is a string command the rest of the line will be interpreted as . ++ * refutation ... ++ move is refuted by the line ... , i can be any number >= 1. ++ Example: after move d1h5 is searched, the engine can send ++ "info refutation d1h5 g6h5" ++ if g6h5 is the best answer after d1h5 or if g6h5 refutes the move d1h5. ++ if there is no refutation for d1h5 found, the engine should just send ++ "info refutation d1h5" ++ The engine should only send this if the option "UCI_ShowRefutations" is set to true. ++ * currline ... ++ this is the current line the engine is calculating. is the number of the cpu if ++ the engine is running on more than one cpu. = 1,2,3.... ++ if the engine is just using one cpu, can be omitted. ++ If is greater than 1, always send all k lines in k strings together. ++ The engine should only send this if the option "UCI_ShowCurrLine" is set to true. ++ ++ ++* option ++ This command tells the GUI which parameters can be changed in the engine. ++ This should be sent once at engine startup after the "uci" and the "id" commands ++ if any parameter can be changed in the engine. ++ The GUI should parse this and build a dialog for the user to change the settings. ++ Note that not every option needs to appear in this dialog as some options like ++ "Ponder", "UCI_AnalyseMode", etc. are better handled elsewhere or are set automatically. ++ If the user wants to change some settings, the GUI will send a "setoption" command to the engine. ++ Note that the GUI need not send the setoption command when starting the engine for every option if ++ it doesn't want to change the default value. ++ For all allowed combinations see the examples below, ++ as some combinations of this tokens don't make sense. ++ One string will be sent for each parameter. ++ * name ++ The option has the name id. ++ Certain options have a fixed value for , which means that the semantics of this option is fixed. ++ Usually those options should not be displayed in the normal engine options window of the GUI but ++ get a special treatment. "Pondering" for example should be set automatically when pondering is ++ enabled or disabled in the GUI options. The same for "UCI_AnalyseMode" which should also be set ++ automatically by the GUI. All those certain options have the prefix "UCI_" except for the ++ first 6 options below. If the GUI gets an unknown Option with the prefix "UCI_", it should just ++ ignore it and not display it in the engine's options dialog. ++ * = Hash, type is spin ++ the value in MB for memory for hash tables can be changed, ++ this should be answered with the first "setoptions" command at program boot ++ if the engine has sent the appropriate "option name Hash" command, ++ which should be supported by all engines! ++ So the engine should use a very small hash first as default. ++ * = NalimovPath, type string ++ this is the path on the hard disk to the Nalimov compressed format. ++ Multiple directories can be concatenated with ";" ++ * = NalimovCache, type spin ++ this is the size in MB for the cache for the nalimov table bases ++ These last two options should also be present in the initial options exchange dialog ++ when the engine is booted if the engine supports it ++ * = Ponder, type check ++ this means that the engine is able to ponder. ++ The GUI will send this whenever pondering is possible or not. ++ Note: The engine should not start pondering on its own if this is enabled, this option is only ++ needed because the engine might change its time management algorithm when pondering is allowed. ++ * = OwnBook, type check ++ this means that the engine has its own book which is accessed by the engine itself. ++ if this is set, the engine takes care of the opening book and the GUI will never ++ execute a move out of its book for the engine. If this is set to false by the GUI, ++ the engine should not access its own book. ++ * = MultiPV, type spin ++ the engine supports multi best line or k-best mode. the default value is 1 ++ * = UCI_ShowCurrLine, type check, should be false by default, ++ the engine can show the current line it is calculating. see "info currline" above. ++ * = UCI_ShowRefutations, type check, should be false by default, ++ the engine can show a move and its refutation in a line. see "info refutations" above. ++ * = UCI_LimitStrength, type check, should be false by default, ++ The engine is able to limit its strength to a specific Elo number, ++ This should always be implemented together with "UCI_Elo". ++ * = UCI_Elo, type spin ++ The engine can limit its strength in Elo within this interval. ++ If UCI_LimitStrength is set to false, this value should be ignored. ++ If UCI_LimitStrength is set to true, the engine should play with this specific strength. ++ This should always be implemented together with "UCI_LimitStrength". ++ * = UCI_AnalyseMode, type check ++ The engine wants to behave differently when analysing or playing a game. ++ For example when playing it can use some kind of learning. ++ This is set to false if the engine is playing a game, otherwise it is true. ++ * = UCI_Opponent, type string ++ With this command the GUI can send the name, title, elo and if the engine is playing a human ++ or computer to the engine. ++ The format of the string has to be [GM|IM|FM|WGM|WIM|none] [|none] [computer|human] ++ Examples: ++ "setoption name UCI_Opponent value GM 2800 human Gary Kasparov" ++ "setoption name UCI_Opponent value none none computer Shredder" ++ * = UCI_EngineAbout, type string ++ With this command, the engine tells the GUI information about itself, for example a license text, ++ usually it doesn't make sense that the GUI changes this text with the setoption command. ++ Example: ++ "option name UCI_EngineAbout type string default Shredder by Stefan Meyer-Kahlen, see www.shredderchess.com" ++ * = UCI_ShredderbasesPath, type string ++ this is either the path to the folder on the hard disk containing the Shredder endgame databases or ++ the path and filename of one Shredder endgame datbase. ++ * = UCI_SetPositionValue, type string ++ the GUI can send this to the engine to tell the engine to use a certain value in centipawns from white's ++ point of view if evaluating this specifix position. ++ The string can have the formats: ++ + | clear + | clearall ++ ++ * type ++ The option has type t. ++ There are 5 different types of options the engine can send ++ * check ++ a checkbox that can either be true or false ++ * spin ++ a spin wheel that can be an integer in a certain range ++ * combo ++ a combo box that can have different predefined strings as a value ++ * button ++ a button that can be pressed to send a command to the engine ++ * string ++ a text field that has a string as a value, ++ an empty string has the value "" ++ * default ++ the default value of this parameter is x ++ * min ++ the minimum value of this parameter is x ++ * max ++ the maximum value of this parameter is x ++ * var ++ a predefined value of this parameter is x ++ Examples: ++ Here are 5 strings for each of the 5 possible types of options ++ "option name Nullmove type check default true\n" ++ "option name Selectivity type spin default 2 min 0 max 4\n" ++ "option name Style type combo default Normal var Solid var Normal var Risky\n" ++ "option name NalimovPath type string default c:\\n" ++ "option name Clear Hash type button\n" ++ ++ ++ ++Examples: ++--------- ++ ++This is how the communication when the engine boots can look like: ++ ++GUI engine ++ ++// tell the engine to switch to UCI mode ++uci ++ ++// engine identify ++ id name Shredder ++ id author Stefan MK ++ ++// engine sends the options it can change ++// the engine can change the hash size from 1 to 128 MB ++ option name Hash type spin default 1 min 1 max 128 ++ ++// the engine supports Nalimov endgame tablebases ++ option name NalimovPath type string default ++ option name NalimovCache type spin default 1 min 1 max 32 ++ ++// the engine can switch off Nullmove and set the playing style ++ option name Nullmove type check default true ++ option name Style type combo default Normal var Solid var Normal var Risky ++ ++// the engine has sent all parameters and is ready ++ uciok ++ ++// Note: here the GUI can already send a "quit" command if it just wants to find out ++// details about the engine, so the engine should not initialize its internal ++// parameters before here. ++// now the GUI sets some values in the engine ++// set hash to 32 MB ++setoption name Hash value 32 ++ ++// init tbs ++setoption name NalimovCache value 1 ++setoption name NalimovPath value d:\tb;c\tb ++ ++// waiting for the engine to finish initializing ++// this command and the answer is required here! ++isready ++ ++// engine has finished setting up the internal values ++ readyok ++ ++// now we are ready to go ++ ++// if the GUI is supporting it, tell the engine that is is ++// searching on a game that it hasn't searched on before ++ucinewgame ++ ++// if the engine supports the "UCI_AnalyseMode" option and the next search is supposed to ++// be an analysis, the GUI should set "UCI_AnalyseMode" to true if it is currently ++// set to false with this engine ++setoption name UCI_AnalyseMode value true ++ ++// tell the engine to search infinite from the start position after 1.e4 e5 ++position startpos moves e2e4 e7e5 ++go infinite ++ ++// the engine starts sending infos about the search to the GUI ++// (only some examples are given) ++ ++ ++ info depth 1 seldepth 0 ++ info score cp 13 depth 1 nodes 13 time 15 pv f1b5 ++ info depth 2 seldepth 2 ++ info nps 15937 ++ info score cp 14 depth 2 nodes 255 time 15 pv f1c4 f8c5 ++ info depth 2 seldepth 7 nodes 255 ++ info depth 3 seldepth 7 ++ info nps 26437 ++ info score cp 20 depth 3 nodes 423 time 15 pv f1c4 g8f6 b1c3 ++ info nps 41562 ++ .... ++ ++ ++// here the user has seen enough and asks to stop the searching ++stop ++ ++// the engine has finished searching and is sending the bestmove command ++// which is needed for every "go" command sent to tell the GUI ++// that the engine is ready again ++ bestmove g1f3 ponder d8f6 ++ ++ ++ ++Chess960 ++======== ++ ++UCI could easily be extended to support Chess960 (also known as Fischer Random Chess). ++ ++The engine has to tell the GUI that it is capable of playing Chess960 and the GUI has to tell ++the engine that is should play according to the Chess960 rules. ++This is done by the special engine option UCI_Chess960. If the engine knows about Chess960 ++it should send the command 'option name UCI_Chess960 type check default false' ++to the GUI at program startup. ++Whenever a Chess960 game is played, the GUI should set this engine option to 'true'. ++ ++Castling is different in Chess960 and the white king move when castling short is not always e1g1. ++A king move could both be the castling king move or just a normal king move. ++This is why castling moves are sent in the form king "takes" his own rook. ++Example: e1h1 for the white short castle move in the normal chess start position. ++ ++In EPD and FEN position strings specifying the castle rights with w and q is not enough as ++there could be more than one rook on the right or left side of the king. ++This is why the castle rights are specified with the letter of the castle rook's line. ++Upper case letters for white's and lower case letters for black's castling rights. ++Example: The normal chess position would be: ++rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w AHah - ++ diff --cc debian/install index 0000000,0000000..9553b26 new file mode 100644 --- /dev/null +++ b/debian/install @@@ -1,0 -1,0 +1,1 @@@ ++src/stockfish usr/games/ diff --cc debian/patches/cxxflags.patch index 0000000,0000000..4708c65 new file mode 100644 --- /dev/null +++ b/debian/patches/cxxflags.patch @@@ -1,0 -1,0 +1,26 @@@ ++Description: Don't add -m32/-m64 to CXXFLAGS ++ Adding those is not only unnecessary, but actually breaks the build on ++ many architectures, since g++ does not recognize them when built without ++ multilib support. ++Author: Sven Joachim ++Bug-Debian: https://bugs.debian.org/843922 ++Last-Update: 2016-11-11 ++ ++--- ++ src/Makefile | 2 -- ++ 1 file changed, 2 deletions(-) ++ ++Index: stockfish/src/Makefile ++=================================================================== ++--- stockfish.orig/src/Makefile +++++ stockfish/src/Makefile ++@@ -159,9 +159,6 @@ ifeq ($(COMP),gcc) ++ CXXFLAGS += -m$(bits) ++ LDFLAGS += -m$(bits) ++ endif ++- else ++- CXXFLAGS += -m$(bits) ++- LDFLAGS += -m$(bits) ++ endif ++ ++ ifneq ($(KERNEL),Darwin) diff --cc debian/patches/series index 0000000,0000000..a21784c new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,1 @@@ ++cxxflags.patch diff --cc debian/rules index 0000000,0000000..6c62088 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,109 @@@ ++#!/usr/bin/make -f ++# -*- makefile -*- ++# Sample debian/rules that uses debhelper. ++# This file was originally written by Joey Hess and Craig Small. ++# As a special exception, when this file is copied by dh-make into a ++# dh-make output file, you may use that output file without restriction. ++# This special exception was added by Craig Small in version 0.37 of dh-make. ++ ++# Uncomment this to turn on verbose mode. ++# export DH_VERBOSE=1 ++ ++include /usr/share/dpkg/architecture.mk ++ ++TARGET := profile-build ARCH=general-$(DEB_HOST_ARCH_BITS) ++ ++ifeq (i386,$(DEB_HOST_ARCH_CPU)) ++TARGET := profile-build ARCH=x86-32-old ++endif ++ ++ifneq (,$(findstring amd64,$(DEB_HOST_ARCH))) ++TARGET := profile-build ARCH=x86-64 ++endif ++ ++# no compile on the first shot so building without profile ++ifeq (hppa,$(DEB_HOST_ARCH_CPU)) ++TARGET := build ARCH=general-$(DEB_HOST_ARCH_BITS) ++endif ++ ++# no compile on the first shot ++ifneq (,$(findstring powerpc,$(DEB_HOST_ARCH_CPU))) ++TARGET := build ARCH=general-$(DEB_HOST_ARCH_BITS) ++export DEB_LDFLAGS_MAINT_APPEND=-latomic ++endif ++ ++ifneq (,$(findstring s390,$(DEB_HOST_ARCH_CPU))) ++TARGET := profile-build ARCH=general-$(DEB_HOST_ARCH_BITS) ++endif ++ ++ifneq (,$(findstring sparc,$(DEB_HOST_ARCH_CPU))) ++TARGET := build ARCH=general-$(DEB_HOST_ARCH_BITS) ++endif ++ ++ifneq (,$(findstring mips,$(DEB_HOST_ARCH_CPU))) ++TARGET := profile-build ARCH=general-$(DEB_HOST_ARCH_BITS) ++export DEB_LDFLAGS_MAINT_APPEND=-latomic ++endif ++ ++# Profiling fails due to compiler issues ++ifneq (,$(findstring mipsel,$(DEB_HOST_ARCH_CPU))) ++TARGET := build ARCH=general-$(DEB_HOST_ARCH_BITS) ++export DEB_LDFLAGS_MAINT_APPEND=-latomic ++endif ++ ++ifeq (alpha,$(DEB_HOST_ARCH_CPU)) ++TARGET := build ARCH=general-$(DEB_HOST_ARCH_BITS) ++endif ++ ++ifneq (,$(findstring armel,$(DEB_HOST_ARCH))) ++TARGET := build ARCH=general-$(DEB_HOST_ARCH_BITS) ++export DEB_LDFLAGS_MAINT_APPEND=-latomic ++endif ++ ++ifneq (,$(findstring armhf,$(DEB_HOST_ARCH))) ++TARGET := build ARCH=general-$(DEB_HOST_ARCH_BITS) ++export DEB_LDFLAGS_MAINT_APPEND=-latomic ++endif ++ ++ifeq (ia64,$(DEB_HOST_ARCH_CPU)) ++TARGET := profile-build ARCH=general-$(DEB_HOST_ARCH_BITS) optimize=no ++endif ++ ++ifeq (m68k,$(DEB_HOST_ARCH_CPU)) ++TARGET := build ARCH=general-$(DEB_HOST_ARCH_BITS) ++export DEB_LDFLAGS_MAINT_APPEND=-latomic ++endif ++ ++ifeq (sh4,$(DEB_HOST_ARCH_CPU)) ++TARGET := build ARCH=general-$(DEB_HOST_ARCH_BITS) ++export DEB_LDFLAGS_MAINT_APPEND=-latomic ++endif ++ ++ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) ++TARGET2 := $(TARGET:profile-build=build) ++else ++TARGET2 := $(TARGET) ++endif ++ ++ ++ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) ++TESTCMD := ++else ++TESTCMD := cd src && ./stockfish bench 32 1 10 default depth ++endif ++ ++ ++%: ++ dh $@ --sourcedirectory=src ++ ++override_dh_auto_clean: ++ cd src && rm -rf *.gcda && touch .depend && make clean ++ ++override_dh_auto_build: ++ dh_auto_build --sourcedirectory=src -- $(TARGET2) ++ ++override_dh_auto_test: ++ $(TESTCMD) ++ ++override_dh_installman: ++ dh_installman debian/stockfish.6 diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/stockfish.6 index 0000000,0000000..193618f new file mode 100644 --- /dev/null +++ b/debian/stockfish.6 @@@ -1,0 -1,0 +1,61 @@@ ++.\" Hey, EMACS: -*- nroff -*- ++.\" First parameter, NAME, should be all caps ++.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection ++.\" other parameters are allowed: see man(7), man(1) ++.\" Please adjust this date whenever revising the manpage. ++.\" ++.\" Some roff macros, for reference: ++.\" .nh disable hyphenation ++.\" .hy enable hyphenation ++.\" .ad l left justify ++.\" .ad b justify to both left and right margins ++.\" .nf disable filling ++.\" .fi enable filling ++.\" .br insert line break ++.\" .sp insert n+1 empty lines ++.\" for manpage-specific macros, see man(7) ++.TH "STOCKFISH" "6" "October 10, 2009" "" "" ++.SH "NAME" ++stockfish \- free UCI chess engine, to calculate chess moves ++.SH "SYNOPSIS" ++.B stockfish ++.SH "DESCRIPTION" ++This manual page documents the ++.B stockfish ++command. ++.PP ++\fBstockfish\fP is an UCI chess engine, to calculate chess moves ++ ++Stockfish is a free UCI chess engine derived from Glaurung 2.1. It is ++not a complete chess program, but requires some UCI compatible GUI ++(like XBoard with PolyGlot, eboard, Jose, Arena, in order to be used ++comfortably. Read the documentation for your GUI of choice for information ++about how to use Stockfish with your GUI. ++ ++This version of Stockfish supports up to 8 CPUs, but has not been ++tested thoroughly with more than 2. The program tries to detect the ++number of CPUs on your computer and set the number of search threads ++accordingly, but please be aware that the detection is not always ++correct. It is therefore recommended to inspect the value of the ++"Threads" UCI parameter, and to make sure it equals the number of CPU ++cores on your computer. If you are using more than four threads, it ++is recommended to raise the value of "Minimum Split Depth" UCI parameter ++to 6. ++ ++ ++Opening book ++ ++This version of stockfish has experimental support for PolyGlot opening ++books. For information about how to create such books, consult the ++PolyGlot documentation. ++ ++.SH "OPTIONS" ++This program does NOT follow the usual GNU command line syntax, with long options starting with two dashes. ++.SH "SEE ALSO" ++Communication with UCI commands is documented by ++"The UCI Communication Protocol" in /usr/share/doc/stockfish/engine\-interface.txt. ++.SH "AUTHOR" ++stockfish was written by > and Marco Costalba . ++.PP ++This manual page was written by Oliver Korff , ++for the Debian project (but may be used by others). diff --cc debian/watch index 0000000,0000000..08a620f new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,3 @@@ ++version=3 ++opts=dversionmangle=s/(\+|\.)dfsg$// \ ++ https://github.com/official-stockfish/Stockfish/releases .*/sf_?(\d\S*)\.tar\.gz