]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blob - python/python.nm
Merge remote-tracking branch 'stevee/perl-WWW-Curl'
[people/ms/ipfire-3.x.git] / python / python.nm
1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
5
6 name = python
7 major_ver = 2.7
8 version = %{major_ver}.2
9 release = 5
10 thisapp = Python-%{version}
11
12 groups = Development/Languages
13 url = http://www.python.org
14 license = Python
15 summary = An interpreted, interactive, object-oriented programming language.
16
17 description
18 Python is an interpreted, interactive, object-oriented programming
19 language often compared to Tcl, Perl, Scheme or Java. Python includes
20 modules, classes, exceptions, very high level dynamic data types and
21 dynamic typing. Python supports interfaces to many system calls and
22 libraries, as well as to various windowing systems.
23 end
24
25 source_dl = http://python.org/ftp/python/%{version}/
26 sources = %{thisapp}.tar.xz
27
28 build
29 requires
30 autoconf
31 automake
32 bzip2-devel
33 db4-devel
34 expat-devel
35 libffi-devel
36 libselinux-devel
37 ncurses-devel
38 openssl-devel
39 pkg-config
40 readline-devel
41 sqlite-devel
42 tar
43 zlib-devel
44 end
45
46 export CFLAGS += -D_GNU_SOURCE -fwrapv
47
48 prepare_cmds
49 # Apply patches for x86_64.
50 if [ "$(uname -m)" = "x86_64" ]; then
51 patch -Np1 -i %{DIR_SOURCE}/python-2.7.1-lib64.patch
52 patch -Np1 -i %{DIR_SOURCE}/python-2.7-lib64-sysconfig.patch
53 fi
54
55 # Remove embedded copies of expat, zlib and libffi
56 rm -rf Modules/{expat,zlib}
57 rm -rf Modules/_ctypes/{darwin,libffi,libffi_arm_wince,libffi_msvc,libffi_osx}
58
59 # Remove autoconf version check and reconfigure
60 sed -e "s/^version_required.*//" -i configure.in
61 autoreconf --force
62 end
63
64 configure_options += \
65 --enable-ipv6 \
66 --enable-unicode=ucs4 \
67 --with-system-expat \
68 --with-system-ffi \
69 --enable-shared
70
71 build
72 export CPPFLAGS=$(pkg-config --cflags-only-I libffi)
73
74 OPT="%{CFLAGS}" \
75 ./configure \
76 %{configure_options}
77
78 make %{PARALLELISMFLAGS}
79 end
80
81 install_cmds
82 # All *.py files don't need to be executeable...
83 find %{BUILDROOT}%{libdir}/python*/ -name "*.py" | xargs -r chmod a-x -v
84
85 # Create symlink for shared lib.
86 ln -svf ../../libpython%{major_ver}.so %{BUILDROOT}%{libdir}/python%{major_ver}/config/
87 end
88 end
89
90 packages
91 package %{name}
92 # Define python-abi manually.
93 provides
94 python-abi = %{major_ver}
95 end
96 end
97
98 package %{name}-devel
99 template DEVEL
100
101 files += \
102 !%{libdir}/python*/config/Makefile \
103 !%{includedir}/python*/pyconfig.h
104 end
105
106 package %{name}-debuginfo
107 template DEBUGINFO
108 end
109 end