diff --git a/graphics-libs/mesa/CONFIGURE b/graphics-libs/mesa/CONFIGURE
index 8f27c41..8532cc5 100755
--- a/graphics-libs/mesa/CONFIGURE
+++ b/graphics-libs/mesa/CONFIGURE
@@ -46,6 +46,8 @@ if list_find "$MESA_GLX" dri;then
fi &&
# Gallium support
+message "${MESSAGE_COLOR}If you want to enable VDPAU you have to select at
least one of the r300, r600,$DEFAULT_COLOR" &&
+message "${MESSAGE_COLOR}radeonsi or nouveau gallium
drivers:${DEFAULT_COLOR}" &&
config_query_multi MESA_GALLIUM \
"which gallium (accellerated) drivers" \
none all $AVAILABLE_GALLIUM &&
diff --git a/graphics-libs/mesa/HISTORY b/graphics-libs/mesa/HISTORY
index 9951703..17394cf 100644
--- a/graphics-libs/mesa/HISTORY
+++ b/graphics-libs/mesa/HISTORY
@@ -1,3 +1,6 @@
+2020-07-11 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * CONFIGURE: add hint regarding the vdpau state tracker
+
2020-07-09 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: version 20.1.3
+patch -p1 < "$SPELL_DIRECTORY/argyllcms-2.1.2-fno-common.patch" &&
+
echo "LINKFLAGS += ${LDFLAGS} ;" >> Jamtop &&
echo "STDLIBS += -ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau
-lXdmcp -lXss -ltiff -ljpeg ;" >> Jamtop &&
sed \
diff --git a/graphics/argyllcms/argyllcms-2.1.2-fno-common.patch
b/graphics/argyllcms/argyllcms-2.1.2-fno-common.patch
new file mode 100644
index 0000000..36bf87d
--- /dev/null
+++ b/graphics/argyllcms/argyllcms-2.1.2-fno-common.patch
@@ -0,0 +1,134 @@
+argyllcms: Fix compilation with GCC 10
+
+A common mistake in C is omitting extern when declaring a global variable
+in a header file. If the header is included by several files it results
+in multiple definitions of the same variable. In previous GCC versions
+this error is ignored. GCC 10 defaults to -fno-common, which means a
+linker error will now be reported. To fix this, use extern in header
+files when declaring global variables, and ensure each global is defined
+in exactly one C file. As a workaround, legacy C code can be compiled
+with -fcommon.
+
+ int x; // tentative definition - avoid in header files
+ extern int y; // correct declaration in a header file
+
+References:
+https://bugzilla.opensuse.org/show_bug.cgi?id=1160244
+https://bugzilla.opensuse.org/show_bug.cgi?id=1160256
+
+In case of vinflate.c and inflate.c, both files define local variables
+with the same name as global. It is no more possible with GCC 10. To
+prevent sharing variables across files, add "static" to all local
+variables.
+
+Index: Argyll_V2.1.2/gamut/gamut.h
+===================================================================
+--- Argyll_V2.1.2.orig/gamut/gamut.h
++++ Argyll_V2.1.2/gamut/gamut.h
+@@ -36,7 +36,7 @@
+ #define MAXGAMN 10 /* Maximum gamut point
neighbors returned */
+ #define NSLOTS 6 /* Number of maximum
direction slots */
+
+-struct _vrml *wrl; /* Declared in vrml.h, which
may be #included after this */
++struct _vrml; /* Declared in vrml.h, which
may be #included after this */
+
+ /* ------------------------------------ */
+ #define NODE_STRUCT \
+Index: Argyll_V2.1.2/spectro/vinflate.c
+===================================================================
+--- Argyll_V2.1.2.orig/spectro/vinflate.c
++++ Argyll_V2.1.2/spectro/vinflate.c
+@@ -92,7 +92,7 @@ int vinflate(void);
+ */
+
+ #define WSIZE 0x8000
+-unsigned int wp; /* current position in slide */
++static unsigned int wp; /* current position in slide */
+ uch slide[32768];
+
+ static int vflush_output(unsigned int w) {
+@@ -160,8 +160,8 @@ static ush cpdext[] = { /* Extra
+ the stream.
+ */
+
+-ulg bb; /* bit buffer */
+-unsigned bk; /* bits in bit buffer */
++static ulg bb; /* bit buffer */
++static unsigned bk; /* bits in bit buffer */
+
+ ush vmask_bits[] = {
+ 0x0000,
+@@ -230,8 +230,8 @@ ush vmask_bits[] = {
+ */
+
+
+-int vlbits = 9; /* bits in base literal/length lookup table */
+-int vdbits = 6; /* bits in base distance lookup table */
++static int vlbits = 9; /* bits in base literal/length lookup table
*/
++static int vdbits = 6; /* bits in base distance lookup table */
+
+
+ /* If BMAX needs to be larger than 16, then h and x[] should be ulg. */
+@@ -239,7 +239,7 @@ int vdbits = 6; /* bits in base
+ #define N_MAX 288 /* maximum number of codes in any set */
+
+
+-unsigned hufts; /* track memory usage */
++static unsigned hufts; /* track memory usage */
+
+ /* Given a list of code lengths and a maximum table size, make a set of
+ tables to decode that set of codes. Return zero on success, one if
+Index: Argyll_V2.1.2/spectro/inflate.c
+===================================================================
+--- Argyll_V2.1.2.orig/spectro/inflate.c
++++ Argyll_V2.1.2/spectro/inflate.c
+@@ -49,7 +49,7 @@ typedef unsigned int ulg;
+ the next table, which codes e - 16 bits, and lastly e == 99 indicates
+ an unused code. If a code with e == 99 is looked up, this implies an
+ error in the data. */
+-struct huft {
++static struct huft {
+ uch e; /* number of extra bits or operation */
+ uch b; /* number of bits in this code or subcode */
+ union {
+@@ -87,7 +87,7 @@ int inflate(void);
+ /* unsigned wp; current position in slide */
+
+ #define WSIZE 0x8000
+-unsigned int wp; /* current position in slide */
++static unsigned int wp; /* current position in slide */
+ uch slide[32768];
+
+ static int flush_output(unsigned int w) {
+@@ -155,8 +155,8 @@ static ush cpdext[] = { /* Extra
+ the stream.
+ */
+
+-ulg bb; /* bit buffer */
+-unsigned bk; /* bits in bit buffer */
++static ulg bb; /* bit buffer */
++static unsigned bk; /* bits in bit buffer */
+
+ ush mask_bits[] = {
+ 0x0000,
+@@ -201,8 +201,8 @@ ush mask_bits[] = {
+ */
+
+
+-int lbits = 9; /* bits in base literal/length lookup table */
+-int dbits = 6; /* bits in base distance lookup table */
++static int lbits = 9; /* bits in base literal/length lookup table
*/
++static int dbits = 6; /* bits in base distance lookup table */
+
+
+ /* If BMAX needs to be larger than 16, then h and x[] should be ulg. */
+@@ -210,7 +210,7 @@ int dbits = 6; /* bits in base
+ #define N_MAX 288 /* maximum number of codes in any set */
+
+
+-unsigned hufts; /* track memory usage */
++static unsigned hufts; /* track memory usage */
+
+
+ static int huft_build(b, n, s, d, e, t, m)
+
diff --git a/libs/tbb/DETAILS b/libs/tbb/DETAILS
index 7b7f0f2..2ed700a 100755
--- a/libs/tbb/DETAILS
+++ b/libs/tbb/DETAILS
@@ -1,6 +1,6 @@
SPELL=tbb
- VERSION=2020.2
-
SOURCE_HASH=sha512:b9a5d0e814ebd2e69690585bcfb5a545c06f030e193154bef161ac59066044109f8a0305a9ba535c447739da3380c351067db19c38de4bf96ec742b044f39885
+ VERSION=2020.3
+
SOURCE_HASH=sha512:ea1ffd22c7234d715b8c46a4e51b40719c7a9b8837ab3166f1da5a2c6061167c2be2126b1d74fd361eec6975b8fce0df26829ca2e7af8029edbb52e40f23d630
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/oneTBB-${VERSION}
WEB_SITE=https://www.threadingbuildingblocks.org
diff --git a/libs/tbb/HISTORY b/libs/tbb/HISTORY
index 9ec9e0a..f206856 100644
--- a/libs/tbb/HISTORY
+++ b/libs/tbb/HISTORY
@@ -1,3 +1,6 @@
+2020-07-11 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS: version 2020.3
+
2020-04-05 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
* DETAILS: version 2020.2