aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python/Makefile
blob: 0c39a7b4a7bad79bb53b6a58ad5db089ca494fae (plain) (blame)
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
# New ports collection makefile for:    python
# Version required:     1.5
# Date created:         08 August 1995
# Whom:                 jkh
#
# $Id: Makefile,v 1.41 1998/11/11 05:37:26 asami Exp $
#

DISTNAME=       pyth151
PKGNAME=        python-1.5.1
CATEGORIES= lang python tk80
MASTER_SITES=   ftp://www.python.org/pub/python/src/ \
        ftp://ftp.cwi.nl/pub/python/src/
EXTRACT_SUFX=   .tgz

PATCH_SITES=    http://www.python.org/1.5/patches-1.5.1/
PATCHFILES= _tkinter.1.txt SocketServer.1.txt bltinmodule.1.txt \
        bltinmodule.2.txt bltinmodule.3.txt \
        ceval.1.txt classobject.1.txt configure.2.txt fileobject.1.txt \
        freeze.1.txt \
        gzip.1.txt imaplib.1.txt imaplib.2.txt imaplib.3.txt \
        import.1.txt longobject.1.txt object.1.txt \
        parsermodule.1.txt pcre.1.txt sgmllib.1.txt sgmllib.2.txt \
        string.1.txt stringobject.1.txt stropmodule.1.txt \
        timemodule.1.txt urllib.1.txt urllib.2.txt zlibmodule.1.txt

MAINTAINER= tg@FreeBSD.ORG

LIB_DEPENDS=    ${TK_DEPENDS}

DIST_SUBDIR=    python
WRKSRC=     ${WRKDIR}/Python-1.5.1
GNU_CONFIGURE=  yes
CONFIGURE_ARGS= --with-fpectl
MAKE_FLAGS= 'OPT=${CFLAGS}'
INSTALL_TARGET= install
PLIST=      ${WRKDIR}/PLIST
MAN1=       python.1

#
# The standard setup file
#
SETUP_FILE= Setup

#
# Support for Tk is compiled in by default.
#
WITH_TK?=   yes
.if defined(WITH_TK) && $(WITH_TK) == yes
TK_DEPENDS= tk80.1:${PORTSDIR}/x11-toolkits/tk80
SETUP_LOCAL=    Setup.tk
.endif

#
# If you want to use Python's thread module, you need to set WITH_THREADS
# to 'yes', and you must have the FreeBSD threading c library (libc_r)
# installed. See 'man 3 pthread' for details on libc_r.
#
# This option is enabled by default.
#
WITH_THREADS?=  yes
LIBC_R!=    /sbin/ldconfig -r | grep c_r || true
.if ${LIBC_R} != "" && defined(WITH_THREADS) && ${WITH_THREADS} == yes
CONFIGURE_ARGS+=    --with-thread
CFLAGS+=        -D_THREAD_SAFE
CONFIGURE_ENV=      LDFLAGS="-pthread ${LDFLAGS}"
.endif

#
# The mpz module is built on machines with a full source tree
#
.if exists(/usr/src/contrib/libgmp/gmp-impl.h)
SETUP_LOCAL+=   Setup.gmp
PLIST_GMP=  lib/python1.5/lib-dynload/mpzmodule.so
.endif

post-extract:
    cd ${WRKSRC}/Lib; ${SH} ${FILESDIR}/plat-freebsd2.sh; \
        ${SH} ${FILESDIR}/plat-freebsd3.sh

post-configure:
    ${CP} ${FILESDIR}/${SETUP_FILE} ${WRKSRC}/Modules/Setup
.for file in ${SETUP_LOCAL}
    ${CAT} ${FILESDIR}/${file} >> ${WRKSRC}/Modules/Setup.local
.endfor

.include <bsd.port.pre.mk>

.if ${PORTOBJFORMAT} == elf
LDFLAGS+=   -rdynamic
CONFIGURE_ENV?= LDFLAGS="${LDFLAGS}"
.endif

pre-install:
.if ${OSVERSION} < 300000
    ${MKDIR} ${PREFIX}/lib/python1.5/plat-freebsd3
    ${INSTALL_DATA} ${WRKSRC}/Lib/plat-freebsd3/* ${PREFIX}/lib/python1.5/plat-freebsd3
.else
    ${MKDIR} ${PREFIX}/lib/python1.5/plat-freebsd2
    ${INSTALL_DATA} ${WRKSRC}/Lib/plat-freebsd2/* ${PREFIX}/lib/python1.5/plat-freebsd2
.endif
    @${ECHO} ${PLIST_GMP} | sort -r -o ${PLIST} - ${PKGDIR}/PLIST

post-install:
    ${INSTALL_SCRIPT} ${PREFIX}/lib/python1.5/plat-freebsd2/regen ${PREFIX}/lib/python1.5/plat-freebsd3
    strip ${PREFIX}/bin/python
    @${MKDIR} ${PREFIX}/share/doc/python
    ${INSTALL_DATA} ${WRKSRC}/Misc/COPYRIGHT ${PREFIX}/share/doc/python

.include <bsd.port.post.mk>