Magellan Linux

Annotation of /trunk/extras/tcl/tcl-8.6.8-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 30689 - (hide annotations) (download)
Wed Mar 7 07:58:54 2018 UTC (6 years, 3 months ago) by niro
File size: 2938 byte(s)
-re-diffed flags patch
1 niro 30688 # $Id$
2    
3     PNAME="tcl"
4     PVER="8.6.8"
5     PBUILD="r1"
6    
7     PCAT="dev-lang"
8    
9     DESCRIPTION="The Tcl package contains the Tool Command Language, a robust general-purpose scripting language."
10     HOMEPAGE="http://tcl.sourceforge.net/"
11    
12     DEPEND=">= virtual/glibc
13     >= sys-libs/zlib-1.2.8"
14     SDEPEND=">= virtual/sed"
15    
16     SRCFILE="${PNAME}${PVER}-src.tar.gz"
17     SRCDIR="${BUILDDIR}/${PNAME}${PVER}"
18    
19     sminclude mtools
20    
21     SRC_URI=(
22     sourceforge://${PNAME}/${SRCFILE}
23     mirror://${PNAME}/${SRCFILE}
24     mirror://${PNAME}/${PNAME}-8.5.5-libdir.patch
25 niro 30689 mirror://${PNAME}/${PNAME}-8.6.8-flags.patch
26 niro 30688 mirror://${PNAME}/${PNAME}-8.6.0-autopath.patch
27     )
28    
29     UP2SEPERATOR="${PNAME}"
30     UP2SUBSTITUTE="-src"
31     UP2DATE="updatecmd -listonly http://www.tcl.tk/software/tcltk/download.html | grep '${PNAME}[0-9]' | highesttarball gz"
32    
33     src_prepare()
34     {
35     munpack ${SRCFILE} || die
36     cd ${SRCDIR}
37    
38     # support variable libdir
39     mpatch ${PNAME}-8.5.5-libdir.patch || die
40    
41     # fix rpath and pic issues
42 niro 30689 mpatch ${PNAME}-8.6.8-flags.patch || die
43 niro 30688
44     # fix library runtime detection with disabled rpath from the patch above
45     mpatch ${PNAME}-8.6.0-autopath.patch || die
46    
47     # increase value from 500 to 5000 to fix dejagnu issues
48     # see: http://lists.freebsd.org/pipermail/freebsd-tcltk/2013-June/000068.html
49     # at least libffi testsuite needs this fix
50     sed -i 's:#define DUPTRAVERSE_MAX_DEPTH 500:&0:' generic/regc_nfa.c || die
51    
52     cd ${SRCDIR}/unix
53     mautoreconf || die
54     }
55    
56     src_compile()
57     {
58     cd ${SRCDIR}/unix
59    
60     mconfigure || die
61     mmake || die
62     }
63    
64     src_check()
65     {
66     cd ${SRCDIR}/unix
67     make test || die
68     }
69    
70     src_install()
71     {
72     cd ${SRCDIR}/unix
73    
74     local V="$(echo ${PVER} | cut -d "." -f 1,2)"
75    
76     # removes the reference to the build directory
77     # and replace them by saner system wide locations
78     sed -i "s:${SRCDIR}/unix:/usr/$(mlibdir):" tclConfig.sh || die
79     sed -i "s:${SRCDIR}:/usr/include/tcl${V}:" tclConfig.sh || die
80     sed -i "s,^TCL_LIB_FILE='libtcl${V}..TCL_DBGX..so',TCL_LIB_FILE=\"libtcl${V}\$\{TCL_DBGX\}.so\"," tclConfig.sh || die
81    
82     # installs tcl
83     mmake -j1 DESTDIR=${BINDIR} install || die
84    
85     # installs the internal headers into a system-wide location.
86     minstalldir /usr/include/tcl${V}/unix || die
87     minstallfile \*.h /usr/include/tcl${V}/unix/ || die
88     minstalldir /usr/include/tcl${V}/generic || die
89     minstallfile ../generic/\*.h /usr/include/tcl${V}/generic/ || die
90     mdelete /usr/include/tcl${V}/generic/tcl.h || die
91     mdelete /usr/include/tcl${V}/generic/tclDecls.h || die
92     mdelete /usr/include/tcl${V}/generic/tclPlatDecls.h || die
93    
94     # symlink unix private headers to generic (expect needs that)
95     mlink ../unix/tclUnixPort.h /usr/include/tcl${V}/generic || die
96     mlink ../unix/tclUnixThrd.h /usr/include/tcl${V}/generic || die
97    
98     # creates compatibility symbolic links for the libs
99     mlink ../../include/tcl${V} /usr/$(mlibdir)/tcl${V}/include || die
100     mlink libtcl${V}.so /usr/$(mlibdir)/libtcl.so || die
101    
102     mlink tclsh${V} /usr/bin/tclsh || die
103    
104     cd ${SRCDIR}
105     minstalldocs ChangeLog* changes license.terms README || die
106     }