aboutsummaryrefslogtreecommitdiffstats
path: root/ports-mgmt
diff options
context:
space:
mode:
Diffstat (limited to 'ports-mgmt')
-rw-r--r--ports-mgmt/portmk/Mk/bsd.ocaml.mk194
-rw-r--r--ports-mgmt/portmk/Mk/bsd.xfce.mk61
2 files changed, 255 insertions, 0 deletions
diff --git a/ports-mgmt/portmk/Mk/bsd.ocaml.mk b/ports-mgmt/portmk/Mk/bsd.ocaml.mk
new file mode 100644
index 000000000000..8b9f6017a278
--- /dev/null
+++ b/ports-mgmt/portmk/Mk/bsd.ocaml.mk
@@ -0,0 +1,194 @@
+# ex:ts=4
+#
+# $FreeBSD$
+#
+# bsd.ocaml.mk - Support for the Objective Caml language packages
+#
+# Author: Stanislav Sedov <ssedov@mbsd.msk.ru>
+#
+# Feel free to send any comments and suggestions to maintainer.
+#
+# Currently recognised variables are:
+#
+# USE_OCAML - Set if your port uses OCaml to build/install.
+# NO_OCAML_BUILDDEPENDS - Don't add ocamlc to BUILD|EXTRACT|PATCH_DEPENDS.
+# NO_OCAML_RUNDEPENDS - Don't add ocamlc to RUN_DEPENDS.
+# USE_OCAML_FINDLIB - Set if your port uses ocamlfind to install
+# packages. Package direcories will be
+# automatically deleted.
+# USE_OCAML_LDCONFIG - Set if your port installs shared libraries
+# into ocaml site-lib dir. OCaml ld.conf file
+# will be automatically processed.
+# USE_OCAML_WASH - Set if your port wants to automatically
+# purge shared Ocaml dirs on uninstall. It's
+# useful when installing to non-standard PREFIX
+# OCAML_PKGDIRS - Directories under site-lib to be processed
+# if USE_OCAML_FINDLIB specified.
+# Default: ${PORTNAME}
+# OCAML_LDLIBS - Directories under PREFIX to be automatically
+# added/removed from ld.conf
+# Default: ${OCAML_SITELIBDIR}/${PORTNAME}
+
+.if !defined(OCAML_include)
+
+OCAML_MAINTAINER= stas@FreeBSD.org
+OCAML_include= bsd.ocaml.mk
+
+#
+# OCaml programs location
+#
+OCAMLC?= ${LOCALBASE}/bin/ocamlc
+OCAMLC_OPT?= ${LOCALBASE}/bin/ocamlc.opt
+OCAMLCP?= ${LOCALBASE}/bin/ocamlcp
+OCAMLFIND?= ${LOCALBASE}/bin/ocamlfind
+
+#
+# OCaml library directory
+#
+OCAML_LIBDIR?= lib/ocaml
+
+#
+# Where to install site libraries
+#
+OCAML_SITELIBDIR?= ${OCAML_LIBDIR}/site-lib
+
+#
+# OCaml compiler port dependency
+#
+OCAMLC_PORT?= ${PORTSDIR}/lang/ocaml
+OCAMLC_DEPEND?= ${OCAMLC}:${OCAMLC_PORT}
+
+#
+# OCaml package manager port dependency
+#
+OCAMLFIND_PORT?= ${PORTSDIR}/devel/ocaml-findlib
+OCAMLFIND_DEPEND?= ${OCAMLFIND}:${OCAMLFIND_PORT}
+
+#
+# Common OCaml examples and documents location
+#
+OCAML_DOCSDIR= ${PREFIX}/share/doc/ocaml
+OCAML_EXAMPLESDIR= ${PREFIX}/share/examples/ocaml
+
+#
+# Location of OCaml ld.conf file
+#
+OCAML_LDCONF?= ${OCAML_LIBDIR}/ld.conf
+
+OCAMLFIND_DESTDIR?= ${PREFIX}/${OCAML_SITELIBDIR}
+OCAMLFIND_LDCONF?= ${PREFIX}/${OCAML_LDCONF}
+
+.if defined(USE_OCAML)
+. if !defined(NO_OCAML_BUILDDEPENDS)
+EXTRACT_DEPENDS+= ${OCAMLC_DEPEND}
+PATCH_DEPENDS+= ${OCAMLC_DEPEND}
+BUILD_DEPENDS+= ${OCAMLC_DEPEND}
+. endif
+. if !defined(NO_OCAML_RUNDEPENDS)
+RUN_DEPENDS+= ${OCAMLC_DEPEND}
+. endif
+PLIST_SUB+= OCAML_SITELIBDIR="${OCAML_SITELIBDIR}"
+.endif
+
+.if defined(USE_OCAML_FINDLIB) || defined(USE_OCAML_LDCONFIG)
+. if !target(post-install-script)
+post-install-script: ocaml-findlib ocaml-ldconfig ocaml-wash
+. endif
+.endif
+
+.if defined(USE_OCAML_FINDLIB)
+#
+# We'll additionally add ocamlfind to RUN_DEPENDS, since
+# if the port requires ocamlfind to install - it requires
+# some ocaml libraries and these libraries RUN_DEPENDS on
+# ocamlfind
+#
+BUILD_DEPENDS+= ${OCAMLFIND_DEPEND}
+RUN_DEPENDS+= ${OCAMLFIND_DEPEND}
+MAKE_ENV+= OCAMLFIND_DESTDIR="${OCAMLFIND_DESTDIR}" \
+ OCAMLFIND_LDCONF="${OCAMLFIND_LDCONF}"
+
+#
+# Directories under site-lib to process automatically
+#
+OCAML_PKGDIRS?= ${PORTNAME}
+. if !target(pre-install-script)
+pre-install-script:
+.if !exists(${OCAMLFIND_DESTDIR})
+ @${MKDIR} "${PREFIX}/${OCAML_SITELIBDIR}"
+.endif
+. endif
+. if !target(ocaml-findlib)
+ocaml-findlib:
+. for DIR in ${OCAML_PKGDIRS}
+ @${ECHO_CMD} "@unexec rmdir %D/${OCAML_SITELIBDIR}/${DIR} 2>/dev/null || true" >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec ${OCAMLFIND} remove ${DIR} 2>/dev/null" \
+ >> ${TMPPLIST}
+. endfor
+. endif
+.endif
+
+.if defined(USE_OCAML_LDCONFIG)
+#
+# Directories under PREFIX for appending to ld.conf
+#
+OCAML_LDLIBS?= ${OCAML_SITELIBDIR}/${PORTNAME}
+. if !target(ocaml-ldconfig)
+ocaml-ldconfig:
+. for LIB in ${OCAML_LDLIBS}
+ @${ECHO_CMD} "${PREFIX}/${LIB}" >> "${PREFIX}/${OCAML_LDCONF}"
+ @${ECHO_CMD} "@exec ${ECHO_CMD} "%D/${LIB}" >> %D/${OCAML_LDCONF}" \
+ >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec ${SED} -i \"\" -e '/${LIB:S#/#\/#g}/d' %D/${OCAML_LDCONF}" >> ${TMPPLIST}
+. endfor
+. endif
+.endif
+
+.if defined(USE_OCAML_WASH)
+. if !target(ocaml-wash)
+ocaml-wash:
+ @${ECHO_CMD} "@unexec rmdir %D/${OCAML_SITELIBDIR} 2>/dev/null || true"\
+ >> ${TMPPLIST}
+# If ld.conf is empty
+ @${ECHO_CMD} "@unexec if [ ! -s %D/${OCAML_LDCONF} ]; then ${RM} -f %D/${OCAML_LDCONF}; fi || true" >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec rmdir %D/${OCAML_LIBDIR} 2>/dev/null || true" \
+ >> ${TMPPLIST}
+. endif
+.endif
+
+.if !target(ocaml-findlib)
+ocaml-findlib:
+ @${DO_NADA}
+.endif
+
+.if !target(ocaml-ldconfig)
+ocaml-ldconfig:
+ @${DO_NADA}
+.endif
+
+.if !target(ocaml-wash)
+ocaml-wash:
+ @${DO_NADA}
+.endif
+
+#
+# XXX: temporary workaround for non-standard PREFIX
+#
+.if !target(add-plist-post)
+add-plist-post:
+. if (${PREFIX} != ${LOCALBASE} && ${PREFIX} != ${X11BASE} && \
+ ${PREFIX} != ${LINUXBASE} && ${PREFIX} != "/usr")
+ @${ECHO_CMD} "@unexec rmdir %D 2> /dev/null || true" >> ${TMPPLIST}
+. else
+ @${DO_NADA}
+. endif
+
+# If we are using PORTDOCS macro port cannot delete OCAML_DOCSDIR, so
+# we shoud try to accomodate it
+. if defined(PORTDOCS)
+ @${ECHO_CMD} "@unexec rmdir ${OCAML_DOCSDIR} 2>/dev/null || true" \
+ >> ${TMPPLIST}
+. endif
+.endif
+
+.endif #!defined(OCAML_include)
diff --git a/ports-mgmt/portmk/Mk/bsd.xfce.mk b/ports-mgmt/portmk/Mk/bsd.xfce.mk
new file mode 100644
index 000000000000..f3e1b45fa7b2
--- /dev/null
+++ b/ports-mgmt/portmk/Mk/bsd.xfce.mk
@@ -0,0 +1,61 @@
+#
+# $FreeBSD$
+#
+
+.if !defined(_POSTMKINCLUDED) && !defined(Xfce_Pre_Include)
+
+Xfce_Pre_Include= bsd.xfce.mk
+Xfce_Include_MAINTAINER= oliver@FreeBSD.org
+
+# This file contains some variable definitions that are supposed to
+# make your life easier when dealing with ports related to the Xfce
+# desktop environment. It's automatically included when USE_XFCE
+# is defined in the ports' makefile.
+
+_USE_XFCE_ALL= configenv libexo libgui libutil libmcs mcsmanager panel \
+ thunar wm xfdev
+
+MASTER_SITE_SUBDIR?= xfce-4.4.0
+
+configenv_CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include -L${LOCALBASE}/lib"
+
+libexo_LIB_DEPENDS= exo-0.3:${PORTSDIR}/x11/libexo
+
+libgui_LIB_DEPENDS= xfcegui4.6:${PORTSDIR}/x11-toolkits/libxfce4gui
+
+libutil_LIB_DEPENDS= xfce4util.4:${PORTSDIR}/x11/libxfce4util
+
+libmcs_LIB_DEPENDS= xfce4mcs-manager.3:${PORTSDIR}/x11/libxfce4mcs
+
+mcsmanager_BUILD_DEPENDS= xfce-mcs-manager:${PORTSDIR}/sysutils/xfce4-mcs-manager
+mcsmanager_RUN_DEPENDS= xfce-mcs-manager:${PORTSDIR}/sysutils/xfce4-mcs-manager
+
+panel_LIB_DEPENDS= xfce4panel.2:${PORTSDIR}/x11-wm/xfce4-panel
+
+thunar_LIB_DEPENDS= thunar-vfs-1.4:${PORTSDIR}/x11-fm/thunar
+
+wm_BUILD_DEPENDS= xfwm4:${PORTSDIR}/x11-wm/xfce4-wm
+wm_RUN_DEPENDS= xfwm4:${PORTSDIR}/x11-wm/xfce4-wm
+
+xfdev_RUN_DEPENDS= xfce4-dev-tools:${PORTSDIR}/devel/xfce4-dev-tools
+
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(Xfce_Post_Include)
+
+Xfce_Post_Include= bsd.xfce.mk
+
+.for component in ${USE_XFCE}
+BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS}
+LIB_DEPENDS+= ${${component}_LIB_DEPENDS}
+RUN_DEPENDS+= ${${component}_RUN_DEPENDS}
+CONFIGURE_ENV+= ${${component}_CONFIGURE_ENV}
+.endfor
+
+.for component in ${USE_XFCE}
+. if ${_USE_XFCE_ALL:M${component}}==""
+IGNORE= cannot install: Unknown component ${component}
+. endif
+.endfor
+
+.endif