commit:     033d138cfc4592a3de02c1c587ebd88b4bf38fa9
Author:     Ben de Groot <yngwin <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  7 11:41:16 2015 +0000
Commit:     Ben de Groot <yngwin <AT> gentoo <DOT> org>
CommitDate: Sat Feb  7 11:41:16 2015 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/betagarden.git;a=commit;h=033d138c

Ebuild improvements

---
 games-board/stockfish/metadata.xml          |  6 +++++
 games-board/stockfish/stockfish-9999.ebuild | 42 +++++++++++++++++++++--------
 2 files changed, 37 insertions(+), 11 deletions(-)

diff --git a/games-board/stockfish/metadata.xml 
b/games-board/stockfish/metadata.xml
index f2b4a5d..1f5c48a 100644
--- a/games-board/stockfish/metadata.xml
+++ b/games-board/stockfish/metadata.xml
@@ -5,4 +5,10 @@
     <email>[email protected]</email>
     <name>Ben de Groot</name>
   </maintainer>
+  <use>
+    <flag name='armv7'>Build for armv7; enables PIE</flag>
+    <flag name='general-32'>Generic unoptimized 32-bits build</flag>
+    <flag name='general-64'>Generic unoptimized 64-bits build</flag>
+    <flag name='optimize'>Enable upstream -O3 optimizations (default 
enabled)</flag>
+  </use>
 </pkgmetadata>

diff --git a/games-board/stockfish/stockfish-9999.ebuild 
b/games-board/stockfish/stockfish-9999.ebuild
index cba1014..719c97d 100644
--- a/games-board/stockfish/stockfish-9999.ebuild
+++ b/games-board/stockfish/stockfish-9999.ebuild
@@ -1,37 +1,57 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/games-board/stockfish/stockfish-6.ebuild,v 
1.1 2015/02/05 20:09:33 yngwin Exp $
+# $Header: $
 
 EAPI=5
-inherit git-r3 toolchain-funcs
-
-DESCRIPTION="The strongest chess engine in the world"
+if [[ ${PV} == *9999* ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="git://github.com/official-stockfish/Stockfish.git"
+       KEYWORDS=""
+       S=${WORKDIR}/${P}/src
+else
+       SRC_URI="https://stockfish.s3.amazonaws.com/${P}-src.zip";
+       KEYWORDS="~arm64 ~x86"
+       S=${WORKDIR}/${P}-src/src
+fi
+
+DESCRIPTION="Free UCI chess engine, claimed to be the strongest in the world"
 HOMEPAGE="http://stockfishchess.org/";
-EGIT_REPO_URI="git://github.com/official-stockfish/Stockfish.git"
 
 LICENSE="GPL-3"
 SLOT="0"
 KEYWORDS=""
-IUSE="cpu_flags_x86_avx2 cpu_flags_x86_popcnt cpu_flags_x86_sse"
+IUSE="armv7 cpu_flags_x86_avx2 cpu_flags_x86_popcnt cpu_flags_x86_sse debug
+       general-32 general-64 +optimize"
 
 DEPEND=""
 RDEPEND=""
 
-S=${WORKDIR}/${P}/src
-
 src_prepare() {
-       sed -e 's:-strip $(BINDIR)/$(EXE)::' -i Makefile
+       # prevent pre-stripping
+       sed -e 's:-strip $(BINDIR)/$(EXE)::' -i Makefile || die
 }
 
 src_compile() {
        local my_arch
+       # generic unoptimized first
+       use general-32 && my_arch=general-32
+       use general-64 && my_arch=general-64
+       # x86
        use x86 && my_arch=x86-32-old
        use cpu_flags_x86_sse && my_arch=x86-32
+       # amd64
        use amd64 && my_arch=x86-64
        use cpu_flags_x86_popcnt && my_arch=x86-64-modern
+       # both bmi2 and avx2 are part of hni (haswell new instructions)
        use cpu_flags_x86_avx2 && my_arch=x86-64-bmi2
-
-       emake build ARCH=${my_arch} CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}"
+       # other architectures
+       use armv7 && my_arch=armv7
+       use ppc && my_arch=ppc
+       use ppc64 && my_arch=ppc64
+
+       emake build ARCH=${my_arch} \
+               debug=$(usex debug "yes" "no") \
+               optimize=$(usex optimize "yes" "no")
 }
 
 src_install() {

Reply via email to