Gentoo Archives: gentoo-dev

From: Ben de Groot <yngwin@g.o>
To: hasufell <hasufell@g.o>
Cc: gentoo-dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in games-board/stockfish: stockfish-6.ebuild metadata.xml Manifest ChangeLog
Date: Sat, 07 Feb 2015 07:23:59
Message-Id: CAB9SyzR-U1vqRCfE5z3Pj0n0Oj=4TJ-4k6gP19K_C1iL2X73dA@mail.gmail.com
In Reply to: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in games-board/stockfish: stockfish-6.ebuild metadata.xml Manifest ChangeLog by hasufell
1 On 7 February 2015 at 00:59, hasufell <hasufell@g.o> wrote:
2 > Ben de Groot (yngwin):
3 >> yngwin 15/02/05 20:09:33
4 >>
5 >> Added: stockfish-6.ebuild metadata.xml Manifest ChangeLog
6 >> Log:
7 >> Initial commit (bug #318337)
8 >>
9
10 First off: thank you for the review!
11
12 >>
13 >> EAPI=5
14 >> inherit toolchain-funcs
15 >>
16 >
17 > This breaks consistency. Now users cannot rely on games.eclass anymore.
18 > We should either abandon it completely or follow it consistently.
19
20 I thought we had abandoned it already?
21
22 Is there anything to be gained from using games.eclass here? It is a
23 chess engine that simply installs one file in /usr/bin/.
24
25 >
26 >> DESCRIPTION="The strongest chess engine in the world"
27 >
28 > This isn't very informative. I'd suggest
29 > DESCRIPTION="Free UCI chess engine derived from Glaurung 2.1"
30
31 I just took the description from upstream's website. But you are
32 right, it could be more informative. Will fix.
33
34 >> HOMEPAGE="http://stockfishchess.org/"
35 >
36 > Probably add the github link here too.
37
38 I will unify the live and release ebuilds.
39
40 >> SRC_URI="https://stockfish.s3.amazonaws.com/${P}-src.zip"
41 >>
42 >> LICENSE="GPL-3"
43 >> SLOT="0"
44 >> KEYWORDS="~amd64 ~x86"
45 >> IUSE="cpu_flags_x86_avx2 cpu_flags_x86_popcnt cpu_flags_x86_sse"
46 >>
47 >> DEPEND=""
48 >
49 > unzip is missing from DEPEND
50
51 I thought portage auto-depends on this. But I can add || ( unzip zip )
52 to be explicit.
53
54 >> RDEPEND=""
55 >>
56 >> S=${WORKDIR}/${P}-src/src
57 >>
58 >> src_prepare() {
59 >> sed -e 's:-strip $(BINDIR)/$(EXE)::' -i Makefile
60 >> }
61 >>
62 >
63 > missing "|| die"... I'd also rather make this a patch, so it doesn't
64 > silently break on version bump
65
66 The die would not accomplish anything, unless the file wasn't there
67 anymore. I thought this was too simple for a patch, but see below.
68
69 >> src_compile() {
70 >> local my_arch
71 >> use x86 && my_arch=x86-32-old
72 >> use cpu_flags_x86_sse && my_arch=x86-32
73 >> use amd64 && my_arch=x86-64
74 >> use cpu_flags_x86_popcnt && my_arch=x86-64-modern
75 >> use cpu_flags_x86_avx2 && my_arch=x86-64-bmi2
76 >>
77 >> emake build ARCH=${my_arch} CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}"
78 >
79 > This currently breaks all cpu flags, because it overwrites anything the
80 > Makefile does to CXXFLAGS, including -msse and -DIS_64BIT and even other
81 > flags that are not CPU specific (e.g. -DNDEBUG).
82
83 Thanks for catching this! I guess we do need to patch the Makefile
84 then, to *also* honour user-set CXXFLAGS and LDFLAGS. Or could we get
85 away with just letting the Makefile do its thing?
86
87 > Fixing this should definitely be done in a revbump.
88
89 Obviously. Will do.
90
91 --
92 Cheers,
93
94 Ben | yngwin
95 Gentoo developer

Replies