aboutsummaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorkwm <kwm@FreeBSD.org>2014-05-17 17:56:00 +0800
committerkwm <kwm@FreeBSD.org>2014-05-17 17:56:00 +0800
commitf1daeca7a40c82d284988efd4457ade0008e0af5 (patch)
treee9172feaf552da3dbe353c195227e5c9d143116e /graphics
parentef3773edadd26fc9aa4293f7714b20df086a6e11 (diff)
downloadfreebsd-ports-gnome-f1daeca7a40c82d284988efd4457ade0008e0af5.tar.gz
freebsd-ports-gnome-f1daeca7a40c82d284988efd4457ade0008e0af5.tar.zst
freebsd-ports-gnome-f1daeca7a40c82d284988efd4457ade0008e0af5.zip
Enable shared libglapi library and make a port for it. It is used by libGL
and libglesv2. This fixes undefined symbol issues in libglesv2. Clean up stagedir of unwanted files/directories, so check-plist passes. Switch logic and always build gallium support in graphics/dri on i386 and amd64. Gallium is used for Radeon HD 5000+ support. Use USES=tar:bzip2 Under WITH_NEW_XORG: Add patch to remove some dependencies for aclocal.m4 which are absent. This allows the removal of USE_AUTOTOOLS, REAPPLY_PATCHES and pre-configure target. Add INSTALL_TARGET=install-strip to strip libraries. USES=libtool:keepla Fix a /use typo with /usr in post-patch. Bump PORTREVISION for the libtool and libglapi changes. Submitted by: tijl@ (libtool and autotools changes) Obtained from: xorg-dev repo (libglapi and gallium changes)
Diffstat (limited to 'graphics')
-rw-r--r--graphics/Makefile1
-rw-r--r--graphics/dri/Makefile16
-rw-r--r--graphics/dri/pkg-plist1
-rw-r--r--graphics/libEGL/Makefile4
-rw-r--r--graphics/libEGL/pkg-plist1
-rw-r--r--graphics/libGL/Makefile14
-rw-r--r--graphics/libGL/bsd.mesalib.mk42
-rw-r--r--graphics/libGL/files/patch-Makefile.in13
-rw-r--r--graphics/libGL/files/patch-src_egl_main_Makefile.in19
-rw-r--r--graphics/libGL/files/patch-src_glx_Makefile.in59
-rw-r--r--graphics/libGL/files/patch-src_mapi_es2api_Makefile.in20
-rw-r--r--graphics/libGL/files/patch-src_mapi_shared-glapi_Makefile.in20
-rw-r--r--graphics/libGL/files/patch-src_mesa_libdricore_Makefile.in19
-rw-r--r--graphics/libGL/pkg-plist1
-rw-r--r--graphics/libglapi/Makefile30
-rw-r--r--graphics/libglapi/pkg-descr3
-rw-r--r--graphics/libglapi/pkg-plist4
-rw-r--r--graphics/libglesv2/Makefile4
-rw-r--r--graphics/libglesv2/pkg-plist1
19 files changed, 92 insertions, 180 deletions
diff --git a/graphics/Makefile b/graphics/Makefile
index 9b936b77c165..54eb94fdfa98 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -503,6 +503,7 @@
SUBDIR += libgeotiff
SUBDIR += libgfx
SUBDIR += libggi
+ SUBDIR += libglapi
SUBDIR += libglesv2
SUBDIR += libgltext
SUBDIR += libgnomecanvas
diff --git a/graphics/dri/Makefile b/graphics/dri/Makefile
index 098adbefacd8..a06ab7d9566c 100644
--- a/graphics/dri/Makefile
+++ b/graphics/dri/Makefile
@@ -3,7 +3,7 @@
PORTNAME= dri
PORTVERSION= ${MESAVERSION}
-PORTREVISION= 3
+PORTREVISION= 4
PORTEPOCH= 2
CATEGORIES= graphics
@@ -46,7 +46,7 @@ DRI_DRIVERS= ${ALL_DRI_DRIVERS}
.endif
.if defined(WITH_NEW_XORG)
-. if defined(WITH_GALLIUM) && (${ARCH} == i386 || ${ARCH} == amd64)
+. if !defined(WITHOUT_GALLIUM) && (${ARCH} == i386 || ${ARCH} == amd64)
BUILD_DEPENDS+= llvm-config33:${PORTSDIR}/devel/llvm33
CONFIGURE_ENV+= LLVM_CONFIG=${LOCALBASE}/bin/llvm-config33
@@ -98,4 +98,16 @@ pre-everything::
@${ECHO_MSG} ""
.endif
+post-install:
+.if defined(WITH_NEW_XORG)
+ @${RM} -f ${STAGEDIR}${PREFIX}/include/GL/*.h
+ @${RM} ${STAGEDIR}${PREFIX}/lib/libGL.*
+ @${RM} ${STAGEDIR}${PREFIX}/lib/libglapi.*
+ @${RM} -f ${STAGEDIR}${PREFIX}/libdata/pkgconfig/gl.pc
+.else
+ @${RM} -f ${STAGEDIR}${PREFIX}/include/GL/*.h
+ @${RM} -rf ${STAGEDIR}${PREFIX}/lib/.libGL
+ @${RM} -f ${STAGEDIR}${PREFIX}/libdata/pkgconfig/gl.pc
+.endif
+
.include <bsd.port.mk>
diff --git a/graphics/dri/pkg-plist b/graphics/dri/pkg-plist
index d80890bb33d4..21dd35247a8f 100644
--- a/graphics/dri/pkg-plist
+++ b/graphics/dri/pkg-plist
@@ -31,6 +31,7 @@ include/GL/internal/dri_interface.h
%%NEW%%lib/libdricore%%VERSION%%.la
%%NEW%%lib/libdricore%%VERSION%%.so
%%NEW%%lib/libdricore%%VERSION%%.so.1
+%%NEW%%lib/libdricore%%VERSION%%.so.1.0.0
%%NEW%%%%GALLIUM%%lib/libllvmradeon%%VERSION%%.la
%%NEW%%%%GALLIUM%%lib/libllvmradeon%%VERSION%%.so
libdata/pkgconfig/dri.pc
diff --git a/graphics/libEGL/Makefile b/graphics/libEGL/Makefile
index 1c0cbac79b18..b04ece1447f5 100644
--- a/graphics/libEGL/Makefile
+++ b/graphics/libEGL/Makefile
@@ -3,7 +3,7 @@
PORTNAME= libEGL
PORTVERSION= ${MESAVERSION}
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics
COMMENT= OpenEGL library
@@ -23,7 +23,7 @@ INSTALL_WRKSRC= ${WRKSRC}/src/egl
.include <bsd.port.options.mk>
.if ! defined(WITH_NEW_XORG)
-IGNORE= Please enable WITH_NEW_XORG, libEGL needs libdrm higher then 2.4.24
+IGNORE= Please enable WITH_NEW_XORG, libEGL needs libdrm higher then 2.4.24
.endif
.include "${.CURDIR}/../../graphics/libGL/bsd.mesalib.mk"
diff --git a/graphics/libEGL/pkg-plist b/graphics/libEGL/pkg-plist
index 538d2db43ed8..e5a8156f0334 100644
--- a/graphics/libEGL/pkg-plist
+++ b/graphics/libEGL/pkg-plist
@@ -6,6 +6,7 @@ include/KHR/khrplatform.h
lib/libEGL.la
lib/libEGL.so
lib/libEGL.so.1
+lib/libEGL.so.1.0.0
libdata/pkgconfig/egl.pc
@dirrmtry include/KHR
@dirrmtry include/EGL
diff --git a/graphics/libGL/Makefile b/graphics/libGL/Makefile
index 73c785ed956a..dd6cc33f96f5 100644
--- a/graphics/libGL/Makefile
+++ b/graphics/libGL/Makefile
@@ -19,7 +19,8 @@ SUB_FILES= pkg-install pkg-deinstall
.include <bsd.port.options.mk>
.if defined(WITH_NEW_XORG)
-LIBGLREVISION= 0
+LIBGLREVISION= 1
+LIB_DEPENDS+= libglapi.so:${PORTSDIR}/graphics/libglapi
.else
LIBGLREVISION= 4
.endif
@@ -30,11 +31,18 @@ LIBGLREVISION= 4
CONFIGURE_ARGS+=--disable-gallium-intel
.endif
-.if !defined(WITH_NEW_XORG)
post-install:
+.if defined(WITH_NEW_XORG)
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/.libGL
+ @${MV} ${STAGEDIR}${PREFIX}/lib/libGL* \
+ ${STAGEDIR}${PREFIX}/lib/.libGL/
+ ${RM} ${STAGEDIR}${PREFIX}/lib/libglapi*
+ ${RM} -f ${STAGEDIR}${PREFIX}/libdata/pkgconfig/dri.pc
+ ${RM} -rf ${STAGEDIR}${PREFIX}/include/GL/internal
+.else
${RM} ${STAGEDIR}${PREFIX}/include/GL/glu.h
${RM} ${STAGEDIR}${PREFIX}/include/GL/glu_mangle.h
- ${RM} ${STAGEDIR}${PREFIX}/include/GL/internal/dri_interface.h
+ ${RM} -rf ${STAGEDIR}${PREFIX}/include/GL/internal
${RM} ${STAGEDIR}${PREFIX}/libdata/pkgconfig/dri.pc
.endif
diff --git a/graphics/libGL/bsd.mesalib.mk b/graphics/libGL/bsd.mesalib.mk
index 4d8a7beabc26..eeb3a7a9a48e 100644
--- a/graphics/libGL/bsd.mesalib.mk
+++ b/graphics/libGL/bsd.mesalib.mk
@@ -33,9 +33,8 @@ BUILD_DEPENDS+= makedepend:${PORTSDIR}/devel/makedepend \
python2:${PORTSDIR}/lang/python2 \
${PYTHON_SITELIBDIR}/libxml2.py:${PORTSDIR}/textproc/py-libxml2
-USES+= bison gmake pathfix pkgconfig shebangfix
-USE_PYTHON_BUILD=-2.7
-USE_BZIP2= yes
+USES+= bison gmake pathfix pkgconfig shebangfix tar:bzip2
+USE_PYTHON_BUILD=2
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
@@ -48,19 +47,8 @@ CONFIGURE_ENV+=ac_cv_prog_LEX=${LOCALBASE}/bin/flex
.endif
.if defined(WITH_NEW_XORG)
-USE_AUTOTOOLS= autoconf:env automake:env libtool:env
-# probably be shared lib, and in it own port.
-CONFIGURE_ARGS+= --enable-shared-glapi=no
-# we need to reapply these patches because we doing wierd stuff with autogen
-REAPPLY_PATCHES= \
- ${PATCHDIR}/patch-configure \
- ${PATCHDIR}/patch-src_egl_main_Makefile.in \
- ${PATCHDIR}/patch-src_glx_Makefile.in \
- ${PATCHDIR}/patch-src_mapi_es2api_Makefile.in \
- ${PATCHDIR}/patch-src_mapi_shared-glapi_Makefile.in \
- ${PATCHDIR}/patch-src_mesa_drivers_dri_common_Makefile.in \
- ${PATCHDIR}/patch-src_mesa_drivers_dri_common_xmlpool_Makefile.in \
- ${PATCHDIR}/patch-src_mesa_libdricore_Makefile.in
+INSTALL_TARGET= install-strip
+USES+= libtool:keepla
python_OLD_CMD= "/usr/bin/env[[:space:]]python"
python_CMD= ${LOCALBASE}/bin/python2
@@ -126,27 +114,11 @@ post-patch:
${WRKSRC}/src/mesa/Makefile \
${WRKSRC}/src/mesa/drivers/dri/Makefile
.else
- @${REINPLACE_CMD} -e 's|#!/use/bin/python|#!${LOCALBASE}/bin/python2|g' \
+ @${REINPLACE_CMD} -e 's|#!/usr/bin/python|#!${PYTHON_CMD}|g' \
${WRKSRC}/src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py \
${WRKSRC}/src/glsl/builtins/tools/*.py
- @${REINPLACE_CMD} -e 's|!/use/bin/python2|!${LOCALBASE}/bin/python2|g' \
+ @${REINPLACE_CMD} -e 's|!/usr/bin/python2|!${PYTHON_CMD}|g' \
${WRKSRC}/src/mesa/main/get_hash_generator.py \
${WRKSRC}/src/mapi/glapi/gen/gl_enums.py \
- ${WRKSRC}/src/mapi/glapi/gen/gl_table.py \
-
+ ${WRKSRC}/src/mapi/glapi/gen/gl_table.py
.endif
-
-pre-configure:
-# workaround for stupid rerunning configure in do-build step
-# xxx
-.if defined(WITH_NEW_XORG)
- cd ${WRKSRC} && env NOCONFIGURE=1 sh autogen.sh
-. for file in ${REAPPLY_PATCHES}
- @cd ${WRKSRC} && ${PATCH} -p0 --quiet < ${file}
-. endfor
-# make sure the pkg-config files are installed in the correct place.
-# this was reverted by running autogen.sh
- @${FIND} ${WRKSRC} -name Makefile.in -type f | ${XARGS} ${REINPLACE_CMD} -e \
- 's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g' ;
-.endif
-
diff --git a/graphics/libGL/files/patch-Makefile.in b/graphics/libGL/files/patch-Makefile.in
new file mode 100644
index 000000000000..3adcc5d6156f
--- /dev/null
+++ b/graphics/libGL/files/patch-Makefile.in
@@ -0,0 +1,13 @@
+--- Makefile.in.orig 2014-05-11 21:01:42.000000000 +0200
++++ Makefile.in 2014-05-11 21:02:12.000000000 +0200
+@@ -87,9 +87,7 @@
+ $(top_srcdir)/m4/ax_prog_flex.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 \
+ $(top_srcdir)/m4/ax_python_module.m4 \
+- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
++ $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
diff --git a/graphics/libGL/files/patch-src_egl_main_Makefile.in b/graphics/libGL/files/patch-src_egl_main_Makefile.in
deleted file mode 100644
index 7fefe71c41a9..000000000000
--- a/graphics/libGL/files/patch-src_egl_main_Makefile.in
+++ /dev/null
@@ -1,19 +0,0 @@
---- src/egl/main/Makefile.in.orig 2013-08-01 23:22:16.000000000 +0200
-+++ src/egl/main/Makefile.in 2013-09-01 11:33:47.000000000 +0200
-@@ -990,8 +990,14 @@
- # a while by putting a link to the driver into /lib of the build tree.
- all-local: libEGL.la
- $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
-- ln -f .libs/libEGL.so.1.0.0 $(top_builddir)/$(LIB_DIR)/libEGL.so.1
-- ln -sf libEGL.so.1 $(top_builddir)/$(LIB_DIR)/libEGL.so
-+ base=$(basename $<); \
-+ dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \
-+ ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \
-+ ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \
-+ if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \
-+ ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \
-+ fi; \
-+ ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so
-
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/graphics/libGL/files/patch-src_glx_Makefile.in b/graphics/libGL/files/patch-src_glx_Makefile.in
deleted file mode 100644
index ffe97fef8922..000000000000
--- a/graphics/libGL/files/patch-src_glx_Makefile.in
+++ /dev/null
@@ -1,59 +0,0 @@
---- src/glx/Makefile.in.orig 2013-07-03 15:13:37.000000000 +0200
-+++ src/glx/Makefile.in 2013-07-03 15:19:44.000000000 +0200
-@@ -162,12 +162,12 @@
- depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
- am__depfiles_maybe = depfiles
- am__mv = mv -f
--COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-+COMPILE = $(CC) $(DEFS) $(AM_CFLAGS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-+ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS)
- LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-- $(AM_CFLAGS) $(CFLAGS)
-+ $(AM_CFLAGS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-+ $(CPPFLAGS) $(CFLAGS)
- AM_V_CC = $(am__v_CC_@AM_V@)
- am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
- am__v_CC_0 = @echo " CC " $@;
-@@ -632,17 +632,17 @@
- $(am__aclocal_m4_deps):
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)/.libGL" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
-- echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
-- $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
-- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
-- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
-+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)/.libGL'"; \
-+ $(MKDIR_P) "$(DESTDIR)$(libdir)/.libGL" || exit 1; \
-+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)/.libGL'"; \
-+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)/.libGL"; \
- }
-
- uninstall-libLTLIBRARIES:
-@@ -1068,8 +1068,14 @@
- # a while by putting a link to the driver into /lib of the build tree.
- all-local: lib@GL_LIB@.la
- $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
-- ln -f .libs/lib@GL_LIB@.so.1.2.0 $(top_builddir)/$(LIB_DIR)/lib@GL_LIB@.so.1
-- ln -sf lib@GL_LIB@.so.1 $(top_builddir)/$(LIB_DIR)/lib@GL_LIB@.so
-+ base=$(basename $<); \
-+ dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \
-+ ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \
-+ ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \
-+ if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \
-+ ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \
-+ fi; \
-+ ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so
-
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/graphics/libGL/files/patch-src_mapi_es2api_Makefile.in b/graphics/libGL/files/patch-src_mapi_es2api_Makefile.in
deleted file mode 100644
index 1e3229ef40cc..000000000000
--- a/graphics/libGL/files/patch-src_mapi_es2api_Makefile.in
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/mapi/es2api/Makefile.in.orig 2013-08-01 23:22:21.000000000 +0200
-+++ src/mapi/es2api/Makefile.in 2013-09-01 11:38:01.000000000 +0200
-@@ -958,9 +958,14 @@
- # a while by putting a link to the driver into /lib of the build tree.
- all-local: libGLESv2.la
- $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
-- ln -f .libs/libGLESv2.so $(top_builddir)/$(LIB_DIR)/libGLESv2.so
-- ln -f .libs/libGLESv2.so.2 $(top_builddir)/$(LIB_DIR)/libGLESv2.so.2
-- ln -f .libs/libGLESv2.so.2.0.0 $(top_builddir)/$(LIB_DIR)/libGLESv2.so.2.0.0
-+ base=$(basename $<); \
-+ dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \
-+ ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \
-+ ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \
-+ if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \
-+ ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \
-+ fi; \
-+ ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so
-
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/graphics/libGL/files/patch-src_mapi_shared-glapi_Makefile.in b/graphics/libGL/files/patch-src_mapi_shared-glapi_Makefile.in
deleted file mode 100644
index a82a748e7b10..000000000000
--- a/graphics/libGL/files/patch-src_mapi_shared-glapi_Makefile.in
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/mapi/shared-glapi/Makefile.in.orig 2013-06-27 00:42:45.000000000 +0200
-+++ src/mapi/shared-glapi/Makefile.in 2013-06-27 00:43:25.000000000 +0200
-@@ -889,9 +889,14 @@
-
- all-local: libglapi.la
- $(MKDIR_P) $(top_builddir)/$(LIB_DIR)
-- ln -f .libs/libglapi.so.0.0.0 $(top_builddir)/$(LIB_DIR)/libglapi.so.0.0.0
-- ln -sf libglapi.so.0.0.0 $(top_builddir)/$(LIB_DIR)/libglapi.so.0
-- ln -sf libglapi.so.0 $(top_builddir)/$(LIB_DIR)/libglapi.so
-+ base=$(basename $<); \
-+ dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \
-+ ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \
-+ ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \
-+ if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \
-+ ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \
-+ fi; \
-+ ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so
-
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/graphics/libGL/files/patch-src_mesa_libdricore_Makefile.in b/graphics/libGL/files/patch-src_mesa_libdricore_Makefile.in
deleted file mode 100644
index 15b35d1b3eea..000000000000
--- a/graphics/libGL/files/patch-src_mesa_libdricore_Makefile.in
+++ /dev/null
@@ -1,19 +0,0 @@
---- src/mesa/libdricore/Makefile.in.orig 2013-06-27 00:21:26.000000000 +0200
-+++ src/mesa/libdricore/Makefile.in 2013-06-27 00:28:29.000000000 +0200
-@@ -3950,8 +4000,14 @@
- # a while by putting a link to the driver into /lib of the build tree.
- @HAVE_DRI_TRUE@all-local: libdricore@VERSION@.la
- @HAVE_DRI_TRUE@ $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
--@HAVE_DRI_TRUE@ ln -f .libs/libdricore@VERSION@.so.1.0.0 $(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so.1;
--@HAVE_DRI_TRUE@ ln -sf libdricore@VERSION@.so.1 $(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so
-+@HAVE_DRI_TRUE@ base=$(basename $<); \
-+@HAVE_DRI_TRUE@ dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \
-+@HAVE_DRI_TRUE@ ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \
-+@HAVE_DRI_TRUE@ ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \
-+@HAVE_DRI_TRUE@ if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \
-+@HAVE_DRI_TRUE@ ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \
-+@HAVE_DRI_TRUE@ fi; \
-+@HAVE_DRI_TRUE@ ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so
-
- -include $(DEPENDS)
-
diff --git a/graphics/libGL/pkg-plist b/graphics/libGL/pkg-plist
index e12392678a75..9cdb2a817f8b 100644
--- a/graphics/libGL/pkg-plist
+++ b/graphics/libGL/pkg-plist
@@ -17,6 +17,7 @@ include/GL/wmesa.h
%%NEW%%lib/.libGL/libGL.la
lib/.libGL/libGL.so
lib/.libGL/libGL.so.1
+%%NEW%%lib/.libGL/libGL.so.1.2.0
libdata/pkgconfig/gl.pc
@dirrm lib/.libGL
@dirrmtry include/GL
diff --git a/graphics/libglapi/Makefile b/graphics/libglapi/Makefile
new file mode 100644
index 000000000000..7a0925ad1718
--- /dev/null
+++ b/graphics/libglapi/Makefile
@@ -0,0 +1,30 @@
+# Created by: kwm@FreeBSD.org
+# $FreeBSD$
+
+PORTNAME= libglapi
+PORTVERSION= ${MESAVERSION}
+CATEGORIES= graphics
+
+COMMENT= Common GL api libary used by Mesa based ports.
+
+BUILD_DEPENDS= expat>=0:${PORTSDIR}/textproc/expat2 \
+ libdrm>=0:${PORTSDIR}/graphics/libdrm \
+ libpthread-stubs>=0:${PORTSDIR}/devel/libpthread-stubs
+
+USE_XORG= x11 xau xcb xdmcp
+
+# stuff not needed by libglapi but configure wants it
+USE_XORG+= glproto dri2proto dri3proto xext xdamage xfixes presentproto \
+ xshmfence
+
+BUILD_WRKSRC= ${WRKSRC}/src/mapi/shared-glapi
+INSTALL_WRKSRC= ${WRKSRC}/src/mapi/shared-glapi
+
+.include <bsd.port.options.mk>
+
+.if ! defined(WITH_NEW_XORG)
+IGNORE= Please enable WITH_NEW_XORG, libglapi needs libdrm higher then 2.4.24
+.endif
+
+.include "${.CURDIR}/../../graphics/libGL/bsd.mesalib.mk"
+.include <bsd.port.mk>
diff --git a/graphics/libglapi/pkg-descr b/graphics/libglapi/pkg-descr
new file mode 100644
index 000000000000..a7fd4a9c80cc
--- /dev/null
+++ b/graphics/libglapi/pkg-descr
@@ -0,0 +1,3 @@
+This package contains the share GL API library.
+
+WWW: http://www.freedesktop.org/Software/xorg
diff --git a/graphics/libglapi/pkg-plist b/graphics/libglapi/pkg-plist
new file mode 100644
index 000000000000..184b8a40f2c0
--- /dev/null
+++ b/graphics/libglapi/pkg-plist
@@ -0,0 +1,4 @@
+lib/libglapi.la
+lib/libglapi.so
+lib/libglapi.so.0
+lib/libglapi.so.0.0.0
diff --git a/graphics/libglesv2/Makefile b/graphics/libglesv2/Makefile
index 01c5bfb726c1..96d45e0ae260 100644
--- a/graphics/libglesv2/Makefile
+++ b/graphics/libglesv2/Makefile
@@ -3,12 +3,14 @@
PORTNAME= libglesv2
PORTVERSION= ${MESAVERSION}
+PORTREVISION= 1
CATEGORIES= graphics
COMMENT= OpenGL ES v2 library
+BUILD_DEPENDS= expat>=0:${PORTSDIR}/textproc/expat2
LIB_DEPENDS+= libdrm.so:${PORTSDIR}/graphics/libdrm \
- libexpat.so:${PORTSDIR}/textproc/expat2
+ libglapi.so:${PORTSDIR}/graphics/libglapi
.include <bsd.port.options.mk>
diff --git a/graphics/libglesv2/pkg-plist b/graphics/libglesv2/pkg-plist
index 83fc602af5b3..45c4e97a929e 100644
--- a/graphics/libglesv2/pkg-plist
+++ b/graphics/libglesv2/pkg-plist
@@ -7,6 +7,7 @@ include/GLES3/gl3platform.h
lib/libGLESv2.la
lib/libGLESv2.so
lib/libGLESv2.so.2
+lib/libGLESv2.so.2.0.0
libdata/pkgconfig/glesv2.pc
@dirrmtry include/GLES3
@dirrmtry include/GLES2