56618864632d9b92f9cf1fb79fa91dc092296e01
[gentoo.git] / media-libs / glew / glew-1.10.0-r100.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5 inherit multilib-minimal toolchain-funcs versionator
6
7 DESCRIPTION="The OpenGL Extension Wrangler Library"
8 HOMEPAGE="http://glew.sourceforge.net/"
9 SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
10
11 LICENSE="BSD MIT"
12 SLOT="$(get_version_component_range 1-2)"
13 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
14
15 RDEPEND=">=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}]
16         !=media-libs/glew-1.10*:0"
17
18 DEPEND="${RDEPEND}
19         x11-base/xorg-proto
20         x11-libs/libX11"
21
22 DOCS=""
23
24 src_prepare() {
25         default
26
27         sed -i \
28                 -e '/$(CC) $(CFLAGS) -o/s:$(CFLAGS):$(CFLAGS) $(LDFLAGS):' \
29                 -e '/glew.lib:/s|lib/$(LIB.STATIC) ||' \
30                 -e '/glew.lib.mx:/s|lib/$(LIB.STATIC.MX) ||' \
31                 Makefile || die
32
33         # don't do stupid Solaris specific stuff that won't work in Prefix
34         cp config/Makefile.linux config/Makefile.solaris || die
35         # and let freebsd be built as on linux too
36         cp config/Makefile.linux config/Makefile.freebsd || die
37
38         multilib_copy_sources
39 }
40
41 glew_system() {
42         # Set the SYSTEM variable instead of probing. #523444 #595280
43         case ${CHOST} in
44         *linux*)          echo "linux" ;;
45         *-freebsd*)       echo "freebsd" ;;
46         *-darwin*)        echo "darwin" ;;
47         *-solaris*)       echo "solaris" ;;
48         mingw*|*-mingw*)  echo "mingw" ;;
49         *) die "Unknown system ${CHOST}" ;;
50         esac
51 }
52
53 set_opts() {
54         myglewopts=(
55                 AR="$(tc-getAR)"
56                 STRIP=true
57                 CC="$(tc-getCC)"
58                 LD="$(tc-getCC) ${LDFLAGS}"
59                 SYSTEM="$(glew_system)"
60                 M_ARCH=""
61                 LDFLAGS.EXTRA=""
62                 LDFLAGS.GL="-lGL" # Don't need X libs!
63                 POPT="${CFLAGS}"
64         )
65 }
66
67 multilib_src_compile() {
68         set_opts
69         emake glew.lib{,.mx} "${myglewopts[@]}"
70 }
71
72 multilib_src_install() {
73         newlib.so lib/libGLEW.so.${SLOT}.* libGLEW.so.${SLOT}
74         newlib.so lib/libGLEWmx.so.${SLOT}.* libGLEWmx.so.${SLOT}
75 }