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