python.spec 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. ##
  2. ## python.spec -- OpenPKG RPM Specification
  3. ## Copyright (c) 2000-2005 The OpenPKG Project <http://www.openpkg.org/>
  4. ## Copyright (c) 2000-2005 Ralf S. Engelschall <rse@engelschall.com>
  5. ## Copyright (c) 2000-2005 Cable & Wireless <http://www.cw.com/>
  6. ##
  7. ## Permission to use, copy, modify, and distribute this software for
  8. ## any purpose with or without fee is hereby granted, provided that
  9. ## the above copyright notice and this permission notice appear in all
  10. ## copies.
  11. ##
  12. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  13. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  14. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  15. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  16. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  17. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  18. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  19. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  20. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  21. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  22. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  23. ## SUCH DAMAGE.
  24. ##
  25. # package information
  26. Name: python
  27. Summary: The Python Programming Language
  28. URL: http://www.python.org/
  29. Vendor: Guido van Rossum
  30. Packager: The OpenPKG Project
  31. Distribution: OpenPKG
  32. Class: BASE
  33. Group: Language
  34. License: GPL
  35. Version: 2.4
  36. Release: 20050213
  37. # list of sources
  38. Source0: ftp://ftp.python.org/pub/python/%{version}/Python-%{version}.tar.bz2
  39. Patch0: python.patch
  40. # build information
  41. Prefix: %{l_prefix}
  42. BuildRoot: %{l_buildroot}
  43. BuildPreReq: OpenPKG, openpkg >= 20040130, gcc, zlib
  44. PreReq: OpenPKG, openpkg >= 20040130, gcc
  45. AutoReq: no
  46. AutoReqProv: no
  47. %description
  48. Python is an interpreted, interactive, object-oriented programming
  49. language. Python combines remarkable power with very clear syntax.
  50. It has modules, classes, exceptions, very high level dynamic data
  51. types, and dynamic typing. There are interfaces to many system calls
  52. and libraries, as well as to various windowing systems (X11, Motif,
  53. Tk, Mac, MFC). New built-in modules are easily written in C or C++.
  54. Python is also usable as an extension language for applications that
  55. need a programmable interface.
  56. %track
  57. prog python = {
  58. version = %{version}
  59. url = ftp://ftp.python.org/pub/python/
  60. regex = (\d+(\.\d+)*)
  61. url = ftp://ftp.python.org/pub/python/__NEWVER__/
  62. regex = Python-(\d+(\.\d+)*)\.tar\.bz2
  63. }
  64. %prep
  65. %setup -q -n Python-%{version}
  66. %patch -p0
  67. %{l_shtool} subst \
  68. -e 's;-O3;-O2;g' \
  69. -e 's;\(SunOS.*case \)\$CC\( in\);\1gcc\2;' \
  70. configure
  71. %{l_shtool} subst \
  72. -e 's;add_dir_to_list(self\.compiler\.library_dirs, ./usr/local/lib.);;' \
  73. -e 's;add_dir_to_list(self\.compiler\.include_dirs, ./usr/local/include.);;' \
  74. -e 's;./usr/local/BerkeleyDB[0-9.]*/lib.,;;g' \
  75. -e 's;./usr/local/BerkeleyDB[0-9.]*/include.,;;g' \
  76. -e 's;./usr/local/lib.,;;g' \
  77. -e 's;./usr/local/include/db[0-9]*.,;;g' \
  78. -e 's;./usr/local/ssl/lib.,;;g' \
  79. -e 's;./usr/local/ssl/include.,;;g' \
  80. setup.py
  81. %{l_shtool} subst \
  82. -e 's;altinstall bininstall maninstall;altinstall maninstall;' \
  83. -e 's;python$(VERSION);python;g' \
  84. Makefile.pre.in
  85. %{l_shtool} subst \
  86. -e 's;\(lib/python"\) *VERSION;\1;g' \
  87. Modules/getpath.c
  88. %{l_shtool} subst -q \
  89. -e 's;\+ *sys\.version\[:3\];;g' \
  90. -e 's;\+ *get_python_version();;g' \
  91. Lib/*.py Lib/*/*.py Lib/*/*/*.py
  92. %{l_shtool} subst \
  93. -e 's;python\$py_version_short;python;g' \
  94. Lib/distutils/command/install.py
  95. %build
  96. CC="%{l_cc}" \
  97. CXX="%{l_cxx}" \
  98. CFLAGS="%{l_cflags -O}" \
  99. CXXFLAGS="%{l_cxxflags -O}" \
  100. ./configure \
  101. --prefix=%{l_prefix}
  102. %{l_make} %{l_mflags}
  103. %install
  104. rm -rf $RPM_BUILD_ROOT
  105. %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
  106. rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/smtpd.py
  107. rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/idle
  108. rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/python/test
  109. strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  110. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
  111. %files -f files
  112. %clean
  113. rm -rf $RPM_BUILD_ROOT