Gentoo Archives: gentoo-commits

From: Ben de Groot <yngwin@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/betagarden:master commit in: games-board/stockfish/
Date: Sat, 07 Feb 2015 11:41:34
Message-Id: 1423309276.033d138cfc4592a3de02c1c587ebd88b4bf38fa9.yngwin@gentoo
1 commit: 033d138cfc4592a3de02c1c587ebd88b4bf38fa9
2 Author: Ben de Groot <yngwin <AT> gentoo <DOT> org>
3 AuthorDate: Sat Feb 7 11:41:16 2015 +0000
4 Commit: Ben de Groot <yngwin <AT> gentoo <DOT> org>
5 CommitDate: Sat Feb 7 11:41:16 2015 +0000
6 URL: http://sources.gentoo.org/gitweb/?p=proj/betagarden.git;a=commit;h=033d138c
7
8 Ebuild improvements
9
10 ---
11 games-board/stockfish/metadata.xml | 6 +++++
12 games-board/stockfish/stockfish-9999.ebuild | 42 +++++++++++++++++++++--------
13 2 files changed, 37 insertions(+), 11 deletions(-)
14
15 diff --git a/games-board/stockfish/metadata.xml b/games-board/stockfish/metadata.xml
16 index f2b4a5d..1f5c48a 100644
17 --- a/games-board/stockfish/metadata.xml
18 +++ b/games-board/stockfish/metadata.xml
19 @@ -5,4 +5,10 @@
20 <email>yngwin@g.o</email>
21 <name>Ben de Groot</name>
22 </maintainer>
23 + <use>
24 + <flag name='armv7'>Build for armv7; enables PIE</flag>
25 + <flag name='general-32'>Generic unoptimized 32-bits build</flag>
26 + <flag name='general-64'>Generic unoptimized 64-bits build</flag>
27 + <flag name='optimize'>Enable upstream -O3 optimizations (default enabled)</flag>
28 + </use>
29 </pkgmetadata>
30
31 diff --git a/games-board/stockfish/stockfish-9999.ebuild b/games-board/stockfish/stockfish-9999.ebuild
32 index cba1014..719c97d 100644
33 --- a/games-board/stockfish/stockfish-9999.ebuild
34 +++ b/games-board/stockfish/stockfish-9999.ebuild
35 @@ -1,37 +1,57 @@
36 # Copyright 1999-2015 Gentoo Foundation
37 # Distributed under the terms of the GNU General Public License v2
38 -# $Header: /var/cvsroot/gentoo-x86/games-board/stockfish/stockfish-6.ebuild,v 1.1 2015/02/05 20:09:33 yngwin Exp $
39 +# $Header: $
40
41 EAPI=5
42 -inherit git-r3 toolchain-funcs
43 -
44 -DESCRIPTION="The strongest chess engine in the world"
45 +if [[ ${PV} == *9999* ]]; then
46 + inherit git-r3
47 + EGIT_REPO_URI="git://github.com/official-stockfish/Stockfish.git"
48 + KEYWORDS=""
49 + S=${WORKDIR}/${P}/src
50 +else
51 + SRC_URI="https://stockfish.s3.amazonaws.com/${P}-src.zip"
52 + KEYWORDS="~arm64 ~x86"
53 + S=${WORKDIR}/${P}-src/src
54 +fi
55 +
56 +DESCRIPTION="Free UCI chess engine, claimed to be the strongest in the world"
57 HOMEPAGE="http://stockfishchess.org/"
58 -EGIT_REPO_URI="git://github.com/official-stockfish/Stockfish.git"
59
60 LICENSE="GPL-3"
61 SLOT="0"
62 KEYWORDS=""
63 -IUSE="cpu_flags_x86_avx2 cpu_flags_x86_popcnt cpu_flags_x86_sse"
64 +IUSE="armv7 cpu_flags_x86_avx2 cpu_flags_x86_popcnt cpu_flags_x86_sse debug
65 + general-32 general-64 +optimize"
66
67 DEPEND=""
68 RDEPEND=""
69
70 -S=${WORKDIR}/${P}/src
71 -
72 src_prepare() {
73 - sed -e 's:-strip $(BINDIR)/$(EXE)::' -i Makefile
74 + # prevent pre-stripping
75 + sed -e 's:-strip $(BINDIR)/$(EXE)::' -i Makefile || die
76 }
77
78 src_compile() {
79 local my_arch
80 + # generic unoptimized first
81 + use general-32 && my_arch=general-32
82 + use general-64 && my_arch=general-64
83 + # x86
84 use x86 && my_arch=x86-32-old
85 use cpu_flags_x86_sse && my_arch=x86-32
86 + # amd64
87 use amd64 && my_arch=x86-64
88 use cpu_flags_x86_popcnt && my_arch=x86-64-modern
89 + # both bmi2 and avx2 are part of hni (haswell new instructions)
90 use cpu_flags_x86_avx2 && my_arch=x86-64-bmi2
91 -
92 - emake build ARCH=${my_arch} CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}"
93 + # other architectures
94 + use armv7 && my_arch=armv7
95 + use ppc && my_arch=ppc
96 + use ppc64 && my_arch=ppc64
97 +
98 + emake build ARCH=${my_arch} \
99 + debug=$(usex debug "yes" "no") \
100 + optimize=$(usex optimize "yes" "no")
101 }
102
103 src_install() {