# HG changeset patch # User Michael Schloh von Bennewitz # Date 1316524959 -7200 # Node ID 3429ba7ff8dcb57c786cbfb7980d73faf2cae77b # Parent 603801a0939337ac56d3bb67c98237e129e3db44 Import package vendor original specs for necessary manipulations. diff -r 603801a09393 -r 3429ba7ff8dc python/python.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python/python.patch Tue Sep 20 15:22:39 2011 +0200 @@ -0,0 +1,120 @@ +Index: configure +--- configure.orig 2010-11-01 02:47:19.000000000 +0100 ++++ configure 2010-12-05 18:07:39.000000000 +0100 +@@ -3904,9 +3904,9 @@ + CFLAGS=$ac_save_CFLAGS + elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then +- CFLAGS="-g -O2" ++ CFLAGS="-O2" + else +- CFLAGS="-g" ++ CFLAGS="" + fi + else + if test "$GCC" = yes; then +@@ -5352,7 +5352,7 @@ + # debug builds. + OPT="-g -O0 -Wall $STRICT_PROTO" + else +- OPT="-g $WRAP -O3 -Wall $STRICT_PROTO" ++ OPT="$WRAP -O3 -Wall $STRICT_PROTO" + fi + ;; + *) +@@ -7627,24 +7627,24 @@ + FreeBSD*) + if [ "`$CC -dM -E - &1 | grep export-dynamic >/dev/null + then +Index: setup.py +--- setup.py.orig 2010-10-31 17:40:21.000000000 +0100 ++++ setup.py 2010-12-05 18:05:56.000000000 +0100 +@@ -347,8 +347,8 @@ + + def detect_modules(self): + # Ensure that /usr/local is always used +- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') +- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ add_dir_to_list(self.compiler.library_dirs, '@l_prefix@/lib') ++ add_dir_to_list(self.compiler.include_dirs, '@l_prefix@/include') + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. +@@ -680,8 +680,6 @@ + depends = ['socketmodule.h']) ) + # Detect SSL support for the socket module (via _ssl) + search_for_ssl_incs_in = [ +- '/usr/local/ssl/include', +- '/usr/contrib/ssl/include/' + ] + ssl_incs = find_file('openssl/ssl.h', inc_dirs, + search_for_ssl_incs_in +@@ -692,8 +690,7 @@ + if krb5_h: + ssl_incs += krb5_h + ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, +- ['/usr/local/ssl/lib', +- '/usr/contrib/ssl/lib/' ++ ['@l_prefix@/lib' + ] ) + + if (ssl_incs is not None and +@@ -813,14 +810,8 @@ + # top of the normal inc_dirs. + db_inc_paths = [ + '/usr/include/db4', +- '/usr/local/include/db4', + '/opt/sfw/include/db4', +- '/usr/include/db3', +- '/usr/local/include/db3', +- '/opt/sfw/include/db3', +- # Fink defaults (http://fink.sourceforge.net/) + '/sw/include/db4', +- '/sw/include/db3', + ] + # 4.x minor number specific paths + for x in gen_db_minor_ver_nums(4): +@@ -1708,6 +1699,7 @@ + dotversion = dotversion[:-1] + '.' + dotversion[-1] + tcl_include_sub = [] + tk_include_sub = [] ++ dotversion = '' + for dir in inc_dirs: + tcl_include_sub += [dir + os.sep + "tcl" + dotversion] + tk_include_sub += [dir + os.sep + "tk" + dotversion] diff -r 603801a09393 -r 3429ba7ff8dc python/python.spec --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python/python.spec Tue Sep 20 15:22:39 2011 +0200 @@ -0,0 +1,202 @@ +## +## python.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2011 OpenPKG Foundation e.V. +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package information +Name: python +Summary: The Python Programming Language +URL: http://www.python.org/ +Vendor: Guido van Rossum +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: BASE +Group: Language +License: GPL +Version: 2.7.1 +Release: 20110212 + +# package options +%option with_readline no +%option with_db no +%option with_dbm no +%option with_curses no +%option with_zlib no +%option with_bzip2 no +%option with_xml no +%option with_locale no +%option with_ssl no + +# list of sources +Source0: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.bz2 +Patch0: python.patch + +# build information +BuildPreReq: OpenPKG, openpkg >= 20100101, gcc +PreReq: OpenPKG, openpkg >= 20100101, gcc +BuildPreReq: zlib +PreReq: zlib +%if "%{with_readline}" == "yes" +BuildPreReq: readline +PreReq: readline +%endif +%if "%{with_db}" == "yes" +BuildPreReq: db +PreReq: db +%endif +%if "%{with_dbm}" == "yes" +BuildPreReq: gdbm::with_ndbm = yes +PreReq: gdbm::with_ndbm = yes +%endif +%if "%{with_curses}" == "yes" +BuildPreReq: ncurses +PreReq: ncurses +%endif +%if "%{with_zlib}" == "yes" +BuildPreReq: zlib +PreReq: zlib +%endif +%if "%{with_bzip2}" == "yes" +BuildPreReq: bzip2 +PreReq: bzip2 +%endif +%if "%{with_xml}" == "yes" +BuildPreReq: expat +PreReq: expat +%endif +%if "%{with_locale}" == "yes" +BuildPreReq: gettext, libiconv +PreReq: gettext, libiconv +%endif +%if "%{with_ssl}" == "yes" +BuildPreReq: openssl +PreReq: openssl +%endif + +%description + Python is an interpreted, interactive, object-oriented programming + language. Python combines remarkable power with very clear syntax. + It has modules, classes, exceptions, very high level dynamic data + types, and dynamic typing. There are interfaces to many system calls + and libraries, as well as to various windowing systems (X11, Motif, + Tk, Mac, MFC). New built-in modules are easily written in C or C++. + Python is also usable as an extension language for applications that + need a programmable interface. + +%track + prog python = { + version = %{version} + url = http://www.python.org/download/ + regex = Python-(2(\.\d+)+)\.tar\.bz2 + } + +%prep + %setup -q -n Python-%{version} + %patch -p0 + +%build + %{l_shtool} subst %{l_value -s -a} \ + setup.py + %{l_shtool} subst \ + -e 's;altinstall bininstall maninstall;altinstall maninstall;' \ + -e 's;python$(VERSION);python;g' \ + Makefile.pre.in + %{l_shtool} subst \ + -e 's;\(lib/python"\) *VERSION;\1;g' \ + Modules/getpath.c + find Lib -name "*.py" -print |\ + xargs %{l_shtool} subst -q \ + -e 's;\+ *sys\.version\[:3\];;g' \ + -e 's;\+ *get_python_version();;g' + %{l_shtool} subst \ + -e 's;python\$py_version_short;python;g' \ + Lib/distutils/command/install.py + %{l_shtool} subst \ + -e 's;python{py_version_short};python;g' \ + Lib/sysconfig.py +%if "%{with_readline}" == "yes" + ( echo "readline readline.c %{l_cppflags} %{l_ldflags} -lreadline -ltermcap" + ) >>Modules/Setup.local +%endif +%if "%{with_db}" == "yes" + ( echo "_bsddb _bsddb.c %{l_cppflags} %{l_ldflags} -ldb" + ) >>Modules/Setup.local +%endif +%if "%{with_dbm}" == "yes" + ( echo "dbm dbmmodule.c -DHAVE_NDBM_H %{l_cppflags} %{l_ldflags} -lndbm -lgdbm" + echo "gdbm gdbmmodule.c -DHAVE_GDBM_H %{l_cppflags} %{l_ldflags} -lgdbm" + ) >>Modules/Setup.local +%endif +%if "%{with_curses}" == "yes" + ( echo "_curses_panel _curses_panel.c %{l_cppflags} %{l_ldflags} -lpanel -lncurses" + ) >>Modules/Setup.local +%endif +%if "%{with_zlib}" == "yes" + ( echo "zlib zlibmodule.c %{l_cppflags} %{l_ldflags} -lz" + ) >>Modules/Setup.local +%endif +%if "%{with_bzip2}" == "yes" + ( echo "bz2 bz2module.c %{l_cppflags} %{l_ldflags} -lbz2" + ) >>Modules/Setup.local +%endif +%if "%{with_xml}" == "yes" + ( echo "EXPAT_DIR=%{l_prefix}" + echo "pyexpat pyexpat.c -DHAVE_EXPAT_H %{l_cppflags} %{l_ldflags} -lexpat" + ) >>Modules/Setup.local +%endif +%if "%{with_locale}" == "yes" + ( echo "_locale _localemodule.c %{l_cppflags} %{l_ldflags} -lintl -liconv" + ) >>Modules/Setup.local +%endif +%if "%{with_ssl}" == "yes" + ( echo "_socket socketmodule.c" + echo "SSL=%{l_prefix}" + echo "_ssl _ssl.c -DUSE_SSL %{l_cppflags openssl .} %{l_ldflags} -lssl -lcrypto" + ) >>Modules/Setup.local +%endif + + CC="%{l_prefix}/bin/gcc" \ + CXX="%{l_cxx}" \ + CFLAGS="%{l_cflags -O}" \ + OPT="%{l_cflags -O}" \ + CXXFLAGS="%{l_cxxflags -O}" \ + LDFLAGS="%{l_ldflags}" \ + ./configure \ + --prefix=%{l_prefix} \ + --mandir=%{l_prefix}/man \ + --with-dbmliborder=ndbm \ + --with-gcc + %{l_make} %{l_mflags} + +%install + %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT + ln $RPM_BUILD_ROOT%{l_prefix}/lib/python/config/libpython*.a \ + $RPM_BUILD_ROOT%{l_prefix}/lib/python/config/libpython.a + rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/smtpd.py + rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/idle + rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/python/test + strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} + +%files -f files + +%clean +