- Fix Build

PR:		162577
Submitted by:	maintainer
This commit is contained in:
Martin Wilke 2012-01-29 13:11:51 +00:00
parent aa704fd45d
commit 7cfbbef47d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=290020
3 changed files with 97 additions and 10 deletions

View file

@ -7,7 +7,7 @@
PORTNAME= caml
PORTVERSION= 0.75
PORTREVISION= 3
PORTREVISION= 4
CATEGORIES= lang elisp
MASTER_SITES= http://caml.inria.fr/pub/distrib/caml-light-0.75/ \
ftp://arcadia.informatik.uni-muenchen.de/pub/comp/programming/languages/functional/caml-light/

View file

@ -1,13 +1,19 @@
--- src/launch/Makefile.orig Wed Feb 22 15:03:26 1995
+++ src/launch/Makefile Sun Aug 6 11:58:56 2006
@@ -17,16 +17,17 @@
chmod a+x /tmp/testscr
sh -c 'if sh -c /tmp/testscr 2>/dev/null; \
then echo "#!$(BINDIR)/camlrun" > $(LIBDIR)/header; \
--- src/launch/Makefile.orig 1995-02-22 10:33:26.000000000 +0100
+++ src/launch/Makefile 2011-11-12 10:26:48.000000000 +0100
@@ -11,22 +11,15 @@
# have write permission in the current directory if NFS-mounted...
install:
- (echo "#!$(BINDIR)/camlrun"; \
- echo "exit 2"; \
- cat testprog) > /tmp/testscr
- chmod a+x /tmp/testscr
- sh -c 'if sh -c /tmp/testscr 2>/dev/null; \
- then echo "#!$(BINDIR)/camlrun" > $(LIBDIR)/header; \
- else cp camlexec $(LIBDIR)/header; \
+ else ${BSD_INSTALL_SCRIPT} camlexec $(LIBDIR)/header; \
fi'
rm -f /tmp/testscr
- fi'
- rm -f /tmp/testscr
+ echo "#!$(BINDIR)/camlrun" > $(LIBDIR)/header
for script in camlc camllight camlmktop; do \
- cp $$script $(BINDIR)/$$script; \
+ ${BSD_INSTALL_SCRIPT} $$script $(BINDIR)/$$script; \

View file

@ -0,0 +1,81 @@
--- src/yacc/main.c.orig 1995-06-07 15:34:32.000000000 +0200
+++ src/yacc/main.c 2011-11-12 10:09:52.000000000 +0100
@@ -1,4 +1,5 @@
#include <signal.h>
+#include <stdlib.h> /* for mkstemp(), getenv() */
#include "defs.h"
char dflag;
@@ -31,6 +32,11 @@
char *union_file_name;
char *verbose_file_name;
+static int action_fd = -1;
+static int entry_fd = -1;
+static int text_fd = -1;
+static int union_fd = -1;
+
FILE *action_file; /* a temp file, used to save actions associated */
/* with rules until the parser is written */
FILE *entry_file;
@@ -72,7 +78,6 @@
extern char *mktemp();
extern char *getenv();
-
done(k)
int k;
{
@@ -276,11 +281,20 @@
union_file_name[len + 5] = 'u';
#ifndef NO_UNIX
- mktemp(action_file_name);
- mktemp(entry_file_name);
- mktemp(text_file_name);
- mktemp(union_file_name);
+ action_fd = mkstemp(action_file_name);
+ entry_fd = mkstemp(entry_file_name);
+ text_fd = mkstemp(text_file_name);
+ union_fd = mkstemp(union_file_name);
#endif
+ if (action_fd < 0)
+ open_error(action_file_name);
+ if (entry_fd < 0)
+ open_error(entry_file_name);
+ if (text_fd < 0)
+ open_error(text_file_name);
+ if (union_fd < 0)
+ open_error(union_file_name);
+
len = strlen(file_prefix);
@@ -321,15 +335,15 @@
open_error(input_file_name);
}
- action_file = fopen(action_file_name, "w");
+ action_file = fdopen(action_fd, "w");
if (action_file == 0)
open_error(action_file_name);
- entry_file = fopen(entry_file_name, "w");
+ entry_file = fdopen(entry_fd, "w");
if (entry_file == 0)
open_error(entry_file_name);
- text_file = fopen(text_file_name, "w");
+ text_file = fdopen(text_fd, "w");
if (text_file == 0)
open_error(text_file_name);
@@ -345,7 +359,7 @@
defines_file = fopen(defines_file_name, "w");
if (defines_file == 0)
open_error(defines_file_name);
- union_file = fopen(union_file_name, "w");
+ union_file = fdopen(union_fd, "w");
if (union_file == 0)
open_error(union_file_name);
}