blob: 759d01e836e5931abc58312d0e4ebb2116696601 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/mc/mc-4.6.2_pre1.ebuild,v 1.10 2009/05/28 17:45:05 arfrever Exp $
EAPI=1
inherit eutils toolchain-funcs git autotools
MY_P=${P/_/-}
DESCRIPTION="GNU Midnight Commander is a s-lang based file manager."
HOMEPAGE="http://www.gnu.org/software/mc"
SRC_URI=""
EGIT_REPO_URI="git://midnight-commander.org/git/mc.git"
EGIT_BOOTSTRAP="./autogen.sh"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~arm ~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
IUSE="gpm nls samba +unicode X"
RDEPEND=">=dev-libs/glib-2
unicode? ( >=sys-libs/slang-2.1.3 )
!unicode? ( sys-libs/ncurses )
gpm? ( sys-libs/gpm )
X? ( x11-libs/libX11
x11-libs/libICE
x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libSM )
samba? ( net-fs/samba )
kernel_linux? ( sys-fs/e2fsprogs )
app-arch/zip
app-arch/unzip"
DEPEND="${RDEPEND}
dev-util/pkgconfig
nls? ( sys-devel/gettext )
unicode? ( virtual/libiconv )"
S=${WORKDIR}/${MY_P}
src_unpack() {
git_src_unpack
cd "${S}"
# use unicode || \
# EPATCH_EXCLUDE="48_all_deb_utf8-slang2.patch 60_all_deb_recode.patch"
# EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patches
# Prevent lazy bindings in cons.saver binary for bug #135009
sed -i -e "s:^\(cons_saver_LDADD = .*\):\1 -Wl,-z,now:" \
src/Makefile.in || die "sed failed."
if use unicode; then
local conversion_table=(
"cs ISO-8859-2"
"es ISO-8859-1"
"hu ISO-8859-2"
"nl ISO-8859-1"
"pl ISO-8859-2"
"ru KOI8-R"
"sr ISO-8859-5"
"uk KOI8-U"
)
local element
for element in "${conversion_table[@]}"; do
local lingua="${element% *}"
local old_encoding="${element#* }"
local file
for file in "doc/${lingua}/xnc.hlp" "lib/mc.hint.${lingua}" "lib/mc.menu.${lingua}"; do
if [[ -f "${file}" ]]; then
mv "${file}" "${file}.${old_encoding}"
iconv -f ${old_encoding} -t UTF-8 "${file}.${old_encoding}" > "${file}" || die "iconv ${file} failed"
fi
done
done
fi
# docs try to run the files it just built while trying convert .1 to .hlp files.
# this will never work for cross compiles, so we simply don't make docs.
if tc-is-cross-compiler; then
sed -i -e s/'lib doc syntax'/'lib syntax'/ Makefile.in
fi
}
src_compile() {
local myconf="--with-vfs --with-ext2undel --enable-charset --with-edit --enable-extcharset --enable-vfs-mcfs --enable-mcserver"
if use unicode; then
myconf+=" --with-screen=slang"
else
myconf+=" --with-screen=ncurses"
fi
if use samba; then
myconf+=" --with-samba --with-configdir=/etc/samba --with-codepagedir=/var/lib/samba/codepages"
else
myconf+=" --without-samba"
fi
econf --disable-dependency-tracking \
$(use_enable nls) \
$(use_with gpm gpm-mouse) \
$(use_with X x) \
${myconf}
emake || die "emake failed."
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed."
dodoc AUTHORS FAQ HACKING MAINTAINERS NEWS README* TODO
# Install cons.saver setuid to actually work
fperms u+s /usr/libexec/mc/cons.saver
# Install ebuild syntax
insinto /usr/share/mc/syntax
doins "${FILESDIR}"/ebuild.syntax
}
|