dev-vcs/git: Removed old.

Package-Manager: portage-2.2.27
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
This commit is contained in:
Lars Wendler
2016-02-07 15:29:04 +01:00
parent 71a8f4991d
commit e46544a82e
3 changed files with 0 additions and 1283 deletions

View File

@@ -1,18 +1,15 @@
DIST git-2.4.10.tar.xz 3695176 SHA256 b631b2b26f5593833a29cd833b8071b4eaf7b212fba180e587b526f51c2331df SHA512 08f7f63fd4820f155aec08373fd4f5abbe5a4c8f98a73a824897ba68901fb274b4cf47b8751cd2bea358cbb9c09934f7857aa440de69b46ee88a4bba852f5ced WHIRLPOOL 3ec53b7355f1895c95b91e1fa85f185801acdb0317384099e4d7914208c3d762d536ed83e099c96a168d696e37e3f8a491459de59c7dd59dce9c49fb75af836b
DIST git-2.5.4.tar.xz 3747552 SHA256 e08d2d384e1c8c474d336c3583ed5cd396c76455155a4e65bfa97699fc38472a SHA512 25964bc59301b11994c94bab618613bc87ef788d356af55a26c77861a939f2b67cf37be98199e81d5c2a63e8d9c043b4fc6fb481316cc4d8bb6a1f382eddf33e WHIRLPOOL e62efd86c5e0d1b040816978cc28a41d00a7c095513482b0df1d4addc87bd89ce20dbb1b77e3ec3d9bd0722de3237e451b05f687fdb6419fa419708921049222
DIST git-2.6.4.tar.xz 3820804 SHA256 1c0170952163e0b240256bc47388b95c617cf8cf446c93261df83d42cf5dd466 SHA512 935233c6dc504448af5dce3115174f9d36489288f7f16790f21dd0faa2699ed71609b8053182e0e2b100b9229cde80ca4d944ecc7723e697bec7af5b28b8f12e WHIRLPOOL 2df761b4aa1876d93e7c6c22d7a57d61a1cab6419f582ee842330a5167888af3da17de7812903baadca6f36b1de15216f6efccb548a70e3e3a366131703a441b
DIST git-2.6.5.tar.xz 3822016 SHA256 07ce40131821c42fbcfa8f989b384f30f64f3665c06e8b2c2e2077d730777db5 SHA512 c71a1ad80eced40b007d9a6dc10d081fcf5b9b384f20d5db2e3a2646191838070369b96c172a66d86eaa488634bd4adbe0840f0c4dade51a45eba2fd3a0870a5 WHIRLPOOL 331e8422cdaf0376ea6ff15f8b7abc2d14355fda9871ad8928fd7d46df3cd88e94702da243c5032e1e1e364def92b3fd8b852e8b7aaa98a69bb20599417ba50c
DIST git-2.7.0.tar.xz 3861524 SHA256 fa9fb34efce9c80527152a40fbae138e83bd04a15ef9111726252259345a7b0d SHA512 e2d51e3d547229bb1e5c3a92c71476695f23420d9c639f9cb1d953fd00579aad92f9bbaf8f3d45f966c9476da73bf4c11dabf18c06f542de6e4d26e12c43dcf3 WHIRLPOOL e0dc8071ebc4e0558a2f2b9d8b32d840f4278e893777367029e84a57bf52d1d00eadb778a3e6df70c93de8cb754b94ff985ae6025ff98d6276629d7d3318aa19
DIST git-2.7.1.tar.xz 3905876 SHA256 477a8137de342f858d364383266e9551e582718e96b34051a6aaef57606d6bfe SHA512 968a77ed2dd0118a55fdc0715c1dad3edbef59cad15d57d1cd6f8385636480746bf8f934e5bbf4e7cf2264cb59f387260a10e851f0b4a54b0b959e19e8856dbb WHIRLPOOL 9cb5e59eb8dfbad56b6046fac69dcd0e3588558a30c5c8d67499b75afbd4bddf2053bd1907c584a984649b40ae7f67d659ac9abe6658b2d93d4fafcc1042e3ed
DIST git-htmldocs-2.4.10.tar.xz 996588 SHA256 f2c523ea114caac7c5cf51a20a420a215411762fabff2da9febfc2917af835ef SHA512 60fc5a2b6665ec7fc10680608b5689a24fa211fe7393f010a8099c6fb0a9582f20cebc7cad0653b62750677d79a80fcd6e8e96fb440acb3fc7c7c0ffc00779d3 WHIRLPOOL 30585753a7b08dfa812c74832d35168d3615d8bf71c3c853efb125348538b5fb7cc4b3f1cfef725082ade144b5362394991186967f6026cee8c91dd41e30290e
DIST git-htmldocs-2.5.4.tar.xz 1009820 SHA256 cb36b3b7198a3fa49f2677bba83f1e57a1a40250a181d9e86232cb8febcc8053 SHA512 af833635632ba5c65524bfef00f291a41fd37ba7bd9ca4b65b4c0eb9329b888d2e8757fe29f33bd25a75e1841d67a20dff49f43d35a502ef3b29599d073dcd6a WHIRLPOOL e5f55c3dbdf69d946295c5c19b95a79168d34645ced8e6a837ec8b5dd948008487288159f63a2f81a36fbdf3f413d3fdefd008b0157785df37431ccb9127284e
DIST git-htmldocs-2.6.4.tar.xz 1021204 SHA256 03c43f8ce24e9ffe3b7f3066d0ffb4036a67b2ac5d0914b788379341c742167b SHA512 5d0fa33ac1d5f9160b72720e504158c6403beff7c9dfc0d0c43e55acb4575a130689d664c20c16316a78020130fbd9fcec4cb6068aeb3da41ac2623a43b2442c WHIRLPOOL fece0a4dbf4910f1fe0f0239ddf3b399bcef6b369206dc6f30cc84f8d50805c55cada81cd7a4010315b36f3bf55b29024bea5a85b191c871eaf99641242dc75e
DIST git-htmldocs-2.6.5.tar.xz 1021516 SHA256 40b5ee75a69d834005b36dd190dc0164124593cca233391774a3a9c82af88de5 SHA512 dc796bbe54104821c8be8a7475039a8a6b207d3e3bd20b950d786b02c824801e3f915389af7c267b83800ed2e0d1b037fb543d6c0f942f887c715a361a589728 WHIRLPOOL 3abd96db7ed3368a8903ff89265c6a44c8e5a2127695edca6bdc2511a27dd45c546016400f926c367030602828329a194fc2683785f25c7833c18c9f32ea57f1
DIST git-htmldocs-2.7.0.tar.xz 1028748 SHA256 a9d30a744eb07392ba3ffe389cca7e57a2bdd718c9ffccdf2d525eeafac548a9 SHA512 e86dd5874c87bd9df9a76a50bc41280dbcaff7b24547d57eae1f68f97645e15dc35027754425013bef6fea1bd4f6e9e23ac0aac80023166a29848deee7d3d4d0 WHIRLPOOL 435b67e536991b6a31f5b70870947f30fe9d2318648bb061ed96608acc0e5deca4d21574cbdcb06548ab90fb2a368e5a629610aaa5f030c91ec9d6e0965be302
DIST git-htmldocs-2.7.1.tar.xz 1030484 SHA256 9a9b857fb28fef8ad2fd780b263331f2f5d3f09338c64bd902f8a5ec03bbfc89 SHA512 b97223f7fec21d254f0b1b2407341b84d03ec23ed38e3042541e9cb2e2d847a856524e9e5751d2ff4a00c32f0f02ee667e376c3a6ad00252d6b6bee0dde1af4e WHIRLPOOL 42ba0d194a77d5074f57a6936a72a7f4dbd0cbda0d620eb22fc04ea5ef1d0016d777dbf1e9a06265424f870c0241ef6f79e310f758c90ebf081d05b926e810b0
DIST git-manpages-2.4.10.tar.xz 373968 SHA256 da712c07d84bb3da10be9fb56c15289c77828d3011179ab71f090e77e52a03d9 SHA512 d5a978109db70f3d50d02ad17c93229206f2d5a2dd3dd7e9fb266ca7b76b85ad92f63120df885b88b5a33fe1dce0686ae92fc50749cb3b6275cb48812eb031a9 WHIRLPOOL decb0b5bf81b25e4562f639e03c2b60b0c470338be0ac298f3d62deb54538de0961a81c6a8ced17ef5877df6de5c17b49fe96e77f00dd2038d2d1189c8f48e7c
DIST git-manpages-2.5.4.tar.xz 378296 SHA256 bdd8db3b8cd35d01b2631d1f3c1174e5bc1b62b3e0177ae1954d83743aa93ea9 SHA512 ccd675d8d9c117042083800fa4ae7a876a7873cf13844c92f731e46553d316a949d445c80e4b57824792a6b369623085053d25baeb4f8b79801b5849f06eb084 WHIRLPOOL a2149da3217826c1c4951aa0fa0900e388ea806511559d0e01c4e17a565470048e55e988b12e6da3d7b52b11d410d27b4da0cac4d2d88e3f6860f22664cd8ac9
DIST git-manpages-2.6.4.tar.xz 381548 SHA256 9a71b60396789196d1c52665a8f12eda3f1f0b53ab91968de9d33572700e924c SHA512 37f82e6a0721d5df5c5483f7b1f69e9835afb72ef6d8bb4a34f3505594d626dbbc767627c2973f83009d78ee08d40a3e127e86ed9d3e69b759909631c08bd4e7 WHIRLPOOL f3977f59d1cc92455eafa2b947bd3d6d673a39e8a78fed0423729586b1c456727f9475cc95adac0d52ed27661b74e8ed6a2a21d6b1b85fe8b628265ccf7d5b1c
DIST git-manpages-2.6.5.tar.xz 381620 SHA256 7b0800c0e3d6a7370413ee9ded8466158170a1635dfd434cec8e2d168e5038ef SHA512 c370811ced1b481e66efeb3f5efb00a5091183d3125e2796b883e6f9e1dfb82032ad303eca5a9380882227aab8c63fe0d5c80dfd80228aaa29d7c7ab6afae9b4 WHIRLPOOL 211866bd59f537bd9ba8d51d037b76f3054afee254d92708137105e7360647d244c3558a70254a94ea99cf96397a5d794ff3b80d893d67e1032abbb18e28b11c
DIST git-manpages-2.7.0.tar.xz 384248 SHA256 b7f255aa17a5d06b9b71f6e3957f65e8f15789b2d31f09b1c2bf697a21458a0d SHA512 ab3af313c6fd88dca34103fdf2d9d3eaf25b57d0cee90b6eedac05130a0c42e79aa31fdd328e35386765e84cdd5d3143cd870fcdc96983581a7531ac7b1a32a5 WHIRLPOOL cf4af0dfc3a39d072f16e1ef4b6025f63ac3788a5db4f5eec48a1889b67c646044e64b4544a961c7616bd56a4dc57e75532f97c3d4cef92d56a3a1cd20afeae0
DIST git-manpages-2.7.1.tar.xz 384468 SHA256 e6091a4f13f199109e19ef689b5028337419ed7fa5a9dd284d55efda72751e2d SHA512 b0c0469ce9163e10122e5fabb5a39a1b6faa0a1bbe2c24365aae8f02bebb37e9954d477a02be71737510fd82393c4e0aaa7a4cc1caeda3f93735446ee951923e WHIRLPOOL c87331b7e03dad33239cb1bc36d443fb3e5bac3d2cee36cf825b5bd554b72b532af1136b000b1d82b5d4203b7679dd9c263f9b91a4882961aa7dc472dc1b13d9

View File

@@ -1,640 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python2_7 )
[[ ${PV} == *9999 ]] && SCM="git-2"
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
EGIT_MASTER=pu
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER=${MY_PV}
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
HOMEPAGE="http://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_GOOG="https://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}
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
doc? (
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
# Common to both DEPEND and RDEPEND
CDEPEND="
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
sys-libs/zlib
pcre? ( dev-libs/libpcre )
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
emacs? ( virtual/emacs )
gnome-keyring? ( gnome-base/libgnome-keyring )"
RDEPEND="${CDEPEND}
gpg? ( app-crypt/gnupg )
mediawiki? (
dev-perl/HTML-Tree
dev-perl/MediaWiki-API
)
perl? ( dev-perl/Error
dev-perl/Net-SMTP-SSL
dev-perl/Authen-SASL
cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
)
python? ( gtk?
(
>=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
>=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
)
${PYTHON_DEPS} )"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
DEPEND="${CDEPEND}
doc? (
app-text/asciidoc
app-text/docbook2X
sys-apps/texinfo
app-text/xmlto
)
nls? ( sys-devel/gettext )
test? ( app-crypt/gnupg )"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
DEPEND="${DEPEND}
app-text/asciidoc"
fi
SITEFILE=50${PN}-gentoo.el
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
mediawiki? ( perl )
subversion? ( perl )
webdav? ( curl )
gtk? ( python )
python? ( ${PYTHON_REQUIRED_USE} )
"
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]"; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned."
fi
if use python ; then
python-single-r1_pkg_setup
fi
}
# This is needed because for some obscure reasons future calls to make don't
# pick up these exports if we export them in src_unpack()
exportmakeopts() {
local myopts
if use blksha1 ; then
myopts+=" BLK_SHA1=YesPlease"
elif use ppcsha1 ; then
myopts+=" PPC_SHA1=YesPlease"
fi
if use curl ; then
use webdav || myopts+=" NO_EXPAT=YesPlease"
else
myopts+=" NO_CURL=YesPlease"
fi
# broken assumptions, because of broken build system ...
myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
myopts+=" INSTALL=install TAR=tar"
myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
myopts+=" SANE_TOOL_PATH="
myopts+=" OLD_ICONV="
myopts+=" NO_EXTERNAL_GREP="
# For svn-fe
extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
# can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
use iconv \
|| myopts+=" NO_ICONV=YesPlease"
use nls \
|| myopts+=" NO_GETTEXT=YesPlease"
use tk \
|| myopts+=" NO_TCLTK=YesPlease"
use pcre \
&& myopts+=" USE_LIBPCRE=yes" \
&& extlibs+=" -lpcre"
use perl \
&& myopts+=" INSTALLDIRS=vendor" \
|| myopts+=" NO_PERL=YesPlease"
use python \
|| myopts+=" NO_PYTHON=YesPlease"
use subversion \
|| myopts+=" NO_SVN_TESTS=YesPlease"
use threads \
&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
|| myopts+=" NO_PTHREADS=YesPlease"
use cvs \
|| myopts+=" NO_CVS=YesPlease"
# Disabled until ~m68k-mint can be keyworded again
# if [[ ${CHOST} == *-mint* ]] ; then
# myopts+=" NO_MMAP=YesPlease"
# myopts+=" NO_IPV6=YesPlease"
# myopts+=" NO_STRLCPY=YesPlease"
# myopts+=" NO_MEMMEM=YesPlease"
# myopts+=" NO_MKDTEMP=YesPlease"
# myopts+=" NO_MKSTEMPS=YesPlease"
# fi
if [[ ${CHOST} == ia64-*-hpux* ]]; then
myopts+=" NO_NSEC=YesPlease"
fi
if [[ ${CHOST} == *-*-aix* ]]; then
myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
fi
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=" NEEDS_LIBICONV=YesPlease"
fi
has_version '>=app-text/asciidoc-8.0' \
&& myopts+=" ASCIIDOC8=YesPlease"
myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
# Bug 290465:
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
[[ "${CHOST}" == *-uclibc* ]] && \
myopts+=" NO_NSEC=YesPlease"
export MY_MAKEOPTS="${myopts}"
export EXTLIBS="${extlibs}"
}
src_unpack() {
if [[ ${PV} != *9999 ]]; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}"
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
use doc && \
cd "${S}"/Documentation && \
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
cd "${S}"
else
git-2_src_unpack
cd "${S}"
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
# bug #350330 - automagic CVS when we don't want it is bad.
epatch "${FILESDIR}"/git-2.2.2-optional-cvs.patch
# install mediawiki perl modules also in vendor_dir
# hack, needs better upstream solution
epatch "${FILESDIR}"/git-1.8.5-mw-vendor.patch
epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
epatch "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
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 contrib/svn-fe/Makefile || die "sed failed"
# Never install the private copy of Error.pm (bug #296310)
sed -i \
-e '/private-Error.pm/s,^,#,' \
perl/Makefile.PL
# Fix docbook2texi command
sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
Documentation/Makefile || die "sed failed"
# Fix git-subtree missing DESTDIR
sed -i \
-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
contrib/subtree/Makefile
}
git_emake() {
# bug #326625: PERL_PATH, PERL_MM_OPT
# bug #320647: PYTHON_PATH
PYTHON_PATH=""
use python && PYTHON_PATH="${PYTHON}"
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 \
PYTHON_PATH="${PYTHON_PATH}" \
PERL_MM_OPT="" \
GIT_TEST_OPTS="--no-color" \
V=1 \
"$@"
# This is the fix for bug #326625, but it also causes breakage, see bug
# #352693.
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
}
src_configure() {
exportmakeopts
}
src_compile() {
if use perl ; then
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
fi
git_emake || die "emake failed"
if use emacs ; then
elisp-compile contrib/emacs/git{,-blame}.el
fi
if use perl && use cgi ; then
git_emake \
gitweb \
|| die "emake gitweb (cgi) failed"
fi
if [[ ${CHOST} == *-darwin* ]]; then
cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
git_emake || die "emake credential-osxkeychain"
fi
cd "${S}"/Documentation
if [[ ${PV} == *9999 ]] ; then
git_emake man \
|| die "emake man failed"
if use doc ; then
git_emake info html \
|| die "emake info html failed"
fi
else
if use doc ; then
git_emake info \
|| die "emake info html failed"
fi
fi
if use subversion ; then
cd "${S}"/contrib/svn-fe
# by defining EXTLIBS we override the detection for libintl and
# libiconv, bug #516168
local nlsiconv=
use nls && use !elibc_glibc && nlsiconv+=" -lintl"
use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
if use doc ; then
git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
fi
cd "${S}"
fi
if use gnome-keyring ; then
cd "${S}"/contrib/credential/gnome-keyring
git_emake || die "emake git-credential-gnome-keyring failed"
fi
cd "${S}"/contrib/subtree
git_emake
use doc && git_emake doc
if use mediawiki ; then
cd "${S}"/contrib/mw-to-git
git_emake
fi
}
src_install() {
git_emake \
install || \
die "make install failed"
if [[ ${CHOST} == *-darwin* ]]; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
use doc && dodir /usr/share/doc/${PF}/html
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.txt
use doc && dohtml -p ${d} Documentation${d}*.html
done
docinto /
# Upstream does not ship this pre-built :-(
use doc && doinfo Documentation/{git,gitman}.info
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
if use emacs ; then
elisp-install ${PN} contrib/emacs/git.{el,elc}
elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
# don't add automatically to the load-path, so the sitefile
# can do a conditional loading
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
fi
if use python && use gtk ; then
python_doscript "${S}"/contrib/gitview/gitview
dodoc "${S}"/contrib/gitview/gitview.txt
fi
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
# git-subtree
cd "${S}"/contrib/subtree
git_emake install || die "Failed to emake install git-subtree"
if use doc ; then
git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
cd "${S}"
if use mediawiki ; then
cd "${S}"/contrib/mw-to-git
git_emake install
cd "${S}"
fi
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
# git-contacts
exeinto /usr/libexec/git-core/
doexe contrib/contacts/git-contacts
dodoc contrib/contacts/git-contacts.txt
if use gnome-keyring ; then
cd "${S}"/contrib/credential/gnome-keyring
dobin git-credential-gnome-keyring
fi
if use subversion ; then
cd "${S}"/contrib/svn-fe
dobin svn-fe
dodoc svn-fe.txt
use doc && doman svn-fe.1 && dohtml svn-fe.html
cd "${S}"
fi
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# credential/gnome-keyring TODO
# diff-highlight - done above
# emacs - installed above
# examples - these are stuff that is not used in Git anymore actually
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
# subtree - build seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
for i in \
buildsystems convert-objects fast-import \
hg-to-git hooks remotes2config.sh rerere-train.sh \
stats workdir \
; do
cp -rf \
"${S}"/contrib/${i} \
"${ED}"/usr/share/${PN}/contrib \
|| die "Failed contrib ${i}"
done
if use perl && use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
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
if ! use subversion ; then
rm -f "${ED}"/usr/libexec/git-core/git-svn \
"${ED}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if use !prefix ; then
newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
perl_delete_localpod
}
src_test() {
local disabled="" #t7004-tag.sh" #520270
local tests_cvs="t9200-git-cvsexportcommit.sh \
t9400-git-cvsserver-server.sh \
t9401-git-cvsserver-crlf.sh \
t9402-git-cvsserver-refs.sh \
t9600-cvsimport.sh \
t9601-cvsimport-vendor-branch.sh \
t9602-cvsimport-branches-tags.sh \
t9603-cvsimport-patchsets.sh \
t9604-cvsimport-timestamps.sh"
local tests_perl="t3701-add-interactive.sh \
t5502-quickfetch.sh \
t5512-ls-remote.sh \
t5520-pull.sh \
t7106-reset-unborn-branch.sh \
t7501-commit.sh"
# Bug #225601 - t0004 is not suitable for root perm
# Bug #219839 - t1004 is not suitable for root perm
# t0001-init.sh - check for init notices EPERM* fails
local tests_nonroot="t0001-init.sh \
t0004-unwritable.sh \
t0070-fundamental.sh \
t1004-read-tree-m-u-wf.sh \
t3700-add.sh \
t7300-clean.sh"
# t9100 still fails with symlinks in SVN 1.7
local test_svn="t9100-git-svn-basic.sh"
# Unzip is used only for the testcase code, not by any normal parts of Git.
if ! has_version app-arch/unzip ; then
einfo "Disabling tar-tree tests"
disabled="${disabled} t5000-tar-tree.sh"
fi
cvs=0
use cvs && let cvs=$cvs+1
if [[ ${EUID} -eq 0 ]]; then
if [[ $cvs -eq 1 ]]; then
ewarn "Skipping CVS tests because CVS does not work as root!"
ewarn "You should retest with FEATURES=userpriv!"
disabled="${disabled} ${tests_cvs}"
fi
einfo "Skipping other tests that require being non-root"
disabled="${disabled} ${tests_nonroot}"
else
[[ $cvs -gt 0 ]] && \
has_version dev-vcs/cvs && \
let cvs=$cvs+1
[[ $cvs -gt 1 ]] && \
has_version "dev-vcs/cvs[server]" && \
let cvs=$cvs+1
if [[ $cvs -lt 3 ]]; then
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
disabled="${disabled} ${tests_cvs}"
fi
fi
if ! use perl ; then
einfo "Disabling tests that need Perl"
disabled="${disabled} ${tests_perl}"
fi
einfo "Disabling tests that fail with SVN 1.7"
disabled="${disabled} ${test_svn}"
# Reset all previously disabled tests
cd "${S}/t"
for i in *.sh.DISABLED ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
done
einfo "Disabled tests:"
for i in ${disabled} ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
done
# Avoid the test system removing the results because we want them ourselves
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-i "${S}"/t/Makefile
# Clean old results first, must always run
cd "${S}/t"
nonfatal git_emake clean
# Now run the tests, keep going if we hit an error, and don't terminate on
# failure
cd "${S}"
einfo "Start test run"
#MAKEOPTS=-j1
nonfatal git_emake --keep-going test
rc=$?
# Display nice results, now print the results
cd "${S}/t"
nonfatal git_emake aggregate-results
# And bail if there was a problem
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
use emacs && elisp-site-regen
einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
einfo "Note that the prompt bash code is now in that separate script"
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
}
pkg_postrm() {
use emacs && elisp-site-regen
}

View File

@@ -1,640 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python2_7 )
[[ ${PV} == *9999 ]] && SCM="git-2"
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
EGIT_MASTER=pu
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER=${MY_PV}
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
HOMEPAGE="http://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_GOOG="https://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}
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
doc? (
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv libressl mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
# Common to both DEPEND and RDEPEND
CDEPEND="
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
sys-libs/zlib
pcre? ( dev-libs/libpcre )
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
emacs? ( virtual/emacs )
gnome-keyring? ( gnome-base/libgnome-keyring )"
RDEPEND="${CDEPEND}
gpg? ( app-crypt/gnupg )
mediawiki? (
dev-perl/HTML-Tree
dev-perl/MediaWiki-API
)
perl? ( dev-perl/Error
dev-perl/Net-SMTP-SSL
dev-perl/Authen-SASL
cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
)
python? ( gtk?
(
>=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
>=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
)
${PYTHON_DEPS} )"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
DEPEND="${CDEPEND}
doc? (
app-text/asciidoc
app-text/docbook2X
sys-apps/texinfo
app-text/xmlto
)
nls? ( sys-devel/gettext )
test? ( app-crypt/gnupg )"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
DEPEND="${DEPEND}
app-text/asciidoc"
fi
SITEFILE=50${PN}-gentoo.el
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
mediawiki? ( perl )
subversion? ( perl )
webdav? ( curl )
gtk? ( python )
python? ( ${PYTHON_REQUIRED_USE} )
"
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]"; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned."
fi
if use python ; then
python-single-r1_pkg_setup
fi
}
# This is needed because for some obscure reasons future calls to make don't
# pick up these exports if we export them in src_unpack()
exportmakeopts() {
local myopts
if use blksha1 ; then
myopts+=" BLK_SHA1=YesPlease"
elif use ppcsha1 ; then
myopts+=" PPC_SHA1=YesPlease"
fi
if use curl ; then
use webdav || myopts+=" NO_EXPAT=YesPlease"
else
myopts+=" NO_CURL=YesPlease"
fi
# broken assumptions, because of broken build system ...
myopts+=" NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
myopts+=" INSTALL=install TAR=tar"
myopts+=" SHELL_PATH=${EPREFIX}/bin/sh"
myopts+=" SANE_TOOL_PATH="
myopts+=" OLD_ICONV="
myopts+=" NO_EXTERNAL_GREP="
# For svn-fe
extlibs="-lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '')"
# can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
use iconv \
|| myopts+=" NO_ICONV=YesPlease"
use nls \
|| myopts+=" NO_GETTEXT=YesPlease"
use tk \
|| myopts+=" NO_TCLTK=YesPlease"
use pcre \
&& myopts+=" USE_LIBPCRE=yes" \
&& extlibs+=" -lpcre"
use perl \
&& myopts+=" INSTALLDIRS=vendor" \
|| myopts+=" NO_PERL=YesPlease"
use python \
|| myopts+=" NO_PYTHON=YesPlease"
use subversion \
|| myopts+=" NO_SVN_TESTS=YesPlease"
use threads \
&& myopts+=" THREADED_DELTA_SEARCH=YesPlease" \
|| myopts+=" NO_PTHREADS=YesPlease"
use cvs \
|| myopts+=" NO_CVS=YesPlease"
# Disabled until ~m68k-mint can be keyworded again
# if [[ ${CHOST} == *-mint* ]] ; then
# myopts+=" NO_MMAP=YesPlease"
# myopts+=" NO_IPV6=YesPlease"
# myopts+=" NO_STRLCPY=YesPlease"
# myopts+=" NO_MEMMEM=YesPlease"
# myopts+=" NO_MKDTEMP=YesPlease"
# myopts+=" NO_MKSTEMPS=YesPlease"
# fi
if [[ ${CHOST} == ia64-*-hpux* ]]; then
myopts+=" NO_NSEC=YesPlease"
fi
if [[ ${CHOST} == *-*-aix* ]]; then
myopts+=" NO_FNMATCH_CASEFOLD=YesPlease"
fi
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=" NEEDS_LIBICONV=YesPlease"
fi
has_version '>=app-text/asciidoc-8.0' \
&& myopts+=" ASCIIDOC8=YesPlease"
myopts+=" ASCIIDOC_NO_ROFF=YesPlease"
# Bug 290465:
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
[[ "${CHOST}" == *-uclibc* ]] && \
myopts+=" NO_NSEC=YesPlease"
export MY_MAKEOPTS="${myopts}"
export EXTLIBS="${extlibs}"
}
src_unpack() {
if [[ ${PV} != *9999 ]]; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}"
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
use doc && \
cd "${S}"/Documentation && \
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
cd "${S}"
else
git-2_src_unpack
cd "${S}"
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
# bug #350330 - automagic CVS when we don't want it is bad.
epatch "${FILESDIR}"/git-2.2.2-optional-cvs.patch
# install mediawiki perl modules also in vendor_dir
# hack, needs better upstream solution
epatch "${FILESDIR}"/git-1.8.5-mw-vendor.patch
epatch "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
# Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
epatch "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
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 contrib/svn-fe/Makefile || die "sed failed"
# Never install the private copy of Error.pm (bug #296310)
sed -i \
-e '/private-Error.pm/s,^,#,' \
perl/Makefile.PL
# Fix docbook2texi command
sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
Documentation/Makefile || die "sed failed"
# Fix git-subtree missing DESTDIR
sed -i \
-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
contrib/subtree/Makefile
}
git_emake() {
# bug #326625: PERL_PATH, PERL_MM_OPT
# bug #320647: PYTHON_PATH
PYTHON_PATH=""
use python && PYTHON_PATH="${PYTHON}"
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 \
PYTHON_PATH="${PYTHON_PATH}" \
PERL_MM_OPT="" \
GIT_TEST_OPTS="--no-color" \
V=1 \
"$@"
# This is the fix for bug #326625, but it also causes breakage, see bug
# #352693.
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
}
src_configure() {
exportmakeopts
}
src_compile() {
if use perl ; then
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
fi
git_emake || die "emake failed"
if use emacs ; then
elisp-compile contrib/emacs/git{,-blame}.el
fi
if use perl && use cgi ; then
git_emake \
gitweb \
|| die "emake gitweb (cgi) failed"
fi
if [[ ${CHOST} == *-darwin* ]]; then
cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
git_emake || die "emake credential-osxkeychain"
fi
cd "${S}"/Documentation
if [[ ${PV} == *9999 ]] ; then
git_emake man \
|| die "emake man failed"
if use doc ; then
git_emake info html \
|| die "emake info html failed"
fi
else
if use doc ; then
git_emake info \
|| die "emake info html failed"
fi
fi
if use subversion ; then
cd "${S}"/contrib/svn-fe
# by defining EXTLIBS we override the detection for libintl and
# libiconv, bug #516168
local nlsiconv=
use nls && use !elibc_glibc && nlsiconv+=" -lintl"
use iconv && use !elibc_glibc && nlsiconv+=" -liconv"
git_emake EXTLIBS="${EXTLIBS} ${nlsiconv}" || die "emake svn-fe failed"
if use doc ; then
git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
fi
cd "${S}"
fi
if use gnome-keyring ; then
cd "${S}"/contrib/credential/gnome-keyring
git_emake || die "emake git-credential-gnome-keyring failed"
fi
cd "${S}"/contrib/subtree
git_emake
use doc && git_emake doc
if use mediawiki ; then
cd "${S}"/contrib/mw-to-git
git_emake
fi
}
src_install() {
git_emake \
install || \
die "make install failed"
if [[ ${CHOST} == *-darwin* ]]; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
use doc && dodir /usr/share/doc/${PF}/html
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.txt
use doc && dohtml -p ${d} Documentation${d}*.html
done
docinto /
# Upstream does not ship this pre-built :-(
use doc && doinfo Documentation/{git,gitman}.info
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
if use emacs ; then
elisp-install ${PN} contrib/emacs/git.{el,elc}
elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
# don't add automatically to the load-path, so the sitefile
# can do a conditional loading
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
fi
if use python && use gtk ; then
python_doscript "${S}"/contrib/gitview/gitview
dodoc "${S}"/contrib/gitview/gitview.txt
fi
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
# git-subtree
cd "${S}"/contrib/subtree
git_emake install || die "Failed to emake install git-subtree"
if use doc ; then
git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
cd "${S}"
if use mediawiki ; then
cd "${S}"/contrib/mw-to-git
git_emake install
cd "${S}"
fi
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
# git-contacts
exeinto /usr/libexec/git-core/
doexe contrib/contacts/git-contacts
dodoc contrib/contacts/git-contacts.txt
if use gnome-keyring ; then
cd "${S}"/contrib/credential/gnome-keyring
dobin git-credential-gnome-keyring
fi
if use subversion ; then
cd "${S}"/contrib/svn-fe
dobin svn-fe
dodoc svn-fe.txt
use doc && doman svn-fe.1 && dohtml svn-fe.html
cd "${S}"
fi
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# credential/gnome-keyring TODO
# diff-highlight - done above
# emacs - installed above
# examples - these are stuff that is not used in Git anymore actually
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
# subtree - build seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
for i in \
buildsystems convert-objects fast-import \
hg-to-git hooks remotes2config.sh rerere-train.sh \
stats workdir \
; do
cp -rf \
"${S}"/contrib/${i} \
"${ED}"/usr/share/${PN}/contrib \
|| die "Failed contrib ${i}"
done
if use perl && use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
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
if ! use subversion ; then
rm -f "${ED}"/usr/libexec/git-core/git-svn \
"${ED}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if use !prefix ; then
newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
perl_delete_localpod
}
src_test() {
local disabled="" #t7004-tag.sh" #520270
local tests_cvs="t9200-git-cvsexportcommit.sh \
t9400-git-cvsserver-server.sh \
t9401-git-cvsserver-crlf.sh \
t9402-git-cvsserver-refs.sh \
t9600-cvsimport.sh \
t9601-cvsimport-vendor-branch.sh \
t9602-cvsimport-branches-tags.sh \
t9603-cvsimport-patchsets.sh \
t9604-cvsimport-timestamps.sh"
local tests_perl="t3701-add-interactive.sh \
t5502-quickfetch.sh \
t5512-ls-remote.sh \
t5520-pull.sh \
t7106-reset-unborn-branch.sh \
t7501-commit.sh"
# Bug #225601 - t0004 is not suitable for root perm
# Bug #219839 - t1004 is not suitable for root perm
# t0001-init.sh - check for init notices EPERM* fails
local tests_nonroot="t0001-init.sh \
t0004-unwritable.sh \
t0070-fundamental.sh \
t1004-read-tree-m-u-wf.sh \
t3700-add.sh \
t7300-clean.sh"
# t9100 still fails with symlinks in SVN 1.7
local test_svn="t9100-git-svn-basic.sh"
# Unzip is used only for the testcase code, not by any normal parts of Git.
if ! has_version app-arch/unzip ; then
einfo "Disabling tar-tree tests"
disabled="${disabled} t5000-tar-tree.sh"
fi
cvs=0
use cvs && let cvs=$cvs+1
if [[ ${EUID} -eq 0 ]]; then
if [[ $cvs -eq 1 ]]; then
ewarn "Skipping CVS tests because CVS does not work as root!"
ewarn "You should retest with FEATURES=userpriv!"
disabled="${disabled} ${tests_cvs}"
fi
einfo "Skipping other tests that require being non-root"
disabled="${disabled} ${tests_nonroot}"
else
[[ $cvs -gt 0 ]] && \
has_version dev-vcs/cvs && \
let cvs=$cvs+1
[[ $cvs -gt 1 ]] && \
has_version "dev-vcs/cvs[server]" && \
let cvs=$cvs+1
if [[ $cvs -lt 3 ]]; then
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
disabled="${disabled} ${tests_cvs}"
fi
fi
if ! use perl ; then
einfo "Disabling tests that need Perl"
disabled="${disabled} ${tests_perl}"
fi
einfo "Disabling tests that fail with SVN 1.7"
disabled="${disabled} ${test_svn}"
# Reset all previously disabled tests
cd "${S}/t"
for i in *.sh.DISABLED ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
done
einfo "Disabled tests:"
for i in ${disabled} ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
done
# Avoid the test system removing the results because we want them ourselves
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-i "${S}"/t/Makefile
# Clean old results first, must always run
cd "${S}/t"
nonfatal git_emake clean
# Now run the tests, keep going if we hit an error, and don't terminate on
# failure
cd "${S}"
einfo "Start test run"
#MAKEOPTS=-j1
nonfatal git_emake --keep-going test
rc=$?
# Display nice results, now print the results
cd "${S}/t"
nonfatal git_emake aggregate-results
# And bail if there was a problem
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
use emacs && elisp-site-regen
einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
einfo "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
einfo "Note that the prompt bash code is now in that separate script"
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
}
pkg_postrm() {
use emacs && elisp-site-regen
}