ports/147278: [patch] lang/mlton: make it build again
Vitaly Magerya
vmagerya at gmail.com
Tue Jun 1 12:20:03 UTC 2010
>Number: 147278
>Category: ports
>Synopsis: [patch] lang/mlton: make it build again
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Jun 01 12:20:02 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Vitaly Magerya
>Release: FreeBSD 8.0-RELEASE i386
>Organization:
>Environment:
>Description:
For a long time now lang/mlton failed to build, and is already marked
as BROKEN, DEPRECATED and EXPIRED.
This happens because the precompiled mlton distribution used for
bootstrapping (mlton-20070826-1.i386-freebsd.tbz) is linked against
libgmp.so.7, while current math/gmp installs libgmp.so.10.
There is also a problem with NOPORTDOCS: when it's defined, the port
does not try to install docs, but still tries to build them.
Finally, the last master site has relocated and needs updating.
>How-To-Repeat:
>Fix:
The attached patch:
1. Updates the last master site.
2. Sets LD_LIBMAP to redirect libgmp.so.7 to libgmp.so.10.
3. Changes ALL_TARGET when running with NOPORTDOCS to prevent docs
building.
4. Replaces the non-existant devel/mingw32-libgmp4 dependency with
math/mingw32-libgmp4.
I only tested with NOPORTDOCS, as the build already takes a lot of time.
I hope the committer has more patience than I have.
I did not test SMLNJ and MINGW32 options.
Patch attached with submission follows:
diff -ruN mlton.orig/Makefile mlton/Makefile
--- mlton.orig/Makefile 2010-06-01 14:31:55.000000000 +0000
+++ mlton/Makefile 2010-06-01 15:16:45.000000000 +0000
@@ -16,7 +16,7 @@
CATEGORIES= lang
MASTER_SITES= http://mlton.org/pages/Download/attachments/ \
http://mlton.org/pages/Experimental/attachments/ \
- http://www.cse.unsw.edu.au/~tbourke/distfiles/
+ http://www.tbrk.org/distfiles/
DISTFILES= ${BOOT_DIST} ${SRC_DIST}
EXTRACT_ONLY= ${SRC_DIST}
@@ -28,10 +28,6 @@
RUN_DEPENDS= bash:${PORTSDIR}/shells/bash
BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash
-BROKEN= does not build
-DEPRECATED= has been broken for 5 months
-EXPIRATION_DATE=2010-01-08
-
OPTIONS= SMLNJ "Bootstrap with SML/NJ (can take >15 hours)" off \
MINGW32 "Add the mingw32 target (requires wine)" off
@@ -41,6 +37,9 @@
BUILD_DEPENDS+= gsed:${PORTSDIR}/textproc/gsed \
htmldoc:${PORTSDIR}/textproc/htmldoc \
latex:${PORTSDIR}/print/teTeX
+.else
+INSTALL_TARGET= install-no-docs
+ALL_TARGET= all-no-docs
.endif
SRC_DIST= ${DISTNAME}-1.src.tgz
@@ -49,17 +48,22 @@
BUILD_DEPENDS+= smlnj-devel>=110.65:${PORTSDIR}/lang/sml-nj-devel
BOOT_DIST=
MAKE_ENV+= SMLNJ_DEVEL=yes
+.if defined(NOPORTDOCS)
+ALL_TARGET= nj-mlton all-no-docs
+.else
ALL_TARGET= bootstrap-nj
+.endif
.else
BOOT_DIST= ${PORTNAME}-${BOOT_VER}-1.${MACHINE_ARCH}-freebsd${OSRELMAJ}.${BOOT_SUF}
+MAKE_ENV+= LD_LIBMAP=libgmp.so.7=libgmp.so.10
.endif
.if defined(WITH_MINGW32)
BUILD_DEPENDS+= wine:${PORTSDIR}/emulators/wine \
mingw32-gcc:${PORTSDIR}/devel/mingw32-gcc \
- ${LOCALBASE}/mingw32/lib/libgmp.a:${PORTSDIR}/devel/mingw32-libgmp4
+ ${LOCALBASE}/mingw32/lib/libgmp.a:${PORTSDIR}/math/mingw32-libgmp4
RUN_DEPENDS+= mingw32-gcc:${PORTSDIR}/devel/mingw32-gcc \
- ${LOCALBASE}/mingw32/lib/libgmp.a:${PORTSDIR}/devel/mingw32-libgmp4
+ ${LOCALBASE}/mingw32/lib/libgmp.a:${PORTSDIR}/math/mingw32-libgmp4
PLIST_SUB+= MINGW32CROSS=""
.else
@@ -78,10 +82,6 @@
PATH=${WRKSRC}/build/bin:${BOOT_WRKSRC}/bin:${PATH} \
PREFIX=${PREFIX}
-.if defined(NOPORTDOCS)
-INSTALL_TARGET= install-no-docs
-.endif
-
.if ${ARCH} == "i386"
MLTON_ARCH= "x86"
.endif
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list