aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python24/Makefile
blob: 615fe87a3a8e6622c1c88ba3081400c5954da9af (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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# New ports collection makefile for:    python
# Version required:     1.5.2
# Date created:         08 August 1995
# Whom:                 jkh
#
# $FreeBSD$
#

DISTNAME=       py152
PKGNAME=        python-1.5.2
CATEGORIES= lang python tk82
MASTER_SITES=   ftp://www.python.org/pub/python/src/ \
        ftp://ftp.cwi.nl/pub/python/src/
EXTRACT_SUFX=   .tgz

PATCH_SITES=    ftp://ftp.kame.net/pub/kame/misc/
PATCHFILES= python-152-v6-20000113.diff.gz
PATCH_DIST_STRIP=   -p1

MAINTAINER= tg@FreeBSD.org

LIB_DEPENDS=    ${TK_DEPENDS}

DIST_SUBDIR=    python
WRKSRC=     ${WRKDIR}/Python-1.5.2
GNU_CONFIGURE=  yes
CONFIGURE_ARGS= --with-fpectl --with-libs='-lxpg4'
.if defined(USE_INET6)
CONFIGURE_ARGS+=--enable-ipv6
.else
CONFIGURE_ARGS+=--disable-ipv6
.endif
CONFIGURE_ENV=  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 only if X11 is installed.
#
.if exists(${X11BASE})
WITH_TK?=   yes
.endif
.if defined(WITH_TK) && $(WITH_TK) == yes
TK_DEPENDS= tk82.1:${PORTSDIR}/x11-toolkits/tk82
SETUP_LOCAL=    Setup.tk
PLIST_TK=   ${PKGDIR}/PLIST.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=  ${PKGDIR}/PLIST.gmp
.endif

#
# Install the Tools by default. It contains scripts ranging from an IDE
# to a web tree checker, to a collection of simple scripts that are useful
# while extending or managing Python.
#
WITH_TOOLS?=    yes
.if defined(WITH_TOOLS) && ${WITH_TOOLS} == yes
PLIST_TOOLS=    ${PKGDIR}/PLIST.Tools
.endif
.if defined(USE_INET6)
PLIST_V6=   ${PKGDIR}/PLIST.v6
.endif

post-extract:
    cd ${WRKSRC}/Lib && ${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 ${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}
    ${MKDIR} ${PREFIX}/lib/python1.5/${platform}
    ${INSTALL_DATA} ${WRKSRC}/Lib/${platform}/*                    \
        ${PREFIX}/lib/python1.5/${platform}/
.endfor
    @sort -r -o ${PLIST} ${PLIST_TK} ${PLIST_GMP} ${PLIST_TOOLS} ${PLIST_V6} ${PKGDIR}/PLIST

post-install:
    strip ${PREFIX}/bin/python
    @${MKDIR} ${PREFIX}/share/doc/python
    @${MKDIR} ${PREFIX}/share/emacs/site-lisp
    ${INSTALL_DATA} ${WRKSRC}/Misc/python-mode.el ${PREFIX}/share/emacs/site-lisp
    ${INSTALL_DATA} ${WRKSRC}/Misc/COPYRIGHT ${PREFIX}/share/doc/python
    @${MKDIR} ${PREFIX}/lib/python1.5/site-packages
.if defined(WITH_TOOLS) && ${WITH_TOOLS} == yes
    @cd ${WRKSRC}; tar cf - Tools | \
        (cd ${PREFIX}/lib/python1.5; tar xf -)
.endif
.if defined(USE_INET6)
    ${INSTALL_DATA} ${WRKSRC}/README.v6 ${PREFIX}/share/doc/python
.endif

.include <bsd.port.post.mk>