164 lines
3.6 KiB
Bash
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
|
|
}
|