summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-libs/glew/files/glew-2.1.0-mesa-compat.patch21
-rw-r--r--media-libs/glew/glew-2.1.0-r1.ebuild104
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
+}