aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python32/Makefile
blob: 570e4110541da8ee118ec598956cc4b4cad626c4 (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
111
112
113
114
115
116
117
118
# New ports collection makefile for:    python
# Version required:     1.5
# Date created:         08 August 1995
# Whom:                 jkh
#
# $Id: Makefile,v 1.45 1999/02/22 19:06:06 nectar 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;       \
        ${SH} ${FILESDIR}/plat-freebsd4.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

.if ${OSVERSION} >= 400000
PLATFORMS=plat-freebsd2 plat-freebsd3
.elif ${OSVERSION} >= 300000
PLATFORMS=plat-freebsd2 plat-freebsd4
.else   
PLATFORMS=plat-freebsd3 plat-freebsd4
.endif

pre-install:
    for platform in ${PLATFORMS}; do                     \
        ${MKDIR} ${PREFIX}/lib/python1.5/$$platform; \
        ${INSTALL_DATA} ${WRKSRC}/Lib/$$platform/*   \
            ${PREFIX}/lib/python1.5/$$platform/; \
    done
    @${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
    @${MKDIR} ${PREFIX}/lib/python1.5/site-packages

.include <bsd.port.post.mk>