freebsd-ports/net/unison251/Makefile
Guido Falsi 2b40e46093 lang/ocaml: Update to 4.08.1
This update allows (and for some requires) to also update dependencies
to newer versions. Where possible I updated to the latest version.

The ocaml port now is MAKE_JOBS safe.

Changes to dependent ports included in this commit:

- devel/ocaml-sexplib: Rename to devel/ocaml-sexplib0 adapting to
  upstream. Update to 0.16.0
- devel/coccinelle: Update to 1.1.1, moved to github
- devel/ocaml-camlp4: Update to 4.08+1
- devel/ocaml-camomile: Use dune for build, adapt port
- devel/ocaml-cppo: Fix lib files installation [1]
- devel/ocaml-dune: Update to 3.7.1 [2]
- devel/ocaml-findlib: Update to 1.9.6 [3]
- devel/ocaml-ipaddr: Update to 3.1.0
- devel/ocaml-parmap: Update to 1.2.4, use dune for build [4]
- devel/ocaml-ppx-tools: Update to 6.6, use dune for build
- graphics/ocaml-cairo: Update to 0.6.4
- net-p2p/mldonkey: Update to 3.1.7-2 [2]
- net/unison: Remove ocaml 4.07 compatibility patches
- net/unison232: Mark broken, fails to build with newer ocaml [5]
- security/ocaml-ssl: Update to 0.5.13 [2]
- x11-toolkits/ocaml-labltk: Update to 8.06.7 [2]

Dune now requires full path as argument to --libdir, so various
ports have been patched accordingly.

Bumping PORTREVISION for all dependent ports that were not updated.

PR:			272067
Approved by:		michipili@gmail.com (maintainer timeout),
			eduardo (maintainer timeout) [1],
			danfe [2],
			hrs (maintainer timeout) [3],
			dumbbell (maintainer timeout) [4],
			mandree (implicit) [5]
Differential Revision:	https://reviews.freebsd.org/D40599
2023-07-05 11:55:16 +02:00

109 lines
3.1 KiB
Makefile

PORTNAME= unison
PORTVERSION= 2.51.5
PORTREVISION= 3
DISTVERSIONPREFIX= v
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= 251
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 \
libharfbuzz.so:print/harfbuzz
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}"
ALL_TARGET= unison all
USE_GITHUB= yes
GH_ACCOUNT= bcpierce00
DOCS= NEWS README
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
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:
.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>