# 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" EGIT_MASTER=pu 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="xz" 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 }