glew-2.2.0-r2.ebuild 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. # Copyright 1999-2024 Gentoo Authors
  2. # Distributed under the terms of the GNU General Public License v2
  3. EAPI=8
  4. inherit multilib-minimal toolchain-funcs
  5. DESCRIPTION="The OpenGL Extension Wrangler Library"
  6. HOMEPAGE="https://glew.sourceforge.net/"
  7. SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
  8. LICENSE="BSD MIT"
  9. SLOT="0/$(ver_cut 1-2)"
  10. KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
  11. IUSE="X doc static-libs"
  12. DEPEND="
  13. media-libs/libglvnd[X?]
  14. X? (
  15. >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
  16. >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
  17. >=x11-libs/libXi-1.7.2[${MULTILIB_USEDEP}]
  18. >=x11-libs/libXmu-1.1.1-r1[${MULTILIB_USEDEP}]
  19. )
  20. "
  21. RDEPEND="${DEPEND}"
  22. PATCHES=(
  23. "${FILESDIR}/${PN}-2.0.0-install-headers.patch"
  24. "${FILESDIR}/${PN}-2.0.0-egl-no-libGL.patch"
  25. )
  26. src_prepare() {
  27. sed -i \
  28. -e '/INSTALL/s:-s::' \
  29. -e '/$(CC) $(CFLAGS) -o/s:$(CFLAGS):$(CFLAGS) $(LDFLAGS):' \
  30. -e '/^.PHONY: .*\.pc$/d' \
  31. Makefile || die
  32. if ! use static-libs ; then
  33. sed -i \
  34. -e '/glew.lib:/s|lib/$(LIB.STATIC) ||' \
  35. -e '/glew.lib.mx:/s|lib/$(LIB.STATIC.MX) ||' \
  36. -e '/INSTALL.*LIB.STATIC/d' \
  37. Makefile || die
  38. fi
  39. # don't do stupid Solaris specific stuff that won't work in Prefix
  40. cp config/Makefile.linux config/Makefile.solaris || die
  41. default
  42. multilib_copy_sources
  43. }
  44. glew_system() {
  45. # Set the SYSTEM variable instead of probing. #523444 #595280
  46. if use X; then
  47. case ${CHOST} in
  48. *linux*) echo "linux" ;;
  49. *-darwin*) echo "darwin" ;;
  50. *-solaris*) echo "solaris" ;;
  51. mingw*|*-mingw*) echo "mingw" ;;
  52. *) die "Unknown system ${CHOST}" ;;
  53. esac
  54. else
  55. echo "linux-egl"
  56. fi
  57. }
  58. set_opts() {
  59. myglewopts=(
  60. AR="$(tc-getAR)"
  61. STRIP=true
  62. CC="$(tc-getCC)"
  63. LD="$(tc-getCC) ${LDFLAGS}"
  64. SYSTEM="$(glew_system)"
  65. M_ARCH=""
  66. LDFLAGS.EXTRA=""
  67. POPT="${CFLAGS}"
  68. )
  69. use !X && myglewopts+=(
  70. GLEW_NO_GLU='-DGLEW_NO_GLU'
  71. LDFLAGS.GL='-lEGL -lGLESv2'
  72. )
  73. }
  74. multilib_src_compile() {
  75. set_opts
  76. emake \
  77. GLEW_PREFIX="${EPREFIX}/usr" \
  78. GLEW_DEST="${EPREFIX}/usr" \
  79. LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
  80. "${myglewopts[@]}"
  81. }
  82. multilib_src_install() {
  83. set_opts
  84. emake \
  85. GLEW_DEST="${ED}/usr" \
  86. LIBDIR="${ED}/usr/$(get_libdir)" \
  87. PKGDIR="${ED}/usr/$(get_libdir)/pkgconfig" \
  88. "${myglewopts[@]}" \
  89. install.all
  90. dodoc README.md
  91. if use doc; then
  92. docinto html
  93. dodoc -r doc
  94. fi
  95. }