summaryrefslogtreecommitdiff
path: root/databases/postgresql74/Makefile.common
blob: 1fbcfc6ae50fcc71358a7c5d8a2dd1cd140f69ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# $NetBSD: Makefile.common,v 1.21 2005/02/07 04:27:28 dan Exp $
#
# This Makefile fragment is included by all PostgreSQL packages built from
# the main sources of the PostgreSQL distribution except jdbc-postgresql.
#
# The PostgreSQL package naming scheme, aside from the obvious piecewise
# packages, is as follows:
#
#	<lang>-postgresql	client-side interface to PostgreSQL
#	postgresql-<lang>	server-side module for PostgreSQL backend

DISTNAME?=		postgresql-${DIST_VERS}
CATEGORIES+=		databases
MASTER_SITES?=		\
			ftp://ftp.de.postgresql.org/mirror/postgresql/source/v${DIST_VERS}/ \
			ftp://gd.tuwien.ac.at/db/www.postgresql.org/pub/source/v${DIST_VERS}/ \
			ftp://ftp.sunsite.auc.dk/mirrors/postgresql/source/v${DIST_VERS}/ \
			ftp://ftp.jaist.ac.jp/pub/dbms/postgres95/source/v${DIST_VERS}/ \
			http://www.postgresql.org/ftpsite/source/v${DIST_VERS}/ \
			ftp://ftp.postgresql.org/pub/source/v${DIST_VERS}/

EXTRACT_SUFX=		.tar.bz2

MAINTAINER?=		recht@NetBSD.org
HOMEPAGE?=		http://www.postgresql.org/

CONFLICTS+=		postgresql-[0-9]* postgresql73-* postgresql80-*

DISTINFO_FILE?=		${.CURDIR}/../postgresql74/distinfo
COMMON_FILESDIR?=	${.CURDIR}/../postgresql74/files
PATCHDIR?=		${.CURDIR}/../postgresql74/patches

# Version numbering scheme:
#
# DIST_VERS		version number on the postgresql distfile
# BASE_VERS		pkgsrc-mangled version number (convert pl -> .)
#
# Note: Do not forget jdbc-postgresql when updating version
DIST_VERS?=		7.4.7
BASE_VERS?=		${DIST_VERS}

BUILDLINK_DEPENDS.postgresql74-lib?=	postgresql74-lib>=${BASE_VERS}
#BUILDLINK_DEPENDS.tcl-postgresql74?=	tcl-postgresq74l>=${BASE_VERS}

USE_BUILDLINK3=		yes
GNU_CONFIGURE=		yes
BUILD_USES_MSGFMT=	yes
USE_GNU_TOOLS+=		lex make yacc
PKG_SYSCONFSUBDIR=	postgresql

# in 7.4.2, this is done by autoconf stuff which has leading whitespace
USE_PKGLOCALEDIR=	yes
SUBST_CLASSES+=		pkglocaledir2
SUBST_FILES.pkglocaledir2=	configure config/programs.m4
SUBST_STAGE.pkglocaledir2=	pre-configure
SUBST_SED.pkglocaledir2=	-e 's|\( localedir[	 :]*=\).*|\1${_PKGLOCALEDIR}|'

.include "../../mk/bsd.prefs.mk"

# Add support for hierarchical queries with Oracle like CONNECT BY syntax.
# see http://gppl.terminal.ru/README.html for details.
.if defined(PGSQL_USE_HIER) && !empty(PGSQL_USE_HIER:M[yY][eE][sS])
PATCH_SITES=		http://gppl.moonbone.ru/
PATCHFILES=		hier-Pg7.4-0.5.3.tar.gz
PATCH_DIST_STRIP=	-p1
.endif
BUILD_DEFS+=	PGSQL_USE_HIER

PGSQL_TEMPLATE.SunOS=		solaris
.if !defined(PGSQL_TEMPLATE.${OPSYS})
PGSQL_TEMPLATE.${OPSYS}=	${LOWER_OPSYS}
.endif

CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+=	--docdir=${PREFIX}/share/doc/postgresql
CONFIGURE_ARGS+=	--with-template="${PGSQL_TEMPLATE.${OPSYS}}"
CONFIGURE_ARGS+=	--without-readline
CONFIGURE_ARGS+=	--with-zlib
CONFIGURE_ARGS+=	--enable-nls

CONFIGURE_ARGS+=	--without-java
CONFIGURE_ARGS+=	--without-perl
CONFIGURE_ARGS+=	--without-python
CONFIGURE_ARGS+=	--without-tcl
CONFIGURE_ARGS+=	--without-tk

# Postgresql explicitly forbids any use of -ffast-math
CFLAGS:=		${CFLAGS:S/-ffast-math//}

post-extract:
	if [ -d ${WRKSRC}/src ]; then					\
		${RM} -f ${WRKSRC}/src/Makefile.custom;			\
		${CP} -f ${COMMON_FILESDIR}/Makefile.custom		\
			${WRKSRC}/src/Makefile.custom;			\
	fi
.for platform in interix3
	if [ -d ${WRKSRC}/src/template ]; then				\
		${RM} -f ${WRKSRC}/src/template/${platform};		\
		${CP} -f ${COMMON_FILESDIR}/${platform}.template	\
			${WRKSRC}/src/template/${platform};		\
	fi
.endfor
.for platform in interix3
	if [ -d ${WRKSRC}/src/backend/port/dynloader ]; then		\
		${RM} -f ${WRKSRC}/src/backend/port/dynloader/${platform}.h; \
		${CP} -f ${COMMON_FILESDIR}/dynloader-ltdl.h		\
			${WRKSRC}/src/backend/port/dynloader/${platform}.h; \
		${TOUCH} ${WRKSRC}/src/backend/port/dynloader/${platform}.c; \
	fi
.endfor
	if [ -d ${WRKSRC}/src/interfaces/libpq ]; then			\
		${RM} -f ${WRKSRC}/src/interfaces/libpq/GNUmakefile;	\
		${CP} -f ${COMMON_FILESDIR}/GNUmakefile.libpq		\
			${WRKSRC}/src/interfaces/libpq/GNUmakefile;	\
	fi
	if [ -d ${WRKSRC}/src/interfaces/libpgtcl ]; then		\
		${RM} -f ${WRKSRC}/src/interfaces/libpgtcl/GNUmakefile;	\
		${CP} -f ${COMMON_FILESDIR}/GNUmakefile.libpgtcl	\
			${WRKSRC}/src/interfaces/libpgtcl/GNUmakefile;	\
	fi
	if [ -d ${WRKSRC}/src/backend/port/dynloader ]; then		\
		${RM} -f ${WRKSRC}/src/backend/port/dynloader/netbsd.[ch]; \
		${CP} -f ${COMMON_FILESDIR}/netbsd.[ch]			\
			${WRKSRC}/src/backend/port/dynloader/;		\
	fi

.if ${OPSYS} == "Interix"
.  include "../../devel/libltdl/buildlink3.mk"
LIBS+=		-lltdl
.endif

.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"