123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- # Copyright 1999-2024 Gentoo Authors
- # Distributed under the terms of the GNU General Public License v2
- EAPI=8
- inherit multilib-minimal toolchain-funcs
- DESCRIPTION="The OpenGL Extension Wrangler Library"
- HOMEPAGE="https://glew.sourceforge.net/"
- SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
- LICENSE="BSD MIT"
- SLOT="0/$(ver_cut 1-2)"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
- IUSE="X doc static-libs"
- DEPEND="
- media-libs/libglvnd[X?]
- X? (
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXi-1.7.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXmu-1.1.1-r1[${MULTILIB_USEDEP}]
- )
- "
- RDEPEND="${DEPEND}"
- PATCHES=(
- "${FILESDIR}/${PN}-2.0.0-install-headers.patch"
- "${FILESDIR}/${PN}-2.0.0-egl-no-libGL.patch"
- )
- src_prepare() {
- sed -i \
- -e '/INSTALL/s:-s::' \
- -e '/$(CC) $(CFLAGS) -o/s:$(CFLAGS):$(CFLAGS) $(LDFLAGS):' \
- -e '/^.PHONY: .*\.pc$/d' \
- Makefile || die
- if ! use static-libs ; then
- sed -i \
- -e '/glew.lib:/s|lib/$(LIB.STATIC) ||' \
- -e '/glew.lib.mx:/s|lib/$(LIB.STATIC.MX) ||' \
- -e '/INSTALL.*LIB.STATIC/d' \
- Makefile || die
- fi
- # don't do stupid Solaris specific stuff that won't work in Prefix
- cp config/Makefile.linux config/Makefile.solaris || die
- default
- multilib_copy_sources
- }
- glew_system() {
- # Set the SYSTEM variable instead of probing. #523444 #595280
- if use X; then
- case ${CHOST} in
- *linux*) echo "linux" ;;
- *-darwin*) echo "darwin" ;;
- *-solaris*) echo "solaris" ;;
- mingw*|*-mingw*) echo "mingw" ;;
- *) die "Unknown system ${CHOST}" ;;
- esac
- else
- echo "linux-egl"
- fi
- }
- set_opts() {
- myglewopts=(
- AR="$(tc-getAR)"
- STRIP=true
- CC="$(tc-getCC)"
- LD="$(tc-getCC) ${LDFLAGS}"
- SYSTEM="$(glew_system)"
- M_ARCH=""
- LDFLAGS.EXTRA=""
- POPT="${CFLAGS}"
- )
- use !X && myglewopts+=(
- GLEW_NO_GLU='-DGLEW_NO_GLU'
- LDFLAGS.GL='-lEGL -lGLESv2'
- )
- }
- multilib_src_compile() {
- set_opts
- emake \
- GLEW_PREFIX="${EPREFIX}/usr" \
- GLEW_DEST="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- "${myglewopts[@]}"
- }
- multilib_src_install() {
- set_opts
- emake \
- GLEW_DEST="${ED}/usr" \
- LIBDIR="${ED}/usr/$(get_libdir)" \
- PKGDIR="${ED}/usr/$(get_libdir)/pkgconfig" \
- "${myglewopts[@]}" \
- install.all
- dodoc README.md
- if use doc; then
- docinto html
- dodoc -r doc
- fi
- }
|