--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/gnomad2-02-2.9.0_p2_mkdtemp.diff Mon Dec 31 11:17:55 2007 +0000
@@ -0,0 +1,81 @@
+--- gnomad2-2.9.0-orig/src/Makefile.am 2007-08-23 10:25:11.000000000 +0000
++++ gnomad2-2.9.0/src/Makefile.am 2007-12-30 10:59:06.085251005 +0000
+@@ -33,7 +33,7 @@
+ data.c data.h player.c player.h common.h \
+ metadata.c metadata.h \
+ wmaread.c wmaread.h \
+- wavfile.c wavfile.h
++ wavfile.c wavfile.h mkdtemp.c
+
+ if TAGLIB_COMPILE
+ gnomad2_SOURCES += tagfile.c tagfile.h
+--- /dev/null 2007-12-30 11:06:24.000000000 +0000
++++ gnomad2-2.9.0/src/mkdtemp.c 2007-12-30 11:06:24.680745636 +0000
+@@ -0,0 +1,67 @@
++/*
++ * CDDL HEADER START
++ *
++ * The contents of this file are subject to the terms of the
++ * Common Development and Distribution License (the "License").
++ * You may not use this file except in compliance with the License.
++ *
++ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
++ * or http://www.opensolaris.org/os/licensing.
++ * See the License for the specific language governing permissions
++ * and limitations under the License.
++ *
++ * When distributing Covered Code, include this CDDL HEADER in each
++ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
++ * If applicable, add the following below this CDDL HEADER, with the
++ * fields enclosed by brackets "[]" replaced with your own identifying
++ * information: Portions Copyright [yyyy] [name of copyright owner]
++ *
++ * CDDL HEADER END
++ */
++
++/*
++ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
++ * Use is subject to license terms.
++ */
++
++#pragma ident "%Z%%M% %I% %E% SMI"
++
++/*
++ * mkdtemp(3C) - create a directory with a unique name.
++ */
++
++/* #pragma weak mkdtemp = _mkdtemp */
++
++/* #include "synonyms.h" */
++
++#include <alloca.h>
++#include <errno.h>
++#include <stdlib.h>
++#include <string.h>
++#include <sys/stat.h>
++
++char *
++mkdtemp(char *template)
++{
++ char *t = alloca(strlen(template) + 1);
++ char *r;
++
++ /* Save template */
++ (void) strcpy(t, template);
++ for (; ; ) {
++ r = mktemp(template);
++
++ if (*r == '\0')
++ return (NULL);
++
++ if (mkdir(template, 0700) == 0)
++ return (r);
++
++ /* Other errors indicate persistent conditions. */
++ if (errno != EEXIST)
++ return (NULL);
++
++ /* Reset template */
++ (void) strcpy(template, t);
++ }
++}