summaryrefslogtreecommitdiff
path: root/net/unison2.40
diff options
context:
space:
mode:
Diffstat (limited to 'net/unison2.40')
-rw-r--r--net/unison2.40/DESCR5
-rw-r--r--net/unison2.40/Makefile56
-rw-r--r--net/unison2.40/PLIST9
-rw-r--r--net/unison2.40/distinfo8
-rw-r--r--net/unison2.40/options.mk15
-rw-r--r--net/unison2.40/patches/patch-Makefile.OCaml43
-rw-r--r--net/unison2.40/patches/patch-aa41
-rw-r--r--net/unison2.40/patches/patch-ubase_util.ml16
8 files changed, 193 insertions, 0 deletions
diff --git a/net/unison2.40/DESCR b/net/unison2.40/DESCR
new file mode 100644
index 00000000000..a1fcb2e5944
--- /dev/null
+++ b/net/unison2.40/DESCR
@@ -0,0 +1,5 @@
+Unison is a file-synchronization tool for Unix and Windows. It allows
+two replicas of a collection of files and directories to be stored
+on different hosts (or different disks on the same host), modified
+separately, and then brought up to date by propagating the changes
+in each replica to the other.
diff --git a/net/unison2.40/Makefile b/net/unison2.40/Makefile
new file mode 100644
index 00000000000..8f8a9132c2b
--- /dev/null
+++ b/net/unison2.40/Makefile
@@ -0,0 +1,56 @@
+# $NetBSD: Makefile,v 1.1 2015/01/06 12:57:03 wiz Exp $
+
+DISTNAME= unison-2.40.102
+PKGREVISION= 22
+CATEGORIES= net
+MASTER_SITES= http://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/
+
+MAINTAINER= tonio@NetBSD.org
+HOMEPAGE= http://www.cis.upenn.edu/~bcpierce/unison/
+COMMENT= File-synchronization tool
+LICENSE= gnu-gpl-v3
+
+.if (${MACHINE_ARCH} == "arm")
+BUILDLINK_ABI_DEPENDS.ocaml+= ocaml>=3.12.0nb2
+.else
+BUILDLINK_ABI_DEPENDS.ocaml+= ocaml>=3.11.2
+.endif
+BUILDLINK_API_DEPENDS.ocaml-lablgtk+= ocaml-lablgtk>=2.16.0
+
+# docs: unison-manual.pdf/html/ps/dvi
+WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
+USE_TOOLS+= gmake
+MAKE_FLAGS+= CFLAGS=""
+MAKE_ENV+= HOME=${WRKDIR:Q}
+
+.include "options.mk"
+.include "../../mk/bsd.prefs.mk"
+
+.if (${MACHINE_ARCH} == "i386") || (${MACHINE_ARCH} == "powerpc") || (${MACHINE_ARCH} == "sparc") || (${MACHINE_ARCH}=="arm") || (${MACHINE_ARCH} == "x86_64")
+MAKE_FLAGS+= NATIVE=true
+.else
+MAKE_FLAGS+= NATIVE=false
+.endif
+
+.include "../../mk/pthread.buildlink3.mk"
+
+.if defined(PTHREAD_TYPE) && (${PTHREAD_TYPE} != "none")
+MAKE_FLAGS+= THREADS=true
+.endif
+
+BUILD_TARGET= buildexecutable
+
+INSTALLATION_DIRS= bin
+INSTALLATION_DIRS+= share/doc/unison
+
+post-install:
+ ${INSTALL_MAN} ${WRKSRC}/BUGS.txt ${DESTDIR}${PREFIX}/share/doc/unison
+ ${INSTALL_MAN} ${WRKSRC}/CONTRIB ${DESTDIR}${PREFIX}/share/doc/unison
+ ${INSTALL_MAN} ${WRKSRC}/COPYING ${DESTDIR}${PREFIX}/share/doc/unison
+ ${INSTALL_MAN} ${WRKSRC}/NEWS ${DESTDIR}${PREFIX}/share/doc/unison
+ ${INSTALL_MAN} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/unison
+ ${INSTALL_MAN} ${WRKSRC}/ROADMAP.txt ${DESTDIR}${PREFIX}/share/doc/unison
+ ${INSTALL_MAN} ${WRKSRC}/TODO.txt ${DESTDIR}${PREFIX}/share/doc/unison
+
+.include "../../lang/ocaml/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/unison2.40/PLIST b/net/unison2.40/PLIST
new file mode 100644
index 00000000000..cf09d9de5cf
--- /dev/null
+++ b/net/unison2.40/PLIST
@@ -0,0 +1,9 @@
+@comment $NetBSD: PLIST,v 1.1 2015/01/06 12:57:03 wiz Exp $
+bin/unison
+share/doc/unison/BUGS.txt
+share/doc/unison/CONTRIB
+share/doc/unison/COPYING
+share/doc/unison/NEWS
+share/doc/unison/README
+share/doc/unison/ROADMAP.txt
+share/doc/unison/TODO.txt
diff --git a/net/unison2.40/distinfo b/net/unison2.40/distinfo
new file mode 100644
index 00000000000..34ea9aa5232
--- /dev/null
+++ b/net/unison2.40/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.1 2015/01/06 12:57:03 wiz Exp $
+
+SHA1 (unison-2.40.102.tar.gz) = bf18f64fa30bd04234e864d42190294e0d9a2910
+RMD160 (unison-2.40.102.tar.gz) = 0231fd41895bde97ad4ae15bdc4994f9c9e27ad6
+Size (unison-2.40.102.tar.gz) = 2694761 bytes
+SHA1 (patch-Makefile.OCaml) = 2872f07e323f23375b0b7ea5ec17fe387fe22a0f
+SHA1 (patch-aa) = dd1a001fb7071cd9141615b42a692e6d1d812081
+SHA1 (patch-ubase_util.ml) = d8ee8ea1cc1a5d0e8794623c24621f1a2d57d189
diff --git a/net/unison2.40/options.mk b/net/unison2.40/options.mk
new file mode 100644
index 00000000000..2af833059fb
--- /dev/null
+++ b/net/unison2.40/options.mk
@@ -0,0 +1,15 @@
+# $NetBSD: options.mk,v 1.1 2015/01/06 12:57:03 wiz Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.unison
+PKG_SUPPORTED_OPTIONS= lablgtk
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mlablgtk)
+MAKE_FLAGS+= UISTYLE=gtk2
+DEPENDS+= font-schumacher-misc>=1.0:../../fonts/font-schumacher-misc
+.include "../../x11/ocaml-lablgtk/buildlink3.mk"
+.include "../../x11/gtk2/buildlink3.mk"
+.else
+MAKE_FLAGS+= UISTYLE=text
+.endif
diff --git a/net/unison2.40/patches/patch-Makefile.OCaml b/net/unison2.40/patches/patch-Makefile.OCaml
new file mode 100644
index 00000000000..23109f7b8bf
--- /dev/null
+++ b/net/unison2.40/patches/patch-Makefile.OCaml
@@ -0,0 +1,43 @@
+$NetBSD: patch-Makefile.OCaml,v 1.1 2015/01/06 12:57:03 wiz Exp $
+
+Correct lablgtk paths for 2.16, and use ocamlopt.opt for compilation
+
+--- Makefile.OCaml.orig 2011-04-16 20:35:38.000000000 +0000
++++ Makefile.OCaml
+@@ -71,8 +71,8 @@ OCAMLLIBDIR=$(shell ocamlc -v | tail -1
+ #
+ # This should be set to an appropriate value automatically, depending
+ # on whether the lablgtk library is available
+-LABLGTKLIB=$(OCAMLLIBDIR)/lablgtk
+-LABLGTK2LIB=$(OCAMLLIBDIR)/lablgtk2
++LABLGTKLIB=$(OCAMLLIBDIR)/site-lib/lablgtk
++LABLGTK2LIB=$(OCAMLLIBDIR)/site-lib/lablgtk2
+ ##BCP [3/2007]: Removed temporarily, since the OSX UI is not working well
+ ## at the moment and we don't want to confuse people by building it by default
+ ifeq ($(OSARCH),osx)
+@@ -285,14 +285,14 @@ endif
+
+ # Gtk GUI
+ ifeq ($(UISTYLE), gtk)
+- CAMLFLAGS+=-I +lablgtk
++ CAMLFLAGS+=-I $(OCAMLLIBDIR)/site-lib/lablgtk
+ OCAMLOBJS+=pixmaps.cmo uigtk.cmo linkgtk.cmo
+ OCAMLLIBS+=lablgtk.cma
+ endif
+
+ # Gtk2 GUI
+ ifeq ($(UISTYLE), gtk2)
+- CAMLFLAGS+=-I +lablgtk2
++ CAMLFLAGS+=-I $(OCAMLLIBDIR)/site-lib/lablgtk2
+ OCAMLOBJS+=pixmaps.cmo uigtk2.cmo linkgtk2.cmo
+ OCAMLLIBS+=lablgtk.cma
+ endif
+@@ -364,7 +364,7 @@ ifeq ($(PROFILING), true)
+ else
+ OCAMLC=ocamlc
+ endif
+-OCAMLOPT=ocamlopt
++OCAMLOPT=ocamlopt.opt
+
+ ifeq ($(NATIVE), true)
+ ## Set up for native code compilation
diff --git a/net/unison2.40/patches/patch-aa b/net/unison2.40/patches/patch-aa
new file mode 100644
index 00000000000..0b08f23ae37
--- /dev/null
+++ b/net/unison2.40/patches/patch-aa
@@ -0,0 +1,41 @@
+$NetBSD: patch-aa,v 1.1 2015/01/06 12:57:03 wiz Exp $
+
+Correct installation procedure
+--- Makefile.orig 2011-04-16 20:35:38.000000000 +0000
++++ Makefile
+@@ -49,7 +49,7 @@ all:: INSTALL
+
+ INSTALL: $(NAME)$(EXEC_EXT)
+ # file isn't made for OS X, so check that it's there first
+- (if [ -f $(NAME) ]; then ./$(NAME) -doc install > INSTALLATION; fi)
++## (if [ -f $(NAME) ]; then ./$(NAME) -doc install > INSTALLATION; fi)
+
+ ########################################################################
+ ## Miscellaneous developer-only switches
+@@ -80,7 +80,7 @@ include Makefile.OCaml
+ ######################################################################
+ # Installation
+
+-INSTALLDIR = $(HOME)/bin/
++INSTALLDIR = ${DESTDIR}$(PREFIX)/bin/
+
+ # This has two names because on OSX the file INSTALL shadows the target 'install'!
+ install: doinstall
+@@ -92,9 +92,7 @@ text:
+ $(MAKE) -C .. text
+
+ doinstall: $(NAME)$(EXEC_EXT)
+- -mv $(INSTALLDIR)/$(NAME)$(EXEC_EXT) /tmp/$(NAME)-$(shell echo $$$$)
+ cp $(NAME)$(EXEC_EXT) $(INSTALLDIR)
+- cp $(NAME)$(EXEC_EXT) $(INSTALLDIR)$(NAME)-$(MAJORVERSION)$(EXEC_EXT)
+
+
+ ######################################################################
+@@ -350,7 +348,6 @@ tags:
+ $(ETAGS) *.mli */*.mli *.ml */*.ml */*.m *.c */*.c *.txt \
+ ; fi
+
+-all:: TAGS
+
+ TAGS:
+ $(MAKE) tags
diff --git a/net/unison2.40/patches/patch-ubase_util.ml b/net/unison2.40/patches/patch-ubase_util.ml
new file mode 100644
index 00000000000..c7f7b773d68
--- /dev/null
+++ b/net/unison2.40/patches/patch-ubase_util.ml
@@ -0,0 +1,16 @@
+$NetBSD: patch-ubase_util.ml,v 1.1 2015/01/06 12:57:03 wiz Exp $
+
+Fix incompatibility with ocaml-4.02.x, based on
+http://caml.inria.fr/mantis/view.php?id=6621
+
+--- ubase/util.ml.orig 2010-04-15 17:29:31.000000000 +0000
++++ ubase/util.ml
+@@ -62,7 +62,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
+