160 lines
4.4 KiB
Bash
160 lines
4.4 KiB
Bash
|
# Copyright 1999-2008 Gentoo Foundation
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
# $Header: /var/cvsroot/gentoo-x86/app-misc/mc/mc-4.6.1-r4.ebuild,v 1.15 2008/09/14 02:04:27 solar Exp $
|
||
|
|
||
|
inherit flag-o-matic eutils
|
||
|
|
||
|
U7Z_PV="4.29"
|
||
|
U7Z="u7z-${U7Z_PV}.tar.bz2"
|
||
|
DESCRIPTION="GNU Midnight Commander cli-based file manager"
|
||
|
HOMEPAGE="http://www.gnu.org/software/mc/"
|
||
|
SRC_URI="http://www.ibiblio.org/pub/Linux/utils/file/managers/${PN}/${P}.tar.gz
|
||
|
mirror://gentoo/${P}-utf8-r2.patch.bz2
|
||
|
7zip? ( http://sgh-punk.narod.ru/files/u7z/${U7Z} )"
|
||
|
|
||
|
LICENSE="GPL-2"
|
||
|
SLOT="0"
|
||
|
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
|
||
|
IUSE="7zip X gpm ncurses nls samba slang unicode"
|
||
|
|
||
|
RDEPEND="kernel_linux? ( >=sys-fs/e2fsprogs-1.19 )
|
||
|
ncurses? ( >=sys-libs/ncurses-5.2-r5 )
|
||
|
=dev-libs/glib-2*
|
||
|
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||
|
slang? ( >=sys-libs/slang-1.4 )
|
||
|
samba? ( >=net-fs/samba-3.0.0 )
|
||
|
X? ( x11-libs/libX11
|
||
|
x11-libs/libICE
|
||
|
x11-libs/libXau
|
||
|
x11-libs/libXdmcp
|
||
|
x11-libs/libSM )
|
||
|
x86? ( 7zip? ( >=app-arch/p7zip-4.16 ) )
|
||
|
ppc? ( 7zip? ( >=app-arch/p7zip-4.16 ) )
|
||
|
amd64? ( 7zip? ( >=app-arch/p7zip-4.16 ) )"
|
||
|
|
||
|
DEPEND="${RDEPEND}
|
||
|
dev-util/pkgconfig"
|
||
|
|
||
|
pkg_setup() {
|
||
|
if use unicode && ! use slang ; then
|
||
|
eerror "You must either disable unicode useflag or, if you want a"
|
||
|
eerror "unicode-aware mc, set the slang useflag as well."
|
||
|
die "set slang or unset unicode"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
src_unpack() {
|
||
|
if ( use x86 || use amd64 || use ppc ) && use 7zip; then
|
||
|
unpack ${U7Z}
|
||
|
fi
|
||
|
unpack ${P}.tar.gz
|
||
|
cd "${S}"
|
||
|
|
||
|
epatch "${FILESDIR}"/${P}-find.patch
|
||
|
if ( use x86 || use amd64 || use ppc ) && use 7zip; then
|
||
|
epatch "${FILESDIR}"/${PN}-4.6.0-7zip.patch
|
||
|
fi
|
||
|
epatch "${FILESDIR}"/${P}-largefile.patch
|
||
|
|
||
|
# Don't crash on invalid mtimes
|
||
|
# Bug #184296
|
||
|
epatch "${FILESDIR}"/${P}-invalid-mtime.patch
|
||
|
|
||
|
if use slang && use unicode; then
|
||
|
epatch "${DISTDIR}"/${P}-utf8-r2.patch.bz2
|
||
|
fi
|
||
|
epatch "${FILESDIR}"/${P}-nonblock.patch
|
||
|
epatch "${FILESDIR}"/${P}-bash-all.patch
|
||
|
|
||
|
# Prevent lazy bindings in cons.saver binary. (bug #135009)
|
||
|
# - not using bindnow-flags() because cons.saver is only built on GNU/Linux
|
||
|
sed -i -e "s:^\(cons_saver_LDADD = .*\):\1 -Wl,-z,now:" \
|
||
|
src/Makefile.in
|
||
|
|
||
|
# 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
|
||
|
|
||
|
# Correctly generate charset.alias.
|
||
|
# Fixes bugs 71275, 105960 and 169678
|
||
|
epatch "${FILESDIR}"/${P}-charset-locale-aliases.patch
|
||
|
}
|
||
|
|
||
|
src_compile() {
|
||
|
append-flags -I/usr/include/gssapi
|
||
|
|
||
|
filter-flags -malign-double
|
||
|
|
||
|
local myconf=""
|
||
|
|
||
|
if ! use slang && ! use ncurses ; then
|
||
|
myconf="${myconf} --with-screen=mcslang"
|
||
|
elif use ncurses && ! use slang ; then
|
||
|
myconf="${myconf} --with-screen=ncurses"
|
||
|
else
|
||
|
use slang && myconf="${myconf} --with-screen=slang"
|
||
|
fi
|
||
|
|
||
|
myconf="${myconf} `use_with gpm gpm-mouse`"
|
||
|
|
||
|
use nls \
|
||
|
&& myconf="${myconf} --with-included-gettext" \
|
||
|
|| myconf="${myconf} --disable-nls"
|
||
|
|
||
|
myconf="${myconf} `use_with X x`"
|
||
|
|
||
|
use samba \
|
||
|
&& myconf="${myconf} --with-samba --with-configdir=/etc/samba --with-codepagedir=/var/lib/samba/codepages --with-privatedir=/etc/samba/private" \
|
||
|
|| myconf="${myconf} --without-samba"
|
||
|
|
||
|
econf \
|
||
|
--with-vfs \
|
||
|
--with-ext2undel \
|
||
|
--with-edit \
|
||
|
--enable-charset \
|
||
|
${myconf} || die "econf failed"
|
||
|
|
||
|
emake || die "emake failed"
|
||
|
}
|
||
|
|
||
|
src_install() {
|
||
|
cat "${FILESDIR}"/chdir-4.6.0.gentoo >>\
|
||
|
"${S}"/lib/mc-wrapper.sh
|
||
|
|
||
|
make install DESTDIR="${D}" || die "make install failed"
|
||
|
|
||
|
# install cons.saver setuid, to actually work
|
||
|
fperms u+s /usr/$(get_libdir)/mc/cons.saver
|
||
|
|
||
|
dodoc ChangeLog AUTHORS MAINTAINERS FAQ INSTALL* NEWS README*
|
||
|
|
||
|
insinto /usr/share/mc
|
||
|
doins "${FILESDIR}"/mc.gentoo
|
||
|
doins "${FILESDIR}"/mc.ini
|
||
|
|
||
|
if ( use x86 || use amd64 || use ppc ) && use 7zip; then
|
||
|
cd ../${U7Z_PV}
|
||
|
exeinto /usr/share/mc/extfs
|
||
|
doexe u7z
|
||
|
dodoc readme.u7z
|
||
|
newdoc ChangeLog ChangeLog.u7z
|
||
|
fi
|
||
|
|
||
|
insinto /usr/share/mc/syntax
|
||
|
doins "${FILESDIR}"/ebuild.syntax
|
||
|
cd "${D}"/usr/share/mc/syntax
|
||
|
epatch "${FILESDIR}"/${PN}-4.6.0-ebuild-syntax.patch
|
||
|
}
|
||
|
|
||
|
pkg_postinst() {
|
||
|
elog "Add the following line to your ~/.bashrc to"
|
||
|
elog "allow mc to chdir to its latest working dir at exit"
|
||
|
elog ""
|
||
|
elog "# Midnight Commander chdir enhancement"
|
||
|
elog "if [ -f /usr/share/mc/mc.gentoo ]; then"
|
||
|
elog " . /usr/share/mc/mc.gentoo"
|
||
|
elog "fi"
|
||
|
}
|