pkgsrc/mk/tools/digest.mk
jperkin 7002b040bb Remove mk/find-prefix.mk and its usage from the mk infrastructure.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.

Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure.  Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.

Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
2015-11-25 13:05:47 +00:00

79 lines
3.2 KiB
Makefile

# $NetBSD: digest.mk,v 1.2 2015/11/25 13:05:47 jperkin Exp $
#
# Copyright (c) 2006 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Johnny C. Lam.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. All advertising materials mentioning features or use of this software
# must display the following acknowledgement:
# This product includes software developed by the NetBSD
# Foundation, Inc. and its contributors.
# 4. Neither the name of The NetBSD Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
#
# This Makefile fragment defines additional variables that are used
# by packages that need digest.
#
# Optional variables that may be defined by the package are:
#
# DIGEST_REQD is the minimum version of digest required.
#
# This file needs to be included before replace.mk as it uses the
# replace.mk magic to set the TOOLS_DIGEST and DIGEST variables.
#
DIGEST_REQD?= 20010302
.if !defined(TOOLS_IGNORE.digest) && !empty(USE_TOOLS:C/:.*//:Mdigest)
. if !empty(PKGPATH:Mpkgtools/digest)
MAKEFLAGS+= TOOLS_IGNORE.digest=
. else
. if defined(TOOLS_PLATFORM.digest) && !empty(TOOLS_PLATFORM.digest)
_TOOLS_USE_PKGSRC.digest?= no
. if !defined(_TOOLS_VERSION.digest)
_TOOLS_VERSION.digest!= \
${TOOLS_PLATFORM.digest} -V 2>/dev/null || ${ECHO} 20010301
_TOOLS_USE_PKGSRC.digest!= \
if ${PKG_ADMIN} pmatch "digest>="${DIGEST_REQD:Q} \
digest-${_TOOLS_VERSION.digest:Q}; then \
${ECHO} no; \
else \
${ECHO} yes; \
fi
. endif
MAKEVARS+= _TOOLS_USE_PKGSRC.digest
. else
_TOOLS_USE_PKGSRC.digest= yes
. endif
. if !empty(_TOOLS_USE_PKGSRC.digest:M[yY][eE][sS])
TOOLS_DEPENDS.digest?= digest>=${DIGEST_REQD}:../../pkgtools/digest
TOOLS_CREATE+= digest
TOOLS_PATH.digest= ${LOCALBASE}/bin/digest
. endif
. endif
.endif