freebsd-ports/net/unison248/Makefile
Benjamin Jacobs 8025aa10ce lang/ocaml: Update to 4.14.1
The 'force-safe-string; setting is NOT enabled, as opposed to the
new upstream default. OCaml users are encouraged to migrate to safe
strings as soon as possible.

- The X11 library isn't part of lang/ocaml anymore, users should
install x11-toolkits/ocaml-graphics.
- Add new 'ocaml' USES
- Bump PORTREVISION on dependent ports, due to ABI Change.

The update includes the following updates to existing ports (needed
to keep them working):

- devel/ocaml-camlp4: Updated to 4.14+1
- devel/ocaml-camlp5: Updated to 8.02.01, homepage updated
- devel/ocaml-dune: Patch to allow overriding the stublibs directory,
  strip binary and shared libraries
- devel/ocaml-findlib: Improve port
- devel/ocaml-lwt: Fix build with OCaml 4.14
- deve/ocaml-re: Update to 1.11.0, use new dune USES
- devel/ocaml-sdl: Fix build with new ocaml
- games/freetennis: Fix build, tidy Makefile
- graphics/ocaml-images: Updated to 5.0.4, new homepage, use new
  dune USES, undeprecate
- graphics/ocaml-lablgl: Moved into site-lib, dynamic objects
  stripped, add missing GL dependencies
- math/coq: Updated to 8.19.0
- math/ocaml-zarith: strip shared libraries, fixed usage of
  USE_OCAML_LDCONFIG, use new dune USES
- math/teyjus: Fix build
- net/unison240: Fix build with new compiler
- net/unison248: Fix build with new compiler, add MAKE_JOBS_UNSAFE
- net-p2p/mldonkey: Fix build with new compiler, fix build on i386
- sysutils/ledit: Updated to 2.06, install native binary, Use github,
  fix man page installation
- www/geneweb: Build fix for OCaml and Camlp5 updates
- x11-toolkits/ocaml-lablgtk2: Fix build with new compiler
- x11-toolkits/ocaml-lablgtk3: Updated to 3.1.4, added ocaml-camlp-stream
  dependency, build fix patch
- x11-toolkits/ocaml-labltk: Updated to 8.06.12, Improve Makefile

Added the following ports:

- devel/ocaml-astring
- devel/ocaml-base
- devel/ocaml-bos
- devel/ocaml-camlp-streams
- devel/ocaml-csexp
- devel/ocaml-fmt
- devel/ocaml-fpath
- devel/ocaml-logs
- devel/ocaml-mtime
- devel/ocaml-pcre2
- devel/ocaml-rresult
- devel/ocaml-seq
- devel/ocaml-stdio
- x11-toolkits/ocaml-graphics

PR:                     250408 [1], 262781 [1], 262788 [3], 262789 [1],
			262792 [1], 263006 [1], 263162 [3], 263206 [2],
			276893 [1], 276945 [4], 276953 [1], 277026 [5],
			277241 [1], 277242 [1], 277243 [1], 277244 [1],
			277245 [1], 277246 [1], 277247 [1], 277248 [1],
			277249 [1], 277250 [1], 277251 [1], 277252 [1],
			277253 [1], 277254 [1], 277255 [1], 277256 [4],
			277257 [1], 277258 [1]
Approved by:		maintainer timeout [1],
			yuri (maintainer) [2],
			overcome by events, fixit [3],
			madpilot (maintainer) [4]
Reviewed by:		madpilot
Exp-run by:		antoine [5]
Differential Revision:	https://reviews.freebsd.org/D43861
2024-03-11 22:50:58 +01:00

114 lines
3.4 KiB
Makefile

PORTNAME= unison
PORTVERSION= 2.48.15
PORTREVISION= 5
DISTVERSIONPREFIX= v
DISTVERSIONSUFFIX= v4
CATEGORIES= net
MAINTAINER= madpilot@FreeBSD.org
COMMENT= User-level file synchronization tool
WWW= https://www.cis.upenn.edu/~bcpierce/unison/
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
FLAVORS= x11 nox11
FLAVOR?= ${FLAVORS:[1]}
VERSIONSUFFIX= 248
nox11_PKGNAMESUFFIX= ${VERSIONSUFFIX}-nox11
nox11_CONFLICTS_INSTALL= unison${VERSIONSUFFIX}
x11_PKGNAMESUFFIX= ${VERSIONSUFFIX}
x11_CONFLICTS_INSTALL= unison${VERSIONSUFFIX}-nox11
x11_BUILD_DEPENDS= lablgtk2:x11-toolkits/ocaml-lablgtk2 \
icotool:graphics/icoutils
x11_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2
PLIST_SUB= PORTVERSION=${PORTVERSION} VERSIONSUFFIX=${VERSIONSUFFIX}
USES= gmake localbase
USE_OCAML= yes
WRKSRC_SUBDIR= src
NO_OCAML_RUNDEPENDS=yes
CONFLICTS= unison-devel
MAKE_ENV= CLIBS="${LIBS:S/^-/-ccopt -/}" COFLAGS="${CFLAGS:C/ *(-[^ ]*) */ -ccopt \"\1 \"/gW}"
MAKE_JOBS_UNSAFE= yes
ALL_TARGET= unison all
USE_GITHUB= yes
GH_ACCOUNT= bcpierce00
DOCS= BUGS.txt NEWS README
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX}
OPTIONS_DEFINE= DOCS FSMONITOR
OPTIONS_DEFAULT?= FSMONITOR
FSMONITOR_DESC= Compile and install fsmonitor plugin
OPTIONS_SUB= YES
FSMONITOR_LIB_DEPENDS= libinotify.so:devel/libinotify
.if ${FLAVOR} == nox11
MAKE_ARGS= UISTYLE=text
PKGMESSAGE= ${PKGDIR}/pkg-message.nox11
PLIST_SUB+= X11="@comment "
.else
MAKE_ARGS= UISTYLE=gtk2
SUB_FILES= ${PORTNAME}.desktop
SUB_LIST= PORTVERSION=${PORTVERSION} VERSIONSUFFIX=${VERSIONSUFFIX}
USE_GNOME+= atk cairo gdkpixbuf2 glib20 gtk20 pango
USES+= gettext-runtime gnome
PLIST_SUB+= X11=""
.endif
post-patch-FSMONITOR-off:
@${REINPLACE_CMD} -e 's/-include fsmonitor/#&/' \
${WRKSRC}/Makefile.OCaml
post-patch-FSMONITOR-on:
@${REINPLACE_CMD} \
-e '/let suffix = if Util.osType/s/else "" in/else "${VERSIONSUFFIX}" in/' \
${WRKSRC}/fswatch.ml
post-patch:
# remove unconditional raise, which causes self tests to always fail
${REINPLACE_CMD} -e '/remove me/d' ${WRKSRC}/test.ml
.if ${FLAVOR} == nox11
@${REINPLACE_CMD} -e 's/CFLAGS/COFLAGS/g' \
${WRKSRC}/Makefile.OCaml ${WRKSRC}/fsmonitor/linux/Makefile
.else
@${REINPLACE_CMD} -Ee 's@(\+|/)(lablgtk2)@\1site-lib/\2@' \
-e 's/CFLAGS/COFLAGS/g' \
${WRKSRC}/Makefile.OCaml ${WRKSRC}/fsmonitor/linux/Makefile
.endif
post-build:
(cd ${WRKSRC} && HOME=${WRKSRC} ./unison -selftest -ui text -batch)
.if ${FLAVOR} == x11
@${ECHO} Building text-only version
@${ECHO} ${WRKSRC}
${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC} UISTYLE=text NAME=unison-text
@cd ${WRKSRC}/win32rc && ${LOCALBASE}/bin/icotool -x U.ico
.endif
do-install:
${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
.endif
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR}
do-install-FSMONITOR-on:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}-fsmonitor ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-fsmonitor${VERSIONSUFFIX}
.include <bsd.port.mk>