diff options
Diffstat (limited to 'ports-mgmt')
-rw-r--r-- | ports-mgmt/portmk/Mk/bsd.ocaml.mk | 194 | ||||
-rw-r--r-- | ports-mgmt/portmk/Mk/bsd.xfce.mk | 61 |
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 |