diff options
author | Bernd Waibel <waebbl@gmail.com> | 2019-01-13 20:35:23 +0100 |
---|---|---|
committer | Craig Andrews <candrews@gentoo.org> | 2019-01-15 15:11:27 -0500 |
commit | 76a4ccbb500e479ff544c6a49227f654d7e72a19 (patch) | |
tree | 4cd1ad5c4e705e6da1d536989005a7da3e3ece27 /media-libs | |
parent | net-dns/coredns: Remove old (diff) | |
download | gentoo-76a4ccbb500e479ff544c6a49227f654d7e72a19.tar.gz gentoo-76a4ccbb500e479ff544c6a49227f654d7e72a19.tar.bz2 gentoo-76a4ccbb500e479ff544c6a49227f654d7e72a19.zip |
media-libs/glew: add mesa compatibility
* update to EAPI 7
* add compatibility for >=mesa-18 in glext.h
Closes: https://bugs.gentoo.org/671486
Closes: https://bugs.gentoo.org/673172
Package-Manager: Portage-2.3.54, Repoman-2.3.12
Signed-off-by: Bernd Waibel <waebbl@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/10828
Signed-off-by: Craig Andrews <candrews@gentoo.org>
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/glew/files/glew-2.1.0-mesa-compat.patch | 21 | ||||
-rw-r--r-- | media-libs/glew/glew-2.1.0-r1.ebuild | 104 |
2 files changed, 125 insertions, 0 deletions
diff --git a/media-libs/glew/files/glew-2.1.0-mesa-compat.patch b/media-libs/glew/files/glew-2.1.0-mesa-compat.patch new file mode 100644 index 000000000000..391420e8138a --- /dev/null +++ b/media-libs/glew/files/glew-2.1.0-mesa-compat.patch @@ -0,0 +1,21 @@ +diff --git a/include/GL/glew.h b/include/GL/glew.h +index b5b6987..a9f9e4b 100644 +--- a/include/GL/glew.h ++++ b/include/GL/glew.h +@@ -93,7 +93,7 @@ + #if defined(__REGAL_H__) + #error Regal.h included before glew.h + #endif +-#if defined(__glext_h_) || defined(__GLEXT_H_) ++#if defined(__glext_h_) || defined(__GLEXT_H_) || defined(__gl_glext_h_) + #error glext.h included before glew.h + #endif + #if defined(__gl_ATI_h_) +@@ -109,6 +109,7 @@ + #define __X_GL_H + #define __glext_h_ + #define __GLEXT_H_ ++#define __gl_glext_h_ + #define __gl_ATI_h_ + + #if defined(_WIN32) diff --git a/media-libs/glew/glew-2.1.0-r1.ebuild b/media-libs/glew/glew-2.1.0-r1.ebuild new file mode 100644 index 000000000000..4b13c557e272 --- /dev/null +++ b/media-libs/glew/glew-2.1.0-r1.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-minimal toolchain-funcs + +DESCRIPTION="The OpenGL Extension Wrangler Library" +HOMEPAGE="http://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 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="doc static-libs" + +DEPEND=" + >=virtual/glu-9.0-r1[${MULTILIB_USEDEP}] + >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] + >=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}" + +src_prepare() { + local PATCHES=( + "${FILESDIR}"/${PN}-2.0.0-install-headers.patch + "${FILESDIR}"/${P}-mesa-compat.patch + ) + + 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 + # and let freebsd be built as on linux too + cp config/Makefile.linux config/Makefile.freebsd || die + + default + multilib_copy_sources +} + +glew_system() { + # Set the SYSTEM variable instead of probing. #523444 #595280 + case ${CHOST} in + *linux*) echo "linux" ;; + *-freebsd*) echo "freebsd" ;; + *-darwin*) echo "darwin" ;; + *-solaris*) echo "solaris" ;; + mingw*|*-mingw*) echo "mingw" ;; + *) die "Unknown system ${CHOST}" ;; + esac +} + +set_opts() { + myglewopts=( + AR="$(tc-getAR)" + STRIP=true + CC="$(tc-getCC)" + LD="$(tc-getCC) ${LDFLAGS}" + SYSTEM="$(glew_system)" + M_ARCH="" + LDFLAGS.EXTRA="" + POPT="${CFLAGS}" + ) +} + +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 doc/* + fi +} |