ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/python.spec
Revision: 1.18
Committed: Mon Aug 14 13:00:49 2006 UTC (18 years, 8 months ago) by eulisse
Branch: MAIN
CVS Tags: CRABSERVER_TEST_BUILD_V4, CRABSERVER_TEST_BUILD_V3, CRABSERVER_TEST_BUILD_V2, CRABSERVER_TEST_BUILD_V1, forCRABSERVER104test, forCRABSERVER103, forCS102pre4, PRODAGENT_0_8_3_SL4, forPA070pre3-slc3, forPA070pre3-slc4, forPA070pre3-slc, forPA061, apFor1412, apFor1411, CMSSW_1_4_10, apForCMSSW1410, CMSSW_1_4_9, apForCMSSW149, apForCMSSW148, CMSSW_1_4_8-slc3ap, CMSSW_1_4_8-slc3, CMSSW_1_4_7-slc3, forPA060pre7-slc4, ap-20071013, ap20071012b, ap20071012a, forPA060pre3, forDBS106, CMSSW_1_4_6-slc3, CMSSW_1_5_4, CMSSW_1_5_3, forPA050pre3, dl070725, CMSSW_1_3_5, dl070719, CMSSW_1_5_2, CMSSW_1_5_1, dl070629t2, dl070629, CMSSW_1_3_1_HLT6-slc4, CMSSW_1_3_1_HLT6-slc3, CMSSW_1_5_0-ignominy470, dl070627c135, CMSSW_1_4_5-slc4, CMSSW_1_4_5-slc3, CMSSW_1_4_4-slc3, CMSSW_1_5_0, dl070621, CMSSW_1_5_0_pre6, CMSSW_1_4_4-slc4, dl070616, ap-144-slc3, ap-144-slc4, nrFWLITE_150pre5_noseal_newboost, dl070615, dl070614xdaq, dl070614, ap-143g483-slc3, ap-143g483-slc4, CMSSW_1_4_3-slc4, CMSSW_1_4_3-slc3, WEBTOOLS_CONFIG_1_pre2, WEBTOOLS_CONFIG_1_pre1, CMSSW_1_3_1_HLT5-slc4, CMSSW_1_3_1_HLT5-slc3, forPA030, CMSSW_1_5_0_pre5, dl070602t2, dl070602, CMSSW_1_5_0_pre4, nrFWLITE_150pre4, CMSSW_1_4_2-slc4, CMSSW_1_4_2-slc3, CMSSW_1_3_1_HLT4-slc4, CMSSW_1_3_1_HLT4-slc3, dl070522_150pre4cand, CMSSW_1_4_1-slc4, CMSSW_1_4_1-slc3, pe20070522a-ports, CMSSW_1_5_0_pre3, pe20070518c, pe20070519a-ports, pe20070518b, pe20070518a, CMSSW_1_4_0_DAQ1-slc3, CMSSW_1_4_0_DAQ1-slc4, CMSSW_1_3_4, pe20070517-for150p3ext, CMSSW_1_3_1_HLT3-slc4, CMSSW_1_3_1_HLT3-slc3, ap-140daq1-1-slc3, ap-140daq1-1-slc4, pe20070512a-ports, CMSSW_1_3_3-slc4, CMSSW_1_3_3, ap-140-1-slc3, ap-140-1-slc4, CMSSW_1_4_0_pre7-slc3, CMSSW_1_4_0_pre7, pe20070508a-ports, CMSSW_1_3_2-slc4, CMSSW_1_3_2, pe20070507a-ports, CMSSW_1_5_0_pre2, dl070505t4, dl070505t3, dl070505t2, dl070505, ap-140p7-1-slc4, ap-140p7-1-slc3, ap-140p6-1-slc4, ap-140p5-1-slc3, pe20070501c-ports, ap-140p5-1-slc4, pe20070501b-ports, pe20070501a-ports, dl070501, pe20070429-for131hlt2-slc4, pe20070429-for131hlt2-slc3, CMSSW_1_3_1_HLT1-slc3, CMSSW_1_5_0_pre1, dl070428_for140pre5_slc3, dl070428_for140pre5slc4t2, pe20070428a-ports, dl070428_for140pre5slc4, pe20070428b, pe20070428a, CMSSW_1_2_6, CMSSW_1_4_0_pre4, CMSSW_1_4_0_pre4-slc3, pe20070426-131hlt1-slc3, CMSSW_1_2_5, pe20070425c-for150p1, pe20070525b-slc4, pe20070525a, pe20070424b-slc3, pe20070424b-slc4, pe20070424a-slc4, pe20070424a-slc3, pe20070424-slc3, pe20070424-slc4, forPA020, pe20070423b-slc3, pe20070423b-slc4, pe20070423a-slc3, pe20070423a-slc4, pe20070423b-ports, pe20070423a-ports, pe20070422b-slc4, pe20070422b-slc3, pe20070422a-slc4, pe20070422a-slc3, pe20070414b-ports, pe20070414a-ports, pe20070412b-ports, pe20070412a-ports, pe20070411a-ports, CMSSW_1_2_4, PR_0_5_4, CMSSW_1_3_1, CMSSW_1_3_1-slc4, pe20070409a-ports, pe20070408, dl070407, pe20070407a-ports, dl070406t2, pe20070407-ports, dl070406, CMSSW_1_4_0_pre3-slc3, CMSSW_1_4_0_pre3, CMSSW_1_2_3, nrCMSSW_1_4_0_pre3_rc0, nrCMSSW_1_4_0_pre3_rc0-slc4, nr070403_cms147-slc4, nr070403_cms147, pe20070401, dl070330, nrCMSSW_1_4_0_pre2_rc3, nrCMSSW_1_4_0_pre2_rc3-slc4, CMSSW_1_3_0-slc4, CMSSW_1_3_0, nrCMSSW_1_4_0_pre2_rc2-slc4, nrCMSSW_1_4_0_pre2_rc2, PR_0_5_0, dl070327, nr070327_frontier, nr070327_frontier-slc4, PR_0_4_21, nrCMSSW_1_4_0_pre2_rc1, nrCMSSW_1_4_0_pre2_rc1-slc4, nrCMSSW_1_4_0_pre2_rc0-slc3, nrCMSSW_1_4_0_pre2_rc0, PRODREQUEST_0_4_0, CMSSW_1_3_0_pre6t3, CMSSW_1_4_0_pre1-cand-slc4, CMSSW_1_4_0_pre1-cand, CMSSW_1_3_0_pre6-slc4t2, CMSSW_1_3_0_pre6t2, CMSSW_1_3_0_pre6, CMSSW_1_3_0_pre6-slc4, for120_g4821, POOL_2_4_9-p2-slc4, POOL_2_4_9-p2, nrCMSSW_1_3_0_pre5-m32-slc3, nrCMSSW_1_3_0_pre5-m32, CORAL_1_7_1-slc4, nr20070307_130pre5-m32-slc4, nr20070307_m32, CMSSW_1_3_0_pre5, CMSSW_1_3_0_pre5-slc4, nr070301_amd64m32, PR0_3_13, PR0_3_12, PR0-3-11, CMSSW_1_3_0_pre4-slc4-p1, CMSSW_1_3_0_pre4-p1, CMSSW_1_3_0_pre4, CMSSW_1_3_0_pre4-slc4, CMS_145_2-slc4, CMS_145_2-slc3, sfa160207, CMSSW_1_3_0_pre3-slc4, CMSSW_1_3_0_pre3, sfa120207slc4_p1, sfa120207slc4, sfa120207slc3, dl070211, nr070211_cms144a_2-p1slc4, nr070210_cms144a_2-p1slc4, cms144a_2-p1slc3, forCMS145_2_slc4, forCMS145_2_slc3, cms145pre5-slc4, forCMSSW120g482, cms145pre5-slc3, cms145pre4-slc3, cms145pre3-slc3, cms145pre2-slc3, cms145pre1-slc3, pe20070208, GE20070207, pe20070205b, forPR034, CMSSW_1_3_0_SLC4_pre2, pe20070205a, pe20070205, CMSSW_1_3_0_pre2, forCMS144_2-slc3, forCMS144_2-slc4, sfa010207-slc4, sfa010207-slc3, forPR033, forCMSSW121-slc3, forCMSSW122-slc3, cms144slc3p2, cms144slc4p1, cms144slc3p1, cms144spc3p1, sfa300107, sfa390107, forPIL116, sfa290107, forPR032, forPR030, CMSSW_1_3_0_SLC4_pre1, CMSSW_1_3_0_pre1, for143hsv1-slc3-p5, for143hsv1-slc4-p5, for143hsv1-slc3-p4, for143hsv1-slc4-p4, for143hsv1-slc4-p3, for143hsv1-slc3-p3, for143hsv1-slc4-p2, for143hsv1-slc3-p2, forPR020, for143hsv1-slc3-p1, forPA011, for143hsv1-slc4, for143hsv1-slc3, for143hsv1, test143f_sv1-slc4, forCMSSW120-slc4, forCMSSW120g481, forCMSSW120-slc3, forCMS143f-slc4, forCMS143f-slc3, for120p9, pe20061201c, pe20061201b, pe20061201a, ge200611302202, for120p8-g481p2cms1, for120p8, for112, for120p7, for111, for120p6, cms143a-slc3, for120p5-slc3, for120p5slc4, for120p5slc3, forCMS143_2_rootfix, forCMS143_2_slc4, forCMS143_2_slc3, sfa061106pm, sfa061106am, sa20061106, sfa031106pm, sfa031106, sfa021106, sa20061002, for120p4, for120p3, for120p2-slc4-rc1, for106, ge20061020-for106, pre-for106, for120p2, for105, for104, for110, for120p1, for110p4, for103, for110p3, for102, for101-take3, for101-take2, for101, forGeant481, for110p2, CMSSW_1_0_0, for110p5, for110p1, for100p4, argiro-20060904-for100p4, for092, ge20060825, for100p2, for100pre1, for091
Branch point for: lcgaa_for120p6_branch, lcg47branch
Changes since 1.17: +1 -0 lines
Log Message:
Removes includes linked

File Contents

# User Rev Content
1 argiro 1.1 ### RPM external python 2.4.2
2 eulisse 1.3 ## INITENV +PATH PATH %i/bin
3     ## INITENV +PATH LD_LIBRARY_PATH %i/lib
4 argiro 1.1 # OS X patches and build fudging stolen from fink
5 eulisse 1.12 Requires: zlib expat openssl bz2lib db4 gdbm openssl
6 eulisse 1.8 # FIXME: readline, crypt
7 argiro 1.1 # FIXME: gmp, panel, tk/tcl, x11
8    
9     Source0: http://www.python.org/ftp/%n/%v/Python-%v.tgz
10 elmer 1.13 Patch0: python-Include-pyport.h
11     Patch1: python-Lib-plat-mac-applesingle.py
12     Patch2: python-Lib-site.py
13     Patch3: python-Mac-OSX-Makefile
14     Patch4: python-Makefile.pre.in
15     Patch5: python-configure
16     Patch6: python-setup.py
17 argiro 1.1
18     %prep
19     %setup -n Python-%v
20 elmer 1.13 #%patch0
21     #%patch1
22     #%patch2
23     #%patch3
24     #%patch4
25     #%patch5
26     #%patch6
27 eulisse 1.5 perl -p -i -e "s|#!.*/usr/local/bin/python|#!/usr/bin/env python|" Lib/cgi.py
28    
29 argiro 1.1 %ifos darwin
30     sed 's|@PREFIX@|%i|g' < %_sourcedir/python-osx | patch -p1
31     %endif
32    
33     %build
34     # Python is awkward about passing other include or library directories
35     # to it. Basically there is no way to pass anything from configure to
36     # make, or down to python itself. To get python detect the extensions
37     # we want to enable, we simply have to link the contents into python's
38     # own include/lib directories. Ugh.
39     #
40     # NB: It would sort-of make sense to link more stuff from /sw on OS X,
41     # but we simply cannot link the whole world. If you need something,
42     # see above for the commented-out list of packages that could be
43     # linked specifically, or could be built by ourselves, depending on
44     # whether we like to pick up system libraries or want total control.
45     mkdir -p %i/include %i/lib
46 eulisse 1.7 dirs="$ZLIB_ROOT $EXPAT_ROOT $OPENSSL_ROOT $BZ2LIB_ROOT $NCURSES_ROOT $DB4_ROOT $GDBM_ROOT"
47 eulisse 1.16 echo $dirs
48 argiro 1.1 for d in $dirs; do
49     for f in $d/include/*; do
50     [ -f $f ] || continue
51     rm -f %i/include/$(basename $f)
52     ln -s $f %i/include
53     done
54     for f in $d/lib/*; do
55     [ -f $f ] || continue
56     rm -f %i/lib/$(basename $f)
57     ln -s $f %i/lib
58     done
59     done
60    
61 eulisse 1.6 ./configure --prefix=%i --enable-shared --without-tkinter --disable-tkinter --without-readline
62 eulisse 1.3 make %makeprocesses
63 argiro 1.1
64     %install
65     make install
66 eulisse 1.8 %define pythonv %(echo %v | cut -d. -f 1,2)
67    
68 elmer 1.13 #if [ $(uname) = Darwin ]; then
69 argiro 1.1 # make install prefix=%i
70     # (cd Misc; /bin/rm -rf RPM)
71     # mkdir -p %i/share/doc/%n
72     # cp -R Demo Doc %i/share/doc/%n
73 eulisse 1.8 # cp -R Misc Tools %i/lib/python%{pythonv}
74 elmer 1.13 # gcc -dynamiclib -all_load -single_module \
75     # -framework System -framework CoreServices -framework Foundation \
76     # %i/lib/python%{pythonv}/config/libpython%{pythonv}.a \
77     # -undefined dynamic_lookup \
78     # -o %i/lib/python%{pythonv}/config/libpython%{pythonv}.dylib \
79     # -install_name %i/lib/python%{pythonv}/config/libpython%{pythonv}.dylib \
80     # -current_version %{pythonv} -compatibility_version %{pythonv} -ldl
81     # ln -s libpython%{pythonv}.dylib %i/lib/python%{pythonv}/config/libpython%{pythonv}.dylib # for boost
82 eulisse 1.8 # (cd %i/lib/python%{pythonv}/config; mv Makefile Makefile.orig;
83 argiro 1.1 # sed 's|-fno-common||g' < Makefile.orig > Makefile; /bin/rm -f Makefile.orig)
84 elmer 1.13 #fi
85 eulisse 1.9
86     perl -p -i -e "s|^#!.*python|#!/usr/bin/env python|" %{i}/bin/idle \
87     %{i}/bin/pydoc \
88     %{i}/bin/smtpd.py \
89     %{i}/lib/python2.4/bsddb/dbshelve.py \
90     %{i}/lib/python2.4/test/test_bz2.py \
91     %{i}/lib/python2.4/test/test_largefile.py \
92     %{i}/lib/python2.4/test/test_optparse.py
93 eulisse 1.14 # boost.spec rfio.spec
94 eulisse 1.15 #
95     #
96 eulisse 1.17 rm `find %{i}/lib -maxdepth 1 -mindepth 1 ! -name '*python*'`
97 eulisse 1.18 rm `find %{i}/include -maxdepth 1 -mindepth 1 ! -name '*python*'`
98 eulisse 1.16 %post
99     find $RPM_INSTALL_PREFIX/%pkgrel/lib -type l | xargs ls -la | sed -e "s|.*[ ]\(/.*\) -> \(.*\)| \2 \1|;s|[ ]/[^ ]*/external| $RPM_INSTALL_PREFIX/%cmsplatf/external|g" | xargs -n2 ln -sf