2000-03-02 19:35:59 +01:00
|
|
|
# $NetBSD: bsd.pkg.mk,v 1.412 2000/03/02 18:35:59 wiz Exp $
|
1997-08-20 12:21:05 +02:00
|
|
|
#
|
1998-06-05 14:45:53 +02:00
|
|
|
# This file is in the public domain.
|
1997-08-20 12:21:05 +02:00
|
|
|
#
|
1998-06-05 14:45:53 +02:00
|
|
|
# This file is derived from bsd.port.mk - 940820 Jordan K. Hubbard.
|
1997-08-20 12:21:05 +02:00
|
|
|
#
|
1998-06-05 14:45:53 +02:00
|
|
|
# Please see the NetBSD packages(7) manual page for details on the
|
|
|
|
# that variables used in this make file template.
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
# Default sequence for "all" is: fetch checksum extract patch configure build
|
|
|
|
#
|
|
|
|
# Please read the comments in the targets section below, you
|
|
|
|
# should be able to use the pre-* or post-* targets/scripts
|
|
|
|
# (which are available for every stage except checksum) or
|
|
|
|
# override the do-* targets to do pretty much anything you want.
|
|
|
|
#
|
|
|
|
# NEVER override the "regular" targets unless you want to open
|
|
|
|
# a major can of worms.
|
|
|
|
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
##### Include any preferences, if not already included, and common definitions
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
1998-08-28 16:03:48 +02:00
|
|
|
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
##### Define __PLATFORM_OK only if the OS matches the pkg's allowed list.
|
1999-05-24 23:25:00 +02:00
|
|
|
.if defined(ONLY_FOR_PLATFORM) && !empty(ONLY_FOR_PLATFORM)
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
.for __tmp__ in ${ONLY_FOR_PLATFORM}
|
|
|
|
.if ${MACHINE_PLATFORM:M${__tmp__}} != ""
|
|
|
|
__PLATFORM_OK?=
|
1999-03-17 13:05:40 +01:00
|
|
|
.endif
|
|
|
|
.endfor
|
|
|
|
.else
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
__PLATFORM_OK?=
|
1999-03-17 13:05:40 +01:00
|
|
|
.endif
|
1999-03-08 18:26:54 +01:00
|
|
|
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
.for __tmp__ in ${NOT_FOR_PLATFORM}
|
|
|
|
.if ${MACHINE_PLATFORM:M${__tmp__}} != ""
|
|
|
|
.undef __PLATFORM_OK
|
1999-03-08 18:26:54 +01:00
|
|
|
.endif
|
|
|
|
.endfor
|
|
|
|
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
.if !defined(__PLATFORM_OK)
|
|
|
|
IGNORE= "does not work on ${MACHINE_PLATFORM}"
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
##### Some overrides of defaults below on a per-OS basis.
|
1999-03-08 18:26:54 +01:00
|
|
|
.if (${OPSYS} == "NetBSD")
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
LOCALBASE?= ${DESTDIR}/usr/pkg
|
1999-03-08 18:26:54 +01:00
|
|
|
.elif (${OPSYS} == "SunOS")
|
1999-04-20 13:07:34 +02:00
|
|
|
DEF_UMASK?= 022
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
X11BASE?= ${DESTDIR}/usr/openwin
|
1999-03-08 18:26:54 +01:00
|
|
|
.elif (${OPSYS} == "OpenBSD")
|
|
|
|
DEF_UMASK?= 022
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
NOMANCOMPRESS?= yes
|
1999-06-23 19:06:20 +02:00
|
|
|
.elif (${OPSYS} == "Linux")
|
|
|
|
DEF_UMASK?= 022
|
|
|
|
NOMANCOMPRESS?= yes
|
1997-09-28 02:44:15 +02:00
|
|
|
.endif
|
|
|
|
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
DEF_UMASK?= 0022
|
|
|
|
CLEANDEPENDS?= NO
|
1999-08-21 03:17:59 +02:00
|
|
|
DEINSTALLDEPENDS?= NO # add -R to pkg_delete
|
1999-08-30 00:13:01 +02:00
|
|
|
REINSTALL?= NO # reinstall upon update
|
1999-10-31 20:43:02 +01:00
|
|
|
NOCLEAN?= NO # don't clean up after update
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
|
1997-08-20 18:02:48 +02:00
|
|
|
LOCALBASE?= ${DESTDIR}/usr/local
|
1997-08-20 12:21:05 +02:00
|
|
|
X11BASE?= ${DESTDIR}/usr/X11R6
|
1998-08-11 21:30:48 +02:00
|
|
|
CROSSBASE?= ${LOCALBASE}/cross
|
1998-05-07 19:21:13 +02:00
|
|
|
|
1999-04-08 09:51:21 +02:00
|
|
|
PKGSRCDIR= ${.CURDIR:C|/[^/]*/[^/]*$||}
|
1998-05-07 19:21:13 +02:00
|
|
|
DISTDIR?= ${PKGSRCDIR}/distfiles
|
1997-08-20 12:21:05 +02:00
|
|
|
_DISTDIR?= ${DISTDIR}/${DIST_SUBDIR}
|
1998-05-07 19:21:13 +02:00
|
|
|
PACKAGES?= ${PKGSRCDIR}/packages
|
|
|
|
TEMPLATES?= ${PKGSRCDIR}/templates
|
1997-09-28 02:44:15 +02:00
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
PATCHDIR?= ${.CURDIR}/patches
|
|
|
|
SCRIPTDIR?= ${.CURDIR}/scripts
|
|
|
|
FILESDIR?= ${.CURDIR}/files
|
|
|
|
PKGDIR?= ${.CURDIR}/pkg
|
|
|
|
|
2000-01-13 18:40:42 +01:00
|
|
|
.if defined(USE_JAVA)
|
|
|
|
BUILD_DEFS+= PKG_JVM JAVA_HOME
|
|
|
|
.if !defined(PKG_JVM)
|
|
|
|
.if ${MACHINE_PLATFORM:MNetBSD-*-i386} != ""
|
|
|
|
PKG_JVM?= jdk
|
|
|
|
.else
|
|
|
|
PKG_JVM?= kaffe
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
.if ${PKG_JVM} == "jdk"
|
|
|
|
DEPENDS+= jdk-1.1.*:${PKGSRCDIR}/lang/jdk
|
2000-01-15 03:08:03 +01:00
|
|
|
.if defined(JDK_HOME)
|
|
|
|
JAVA_HOME?= ${JDK_HOME}
|
|
|
|
.else
|
2000-01-13 18:40:42 +01:00
|
|
|
JAVA_HOME?= ${LOCALBASE}/java
|
2000-01-15 03:08:03 +01:00
|
|
|
.endif
|
2000-01-13 18:40:42 +01:00
|
|
|
.elif ${PKG_JVM} == "kaffe"
|
|
|
|
DEPENDS+= kaffe-[0-9]*:${PKGSRCDIR}/lang/kaffe
|
|
|
|
JAVA_HOME?= ${LOCALBASE}/kaffe
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
1999-11-10 11:36:05 +01:00
|
|
|
.if defined(USE_MOTIF)
|
|
|
|
.if defined(USE_LOCALBASE_FOR_X11)
|
|
|
|
MOTIFBASE?= ${LOCALBASE}
|
|
|
|
.elif ${OPSYS} == "SunOS"
|
|
|
|
MOTIFBASE?= /usr/dt
|
|
|
|
.else
|
|
|
|
MOTIFBASE?= ${X11BASE}
|
|
|
|
.endif
|
|
|
|
.endif # USE_MOTIF
|
|
|
|
|
1999-01-31 00:18:44 +01:00
|
|
|
.if defined(USE_IMAKE) || defined(USE_MOTIF) || defined(USE_X11BASE)
|
1999-07-01 16:33:36 +02:00
|
|
|
.if defined(USE_LOCALBASE_FOR_X11)
|
1999-10-07 18:04:57 +02:00
|
|
|
PREFIX= ${LOCALBASE}
|
1999-07-01 16:33:36 +02:00
|
|
|
BUILD_DEPENDS+= ${X11BASE}/lib/X11/config/xpkgwedge.def:${PKGSRCDIR}/pkgtools/xpkgwedge
|
1999-10-07 18:04:57 +02:00
|
|
|
.else
|
|
|
|
PREFIX= ${X11BASE}
|
1999-07-01 16:33:36 +02:00
|
|
|
.endif
|
1998-08-11 21:30:48 +02:00
|
|
|
.elif defined(USE_CROSSBASE)
|
|
|
|
PREFIX= ${CROSSBASE}
|
1998-08-12 03:30:13 +02:00
|
|
|
NO_MTREE= yes
|
1997-08-20 12:21:05 +02:00
|
|
|
.else
|
1998-08-11 21:30:48 +02:00
|
|
|
PREFIX= ${LOCALBASE}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
1998-07-31 16:55:38 +02:00
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
.if defined(USE_GMAKE)
|
1998-05-07 19:21:13 +02:00
|
|
|
BUILD_DEPENDS+= ${GMAKE}:${PKGSRCDIR}/devel/gmake
|
1997-11-05 14:36:31 +01:00
|
|
|
MAKE_PROGRAM= ${GMAKE}
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
GMAKE?= gmake
|
1997-11-05 14:36:31 +01:00
|
|
|
.else
|
|
|
|
MAKE_PROGRAM= ${MAKE}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
|
1999-09-14 04:32:21 +02:00
|
|
|
.if defined(USE_KERBEROS)
|
|
|
|
RESTRICTED?= uses Kerberos encryption code
|
|
|
|
BUILD_DEFS+= KERBEROS
|
|
|
|
.endif
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
.if defined(USE_PERL5)
|
2000-01-17 15:33:46 +01:00
|
|
|
DEPENDS+= perl-*:${PKGSRCDIR}/lang/perl5
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
|
1999-11-23 00:42:21 +01:00
|
|
|
.if defined(USE_FORTRAN)
|
|
|
|
.if !exists(/usr/bin/f77)
|
|
|
|
PKG_FC?= f2c-f77
|
|
|
|
.endif
|
|
|
|
# it is anticipated that once /usr/bin/f77 is more stable that the following
|
|
|
|
# default will be changed to f77. However, in the case where there is no
|
|
|
|
# /usr/bin/f77, the default will remain as f2c-f77.
|
|
|
|
PKG_FC?= f2c-f77
|
|
|
|
.if (${PKG_FC} == "f2c-f77")
|
|
|
|
BUILD_DEPENDS+= f2c-f77:${PKGSRCDIR}/lang/f2c
|
|
|
|
.endif
|
|
|
|
FC= ${PKG_FC}
|
|
|
|
F77= ${PKG_FC}
|
1999-11-23 15:31:24 +01:00
|
|
|
MAKE_ENV+= F77="${F77}"
|
|
|
|
MAKE_ENV+= FC="${FC}"
|
1999-11-23 00:42:21 +01:00
|
|
|
.endif
|
|
|
|
|
1998-04-17 11:37:21 +02:00
|
|
|
.if defined(INFO_FILES)
|
|
|
|
USE_GTEXINFO= yes
|
|
|
|
.endif
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
|
1999-02-11 15:44:00 +01:00
|
|
|
.if defined(USE_GTEXINFO) && !exists(/usr/bin/install-info)
|
1998-05-07 19:21:13 +02:00
|
|
|
DEPENDS+= gtexinfo-3.12:${PKGSRCDIR}/devel/gtexinfo
|
1998-04-17 11:37:21 +02:00
|
|
|
.endif
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
|
1998-07-24 03:41:15 +02:00
|
|
|
.if defined(USE_LIBTOOL)
|
1999-09-29 12:07:24 +02:00
|
|
|
.if ${OPSYS} == "NetBSD" || ${OPSYS} == "SunOS"
|
1999-07-17 21:26:44 +02:00
|
|
|
LIBTOOL= ${LOCALBASE}/bin/pkglibtool-${OBJECT_FMT}-1.2p2
|
1999-02-13 12:06:47 +01:00
|
|
|
BUILD_DEPENDS+= ${LIBTOOL}:${PKGSRCDIR}/pkgtools/pkglibtool
|
1999-09-02 23:40:14 +02:00
|
|
|
.else
|
|
|
|
LIBTOOL= ${LOCALBASE}/bin/libtool
|
|
|
|
BUILD_DEPENDS+= ${LIBTOOL}:${PKGSRCDIR}/devel/libtool
|
|
|
|
.endif
|
1998-08-19 17:21:20 +02:00
|
|
|
CONFIGURE_ENV+= LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
|
|
|
|
MAKE_ENV+= LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
|
1998-07-24 03:41:15 +02:00
|
|
|
.endif
|
1997-08-20 12:21:05 +02:00
|
|
|
|
1999-08-25 15:37:34 +02:00
|
|
|
.if defined(USE_XAW)
|
|
|
|
XAW_TYPE?= standard
|
|
|
|
.if ${XAW_TYPE} == "xpm"
|
|
|
|
DEPENDS+= Xaw-Xpm-1.1:${PKGSRCDIR}/x11/Xaw-Xpm
|
|
|
|
.elif ${XAW_TYPE} == "3d"
|
|
|
|
DEPENDS+= Xaw3d-1.5:${PKGSRCDIR}/x11/Xaw3d
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
# Don't change these!!! These names are built into the _TARGET_USE macro,
|
|
|
|
# there is no way to refer to them cleanly from within the macro AFAIK.
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
EXTRACT_COOKIE= ${WRKDIR}/.extract_done
|
|
|
|
CONFIGURE_COOKIE= ${WRKDIR}/.configure_done
|
|
|
|
INSTALL_COOKIE= ${WRKDIR}/.install_done
|
|
|
|
BUILD_COOKIE= ${WRKDIR}/.build_done
|
|
|
|
PATCH_COOKIE= ${WRKDIR}/.patch_done
|
|
|
|
PACKAGE_COOKIE= ${WRKDIR}/.package_done
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
# Miscellaneous overridable commands:
|
1999-11-29 20:48:15 +01:00
|
|
|
SHCOMMENT?= ${ECHO_MSG} >/dev/null '***'
|
1997-08-20 12:21:05 +02:00
|
|
|
XMKMF?= xmkmf -a
|
|
|
|
.if exists(/sbin/md5)
|
|
|
|
MD5?= /sbin/md5
|
|
|
|
.elif exists(/bin/md5)
|
|
|
|
MD5?= /bin/md5
|
|
|
|
.elif exists(/usr/bin/md5)
|
|
|
|
MD5?= /usr/bin/md5
|
1999-08-10 07:06:36 +02:00
|
|
|
.elif exists(${LOCALBASE}/bsd/bin/md5)
|
|
|
|
MD5?= ${LOCALBASE}/bsd/bin/md5
|
1997-08-20 12:21:05 +02:00
|
|
|
.else
|
|
|
|
MD5?= md5
|
|
|
|
.endif
|
|
|
|
MD5_FILE?= ${FILESDIR}/md5
|
1999-07-09 15:14:21 +02:00
|
|
|
PATCH_SUM_FILE?= ${FILESDIR}/patch-sum
|
1997-08-20 12:21:05 +02:00
|
|
|
|
1999-01-31 00:18:44 +01:00
|
|
|
.if defined(USE_MOTIF) || defined(USE_X11BASE) || defined(USE_X11)
|
1999-11-10 11:36:05 +01:00
|
|
|
LDFLAGS+= -Wl,-R${MOTIFBASE}/lib -L${MOTIFBASE}/lib -Wl,-R${X11BASE}/lib -L${X11BASE}/lib
|
1998-09-14 19:07:46 +02:00
|
|
|
.endif
|
1999-07-01 16:33:36 +02:00
|
|
|
LDFLAGS+= -Wl,-R${LOCALBASE}/lib -L${LOCALBASE}/lib
|
1998-09-14 19:07:46 +02:00
|
|
|
MAKE_ENV+= LDFLAGS="${LDFLAGS}"
|
|
|
|
CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}"
|
|
|
|
|
1998-06-10 10:02:08 +02:00
|
|
|
MAKE_FLAGS?=
|
1997-08-20 12:21:05 +02:00
|
|
|
MAKEFILE?= Makefile
|
1998-01-15 23:58:59 +01:00
|
|
|
MAKE_ENV+= PATH=${PATH}:${LOCALBASE}/bin:${X11BASE}/bin PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} MOTIFLIB="${MOTIFLIB}" CFLAGS="${CFLAGS}"
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
.if exists(/usr/bin/fetch)
|
|
|
|
FETCH_CMD?= /usr/bin/fetch
|
1999-08-10 07:06:36 +02:00
|
|
|
.elif exists(${LOCALBASE}/bsd/bin/ftp)
|
|
|
|
FETCH_CMD?= ${LOCALBASE}/bsd/bin/ftp
|
1997-08-20 12:21:05 +02:00
|
|
|
.else
|
|
|
|
FETCH_CMD?= /usr/bin/ftp
|
|
|
|
.endif
|
|
|
|
|
1998-01-22 11:20:48 +01:00
|
|
|
# By default, distfiles have no restrictions placed on them
|
|
|
|
MIRROR_DISTFILE?= yes
|
|
|
|
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
TOUCH_FLAGS?= -f
|
1997-08-20 12:21:05 +02:00
|
|
|
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
PATCH_STRIP?= -p0
|
1997-08-20 12:21:05 +02:00
|
|
|
PATCH_DIST_STRIP?= -p0
|
1998-06-18 13:45:33 +02:00
|
|
|
.if defined(PATCH_DEBUG) || defined(PKG_VERBOSE)
|
1997-08-20 12:21:05 +02:00
|
|
|
PATCH_DEBUG_TMP= yes
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
PATCH_ARGS?= -d ${WRKSRC} -E ${PATCH_STRIP}
|
1997-08-20 12:21:05 +02:00
|
|
|
PATCH_DIST_ARGS?= -d ${WRKSRC} -E ${PATCH_DIST_STRIP}
|
|
|
|
.else
|
|
|
|
PATCH_DEBUG_TMP= no
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
PATCH_ARGS?= -d ${WRKSRC} --forward --quiet -E ${PATCH_STRIP}
|
1997-08-20 12:21:05 +02:00
|
|
|
PATCH_DIST_ARGS?= -d ${WRKSRC} --forward --quiet -E ${PATCH_DIST_STRIP}
|
|
|
|
.endif
|
|
|
|
.if defined(BATCH)
|
|
|
|
PATCH_ARGS+= --batch
|
|
|
|
PATCH_DIST_ARGS+= --batch
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if defined(PATCH_CHECK_ONLY)
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
PATCH_ARGS+= -C
|
1997-08-20 12:21:05 +02:00
|
|
|
PATCH_DIST_ARGS+= -C
|
|
|
|
.endif
|
|
|
|
|
1999-04-01 16:07:52 +02:00
|
|
|
# New decompress and extract definitions
|
|
|
|
|
1999-03-30 11:46:27 +02:00
|
|
|
# If the archive has a .bz2 suffix, use bzip2 to extract information
|
|
|
|
# If EXTRACT_USING_PAX is defined, use pax in preference to (GNU) tar,
|
|
|
|
# and append 2 tar blocks of zero bytes on the end, in case the archive
|
|
|
|
# was written with a buggy version of GNU tar.
|
1998-03-09 19:36:51 +01:00
|
|
|
|
1999-02-13 12:06:47 +01:00
|
|
|
EXTRACT_SUFX?= .tar.gz
|
1999-04-01 16:07:52 +02:00
|
|
|
|
|
|
|
.if ${EXTRACT_SUFX} == ".tar.bz2"
|
1999-02-13 12:06:47 +01:00
|
|
|
.if exists(/usr/bin/bzcat)
|
|
|
|
BZCAT= /usr/bin/bzcat
|
|
|
|
.else
|
|
|
|
BZCAT= ${LOCALBASE}/bin/bzcat
|
|
|
|
BUILD_DEPENDS+= ${BZCAT}:${PKGSRCDIR}/archivers/bzip2
|
1999-03-08 18:26:54 +01:00
|
|
|
.endif # !exists bzcat
|
1999-04-08 20:43:42 +02:00
|
|
|
DECOMPRESS_CMD?= ${BZCAT}
|
1999-04-01 16:07:52 +02:00
|
|
|
.else
|
|
|
|
DECOMPRESS_CMD?= ${GZCAT}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# If this is empty, then everything gets extracted.
|
|
|
|
EXTRACT_ELEMENTS?=
|
|
|
|
|
1999-03-30 11:46:27 +02:00
|
|
|
.if defined(EXTRACT_USING_PAX)
|
1999-04-01 16:07:52 +02:00
|
|
|
EXTRACT_CMD?= (${DECOMPRESS_CMD} ${DOWNLOADED_DISTFILE} ; dd if=/dev/zero bs=10k count=2) | ${PAX} -r ${EXTRACT_ELEMENTS}
|
1999-03-30 11:46:27 +02:00
|
|
|
.else
|
1999-09-27 19:08:43 +02:00
|
|
|
EXTRACT_CMD?= ${DECOMPRESS_CMD} ${DOWNLOADED_DISTFILE} | ${GTAR} -xf - ${EXTRACT_ELEMENTS}
|
1999-04-01 16:07:52 +02:00
|
|
|
.endif
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
# Figure out where the local mtree file is
|
|
|
|
.if !defined(MTREE_FILE)
|
1999-01-31 00:18:44 +01:00
|
|
|
.if defined(USE_IMAKE) || defined(USE_MOTIF) || defined(USE_X11BASE)
|
1999-03-08 18:26:54 +01:00
|
|
|
MTREE_FILE= ${PKGSRCDIR}/mk/${OPSYS}.x11.dist
|
1997-08-20 12:21:05 +02:00
|
|
|
.else
|
1999-03-08 18:26:54 +01:00
|
|
|
MTREE_FILE= ${PKGSRCDIR}/mk/${OPSYS}.pkg.dist
|
1998-09-04 12:26:59 +02:00
|
|
|
.endif
|
1999-03-08 18:26:54 +01:00
|
|
|
.endif # ! MTREE_FILE
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
MTREE_ARGS?= -U -f ${MTREE_FILE} -d -e -p
|
|
|
|
|
1999-03-08 18:26:54 +01:00
|
|
|
# Debugging levels for this file, dependent on PKG_DEBUG_LEVEL definition
|
|
|
|
# 0 == normal, default, quiet operation
|
|
|
|
# 1 == all shell commands echoed before invocation
|
|
|
|
# 2 == shell "set -x" operation
|
|
|
|
PKG_DEBUG_LEVEL?= 0
|
|
|
|
_PKG_SILENT= @
|
|
|
|
_PKG_DEBUG=
|
|
|
|
|
|
|
|
.if ${PKG_DEBUG_LEVEL} > 0
|
|
|
|
_PKG_SILENT=
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${PKG_DEBUG_LEVEL} > 1
|
|
|
|
_PKG_DEBUG= set -x;
|
1997-09-28 02:44:15 +02:00
|
|
|
.endif
|
|
|
|
|
1998-09-15 19:05:04 +02:00
|
|
|
# If WRKOBJDIR is set, use that tree to build
|
|
|
|
.ifdef WRKOBJDIR
|
1998-11-07 15:41:50 +01:00
|
|
|
__canonical_PKGSRCDIR!= cd ${PKGSRCDIR} && pwd -P
|
|
|
|
__canonical_CURDIR!= cd ${.CURDIR} && pwd -P
|
1998-09-15 19:05:04 +02:00
|
|
|
PKGSRC_SUBDIR= ${__canonical_CURDIR:S,${__canonical_PKGSRCDIR}/,,}
|
1999-03-22 10:38:22 +01:00
|
|
|
BUILD_ROOT= ${WRKOBJDIR}
|
1998-09-15 19:05:04 +02:00
|
|
|
BUILD_DIR?= ${WRKOBJDIR}/${PKGSRC_SUBDIR}
|
|
|
|
.else
|
1999-03-22 10:38:22 +01:00
|
|
|
BUILD_ROOT= ${PKGSRCDIR}
|
1998-09-15 19:05:04 +02:00
|
|
|
BUILD_DIR?= ${.CURDIR}
|
|
|
|
.endif # WRKOBJDIR
|
|
|
|
|
|
|
|
# If OBJMACHINE is set, use ${MACHINE_ARCH} in the working directory name
|
|
|
|
.ifdef OBJMACHINE
|
1998-07-03 21:27:39 +02:00
|
|
|
WRKDIR_BASENAME?= work.${MACHINE_ARCH}
|
1998-09-15 19:05:04 +02:00
|
|
|
.else
|
1998-07-03 21:27:39 +02:00
|
|
|
WRKDIR_BASENAME?= work
|
1998-09-15 19:05:04 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.ifdef NO_WRKDIR
|
|
|
|
WRKDIR?= ${BUILD_DIR}
|
|
|
|
.else
|
|
|
|
WRKDIR?= ${BUILD_DIR}/${WRKDIR_BASENAME}
|
1998-07-03 21:27:39 +02:00
|
|
|
.endif # !NO_WRKDIR
|
1998-09-15 19:05:04 +02:00
|
|
|
|
1998-03-08 15:55:04 +01:00
|
|
|
.if defined(NO_WRKSUBDIR)
|
|
|
|
WRKSRC?= ${WRKDIR}
|
1998-07-03 21:27:39 +02:00
|
|
|
.else # NO_WRKSUBDIR
|
1998-03-08 15:55:04 +01:00
|
|
|
WRKSRC?= ${WRKDIR}/${DISTNAME}
|
1998-07-03 21:27:39 +02:00
|
|
|
.endif # NO_WRKSUBDIR
|
1998-03-08 15:55:04 +01:00
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
# A few aliases for *-install targets
|
1998-09-01 23:21:09 +02:00
|
|
|
INSTALL_PROGRAM?= \
|
1998-02-09 01:47:23 +01:00
|
|
|
${INSTALL} ${COPY} ${STRIPFLAG} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}
|
1998-09-01 23:21:09 +02:00
|
|
|
INSTALL_SCRIPT?= \
|
1997-08-20 12:21:05 +02:00
|
|
|
${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}
|
1998-09-01 23:21:09 +02:00
|
|
|
INSTALL_DATA?= \
|
1997-08-20 12:21:05 +02:00
|
|
|
${INSTALL} ${COPY} -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE}
|
1998-09-01 23:21:09 +02:00
|
|
|
INSTALL_MAN?= \
|
1997-08-20 12:21:05 +02:00
|
|
|
${INSTALL} ${COPY} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE}
|
1998-09-01 23:21:09 +02:00
|
|
|
INSTALL_PROGRAM_DIR?= \
|
1998-03-07 22:19:00 +01:00
|
|
|
${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}
|
1998-09-01 23:21:09 +02:00
|
|
|
INSTALL_SCRIPT_DIR?= \
|
1998-03-07 22:19:00 +01:00
|
|
|
${INSTALL_PROGRAM_DIR}
|
1998-09-01 23:21:09 +02:00
|
|
|
INSTALL_DATA_DIR?= \
|
1998-04-09 00:27:41 +02:00
|
|
|
${INSTALL} -d -o ${SHAREOWN} -g ${SHAREGRP} -m ${BINMODE}
|
1998-09-01 23:21:09 +02:00
|
|
|
INSTALL_MAN_DIR?= \
|
1998-04-09 14:47:02 +02:00
|
|
|
${INSTALL} -d -o ${MANOWN} -g ${MANGRP} -m ${BINMODE}
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
INSTALL_MACROS= BSD_INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
|
|
|
|
BSD_INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
|
|
|
|
BSD_INSTALL_DATA="${INSTALL_DATA}" \
|
1998-03-07 22:19:00 +01:00
|
|
|
BSD_INSTALL_MAN="${INSTALL_MAN}" \
|
|
|
|
BSD_INSTALL_PROGRAM_DIR="${INSTALL_PROGRAM_DIR}" \
|
|
|
|
BSD_INSTALL_SCRIPT_DIR="${INSTALL_SCRIPT_DIR}" \
|
|
|
|
BSD_INSTALL_DATA_DIR="${INSTALL_DATA_DIR}" \
|
|
|
|
BSD_INSTALL_MAN_DIR="${INSTALL_MAN_DIR}"
|
1997-08-20 12:21:05 +02:00
|
|
|
MAKE_ENV+= ${INSTALL_MACROS}
|
|
|
|
SCRIPTS_ENV+= ${INSTALL_MACROS}
|
|
|
|
|
|
|
|
# The user can override the NO_PACKAGE by specifying this from
|
|
|
|
# the make command line
|
|
|
|
.if defined(FORCE_PACKAGE)
|
|
|
|
.undef NO_PACKAGE
|
|
|
|
.endif
|
|
|
|
|
1998-09-17 16:03:48 +02:00
|
|
|
COMMENT?= ${PKGDIR}/COMMENT
|
|
|
|
DESCR_SRC?= ${PKGDIR}/DESCR
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
DESCR= ${WRKDIR}/.DESCR
|
1998-09-17 16:03:48 +02:00
|
|
|
PLIST= ${WRKDIR}/.PLIST
|
1999-08-30 00:13:01 +02:00
|
|
|
DLIST= ${WRKDIR}/.DLIST
|
|
|
|
DDIR= ${WRKDIR}/.DDIR
|
1998-09-17 16:03:48 +02:00
|
|
|
|
1999-09-03 04:43:51 +02:00
|
|
|
# Set PLIST_SUBST to substitute "${variable}" to "value" in PLIST
|
|
|
|
PLIST_SUBST+= OPSYS=${OPSYS} \
|
1999-08-31 11:20:21 +02:00
|
|
|
OS_VERSION=${OS_VERSION} \
|
|
|
|
MACHINE_ARCH=${MACHINE_ARCH} \
|
|
|
|
MACHINE_GNU_ARCH=${MACHINE_GNU_ARCH} \
|
|
|
|
MACHINE_GNU_PLATFORM=${MACHINE_GNU_PLATFORM} \
|
|
|
|
LOWER_VENDOR=${LOWER_VENDOR} \
|
|
|
|
LOWER_OPSYS=${LOWER_OPSYS} \
|
|
|
|
PKGNAME=${PKGNAME}
|
|
|
|
|
1998-09-17 16:03:48 +02:00
|
|
|
# Set INSTALL_FILE to be the name of any INSTALL file
|
|
|
|
.if !defined(INSTALL_FILE) && exists(${PKGDIR}/INSTALL)
|
|
|
|
INSTALL_FILE= ${PKGDIR}/INSTALL
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# Set DEINSTALL_FILE to be the name of any DEINSTALL file
|
|
|
|
.if !defined(DEINSTALL_FILE) && exists(${PKGDIR}/DEINSTALL)
|
|
|
|
DEINSTALL_FILE= ${PKGDIR}/DEINSTALL
|
|
|
|
.endif
|
1997-08-20 12:21:05 +02:00
|
|
|
|
1998-09-17 17:47:08 +02:00
|
|
|
# Set REQ_FILE to be the name of any REQ file
|
|
|
|
.if !defined(REQ_FILE) && exists(${PKGDIR}/REQ)
|
|
|
|
REQ_FILE= ${PKGDIR}/REQ
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# Set MESSAGE_FILE to be the name of any MESSAGE file
|
|
|
|
.if !defined(MESSAGE_FILE) && exists(${PKGDIR}/MESSAGE)
|
|
|
|
MESSAGE_FILE= ${PKGDIR}/MESSAGE
|
|
|
|
.endif
|
|
|
|
|
1999-03-08 18:26:54 +01:00
|
|
|
.if (${OPSYS} == "SunOS")
|
|
|
|
AWK?= /usr/bin/nawk
|
|
|
|
BASENAME?= /usr/bin/basename
|
|
|
|
CAT?= /usr/bin/cat
|
|
|
|
CHMOD?= /usr/bin/chmod
|
|
|
|
CHOWN?= /usr/bin/chown
|
|
|
|
CHGRP?= /usr/bin/chgrp
|
|
|
|
CP?= /usr/bin/cp
|
1999-08-30 00:13:01 +02:00
|
|
|
CUT?= /usr/bin/cut
|
1999-03-08 18:26:54 +01:00
|
|
|
ECHO?= /usr/ucb/echo
|
|
|
|
EGREP?= /usr/xpg4/bin/egrep
|
|
|
|
FALSE?= /usr/bin/false
|
|
|
|
FILE?= /usr/bin/file
|
1999-12-28 04:33:53 +01:00
|
|
|
FIND?= /usr/bin/find
|
1999-03-08 18:26:54 +01:00
|
|
|
GREP?= /usr/bin/grep
|
1999-03-16 16:28:37 +01:00
|
|
|
GTAR?= ${LOCALBASE}/bin/gtar
|
1999-03-08 18:26:54 +01:00
|
|
|
GUNZIP_CMD?= ${LOCALBASE}/bin/gunzip -f
|
1999-03-30 11:46:27 +02:00
|
|
|
GZCAT?= ${LOCALBASE}/bin/zcat
|
1999-03-08 18:26:54 +01:00
|
|
|
GZIP?= -9
|
|
|
|
GZIP_CMD?= ${LOCALBASE}/bin/gzip -nf ${GZIP}
|
|
|
|
ID?= /usr/xpg4/bin/id
|
|
|
|
IDENT?= ${LOCALBASE}/bin/ident
|
|
|
|
LDCONFIG?= /usr/bin/true
|
|
|
|
LN?= /usr/bin/ln
|
|
|
|
MKDIR?= /usr/bin/mkdir -p
|
1999-06-23 19:06:20 +02:00
|
|
|
MTREE?= ${LOCALBASE}/bsd/bin/mtree
|
1999-03-08 18:26:54 +01:00
|
|
|
MV?= /usr/bin/mv
|
1999-06-23 19:06:20 +02:00
|
|
|
PATCH?= ${LOCALBASE}/bin/patch -b
|
1999-03-30 11:46:27 +02:00
|
|
|
PAX?= /bin/pax
|
2000-01-07 13:24:14 +01:00
|
|
|
PKG_TOOLS_BIN?= ${LOCALBASE}/bsd/bin
|
1999-03-08 18:26:54 +01:00
|
|
|
RM?= /usr/bin/rm
|
|
|
|
RMDIR?= /usr/bin/rmdir
|
|
|
|
SED?= /usr/bin/sed
|
|
|
|
SETENV?= /usr/bin/env
|
|
|
|
SH?= /bin/ksh
|
1999-03-31 11:04:18 +02:00
|
|
|
SU?= /usr/bin/su
|
1999-03-08 18:26:54 +01:00
|
|
|
TAIL?= /usr/xpg4/bin/tail
|
|
|
|
TEST?= /usr/bin/test
|
1999-06-23 19:06:20 +02:00
|
|
|
TOUCH?= /usr/bin/touch
|
1999-03-08 18:26:54 +01:00
|
|
|
TR?= /usr/bin/tr
|
|
|
|
TRUE?= /usr/bin/true
|
1999-03-31 12:59:44 +02:00
|
|
|
TYPE?= /usr/bin/type
|
1999-06-23 19:06:20 +02:00
|
|
|
.elif (${OPSYS} == "Linux")
|
|
|
|
AWK?= /usr/bin/awk
|
|
|
|
BASENAME?= /bin/basename
|
|
|
|
CAT?= /bin/cat
|
|
|
|
CHMOD?= /bin/chmod
|
|
|
|
CHOWN?= /usr/sbin/chown
|
|
|
|
CHGRP?= /usr/bin/chgrp
|
|
|
|
CP?= /bin/cp
|
1999-08-30 00:13:01 +02:00
|
|
|
CUT?= /bin/cut
|
1999-06-23 19:06:20 +02:00
|
|
|
ECHO?= /bin/echo
|
|
|
|
EGREP?= /bin/egrep
|
1999-06-24 10:04:15 +02:00
|
|
|
FALSE?= /bin/false
|
1999-06-23 19:06:20 +02:00
|
|
|
FILE?= /usr/bin/file
|
1999-12-28 04:33:53 +01:00
|
|
|
FIND?= /usr/bin/find
|
1999-06-23 22:17:59 +02:00
|
|
|
GREP?= /bin/grep
|
1999-06-23 19:06:20 +02:00
|
|
|
GTAR?= /bin/tar
|
|
|
|
GUNZIP_CMD?= /usr/bin/gunzip -f
|
|
|
|
GZCAT?= /bin/zcat
|
|
|
|
GZIP?= -9
|
|
|
|
GZIP_CMD?= /usr/bin/gzip -nf ${GZIP}
|
|
|
|
ID?= /usr/bin/id
|
|
|
|
IDENT?= /usr/bin/ident
|
|
|
|
LDCONFIG?= /sbin/ldconfig
|
|
|
|
LN?= /bin/ln
|
|
|
|
MKDIR?= /bin/mkdir -p
|
|
|
|
MTREE?= ${LOCALBASE}/bsd/bin/mtree
|
|
|
|
MV?= /bin/mv
|
1999-11-12 11:34:47 +01:00
|
|
|
PATCH?= /usr/bin/patch
|
1999-06-23 19:06:20 +02:00
|
|
|
PAX?= /usr/local/bsd/bin/pax
|
2000-01-07 13:24:14 +01:00
|
|
|
PKG_TOOLS_BIN?= ${LOCALBASE}/bsd/bin
|
1999-06-23 19:06:20 +02:00
|
|
|
RM?= /bin/rm
|
|
|
|
RMDIR?= /bin/rmdir
|
|
|
|
SED?= /bin/sed
|
|
|
|
SETENV?= /usr/bin/env
|
|
|
|
SH?= /bin/sh
|
|
|
|
SU?= /bin/su
|
|
|
|
TAIL?= /usr/bin/tail
|
1999-08-10 07:06:36 +02:00
|
|
|
TEST?= /usr/bin/test
|
1999-06-23 19:06:20 +02:00
|
|
|
TOUCH?= /bin/touch
|
|
|
|
TR?= /usr/bin/tr
|
|
|
|
TRUE?= /bin/true
|
|
|
|
TYPE?= type
|
1999-03-08 18:26:54 +01:00
|
|
|
.else
|
1997-08-20 12:21:05 +02:00
|
|
|
AWK?= /usr/bin/awk
|
|
|
|
BASENAME?= /usr/bin/basename
|
|
|
|
CAT?= /bin/cat
|
1998-10-15 12:50:38 +02:00
|
|
|
CHMOD?= /bin/chmod
|
|
|
|
CHOWN?= /usr/sbin/chown
|
|
|
|
CHGRP?= /usr/bin/chgrp
|
1997-08-20 12:21:05 +02:00
|
|
|
CP?= /bin/cp
|
1999-08-30 00:13:01 +02:00
|
|
|
CUT?= /usr/bin/cut
|
1997-08-20 12:21:05 +02:00
|
|
|
ECHO?= /bin/echo
|
1999-03-08 18:26:54 +01:00
|
|
|
EGREP?= /usr/bin/egrep
|
1997-08-20 12:21:05 +02:00
|
|
|
FALSE?= /usr/bin/false
|
1998-03-01 14:38:03 +01:00
|
|
|
FILE?= /usr/bin/file
|
1999-12-28 04:33:53 +01:00
|
|
|
FIND?= /usr/bin/find
|
1997-08-20 12:21:05 +02:00
|
|
|
GREP?= /usr/bin/grep
|
1999-03-16 16:28:37 +01:00
|
|
|
GTAR?= /usr/bin/tar
|
1997-08-20 12:21:05 +02:00
|
|
|
GUNZIP_CMD?= /usr/bin/gunzip -f
|
|
|
|
GZCAT?= /usr/bin/gzcat
|
|
|
|
GZIP?= -9
|
|
|
|
GZIP_CMD?= /usr/bin/gzip -nf ${GZIP}
|
1999-03-08 18:26:54 +01:00
|
|
|
ID?= /usr/bin/id
|
|
|
|
IDENT?= /usr/bin/ident
|
1997-08-20 12:21:05 +02:00
|
|
|
LDCONFIG?= /sbin/ldconfig
|
1997-09-28 02:44:15 +02:00
|
|
|
LN?= /bin/ln
|
1997-08-20 12:21:05 +02:00
|
|
|
MKDIR?= /bin/mkdir -p
|
1999-06-23 19:06:20 +02:00
|
|
|
MTREE?= /usr/sbin/mtree
|
1997-08-20 12:21:05 +02:00
|
|
|
MV?= /bin/mv
|
1999-11-12 11:34:47 +01:00
|
|
|
PATCH?= /usr/bin/patch
|
1999-03-30 11:46:27 +02:00
|
|
|
PAX?= /bin/pax
|
2000-01-07 13:24:14 +01:00
|
|
|
PKG_TOOLS_BIN?= /usr/sbin
|
1997-08-20 12:21:05 +02:00
|
|
|
RM?= /bin/rm
|
|
|
|
RMDIR?= /bin/rmdir
|
|
|
|
SED?= /usr/bin/sed
|
|
|
|
SETENV?= /usr/bin/env
|
|
|
|
SH?= /bin/sh
|
1999-03-31 11:04:18 +02:00
|
|
|
SU?= /usr/bin/su
|
1999-03-08 18:26:54 +01:00
|
|
|
TAIL?= /usr/bin/tail
|
|
|
|
TEST?= /bin/test
|
1999-06-23 19:06:20 +02:00
|
|
|
TOUCH?= /usr/bin/touch
|
1997-08-20 12:21:05 +02:00
|
|
|
TR?= /usr/bin/tr
|
1998-02-02 09:10:41 +01:00
|
|
|
TRUE?= /usr/bin/true
|
1999-03-31 12:59:44 +02:00
|
|
|
TYPE?= type
|
1999-03-08 18:26:54 +01:00
|
|
|
.endif # !SunOS
|
1997-08-20 12:21:05 +02:00
|
|
|
|
2000-01-07 13:24:14 +01:00
|
|
|
PKG_ADD?= ${PKG_TOOLS_BIN}/pkg_add
|
|
|
|
PKG_CREATE?= ${PKG_TOOLS_BIN}/pkg_create
|
|
|
|
PKG_DELETE?= ${PKG_TOOLS_BIN}/pkg_delete
|
|
|
|
PKG_INFO?= ${PKG_TOOLS_BIN}/pkg_info
|
|
|
|
|
|
|
|
.if !defined(PKGTOOLS_VERSION)
|
|
|
|
.if !exists(${IDENT})
|
|
|
|
PKGTOOLS_VERSION=${PKGTOOLS_REQD}
|
|
|
|
.else
|
|
|
|
PKGTOOLS_VERSION!= ${IDENT} ${PKG_CREATE} ${PKG_DELETE} ${PKG_INFO} ${PKG_ADD} | ${AWK} '$$1 ~ /\$$NetBSD/ && $$2 !~ /^crt0/ { gsub("/", "", $$4); print $$4 }' | sort | ${TAIL} -n 1
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
MAKEFLAGS+= " PKGTOOLS_VERSION=${PKGTOOLS_VERSION}"
|
|
|
|
|
2000-01-09 05:43:20 +01:00
|
|
|
# Latest version of pkgtools required for this file.
|
2000-02-02 17:28:55 +01:00
|
|
|
PKGTOOLS_REQD= 20000202
|
2000-01-09 05:43:20 +01:00
|
|
|
|
|
|
|
# Check that we're using up-to-date pkg_* tools with this file.
|
|
|
|
uptodate-pkgtools:
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
if [ ${PKGTOOLS_VERSION} -lt ${PKGTOOLS_REQD} ]; then \
|
|
|
|
case ${PKGNAME} in \
|
|
|
|
pkg_install-*) \
|
|
|
|
;; \
|
|
|
|
*) \
|
|
|
|
${ECHO} "Your package tools need to be updated to `${ECHO} ${PKGTOOLS_REQD} | ${SED} -e 's|\(....\)\(..\)\(..\)|\1/\2/\3|'` versions."; \
|
|
|
|
${ECHO} "The installed package tools were last updated on `${ECHO} $$pkgtools_version | ${SED} -e 's|\(....\)\(..\)\(..\)|\1/\2/\3|'`."; \
|
|
|
|
${ECHO} "Please make and install the pkgsrc/pkgtools/pkg_install package."; \
|
|
|
|
${FALSE} ;; \
|
|
|
|
esac \
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Files to create for versioning and build information
|
|
|
|
BUILD_VERSION_FILE= ${WRKDIR}/.build_version
|
|
|
|
BUILD_INFO_FILE= ${WRKDIR}/.build_info
|
|
|
|
|
|
|
|
# Files containing size of pkg w/o and w/ all required pkgs
|
|
|
|
SIZE_PKG_FILE= ${WRKDIR}/SizePkg
|
|
|
|
SIZE_ALL_FILE= ${WRKDIR}/SizeAll
|
|
|
|
|
|
|
|
.ifndef PKG_ARGS
|
|
|
|
PKG_ARGS= -v -c ${COMMENT} -d ${DESCR} -f ${PLIST} -l
|
|
|
|
PKG_ARGS+= -b ${BUILD_VERSION_FILE} -B ${BUILD_INFO_FILE}
|
|
|
|
PKG_ARGS+= -s ${SIZE_PKG_FILE} -S ${SIZE_ALL_FILE}
|
2000-02-02 17:28:55 +01:00
|
|
|
PKG_ARGS+= -p ${PREFIX} -P "`${MAKE} package-depends|sort -u`"
|
2000-01-09 05:43:20 +01:00
|
|
|
.ifdef CONFLICTS
|
|
|
|
PKG_ARGS+= -C "${CONFLICTS}"
|
|
|
|
.endif
|
|
|
|
.ifdef INSTALL_FILE
|
|
|
|
PKG_ARGS+= -i ${INSTALL_FILE}
|
|
|
|
.endif
|
|
|
|
.ifdef DEINSTALL_FILE
|
|
|
|
PKG_ARGS+= -k ${DEINSTALL_FILE}
|
|
|
|
.endif
|
|
|
|
.ifdef REQ_FILE
|
|
|
|
PKG_ARGS+= -r ${REQ_FILE}
|
|
|
|
.endif
|
|
|
|
.ifdef MESSAGE_FILE
|
|
|
|
PKG_ARGS+= -D ${MESSAGE_FILE}
|
|
|
|
.endif
|
|
|
|
.ifndef NO_MTREE
|
|
|
|
PKG_ARGS+= -m ${MTREE_FILE}
|
|
|
|
.endif
|
|
|
|
.endif # !PKG_ARGS
|
|
|
|
PKG_SUFX?= .tgz
|
|
|
|
# where pkg_add records its dirty deeds.
|
|
|
|
PKG_DBDIR?= /var/db/pkg
|
|
|
|
|
|
|
|
# shared/dynamic motif libs
|
|
|
|
MOTIFLIB?= -L${MOTIFBASE}/lib -L${X11BASE}/lib -L${LOCALBASE}/lib -Wl,-R${MOTIFBASE}/lib -Wl,-R${X11BASE}/lib -Wl,-R${LOCALBASE}/lib -lXm
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
# Used to print all the '===>' style prompts - override this to turn them off.
|
|
|
|
ECHO_MSG?= ${ECHO}
|
|
|
|
|
1998-02-02 09:10:41 +01:00
|
|
|
# How to do nothing. Override if you, for some strange reason, would rather
|
|
|
|
# do something.
|
|
|
|
DO_NADA?= ${TRUE}
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
ALL_TARGET?= all
|
|
|
|
INSTALL_TARGET?= install
|
|
|
|
|
1997-11-05 14:36:31 +01:00
|
|
|
.if defined(USE_IMAKE) && !defined(NO_INSTALL_MANPAGES)
|
|
|
|
INSTALL_TARGET+= install.man
|
|
|
|
.endif
|
|
|
|
|
1998-05-29 11:21:43 +02:00
|
|
|
# If this host is behind a filtering firewall, use passive ftp(1)
|
|
|
|
.if defined(PASSIVE_FETCH)
|
|
|
|
FETCH_BEFORE_ARGS += -p
|
|
|
|
.endif
|
|
|
|
|
1999-10-06 00:18:05 +02:00
|
|
|
# Check if we got a real Motif, Lesstif or no Motif at all.
|
|
|
|
.if defined(USE_MOTIF)
|
1999-11-10 11:36:05 +01:00
|
|
|
.if exists(${MOTIFBASE}/include/Xm/Xm.h)
|
|
|
|
IS_LESSTIF!= ${EGREP} -c LESSTIF ${MOTIFBASE}/include/Xm/Xm.h || ${TRUE}
|
1999-10-06 00:18:05 +02:00
|
|
|
.if (${IS_LESSTIF} != "0")
|
|
|
|
DEPENDS+= lesstif-*:${PKGSRCDIR}/x11/lesstif
|
|
|
|
.endif
|
|
|
|
.else
|
|
|
|
DEPENDS+= lesstif-*:${PKGSRCDIR}/x11/lesstif
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
# Popular master sites
|
|
|
|
MASTER_SITE_XCONTRIB+= \
|
1999-04-15 22:39:38 +02:00
|
|
|
ftp://crl.dec.com/pub/X11/contrib/ \
|
1999-08-13 20:27:19 +02:00
|
|
|
ftp://ftp.sunsite.auc.dk/pub/X/X.org/contrib/ \
|
1999-04-15 22:39:38 +02:00
|
|
|
ftp://ftp.uni-paderborn.de/pub/X11/contrib/ \
|
|
|
|
ftp://ftp.x.org/contrib/
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
MASTER_SITE_GNU+= \
|
1999-04-15 22:39:38 +02:00
|
|
|
ftp://ftp.gnu.org/pub/gnu/ \
|
2000-02-03 17:41:48 +01:00
|
|
|
ftp://ftp.cs.columbia.edu/archives/gnu/prep/ \
|
|
|
|
ftp://ftp.gwdg.de/pub/gnu/ \
|
2000-02-05 15:10:27 +01:00
|
|
|
ftp://ftp.progsoc.uts.edu.au/pub/gnu/
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
MASTER_SITE_PERL_CPAN+= \
|
1999-04-15 22:39:38 +02:00
|
|
|
ftp://ftp.digital.com/pub/plan/perl/CPAN/modules/by-module/ \
|
|
|
|
ftp://ftp.cdrom.com/pub/perl/CPAN/modules/by-module/
|
1997-08-20 12:21:05 +02:00
|
|
|
|
2000-02-01 17:30:07 +01:00
|
|
|
MASTER_SITE_R_CRAN+= \
|
|
|
|
http://cran.r-project.org/src/ \
|
|
|
|
ftp://cran.r-project.org/pub/R/src/ \
|
|
|
|
http://cran.at.r-project.org/src/ \
|
|
|
|
ftp://cran.at.r-project.org/pub/R/src/ \
|
|
|
|
http://cran.dk.r-project.org/src/ \
|
|
|
|
http://cran.ch.r-project.org/src/ \
|
|
|
|
http://cran.uk.r-project.org/src/ \
|
|
|
|
http://cran.us.r-project.org/src/ \
|
|
|
|
http://lib.stat.cmu.edu/R/CRAN/src/ \
|
|
|
|
ftp://ftp.biostat.washington.edu/mirrors/R/CRAN/src/ \
|
|
|
|
http://cran.stat.wisc.edu/src/ \
|
|
|
|
http://SunSITE.auc.dk/R/src/ \
|
|
|
|
http://www.stat.unipg.it/pub/stat/statlib/R/CRAN/src/ \
|
|
|
|
ftp://ftp.u-aizu.ac.jp/pub/lang/R/CRAN/src/ \
|
|
|
|
ftp://dola.snu.ac.kr/pub/R/CRAN/src/ \
|
|
|
|
http://stat.ethz.ch/CRAN/src/ \
|
|
|
|
http://www.stats.bris.ac.uk/R/src/
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
MASTER_SITE_TEX_CTAN+= \
|
1999-04-15 22:39:38 +02:00
|
|
|
ftp://ftp.cdrom.com/pub/tex/ctan/ \
|
1999-08-22 23:36:49 +02:00
|
|
|
ftp://ftp.wustl.edu/packages/TeX/ \
|
1999-04-15 22:39:38 +02:00
|
|
|
ftp://ftp.funet.fi/pub/TeX/CTAN/ \
|
|
|
|
ftp://ftp.tex.ac.uk/public/ctan/tex-archive/ \
|
|
|
|
ftp://ftp.dante.de/tex-archive/
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
MASTER_SITE_SUNSITE+= \
|
1999-04-15 22:39:38 +02:00
|
|
|
ftp://sunsite.unc.edu/pub/Linux/ \
|
2000-03-01 11:53:07 +01:00
|
|
|
ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ \
|
|
|
|
ftp://ftp.informatik.rwth-aachen.de/pub/comp/Linux/sunsite.unc.edu/
|
1997-08-20 12:21:05 +02:00
|
|
|
|
1999-08-22 23:42:22 +02:00
|
|
|
MASTER_SITE_GNOME+= \
|
1999-08-22 23:36:10 +02:00
|
|
|
ftp://ftp.gnome.org/pub/GNOME/ \
|
|
|
|
ftp://ftp.sunet.se/pub/X11/GNOME/ \
|
1999-08-22 23:42:22 +02:00
|
|
|
ftp://ftp.informatik.uni-bonn.de/pub/os/unix/gnome/ \
|
1999-08-22 23:36:10 +02:00
|
|
|
ftp://ftp.tuwien.ac.at/hci/gnome.org/GNOME/
|
|
|
|
|
1999-04-22 17:50:42 +02:00
|
|
|
# Empty declaration to avoid "variable MASTER_SITES recursive" error
|
|
|
|
MASTER_SITES?=
|
|
|
|
PATCH_SITES?=
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
# The primary backup site.
|
1999-07-27 09:09:48 +02:00
|
|
|
MASTER_SITE_BACKUP?= \
|
|
|
|
ftp://ftp.netbsd.org/pub/NetBSD/packages/distfiles/ \
|
|
|
|
ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/
|
1999-11-20 22:15:49 +01:00
|
|
|
.if defined(DIST_SUBDIR)
|
|
|
|
MASTER_SITE_BACKUP:= ${MASTER_SITE_BACKUP:=${DIST_SUBDIR}/}
|
2000-02-25 06:46:27 +01:00
|
|
|
.if defined(MASTER_SITE_OVERRIDE)
|
2000-02-17 18:30:15 +01:00
|
|
|
MASTER_SITE_OVERRIDE:= ${MASTER_SITE_OVERRIDE:=${DIST_SUBDIR}/}
|
2000-02-25 06:46:27 +01:00
|
|
|
.endif # MASTER_SITE_OVERRIDE
|
|
|
|
.endif # DIST_SUBDIR
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
# Where to put distfiles that don't have any other master site
|
1999-11-20 22:15:49 +01:00
|
|
|
.if defined(DIST_SUBDIR)
|
|
|
|
MASTER_SITE_LOCAL?= \
|
|
|
|
${MASTER_SITE_BACKUP:S,${DIST_SUBDIR},LOCAL_PORTS,}
|
|
|
|
.else # DIST_SUBDIR
|
1997-08-20 12:21:05 +02:00
|
|
|
MASTER_SITE_LOCAL?= \
|
1999-11-20 22:15:49 +01:00
|
|
|
${MASTER_SITE_BACKUP:=LOCAL_PORTS/}
|
|
|
|
.endif # DIST_SUBDIR
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
# I guess we're in the master distribution business! :) As we gain mirror
|
|
|
|
# sites for distfiles, add them to this list.
|
|
|
|
.if !defined(MASTER_SITE_OVERRIDE)
|
|
|
|
MASTER_SITES+= ${MASTER_SITE_BACKUP}
|
|
|
|
PATCH_SITES+= ${MASTER_SITE_BACKUP}
|
|
|
|
.else
|
|
|
|
MASTER_SITES:= ${MASTER_SITE_OVERRIDE} ${MASTER_SITES}
|
|
|
|
PATCH_SITES:= ${MASTER_SITE_OVERRIDE} ${PATCH_SITES}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# Derived names so that they're easily overridable.
|
|
|
|
DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}
|
|
|
|
PKGNAME?= ${DISTNAME}
|
|
|
|
|
1998-08-06 11:51:20 +02:00
|
|
|
MAINTAINER?= packages@netbsd.org
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
ALLFILES?= ${DISTFILES} ${PATCHFILES}
|
1999-05-21 21:29:02 +02:00
|
|
|
CKSUMFILES?= ${ALLFILES}
|
|
|
|
.for __tmp__ in ${IGNOREFILES}
|
|
|
|
CKSUMFILES:= ${CKSUMFILES:N${__tmp__}}
|
|
|
|
.endfor
|
1997-08-20 12:21:05 +02:00
|
|
|
|
1998-08-15 00:10:53 +02:00
|
|
|
# List of all files, with ${DIST_SUBDIR} in front. Used for fetch and checksum.
|
1997-08-20 12:21:05 +02:00
|
|
|
.if defined(DIST_SUBDIR)
|
|
|
|
_CKSUMFILES?= ${CKSUMFILES:S/^/${DIST_SUBDIR}\//}
|
1998-08-15 00:10:53 +02:00
|
|
|
_DISTFILES?= ${DISTFILES:S/^/${DIST_SUBDIR}\//}
|
1997-08-20 12:21:05 +02:00
|
|
|
_IGNOREFILES?= ${IGNOREFILES:S/^/${DIST_SUBDIR}\//}
|
1998-08-15 00:10:53 +02:00
|
|
|
_PATCHFILES?= ${PATCHFILES:S/^/${DIST_SUBDIR}\//}
|
1997-08-20 12:21:05 +02:00
|
|
|
.else
|
|
|
|
_CKSUMFILES?= ${CKSUMFILES}
|
1998-08-15 00:10:53 +02:00
|
|
|
_DISTFILES?= ${DISTFILES}
|
1997-08-20 12:21:05 +02:00
|
|
|
_IGNOREFILES?= ${IGNOREFILES}
|
1998-08-15 00:10:53 +02:00
|
|
|
_PATCHFILES?= ${PATCHFILES}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# This is what is actually going to be extracted, and is overridable
|
|
|
|
# by user.
|
|
|
|
EXTRACT_ONLY?= ${DISTFILES}
|
|
|
|
|
1998-08-06 11:51:20 +02:00
|
|
|
.if !defined(CATEGORIES) || !defined(DISTNAME)
|
1998-08-05 21:25:08 +02:00
|
|
|
.BEGIN:
|
1998-08-06 11:51:20 +02:00
|
|
|
@${ECHO_MSG} "CATEGORIES and DISTNAME are mandatory."
|
1998-08-05 21:25:08 +02:00
|
|
|
@${FALSE}
|
1998-01-25 15:39:49 +01:00
|
|
|
.endif
|
1997-08-20 12:21:05 +02:00
|
|
|
|
1998-08-05 21:25:08 +02:00
|
|
|
.if defined(LIB_DEPENDS)
|
1997-08-20 12:21:05 +02:00
|
|
|
.BEGIN:
|
1999-04-15 22:39:38 +02:00
|
|
|
@${ECHO_MSG} "LIB_DEPENDS is deprecated and must be replaced with DEPENDS."
|
|
|
|
@${FALSE}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if defined(MASTER_SITE_SUBDIR)
|
|
|
|
.BEGIN:
|
|
|
|
@${ECHO_MSG} 'MASTER_SITE_SUBDIR is deprecated and must be replaced with MASTER_SITES.'
|
|
|
|
@${FALSE}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if defined(PATCH_SITE_SUBDIR)
|
|
|
|
.BEGIN:
|
|
|
|
@${ECHO_MSG} 'PATCH_SITE_SUBDIR is deprecated and must be replaced with PATCH_SITES.'
|
1997-08-20 12:21:05 +02:00
|
|
|
@${FALSE}
|
|
|
|
.endif
|
|
|
|
|
1999-05-24 22:39:35 +02:00
|
|
|
.if defined(ONLY_FOR_ARCHS) || defined(NOT_FOR_ARCHS) \
|
|
|
|
|| defined(ONLY_FOR_OPSYS) || defined(NOT_FOR_OPSYS)
|
|
|
|
.BEGIN:
|
|
|
|
@${ECHO_MSG} 'ONLY/NOT_FOR_ARCHS/OPSYS are deprecated and must be replaced with ONLY/NOT_FOR_PLATFORM.'
|
|
|
|
@${FALSE}
|
|
|
|
.endif
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
# Note this has to start with a capital letter (or more accurately, it
|
|
|
|
# shouldn't match "[a-z]*"), see the target "delete-package-links" below.
|
|
|
|
PKGREPOSITORYSUBDIR?= All
|
|
|
|
PKGREPOSITORY?= ${PACKAGES}/${PKGREPOSITORYSUBDIR}
|
|
|
|
PKGFILE?= ${PKGREPOSITORY}/${PKGNAME}${PKG_SUFX}
|
|
|
|
|
|
|
|
CONFIGURE_SCRIPT?= configure
|
1998-01-15 23:58:59 +01:00
|
|
|
CONFIGURE_ENV+= PATH=${PATH}:${LOCALBASE}/bin:${X11BASE}/bin
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
.if defined(GNU_CONFIGURE)
|
Implement some parts of proposals posted to tech-pkg:
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
1999-05-24 20:42:00 +02:00
|
|
|
CONFIGURE_ARGS+= --host=${MACHINE_GNU_PLATFORM} --prefix=${PREFIX}
|
1997-08-20 12:21:05 +02:00
|
|
|
HAS_CONFIGURE= yes
|
1999-07-01 16:33:36 +02:00
|
|
|
.if defined(USE_LOCALBASE_FOR_X11)
|
|
|
|
CONFIGURE_ARGS+= --x-libraries=${X11BASE}/lib --x-includes=${X11BASE}/include
|
|
|
|
.endif
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Passed to most of script invocations
|
1998-01-15 23:58:59 +01:00
|
|
|
SCRIPTS_ENV+= CURDIR=${.CURDIR} DISTDIR=${DISTDIR} \
|
1998-06-05 14:45:53 +02:00
|
|
|
PATH=${PATH}:${LOCALBASE}/bin:${X11BASE}/bin \
|
|
|
|
WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} PATCHDIR=${PATCHDIR} \
|
|
|
|
SCRIPTDIR=${SCRIPTDIR} FILESDIR=${FILESDIR} \
|
|
|
|
PKGSRCDIR=${PKGSRCDIR} DEPENDS="${DEPENDS}" \
|
|
|
|
PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE}
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
.if defined(BATCH)
|
|
|
|
SCRIPTS_ENV+= BATCH=yes
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.MAIN: all
|
|
|
|
|
1998-07-14 13:36:11 +02:00
|
|
|
# Use aliases, so that all versions of English are acceptable
|
|
|
|
.if defined(LICENCE) && !defined(LICENSE)
|
|
|
|
LICENSE= ${LICENCE}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if defined(ACCEPTABLE_LICENCES) && !defined(ACCEPTABLE_LICENSES)
|
|
|
|
ACCEPTABLE_LICENSES= ${ACCEPTABLE_LICENCES}
|
|
|
|
.endif
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
################################################################
|
1999-08-10 12:48:23 +02:00
|
|
|
# Many ways to disable a package.
|
1997-08-20 12:21:05 +02:00
|
|
|
#
|
1999-08-10 12:48:23 +02:00
|
|
|
# If we're in BATCH mode and the package is interactive, or we're
|
|
|
|
# in interactive mode and the package is non-interactive, skip all
|
1997-08-20 12:21:05 +02:00
|
|
|
# the important targets. The reason we have two modes is that
|
|
|
|
# one might want to leave a build in BATCH mode running
|
|
|
|
# overnight, then come back in the morning and do _only_ the
|
|
|
|
# interactive ones that required your intervention.
|
|
|
|
#
|
1999-08-10 12:48:23 +02:00
|
|
|
# Don't attempt to build packages that require Motif if you don't
|
1997-08-20 12:21:05 +02:00
|
|
|
# have Motif.
|
|
|
|
#
|
1999-08-10 12:48:23 +02:00
|
|
|
# Ignore packages that can't be resold if building for a CDROM.
|
1997-08-20 12:21:05 +02:00
|
|
|
#
|
1999-08-10 12:48:23 +02:00
|
|
|
# Don't build a package if it's restricted and we don't want to get
|
1997-08-20 12:21:05 +02:00
|
|
|
# into that.
|
|
|
|
#
|
1999-08-10 12:48:23 +02:00
|
|
|
# Don't build a package if it's broken.
|
1997-08-20 12:21:05 +02:00
|
|
|
################################################################
|
|
|
|
|
|
|
|
.if !defined(NO_IGNORE)
|
|
|
|
.if (defined(IS_INTERACTIVE) && defined(BATCH))
|
1999-08-10 12:48:23 +02:00
|
|
|
IGNORE= "is an interactive package"
|
1997-08-20 12:21:05 +02:00
|
|
|
.elif (!defined(IS_INTERACTIVE) && defined(INTERACTIVE))
|
1999-08-10 12:48:23 +02:00
|
|
|
IGNORE= "is not an interactive package"
|
1997-08-20 12:21:05 +02:00
|
|
|
.elif (defined(NO_CDROM) && defined(FOR_CDROM))
|
|
|
|
IGNORE= "may not be placed on a CDROM: ${NO_CDROM}"
|
|
|
|
.elif (defined(RESTRICTED) && defined(NO_RESTRICTED))
|
|
|
|
IGNORE= "is restricted: ${RESTRICTED}"
|
1999-01-26 23:03:18 +01:00
|
|
|
.elif ((defined(USE_IMAKE) || defined(USE_MOTIF) || \
|
1999-01-31 00:18:44 +01:00
|
|
|
defined(USE_X11BASE) || defined(USE_X11)) && \
|
1998-06-20 16:01:28 +02:00
|
|
|
!exists(${X11BASE}))
|
1997-08-20 12:21:05 +02:00
|
|
|
IGNORE= "uses X11, but ${X11BASE} not found"
|
|
|
|
.elif defined(BROKEN)
|
|
|
|
IGNORE= "is marked as broken: ${BROKEN}"
|
1998-07-21 13:09:11 +02:00
|
|
|
.elif defined(LICENSE)
|
|
|
|
.ifdef ACCEPTABLE_LICENSES
|
|
|
|
.for _lic in ${ACCEPTABLE_LICENSES}
|
|
|
|
.if ${LICENSE} == "${_lic}"
|
1998-07-06 17:10:48 +02:00
|
|
|
_ACCEPTABLE= yes
|
|
|
|
.endif
|
|
|
|
.endfor # _lic
|
1998-07-21 13:09:11 +02:00
|
|
|
.endif # ACCEPTABLE_LICENSES
|
1998-07-06 17:10:48 +02:00
|
|
|
.ifndef _ACCEPTABLE
|
1999-12-16 04:20:35 +01:00
|
|
|
IGNORE= "Unacceptable license: ${LICENSE}." \
|
|
|
|
" To build this package, add this line to your /etc/mk.conf:" \
|
|
|
|
" ACCEPTABLE_LICENSES+=${LICENSE}"
|
1998-07-06 17:10:48 +02:00
|
|
|
.endif
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if defined(IGNORE)
|
1999-12-16 04:20:35 +01:00
|
|
|
.if defined(IGNORE_SILENT)
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
IGNORECMD?= ${DO_NADA}
|
|
|
|
.endif
|
1999-12-16 04:20:35 +01:00
|
|
|
IGNORECMD?= ${ECHO} -n "===> ${PKGNAME} " ; \
|
|
|
|
for str in ${IGNORE} ; \
|
|
|
|
do \
|
|
|
|
${ECHO} "$$str" ; \
|
|
|
|
done
|
|
|
|
.if defined(IGNORE_FAIL)
|
|
|
|
IGNORECMD+= && ${FALSE}
|
|
|
|
.endif
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
fetch checksum extract patch configure all build install deinstall package \
|
|
|
|
depends check-depends:
|
1997-08-20 12:21:05 +02:00
|
|
|
@${IGNORECMD}
|
1998-01-25 15:46:10 +01:00
|
|
|
.endif # IGNORE
|
|
|
|
.endif # !NO_IGNORE
|
|
|
|
|
1998-10-20 18:01:03 +02:00
|
|
|
# Add these defs to the ones dumped into +BUILD_DEFS
|
|
|
|
BUILD_DEFS+= OPSYS OS_VERSION MACHINE_ARCH MACHINE_GNU_ARCH
|
1999-03-29 13:22:29 +02:00
|
|
|
BUILD_DEFS+= CPPFLAGS CFLAGS LDFLAGS LICENSE
|
1998-10-20 18:01:03 +02:00
|
|
|
BUILD_DEFS+= CONFIGURE_ENV CONFIGURE_ARGS
|
1999-09-29 17:13:26 +02:00
|
|
|
BUILD_DEFS+= OBJECT_FMT
|
1998-10-20 18:01:03 +02:00
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
.if !target(all)
|
|
|
|
all: build
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !defined(DEPENDS_TARGET)
|
1997-09-28 02:44:15 +02:00
|
|
|
.if make(reinstall)
|
|
|
|
DEPENDS_TARGET= reinstall
|
|
|
|
.else
|
1997-08-20 12:21:05 +02:00
|
|
|
DEPENDS_TARGET= install
|
|
|
|
.endif
|
1997-09-28 02:44:15 +02:00
|
|
|
.endif
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
################################################################
|
|
|
|
# The following are used to create easy dummy targets for
|
|
|
|
# disabling some bit of default target behavior you don't want.
|
|
|
|
# They still check to see if the target exists, and if so don't
|
|
|
|
# do anything, since you might want to set this globally for a
|
1999-08-10 12:48:23 +02:00
|
|
|
# group of packages in a Makefile.inc, but still be able to
|
1997-08-20 12:21:05 +02:00
|
|
|
# override from an individual Makefile.
|
|
|
|
################################################################
|
|
|
|
|
|
|
|
# Disable checksum
|
1998-06-02 17:47:06 +02:00
|
|
|
.if (defined(NO_CHECKSUM) && !target(checksum)) || exists(${EXTRACT_COOKIE})
|
1997-08-20 12:21:05 +02:00
|
|
|
checksum: fetch
|
|
|
|
@${DO_NADA}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# Disable extract
|
|
|
|
.if defined(NO_EXTRACT) && !target(extract)
|
|
|
|
extract: checksum
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_FLAGS} ${EXTRACT_COOKIE}
|
1997-08-20 12:21:05 +02:00
|
|
|
checksum: fetch
|
|
|
|
@${DO_NADA}
|
|
|
|
makesum:
|
|
|
|
@${DO_NADA}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# Disable patch
|
|
|
|
.if defined(NO_PATCH) && !target(patch)
|
|
|
|
patch: extract
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_FLAGS} ${PATCH_COOKIE}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Disable configure
|
|
|
|
.if defined(NO_CONFIGURE) && !target(configure)
|
|
|
|
configure: patch
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_FLAGS} ${CONFIGURE_COOKIE}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Disable build
|
|
|
|
.if defined(NO_BUILD) && !target(build)
|
|
|
|
build: configure
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_FLAGS} ${BUILD_COOKIE}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Disable install
|
|
|
|
.if defined(NO_INSTALL) && !target(install)
|
|
|
|
install: build
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_FLAGS} ${INSTALL_COOKIE}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Disable package
|
|
|
|
.if defined(NO_PACKAGE) && !target(package)
|
|
|
|
package:
|
|
|
|
.if defined(IGNORE_SILENT)
|
|
|
|
@${DO_NADA}
|
|
|
|
.else
|
|
|
|
@${ECHO_MSG} "===> ${PKGNAME} may not be packaged: ${NO_PACKAGE}."
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# Disable describe
|
|
|
|
.if defined(NO_DESCRIBE) && !target(describe)
|
|
|
|
describe:
|
|
|
|
@${DO_NADA}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
################################################################
|
|
|
|
# More standard targets start here.
|
|
|
|
#
|
|
|
|
# These are the body of the build/install framework. If you are
|
|
|
|
# not happy with the default actions, and you can't solve it by
|
|
|
|
# adding pre-* or post-* targets/scripts, override these.
|
|
|
|
################################################################
|
|
|
|
|
|
|
|
# Fetch
|
1998-09-05 21:45:25 +02:00
|
|
|
_FETCH_FILE= \
|
1999-07-28 12:58:30 +02:00
|
|
|
if [ ! -f $$file -a ! -f $$bfile -a ! -h $$bfile ]; then \
|
1998-10-12 21:40:33 +02:00
|
|
|
${ECHO_MSG} ">> $$bfile doesn't seem to exist on this system."; \
|
|
|
|
for site in $$sites; do \
|
|
|
|
${ECHO_MSG} ">> Attempting to fetch $$bfile from $${site}."; \
|
|
|
|
if ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${site}$${bfile} ${FETCH_AFTER_ARGS}; then \
|
1999-07-21 14:16:27 +02:00
|
|
|
if [ -n "${FAILOVER_FETCH}" -a -f ${MD5_FILE} -a -f ${_DISTDIR}/$$bfile ]; then \
|
1998-10-12 21:40:33 +02:00
|
|
|
CKSUM=`${MD5} < ${_DISTDIR}/$$bfile`; \
|
1999-01-19 23:18:19 +01:00
|
|
|
CKSUM2=`${AWK} '$$1 == "MD5" && $$2 == "('$$file')"{print $$4;}' ${MD5_FILE}`; \
|
1998-10-12 21:40:33 +02:00
|
|
|
if [ "$$CKSUM" = "$$CKSUM2" -o "$$CKSUM2" = "IGNORE" ]; then \
|
1998-09-01 15:15:29 +02:00
|
|
|
continue 2; \
|
1998-10-12 21:40:33 +02:00
|
|
|
else \
|
|
|
|
${ECHO_MSG} ">> Checksum failure - trying next site."; \
|
1998-09-01 15:15:29 +02:00
|
|
|
fi; \
|
1999-07-21 14:16:27 +02:00
|
|
|
elif [ ! -f ${_DISTDIR}/$$bfile ]; then \
|
|
|
|
${ECHO_MSG} ">> FTP didn't fetch expected file, trying next site." ; \
|
1998-10-12 21:40:33 +02:00
|
|
|
else \
|
|
|
|
continue 2; \
|
|
|
|
fi; \
|
|
|
|
fi \
|
|
|
|
done; \
|
|
|
|
${ECHO_MSG} ">> Couldn't fetch it - please try to retrieve this";\
|
|
|
|
${ECHO_MSG} ">> file manually into ${_DISTDIR} and try again."; \
|
|
|
|
exit 1; \
|
|
|
|
fi
|
1998-09-05 21:45:25 +02:00
|
|
|
|
1999-07-27 17:01:30 +02:00
|
|
|
_CHECK_DIST_PATH= \
|
|
|
|
if [ "X${DIST_PATH}" != "X" ]; then \
|
|
|
|
for d in "" `${ECHO} ${DIST_PATH} | ${TR} ':' ' '`; do \
|
|
|
|
if [ "X$$d" = "X" -o "X$$d" = "X${DISTDIR}" ]; then continue; fi; \
|
|
|
|
if [ -f $$d/${DIST_SUBDIR}/$$bfile ]; then \
|
|
|
|
${ECHO} "Using $$d/${DIST_SUBDIR}/$$bfile"; \
|
|
|
|
${RM} -f $$bfile; \
|
|
|
|
${LN} -s $$d/${DIST_SUBDIR}/$$bfile $$bfile; \
|
|
|
|
break; \
|
|
|
|
fi; \
|
|
|
|
done; \
|
|
|
|
fi
|
|
|
|
|
1999-07-13 20:09:19 +02:00
|
|
|
#
|
|
|
|
# Sort the master site list according to the patterns in MASTER_SORT
|
|
|
|
#
|
|
|
|
|
|
|
|
MASTER_SORT?=
|
|
|
|
MASTER_SORT_REGEX?=
|
|
|
|
MASTER_SORT_REGEX+= ${MASTER_SORT:S/./\\./g:C/.*/:\/\/[^\/]*&\//}
|
|
|
|
|
|
|
|
MASTER_SORT_AWK= BEGIN { RS = " "; ORS = " "; IGNORECASE = 1 ; gl = "${MASTER_SORT_REGEX}"; }
|
|
|
|
.for srt in ${MASTER_SORT_REGEX}
|
|
|
|
MASTER_SORT_AWK+= /${srt:C/\//\\\//g}/ { good["${srt}"] = good["${srt}"] " " $$0 ; next; }
|
|
|
|
.endfor
|
|
|
|
MASTER_SORT_AWK+= { rest = rest " " $$0; } END { n=split(gl, gla); for(i=1;i<=n;i++) { print good[gla[i]]; } print rest; }
|
|
|
|
SORTED_MASTER_SITES!= echo '${MASTER_SITES}' | awk '${MASTER_SORT_AWK}'
|
|
|
|
|
1998-09-05 21:45:25 +02:00
|
|
|
.if !target(do-fetch)
|
|
|
|
do-fetch:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${_DISTDIR}
|
|
|
|
${_PKG_SILENT}(${_PKG_DEBUG}cd ${_DISTDIR}; \
|
1999-07-13 20:09:19 +02:00
|
|
|
sites="${SORTED_MASTER_SITES}"; \
|
1999-03-08 18:26:54 +01:00
|
|
|
for file in "" ${_DISTFILES}; do \
|
|
|
|
if [ "X$$file" = X"" ]; then continue; fi; \
|
1999-07-27 17:01:30 +02:00
|
|
|
bfile=`${BASENAME} $$file`; \
|
|
|
|
${_CHECK_DIST_PATH}; \
|
|
|
|
${_FETCH_FILE} \
|
1997-08-20 12:21:05 +02:00
|
|
|
done)
|
1999-03-08 18:26:54 +01:00
|
|
|
.if defined(_PATCHFILES)
|
|
|
|
${_PKG_SILENT}(${_PKG_DEBUG}cd ${_DISTDIR}; \
|
|
|
|
sites="${PATCH_SITES}"; \
|
|
|
|
for file in "" ${_PATCHFILES}; do \
|
|
|
|
if [ "X$$file" = X"" ]; then continue; fi; \
|
1999-07-27 17:01:30 +02:00
|
|
|
bfile=`${BASENAME} $$file`; \
|
|
|
|
${_CHECK_DIST_PATH}; \
|
1999-03-08 18:26:54 +01:00
|
|
|
${_FETCH_FILE} \
|
1997-08-20 12:21:05 +02:00
|
|
|
done)
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
1999-06-28 13:42:28 +02:00
|
|
|
.if !target(show-distfiles)
|
|
|
|
show-distfiles:
|
|
|
|
.if defined(IGNORE)
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${DO_NADA}
|
|
|
|
.else
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
for file in "" ${_CKSUMFILES}; do \
|
|
|
|
if [ "X$$file" = "X" ]; then continue; fi; \
|
|
|
|
${ECHO} $$file; \
|
|
|
|
done
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
1999-07-02 14:54:28 +02:00
|
|
|
.if !target(show-downlevel)
|
|
|
|
show-downlevel:
|
|
|
|
.if defined(IGNORE)
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${DO_NADA}
|
|
|
|
.else
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
base=`${ECHO} ${PKGNAME} | ${SED} -e 's|\(.*\)-.*|\1|'`; \
|
1999-10-22 16:14:22 +02:00
|
|
|
found=`${PKG_INFO} -e "$$base-[0-9]*" || ${TRUE}`; \
|
1999-07-02 14:54:28 +02:00
|
|
|
if [ "X$$found" != "X" -a "X$$found" != "X${PKGNAME}" ]; then \
|
|
|
|
${ECHO} "$$base package: $$found installed, pkgsrc version ${PKGNAME}"; \
|
|
|
|
fi
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
1998-01-22 11:20:48 +01:00
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
# Extract
|
|
|
|
|
1999-04-01 16:07:52 +02:00
|
|
|
DOWNLOADED_DISTFILE= ${_DISTDIR}/$$file
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
.if !target(do-extract)
|
|
|
|
do-extract:
|
1998-09-15 19:05:04 +02:00
|
|
|
.ifndef NO_WRKDIR
|
1999-08-30 00:13:01 +02:00
|
|
|
.ifndef KEEP_WRKDIR
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${RM} -rf ${WRKDIR}
|
1999-08-30 00:13:01 +02:00
|
|
|
.endif
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${WRKDIR}
|
1998-09-16 10:46:58 +02:00
|
|
|
.ifdef WRKOBJDIR
|
1999-03-09 16:31:59 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
1999-08-04 15:49:02 +02:00
|
|
|
${RM} -f ${WRKDIR_BASENAME} || ${TRUE}; \
|
1999-03-09 16:31:59 +01:00
|
|
|
if ${LN} -s ${WRKDIR} ${WRKDIR_BASENAME} 2>/dev/null; then \
|
1998-09-16 10:46:58 +02:00
|
|
|
${ECHO} "${WRKDIR_BASENAME} -> ${WRKDIR}"; \
|
|
|
|
fi
|
|
|
|
.endif # WRKOBJDIR
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
1999-03-09 17:39:56 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
for file in "" ${EXTRACT_ONLY}; do \
|
|
|
|
if [ "X$$file" = X"" ]; then continue; fi; \
|
1999-04-01 16:07:52 +02:00
|
|
|
(cd ${WRKDIR} && ${EXTRACT_CMD}); \
|
1997-08-20 12:21:05 +02:00
|
|
|
done
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# Patch
|
|
|
|
|
|
|
|
.if !target(do-patch)
|
|
|
|
do-patch:
|
|
|
|
.if defined(PATCHFILES)
|
|
|
|
@${ECHO_MSG} "===> Applying distribution patches for ${PKGNAME}"
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}(${_PKG_DEBUG}cd ${_DISTDIR}; \
|
1997-08-20 12:21:05 +02:00
|
|
|
for i in ${PATCHFILES}; do \
|
|
|
|
if [ ${PATCH_DEBUG_TMP} = yes ]; then \
|
|
|
|
${ECHO_MSG} "===> Applying distribution patch $$i" ; \
|
|
|
|
fi; \
|
|
|
|
case $$i in \
|
|
|
|
*.Z|*.gz) \
|
1999-01-09 21:52:30 +01:00
|
|
|
${GZCAT} $$i | ${PATCH} ${PATCH_DIST_ARGS} \
|
|
|
|
|| ( ${ECHO} Patch $$i failed ; exit 1 ) ; \
|
1997-08-20 12:21:05 +02:00
|
|
|
;; \
|
|
|
|
*) \
|
1999-01-09 21:52:30 +01:00
|
|
|
${PATCH} ${PATCH_DIST_ARGS} < $$i \
|
|
|
|
|| ( ${ECHO} Patch $$i failed ; exit 1 ) ; \
|
1997-08-20 12:21:05 +02:00
|
|
|
;; \
|
|
|
|
esac; \
|
|
|
|
done)
|
|
|
|
.endif
|
1999-07-09 15:14:21 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ -d ${PATCHDIR} ]; then \
|
1998-09-23 15:09:32 +02:00
|
|
|
if [ "`${ECHO} ${PATCHDIR}/patch-*`" = "${PATCHDIR}/patch-*" ]; then \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} "===> Ignoring empty patch directory"; \
|
1999-07-09 15:14:21 +02:00
|
|
|
if [ -d ${PATCHDIR}/CVS ]; then \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} "===> Perhaps you forgot the -P flag to cvs co or update?"; \
|
1999-07-09 15:14:21 +02:00
|
|
|
fi; \
|
|
|
|
else \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} "===> Applying ${OPSYS} patches for ${PKGNAME}" ; \
|
1999-07-26 18:46:43 +02:00
|
|
|
fail=""; \
|
1999-07-09 15:14:21 +02:00
|
|
|
for i in ${PATCHDIR}/patch-*; do \
|
|
|
|
case $$i in \
|
|
|
|
*.orig|*.rej|*~) \
|
|
|
|
${ECHO_MSG} "===> Ignoring patchfile $$i" ; \
|
1999-07-27 17:01:30 +02:00
|
|
|
continue; \
|
|
|
|
;; \
|
|
|
|
${PATCHDIR}/patch-local-*) \
|
1999-07-09 15:14:21 +02:00
|
|
|
;; \
|
|
|
|
*) \
|
|
|
|
if [ -f ${PATCH_SUM_FILE} ]; then \
|
|
|
|
filename=`expr $$i : '.*/\(.*\)'`; \
|
|
|
|
calcsum=`${SED} -e '/\$$NetBSD.*/d' $$i | ${MD5}`; \
|
|
|
|
recorded=`${AWK} '$$1 == "MD5" && $$2 == "('$$filename')" { print $$4; }' ${PATCH_SUM_FILE} || ${TRUE}`; \
|
|
|
|
if [ "X$$recorded" = "X" ]; then \
|
1999-07-26 18:46:43 +02:00
|
|
|
${ECHO_MSG} "**************************************"; \
|
|
|
|
${ECHO_MSG} "Ignoring unknown patch file: $$i"; \
|
|
|
|
${ECHO_MSG} "**************************************"; \
|
|
|
|
continue; \
|
1999-07-09 15:14:21 +02:00
|
|
|
fi; \
|
|
|
|
if [ "X$$calcsum" != "X$$recorded" ]; then \
|
1999-07-26 18:46:43 +02:00
|
|
|
${ECHO_MSG} "**************************************"; \
|
|
|
|
${ECHO_MSG} "Patch file $$i has been modified"; \
|
|
|
|
${ECHO_MSG} "**************************************"; \
|
|
|
|
fail="$$fail $$filename"; \
|
1999-07-27 17:01:30 +02:00
|
|
|
continue; \
|
1999-07-09 15:14:21 +02:00
|
|
|
fi; \
|
|
|
|
fi; \
|
|
|
|
;; \
|
|
|
|
esac; \
|
1999-07-27 17:01:30 +02:00
|
|
|
if [ ${PATCH_DEBUG_TMP} = yes ]; then \
|
|
|
|
${ECHO_MSG} "===> Applying ${OPSYS} patch $$i" ; \
|
|
|
|
fi; \
|
1999-11-12 11:34:47 +01:00
|
|
|
fuzz=""; \
|
|
|
|
${PATCH} -v > /dev/null 2>&1 && fuzz="${PATCH_FUZZ_FACTOR}"; \
|
|
|
|
${PATCH} $$fuzz ${PATCH_ARGS} < $$i || \
|
|
|
|
( ${ECHO} Patch $$i failed ; exit 1 ) ; \
|
1999-07-09 15:14:21 +02:00
|
|
|
done; \
|
1999-07-26 18:46:43 +02:00
|
|
|
if [ "X$$fail" != "X" ]; then \
|
|
|
|
${ECHO_MSG} "Patching failed due to modified patch file(s): $$fail"; \
|
|
|
|
exit 1; \
|
|
|
|
fi; \
|
1999-07-09 15:14:21 +02:00
|
|
|
fi; \
|
1997-08-20 12:21:05 +02:00
|
|
|
fi
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# Configure
|
|
|
|
|
|
|
|
.if !target(do-configure)
|
|
|
|
do-configure:
|
1999-12-07 09:55:58 +01:00
|
|
|
.if defined(USE_LIBTOOL) && defined(LTCONFIG_OVERRIDE) && !defined(LIBTOOL_OVERRIDE)
|
|
|
|
.for ltconfig in ${LTCONFIG_OVERRIDE}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ -f ${ltconfig} ]; then \
|
|
|
|
${ECHO} "${RM} -f libtool; ${LN} -s ${LIBTOOL} libtool" \
|
|
|
|
> ${ltconfig}; \
|
|
|
|
fi
|
|
|
|
.endfor
|
|
|
|
.endif
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ -f ${SCRIPTDIR}/configure ]; then \
|
1997-08-20 12:21:05 +02:00
|
|
|
cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
|
|
|
|
${SCRIPTDIR}/configure; \
|
|
|
|
fi
|
|
|
|
.if defined(HAS_CONFIGURE)
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}(${_PKG_DEBUG}cd ${WRKSRC} && ${SETENV} CC="${CC}" ac_cv_path_CC="${CC}" \
|
1998-11-07 15:41:50 +01:00
|
|
|
CFLAGS="${CFLAGS}" \
|
1999-03-31 12:59:44 +02:00
|
|
|
INSTALL="`${TYPE} ${INSTALL} | ${AWK} '{ print $$NF }'` -c -o ${BINOWN} -g ${BINGRP}" \
|
1999-05-20 21:50:09 +02:00
|
|
|
INSTALL_DATA="${INSTALL_DATA}" \
|
1997-08-20 12:21:05 +02:00
|
|
|
INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
|
1999-05-20 21:21:02 +02:00
|
|
|
INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
|
1997-08-20 12:21:05 +02:00
|
|
|
${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS})
|
|
|
|
.endif
|
|
|
|
.if defined(USE_IMAKE)
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}(${_PKG_DEBUG}cd ${WRKSRC} && ${SETENV} ${SCRIPTS_ENV} XPROJECTROOT=${X11BASE} ${XMKMF})
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
1999-12-07 09:55:58 +01:00
|
|
|
.if defined(USE_LIBTOOL) && defined(LIBTOOL_OVERRIDE) && !defined(LTCONFIG_OVERRIDE)
|
|
|
|
.for libtool in ${LIBTOOL_OVERRIDE}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ -f ${libtool} ]; then \
|
|
|
|
${RM} -f ${libtool}; \
|
|
|
|
${LN} -s ${LIBTOOL} ${libtool}; \
|
|
|
|
fi
|
|
|
|
.endfor
|
|
|
|
.endif
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Build
|
|
|
|
|
|
|
|
.if !target(do-build)
|
|
|
|
do-build:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}(${_PKG_DEBUG}cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} -f ${MAKEFILE} ${ALL_TARGET})
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Install
|
|
|
|
|
|
|
|
.if !target(do-install)
|
|
|
|
do-install:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}(${_PKG_DEBUG}cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} -f ${MAKEFILE} ${INSTALL_TARGET})
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Package
|
|
|
|
|
|
|
|
.if !target(do-package)
|
1998-08-26 18:50:48 +02:00
|
|
|
do-package: ${PLIST} ${DESCR}
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if ${TEST} -e ${PLIST}; then \
|
1999-11-22 03:42:30 +01:00
|
|
|
${ECHO_MSG} "===> Building binary package for ${PKGNAME}"; \
|
1999-05-12 07:35:55 +02:00
|
|
|
if [ ! -d ${PKGREPOSITORY} ]; then \
|
|
|
|
${MKDIR} ${PKGREPOSITORY}; \
|
|
|
|
if [ $$? -ne 0 ]; then \
|
|
|
|
${ECHO_MSG} ">> Can't create directory ${PKGREPOSITORY}."; \
|
|
|
|
exit 1; \
|
1999-03-08 18:26:54 +01:00
|
|
|
fi; \
|
|
|
|
fi; \
|
|
|
|
if ${PKG_CREATE} ${PKG_ARGS} ${PKGFILE}; then \
|
1999-05-12 07:35:55 +02:00
|
|
|
${MAKE} ${.MAKEFLAGS} package-links; \
|
1999-03-08 18:26:54 +01:00
|
|
|
else \
|
|
|
|
${MAKE} ${.MAKEFLAGS} delete-package; \
|
|
|
|
exit 1; \
|
|
|
|
fi; \
|
1997-08-20 12:21:05 +02:00
|
|
|
fi
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# Some support rules for do-package
|
|
|
|
|
|
|
|
.if !target(package-links)
|
|
|
|
package-links:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MAKE} ${.MAKEFLAGS} delete-package-links
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}for cat in ${CATEGORIES}; do \
|
|
|
|
if [ ! -d ${PACKAGES}/$$cat ]; then \
|
1999-03-09 12:14:52 +01:00
|
|
|
${MKDIR} ${PACKAGES}/$$cat; \
|
|
|
|
if [ $$? -ne 0 ]; then \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} ">> Can't create directory ${PACKAGES}/$$cat."; \
|
1999-03-08 18:26:54 +01:00
|
|
|
exit 1; \
|
|
|
|
fi; \
|
|
|
|
fi; \
|
|
|
|
${LN} -s ../${PKGREPOSITORYSUBDIR}/${PKGNAME}${PKG_SUFX} ${PACKAGES}/$$cat; \
|
1997-08-20 12:21:05 +02:00
|
|
|
done;
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(delete-package-links)
|
|
|
|
delete-package-links:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${PACKAGES}/[a-z]*/${PKGNAME}${PKG_SUFX};
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(delete-package)
|
|
|
|
delete-package:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MAKE} ${.MAKEFLAGS} delete-package-links
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${PKGFILE}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
1998-06-18 13:45:33 +02:00
|
|
|
# Set the PLIST_SRC definition, if necessary
|
|
|
|
.if !defined(PLIST_SRC)
|
|
|
|
.if exists(${PKGDIR}/PLIST)
|
|
|
|
PLIST_SRC= ${PKGDIR}/PLIST
|
|
|
|
.elif exists(${PKGDIR}/PLIST-mi) && \
|
|
|
|
exists(${PKGDIR}/PLIST-md.shared) && \
|
|
|
|
exists(${PKGDIR}/PLIST-md.static)
|
|
|
|
PLIST_SRC= ${PKGDIR}/PLIST-mi
|
1998-10-03 05:14:23 +02:00
|
|
|
.if defined(NOPIC)
|
1998-06-18 13:45:33 +02:00
|
|
|
PLIST_SRC+= ${PKGDIR}/PLIST-md.static
|
|
|
|
.else
|
|
|
|
PLIST_SRC+= ${PKGDIR}/PLIST-md.shared
|
1998-10-03 05:14:23 +02:00
|
|
|
.endif # NOPIC
|
1998-06-18 13:45:33 +02:00
|
|
|
.else # no PLIST at all
|
|
|
|
PLIST_SRC=
|
|
|
|
.endif # ${PKGDIR}/PLIST
|
|
|
|
.endif # !PLIST_SRC
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
################################################################
|
1999-08-10 12:48:23 +02:00
|
|
|
# This is the "generic" package target, actually a macro used from the
|
1997-08-20 12:21:05 +02:00
|
|
|
# six main targets. See below for more.
|
|
|
|
################################################################
|
|
|
|
|
|
|
|
_PORT_USE: .USE
|
|
|
|
.if make(real-extract)
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} build-depends misc-depends
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
1999-03-31 11:04:18 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/pre-/}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ -f ${SCRIPTDIR}/${.TARGET:S/^real-/pre-/} ]; then \
|
|
|
|
cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
|
|
|
|
${SCRIPTDIR}/${.TARGET:S/^real-/pre-/}; \
|
|
|
|
fi
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/do-/}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${.MAKEFLAGS} ${.TARGET:S/^real-/post-/}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ -f ${SCRIPTDIR}/${.TARGET:S/^real-/post-/} ]; then \
|
|
|
|
cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
|
|
|
|
${SCRIPTDIR}/${.TARGET:S/^real-/post-/}; \
|
|
|
|
fi
|
|
|
|
.if !make(real-fetch) \
|
|
|
|
&& (!make(real-patch) || !defined(PATCH_CHECK_ONLY)) \
|
|
|
|
&& (!make(real-package) || !defined(PACKAGE_NOINSTALL))
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_FLAGS} ${WRKDIR}/.${.TARGET:S/^real-//}_done
|
|
|
|
.endif
|
|
|
|
|
2000-02-13 00:46:05 +01:00
|
|
|
root-install:
|
1998-08-28 13:13:23 +02:00
|
|
|
.if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER)
|
1998-06-05 13:23:09 +02:00
|
|
|
.if defined(CONFLICTS)
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${WRKDIR}/.CONFLICTS
|
1998-08-25 18:26:09 +02:00
|
|
|
.for conflict in ${CONFLICTS}
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}found="`${PKG_INFO} -e \"${conflict}\" || ${TRUE}`"; \
|
1998-08-25 18:26:09 +02:00
|
|
|
if [ X"$$found" != X"" ]; then \
|
|
|
|
${ECHO} "$$found" >> ${WRKDIR}/.CONFLICTS; \
|
|
|
|
fi
|
|
|
|
.endfor
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ -s ${WRKDIR}/.CONFLICTS ]; then \
|
1998-08-25 18:26:09 +02:00
|
|
|
found=`cat ${WRKDIR}/.CONFLICTS | ${SED} -e s'|${PKG_DBDIR}/||g' | tr '\012' ' '`; \
|
|
|
|
${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s): $$found found."; \
|
|
|
|
${ECHO_MSG} " They install the same files into the same place."; \
|
|
|
|
${ECHO_MSG} " Please remove $$found first with pkg_delete(1)."; \
|
|
|
|
${RM} -f ${WRKDIR}/.CONFLICTS; \
|
|
|
|
exit 1; \
|
|
|
|
fi
|
|
|
|
.endif # CONFLICTS
|
1999-06-14 03:56:52 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}found="`${PKG_INFO} -e \"${PKGNAME:C/-[^-]*$/-[0-9]*/}\" || ${TRUE}`"; \
|
1999-02-16 04:23:04 +01:00
|
|
|
if [ "$$found" != "" ]; then \
|
|
|
|
${ECHO_MSG} "===> $$found is already installed - perhaps an older version?"; \
|
|
|
|
${ECHO_MSG} " If so, you may wish to \`\`pkg_delete $$found'' and install"; \
|
1999-09-18 06:24:22 +02:00
|
|
|
${ECHO_MSG} " this package again by \`\`${MAKE} reinstall'' to upgrade it properly,"; \
|
|
|
|
${ECHO_MSG} " or use \`\`${MAKE} update'' to upgrade it and all of its dependencies."; \
|
1999-02-16 04:23:04 +01:00
|
|
|
${ECHO_MSG} " If you really wish to overwrite the old package of $$found"; \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} " without deleting it first, set the variable \"FORCE_PKG_REGISTER\""; \
|
1998-04-19 14:48:07 +02:00
|
|
|
${ECHO_MSG} " in your environment or the \"${MAKE} install\" command line."; \
|
1999-03-08 18:26:54 +01:00
|
|
|
exit 1; \
|
1997-08-20 12:21:05 +02:00
|
|
|
fi
|
1999-03-31 11:04:18 +02:00
|
|
|
.endif # !NO_PKG_REGISTER && !NO_FORCE_REGISTER
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ `${SH} -c umask` != ${DEF_UMASK} ]; then \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} "===> Warning: your umask is \"`${SH} -c umask`"\".; \
|
1999-01-19 02:30:29 +01:00
|
|
|
${ECHO_MSG} " If this is not desired, set it to an appropriate value (${DEF_UMASK})"; \
|
1999-08-10 12:48:23 +02:00
|
|
|
${ECHO_MSG} " and install this package again by \`\`${MAKE} deinstall reinstall''."; \
|
1997-08-20 12:21:05 +02:00
|
|
|
fi
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} run-depends
|
1997-08-20 12:21:05 +02:00
|
|
|
.if !defined(NO_MTREE)
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ `${ID} -u` = 0 ]; then \
|
|
|
|
if [ ! -f ${MTREE_FILE} ]; then \
|
1997-09-28 02:44:15 +02:00
|
|
|
${ECHO_MSG} "Error: mtree file \"${MTREE_FILE}\" is missing."; \
|
1999-03-08 18:26:54 +01:00
|
|
|
exit 1; \
|
|
|
|
else \
|
|
|
|
if [ ! -d ${PREFIX} ]; then \
|
|
|
|
mkdir -p ${PREFIX}; \
|
|
|
|
fi; \
|
1999-06-23 19:06:20 +02:00
|
|
|
${MTREE} ${MTREE_ARGS} ${PREFIX}/; \
|
1999-03-08 18:26:54 +01:00
|
|
|
fi; \
|
|
|
|
else \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} "Warning: not superuser, can't run mtree."; \
|
|
|
|
${ECHO_MSG} "Become root and try again to ensure correct permissions."; \
|
|
|
|
fi
|
1999-03-31 11:04:18 +02:00
|
|
|
.endif # !NO_MTREE
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${.MAKEFLAGS} pre-install
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ -f ${SCRIPTDIR}/pre-install ]; then \
|
1999-03-08 18:26:54 +01:00
|
|
|
cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
|
1999-03-31 11:04:18 +02:00
|
|
|
${SCRIPTDIR}/pre-install; \
|
1997-08-20 12:21:05 +02:00
|
|
|
fi
|
1999-03-31 11:04:18 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${.MAKEFLAGS} do-install
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${.MAKEFLAGS} post-install
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ -f ${SCRIPTDIR}/post-install ]; then \
|
1999-03-08 18:26:54 +01:00
|
|
|
cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
|
1999-03-31 11:04:18 +02:00
|
|
|
${SCRIPTDIR}/post-install; \
|
1997-08-20 12:21:05 +02:00
|
|
|
fi
|
1999-03-08 18:26:54 +01:00
|
|
|
.for f in ${INFO_FILES}
|
1999-05-05 00:44:10 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${ECHO} "install-info --info-dir=${PREFIX}/info ${PREFIX}/info/${f}"; \
|
1999-03-08 18:26:54 +01:00
|
|
|
install-info --remove --info-dir=${PREFIX}/info ${PREFIX}/info/${f}; \
|
|
|
|
install-info --info-dir=${PREFIX}/info ${PREFIX}/info/${f}
|
|
|
|
.endfor
|
2000-02-13 00:46:05 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} ${PLIST}
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}(${_PKG_DEBUG}newmanpages=`${EGREP} -h \
|
1999-09-21 14:53:14 +02:00
|
|
|
'^([^@/]*/)*man/([^/]*/)?(man[1-9ln]/.*\.[1-9ln]|cat[1-9ln]/.*\.0)(\.gz)?$$' \
|
2000-02-12 18:24:41 +01:00
|
|
|
${PLIST} 2>/dev/null || ${TRUE}`; \
|
1998-06-18 13:45:33 +02:00
|
|
|
if [ X"${MANCOMPRESSED}" != X"" -a X"${MANZ}" = X"" ]; then \
|
|
|
|
${ECHO_MSG} "===> [Automatic manual page handling]"; \
|
|
|
|
${ECHO_MSG} "===> Decompressing manual pages for ${PKGNAME}"; \
|
1998-06-22 11:12:48 +02:00
|
|
|
for manpage in $$newmanpages; do \
|
1998-06-18 13:45:33 +02:00
|
|
|
manpage=`${ECHO} $$manpage | ${SED} -e 's|\.gz$$||'`; \
|
1999-08-24 21:03:08 +02:00
|
|
|
if [ -h ${PREFIX}/$$manpage.gz ]; then \
|
1999-03-08 18:26:54 +01:00
|
|
|
set - `${FILE} ${PREFIX}/$$manpage.gz | ${SED} -e 's|\.gz$$||'`; \
|
1998-11-19 23:59:03 +01:00
|
|
|
shift `expr $$# - 1`; \
|
1999-03-09 16:31:59 +01:00
|
|
|
${RM} -f ${PREFIX}/$$manpage; \
|
|
|
|
${LN} -s $${1} ${PREFIX}/$$manpage; \
|
1998-11-19 23:59:03 +01:00
|
|
|
${RM} ${PREFIX}/$$manpage.gz; \
|
|
|
|
else \
|
|
|
|
${GUNZIP_CMD} ${PREFIX}/$$manpage.gz; \
|
|
|
|
fi; \
|
1998-06-18 13:45:33 +02:00
|
|
|
if [ X"${PKG_VERBOSE}" != X"" ]; then \
|
|
|
|
${ECHO_MSG} "$$manpage"; \
|
|
|
|
fi; \
|
|
|
|
done; \
|
|
|
|
fi; \
|
|
|
|
if [ X"${MANCOMPRESSED}" = X"" -a X"${MANZ}" != X"" ]; then \
|
|
|
|
${ECHO_MSG} "===> [Automatic manual page handling]"; \
|
1999-03-08 18:26:54 +01:00
|
|
|
${ECHO_MSG} "===> Compressing manual pages for ${PKGNAME}"; \
|
1998-06-22 11:12:48 +02:00
|
|
|
for manpage in $$newmanpages; do \
|
1998-06-18 13:45:33 +02:00
|
|
|
manpage=`${ECHO} $$manpage | ${SED} -e 's|\.gz$$||'`; \
|
1999-08-24 21:03:08 +02:00
|
|
|
if [ -h ${PREFIX}/$$manpage ]; then \
|
1998-06-18 13:45:33 +02:00
|
|
|
set - `${FILE} ${PREFIX}/$$manpage`; \
|
|
|
|
shift `expr $$# - 1`; \
|
1999-03-09 16:31:59 +01:00
|
|
|
${RM} -f ${PREFIX}/$$manpage.gz; \
|
|
|
|
${LN} -s $${1}.gz ${PREFIX}/$$manpage.gz; \
|
1998-06-18 13:45:33 +02:00
|
|
|
${RM} ${PREFIX}/$$manpage; \
|
|
|
|
else \
|
|
|
|
${GZIP_CMD} ${PREFIX}/$$manpage; \
|
|
|
|
fi; \
|
|
|
|
if [ X"${PKG_VERBOSE}" != X"" ]; then \
|
|
|
|
${ECHO_MSG} "$$manpage"; \
|
|
|
|
fi; \
|
|
|
|
done; \
|
|
|
|
fi)
|
1999-10-19 16:08:47 +02:00
|
|
|
.if ${OPSYS} == "NetBSD" || ${OPSYS} == "SunOS"
|
1999-11-01 12:15:20 +01:00
|
|
|
${_PKG_SILENT}(${_PKG_DEBUG} \
|
|
|
|
sos=`${EGREP} -h -x '.*/lib[^/]+\.so\.[0-9]+(\.[0-9]+)+' ${PLIST} || ${TRUE}`; \
|
|
|
|
if [ "X$$sos" != "X" ]; then \
|
Work out the type of shared libraries once, at "make install" time, and
do this dynamically. This means that we no longer have to have a
separate pkgsrc copy of bsd.own.mk, which was a maintenance nightmare,
and usually out of date, and quite costly too (with a calculation of
whether NetBSD-current was being run every time the file was read).
Also, on a.out, add ldconfig lines to the generated PLIST only if they're
not already there, rather than if they were previously there, and ignore
the return value from ldconfig, which cannot be trusted. The ldconfig
calls have largely been made obsolete by the use of -rpath, but keep it
for just now for backwards compatibility.
1999-04-13 16:18:11 +02:00
|
|
|
shlib_type=`${MAKE} ${.MAKEFLAGS} show-shlib-type`; \
|
|
|
|
case "$$shlib_type" in \
|
1998-07-14 17:53:54 +02:00
|
|
|
"ELF") \
|
1999-07-23 23:35:20 +02:00
|
|
|
${ECHO_MSG} "===> [Automatic ELF shared object handling]";\
|
1999-10-20 11:57:47 +02:00
|
|
|
${AWK} 'function makelinks(target, lib, v1, v2, v3) { \
|
|
|
|
print target; \
|
|
|
|
slashc = split(target, slashes, "/"); \
|
|
|
|
if (v3 >= 0) { \
|
|
|
|
system(sprintf("${RM} -f ${PREFIX}/%s.%s.%s.%s; ${LN} -s %s ${PREFIX}/%s.%s.%s.%s", lib, v1, v2, v3, slashes[slashc], lib, v1, v2, v3)); \
|
|
|
|
printf("%s.%s.%s.%s\n", lib, v1, v2, v3); \
|
|
|
|
} \
|
1999-10-21 16:23:38 +02:00
|
|
|
system(sprintf("${RM} -f ${PREFIX}/%s.%s.%s; ${LN} -s %s ${PREFIX}/%s.%s.%s", lib, v1, v2, slashes[slashc], lib, v1, v2)); \
|
|
|
|
system(sprintf("${RM} -f ${PREFIX}/%s.%s; ${LN} -s %s ${PREFIX}/%s.%s", lib, v1, slashes[slashc], lib, v1)); \
|
|
|
|
printf("%s.%s.%s\n%s.%s\n", lib, v1, v2, lib, v1); \
|
1999-10-20 11:57:47 +02:00
|
|
|
} \
|
|
|
|
/^@/ { print; next } \
|
|
|
|
/.*\/lib[^\/]+\.so\.[0-9]+\.[0-9]+\.[0-9]+$$/ { \
|
|
|
|
dotc = split($$0, dots, "\."); \
|
|
|
|
lib = dots[1]; \
|
|
|
|
for (i = 2 ; i <= dotc - 4 ; i++) \
|
|
|
|
lib = lib "." dots[i]; \
|
|
|
|
makelinks($$0, lib, dots[dotc - 3], dots[dotc - 2], dots[dotc - 1]); \
|
|
|
|
next; \
|
|
|
|
} \
|
|
|
|
/.*\/lib[^\/]+\.so\.[0-9]+\.[0-9]+$$/ { \
|
|
|
|
dotc = split($$0, dots, "\."); \
|
|
|
|
lib = dots[1]; \
|
|
|
|
for (i = 2 ; i <= dotc - 3 ; i++) \
|
|
|
|
lib = lib "." dots[i]; \
|
|
|
|
makelinks($$0, lib, dots[dotc - 2], dots[dotc - 1], -1); \
|
|
|
|
next; \
|
|
|
|
} \
|
|
|
|
/.*\/lib[^\/]+\.so\.[0-9]+$$/ { next; } \
|
|
|
|
/.*\/lib[^\/]+\.so$$/ { next; } \
|
|
|
|
{ print; }' < ${PLIST} > ${PLIST}.tmp && ${MV} ${PLIST}.tmp ${PLIST}; \
|
1998-07-14 17:53:54 +02:00
|
|
|
;; \
|
|
|
|
"a.out") \
|
1999-07-23 23:35:20 +02:00
|
|
|
${ECHO_MSG} "===> [Automatic a.out shared object handling]";\
|
1999-04-14 21:44:24 +02:00
|
|
|
cnt=`${EGREP} -c -x '@exec[ ]*${LDCONFIG}' ${PLIST} || ${TRUE}`; \
|
Work out the type of shared libraries once, at "make install" time, and
do this dynamically. This means that we no longer have to have a
separate pkgsrc copy of bsd.own.mk, which was a maintenance nightmare,
and usually out of date, and quite costly too (with a calculation of
whether NetBSD-current was being run every time the file was read).
Also, on a.out, add ldconfig lines to the generated PLIST only if they're
not already there, rather than if they were previously there, and ignore
the return value from ldconfig, which cannot be trusted. The ldconfig
calls have largely been made obsolete by the use of -rpath, but keep it
for just now for backwards compatibility.
1999-04-13 16:18:11 +02:00
|
|
|
if [ $$cnt -eq 0 ]; then \
|
1998-07-24 16:13:46 +02:00
|
|
|
${ECHO} "@exec ${LDCONFIG}" >> ${PLIST}; \
|
|
|
|
${ECHO} "@unexec ${LDCONFIG}" >> ${PLIST}; \
|
1999-03-08 18:26:54 +01:00
|
|
|
fi; \
|
1998-07-14 13:36:11 +02:00
|
|
|
if [ X"${PKG_VERBOSE}" != X"" ]; then \
|
1998-07-14 17:53:54 +02:00
|
|
|
${ECHO_MSG} "$$sos"; \
|
1998-07-24 16:13:46 +02:00
|
|
|
${ECHO_MSG} "Running ${LDCONFIG}"; \
|
1998-07-14 13:36:11 +02:00
|
|
|
fi; \
|
Work out the type of shared libraries once, at "make install" time, and
do this dynamically. This means that we no longer have to have a
separate pkgsrc copy of bsd.own.mk, which was a maintenance nightmare,
and usually out of date, and quite costly too (with a calculation of
whether NetBSD-current was being run every time the file was read).
Also, on a.out, add ldconfig lines to the generated PLIST only if they're
not already there, rather than if they were previously there, and ignore
the return value from ldconfig, which cannot be trusted. The ldconfig
calls have largely been made obsolete by the use of -rpath, but keep it
for just now for backwards compatibility.
1999-04-13 16:18:11 +02:00
|
|
|
${LDCONFIG} || ${TRUE}; \
|
1998-07-14 17:53:54 +02:00
|
|
|
;; \
|
1999-03-08 18:26:54 +01:00
|
|
|
"*") \
|
|
|
|
${ECHO_MSG} "No shared libraries for ${MACHINE_ARCH}"; \
|
1998-07-14 18:48:48 +02:00
|
|
|
for so in $$sos; do \
|
1999-03-09 16:31:59 +01:00
|
|
|
if [ X"${PKG_VERBOSE}" != X"" ]; then \
|
|
|
|
${ECHO_MSG} "Ignoring $$so"; \
|
|
|
|
fi; \
|
1999-03-08 18:26:54 +01:00
|
|
|
${SED} -e "s;^$$so$$;@comment No shared objects - &;" ${PLIST} > ${PLIST}.tmp && \
|
1998-07-14 18:48:48 +02:00
|
|
|
${MV} ${PLIST}.tmp ${PLIST}; \
|
|
|
|
done; \
|
1998-07-14 17:53:54 +02:00
|
|
|
;; \
|
|
|
|
esac; \
|
1998-07-14 13:36:11 +02:00
|
|
|
fi)
|
1999-09-02 23:40:14 +02:00
|
|
|
.endif
|
1998-09-21 14:22:47 +02:00
|
|
|
.ifdef MESSAGE_FILE
|
1998-07-14 12:56:15 +02:00
|
|
|
@${ECHO_MSG} "===> Please note the following:"
|
1998-08-22 22:12:04 +02:00
|
|
|
@${ECHO_MSG} ""
|
1998-09-21 14:22:47 +02:00
|
|
|
@${CAT} ${MESSAGE_FILE}
|
1998-08-22 22:12:04 +02:00
|
|
|
@${ECHO_MSG} ""
|
1998-07-14 12:56:15 +02:00
|
|
|
.endif
|
1998-08-28 13:13:23 +02:00
|
|
|
.if !defined(NO_PKG_REGISTER)
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} fake-pkg
|
1998-08-28 13:13:23 +02:00
|
|
|
.endif # !NO_PKG_REGISTER
|
1999-03-31 11:04:18 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_FLAGS} ${WRKDIR}/.install_done
|
|
|
|
|
2000-01-15 03:08:03 +01:00
|
|
|
.if !target(show-shlib-type)
|
Work out the type of shared libraries once, at "make install" time, and
do this dynamically. This means that we no longer have to have a
separate pkgsrc copy of bsd.own.mk, which was a maintenance nightmare,
and usually out of date, and quite costly too (with a calculation of
whether NetBSD-current was being run every time the file was read).
Also, on a.out, add ldconfig lines to the generated PLIST only if they're
not already there, rather than if they were previously there, and ignore
the return value from ldconfig, which cannot be trusted. The ldconfig
calls have largely been made obsolete by the use of -rpath, but keep it
for just now for backwards compatibility.
1999-04-13 16:18:11 +02:00
|
|
|
# Show the shared lib type being built: one of ELF, a.out or none
|
|
|
|
show-shlib-type:
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
cd ${WRKDIR} && \
|
|
|
|
sotype=none; \
|
1999-05-02 05:24:59 +02:00
|
|
|
if [ "X${MKPIC}" != "Xno" -a "X${NOPIC}" = "X" ]; then \
|
Work out the type of shared libraries once, at "make install" time, and
do this dynamically. This means that we no longer have to have a
separate pkgsrc copy of bsd.own.mk, which was a maintenance nightmare,
and usually out of date, and quite costly too (with a calculation of
whether NetBSD-current was being run every time the file was read).
Also, on a.out, add ldconfig lines to the generated PLIST only if they're
not already there, rather than if they were previously there, and ignore
the return value from ldconfig, which cannot be trusted. The ldconfig
calls have largely been made obsolete by the use of -rpath, but keep it
for just now for backwards compatibility.
1999-04-13 16:18:11 +02:00
|
|
|
${ECHO} "int main() { exit(0); }" > a.$$$$.c; \
|
|
|
|
${CC} ${CFLAGS} a.$$$$.c -o a.$$$$.out; \
|
|
|
|
case `${FILE} a.$$$$.out` in \
|
|
|
|
*ELF*dynamically*) \
|
|
|
|
sotype=ELF ;; \
|
|
|
|
*dynamically*) \
|
|
|
|
sotype="a.out" ;; \
|
|
|
|
esac; \
|
|
|
|
fi; \
|
|
|
|
${ECHO} "$$sotype"; \
|
|
|
|
${RM} -f a.$$$$.c a.$$$$.out
|
2000-01-15 03:08:03 +01:00
|
|
|
.endif
|
Work out the type of shared libraries once, at "make install" time, and
do this dynamically. This means that we no longer have to have a
separate pkgsrc copy of bsd.own.mk, which was a maintenance nightmare,
and usually out of date, and quite costly too (with a calculation of
whether NetBSD-current was being run every time the file was read).
Also, on a.out, add ldconfig lines to the generated PLIST only if they're
not already there, rather than if they were previously there, and ignore
the return value from ldconfig, which cannot be trusted. The ldconfig
calls have largely been made obsolete by the use of -rpath, but keep it
for just now for backwards compatibility.
1999-04-13 16:18:11 +02:00
|
|
|
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
################################################################
|
|
|
|
# Skeleton targets start here
|
|
|
|
#
|
|
|
|
# You shouldn't have to change these. Either add the pre-* or
|
|
|
|
# post-* targets/scripts or redefine the do-* targets. These
|
|
|
|
# targets don't do anything other than checking for cookies and
|
|
|
|
# call the necessary targets/scripts.
|
|
|
|
################################################################
|
|
|
|
|
|
|
|
.if !target(fetch)
|
|
|
|
fetch:
|
|
|
|
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-fetch
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(extract)
|
|
|
|
extract: checksum ${EXTRACT_COOKIE}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(patch)
|
|
|
|
patch: extract ${PATCH_COOKIE}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(configure)
|
|
|
|
configure: patch ${CONFIGURE_COOKIE}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(build)
|
|
|
|
build: configure ${BUILD_COOKIE}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(install)
|
1998-10-19 14:50:51 +02:00
|
|
|
install: uptodate-pkgtools build ${INSTALL_COOKIE}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(package)
|
1998-10-19 14:50:51 +02:00
|
|
|
package: uptodate-pkgtools install ${PACKAGE_COOKIE}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
${EXTRACT_COOKIE}:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-extract
|
1997-08-20 12:21:05 +02:00
|
|
|
${PATCH_COOKIE}:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-patch
|
1997-08-20 12:21:05 +02:00
|
|
|
${CONFIGURE_COOKIE}:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-configure
|
1997-08-20 12:21:05 +02:00
|
|
|
${BUILD_COOKIE}:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
|
1997-08-20 12:21:05 +02:00
|
|
|
${INSTALL_COOKIE}:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-install
|
1997-08-20 12:21:05 +02:00
|
|
|
${PACKAGE_COOKIE}:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-package
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
# And call the macros
|
|
|
|
|
|
|
|
real-fetch: _PORT_USE
|
|
|
|
real-extract: _PORT_USE
|
|
|
|
@${ECHO_MSG} "===> Extracting for ${PKGNAME}"
|
|
|
|
real-patch: _PORT_USE
|
|
|
|
@${ECHO_MSG} "===> Patching for ${PKGNAME}"
|
|
|
|
real-configure: _PORT_USE
|
|
|
|
@${ECHO_MSG} "===> Configuring for ${PKGNAME}"
|
|
|
|
real-build: _PORT_USE
|
|
|
|
@${ECHO_MSG} "===> Building for ${PKGNAME}"
|
1999-03-31 11:04:18 +02:00
|
|
|
real-install: pkg-su-install
|
1997-08-20 12:21:05 +02:00
|
|
|
real-package: _PORT_USE
|
|
|
|
|
1999-03-31 11:04:18 +02:00
|
|
|
# sudo or priv are acceptable substitutes
|
|
|
|
SU_CMD?= ${SU} - root -c
|
1999-04-01 09:29:14 +02:00
|
|
|
PRE_ROOT_CMD?= ${TRUE}
|
1999-03-31 11:04:18 +02:00
|
|
|
|
|
|
|
pkg-su-install:
|
1999-04-01 09:29:14 +02:00
|
|
|
@${ECHO_MSG} "===> Installing for ${PKGNAME}"
|
1999-03-31 11:04:18 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
if [ `${ID} -u` = 0 ]; then \
|
1999-03-31 11:57:29 +02:00
|
|
|
${MAKE} ${.MAKEFLAGS} root-install; \
|
1999-04-06 16:11:10 +02:00
|
|
|
elif [ "X${BATCH}" != X"" ]; then \
|
|
|
|
${ECHO_MSG} "Warning: Batch mode, not superuser, can't run mtree."; \
|
|
|
|
${ECHO_MSG} "Become root and try again to ensure correct permissions."; \
|
1999-03-31 11:04:18 +02:00
|
|
|
else \
|
1999-04-06 16:11:10 +02:00
|
|
|
make=`${TYPE} ${MAKE} | ${AWK} '{ print $$NF }'`; \
|
|
|
|
args=""; \
|
|
|
|
if [ "X${FORCE_PKG_REGISTER}" != X"" ]; then \
|
|
|
|
args="FORCE_PKG_REGISTER=1"; \
|
|
|
|
fi; \
|
|
|
|
if [ "X${PKG_DEBUG_LEVEL}" != X"" ]; then \
|
|
|
|
args="$$args PKG_DEBUG_LEVEL=${PKG_DEBUG_LEVEL}"; \
|
|
|
|
fi; \
|
|
|
|
if [ "X${PRE_ROOT_CMD}" != "X${TRUE}" ]; then \
|
|
|
|
${ECHO} "*** WARNING *** Running: ${PRE_ROOT_CMD}"; \
|
|
|
|
${PRE_ROOT_CMD}; \
|
|
|
|
fi; \
|
|
|
|
${ECHO_MSG} "===> Becoming root@`/bin/hostname` to install ${PKGNAME}."; \
|
|
|
|
${ECHO_MSG} -n "`${ECHO} ${SU_CMD} | ${AWK} '{ print $$1 }'` ";\
|
|
|
|
${SU_CMD} "cd ${.CURDIR}; $$make $$args ${.MAKEFLAGS} root-install"; \
|
1999-03-31 11:04:18 +02:00
|
|
|
fi
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
# Empty pre-* and post-* targets, note we can't use .if !target()
|
|
|
|
# in the _PORT_USE macro
|
|
|
|
|
|
|
|
.for name in fetch extract patch configure build install package
|
|
|
|
|
|
|
|
.if !target(pre-${name})
|
|
|
|
pre-${name}:
|
|
|
|
@${DO_NADA}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(post-${name})
|
|
|
|
post-${name}:
|
|
|
|
@${DO_NADA}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.endfor
|
|
|
|
|
|
|
|
# Checkpatch
|
|
|
|
#
|
|
|
|
# Special target to verify patches
|
|
|
|
|
|
|
|
.if !target(checkpatch)
|
|
|
|
checkpatch:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} PATCH_CHECK_ONLY=yes ${.MAKEFLAGS} patch
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Reinstall
|
|
|
|
#
|
|
|
|
# Special target to re-run install
|
|
|
|
|
|
|
|
.if !target(reinstall)
|
|
|
|
reinstall:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} ${PLIST}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}DEPENDS_TARGET=${DEPENDS_TARGET} ${MAKE} install
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
1998-02-17 16:07:02 +01:00
|
|
|
# Deinstall
|
|
|
|
#
|
|
|
|
# Special target to remove installation
|
1999-03-08 18:26:54 +01:00
|
|
|
|
1998-02-17 16:07:02 +01:00
|
|
|
.if !target(deinstall)
|
1999-04-03 23:03:50 +02:00
|
|
|
deinstall: pkg-su-deinstall
|
|
|
|
|
|
|
|
pkg-su-deinstall: uptodate-pkgtools
|
1998-02-17 16:07:02 +01:00
|
|
|
@${ECHO_MSG} "===> Deinstalling for ${PKGNAME}"
|
1999-04-03 23:03:50 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
if [ `${ID} -u` = 0 ]; then \
|
|
|
|
${MAKE} ${.MAKEFLAGS} root-deinstall; \
|
|
|
|
else \
|
1999-04-19 16:29:49 +02:00
|
|
|
make=`${TYPE} ${MAKE} | ${AWK} '{ print $$NF }'`; \
|
|
|
|
${ECHO_MSG} "===> Becoming root@`/bin/hostname` to deinstall ${PKGNAME}."; \
|
1999-08-27 13:23:48 +02:00
|
|
|
${SU_CMD} "cd ${.CURDIR}; $$make ${.MAKEFLAGS} PKG_DEBUG_LEVEL=${PKG_DEBUG_LEVEL} root-deinstall DEINSTALLDEPENDS=${DEINSTALLDEPENDS}"; \
|
1999-04-03 23:03:50 +02:00
|
|
|
fi
|
|
|
|
|
1999-08-21 03:17:59 +02:00
|
|
|
|
1999-03-03 23:53:49 +01:00
|
|
|
.if (${DEINSTALLDEPENDS} != "NO")
|
1999-08-30 00:13:01 +02:00
|
|
|
.if (${DEINSTALLDEPENDS} != "ALL")
|
1999-09-09 00:01:19 +02:00
|
|
|
# used for removing stuff in bulk builds
|
|
|
|
root-install-flags+= -r -R
|
|
|
|
# used for "update" target
|
1999-08-30 00:13:01 +02:00
|
|
|
.else
|
|
|
|
root-install-flags+= -r
|
|
|
|
.endif
|
1999-08-21 03:17:59 +02:00
|
|
|
.endif
|
|
|
|
.ifdef PKG_VERBOSE
|
|
|
|
root-install-flags+= -v
|
|
|
|
.endif
|
|
|
|
|
|
|
|
root-deinstall:
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
found=`${PKG_INFO} -e "${PKGNAME:C/-[^-]*$/-[0-9]*/}" || ${TRUE}` ; \
|
|
|
|
if [ "$$found" != "" ]; then \
|
1999-08-21 21:27:27 +02:00
|
|
|
${ECHO} Running ${PKG_DELETE} ${root-install-flags} $$found ; \
|
1999-08-21 03:17:59 +02:00
|
|
|
${PKG_DELETE} ${root-install-flags} $$found || ${TRUE} ; \
|
|
|
|
fi
|
2000-02-28 23:13:31 +01:00
|
|
|
.if (${DEINSTALLDEPENDS} != "NO") && (${DEINSTALLDEPENDS} != "ALL")
|
2000-02-26 22:58:55 +01:00
|
|
|
@${SHCOMMENT} Also remove BUILD_DEPENDS:
|
|
|
|
.for pkg in ${BUILD_DEPENDS:C/:.*$//}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
found=`${PKG_INFO} -e "${pkg}" || ${TRUE}` ; \
|
|
|
|
if [ "$$found" != "" ]; then \
|
|
|
|
${ECHO} Running ${PKG_DELETE} $$found ; \
|
|
|
|
${PKG_DELETE} $$found || ${TRUE} ; \
|
|
|
|
fi
|
|
|
|
.endfor
|
|
|
|
.endif # DEINSTALLDEPENDS
|
1999-04-20 22:28:11 +02:00
|
|
|
@${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
|
|
|
|
.endif # target(deinstall)
|
1999-03-03 23:53:49 +01:00
|
|
|
|
1999-10-31 20:43:02 +01:00
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
################################################################
|
|
|
|
# Some more targets supplied for users' convenience
|
|
|
|
################################################################
|
|
|
|
|
1999-08-30 00:13:01 +02:00
|
|
|
# The 'update' target can be used to update a package and all
|
|
|
|
# currently installed packages that depend upon this package.
|
1999-10-31 20:43:02 +01:00
|
|
|
|
|
|
|
.if exists(${DDIR})
|
|
|
|
RESUMEUPDATE?= YES
|
|
|
|
|
|
|
|
update:
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${ECHO_MSG} \
|
|
|
|
"===> Resuming update for ${PKGNAME}"
|
|
|
|
.else
|
|
|
|
RESUMEUPDATE?= NO
|
|
|
|
|
1999-08-30 00:13:01 +02:00
|
|
|
update:
|
2000-02-01 17:30:07 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MAKE} ${.MAKEFLAGS} ${DDIR}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
${MAKE} ${.MAKEFLAGS} deinstall DEINSTALLDEPENDS=ALL
|
1999-10-31 20:43:02 +01:00
|
|
|
.endif
|
|
|
|
.if ${REINSTALL} == "NO"
|
1999-08-30 00:13:01 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
1999-08-31 10:32:16 +02:00
|
|
|
${MAKE} ${DEPENDS_TARGET} KEEP_WRKDIR=YES
|
1999-08-30 00:13:01 +02:00
|
|
|
.else
|
2000-02-01 17:30:07 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MAKE} ${.MAKEFLAGS} reinstall
|
1999-08-30 00:13:01 +02:00
|
|
|
.endif
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
2000-02-01 17:30:07 +01:00
|
|
|
[ -s ${DDIR} ] && for dep in `${CAT} ${DDIR}` ; do \
|
|
|
|
(if cd "../../$${dep}" ; then \
|
|
|
|
${ECHO_MSG} "===> Installing in $${dep}" && \
|
1999-10-31 20:43:02 +01:00
|
|
|
if [ "${RESUMEUPDATE}" = "NO" ] ; then \
|
2000-02-01 17:30:07 +01:00
|
|
|
${MAKE} ${.MAKEFLAGS} deinstall; \
|
1999-10-31 20:43:02 +01:00
|
|
|
fi && \
|
1999-08-30 00:13:01 +02:00
|
|
|
if [ "${REINSTALL}" = "NO" ] ; then \
|
2000-02-01 17:30:07 +01:00
|
|
|
${MAKE} ${.MAKEFLAGS} ${DEPENDS_TARGET};\
|
1999-08-30 00:13:01 +02:00
|
|
|
else \
|
2000-02-01 17:30:07 +01:00
|
|
|
${MAKE} ${.MAKEFLAGS} reinstall; \
|
|
|
|
fi ; \
|
|
|
|
else \
|
|
|
|
${ECHO_MSG} "===> Skipping removed directory $${dep}";\
|
|
|
|
fi) ; \
|
|
|
|
done
|
1999-10-31 20:43:02 +01:00
|
|
|
.if ${NOCLEAN} == "NO"
|
2000-02-01 17:30:07 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
${MAKE} ${.MAKEFLAGS} clean-update CLEAR_DIRLIST=YES
|
1999-10-31 20:43:02 +01:00
|
|
|
.endif
|
|
|
|
|
|
|
|
|
|
|
|
clean-update:
|
2000-02-01 17:30:07 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MAKE} ${.MAKEFLAGS} ${DDIR}
|
1999-10-31 20:43:02 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
if [ -s ${DDIR} ] ; then \
|
|
|
|
for dep in `${CAT} ${DDIR}` ; do \
|
2000-02-01 17:30:07 +01:00
|
|
|
(if cd "../../$${dep}" ; then \
|
|
|
|
${MAKE} ${.MAKEFLAGS} clean ; \
|
|
|
|
else \
|
|
|
|
${ECHO_MSG} "===> Skipping removed directory $${dep}";\
|
|
|
|
fi) ; \
|
1999-10-31 20:43:02 +01:00
|
|
|
done ; \
|
|
|
|
fi
|
|
|
|
.ifdef CLEAR_DIRLIST
|
2000-02-01 17:30:07 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MAKE} ${.MAKEFLAGS} clean
|
1999-10-31 20:43:02 +01:00
|
|
|
.else
|
2000-02-01 17:30:07 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
${MAKE} ${.MAKEFLAGS} clean update-dirlist \
|
1999-10-31 20:43:02 +01:00
|
|
|
DIRLIST="`${CAT} ${DDIR}`" PKGLIST="`${CAT} ${DLIST}`"
|
|
|
|
.endif
|
|
|
|
|
|
|
|
|
|
|
|
update-dirlist:
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} -p ${WRKDIR}
|
|
|
|
.ifdef PKGLIST
|
|
|
|
.for __tmp__ in ${PKGLIST}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${ECHO} >>${DLIST} "${__tmp__}"
|
|
|
|
.endfor
|
|
|
|
.endif
|
|
|
|
.ifdef DIRLIST
|
|
|
|
.for __tmp__ in ${DIRLIST}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${ECHO} >>${DDIR} "${__tmp__}"
|
|
|
|
.endfor
|
|
|
|
.endif
|
|
|
|
|
1999-08-30 00:13:01 +02:00
|
|
|
|
|
|
|
${DDIR}: ${DLIST}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
ddir=`${SED} 's:-[^-]*$$::' <${DLIST}` ; \
|
|
|
|
if ${PKG_INFO} -b $${ddir} >/dev/null 2>&1 ; then \
|
1999-09-15 07:39:38 +02:00
|
|
|
${PKG_INFO} -b $${ddir} | \
|
|
|
|
${EGREP} '^[^/]+/[^/]+/Makefile:' | \
|
1999-08-30 00:13:01 +02:00
|
|
|
${CUT} -d'/' -f1-2 >${DDIR} ; \
|
|
|
|
else \
|
|
|
|
${ECHO} >${DDIR} ; \
|
|
|
|
fi
|
|
|
|
|
|
|
|
${DLIST}:
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} -p ${WRKDIR}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
(${PKG_INFO} -R "${PKGNAME:C/-[^-]*$/-[0-9]*/}" || ${TRUE}) | \
|
|
|
|
${TAIL} -n +4 >${DLIST}
|
|
|
|
|
1999-04-09 04:06:53 +02:00
|
|
|
# This is for the use of sites which store distfiles which others may
|
|
|
|
# fetch - only fetch the distfile if it is allowed to be
|
|
|
|
# re-distributed freely
|
|
|
|
mirror-distfiles:
|
|
|
|
.if (${MIRROR_DISTFILE} == "yes")
|
1999-05-25 03:08:22 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MAKE} fetch NO_IGNORE=yes NO_CHECK_DEPENDS=yes
|
1999-04-09 04:06:53 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
# Cleaning up
|
|
|
|
|
|
|
|
.if !target(pre-clean)
|
|
|
|
pre-clean:
|
|
|
|
@${DO_NADA}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(clean)
|
|
|
|
clean: pre-clean
|
1999-03-03 23:53:49 +01:00
|
|
|
.if (${CLEANDEPENDS} != "NO")
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MAKE} clean-depends
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
@${ECHO_MSG} "===> Cleaning for ${PKGNAME}"
|
|
|
|
.if !defined(NO_WRKDIR)
|
1998-09-16 10:46:58 +02:00
|
|
|
.ifdef WRKOBJDIR
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${RM} -rf ${WRKOBJDIR}/${PKGSRC_SUBDIR}
|
1999-08-16 17:37:40 +02:00
|
|
|
-${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${WRKDIR_BASENAME}
|
1997-09-28 13:22:40 +02:00
|
|
|
.else
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ -d ${WRKDIR} ]; then \
|
|
|
|
if [ -w ${WRKDIR} ]; then \
|
|
|
|
${RM} -rf ${WRKDIR}; \
|
|
|
|
else \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} "===> ${WRKDIR} not writable, skipping"; \
|
1999-03-08 18:26:54 +01:00
|
|
|
fi; \
|
1997-08-20 12:21:05 +02:00
|
|
|
fi
|
1997-09-28 13:22:40 +02:00
|
|
|
.endif
|
1997-08-20 12:21:05 +02:00
|
|
|
.else
|
2000-03-02 19:35:59 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${WRKDIR}/.*_done SizeAll \
|
|
|
|
SizePkg .build_info .build_version .DESCR .PLIST
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(pre-distclean)
|
|
|
|
pre-distclean:
|
|
|
|
@${DO_NADA}
|
|
|
|
.endif
|
|
|
|
|
1998-10-04 22:56:58 +02:00
|
|
|
.if !target(cleandir)
|
|
|
|
cleandir: clean
|
|
|
|
.endif
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
.if !target(distclean)
|
|
|
|
distclean: pre-distclean clean
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${ECHO_MSG} "===> Dist cleaning for ${PKGNAME}"
|
|
|
|
${_PKG_SILENT}(${_PKG_DEBUG}if [ -d ${_DISTDIR} ]; then \
|
|
|
|
cd ${_DISTDIR} && \
|
|
|
|
${TEST} -z "${DISTFILES}" || ${RM} -f ${DISTFILES}; \
|
|
|
|
${TEST} -z "${PATCHFILES}" || ${RM} -f ${PATCHFILES}; \
|
1997-08-20 12:21:05 +02:00
|
|
|
fi)
|
|
|
|
.if defined(DIST_SUBDIR)
|
1999-03-08 18:26:54 +01:00
|
|
|
-${_PKG_SILENT}${_PKG_DEBUG}${RMDIR} ${_DISTDIR}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
1999-09-08 16:58:34 +02:00
|
|
|
-${_PKG_SILENT}${_PKG_DEBUG}${RM} -f README.html
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Prints out a list of files to fetch (useful to do a batch fetch)
|
|
|
|
|
1998-05-14 13:53:30 +02:00
|
|
|
# are we called from bsd.pkg.subdir.mk (i.e. do we scan all dirs anyway)? XXX
|
|
|
|
.ifdef(_THISDIR_)
|
1998-02-20 22:31:20 +01:00
|
|
|
RECURSIVE_FETCH_LIST?= NO
|
|
|
|
.else
|
|
|
|
RECURSIVE_FETCH_LIST?= YES
|
|
|
|
.endif
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
.if !target(fetch-list)
|
|
|
|
fetch-list:
|
1998-02-20 22:31:20 +01:00
|
|
|
@${MAKE} fetch-list-recursive RECURSIVE_FETCH_LIST=${RECURSIVE_FETCH_LIST} | sort -u
|
|
|
|
.endif # !target(fetch-list)
|
|
|
|
|
|
|
|
.if !target(fetch-list-recursive)
|
|
|
|
fetch-list-recursive:
|
|
|
|
@${MAKE} fetch-list-one-pkg
|
|
|
|
.if ${RECURSIVE_FETCH_LIST} != "NO"
|
2000-01-06 04:21:51 +01:00
|
|
|
@for dir in `${ECHO} "${BUILD_DEPENDS} ${DEPENDS} ${RUN_DEPENDS}" | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u` ; do \
|
1999-03-08 18:26:54 +01:00
|
|
|
(cd $$dir && ${MAKE} fetch-list-recursive; ); \
|
1998-02-20 22:31:20 +01:00
|
|
|
done
|
|
|
|
.endif # ${RECURSIVE_FETCH_LIST} != "NO"
|
|
|
|
.endif # !target(fetch-list-recursive)
|
|
|
|
|
|
|
|
.if !target(fetch-list-one-pkg)
|
|
|
|
fetch-list-one-pkg:
|
1998-02-28 17:02:21 +01:00
|
|
|
@${MKDIR} ${_DISTDIR}
|
|
|
|
@[ -z "${_DISTDIR}" ] || ${ECHO} "${MKDIR} ${_DISTDIR}"
|
1999-03-08 18:26:54 +01:00
|
|
|
.if defined(DISTFILES)
|
|
|
|
@(cd ${_DISTDIR}; \
|
|
|
|
for file in "" ${DISTFILES}; do \
|
|
|
|
if [ "X$$file" = X"" ]; then continue; fi; \
|
|
|
|
if [ ! -f $$file -a ! -f `${BASENAME} $$file` ]; then \
|
1998-02-28 17:02:21 +01:00
|
|
|
${ECHO} -n "cd ${_DISTDIR} && [ -f $$file -o -f `${BASENAME} $$file` ] || " ; \
|
1999-08-09 07:32:12 +02:00
|
|
|
for site in "" ${SORTED_MASTER_SITES}; do \
|
1999-03-08 18:26:54 +01:00
|
|
|
if [ "X$$site" = X"" ]; then continue; fi; \
|
1998-02-20 22:31:20 +01:00
|
|
|
${ECHO} -n ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${site}$${file} "${FETCH_AFTER_ARGS}" '|| ' ; \
|
1999-03-08 18:26:54 +01:00
|
|
|
done; \
|
|
|
|
${ECHO} "${ECHO} $${file} not fetched"; \
|
|
|
|
fi \
|
1998-02-28 17:02:21 +01:00
|
|
|
done)
|
1999-03-08 18:26:54 +01:00
|
|
|
.endif # DISTFILES
|
1997-08-20 12:21:05 +02:00
|
|
|
.if defined(PATCHFILES)
|
1999-03-08 18:26:54 +01:00
|
|
|
@(cd ${_DISTDIR}; \
|
|
|
|
for file in "" ${PATCHFILES}; do \
|
|
|
|
if [ "X$$file" = X"" ]; then continue; fi; \
|
|
|
|
if [ ! -f $$file -a ! -f `${BASENAME} $$file` ]; then \
|
1998-02-28 17:02:21 +01:00
|
|
|
${ECHO} -n "cd ${_DISTDIR} && [ -f $$file -o -f `${BASENAME} $$file` ] || " ; \
|
1999-03-08 18:26:54 +01:00
|
|
|
for site in ${PATCH_SITES}; do \
|
1998-02-20 22:31:20 +01:00
|
|
|
${ECHO} -n ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${site}$${file} "${FETCH_AFTER_ARGS}" '|| ' ; \
|
1999-03-08 18:26:54 +01:00
|
|
|
done; \
|
|
|
|
${ECHO} "${ECHO} $${file} not fetched"; \
|
|
|
|
fi \
|
1998-02-20 22:31:20 +01:00
|
|
|
done)
|
|
|
|
.endif # defined(PATCHFILES)
|
|
|
|
.endif # !target(fetch-list-one-pkg)
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
# Checksumming utilities
|
|
|
|
|
|
|
|
.if !target(makesum)
|
|
|
|
makesum: fetch
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${FILESDIR}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ -f ${MD5_FILE} ]; then ${RM} -f ${MD5_FILE}; fi
|
|
|
|
@${ECHO} -n "$$" > ${MD5_FILE}; \
|
|
|
|
${ECHO} -n "NetBSD" >> ${MD5_FILE}; \
|
|
|
|
${ECHO} "$$" >> ${MD5_FILE}; \
|
1998-08-07 14:30:29 +02:00
|
|
|
${ECHO} "" >> ${MD5_FILE}
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}(${_PKG_DEBUG}cd ${DISTDIR}; \
|
|
|
|
for sumfile in "" ${_CKSUMFILES}; do \
|
|
|
|
if [ "X$$sumfile" = X"" ]; then continue; fi; \
|
|
|
|
${MD5} $$sumfile >> ${MD5_FILE}; \
|
|
|
|
done)
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
for ignore in "" ${_IGNOREFILES}; do \
|
|
|
|
if [ "X$$sumfile" = X"" ]; then continue; fi; \
|
|
|
|
${ECHO} "MD5 ($$ignore) = IGNORE" >> ${MD5_FILE}; \
|
1997-08-20 12:21:05 +02:00
|
|
|
done
|
|
|
|
.endif
|
|
|
|
|
1999-07-09 15:14:21 +02:00
|
|
|
.if !target(makepatchsum)
|
|
|
|
makepatchsum:
|
1999-10-14 07:31:22 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
(${MKDIR} ${FILESDIR}; \
|
|
|
|
${ECHO_MSG} "===> Making patch checksums"; \
|
|
|
|
if [ -f "${PATCH_SUM_FILE}" ]; then \
|
|
|
|
${AWK} -- '{print ; exit}' < ${PATCH_SUM_FILE} > ${PATCH_SUM_FILE}.new; \
|
|
|
|
else \
|
|
|
|
${ECHO} -n "$$" > ${PATCH_SUM_FILE}.new; \
|
|
|
|
${ECHO} -n "NetBSD" >> ${PATCH_SUM_FILE}.new; \
|
|
|
|
${ECHO} "$$" >> ${PATCH_SUM_FILE}.new; \
|
|
|
|
fi; \
|
|
|
|
${ECHO} "" >> ${PATCH_SUM_FILE}.new; \
|
1999-10-19 14:04:45 +02:00
|
|
|
havepatches=0; \
|
1999-07-09 15:14:21 +02:00
|
|
|
if [ -d ${PATCHDIR} ]; then \
|
|
|
|
cd ${PATCHDIR}; \
|
|
|
|
for sumfile in "" patch-*; do \
|
1999-10-14 07:31:22 +02:00
|
|
|
if [ "X$$sumfile" = "X" ]; then continue; fi; \
|
|
|
|
if [ "X$$sumfile" = "Xpatch-*" ]; then break; fi; \
|
1999-07-09 15:14:21 +02:00
|
|
|
case $$sumfile in \
|
1999-10-14 07:31:22 +02:00
|
|
|
patch-local-*) ;; \
|
|
|
|
*.orig) continue ;; \
|
1999-10-19 14:04:45 +02:00
|
|
|
*) ${ECHO} "MD5 ($$sumfile) = `${SED} -e '/\$$NetBSD.*/d' $$sumfile | ${MD5}`" >> ${PATCH_SUM_FILE}.new; \
|
|
|
|
havepatches=1 ;; \
|
1999-07-09 15:14:21 +02:00
|
|
|
esac; \
|
|
|
|
done; \
|
1999-10-14 07:31:22 +02:00
|
|
|
fi; \
|
1999-10-19 14:04:45 +02:00
|
|
|
if [ $$havepatches = 0 ]; then \
|
1999-10-14 07:31:22 +02:00
|
|
|
if [ -f "${PATCH_SUM_FILE}" ]; then \
|
|
|
|
${ECHO} "This placeholder file is generated by the \`\`makepatchsum'' target" >> ${PATCH_SUM_FILE}.new; \
|
|
|
|
${ECHO} "whenever the patches directory is empty or missing. Its purpose" >> ${PATCH_SUM_FILE}.new; \
|
|
|
|
${ECHO} "is to ensure that the presence of any obsolete patches will cause" >> ${PATCH_SUM_FILE}.new; \
|
|
|
|
${ECHO} "the proper error to be emitted at build time." >> ${PATCH_SUM_FILE}.new; \
|
|
|
|
${ECHO_MSG} ">> placeholder patch-sum file created"; \
|
|
|
|
else \
|
|
|
|
${RM} -f ${PATCH_SUM_FILE}.new; \
|
|
|
|
${ECHO_MSG} ">> no patch-sum file created"; \
|
|
|
|
exit 0; \
|
|
|
|
fi; \
|
|
|
|
fi; \
|
1999-10-19 14:04:45 +02:00
|
|
|
if cmp -s ${PATCH_SUM_FILE}.new ${PATCH_SUM_FILE}; then \
|
1999-10-14 07:31:22 +02:00
|
|
|
${RM} -f ${PATCH_SUM_FILE}.new; \
|
1999-10-19 14:04:45 +02:00
|
|
|
${ECHO_MSG} ">> patch-sum file unchanged"; \
|
1999-10-14 07:31:22 +02:00
|
|
|
else \
|
|
|
|
${MV} ${PATCH_SUM_FILE}.new ${PATCH_SUM_FILE}; \
|
1999-07-09 15:14:21 +02:00
|
|
|
fi)
|
|
|
|
.endif
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
.if !target(checksum)
|
|
|
|
checksum: fetch
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
if [ ! -f ${MD5_FILE} ]; then \
|
|
|
|
${ECHO_MSG} ">> No MD5 checksum file."; \
|
|
|
|
else \
|
|
|
|
(cd ${DISTDIR}; OK="true"; \
|
|
|
|
for file in "" ${_CKSUMFILES}; do \
|
|
|
|
if [ "X$$file" = X"" ]; then continue; fi; \
|
|
|
|
CKSUM=`${MD5} < $$file`; \
|
1999-01-19 23:18:19 +01:00
|
|
|
CKSUM2=`${AWK} '$$1 == "MD5" && $$2 == "('$$file')"{print $$4;}' ${MD5_FILE}`; \
|
1999-03-08 18:26:54 +01:00
|
|
|
if [ "$$CKSUM2" = "" ]; then \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} ">> No checksum recorded for $$file."; \
|
1999-03-08 18:26:54 +01:00
|
|
|
OK="false"; \
|
|
|
|
elif [ "$$CKSUM2" = "IGNORE" ]; then \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} ">> Checksum for $$file is set to IGNORE in md5 file even though"; \
|
|
|
|
${ECHO_MSG} " the file is not in the "'$$'"{IGNOREFILES} list."; \
|
1999-03-08 18:26:54 +01:00
|
|
|
OK="false"; \
|
|
|
|
elif [ "$$CKSUM" = "$$CKSUM2" ]; then \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} ">> Checksum OK for $$file."; \
|
1999-03-08 18:26:54 +01:00
|
|
|
else \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} ">> Checksum mismatch for $$file."; \
|
1999-03-08 18:26:54 +01:00
|
|
|
OK="false"; \
|
|
|
|
fi; \
|
|
|
|
done; \
|
|
|
|
for file in "" ${_IGNOREFILES}; do \
|
|
|
|
if [ "X$$file" = X"" ]; then continue; fi; \
|
1999-01-19 23:18:19 +01:00
|
|
|
CKSUM2=`${AWK} '$$1 == "MD5" && $$2 == "('$$file')"{print $$4;}' ${MD5_FILE}`; \
|
1999-03-08 18:26:54 +01:00
|
|
|
if [ "$$CKSUM2" = "" ]; then \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} ">> No checksum recorded for $$file, file is in "'$$'"{IGNOREFILES} list."; \
|
1999-03-08 18:26:54 +01:00
|
|
|
OK="false"; \
|
|
|
|
elif [ "$$CKSUM2" != "IGNORE" ]; then \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} ">> Checksum for $$file is not set to IGNORE in md5 file even though"; \
|
|
|
|
${ECHO_MSG} " the file is in the "'$$'"{IGNOREFILES} list."; \
|
1999-03-08 18:26:54 +01:00
|
|
|
OK="false"; \
|
|
|
|
fi; \
|
|
|
|
done; \
|
|
|
|
if [ "$$OK" != "true" ]; then \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} "Make sure the Makefile and md5 file (${MD5_FILE})"; \
|
|
|
|
${ECHO_MSG} "are up to date. If you want to override this check, type"; \
|
1998-04-19 14:48:07 +02:00
|
|
|
${ECHO_MSG} "\"${MAKE} NO_CHECKSUM=yes [other args]\"."; \
|
1999-03-08 18:26:54 +01:00
|
|
|
exit 1; \
|
|
|
|
fi) ; \
|
1997-08-20 12:21:05 +02:00
|
|
|
fi
|
|
|
|
.endif
|
|
|
|
|
|
|
|
################################################################
|
|
|
|
# The special package-building targets
|
|
|
|
# You probably won't need to touch these
|
|
|
|
################################################################
|
|
|
|
|
1998-02-20 23:06:18 +01:00
|
|
|
HTMLIFY= ${SED} -e 's/&/\&/g' -e 's/>/\>/g' -e 's/</\</g'
|
|
|
|
|
1998-08-27 16:56:02 +02:00
|
|
|
# Set to "html" by the README.html target (and passed via depends-list
|
1998-02-20 23:06:18 +01:00
|
|
|
# and package-depends)
|
1998-08-27 16:56:02 +02:00
|
|
|
PACKAGE_NAME_TYPE?= name
|
1998-02-20 23:06:18 +01:00
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
# Nobody should want to override this unless PKGNAME is simply bogus.
|
|
|
|
|
|
|
|
.if !target(package-name)
|
|
|
|
package-name:
|
1998-08-27 16:56:02 +02:00
|
|
|
.if (${PACKAGE_NAME_TYPE} == "html")
|
|
|
|
@${ECHO} '<A HREF="../../'`${MAKE} package-path | ${HTMLIFY}`'/README.html">'`${ECHO} ${PKGNAME} | ${HTMLIFY}`'</A>'
|
1998-02-20 23:06:18 +01:00
|
|
|
.else
|
|
|
|
@${ECHO} '${PKGNAME}'
|
1998-08-27 16:56:02 +02:00
|
|
|
.endif # PACKAGE_NAME_TYPE
|
1998-02-20 23:06:18 +01:00
|
|
|
.endif # !target(package-name)
|
|
|
|
|
|
|
|
.if !target(package-path)
|
|
|
|
package-path:
|
1998-11-07 15:41:50 +01:00
|
|
|
@pwd | sed s@`cd ${PKGSRCDIR} && pwd`/@@g
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Show (recursively) all the packages this package depends on.
|
1998-10-03 18:24:35 +02:00
|
|
|
# if PACKAGE_DEPENDS_WITH_PATTERNS is set, print as pattern (if possible)
|
2000-02-02 17:28:55 +01:00
|
|
|
PACKAGE_DEPENDS_WITH_PATTERNS?=true
|
1997-08-20 12:21:05 +02:00
|
|
|
.if !target(package-depends)
|
|
|
|
package-depends:
|
1998-10-05 02:34:44 +02:00
|
|
|
.for dep in ${DEPENDS}
|
1999-03-08 18:26:54 +01:00
|
|
|
@pkg="`${ECHO} \"${dep}\" | ${SED} -e 's/:.*//'`"; \
|
|
|
|
dir="`${ECHO} \"${dep}\" | ${SED} -e 's/[^:]*://'`"; \
|
|
|
|
if [ -d $$dir ]; then \
|
|
|
|
if ${PACKAGE_DEPENDS_WITH_PATTERNS}; then \
|
|
|
|
${ECHO} "$$pkg"; \
|
|
|
|
else \
|
1998-11-07 15:41:50 +01:00
|
|
|
(cd $$dir && ${MAKE} package-name PACKAGE_NAME_TYPE=${PACKAGE_NAME_TYPE}); \
|
1999-03-08 18:26:54 +01:00
|
|
|
fi; \
|
1998-11-07 15:41:50 +01:00
|
|
|
(cd $$dir && ${MAKE} package-depends PACKAGE_NAME_TYPE=${PACKAGE_NAME_TYPE}); \
|
1999-03-08 18:26:54 +01:00
|
|
|
else \
|
1998-10-05 02:34:44 +02:00
|
|
|
${ECHO_MSG} "Warning: \"$$dir\" non-existent -- @pkgdep registration incomplete" >&2; \
|
|
|
|
fi
|
|
|
|
.endfor
|
|
|
|
.for dep in ${RUN_DEPENDS}
|
1999-03-08 18:26:54 +01:00
|
|
|
@pkg="`${ECHO} \"${dep}\" | ${SED} -e 's/:.*//'`"; \
|
|
|
|
dir="`${ECHO} \"${dep}\" | ${SED} -e 's/[^:]*://'`"; \
|
|
|
|
if [ -d $$dir ]; then \
|
1999-11-30 05:17:58 +01:00
|
|
|
if ${PACKAGE_DEPENDS_WITH_PATTERNS}; then \
|
|
|
|
${ECHO} "$$pkg"; \
|
|
|
|
else \
|
|
|
|
(cd $$dir && ${MAKE} package-name PACKAGE_NAME_TYPE=${PACKAGE_NAME_TYPE}); \
|
|
|
|
fi; \
|
1998-11-07 15:41:50 +01:00
|
|
|
(cd $$dir && ${MAKE} package-depends PACKAGE_NAME_TYPE=${PACKAGE_NAME_TYPE}); \
|
1999-03-08 18:26:54 +01:00
|
|
|
else \
|
1998-10-05 02:34:44 +02:00
|
|
|
${ECHO_MSG} "Warning: \"$$dir\" non-existent -- @pkgdep registration incomplete" >&2; \
|
|
|
|
fi
|
|
|
|
.endfor
|
1998-10-03 18:24:35 +02:00
|
|
|
.endif # target(package-depends)
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
# Build a package but don't check the package cookie
|
|
|
|
|
|
|
|
.if !target(repackage)
|
|
|
|
repackage: pre-repackage package
|
|
|
|
|
|
|
|
pre-repackage:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${PACKAGE_COOKIE}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
# Build a package but don't check the cookie for installation, also don't
|
|
|
|
# install package cookie
|
|
|
|
|
|
|
|
.if !target(package-noinstall)
|
|
|
|
package-noinstall:
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} PACKAGE_NOINSTALL=yes real-package
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
################################################################
|
|
|
|
# Dependency checking
|
|
|
|
################################################################
|
|
|
|
|
|
|
|
.if !target(depends)
|
1998-08-05 21:25:08 +02:00
|
|
|
depends: misc-depends
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} build-depends
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} run-depends
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
.if make(build-depends)
|
|
|
|
DEPENDS_TMP+= ${BUILD_DEPENDS}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if make(run-depends)
|
|
|
|
DEPENDS_TMP+= ${RUN_DEPENDS}
|
|
|
|
.endif
|
|
|
|
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
_DEPENDS_USE:
|
1997-08-20 12:21:05 +02:00
|
|
|
.if defined(DEPENDS_TMP)
|
|
|
|
.if !defined(NO_DEPENDS)
|
1999-03-08 18:26:54 +01:00
|
|
|
.for i in ${DEPENDS_TMP}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}prog="`${ECHO} \"${i}\" | ${SED} -e 's/:.*//'`"; \
|
|
|
|
dir="`${ECHO} \"${i}\" | ${SED} -e 's/[^:]*://'`"; \
|
1999-06-04 19:05:26 +02:00
|
|
|
if [ ${_DEPENDS_TARGET_OVERRIDE}X != X ]; then \
|
|
|
|
target=${DEPENDS_TARGET}; \
|
|
|
|
elif expr "$$dir" : '.*:' > /dev/null; then \
|
1999-03-08 18:26:54 +01:00
|
|
|
target=`${ECHO} $$dir | ${SED} -e 's/.*://'`; \
|
|
|
|
dir=`${ECHO} $$dir | ${SED} -e 's/:.*//'`; \
|
|
|
|
else \
|
|
|
|
target=${DEPENDS_TARGET}; \
|
|
|
|
fi; \
|
|
|
|
found=not; \
|
|
|
|
if expr "$$prog" : '.*/' >/dev/null; then \
|
|
|
|
if ${TEST} -e "$$prog" ; then \
|
|
|
|
${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - found"; \
|
|
|
|
found=""; \
|
|
|
|
else \
|
|
|
|
${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - not found"; \
|
|
|
|
fi; \
|
|
|
|
else \
|
|
|
|
for d in `${ECHO} $$PATH | tr ':' ' '`; do \
|
|
|
|
if [ -x $$d/$$prog ]; then \
|
|
|
|
found="$$d/$$prog"; \
|
|
|
|
break; \
|
|
|
|
fi \
|
|
|
|
done; \
|
|
|
|
${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - $$found found"; \
|
|
|
|
fi; \
|
|
|
|
if [ X"$$found" = Xnot ]; then \
|
|
|
|
${ECHO_MSG} "===> Verifying $$target for $$prog in $$dir"; \
|
|
|
|
if [ ! -d "$$dir" ]; then \
|
|
|
|
${ECHO_MSG} ">> No directory for $$prog. Skipping.."; \
|
|
|
|
else \
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
(cd $$dir && ${MAKE} ${.MAKEFLAGS} $$target) && \
|
1999-03-08 18:26:54 +01:00
|
|
|
${ECHO_MSG} "===> Returning to build of ${PKGNAME}"; \
|
|
|
|
fi; \
|
|
|
|
fi
|
|
|
|
.endfor
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
.else
|
|
|
|
@${DO_NADA}
|
|
|
|
.endif
|
|
|
|
|
2000-02-28 02:38:37 +01:00
|
|
|
build-depends: _DEPENDS_USE
|
|
|
|
run-depends: _DEPENDS_USE
|
|
|
|
|
2000-01-14 12:58:21 +01:00
|
|
|
# Tells whether to halt execution if the object formats differ
|
|
|
|
FATAL_OBJECT_FMT_SKEW?= yes
|
2000-01-17 15:49:55 +01:00
|
|
|
WARN_NO_OBJECT_FMT?= yes
|
2000-01-14 12:58:21 +01:00
|
|
|
|
1998-10-19 14:50:51 +02:00
|
|
|
misc-depends: uptodate-pkgtools
|
1997-08-20 12:21:05 +02:00
|
|
|
.if defined(DEPENDS)
|
|
|
|
.if !defined(NO_DEPENDS)
|
1998-08-25 18:26:09 +02:00
|
|
|
.for dep in ${DEPENDS}
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}package="`${ECHO} \"${dep}\" | ${SED} -e s/:.\*//`"; \
|
1998-08-25 18:26:09 +02:00
|
|
|
dir="`${ECHO} \"${dep}\" | ${SED} -e s/.\*://`"; \
|
1998-10-05 02:34:44 +02:00
|
|
|
found="`${PKG_INFO} -e \"$$package\" || ${TRUE}`"; \
|
2000-01-14 12:39:31 +01:00
|
|
|
if [ "X$$found" != "X" ]; then \
|
|
|
|
instobjfmt=`${PKG_INFO} -B "$$package" | ${AWK} '/^OBJECT_FMT/ { print $$2 }'`; \
|
|
|
|
if [ "X$$instobjfmt" = "X" ]; then \
|
2000-01-17 15:49:55 +01:00
|
|
|
if [ "X${WARN_NO_OBJECT_FMT}" != "Xno" ]; then \
|
|
|
|
${ECHO} "WARNING: Unknown object format for installed package $$package - continuing"; \
|
|
|
|
fi; \
|
2000-01-14 12:39:31 +01:00
|
|
|
elif [ "X$$instobjfmt" != "X${OBJECT_FMT}" ]; then \
|
|
|
|
${ECHO} "Installed package $$package is an $$instobjfmt package."; \
|
|
|
|
${ECHO} "You are building an ${OBJECT_FMT} package, which will not inter-operate."; \
|
|
|
|
${ECHO} "Please update the $$package package to ${OBJECT_FMT}"; \
|
2000-01-14 12:58:21 +01:00
|
|
|
if [ "X${FATAL_OBJECT_FMT_SKEW}" != "no" ]; then \
|
|
|
|
exit 1; \
|
|
|
|
fi; \
|
2000-01-14 12:39:31 +01:00
|
|
|
fi; \
|
2000-01-10 20:43:37 +01:00
|
|
|
if [ `${ECHO} $$found | wc -w` -gt 1 ]; then \
|
|
|
|
${ECHO} '***' "WARNING: Dependency on '$$package' expands to several installed packages " ; \
|
|
|
|
${ECHO} " (" `${ECHO} $$found` ")." ; \
|
|
|
|
${ECHO} " Please check if this is really intended!" ; \
|
|
|
|
else \
|
|
|
|
${ECHO_MSG} "===> ${PKGNAME} depends on installed package: $$package - `${ECHO} $$found | ${SED} -e 's|${PKG_DBDIR}/||g' | tr '\012' '\040'`found"; \
|
|
|
|
fi ; \
|
1998-08-25 18:26:09 +02:00
|
|
|
else \
|
|
|
|
${ECHO_MSG} "===> ${PKGNAME} depends on package: $$package"; \
|
|
|
|
target=${DEPENDS_TARGET}; \
|
|
|
|
${ECHO_MSG} "===> Verifying $$target for $$dir"; \
|
|
|
|
if [ ! -d $$dir ]; then \
|
|
|
|
${ECHO_MSG} ">> No directory for $$dir. Skipping.."; \
|
1998-04-22 16:22:39 +02:00
|
|
|
else \
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
(cd $$dir && ${MAKE} ${.MAKEFLAGS} $$target) && \
|
|
|
|
${ECHO_MSG} "===> Returning to build of ${PKGNAME}"; \
|
|
|
|
fi; \
|
|
|
|
fi
|
1998-08-25 18:26:09 +02:00
|
|
|
.endfor
|
|
|
|
.endif # !NO_DEPENDS
|
1997-08-20 12:21:05 +02:00
|
|
|
.else
|
|
|
|
@${DO_NADA}
|
1998-08-25 18:26:09 +02:00
|
|
|
.endif # DEPENDS
|
1997-08-20 12:21:05 +02:00
|
|
|
|
|
|
|
.endif
|
|
|
|
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
real-fetch: check-depends
|
|
|
|
.if !target(check-depends)
|
|
|
|
check-depends:
|
|
|
|
.if (defined(DEPENDS) || defined(BUILD_DEPENDS) || defined(RUN_DEPENDS)) && \
|
1999-05-26 17:27:23 +02:00
|
|
|
!defined(NO_DEPENDS) && !defined(NO_CHECK_DEPENDS) && !exists(${EXTRACT_COOKIE})
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${ECHO_MSG} "===> Validating dependencies for ${PKGNAME}"
|
1999-06-04 19:05:26 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MAKE} DEPENDS_TARGET=check-depends ECHO_MSG=${TRUE:Q} IGNORE_FAIL=1 _DEPENDS_TARGET_OVERRIDE=1 depends || \
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
(${ECHO_MSG} "===> ${PKGNAME} cannot build necessary dependencies."; ${FALSE})
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
.if !target(clean-depends)
|
|
|
|
clean-depends:
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
.if defined(BUILD_DEPENDS) || defined(DEPENDS) || defined(RUN_DEPENDS)
|
2000-01-11 14:59:28 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}\
|
|
|
|
for dir in `${ECHO} ${BUILD_DEPENDS:C/^[^:]*://:C/:.*//} \
|
2000-02-28 02:38:37 +01:00
|
|
|
${DEPENDS:C/^[^:]*://:C/:.*//} \
|
|
|
|
${RUN_DEPENDS:C/^[^:]*://:C/:.*//} | sort -u`; do \
|
1999-03-08 18:26:54 +01:00
|
|
|
if [ -d $$dir ] ; then \
|
1999-03-03 23:53:49 +01:00
|
|
|
(cd $$dir && ${MAKE} CLEANDEPENDS=${CLEANDEPENDS} clean ); \
|
1999-03-08 18:26:54 +01:00
|
|
|
fi \
|
1997-08-20 12:21:05 +02:00
|
|
|
done
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(depends-list)
|
|
|
|
depends-list:
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
.for dir in ${BUILD_DEPENDS} ${DEPENDS}
|
1998-11-07 15:41:50 +01:00
|
|
|
@cd ${dir:C/^[^:]*://:C/:.*//} && ${MAKE} package-name depends-list PACKAGE_NAME_TYPE=${PACKAGE_NAME_TYPE}
|
1998-10-21 01:21:18 +02:00
|
|
|
.endfor
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
1998-09-23 15:09:32 +02:00
|
|
|
# If PACKAGES is set to the default (../../pkgsrc/packages), the current
|
|
|
|
# ${MACHINE_ARCH} and "release" (uname -r) will be used. Otherwise a directory
|
|
|
|
# structure of ...pkgsrc/packages/`uname -r`/${MACHINE_ARCH} is assumed.
|
|
|
|
# The PKG_URL is set from FTP_PKG_URL_* or CDROM_PKG_URL_*, depending on
|
|
|
|
# the target used to generate the README.html file.
|
1998-05-25 02:04:30 +02:00
|
|
|
.if !target(binpkg-list)
|
|
|
|
binpkg-list:
|
1998-09-23 15:09:32 +02:00
|
|
|
@cd ${PACKAGES}; \
|
|
|
|
case `/bin/pwd` in \
|
|
|
|
*/pkgsrc/packages) \
|
1999-07-02 02:11:22 +02:00
|
|
|
for pkg in ${PKGREPOSITORYSUBDIR}/${PKGNAME:C/-[^-]*$/-[0-9]*/}${PKG_SUFX} ; \
|
|
|
|
do \
|
|
|
|
if [ -f "$$pkg" ] ; then \
|
1999-07-03 18:38:59 +02:00
|
|
|
${ECHO} "<TR><TD> ${MACHINE_ARCH}: <TD><a href=\"${PKG_URL}/$$pkg\"> <TD>(${OPSYS} ${OS_VERSION}) </a>)"; \
|
1999-07-02 02:11:22 +02:00
|
|
|
fi ; \
|
|
|
|
done ; \
|
1998-09-23 15:09:32 +02:00
|
|
|
;; \
|
|
|
|
*) \
|
|
|
|
cd ${PACKAGES}/../..; \
|
1999-07-02 02:11:22 +02:00
|
|
|
for i in [1-9].*/*; do ( \
|
1999-07-02 20:04:53 +02:00
|
|
|
d=$$i/${PKGREPOSITORYSUBDIR} ; \
|
1999-07-03 18:38:59 +02:00
|
|
|
if [ -d "$$d" ]; then \
|
|
|
|
cd "$$d" ; \
|
1999-07-02 20:04:53 +02:00
|
|
|
for j in ${PKGNAME:C/-[^-]*$/-[0-9]*/}${PKG_SUFX} ; \
|
|
|
|
do \
|
|
|
|
if [ -f "$$j" ] ; then \
|
|
|
|
${ECHO} $$i/$$j; \
|
|
|
|
fi ; \
|
1999-07-14 21:34:06 +02:00
|
|
|
done ; \
|
1999-07-03 18:38:59 +02:00
|
|
|
fi ) ; \
|
1998-09-23 15:09:32 +02:00
|
|
|
done | ${AWK} -F/ ' \
|
|
|
|
{ \
|
|
|
|
release = $$1; \
|
|
|
|
arch = $$2; \
|
1999-07-02 02:11:22 +02:00
|
|
|
pkg = $$3; \
|
|
|
|
gsub("\.tgz","", pkg); \
|
1998-09-23 15:09:32 +02:00
|
|
|
if (arch != "m68k") { \
|
|
|
|
if (arch in urls) \
|
1999-07-02 02:11:22 +02:00
|
|
|
urls[arch "/" pkg "/" release] = "<a href=\"${PKG_URL}/" release "/" arch "/${PKGREPOSITORYSUBDIR}/" pkg "${PKG_SUFX}\">" pkg "</a>, " urls[arch]; \
|
1998-09-23 15:09:32 +02:00
|
|
|
else \
|
1999-07-02 02:11:22 +02:00
|
|
|
urls[arch "/" pkg "/" release] = "<a href=\"${PKG_URL}/" release "/" arch "/${PKGREPOSITORYSUBDIR}/" pkg "${PKG_SUFX}\">" pkg "</a> "; \
|
1998-09-23 15:09:32 +02:00
|
|
|
} \
|
|
|
|
} \
|
|
|
|
END { \
|
1999-07-02 02:11:22 +02:00
|
|
|
for (av in urls) { \
|
|
|
|
split(av, ava, "/"); \
|
|
|
|
arch=ava[1]; \
|
|
|
|
pkg=ava[2]; \
|
|
|
|
release=ava[3]; \
|
|
|
|
print "<TR><TD><LI> " arch ": <TD>" urls[av] " <TD>(${OPSYS} " release ")"; \
|
1998-09-23 15:09:32 +02:00
|
|
|
} \
|
1999-12-23 04:12:44 +01:00
|
|
|
} ' | sort \
|
1998-09-23 15:09:32 +02:00
|
|
|
;; \
|
|
|
|
esac
|
1998-05-25 02:04:30 +02:00
|
|
|
.endif
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
################################################################
|
|
|
|
# Everything after here are internal targets and really
|
|
|
|
# shouldn't be touched by anybody but the release engineers.
|
|
|
|
################################################################
|
|
|
|
|
|
|
|
# This target generates an index entry suitable for aggregation into
|
|
|
|
# a large index. Format is:
|
|
|
|
#
|
1999-08-10 12:48:23 +02:00
|
|
|
# distribution-name|package-path|installation-prefix|comment| \
|
1998-03-08 15:25:52 +01:00
|
|
|
# description-file|maintainer|categories|build deps|run deps|for arch
|
1997-08-20 12:21:05 +02:00
|
|
|
#
|
|
|
|
.if !target(describe)
|
|
|
|
describe:
|
1999-03-08 18:26:54 +01:00
|
|
|
@${ECHO} -n "${PKGNAME}|${.CURDIR}|"; \
|
|
|
|
${ECHO} -n "${PREFIX}|"; \
|
|
|
|
if [ -f ${COMMENT} ]; then \
|
|
|
|
${ECHO} -n "`${CAT} ${COMMENT}`"; \
|
|
|
|
else \
|
|
|
|
${ECHO} -n "** No Description"; \
|
|
|
|
fi; \
|
|
|
|
if [ -f ${DESCR_SRC} ]; then \
|
|
|
|
${ECHO} -n "|${DESCR_SRC}"; \
|
|
|
|
else \
|
|
|
|
${ECHO} -n "|/dev/null"; \
|
|
|
|
fi; \
|
|
|
|
${ECHO} -n "|${MAINTAINER}|${CATEGORIES}|"; \
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
case "A${BUILD_DEPENDS}B${DEPENDS}C" in \
|
|
|
|
ABC) ;; \
|
1998-04-19 14:48:07 +02:00
|
|
|
*) cd ${.CURDIR} && ${ECHO} -n `${MAKE} depends-list|sort -u`;; \
|
1999-03-08 18:26:54 +01:00
|
|
|
esac; \
|
|
|
|
${ECHO} -n "|"; \
|
|
|
|
case "A${RUN_DEPENDS}B${DEPENDS}C" in \
|
|
|
|
ABC) ;; \
|
2000-02-02 17:28:55 +01:00
|
|
|
*) cd ${.CURDIR} && ${ECHO} -n `${MAKE} package-depends|sort -u`;; \
|
1999-03-08 18:26:54 +01:00
|
|
|
esac; \
|
|
|
|
${ECHO} -n "|"; \
|
|
|
|
if [ "${ONLY_FOR_ARCHS}" = "" ]; then \
|
|
|
|
${ECHO} -n "any"; \
|
|
|
|
else \
|
|
|
|
${ECHO} -n "${ONLY_FOR_ARCHS}"; \
|
|
|
|
fi; \
|
|
|
|
${ECHO} -n "|"; \
|
|
|
|
if [ "${NOT_FOR_OPSYS}" = "" ]; then \
|
|
|
|
${ECHO} -n "any"; \
|
|
|
|
else \
|
|
|
|
${ECHO} -n "not ${NOT_FOR_OPSYS}"; \
|
|
|
|
fi; \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO} ""
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(readmes)
|
|
|
|
readmes: readme
|
|
|
|
.endif
|
|
|
|
|
1998-09-23 15:09:32 +02:00
|
|
|
# This target is used to generate README.html files
|
1997-08-20 12:21:05 +02:00
|
|
|
.if !target(readme)
|
1998-09-23 15:09:32 +02:00
|
|
|
FTP_PKG_URL_HOST?= ftp://ftp.netbsd.org
|
|
|
|
FTP_PKG_URL_DIR?= /pub/NetBSD/packages
|
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
readme:
|
1998-09-23 15:09:32 +02:00
|
|
|
@cd ${.CURDIR} && ${MAKE} README.html PKG_URL=${FTP_PKG_URL_HOST}${FTP_PKG_URL_DIR}
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# This target is used to generate README.html files, very like "readme"
|
|
|
|
# However, a different target was used for ease of use.
|
|
|
|
.if !target(cdrom-readme)
|
|
|
|
CDROM_PKG_URL_HOST?= file://localhost
|
|
|
|
CDROM_PKG_URL_DIR?= /usr/pkgsrc/packages
|
|
|
|
|
|
|
|
cdrom-readme:
|
|
|
|
@cd ${.CURDIR} && ${MAKE} README.html PKG_URL=${CDROM_PKG_URL_HOST}${CDROM_PKG_URL_DIR}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
|
|
|
|
1997-11-21 18:44:11 +01:00
|
|
|
.if (${OPSYS} == "NetBSD")
|
|
|
|
README_NAME= ${TEMPLATES}/README.pkg
|
1999-03-08 18:26:54 +01:00
|
|
|
.elif (${OPSYS} == "SunOS")
|
|
|
|
README_NAME= ${TEMPLATES}/README.pkg
|
1997-11-21 18:44:11 +01:00
|
|
|
.else
|
|
|
|
README_NAME= ${TEMPLATES}/README.port
|
|
|
|
.endif
|
|
|
|
|
1998-07-22 11:18:46 +02:00
|
|
|
# set up the correct license information as a sed expression
|
|
|
|
.ifdef LICENSE
|
|
|
|
SED_LICENSE_EXPR= -e 's|%%LICENSE%%|<p>Please note that this package has a ${LICENSE} license.</p>|'
|
|
|
|
.else
|
|
|
|
SED_LICENSE_EXPR= -e 's|%%LICENSE%%||'
|
|
|
|
.endif
|
|
|
|
|
1998-08-20 17:16:34 +02:00
|
|
|
# set up the "more info URL" information as a sed expression
|
|
|
|
.ifdef HOMEPAGE
|
1998-08-27 13:34:23 +02:00
|
|
|
SED_HOMEPAGE_EXPR= -e 's|%%HOMEPAGE%%|<p>This package has a home page at <a HREF="${HOMEPAGE}">${HOMEPAGE}</a>.</p>|'
|
1998-08-20 17:16:34 +02:00
|
|
|
.else
|
|
|
|
SED_HOMEPAGE_EXPR= -e 's|%%HOMEPAGE%%||'
|
|
|
|
.endif
|
|
|
|
|
1999-07-14 21:34:06 +02:00
|
|
|
.PHONY: README.html
|
|
|
|
README.html: .PRECIOUS
|
1998-08-27 16:56:02 +02:00
|
|
|
@${MAKE} depends-list PACKAGE_NAME_TYPE=html | sort -u >> $@.tmp1
|
1998-09-23 15:09:32 +02:00
|
|
|
@[ -s $@.tmp1 ] || ${ECHO} "<I>(none)</I>" >> $@.tmp1
|
1998-08-27 16:56:02 +02:00
|
|
|
@${MAKE} package-depends PACKAGE_NAME_TYPE=html | sort -u >> $@.tmp2
|
1998-09-23 15:09:32 +02:00
|
|
|
@[ -s $@.tmp2 ] || ${ECHO} "<I>(none)</I>" >> $@.tmp2
|
1997-11-21 18:44:11 +01:00
|
|
|
@${ECHO} ${PKGNAME} | ${HTMLIFY} >> $@.tmp3
|
1998-05-25 02:04:30 +02:00
|
|
|
@${MAKE} binpkg-list >> $@.tmp4
|
1998-09-23 15:09:32 +02:00
|
|
|
@[ -s $@.tmp4 ] || ${ECHO} "<I>(no precompiled binaries available)</I>" >> $@.tmp4
|
|
|
|
@${SED} -e 's|%%PORT%%|'"`${MAKE} package-path | ${HTMLIFY}`"'|g' \
|
1999-07-28 12:07:55 +02:00
|
|
|
-e '/%%PKG%%/r $@.tmp3' \
|
1998-09-23 15:09:32 +02:00
|
|
|
-e '/%%PKG%%/d' \
|
|
|
|
${SED_LICENSE_EXPR} \
|
|
|
|
${SED_HOMEPAGE_EXPR} \
|
1999-07-28 12:07:55 +02:00
|
|
|
-e '/%%COMMENT%%/r ${PKGDIR}/COMMENT' \
|
1998-09-23 15:09:32 +02:00
|
|
|
-e '/%%COMMENT%%/d' \
|
1999-07-28 12:07:55 +02:00
|
|
|
-e '/%%BUILD_DEPENDS%%/r $@.tmp1' \
|
1998-09-23 15:09:32 +02:00
|
|
|
-e '/%%BUILD_DEPENDS%%/d' \
|
1999-07-28 12:07:55 +02:00
|
|
|
-e '/%%RUN_DEPENDS%%/r $@.tmp2' \
|
1998-09-23 15:09:32 +02:00
|
|
|
-e '/%%RUN_DEPENDS%%/d' \
|
1999-07-28 12:07:55 +02:00
|
|
|
-e '/%%BIN_PKGS%%/r $@.tmp4' \
|
1998-09-23 15:09:32 +02:00
|
|
|
-e '/%%BIN_PKGS%%/d' \
|
|
|
|
${README_NAME} >> $@.tmp
|
1999-07-28 12:07:55 +02:00
|
|
|
@cmp -s $@.tmp $@ || \
|
|
|
|
(${ECHO_MSG} "===> Creating README.html for ${_THISDIR_}${PKGNAME}"; \
|
|
|
|
${MV} -f $@.tmp $@)
|
1999-07-14 21:34:06 +02:00
|
|
|
@${RM} -f $@.tmp $@.tmp1 $@.tmp2 $@.tmp3 $@.tmp4 $@.tmp5
|
1997-08-20 12:21:05 +02:00
|
|
|
|
1999-03-08 18:26:54 +01:00
|
|
|
.if !target(show-pkgtools-version)
|
|
|
|
show-pkgtools-version:
|
2000-01-07 13:24:14 +01:00
|
|
|
@${ECHO} ${PKGTOOLS_VERSION}
|
1999-08-31 23:45:45 +02:00
|
|
|
.endif
|
1998-11-09 15:41:30 +01:00
|
|
|
|
1999-09-28 12:03:16 +02:00
|
|
|
# convenience target, to display make variables from command line
|
|
|
|
# i.e. "make show-var VARNAME=var", will print var's value
|
|
|
|
show-var:
|
1999-09-28 12:07:38 +02:00
|
|
|
@${ECHO} "${${VARNAME}}"
|
1999-09-28 12:03:16 +02:00
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
.if !target(print-depends-list)
|
|
|
|
print-depends-list:
|
- The comment above the _COOKIE settings says "don't change these!!", so
use = to set them, not ?=.
- _DEPENDS_USE doesn't actually do any macro expansion, so save some
processing time by executing it exactly once (remove the .USE operator).
- Merge the IGNORE targets. Add an IGNORE target for depends and
check-depends (see bottom).
- Don't check for installation of a package in ${DEPENDS} when doing
a "make depends". Instead, let the return code of make fall through
(using && instead of ; in the last clause of each depend recursion block).
- Provide a variable IGNORE_FAIL: when set, causes the ignore message
to be printed (regardless of IGNORE_SILENT or ECHO_MSG setting) and the
build to fail with ${FALSE}. Used with the next addition:
- Add a new target, "check-depends", which is called as part of "real-fetch".
This validates whether the dependencies of a pkg to be built are installed,
and if not, whether those dependencies will prospectively build (will
not set IGNORE directly or indirectly through the various disable options).
Recurses to "depends" with a DEPENDS_TARGET of "check-depends".
...And now, it is no longer necessary to mark dependent pkgs as unusable
when their dependencies are unusable thanks to an incorrect LICENSE,
_FOR_PLATFORM setting, and so forth. The check-depends step will validate
everything before fetching a single file.
1999-05-25 01:04:52 +02:00
|
|
|
.if defined(BUILD_DEPENDS) || defined(DEPENDS)
|
1999-08-10 12:48:23 +02:00
|
|
|
@${ECHO} -n 'This package requires package(s) "'
|
1998-04-19 14:48:07 +02:00
|
|
|
@${ECHO} -n `${MAKE} depends-list | sort -u`
|
1997-08-20 12:21:05 +02:00
|
|
|
@${ECHO} '" to build.'
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
|
|
|
.if !target(print-package-depends)
|
|
|
|
print-package-depends:
|
1998-08-05 21:25:08 +02:00
|
|
|
.if defined(RUN_DEPENDS) || defined(DEPENDS)
|
1999-08-10 12:48:23 +02:00
|
|
|
@${ECHO} -n 'This package requires package(s) "'
|
1998-10-05 02:34:44 +02:00
|
|
|
@${ECHO} -n "`${MAKE} package-depends | sort -u`"
|
1997-08-20 12:21:05 +02:00
|
|
|
@${ECHO} '" to run.'
|
|
|
|
.endif
|
|
|
|
.endif
|
|
|
|
|
1999-11-29 20:48:15 +01:00
|
|
|
|
|
|
|
# Stat all the files of a pkg and sum the sizes up. If SIZEDEPENDS is
|
|
|
|
# set, also sum up all depending packages, giving a rough overview of
|
|
|
|
# what this package really needs to run. (When installed alone -
|
|
|
|
# intersection of dependencies with other pkgs may result in less
|
|
|
|
# diskspace usage)
|
|
|
|
#
|
|
|
|
# XXX This is intended to be run before pkg_create is called, so the
|
|
|
|
# existance of ${PLIST} can be assumed as granted.
|
|
|
|
print-pkg-size:
|
2000-01-10 13:33:58 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}( \
|
1999-11-29 20:48:15 +01:00
|
|
|
${SHCOMMENT} "This pkg's files" ; \
|
|
|
|
${SED} -n \
|
|
|
|
-e 's,^[^@],${PREFIX}/&,' \
|
|
|
|
-e '/^\//p' \
|
|
|
|
<${PLIST} ; \
|
|
|
|
${SHCOMMENT} "Any depending pkgs' files" ; \
|
2000-01-10 20:17:27 +01:00
|
|
|
if [ "${SIZEDEPENDS}" != "" ]; then \
|
|
|
|
${MAKE} print-pkg-depend-sizes ; \
|
|
|
|
fi ; \
|
1999-11-29 20:48:15 +01:00
|
|
|
) \
|
|
|
|
| sort -u \
|
|
|
|
| xargs ls -ld \
|
|
|
|
| awk 'BEGIN { sum=0; } \
|
|
|
|
{ sum+=$$5; } \
|
|
|
|
END { print sum; }'
|
|
|
|
|
2000-01-10 20:17:27 +01:00
|
|
|
# Find sizes of required pkgs
|
|
|
|
print-pkg-depend-sizes:
|
|
|
|
.for dep in ${DEPENDS}
|
|
|
|
@p="`${ECHO} \"${dep}\" | ${SED} -e 's/:.*//'`"; \
|
|
|
|
${SHCOMMENT} direct depends ; \
|
|
|
|
${PKG_INFO} -qL "$$p" ; \
|
|
|
|
${SHCOMMENT} "depends of depends (XXX complete!)"; \
|
|
|
|
dps=`${PKG_INFO} -qf "$$p" | grep '@pkgdep' | awk '{ print $$2; }'` ; \
|
|
|
|
for dp in $$dps ; do \
|
|
|
|
${PKG_INFO} -qL "$$dp" ; \
|
|
|
|
done
|
|
|
|
.endfor
|
|
|
|
|
1999-11-29 20:48:15 +01:00
|
|
|
|
1997-08-20 12:21:05 +02:00
|
|
|
# Fake installation of package so that user can pkg_delete it later.
|
1999-08-10 12:48:23 +02:00
|
|
|
# Also, make sure that an installed package is recognized correctly in
|
1997-08-20 12:21:05 +02:00
|
|
|
# accordance to the @pkgdep directive in the packing lists
|
|
|
|
|
|
|
|
.if !target(fake-pkg)
|
1998-08-26 18:50:48 +02:00
|
|
|
fake-pkg: ${PLIST} ${DESCR}
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ ! -f ${PLIST} -o ! -f ${COMMENT} -o ! -f ${DESCR} ]; then \
|
1998-10-26 18:40:57 +01:00
|
|
|
${ECHO} "** Missing package files for ${PKGNAME} - installation not recorded."; \
|
|
|
|
exit 1; \
|
|
|
|
fi
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ ! -d ${PKG_DBDIR} ]; then \
|
1998-10-26 18:40:57 +01:00
|
|
|
${RM} -f ${PKG_DBDIR}; \
|
|
|
|
${MKDIR} ${PKG_DBDIR}; \
|
|
|
|
fi
|
1997-08-20 12:21:05 +02:00
|
|
|
.if defined(FORCE_PKG_REGISTER)
|
1999-04-19 22:04:18 +02:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${PKG_DELETE} -O ${PKGNAME}
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${RM} -rf ${PKG_DBDIR}/${PKGNAME}
|
1998-10-26 18:40:57 +01:00
|
|
|
.endif
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${BUILD_VERSION_FILE} ${BUILD_INFO_FILE}
|
1999-11-29 20:48:15 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${SIZE_PKG_FILE} ${SIZE_ALL_FILE}
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}files=""; \
|
1998-10-26 18:40:57 +01:00
|
|
|
for f in ${.CURDIR}/Makefile ${FILESDIR}/* ${PKGDIR}/*; do \
|
|
|
|
if [ -f $$f ]; then \
|
|
|
|
files="$$files $$f"; \
|
|
|
|
fi; \
|
|
|
|
done; \
|
1999-08-18 12:02:01 +02:00
|
|
|
if [ -f ${PATCH_SUM_FILE} ]; then \
|
|
|
|
for f in `${AWK} '$$1 == "MD5" { gsub("[()]", "", $$2); print $$2 }' < ${PATCH_SUM_FILE}`; do \
|
1999-09-03 23:05:58 +02:00
|
|
|
if [ -f $$f ]; then \
|
|
|
|
files="$$files ${PATCHDIR}/$$f"; \
|
|
|
|
fi; \
|
1999-08-18 12:02:01 +02:00
|
|
|
done; \
|
|
|
|
fi; \
|
1998-10-26 18:40:57 +01:00
|
|
|
if [ -d ${PATCHDIR} ]; then \
|
|
|
|
for f in ${PATCHDIR}/patch-*; do \
|
|
|
|
case $$f in \
|
|
|
|
*.orig|*.rej|*~) ;; \
|
1999-08-18 12:02:01 +02:00
|
|
|
${PATCHDIR}/patch-local-*) \
|
1998-10-26 18:40:57 +01:00
|
|
|
files="$$files $$f" ;; \
|
|
|
|
esac; \
|
|
|
|
done; \
|
|
|
|
fi; \
|
1998-11-07 15:41:50 +01:00
|
|
|
pkgsrcdir=`(cd ../.. && /bin/pwd)`; \
|
1998-10-26 18:40:57 +01:00
|
|
|
${GREP} '\$$NetBSD' $$files | ${SED} -e 's|^'$$pkgsrcdir'/||' > ${BUILD_VERSION_FILE};
|
|
|
|
.for def in ${BUILD_DEFS}
|
|
|
|
@${ECHO} "${def}= ${${def}}" | ${SED} -e 's|PATH=[^ ]*|PATH=...|' >> ${BUILD_INFO_FILE}
|
|
|
|
.endfor
|
|
|
|
@${ECHO} "CC= ${CC}-`${CC} --version`" >> ${BUILD_INFO_FILE}
|
|
|
|
.ifdef USE_PERL5
|
|
|
|
@${ECHO} "PERL= `${LOCALBASE}/bin/perl --version | ${GREP} version`" >> ${BUILD_INFO_FILE}
|
|
|
|
.endif
|
|
|
|
.ifdef USE_GMAKE
|
|
|
|
@${ECHO} "GMAKE= `${GMAKE} --version | ${GREP} version`" >> ${BUILD_INFO_FILE}
|
1997-08-20 12:21:05 +02:00
|
|
|
.endif
|
2000-01-07 13:24:14 +01:00
|
|
|
@${ECHO} "_PKGTOOLS_VER= ${PKGTOOLS_VERSION}" >> ${BUILD_INFO_FILE}
|
1999-11-29 20:48:15 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MAKE} print-pkg-size >${SIZE_PKG_FILE}
|
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}${MAKE} print-pkg-size SIZEDEPENDS=yesplease >${SIZE_ALL_FILE}
|
1999-03-08 18:26:54 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG}if [ ! -d ${PKG_DBDIR}/${PKGNAME} ]; then \
|
1997-08-20 12:21:05 +02:00
|
|
|
${ECHO_MSG} "===> Registering installation for ${PKGNAME}"; \
|
1998-09-21 14:22:47 +02:00
|
|
|
${MKDIR} ${PKG_DBDIR}/${PKGNAME}; \
|
1998-09-23 15:09:32 +02:00
|
|
|
${PKG_CREATE} ${PKG_ARGS} -O ${PKGFILE} > ${PKG_DBDIR}/${PKGNAME}/+CONTENTS; \
|
1998-09-21 14:22:47 +02:00
|
|
|
${CP} ${DESCR} ${PKG_DBDIR}/${PKGNAME}/+DESC; \
|
|
|
|
${CP} ${COMMENT} ${PKG_DBDIR}/${PKGNAME}/+COMMENT; \
|
1998-10-26 18:40:57 +01:00
|
|
|
${CP} ${BUILD_VERSION_FILE} ${PKG_DBDIR}/${PKGNAME}/+BUILD_VERSION; \
|
|
|
|
${CP} ${BUILD_INFO_FILE} ${PKG_DBDIR}/${PKGNAME}/+BUILD_INFO; \
|
1999-11-29 20:48:15 +01:00
|
|
|
if ${TEST} -e ${SIZE_PKG_FILE}; then \
|
|
|
|
${CP} ${SIZE_PKG_FILE} ${PKG_DBDIR}/${PKGNAME}/+SIZE_PKG; \
|
|
|
|
fi ; \
|
|
|
|
if ${TEST} -e ${SIZE_ALL_FILE}; then \
|
|
|
|
${CP} ${SIZE_ALL_FILE} ${PKG_DBDIR}/${PKGNAME}/+SIZE_ALL; \
|
|
|
|
fi ; \
|
1998-09-21 14:22:47 +02:00
|
|
|
if [ -n "${INSTALL_FILE}" ]; then \
|
1999-03-08 18:26:54 +01:00
|
|
|
if ${TEST} -e ${INSTALL_FILE}; then \
|
1998-09-21 14:22:47 +02:00
|
|
|
${CP} ${INSTALL_FILE} ${PKG_DBDIR}/${PKGNAME}/+INSTALL; \
|
|
|
|
fi; \
|
|
|
|
fi; \
|
|
|
|
if [ -n "${DEINSTALL_FILE}" ]; then \
|
1999-03-08 18:26:54 +01:00
|
|
|
if ${TEST} -e ${DEINSTALL_FILE}; then \
|
1998-09-21 14:22:47 +02:00
|
|
|
${CP} ${DEINSTALL_FILE} ${PKG_DBDIR}/${PKGNAME}/+DEINSTALL; \
|
|
|
|
fi; \
|
|
|
|
fi; \
|
|
|
|
if [ -n "${REQ_FILE}" ]; then \
|
1999-03-08 18:26:54 +01:00
|
|
|
if ${TEST} -e ${REQ_FILE}; then \
|
1998-09-21 14:22:47 +02:00
|
|
|
${CP} ${REQ_FILE} ${PKG_DBDIR}/${PKGNAME}/+REQUIRE; \
|
|
|
|
fi; \
|
|
|
|
fi; \
|
|
|
|
if [ -n "${MESSAGE_FILE}" ]; then \
|
1999-03-08 18:26:54 +01:00
|
|
|
if ${TEST} -e ${MESSAGE_FILE}; then \
|
1998-09-21 14:22:47 +02:00
|
|
|
${CP} ${MESSAGE_FILE} ${PKG_DBDIR}/${PKGNAME}/+DISPLAY; \
|
|
|
|
fi; \
|
|
|
|
fi; \
|
2000-02-02 17:28:55 +01:00
|
|
|
for dep in `${MAKE} package-depends ECHO_MSG=${TRUE} | sort -u`; do \
|
1998-10-05 02:34:44 +02:00
|
|
|
realdep="`${PKG_INFO} -e \"$$dep\" || ${TRUE}`" ; \
|
2000-01-10 20:43:37 +01:00
|
|
|
if [ `${ECHO} $$realdep | wc -w` -gt 1 ]; then \
|
|
|
|
${ECHO} '***' "WARNING: '$$dep' expands to several installed packages " ; \
|
|
|
|
${ECHO} " (" `${ECHO} $$realdep` ")." ; \
|
|
|
|
${ECHO} " Please check if this is really intended!" ; \
|
|
|
|
continue ; \
|
|
|
|
fi ; \
|
2000-01-05 17:55:32 +01:00
|
|
|
if ${TEST} -z "$$realdep"; then \
|
1998-10-12 21:40:33 +02:00
|
|
|
${ECHO} "$$dep not installed - NOT registered" ; \
|
1999-03-08 18:26:54 +01:00
|
|
|
elif [ -d ${PKG_DBDIR}/$$realdep ]; then \
|
|
|
|
if ${TEST} ! -e ${PKG_DBDIR}/$$realdep/+REQUIRED_BY; then \
|
|
|
|
${TOUCH} ${PKG_DBDIR}/$$realdep/+REQUIRED_BY; \
|
|
|
|
fi; \
|
|
|
|
${AWK} 'BEGIN { found = 0; } \
|
|
|
|
$$0 == "${PKGNAME}" { found = 1; } \
|
|
|
|
{ print $$0; } \
|
|
|
|
END { if (!found) { printf("%s\n", "${PKGNAME}"); }}' \
|
|
|
|
< ${PKG_DBDIR}/$$realdep/+REQUIRED_BY > ${PKG_DBDIR}/$$realdep/reqby.$$$$; \
|
|
|
|
${MV} ${PKG_DBDIR}/$$realdep/reqby.$$$$ ${PKG_DBDIR}/$$realdep/+REQUIRED_BY; \
|
|
|
|
${ECHO} "${PKGNAME} requires installed package $$realdep"; \
|
1998-10-12 21:40:33 +02:00
|
|
|
fi; \
|
|
|
|
done; \
|
1997-08-20 12:21:05 +02:00
|
|
|
fi
|
|
|
|
.endif
|
|
|
|
|
1999-08-10 12:48:23 +02:00
|
|
|
# Depend is generally meaningless for arbitrary packages, but if someone wants
|
1997-08-20 12:21:05 +02:00
|
|
|
# one they can override this. This is just to catch people who've gotten into
|
1998-04-19 14:48:07 +02:00
|
|
|
# the habit of typing `${MAKE} depend all install' as a matter of course.
|
1997-08-20 12:21:05 +02:00
|
|
|
#
|
|
|
|
.if !target(depend)
|
|
|
|
depend:
|
|
|
|
.endif
|
|
|
|
|
|
|
|
# Same goes for tags
|
|
|
|
.if !target(tags)
|
|
|
|
tags:
|
|
|
|
.endif
|
1997-09-28 02:44:15 +02:00
|
|
|
|
1999-07-02 10:37:20 +02:00
|
|
|
# if automatic manual page compression is done by the package according
|
|
|
|
# to MANZ's value, set MANCOMPRESSED if MANZ is set
|
1999-06-28 13:42:28 +02:00
|
|
|
.if defined(MANCOMPRESSED_IF_MANZ) && defined(MANZ)
|
|
|
|
MANCOMPRESSED= yes
|
|
|
|
.endif
|
|
|
|
|
1997-12-13 22:28:24 +01:00
|
|
|
# generate ${PLIST} from ${PLIST_SRC} by:
|
1998-06-05 14:45:53 +02:00
|
|
|
# - fixing list of man-pages according to MANCOMPRESSED/MANZ
|
1998-06-22 16:47:49 +02:00
|
|
|
# (we don't take any notice of MANCOMPRESSED as many packages have .gz
|
|
|
|
# pages in PLIST even when they install manpages without compressing them)
|
1999-09-03 04:43:51 +02:00
|
|
|
# - substituting by ${PLIST_SUBST}
|
1998-06-05 14:45:53 +02:00
|
|
|
|
1999-03-12 11:19:14 +01:00
|
|
|
.if ${OPSYS} == "NetBSD"
|
1999-03-16 10:50:28 +01:00
|
|
|
IMAKE_MAN_CMD=
|
1999-03-12 11:19:14 +01:00
|
|
|
.ifdef MANZ
|
1999-09-24 19:13:31 +02:00
|
|
|
MANZ_EXPRESSION= -e 's|\(^\([^@/]*/\)*man/\([^/]*/\)\{0,1\}man[1-9ln]/.*[1-9ln]$$\)|\1.gz|' \
|
|
|
|
-e 's|\(^\([^@/]*/\)*man/\([^/]*/\)\{0,1\}cat[1-9ln]/.*[0-9ln]$$\)|\1.gz|'
|
1999-03-12 11:19:14 +01:00
|
|
|
.else
|
1999-09-24 19:13:31 +02:00
|
|
|
MANZ_EXPRESSION= -e 's|\(^\([^@/]*/\)*man/\([^/]*/\)\{0,1\}man[1-9ln]/.*[1-9ln]\)\.gz$$|\1|' \
|
|
|
|
-e 's|\(^\([^@/]*/\)*man/\([^/]*/\)\{0,1\}cat[1-9ln]/.*[0-9ln]\)\.gz$$|\1|'
|
1999-03-12 11:19:14 +01:00
|
|
|
.endif # MANZ
|
1999-03-16 10:50:28 +01:00
|
|
|
MANZ_NAWK_CMD=
|
1999-03-12 11:19:14 +01:00
|
|
|
.elif ${OPSYS} == "SunOS"
|
|
|
|
.ifdef USE_IMAKE
|
|
|
|
IMAKE_MAN_CMD= ${AWK} '/^([^\/]*\/)*man\/([^\/]*\/)?cat[1-9ln]\/.*[0-9ln](\.gz)?$$/ { \
|
|
|
|
sect = $$0; n = match(sect, "/cat[1-9ln]"); \
|
|
|
|
sect = sprintf(".%sx", substr(sect, n + 4, 1)); \
|
|
|
|
s = $$0; sub("/cat", "/man", s); sub("\.0(\.gz)?$$", sect, s); \
|
|
|
|
if (match($$0, "\.gz$$") > 0) { ext = ".gz";} else { ext = "";} \
|
|
|
|
$$0 = sprintf("%s%s", s, ext); \
|
1999-03-16 10:50:28 +01:00
|
|
|
} { print $$0; }' |
|
1999-03-12 11:19:14 +01:00
|
|
|
.else
|
1999-03-16 10:50:28 +01:00
|
|
|
IMAKE_MAN_CMD=
|
1999-03-12 11:19:14 +01:00
|
|
|
.endif # USE_IMAKE
|
|
|
|
.ifdef MANZ
|
|
|
|
MANZ_NAWK_CMD= ${AWK} '/^([^\/]*\/)*man\/([^\/]*\/)?man[1-9ln]\/.*[1-9ln]\.gz$$/ { \
|
|
|
|
$$0 = sprintf("%s.gz", $$0); \
|
|
|
|
} \
|
|
|
|
/^([^\/]*\/)*man\/([^\/]*\/)?cat[1-9ln]\/.*[0-9ln]\.gz$$/ { \
|
|
|
|
$$0 = sprintf("%s.gz", $$0); \
|
|
|
|
} \
|
1999-03-16 10:50:28 +01:00
|
|
|
{ print $$0; }' |
|
1999-03-12 11:19:14 +01:00
|
|
|
.else
|
|
|
|
MANZ_NAWK_CMD= ${AWK} '/^([^\/]*\/)*man\/([^\/]*\/)?man[1-9ln]\/.*[1-9ln]\.gz$$/ { \
|
|
|
|
$$0 = substr($$0, 1, length($$0) - 3); \
|
|
|
|
} \
|
|
|
|
/^([^\/]*\/)*man\/([^\/]*\/)?cat[1-9ln]\/.*[0-9ln]\.gz$$/ { \
|
|
|
|
$$0 = substr($$0, 1, length($$0) - 3); \
|
|
|
|
} \
|
1999-03-16 10:50:28 +01:00
|
|
|
{ print $$0; }' |
|
1999-03-12 11:19:14 +01:00
|
|
|
.endif # MANZ
|
|
|
|
MANZ_EXPRESSION=
|
|
|
|
.endif # SunOS
|
|
|
|
|
2000-01-05 17:55:32 +01:00
|
|
|
plist: ${PLIST}
|
1997-11-22 04:39:20 +01:00
|
|
|
${PLIST}: ${PLIST_SRC}
|
1999-03-12 11:19:14 +01:00
|
|
|
${_PKG_SILENT}${_PKG_DEBUG} \
|
|
|
|
if [ -z "${PLIST_SRC}" ]; then \
|
|
|
|
${ECHO} "No ${PKGDIR}/PLIST or ${PKGDIR}/PLIST-{mi,md.shared,md.static}" ; \
|
|
|
|
${ECHO} "Please set PLIST_SRC in the package Makefile.";\
|
|
|
|
else \
|
|
|
|
${CAT} ${PLIST_SRC} | \
|
1999-03-16 10:50:28 +01:00
|
|
|
${MANZ_NAWK_CMD} \
|
|
|
|
${IMAKE_MAN_CMD} \
|
1999-03-12 11:19:14 +01:00
|
|
|
${SED} ${MANZ_EXPRESSION} \
|
1999-09-03 04:43:51 +02:00
|
|
|
${PLIST_SUBST:S/=/}!/:S/$/!g/:S/^/ -e s!\\\${/}\
|
1999-03-08 18:26:54 +01:00
|
|
|
> ${PLIST}; \
|
1997-11-22 04:39:20 +01:00
|
|
|
fi
|
1998-08-26 18:50:48 +02:00
|
|
|
|
|
|
|
# generate ${DESCR} from ${DESCR_SRC} by:
|
|
|
|
# - Appending the homepage URL, if any
|
|
|
|
|
|
|
|
${DESCR}: ${DESCR_SRC}
|
|
|
|
@${CAT} ${DESCR_SRC} > ${DESCR}
|
|
|
|
.if defined(HOMEPAGE)
|
|
|
|
@(${ECHO} ; ${ECHO} "Homepage:" ; \
|
|
|
|
${ECHO} '${HOMEPAGE}') >> ${DESCR}
|
|
|
|
.endif
|