diff options
Diffstat (limited to 'www-apps/gitweb/gitweb-2.4.0.ebuild')
-rw-r--r-- | www-apps/gitweb/gitweb-2.4.0.ebuild | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/www-apps/gitweb/gitweb-2.4.0.ebuild b/www-apps/gitweb/gitweb-2.4.0.ebuild new file mode 100644 index 00000000..06446b1f --- /dev/null +++ b/www-apps/gitweb/gitweb-2.4.0.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2015 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" +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}" + +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 + + # perl_delete_localpod 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 +} |