aboutsummaryrefslogtreecommitdiff
path: root/lang/smlnj/files
diff options
context:
space:
mode:
authorKurt Jaeger <pi@FreeBSD.org>2014-10-14 17:50:26 +0000
committerKurt Jaeger <pi@FreeBSD.org>2014-10-14 17:50:26 +0000
commit77d1cc3d79af72fe7d1ef8919ed3a7fdb934a679 (patch)
tree4aebde5f125dc3a61d58d680ee04ff3b04ff9d7b /lang/smlnj/files
parenta50ad016ea9f7f2ac7ff9ffd3f028adbdbf6f092 (diff)
downloadports-77d1cc3d79af72fe7d1ef8919ed3a7fdb934a679.tar.gz
ports-77d1cc3d79af72fe7d1ef8919ed3a7fdb934a679.zip
Notes
Diffstat (limited to 'lang/smlnj/files')
-rw-r--r--lang/smlnj/files/do-patch-base_runtime_include_ml-unixdep.h34
-rw-r--r--lang/smlnj/files/do-patch-base_system_smlnj_installer_generic-install.sml49
2 files changed, 83 insertions, 0 deletions
diff --git a/lang/smlnj/files/do-patch-base_runtime_include_ml-unixdep.h b/lang/smlnj/files/do-patch-base_runtime_include_ml-unixdep.h
new file mode 100644
index 000000000000..6c375a68cf20
--- /dev/null
+++ b/lang/smlnj/files/do-patch-base_runtime_include_ml-unixdep.h
@@ -0,0 +1,34 @@
+--- base/runtime/include/ml-unixdep.h.orig 2014-08-17 21:09:56.000000000 +0200
++++ base/runtime/include/ml-unixdep.h 2014-08-23 22:24:36.475122070 +0200
+@@ -33,6 +33,7 @@
+ * HAS_UCONTEXT if signal handlers have a ucontext_t argument.
+ * HAS_STRERROR if the system provides the ISO C strerror function.
+ * INT_GIDLIST if the second argument to getgroups is int[].
++ * HAS_MKSTEMP if OS provides the POSIX mkstemp function.
+ *
+ * Note that only one of the following sets of symbols should be defined:
+ * { HAS_MMAP, HAS_ANON_MMAP, HAS_VM_ALLOCATE }
+@@ -295,6 +296,7 @@
+ # define HAS_ILOGB
+ # define HAS_SIGCONTEXT
+ # define HAS_STRERROR
++# define HAS_MKSTEMP
+
+ /* FreeBSD uses MAP_ANON for MAP_ANONYMOUS */
+ # define MAP_ANONYMOUS MAP_ANON
+@@ -377,6 +379,15 @@
+ # define __EXTENSIONS__
+ #endif
+
++#if defined(OPSYS_FREEBSD)
++# if defined(INCLUDE_FREEBSD_I386__TYPES)
++# include <sys/cdefs.h>
++# include INCLUDE_FREEBSD_I386__TYPES
++# endif
++# if defined(INCLUDE_FREEBSD_I386_SIGNAL)
++# include INCLUDE_FREEBSD_I386_SIGNAL
++# endif
++#endif
+ #include INCLUDE_TYPES_H
+ #include <unistd.h>
+ #include <string.h>
diff --git a/lang/smlnj/files/do-patch-base_system_smlnj_installer_generic-install.sml b/lang/smlnj/files/do-patch-base_system_smlnj_installer_generic-install.sml
new file mode 100644
index 000000000000..ed61a6326929
--- /dev/null
+++ b/lang/smlnj/files/do-patch-base_system_smlnj_installer_generic-install.sml
@@ -0,0 +1,49 @@
+--- base/system/smlnj/installer/generic-install.sml.orig 2014-08-23 04:18:09.000000000 +0200
++++ base/system/smlnj/installer/generic-install.sml 2014-08-28 21:51:06.000000000 +0200
+@@ -233,28 +233,26 @@
+ (* ------------------------------ *)
+
+ (* parse the targets file *)
+- fun loop (ml, srcReqs, allsrc) =
++ fun loop (ml, allsrc) =
+ case getInputTokens s of
+- NONE => (TextIO.closeIn s; (ml, srcReqs, allsrc))
++ NONE => (TextIO.closeIn s; (ml, allsrc))
+ | SOME [x as ("dont_move_libraries" | "move_libraries")] =>
+ (warn ["\"", x, "\" no longer supported",
+ " (installer always moves libraries)\n"];
+- loop (ml, srcReqs, allsrc))
+- | SOME ["request", "src-smlnj"] => loop (ml, srcReqs, true)
+- | SOME ["request", module] => if SS.member(allmoduleset, module)
+- then loop (ml, module :: srcReqs, allsrc)
+- else loop (module :: ml, srcReqs, allsrc)
+- | SOME [] => loop (ml, srcReqs, allsrc)
++ loop (ml, allsrc))
++ | SOME ["request", "src-smlnj"] => loop (ml, true)
++ | SOME ["request", module] => loop (module :: ml, allsrc)
++ | SOME [] => loop (ml, allsrc)
+ | SOME l => fail ["ill-formed targets line: ", tokenLine l, "\n"]
+
+- val (modules, srcReqs, allsrc) = loop ([], [], false)
++ val (modules, allsrc) = loop ([], false)
+
+ (* now resolve dependencies; get full list of modules
+ * in correct build order: *)
+ val modules = resolve (modules, depfile)
+ val moduleset = SS.addList (SS.empty, modules)
+ val srcmoduleset = if allsrc then SS.union (moduleset, allmoduleset)
+- else SS.addList (moduleset, srcReqs)
++ else moduleset
+
+ (* fetch and unpack source trees, using auxiliary helper command
+ * which takes the root directory as its first and the module
+@@ -386,7 +384,8 @@
+ salist := (fn () => standalone args) :: (!salist)
+ in case SM.find (actions, module) of
+ SOME al => app perform (rev al)
+- | NONE => fail ["unknown module: ", module, "\n"]
++ | NONE => if SS.member(allmoduleset, module) then ()
++ else fail ["unknown module: ", module, "\n"]
+ end
+ in
+ (command_pathconfig "bindir"; (* dummy -- for CM make tool *)