Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Oct 2020 11:20:26 +0000 (UTC)
From:      Matthias Andree <mandree@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r553182 - in head/net/unison232: . files
Message-ID:  <202010241120.09OBKQRd007074@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mandree
Date: Sat Oct 24 11:20:25 2020
New Revision: 553182
URL: https://svnweb.freebsd.org/changeset/ports/553182

Log:
  Backport upstream fix for OCaml 4 to avoid SIGSEGV
  
  Unison 2.32.x consistently crashes on startup after reading its configuration
  file with a SIGSEGV and does not serve its purpose at all.
  
  Pull in upstream fix from
  https://github.com/bcpierce00/unison/commit/891c081690ae4605c9bf818ee89fbdf2416b3dd7#diff-4117bab3eb479a1766c95c36bb61dd35c817a76e57f9c4c9a430948f504453de
  
  Suggested by madpilot@ in https://reviews.freebsd.org/D26924#600631
  
  While here, run the selftest as part of the build to catch such issues
  in the future and receive pkg-fallout@ mail.
  
  While here, also remove MAKE_JOBS_UNSAFE.
  
  Bump PORTREVISION to trigger a rebuild and flush out the broken packages.
  
  (The absence of bug reports however suggests that unison 2.32 is no longer
  used or needed widely.)
  
  Obtained from:	Benjamin Pierce's upstream repo (madpilot@)
  MFH:		2020Q4 (blanket, unbreak program, single patch)

Added:
  head/net/unison232/files/patch-ubase_util.ml   (contents, props changed)
Modified:
  head/net/unison232/Makefile

Modified: head/net/unison232/Makefile
==============================================================================
--- head/net/unison232/Makefile	Sat Oct 24 11:06:30 2020	(r553181)
+++ head/net/unison232/Makefile	Sat Oct 24 11:20:25 2020	(r553182)
@@ -3,10 +3,10 @@
 
 PORTNAME=	unison
 PORTVERSION=	2.32.52
-PORTREVISION=	10
+PORTREVISION=	11
 CATEGORIES=	net
 MASTER_SITES=	https://www.cis.upenn.edu/~bcpierce/unison/download/releases/${DISTNAME}/
-DISTFILES=	${EXTRACT_ONLY} ${EXTRA_DOCS}
+DISTFILES=	${EXTRACT_ONLY} ${_EXTRA_DOCS}
 DIST_SUBDIR=	${DISTNAME}
 EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
@@ -20,29 +20,31 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 FLAVORS=	x11 nox11
 FLAVOR?=	${FLAVORS:[1]}
 
-VERSIONSUFFIX=	232
+USES=		gmake
 
-nox11_PKGNAMESUFFIX=		${VERSIONSUFFIX}-nox11
-nox11_CONFLICTS_INSTALL=	unison${VERSIONSUFFIX}
+_VERSIONSUFFIX=	232
 
-x11_PKGNAMESUFFIX=		${VERSIONSUFFIX}
-x11_CONFLICTS_INSTALL=		unison${VERSIONSUFFIX}-nox11
+nox11_PKGNAMESUFFIX=		${_VERSIONSUFFIX}-nox11
+nox11_CONFLICTS_INSTALL=	unison${_VERSIONSUFFIX}
+
+x11_PKGNAMESUFFIX=		${_VERSIONSUFFIX}
 x11_BUILD_DEPENDS=	lablgtk2:x11-toolkits/ocaml-lablgtk2 \
 			icotool:graphics/icoutils
 x11_LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
 			libfreetype.so:print/freetype2
 x11_RUN_DEPENDS=	lablgtk2:x11-toolkits/ocaml-lablgtk2
+x11_CONFLICTS_INSTALL=		unison${_VERSIONSUFFIX}-nox11
 
 PLIST_SUB=	PORTVERSION=${PORTVERSION}
-USES=		gmake
 USE_OCAML=	yes
 NO_OCAML_RUNDEPENDS=yes
 MAKE_ARGS=	CFLAGS=""
-MAKE_JOBS_UNSAFE=	yes
 
-DOCS=		BUGS.txt NEWS README
+TEST_TARGET=	selftest
+
+_DOCS=		BUGS.txt NEWS README
 DOCSDIR=	${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX}
-EXTRA_DOCS=	${DISTNAME}-manual.html \
+_EXTRA_DOCS=	${DISTNAME}-manual.html \
 		${DISTNAME}-manual.pdf ${DISTNAME}-manual.ps
 
 OPTIONS_DEFINE=		DOCS
@@ -59,29 +61,29 @@ USES+=			gettext-runtime gnome
 PLIST_SUB+=		X11=""
 .endif
 
-.if ${FLAVOR} == x11
 post-patch:
 	@${REINPLACE_CMD} -Ee 's@(\+|/)(lablgtk2)@\1site-lib/\2@' \
 		${WRKSRC}/Makefile.OCaml
 
 post-build:
-	@${ECHO} Building text-only version
-	@${ECHO} ${WRKSRC}
+	( cd ${WRKSRC} && ./unison -selftest -ui text -batch )
+.if ${FLAVOR} == x11
+	@${ECHO} Building text-only version in ${WRKSRC}
 	${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC} CFLAGS="" UISTYLE=text NAME=${PORTNAME}-text
 	@cd ${WRKSRC}/win32rc && ${LOCALBASE}/bin/icotool -x U.ico
 .endif
 
 do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}${VERSIONSUFFIX}
+	${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}${_VERSIONSUFFIX}
 .if ${FLAVOR} == x11
-	${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}-text ${STAGEDIR}${PREFIX}/bin/${PORTNAME}${VERSIONSUFFIX}-text
-	${INSTALL_DATA} ${WRKDIR}/${PORTNAME}.desktop ${STAGEDIR}${DESKTOPDIR}/${PORTNAME}${VERSIONSUFFIX}.desktop
-	${INSTALL_DATA} ${WRKSRC}/win32rc/U_4_48x48x32.png ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}${VERSIONSUFFIX}.png
+	${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}-text ${STAGEDIR}${PREFIX}/bin/${PORTNAME}${_VERSIONSUFFIX}-text
+	${INSTALL_DATA} ${WRKDIR}/${PORTNAME}.desktop ${STAGEDIR}${DESKTOPDIR}/${PORTNAME}${_VERSIONSUFFIX}.desktop
+	${INSTALL_DATA} ${WRKSRC}/win32rc/U_4_48x48x32.png ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}${_VERSIONSUFFIX}.png
 .endif
 
 do-install-DOCS-on:
 	@${MKDIR} ${STAGEDIR}${DOCSDIR}
-	cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR}
-	cd ${DISTDIR}/${DIST_SUBDIR} && ${INSTALL_DATA} ${EXTRA_DOCS} ${STAGEDIR}${DOCSDIR}
+	cd ${WRKSRC} && ${INSTALL_DATA} ${_DOCS} ${STAGEDIR}${DOCSDIR}
+	cd ${DISTDIR}/${DIST_SUBDIR} && ${INSTALL_DATA} ${_EXTRA_DOCS} ${STAGEDIR}${DOCSDIR}
 
 .include <bsd.port.mk>

Added: head/net/unison232/files/patch-ubase_util.ml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/unison232/files/patch-ubase_util.ml	Sat Oct 24 11:20:25 2020	(r553182)
@@ -0,0 +1,11 @@
+--- ubase/util.ml.orig	2009-05-02 02:31:27 UTC
++++ ubase/util.ml
+@@ -71,7 +71,7 @@ let set_infos s =
+   if s <> !infos then begin clear_infos (); infos := s; show_infos () end
+ 
+ let msg f =
+-  clear_infos (); Uprintf.eprintf (fun () -> flush stderr; show_infos ()) f
++  clear_infos (); Printf.kfprintf (fun c -> flush c; show_infos ()) stderr f
+ 
+ let msg : ('a, out_channel, unit) format -> 'a = msg
+ 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202010241120.09OBKQRd007074>