Magellan Linux

Annotation of /branches/R11-stable/core/screen/screen-4.0.3-r7.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 20809 - (hide annotations) (download)
Tue Feb 11 09:51:25 2014 UTC (10 years, 3 months ago) by niro
File size: 2444 byte(s)
-release branches/R11-stable
1 niro 20712 # $Id$
2    
3     PNAME="screen"
4     PVER="4.0.3"
5     PBUILD="r7"
6    
7     PCAT="app-misc"
8    
9     DESCRIPTION="Screen is a full-screen window manager that multiplexes a physical terminal between several processes."
10     HOMEPAGE="http://www.gnu.org/software/screen/"
11    
12     DEPEND=">= sys-libs/ncurses-5.9
13     >= sys-libs/pam-1.1"
14    
15     SDEPEND=">= virtual/sed
16     >= sys-dev/automake-4
17     >= sys-dev/autoconf-5"
18    
19     SRCFILE="${PNAME}-${PVER}.tar.gz"
20     SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
21    
22     sminclude mtools
23    
24     SRC_URI=(
25     gnu://${PNAME}/${SRCFILE}
26     mirror://${PNAME}/${SRCFILE}
27     mirror://${PNAME}/screen.pamd-systemauth
28     mirror://${PNAME}/${PNAME}-4.0.1-int-overflow-fix.patch
29     mirror://${PNAME}/${PNAME}-4.0.2-no-libelfs-or-elfutils-dep.patch
30     mirror://${PNAME}/${PNAME}-4.0.2-no-utempter-dep.patch
31     )
32    
33     UP2DATE="updatecmd_gnu ${PNAME} gz"
34    
35     src_prepare()
36     {
37     munpack ${SRCFILE} || die
38     cd ${SRCDIR}
39    
40     # fix integer overflow vulnerability
41     mpatch ${PNAME}-4.0.1-int-overflow-fix.patch || die
42    
43     # remove libelf and elfutil dep even when they are found on the system
44     mpatch ${PNAME}-4.0.2-no-libelfs-or-elfutils-dep.patch || die
45    
46     # same for utempter
47     mpatch ${PNAME}-4.0.2-no-utempter-dep.patch || die
48    
49     # fix some pathes
50     sed -i \
51     -e "s:/usr/local/etc/screenrc:/etc/screenrc:g;
52     s:/usr/local/screens:/var/run/screen:g;
53     s:/local/etc/screenrc:/etc/screenrc:g;
54     s:/etc/utmp:/var/run/utmp:g;
55     s:/local/screens/S-:/var/run/screen/S-:g" doc/screen.1 || die
56    
57     # rebuild configure
58     export WANT_AUTOCONF=2.5
59     autoconf || die
60     }
61    
62     src_compile()
63     {
64     cd ${SRCDIR}
65    
66     # screen needs some special cflags ...
67     export CFLAGS="${CFLAGS} -DPTYMODE=0620 -DPTYGROUP=4 -DUSE_PAM" || die
68     export CXXFLAGS="${CFLAGS}" || die
69    
70     mconfigure \
71     --with-socket-dir=/var/run/screen \
72     --with-sys-screenrc=/etc/screenrc \
73     --enable-rxvt_osc \
74     --enable-telnet \
75     --enable-colors256 \
76     --enable-pam || die
77    
78     LC_ALL=POSIX make term.h || die
79     mmake || die
80     }
81    
82     src_install()
83     {
84     cd ${SRCDIR}
85    
86     # needed directories
87     minstalldir /usr/share/terminfo || die
88    
89     mmake DESTDIR=${BINDIR} install || die
90    
91     # install pam auth
92     minstallpam screen.pamd-systemauth screen || die
93    
94     # install termcap
95     minstallfile terminfo/screencap /usr/share/terminfo || die
96    
97     # install screenrc
98     minstalletc etc/etcscreenrc screenrc || die
99    
100     # mark this dir undeletable
101     mkeepdir /var/run/screen || die
102    
103     # fix some permissions
104     mchmod u+s /usr/bin/screen || die
105     mchmod go-w /var/run/screen || die
106    
107     minstalldocs ChangeLog COPYING FAQ NEWS* README TODO || die
108     }