Annotation of /branches/R11-stable/core/screen/screen-4.0.3-r7.smage2
Parent Directory | 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)
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 | } |