Files
sablink-distro/www-apps/gitweb/gitweb-1.9.3.ebuild
T
2014-05-28 21:37:53 +02:00

164 lines
3.6 KiB
Bash

# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
GENTOO_DEPEND_ON_PERL=no
[[ ${PV} == *9999 ]] && SCM="git-2"
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
inherit toolchain-funcs eutils ${SCM}
MY_PV="${PV/_rc/.rc}"
MY_PV="${MY_PV/gitweb/git}"
MY_P="${PN}-${MY_PV}"
MY_P="${MY_P/gitweb/git}"
DESCRIPTION="A web interface to git"
HOMEPAGE="http://www.git-scm.com/"
if [[ "$PV" != *9999 ]]; then
SRC_URI_SUFFIX="gz"
SRC_URI_GOOG="http://git-core.googlecode.com/files"
SRC_URI_KORG="mirror://kernel/software/scm/git"
SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}"
KEYWORDS="~amd64 ~x86"
else
SRC_URI=""
KEYWORDS=""
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="highlight"
# Common to both DEPEND and RDEPEND
CDEPEND="
~dev-vcs/git-${PV}
sys-libs/zlib
dev-lang/perl:=[-build(-)]
dev-libs/libpcre
dev-lang/tk"
RDEPEND="${CDEPEND}
dev-vcs/git[-cgi]
dev-perl/Error
dev-perl/Net-SMTP-SSL
dev-perl/Authen-SASL
virtual/perl-CGI highlight? ( app-text/highlight )"
DEPEND="${CDEPEND}
app-arch/cpio
"
SITEFILE=50${PN}-gentoo.el
S="${WORKDIR}/${MY_P}"
src_unpack() {
if [[ "${PV}" != *9999 ]]; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}"
else
git-2_src_unpack
cd "${S}"
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
epatch_user
sed -i \
-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
Makefile || die "sed failed"
# Never install the private copy of Error.pm (bug #296310)
sed -i \
-e '/private-Error.pm/s,^,#,' \
perl/Makefile.PL
}
git_emake() {
local MY_MAKEOPTS="INSTALLDIRS=vendor"
emake ${MY_MAKEOPTS} \
DESTDIR="${D}" \
OPTCFLAGS="${CFLAGS}" \
OPTLDFLAGS="${LDFLAGS}" \
OPTCC="$(tc-getCC)" \
OPTAR="$(tc-getAR)" \
prefix="${EPREFIX}"/usr \
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
sysconfdir="${EPREFIX}"/etc \
PERL_PATH="${EPREFIX}/usr/bin/env perl" \
PERL_MM_OPT="" \
GIT_TEST_OPTS="--no-color" \
V=1 \
"$@"
}
src_configure() {
einfo "Nothing to configure."
}
src_compile() {
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
git_emake \
gitweb \
|| die "emake gitweb failed"
}
src_install() {
#if use perl && use cgi ; then
# dosym /usr/share/gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
find "${ED}"/usr/lib64/perl5/ \
-name .packlist \
-exec rm \{\} \;
#else
# rm -rf "${ED}"/usr/share/gitweb
#fi
exeinto /usr/share/gitweb/
doexe "${S}"/gitweb/gitweb.cgi
insinto /usr/share/gitweb/static
doins "${S}"/gitweb/static/*.png
doins "${S}"/gitweb/static/*.css
doins "${S}"/gitweb/static/*.js
# Maybe not needed, but it's created when non-split ebuild is used too.
dosym /usr/share/gitweb /usr/share/git/gitweb
# fixlocalpod from perl-module: not needed
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
elog "These additional scripts need some dependencies:"
echo
showpkgdeps git-quiltimport "dev-util/quilt"
showpkgdeps git-instaweb \
"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
echo
}