move the Python-2.0 pkg, formerly at lang/python, into a version specific

directory
let it conflict with the old pkg, don't install files which might
conflict with other versions
This commit is contained in:
drochner 2002-01-16 18:40:48 +00:00
parent 8f9fed5e73
commit 614cc9b65d
7 changed files with 572 additions and 0 deletions

14
lang/python20/DESCR Normal file
View file

@ -0,0 +1,14 @@
Python is an interpreted, interactive, object-oriented
programming language that combines remarkable power with
very clear syntax. For an introduction to programming in
Python you are referred to the Python Tutorial. The
Python Library Reference documents built-in and standard
types, constants, functions and modules. Finally, the
Python Reference Manual describes the syntax and semantics
of the core language in (perhaps too) much detail.
Python's basic power can be extended with your own modules
written in C or C++. On most systems such modules may be
dynamically loaded. Python is also adaptable as an exten-
sion language for existing applications. See the internal
documentation for hints.

79
lang/python20/Makefile Normal file
View file

@ -0,0 +1,79 @@
# $NetBSD: Makefile,v 1.1.1.1 2002/01/16 18:40:48 drochner Exp $
#
DISTNAME= Python-2.0.1
PKGNAME= python20-2.0.1
CATEGORIES= lang
MASTER_SITES= ftp://ftp.python.org/pub/python/2.0.1/
EXTRACT_SUFX= .tgz
MAINTAINER= tsarna@netbsd.org
HOMEPAGE= http://www.python.org/
COMMENT= Interpreted, interactive, object-oriented programming language
CONFLICTS+= python-2.0.*
PLIST_SRC= ${WRKDIR}/.PLIST_SRC
DIST_SUBDIR= python
WRKSRC= ${WRKDIR}/Python-2.0.1
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --without-threads
INSTALL_TARGET= altinstall
# Make sure having environment variable OPT doesn't affect the
# installed module-building Makefile
MAKE_ENV+= 'OPT=${CFLAGS}'
CONFIGURE_ENV+= 'OPT=${CFLAGS}'
SCRIPTS_ENV+= 'OPT=${CFLAGS}'
# If Building on NetBSD 1.5, include SSL support
.if exists(/usr/include/openssl/ssl.h)
SSLFLAGS= -DUSE_SSL -I/usr/include/openssl -lssl -lcrypto
.endif
# Handle the module setup file:
# - disable a few broken modules on 64 bit platforms (nothing important)
.include "../../mk/bsd.prefs.mk"
.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH} == "sparc64"
NO64BIT=\#
.endif
.if ${OPSYS} == "SunOS"
ZOULARIS?= ${PREFIX}/bsd
MODADD= -I${ZOULARIS}/include -L${ZOULARIS}/lib -R${ZOULARIS}/lib
.endif
pre-configure:
${SED} -e 's,@NO64BIT@,${NO64BIT},g' \
-e 's,@NOSHARED@,${NOSHARED},g' \
-e 's,@MODADD@,${MODADD},g' \
-e 's,@SSLFLAGS@,${SSLFLAGS},g' \
${FILESDIR}/Setup.in >${WRKSRC}/Modules/Setup.in
${SED} -e 's,@NO64BIT@,${NO64BIT},g' \
-e 's,@NOSHARED@,${NOSHARED},g' \
-e 's,@MODADD@,${MODADD},g' \
${FILESDIR}/Setup.config.in >${WRKSRC}/Modules/Setup.config.in
post-install:
${CAT} ${PKGDIR}/PLIST.pre >${PLIST_SRC}
(cd ${PREFIX}; ${FIND} lib/python2.0 -type f -print | \
${GREP} -v site-packages >>${PLIST_SRC})
${ECHO} lib/python2.0/site-packages/README >>${PLIST_SRC}
(cd ${PREFIX}; ${FIND} include/python2.0 -type f -print \
>>${PLIST_SRC})
(cd ${PREFIX}; ${FIND} -d include/python2.0 -type d -print | \
${SED} -e "s/^/@dirrm /" >>${PLIST_SRC})
(cd ${PREFIX}; ${FIND} -d lib/python2.0 -type d -print | \
${GREP} -v site-packages | \
${GREP} -vx lib/python2.0 | \
${SED} -e "s/^/@dirrm /" >>${PLIST_SRC})
${ECHO} "@dirrm lib/python2.0/site-packages" >>${PLIST_SRC}
${ECHO} "@dirrm lib/python2.0" >>${PLIST_SRC}
# Reinstall Python binary to get it stripped
${RM} ${PREFIX}/bin/python2.0
${INSTALL_PROGRAM} ${WRKSRC}/python ${PREFIX}/bin/python2.0
.include "../../mk/bsd.pkg.mk"

2
lang/python20/PLIST.pre Normal file
View file

@ -0,0 +1,2 @@
@comment $NetBSD: PLIST.pre,v 1.1.1.1 2002/01/16 18:40:48 drochner Exp $
bin/python2.0

5
lang/python20/distinfo Normal file
View file

@ -0,0 +1,5 @@
$NetBSD: distinfo,v 1.1.1.1 2002/01/16 18:40:48 drochner Exp $
SHA1 (python/Python-2.0.1.tgz) = 776584b245ad58ad548732d0c47397c582a4bbab
Size (python/Python-2.0.1.tgz) = 4097453 bytes
SHA1 (patch-aa) = 2db263ea719733692536bb4a9990659099583351

View file

@ -0,0 +1,18 @@
# This file is transmogrified into Setup.config by config.status.
# The purpose of this file is to conditionally enable certain modules
# based on configure-time options. Currently thread support and
# garbage collection support are the only two modules so enabled.
@USE_THREAD_MODULE@thread threadmodule.c
# Garbage collection enabled with --with-cycle-gc
@USE_GC_MODULE@gc gcmodule.c
# You may want this to be built as a dynamically loaded module; uncomment
# the following line in that case:
*shared*
# bsddb module enabled by --with-libdb or presence of db.h
bsddb bsddbmodule.c @MODADD@

View file

@ -0,0 +1,416 @@
# -*- makefile -*-
#
# $NetBSD: Setup.in,v 1.1.1.1 2002/01/16 18:40:48 drochner Exp $
#
# The file Setup is used by the makesetup script to construct the files
# Makefile and config.c, from Makefile.pre and config.c.in,
# respectively. The file Setup itself is initially copied from
# Setup.in; once it exists it will not be overwritten, so you can edit
# Setup to your heart's content. Note that Makefile.pre is created
# from Makefile.pre.in by the toplevel configure script.
# (VPATH notes: Setup and Makefile.pre are in the build directory, as
# are Makefile and config.c; the *.in files are in the source
# directory.)
# Each line in this file describes one or more optional modules.
# Comment out lines to suppress modules.
# Lines have the following structure:
#
# <module> ... [<sourcefile> ...] [<cpparg> ...] [<library> ...]
#
# <sourcefile> is anything ending in .c (.C, .cc, .c++ are C++ files)
# <cpparg> is anything starting with -I, -D, -U or -C
# <library> is anything ending in .a or beginning with -l or -L
# <module> is anything else but should be a valid Python
# identifier (letters, digits, underscores, beginning with non-digit)
#
# (As the makesetup script changes, it may recognize some other
# arguments as well, e.g. *.so and *.sl as libraries. See the big
# case statement in the makesetup script.)
#
# Lines can also have the form
#
# <name> = <value>
#
# which defines a Make variable definition inserted into Makefile.in
#
# Finally, if a line contains just the word "*shared*" (without the
# quotes but with the stars), then the following modules will not be
# included in the config.c file, nor in the list of objects to be
# added to the library archive, and their linker options won't be
# added to the linker options, but rules to create their .o files and
# their shared libraries will still be added to the Makefile, and
# their names will be collected in the Make variable SHAREDMODS. This
# is used to build modules as shared libraries. (They can be
# installed using "make sharedinstall", which is implied by the
# toplevel "make install" target.) (For compatibility,
# *noconfig* has the same effect as *shared*.)
#
# In addition, *static* reverses this effect (negating a previous
# *shared* line).
# NOTE: As a standard policy, as many modules as can be supported by a
# platform should be present. The distribution comes with all modules
# enabled that are supported by most platforms and don't require you
# to ftp sources from elsewhere.
# Some special rules to define PYTHONPATH.
# Edit the definitions below to indicate which options you are using.
# Don't add any whitespace or comments!
# Directories where library files get installed.
# DESTLIB is for Python modules; MACHDESTLIB for shared libraries.
DESTLIB=$(LIBDEST)
MACHDESTLIB=$(BINLIBDEST)
# NOTE: all the paths are now relative to the prefix that is computed
# at run time!
# Standard path -- don't edit.
# No leading colon since this is the first entry.
# Empty since this is now just the runtime prefix.
DESTPATH=
# Site specific path components -- should begin with : if non-empty
SITEPATH=
# Standard path components for test modules
TESTPATH=
# Path components for machine- or system-dependent modules and shared libraries
MACHDEPPATH=:plat-$(MACHDEP)
COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(TKPATH)
PYTHONPATH=$(COREPYTHONPATH)
# The modules listed here can't be built as shared libraries for
# various reasons; therefore they are listed here instead of in the
# normal order.
# Some modules that are normally always on:
regex regexmodule.c regexpr.c # Regular expressions, GNU Emacs style
pcre pcremodule.c pypcre.c # Regular expressions, Perl style (for re.py)
posix posixmodule.c # posix (UNIX) system calls
signal signalmodule.c # signal(2)
_sre _sre.c # Fredrik Lundh's new regular expressions
# The SGI specific GL module:
GLHACK=-Dclear=__GLclear
#gl glmodule.c cgensupport.c -I$(srcdir) $(GLHACK) -lgl -lX11
# Pure module. Cannot be linked dynamically.
# -DWITH_QUANTIFY, -DWITH_PURIFY, or -DWITH_ALL_PURE
#WHICH_PURE_PRODUCTS=-DWITH_ALL_PURE
#PURE_INCLS=-I/usr/local/include
#PURE_STUBLIBS=-L/usr/local/lib -lpurify_stubs -lquantify_stubs
#pure puremodule.c $(WHICH_PURE_PRODUCTS) $(PURE_INCLS) $(PURE_STUBLIBS)
# Uncommenting the following line tells makesetup that all following
# modules are to be built as shared libraries (see above for more
# detail; also note that *static* reverses this effect):
@NOSHARED@*shared*
# GNU readline. Unlike previous Python incarnations, GNU readline is
# now incorporated in an optional module, configured in the Setup file
# instead of by a configure script switch. You may have to insert a
# -L option pointing to the directory where libreadline.* lives,
# and you may have to change -ltermcap to -ltermlib or perhaps remove
# it, depending on your system -- see the GNU readline instructions.
# It's okay for this to be a shared library, too.
#readline readline.c -lreadline -ltermcap
# Modules that should always be present (non UNIX dependent):
array arraymodule.c # array objects
cmath cmathmodule.c # -lm # complex math library functions
math mathmodule.c # -lm # math library functions, e.g. sin()
strop stropmodule.c # fast string operations implemented in C
struct structmodule.c # binary structure packing/unpacking
time timemodule.c # -lm # time operations and variables
operator operator.c # operator.add() and similar goodies
_codecs _codecsmodule.c # access to the builtin codecs and codec registry
unicodedata unicodedata.c unicodedatabase.c
# static Unicode character database
ucnhash ucnhash.c # Unicode Character Name expansion hash table
_locale _localemodule.c # access to ISO C locale support
# Modules with some UNIX dependencies -- on by default:
# (If you have a really backward UNIX, select and socket may not be
# supported...)
fcntl fcntlmodule.c # fcntl(2) and ioctl(2)
pwd pwdmodule.c # pwd(3)
grp grpmodule.c # grp(3)
errno errnomodule.c # posix (UNIX) errno values
mmap mmapmodule.c # Memory-mapped files (also works on Win32)
select selectmodule.c # select(2); not on ancient System V
#_socket socketmodule.c # socket(2)
# Socket module compiled with SSL support; you must edit the SSL variable:
#SSL=/usr/local/ssl
#_socket socketmodule.c \
# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
# -L$(SSL)/lib -lssl -lcrypto
_socket socketmodule.c @SSLFLAGS@
# The crypt module is now disabled by default because it breaks builds
# on many systems (where -lcrypt is needed), e.g. Linux (I believe).
crypt cryptmodule.c -lcrypt # crypt(3); needs -lcrypt on some systems
# Some more UNIX dependent modules -- off by default, since these
# are not supported by all UNIX systems:
nis nismodule.c # Sun yellow pages -- not everywhere
termios termios.c # Steen Lumholt's termios module
resource resource.c # Jeremy Hylton's rlimit interface
# Multimedia modules -- off by default.
# These don't work for 64-bit platforms!!!
# These represent audio samples or images as strings:
@NO64BIT@audioop audioop.c # Operations on audio samples
@NO64BIT@imageop imageop.c # Operations on images
@NO64BIT@rgbimg rgbimgmodule.c # Read SGI RGB image files (but coded portably)
# The md5 module implements the RSA Data Security, Inc. MD5
# Message-Digest Algorithm, described in RFC 1321. The necessary files
# md5c.c and md5.h are included here.
md5 md5module.c md5c.c
# The sha module implements the SHA checksum algorithm.
# (NIST's Secure Hash Algorithm.)
sha shamodule.c
# The mpz module interfaces to the GNU Multiple Precision library.
# You need to ftp the GNU MP library.
# The GMP variable must point to the GMP source directory.
# This was originally written and tested against GMP 1.2 and 1.3.2.
# It has been modified by Rob Hooft to work with 2.0.2 as well, but I
# haven't tested it recently.
# A compatible MP library unencombered by the GPL also exists. It was
# posted to comp.sources.misc in volume 40 and is widely available from
# FTP archive sites. One URL for it is:
# ftp://gatekeeper.dec.com/.b/usenet/comp.sources.misc/volume40/fgmp/part01.Z
#GMP=/ufs/guido/src/gmp
#mpz mpzmodule.c -I$(GMP) $(GMP)/libgmp.a
# SGI IRIX specific modules -- off by default.
# These module work on any SGI machine:
# *** gl must be enabled higher up in this file ***
#fm fmmodule.c $(GLHACK) -lfm -lgl # Font Manager
#sgi sgimodule.c # sgi.nap() and a few more
# This module requires the header file
# /usr/people/4Dgifts/iristools/include/izoom.h:
#imgfile imgfile.c -limage -lgutil -lgl -lm # Image Processing Utilities
# These modules require the Multimedia Development Option (I think):
#al almodule.c -laudio # Audio Library
#cd cdmodule.c -lcdaudio -lds -lmediad # CD Audio Library
#cl clmodule.c -lcl -lawareaudio # Compression Library
#sv svmodule.c yuvconvert.c -lsvideo -lXext -lX11 # Starter Video
# The FORMS library, by Mark Overmars, implements user interface
# components such as dialogs and buttons using SGI's GL and FM
# libraries. You must ftp the FORMS library separately from
# ftp://ftp.cs.ruu.nl/pub/SGI/FORMS. It was tested with FORMS 2.2a.
# NOTE: if you want to be able to use FORMS and curses simultaneously
# (or both link them statically into the same binary), you must
# compile all of FORMS with the cc option "-Dclear=__GLclear".
# The FORMS variable must point to the FORMS subdirectory of the forms
# toplevel directory:
#FORMS=/ufs/guido/src/forms/FORMS
#fl flmodule.c -I$(FORMS) $(GLHACK) $(FORMS)/libforms.a -lfm -lgl
# SunOS specific modules -- off by default:
#sunaudiodev sunaudiodev.c
# Linux specific modules -- off by default:
#linuxaudiodev linuxaudiodev.c
# George Neville-Neil's timing module:
timing timingmodule.c
# The _tkinter module.
#
# The TKPATH variable is always enabled, to save you the effort.
TKPATH=:lib-tk
# The command for _tkinter is long and site specific. Please
# uncomment and/or edit those parts as indicated. If you don't have a
# specific extension (e.g. Tix or BLT), leave the corresponding line
# commented out. (Leave the trailing backslashes in! If you
# experience strange errors, you may want to join all uncommented
# lines and remove the backslashes -- the backslash interpretation is
# done by the shell's "read" command and it may not be implemented on
# every system.
# *** Always uncomment this (leave the leading underscore in!):
# _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
# *** Uncomment and edit to reflect where your Tcl/Tk headers are:
# -I/usr/local/include \
# *** Uncomment and edit to reflect where your X11 header files are:
# -I/usr/X11R6/include \
# *** Or uncomment this for Solaris:
# -I/usr/openwin/include \
# *** Uncomment and edit for Tix extension only:
# -DWITH_TIX -ltix4.1.8.0 \
# *** Uncomment and edit for BLT extension only:
# -DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \
# *** Uncomment and edit for PIL (TkImaging) extension only:
# -DWITH_PIL -I../Extensions/Imaging/libImaging tkImaging.c \
# *** Uncomment and edit for TOGL extension only:
# -DWITH_TOGL togl.c \
# *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
# -L/usr/local/lib \
# *** Uncomment and edit to reflect your Tcl/Tk versions:
# -ltk8.0 -ltcl8.0 \
# *** Uncomment and edit to reflect where your X11 libraries are:
# -L/usr/X11R6/lib \
# *** Or uncomment this for Solaris:
# -L/usr/openwin/lib \
# *** Uncomment these for TOGL extension only:
# -lGL -lGLU -lXext -lXmu \
# *** Uncomment for AIX:
# -lld \
# *** Always uncomment this; X11 libraries to link with:
# -lX11
# Lance Ellinghaus's modules:
rotor rotormodule.c # enigma-inspired encryption
syslog syslogmodule.c # syslog daemon interface
# Curses support, requring the System V version of curses, often
# provided by the ncurses library. e.g. on Linux, link with -lncurses
# instead of -lcurses; on SunOS 4.1.3, insert -I/usr/5include
# -L/usr/5lib before -lcurses).
# _curses _cursesmodule.c -lcurses -ltermcap
# Tommy Burnette's 'new' module (creates new empty objects of certain kinds):
new newmodule.c
# Generic (SunOS / SVR4) dynamic loading module.
# This is not needed for dynamic loading of Python modules --
# it is a highly experimental and dangerous device for calling
# *arbitrary* C functions in *arbitrary* shared libraries:
#dl dlmodule.c
# Modules that provide persistent dictionary-like semantics. You will
# probably want to arrange for at least one of them to be available on
# your machine, though none are defined by default because of library
# dependencies. The Python module anydbm.py provides an
# implementation independent wrapper for these; dumbdbm.py provides
# similar functionality (but slower of course) implemented in Python.
# The standard Unix dbm module:
#dbm dbmmodule.c # dbm(3) may require -lndbm or similar
# Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm:
#gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
# David Wayne Williams' soundex module (obsolete -- this will disappear!)
#soundex soundex.c
# Helper module for various ascii-encoders
binascii binascii.c
# Fred Drake's interface to the Python parser
parser parsermodule.c
# Digital Creations' cStringIO and cPickle
cStringIO cStringIO.c
cPickle cPickle.c
# Lee Busby's SIGFPE modules.
# The library to link fpectl with is platform specific.
# Choose *one* of the options below for fpectl:
# For SGI IRIX (tested on 5.3):
#fpectl fpectlmodule.c -lfpe
# For Solaris with SunPro compiler (tested on Solaris 2.5 with SunPro C 4.2):
# (Without the compiler you don't have -lsunmath.)
#fpectl fpectlmodule.c -R/opt/SUNWspro/lib -lsunmath -lm
# For other systems: see instructions in fpectlmodule.c.
#fpectl fpectlmodule.c ...
# Test module for fpectl. No extra libraries needed.
#fpetest fpetestmodule.c
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.cdrom.com/pub/infozip/zlib/
zlib zlibmodule.c @MODADD@ -lz
# Interface to the Expat XML parser
#
# Expat is written by James Clark and must be downloaded separately
# (see below). The pyexpat module was written by Paul Prescod after a
# prototype by Jack Jansen.
#
# The Expat dist includes Windows .lib and .dll files. Home page is at
# http://www.jclark.com/xml/expat.html, the current production release is
# always ftp://ftp.jclark.com/pub/xml/expat.zip.
#
# EXPAT_DIR, below, should point to the expat/ directory created by
# unpacking the Expat source distribution.
#
# Note: the expat build process doesn't yet build a libexpat.a; you can
# do this manually while we try convince the author to add it. To do so,
# cd to EXPAT_DIR, run "make" if you have not done so, then run:
#
# ar cr libexpat.a xmltok/*.o xmlparse/*.o
#
#EXPAT_DIR=/usr/local/src/expat
#pyexpat pyexpat.c -I$(EXPAT_DIR)/xmlparse -L$(EXPAT_DIR) -lexpat
# Example -- included for reference only:
# xx xxmodule.c

View file

@ -0,0 +1,38 @@
$NetBSD: patch-aa,v 1.1.1.1 2002/01/16 18:40:48 drochner Exp $
--- Python/dynload_shlib.c.orig Mon Oct 16 23:49:29 2000
+++ Python/dynload_shlib.c Tue Dec 5 15:58:49 2000
@@ -6,7 +6,9 @@
#include <sys/types.h>
#include <sys/stat.h>
-#if defined(__NetBSD__) && (NetBSD < 199712)
+#if defined(__NetBSD__)
+#include <sys/param.h>
+#if (NetBSD < 199712)
#include <nlist.h>
#include <link.h>
#define dlerror() "error in dynamic linking"
@@ -15,6 +17,13 @@
#include <dlfcn.h>
#endif
#endif
+#endif /* __NetBSD__ */
+
+#if (defined(__NetBSD__) || defined(__OpenBSD__)) && !defined(__ELF__)
+#define LEAD_UNDERSCORE "_"
+#else
+#define LEAD_UNDERSCORE ""
+#endif
#ifndef RTLD_LAZY
#define RTLD_LAZY 1
@@ -55,7 +64,7 @@
}
/* ### should there be a leading underscore for some platforms? */
- sprintf(funcname, "init%.200s", shortname);
+ sprintf(funcname, LEAD_UNDERSCORE "init%.200s", shortname);
if (fp != NULL) {
int i;