8bf82f0dd4
Discussed on packages@ and okayed by jperkin.
69 lines
1.6 KiB
Text
69 lines
1.6 KiB
Text
# $NetBSD: ocaml-findlib-register,v 1.3 2016/06/25 13:52:28 jaapb Exp $
|
|
#
|
|
# Generate an +OCAML_FINDLIB_REGISTER script that handles registration for
|
|
# findlib after a binary installation
|
|
#
|
|
case "${STAGE},$1" in
|
|
UNPACK,|UNPACK,+OCAML_FINDLIB_REGISTER)
|
|
${CAT} > ./+OCAML_FINDLIB_REGISTER << 'EOF'
|
|
#!@SH@
|
|
#
|
|
# +OCAML_FINDLIB_REGISTER - ocaml-findlib registration script
|
|
#
|
|
# Usage: ./+OCAML_FINDLIB_REGISTER ADD|REMOVE [findlib_pkg_dir]
|
|
#
|
|
# This script supports two actions, ADD and REMOVE, that will
|
|
# add or remove directories from the ocaml ld.conf file (standard location
|
|
# is in LOCALBASE/lib/ocaml/ld.conf)
|
|
#
|
|
ECHO="@ECHO@"
|
|
GREP="@GREP@"
|
|
MV="@MV@"
|
|
OCAML_FINDLIB_DIRS="@OCAML_FINDLIB_DIRS@"
|
|
OCAML_FINDLIB_REGISTER="@OCAML_FINDLIB_REGISTER@"
|
|
OCAML_SITELIBDIR="@OCAML_SITELIBDIR@"
|
|
PWD_CMD="@PWD_CMD@"
|
|
RM="@RM@"
|
|
TOUCH="@TOUCH@"
|
|
|
|
SELF=$0
|
|
ACTION=$1
|
|
|
|
LDCONF="@PREFIX@/lib/ocaml/ld.conf"
|
|
|
|
CURDIR=`${PWD_CMD}`
|
|
PKG_METADATA_DIR="${2-${CURDIR}}"
|
|
: ${PKGNAME=${PKG_METADATA_DIR##*/}}
|
|
: ${PKG_PREFIX=@PREFIX@}
|
|
|
|
case "${OCAML_FINDLIB_REGISTER_VERBOSE:-@OCAML_FINDLIB_REGISTER_VERBOSE@}" in
|
|
[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
|
|
echo="${ECHO}"
|
|
;;
|
|
[Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0)
|
|
echo=":"
|
|
;;
|
|
esac
|
|
|
|
${TOUCH} "${LDCONF}.tmp"
|
|
for i in ${OCAML_FINDLIB_DIRS}
|
|
do
|
|
${GREP} -F -v -- "${OCAML_SITELIBDIR}/$i" < "${LDCONF}" > "${LDCONF}.tmp"
|
|
case $ACTION in
|
|
ADD)
|
|
$echo "${PKGNAME}: adding $i to ${LDCONF}"
|
|
${ECHO} "@PREFIX@/${OCAML_SITELIBDIR}/$i" >> "${LDCONF}.tmp"
|
|
;;
|
|
|
|
REMOVE)
|
|
$echo "${PKGNAME}: removing $i from ${LDCONF}"
|
|
;;
|
|
esac
|
|
${MV} -f "${LDCONF}.tmp" "${LDCONF}"
|
|
done
|
|
|
|
EOF
|
|
${CHMOD} +x ./+OCAML_FINDLIB_REGISTER
|
|
;;
|
|
esac
|
|
|