summaryrefslogtreecommitdiff
path: root/dev-vcs
diff options
context:
space:
mode:
Diffstat (limited to 'dev-vcs')
-rw-r--r--dev-vcs/archway/Manifest5
-rw-r--r--dev-vcs/archway/archway-0.2.1.ebuild29
-rw-r--r--dev-vcs/archway/metadata.xml5
-rw-r--r--dev-vcs/bfg/Manifest5
-rw-r--r--dev-vcs/bfg/bfg-1.12.15.ebuild31
-rw-r--r--dev-vcs/bfg/metadata.xml8
-rw-r--r--dev-vcs/bzr-explorer/Manifest5
-rw-r--r--dev-vcs/bzr-explorer/bzr-explorer-1.3.0-r1.ebuild33
-rw-r--r--dev-vcs/bzr-explorer/metadata.xml15
-rw-r--r--dev-vcs/bzr-fastimport/Manifest5
-rw-r--r--dev-vcs/bzr-fastimport/bzr-fastimport-0.13.0.ebuild33
-rw-r--r--dev-vcs/bzr-fastimport/metadata.xml11
-rw-r--r--dev-vcs/bzr-git/Manifest5
-rw-r--r--dev-vcs/bzr-git/bzr-git-0.6.8-r1.ebuild40
-rw-r--r--dev-vcs/bzr-git/metadata.xml5
-rw-r--r--dev-vcs/bzr-gtk/Manifest6
-rw-r--r--dev-vcs/bzr-gtk/bzr-gtk-0.104.0-r1.ebuild61
-rw-r--r--dev-vcs/bzr-gtk/files/credits.pickle193
-rw-r--r--dev-vcs/bzr-gtk/metadata.xml18
-rw-r--r--dev-vcs/bzr-rewrite/Manifest5
-rw-r--r--dev-vcs/bzr-rewrite/bzr-rewrite-0.6.3.ebuild21
-rw-r--r--dev-vcs/bzr-rewrite/metadata.xml8
-rw-r--r--dev-vcs/bzr-xmloutput/Manifest6
-rw-r--r--dev-vcs/bzr-xmloutput/bzr-xmloutput-0.8.8-r2.ebuild27
-rw-r--r--dev-vcs/bzr-xmloutput/files/bzr-xmloutput-0.8.8_remove-relative-imports.patch220
-rw-r--r--dev-vcs/bzr-xmloutput/metadata.xml8
-rw-r--r--dev-vcs/bzr/Manifest11
-rw-r--r--dev-vcs/bzr/bzr-2.5.1-r1.ebuild90
-rw-r--r--dev-vcs/bzr/bzr-2.6.0.ebuild93
-rw-r--r--dev-vcs/bzr/bzr-2.7.0.ebuild93
-rw-r--r--dev-vcs/bzr/files/bzr-2.4.2-no-pyrex-citon.patch33
-rw-r--r--dev-vcs/bzr/files/bzr-2.5.1-sphinx-test-failures.patch24
-rw-r--r--dev-vcs/bzr/metadata.xml19
-rw-r--r--dev-vcs/bzrtools/Manifest5
-rw-r--r--dev-vcs/bzrtools/bzrtools-2.5.ebuild27
-rw-r--r--dev-vcs/bzrtools/metadata.xml8
-rw-r--r--dev-vcs/colorcvs/Manifest7
-rw-r--r--dev-vcs/colorcvs/colorcvs-1.4-r1.ebuild43
-rw-r--r--dev-vcs/colorcvs/files/colorcvs-1.4-prefix.patch20
-rw-r--r--dev-vcs/colorcvs/files/colorcvs-profile.sh3
-rw-r--r--dev-vcs/colorcvs/metadata.xml8
-rw-r--r--dev-vcs/colorsvn/Manifest6
-rw-r--r--dev-vcs/colorsvn/colorsvn-0.3.3.ebuild45
-rw-r--r--dev-vcs/colorsvn/files/use-open2-not-open3.patch24
-rw-r--r--dev-vcs/colorsvn/metadata.xml9
-rw-r--r--dev-vcs/cssc/Manifest9
-rw-r--r--dev-vcs/cssc/cssc-1.4.0.ebuild51
-rw-r--r--dev-vcs/cssc/files/cssc-1.3.0-gcc47.patch10
-rw-r--r--dev-vcs/cssc/files/cssc-1.4.0-config.patch15
-rw-r--r--dev-vcs/cssc/files/cssc-1.4.0-m4.patch13
-rw-r--r--dev-vcs/cssc/files/cssc-1.4.0-test-large.patch14
-rw-r--r--dev-vcs/cssc/metadata.xml10
-rw-r--r--dev-vcs/cvs-fast-export/Manifest7
-rw-r--r--dev-vcs/cvs-fast-export/cvs-fast-export-1.26.ebuild39
-rw-r--r--dev-vcs/cvs-fast-export/cvs-fast-export-1.38.ebuild39
-rw-r--r--dev-vcs/cvs-fast-export/metadata.xml11
-rw-r--r--dev-vcs/cvs/Manifest28
-rw-r--r--dev-vcs/cvs/cvs-1.12.12-r11.ebuild100
-rw-r--r--dev-vcs/cvs/cvs-1.12.12-r12.ebuild96
-rw-r--r--dev-vcs/cvs/files/01-cvs-env.d1
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-CVE-2012-0804.patch30
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-CVE-2017-12836-commandinjection.patch22
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-block-requests.patch140
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-cvs-custom.c58
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-cvs-gnulib-vasnprintf.patch34
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-cvsbug-tmpfix.patch22
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-fix-massive-leak.patch52
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-format-security.patch22
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-getdelim.patch21
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-hash-nameclash.patch42
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-install-sh.patch12
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-mktime-configure.patch201
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-mktime-x32.patch29
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-musl.patch13
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-openat.patch21
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-rcs2log-coreutils.patch14
-rw-r--r--dev-vcs/cvs/files/cvs.pam-include-1.12.124
-rw-r--r--dev-vcs/cvs/files/cvspserver.xinetd.d14
-rw-r--r--dev-vcs/cvs/metadata.xml8
-rw-r--r--dev-vcs/cvs2cl/Manifest5
-rw-r--r--dev-vcs/cvs2cl/cvs2cl-2.71.ebuild29
-rw-r--r--dev-vcs/cvs2cl/metadata.xml5
-rw-r--r--dev-vcs/cvs2svn/Manifest5
-rw-r--r--dev-vcs/cvs2svn/cvs2svn-2.4.0-r1.ebuild58
-rw-r--r--dev-vcs/cvs2svn/metadata.xml10
-rw-r--r--dev-vcs/cvsd/Manifest8
-rw-r--r--dev-vcs/cvsd/cvsd-1.0.17.ebuild43
-rw-r--r--dev-vcs/cvsd/cvsd-1.0.7.ebuild43
-rw-r--r--dev-vcs/cvsd/files/cvsd.rc619
-rw-r--r--dev-vcs/cvsd/metadata.xml5
-rw-r--r--dev-vcs/cvsgraph/Manifest7
-rw-r--r--dev-vcs/cvsgraph/cvsgraph-1.6.1.ebuild40
-rw-r--r--dev-vcs/cvsgraph/cvsgraph-1.7.0.ebuild40
-rw-r--r--dev-vcs/cvsgraph/metadata.xml11
-rw-r--r--dev-vcs/cvsps/Manifest13
-rw-r--r--dev-vcs/cvsps/cvsps-2.1-r1.ebuild37
-rw-r--r--dev-vcs/cvsps/cvsps-2.2_beta1.ebuild37
-rw-r--r--dev-vcs/cvsps/cvsps-3.13-r1.ebuild38
-rw-r--r--dev-vcs/cvsps/files/cvsps-2.1-build.patch18
-rw-r--r--dev-vcs/cvsps/files/cvsps-2.1-solaris.patch131
-rw-r--r--dev-vcs/cvsps/files/cvsps-2.2_beta1-solaris.patch135
-rw-r--r--dev-vcs/cvsps/files/cvsps-3.13-make.patch52
-rw-r--r--dev-vcs/cvsps/metadata.xml11
-rw-r--r--dev-vcs/cvsq/Manifest5
-rw-r--r--dev-vcs/cvsq/cvsq-0.4.4.ebuild23
-rw-r--r--dev-vcs/cvsq/metadata.xml5
-rw-r--r--dev-vcs/cvsspam/Manifest6
-rw-r--r--dev-vcs/cvsspam/cvsspam-0.2.12.ebuild34
-rw-r--r--dev-vcs/cvsspam/files/cvsspam-0.2.12-svn.patch30
-rw-r--r--dev-vcs/cvsspam/metadata.xml5
-rw-r--r--dev-vcs/cvsutils/Manifest5
-rw-r--r--dev-vcs/cvsutils/cvsutils-0.2.5.ebuild19
-rw-r--r--dev-vcs/cvsutils/metadata.xml11
-rw-r--r--dev-vcs/cvsync/Manifest5
-rw-r--r--dev-vcs/cvsync/cvsync-2014.08.24.014706.ebuild81
-rw-r--r--dev-vcs/cvsync/cvsync-9999.ebuild81
-rw-r--r--dev-vcs/cvsync/metadata.xml16
-rw-r--r--dev-vcs/darcs/Manifest21
-rw-r--r--dev-vcs/darcs/darcs-2.10.1.ebuild98
-rw-r--r--dev-vcs/darcs/darcs-2.10.3-r1.ebuild103
-rw-r--r--dev-vcs/darcs/darcs-2.12.0.ebuild97
-rw-r--r--dev-vcs/darcs/darcs-2.12.4.ebuild92
-rw-r--r--dev-vcs/darcs/darcs-2.12.5.ebuild94
-rw-r--r--dev-vcs/darcs/darcs-2.8.4-r6.ebuild133
-rw-r--r--dev-vcs/darcs/files/darcs-2.12.4-ghc-8.0.2_rc1.patch9
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.4-fix-nonatomic-global.patch20
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch128
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-2.patch14
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.4-issue2364-part-2.patch52
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.4-issue2364.patch70
-rw-r--r--dev-vcs/darcs/metadata.xml14
-rw-r--r--dev-vcs/easygit/Manifest5
-rw-r--r--dev-vcs/easygit/easygit-1.6.5.5.ebuild22
-rw-r--r--dev-vcs/easygit/metadata.xml5
-rw-r--r--dev-vcs/fossil/Manifest11
-rw-r--r--dev-vcs/fossil/fossil-1.34.ebuild54
-rw-r--r--dev-vcs/fossil/fossil-1.35.ebuild52
-rw-r--r--dev-vcs/fossil/fossil-2.2.ebuild52
-rw-r--r--dev-vcs/fossil/fossil-2.3.ebuild55
-rw-r--r--dev-vcs/fossil/metadata.xml35
-rw-r--r--dev-vcs/giggle/Manifest7
-rw-r--r--dev-vcs/giggle/files/giggle-0.6.2-gtksourceview-3.8.0.patch24
-rw-r--r--dev-vcs/giggle/files/giggle-0.7-vte-2.91.patch57
-rw-r--r--dev-vcs/giggle/giggle-0.7-r2.ebuild46
-rw-r--r--dev-vcs/giggle/metadata.xml11
-rw-r--r--dev-vcs/git-annex/Manifest11
-rw-r--r--dev-vcs/git-annex/files/git-annex-5.20150731-no-strange-installs.patch9
-rw-r--r--dev-vcs/git-annex/files/git-annex-6.20160114-QC-2.8.2.patch16
-rw-r--r--dev-vcs/git-annex/files/git-annex-6.20161210-directory-1.3.patch9
-rw-r--r--dev-vcs/git-annex/files/git-annex-6.20170101-crypto-api.patch8
-rw-r--r--dev-vcs/git-annex/files/git-annex.bash19
-rw-r--r--dev-vcs/git-annex/files/git-annex.xpm47
-rw-r--r--dev-vcs/git-annex/git-annex-6.20170818.ebuild161
-rw-r--r--dev-vcs/git-annex/metadata.xml34
-rw-r--r--dev-vcs/git-bz/Manifest6
-rw-r--r--dev-vcs/git-bz/git-bz-0.2015.09.08.ebuild39
-rw-r--r--dev-vcs/git-bz/git-bz-9999.ebuild47
-rw-r--r--dev-vcs/git-bz/metadata.xml8
-rw-r--r--dev-vcs/git-bzr-ng/Manifest5
-rw-r--r--dev-vcs/git-bzr-ng/git-bzr-ng-0_pre20120822-r2.ebuild36
-rw-r--r--dev-vcs/git-bzr-ng/metadata.xml11
-rw-r--r--dev-vcs/git-cola/Manifest16
-rw-r--r--dev-vcs/git-cola/files/README.gentoo3
-rw-r--r--dev-vcs/git-cola/files/git-cola-2.10-disable-live-tests.patch24
-rw-r--r--dev-vcs/git-cola/files/git-cola-2.2.1-disable-live-tests.patch22
-rw-r--r--dev-vcs/git-cola/files/git-cola-2.2.1-update-git-config-in-tests.patch13
-rw-r--r--dev-vcs/git-cola/files/index.html15
-rw-r--r--dev-vcs/git-cola/git-cola-2.11.ebuild104
-rw-r--r--dev-vcs/git-cola/git-cola-2.2.1.ebuild97
-rw-r--r--dev-vcs/git-cola/git-cola-2.3.ebuild96
-rw-r--r--dev-vcs/git-cola/git-cola-2.4.ebuild96
-rw-r--r--dev-vcs/git-cola/metadata.xml11
-rw-r--r--dev-vcs/git-crypt/Manifest9
-rw-r--r--dev-vcs/git-crypt/git-crypt-0.3.ebuild20
-rw-r--r--dev-vcs/git-crypt/git-crypt-0.4.ebuild20
-rw-r--r--dev-vcs/git-crypt/git-crypt-0.5.0.ebuild20
-rw-r--r--dev-vcs/git-crypt/metadata.xml11
-rw-r--r--dev-vcs/git-deploy/Manifest5
-rw-r--r--dev-vcs/git-deploy/git-deploy-6.0.1_p20131024.ebuild67
-rw-r--r--dev-vcs/git-deploy/metadata.xml8
-rw-r--r--dev-vcs/git-deps/Manifest3
-rw-r--r--dev-vcs/git-deps/git-deps-9999.ebuild47
-rw-r--r--dev-vcs/git-deps/metadata.xml15
-rw-r--r--dev-vcs/git-flow/Manifest9
-rw-r--r--dev-vcs/git-flow/git-flow-1.10.2.ebuild39
-rw-r--r--dev-vcs/git-flow/git-flow-1.11.0.ebuild39
-rw-r--r--dev-vcs/git-flow/metadata.xml15
-rw-r--r--dev-vcs/git-imerge/Manifest5
-rw-r--r--dev-vcs/git-imerge/files/git-imerge.bashcomplete267
-rw-r--r--dev-vcs/git-imerge/git-imerge-1.0.0.ebuild45
-rw-r--r--dev-vcs/git-imerge/metadata.xml8
-rw-r--r--dev-vcs/git-lfs/Manifest10
-rw-r--r--dev-vcs/git-lfs/git-lfs-1.5.6.ebuild43
-rw-r--r--dev-vcs/git-lfs/git-lfs-2.1.1.ebuild47
-rw-r--r--dev-vcs/git-lfs/git-lfs-2.2.1.ebuild47
-rw-r--r--dev-vcs/git-lfs/git-lfs-2.3.1.ebuild47
-rw-r--r--dev-vcs/git-lfs/git-lfs-9999.ebuild47
-rw-r--r--dev-vcs/git-lfs/metadata.xml11
-rw-r--r--dev-vcs/git-mailz/Manifest7
-rw-r--r--dev-vcs/git-mailz/git-mailz-0.12.ebuild28
-rw-r--r--dev-vcs/git-mailz/git-mailz-0.14.ebuild28
-rw-r--r--dev-vcs/git-mailz/metadata.xml7
-rw-r--r--dev-vcs/git-mantle/Manifest5
-rw-r--r--dev-vcs/git-mantle/git-mantle-0.6.ebuild26
-rw-r--r--dev-vcs/git-mantle/metadata.xml7
-rw-r--r--dev-vcs/git-merge-changelog/Manifest7
-rw-r--r--dev-vcs/git-merge-changelog/git-merge-changelog-20140223.ebuild24
-rw-r--r--dev-vcs/git-merge-changelog/git-merge-changelog-20170131.ebuild25
-rw-r--r--dev-vcs/git-merge-changelog/metadata.xml7
-rw-r--r--dev-vcs/git-num/Manifest4
-rw-r--r--dev-vcs/git-num/git-num-2.0.1.ebuild36
-rw-r--r--dev-vcs/git-num/metadata.xml8
-rw-r--r--dev-vcs/git-pimp/Manifest5
-rw-r--r--dev-vcs/git-pimp/git-pimp-0.8.ebuild28
-rw-r--r--dev-vcs/git-pimp/metadata.xml7
-rw-r--r--dev-vcs/git-remote-hg/Manifest6
-rw-r--r--dev-vcs/git-remote-hg/git-remote-hg-0.2.ebuild24
-rw-r--r--dev-vcs/git-remote-hg/git-remote-hg-0.3.ebuild27
-rw-r--r--dev-vcs/git-remote-hg/metadata.xml16
-rw-r--r--dev-vcs/git-sh/Manifest5
-rw-r--r--dev-vcs/git-sh/git-sh-1.3-r1.ebuild24
-rw-r--r--dev-vcs/git-sh/metadata.xml8
-rw-r--r--dev-vcs/git-spindle/Manifest5
-rw-r--r--dev-vcs/git-spindle/git-spindle-3.3-r1.ebuild29
-rw-r--r--dev-vcs/git-spindle/git-spindle-3.3.ebuild26
-rw-r--r--dev-vcs/git-spindle/metadata.xml17
-rw-r--r--dev-vcs/git-tools/Manifest9
-rw-r--r--dev-vcs/git-tools/files/git-tools-2015_p20151225-py3.patch11
-rw-r--r--dev-vcs/git-tools/files/git-tools-2015_p20160201-pr21.patch27
-rw-r--r--dev-vcs/git-tools/git-tools-2015_p20151225-r2.ebuild48
-rw-r--r--dev-vcs/git-tools/git-tools-2015_p20160201-r1.ebuild51
-rw-r--r--dev-vcs/git-tools/git-tools-2015_p20160201.ebuild48
-rw-r--r--dev-vcs/git-tools/metadata.xml10
-rw-r--r--dev-vcs/git/Manifest37
-rw-r--r--dev-vcs/git/files/50git-gentoo.el13
-rw-r--r--dev-vcs/git/files/git-1.8.5-mw-vendor.patch39
-rw-r--r--dev-vcs/git/files/git-2.12.0-optional-cvs.patch456
-rw-r--r--dev-vcs/git/files/git-2.2.0-svn-fe-linking.patch11
-rw-r--r--dev-vcs/git/files/git-2.5.1-freebsd-10.x-no-iconv.patch14
-rw-r--r--dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch46
-rw-r--r--dev-vcs/git/files/git-2.7.0-mediawiki-namespaces.patch97
-rw-r--r--dev-vcs/git/files/git-2.7.0-mediawiki-subpages.patch48
-rw-r--r--dev-vcs/git/files/git-daemon-r1.initd12
-rw-r--r--dev-vcs/git/files/git-daemon.confd19
-rw-r--r--dev-vcs/git/files/git-daemon.socket9
-rw-r--r--dev-vcs/git/files/git-daemon.xinetd13
-rw-r--r--dev-vcs/git/files/git-daemon_at-r1.service12
-rw-r--r--dev-vcs/git/git-2.13.5.ebuild680
-rw-r--r--dev-vcs/git/git-2.13.6.ebuild680
-rw-r--r--dev-vcs/git/git-2.14.1.ebuild692
-rw-r--r--dev-vcs/git/git-2.14.2.ebuild699
-rw-r--r--dev-vcs/git/git-9999-r1.ebuild699
-rw-r--r--dev-vcs/git/git-9999-r2.ebuild699
-rw-r--r--dev-vcs/git/git-9999-r3.ebuild699
-rw-r--r--dev-vcs/git/git-9999.ebuild699
-rw-r--r--dev-vcs/git/metadata.xml40
-rw-r--r--dev-vcs/gitg/Manifest9
-rw-r--r--dev-vcs/gitg/gitg-3.22.0.ebuild84
-rw-r--r--dev-vcs/gitg/gitg-3.24.0.ebuild84
-rw-r--r--dev-vcs/gitg/gitg-3.26.0.ebuild84
-rw-r--r--dev-vcs/gitg/metadata.xml23
-rw-r--r--dev-vcs/github-pages-publish/Manifest5
-rw-r--r--dev-vcs/github-pages-publish/github-pages-publish-0.1.2.ebuild33
-rw-r--r--dev-vcs/github-pages-publish/metadata.xml20
-rw-r--r--dev-vcs/gitinspector/Manifest5
-rw-r--r--dev-vcs/gitinspector/gitinspector-0.4.4.ebuild42
-rw-r--r--dev-vcs/gitinspector/metadata.xml8
-rw-r--r--dev-vcs/gitolite-gentoo/Manifest36
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-2.3.1-r1.ebuild76
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-2.3.3-r1.ebuild76
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.5.3.1.ebuild90
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.1-r1.ebuild104
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.1.ebuild90
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.1.ebuild104
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.2.ebuild104
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.3.ebuild104
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.4.ebuild104
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.3.2.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.3.ebuild104
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.4.1-r1.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.4.1.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.4.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.5.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.6.1.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.6.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-9999.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/metadata.xml13
-rw-r--r--dev-vcs/gitolite/Manifest25
-rw-r--r--dev-vcs/gitolite/files/gitolite-3.6.6-fix-shebang.patch23
-rw-r--r--dev-vcs/gitolite/gitolite-2.3.1-r1.ebuild72
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.1.ebuild82
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.2-r1.ebuild95
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.2.ebuild82
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.3.ebuild96
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.4-r1.ebuild96
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.4.ebuild96
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.5.ebuild96
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.6.ebuild99
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.7.ebuild99
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.ebuild82
-rw-r--r--dev-vcs/gitolite/gitolite-9999.ebuild96
-rw-r--r--dev-vcs/gitolite/metadata.xml21
-rw-r--r--dev-vcs/gitsh/Manifest5
-rw-r--r--dev-vcs/gitsh/gitsh-0.11.2.ebuild65
-rw-r--r--dev-vcs/gitsh/metadata.xml8
-rw-r--r--dev-vcs/gitstats/Manifest10
-rw-r--r--dev-vcs/gitstats/files/gitstats-0_pre131024-filter-invalid-unicode.patch11
-rw-r--r--dev-vcs/gitstats/files/gitstats-0_pre20151223-grep-force-text.patch11
-rw-r--r--dev-vcs/gitstats/gitstats-0_pre131024.ebuild40
-rw-r--r--dev-vcs/gitstats/gitstats-0_pre20151223.ebuild54
-rw-r--r--dev-vcs/gitstats/gitstats-9999.ebuild53
-rw-r--r--dev-vcs/gitstats/metadata.xml19
-rw-r--r--dev-vcs/gti/Manifest4
-rw-r--r--dev-vcs/gti/gti-9999.ebuild34
-rw-r--r--dev-vcs/gti/metadata.xml5
-rw-r--r--dev-vcs/guilt/Manifest5
-rw-r--r--dev-vcs/guilt/guilt-0.36.ebuild50
-rw-r--r--dev-vcs/guilt/metadata.xml5
-rw-r--r--dev-vcs/hg-fast-export/Manifest5
-rw-r--r--dev-vcs/hg-fast-export/hg-fast-export-160914.ebuild40
-rw-r--r--dev-vcs/hg-fast-export/metadata.xml12
-rw-r--r--dev-vcs/hg-git/Manifest9
-rw-r--r--dev-vcs/hg-git/hg-git-0.8.5.ebuild25
-rw-r--r--dev-vcs/hg-git/hg-git-0.8.8.ebuild24
-rw-r--r--dev-vcs/hg-git/hg-git-0.8.9.ebuild24
-rw-r--r--dev-vcs/hg-git/metadata.xml11
-rw-r--r--dev-vcs/hgsubversion/Manifest8
-rw-r--r--dev-vcs/hgsubversion/hgsubversion-1.8.5.ebuild31
-rw-r--r--dev-vcs/hgsubversion/hgsubversion-1.8.6.ebuild31
-rw-r--r--dev-vcs/hgsubversion/hgsubversion-9999.ebuild27
-rw-r--r--dev-vcs/hgsubversion/metadata.xml9
-rw-r--r--dev-vcs/hgsvn/Manifest5
-rw-r--r--dev-vcs/hgsvn/hgsvn-0.2.3-r1.ebuild41
-rw-r--r--dev-vcs/hgsvn/metadata.xml9
-rw-r--r--dev-vcs/hgview/Manifest5
-rw-r--r--dev-vcs/hgview/hgview-1.9.0.ebuild60
-rw-r--r--dev-vcs/hgview/metadata.xml15
-rw-r--r--dev-vcs/hub/Manifest5
-rw-r--r--dev-vcs/hub/hub-2.2.9.ebuild46
-rw-r--r--dev-vcs/hub/metadata.xml15
-rw-r--r--dev-vcs/kdesvn/Manifest7
-rw-r--r--dev-vcs/kdesvn/files/kdesvn-2.0.0-deps.patch47
-rw-r--r--dev-vcs/kdesvn/files/kdesvn-2.0.0-desktop.patch21
-rw-r--r--dev-vcs/kdesvn/kdesvn-2.0.0.ebuild64
-rw-r--r--dev-vcs/kdesvn/metadata.xml11
-rw-r--r--dev-vcs/mercurial-server/Manifest6
-rw-r--r--dev-vcs/mercurial-server/mercurial-server-1.2-r1.ebuild82
-rw-r--r--dev-vcs/mercurial-server/mercurial-server-9999.ebuild82
-rw-r--r--dev-vcs/mercurial-server/metadata.xml13
-rw-r--r--dev-vcs/mercurial/Manifest17
-rw-r--r--dev-vcs/mercurial/files/70mercurial-gentoo.el3
-rw-r--r--dev-vcs/mercurial/files/cacerts.rc2
-rw-r--r--dev-vcs/mercurial/files/mercurial-3.0.1-po_fixes.patch40
-rw-r--r--dev-vcs/mercurial/mercurial-3.8.4.ebuild134
-rw-r--r--dev-vcs/mercurial/mercurial-4.1.3.ebuild134
-rw-r--r--dev-vcs/mercurial/mercurial-4.3.2.ebuild134
-rw-r--r--dev-vcs/mercurial/mercurial-4.3.3.ebuild134
-rw-r--r--dev-vcs/mercurial/mercurial-4.3.ebuild134
-rw-r--r--dev-vcs/mercurial/mercurial-9999.ebuild154
-rw-r--r--dev-vcs/mercurial/metadata.xml13
-rw-r--r--dev-vcs/metadata.xml13
-rw-r--r--dev-vcs/monotone/Manifest17
-rw-r--r--dev-vcs/monotone/files/hooks.lua4
-rw-r--r--dev-vcs/monotone/files/monotone-0.36.initd84
-rw-r--r--dev-vcs/monotone/files/monotone-1.0-bash-completion-tests.patch18
-rw-r--r--dev-vcs/monotone/files/monotone-1.0-boost-1.53.patch92
-rw-r--r--dev-vcs/monotone/files/monotone-1.0-botan-1.10-v2.patch644
-rw-r--r--dev-vcs/monotone/files/monotone-1.0-gcc6.patch64
-rw-r--r--dev-vcs/monotone/files/monotone-1.0-glibc-2.14-file-handle.patch166
-rw-r--r--dev-vcs/monotone/files/monotone-1.0-pcre3.patch26
-rw-r--r--dev-vcs/monotone/files/monotone-1.0-texinfo-5.1.patch625
-rw-r--r--dev-vcs/monotone/files/monotone.confd25
-rw-r--r--dev-vcs/monotone/files/read-permissions7
-rw-r--r--dev-vcs/monotone/files/write-permissions2
-rw-r--r--dev-vcs/monotone/metadata.xml15
-rw-r--r--dev-vcs/monotone/monotone-1.0-r4.ebuild116
-rw-r--r--dev-vcs/mr/Manifest6
-rw-r--r--dev-vcs/mr/metadata.xml30
-rw-r--r--dev-vcs/mr/mr-1.20170129.ebuild27
-rw-r--r--dev-vcs/mr/mr-1.99999999.ebuild30
-rw-r--r--dev-vcs/notify-webhook/Manifest5
-rw-r--r--dev-vcs/notify-webhook/metadata.xml17
-rw-r--r--dev-vcs/notify-webhook/notify-webhook-0.1.0.ebuild28
-rw-r--r--dev-vcs/pwclient/Manifest10
-rw-r--r--dev-vcs/pwclient/files/pwclient-20141110122616-0001-pwclient-handle-missing-.pwclientrc-better.patch45
-rw-r--r--dev-vcs/pwclient/files/pwclient-20141110122616-0002-pwclient-use-print_function-for-better-py3-compatibi.patch101
-rw-r--r--dev-vcs/pwclient/files/pwclient-20141110122616-0003-pwclient-basic-python3-support.patch125
-rw-r--r--dev-vcs/pwclient/metadata.xml7
-rw-r--r--dev-vcs/pwclient/pwclient-20121105131501.ebuild31
-rw-r--r--dev-vcs/pwclient/pwclient-20141110122616.ebuild44
-rw-r--r--dev-vcs/qbzr/Manifest5
-rw-r--r--dev-vcs/qbzr/metadata.xml8
-rw-r--r--dev-vcs/qbzr/qbzr-0.23.1.ebuild40
-rw-r--r--dev-vcs/qct/Manifest6
-rw-r--r--dev-vcs/qct/files/qct.rc3
-rw-r--r--dev-vcs/qct/metadata.xml22
-rw-r--r--dev-vcs/qct/qct-1.7-r2.ebuild71
-rw-r--r--dev-vcs/qgit/Manifest5
-rw-r--r--dev-vcs/qgit/metadata.xml11
-rw-r--r--dev-vcs/qgit/qgit-2.7.ebuild27
-rw-r--r--dev-vcs/qsvn/Manifest8
-rw-r--r--dev-vcs/qsvn/files/qsvn-0.8.3-gcc6.patch11
-rw-r--r--dev-vcs/qsvn/files/qsvn-0.8.3-static-lib.patch23
-rw-r--r--dev-vcs/qsvn/files/qsvn-0.8.3-tests.patch12
-rw-r--r--dev-vcs/qsvn/metadata.xml8
-rw-r--r--dev-vcs/qsvn/qsvn-0.8.3.ebuild33
-rw-r--r--dev-vcs/rabbitvcs/Manifest5
-rw-r--r--dev-vcs/rabbitvcs/metadata.xml22
-rw-r--r--dev-vcs/rabbitvcs/rabbitvcs-0.16-r1.ebuild101
-rw-r--r--dev-vcs/rapidsvn/Manifest10
-rw-r--r--dev-vcs/rapidsvn/files/rapidsvn-0.12.1-locale.patch23
-rw-r--r--dev-vcs/rapidsvn/files/rapidsvn-0.12.1-subversion1.9-private-api.patch129
-rw-r--r--dev-vcs/rapidsvn/files/rapidsvn-0.12.1-svncpp_link.patch12
-rw-r--r--dev-vcs/rapidsvn/files/rapidsvn-0.12.1-wx3.0.patch192
-rw-r--r--dev-vcs/rapidsvn/metadata.xml10
-rw-r--r--dev-vcs/rapidsvn/rapidsvn-0.12.1-r3.ebuild113
-rw-r--r--dev-vcs/rcs/Manifest9
-rw-r--r--dev-vcs/rcs/metadata.xml15
-rw-r--r--dev-vcs/rcs/rcs-5.8.2.ebuild35
-rw-r--r--dev-vcs/rcs/rcs-5.9.3.ebuild47
-rw-r--r--dev-vcs/rcs/rcs-5.9.4.ebuild47
-rw-r--r--dev-vcs/rcsi/Manifest5
-rw-r--r--dev-vcs/rcsi/metadata.xml7
-rw-r--r--dev-vcs/rcsi/rcsi-0.5.ebuild30
-rw-r--r--dev-vcs/rsvndump/Manifest5
-rw-r--r--dev-vcs/rsvndump/metadata.xml11
-rw-r--r--dev-vcs/rsvndump/rsvndump-0.6.ebuild35
-rw-r--r--dev-vcs/stgit/Manifest11
-rw-r--r--dev-vcs/stgit/files/stgit-0.16-asciidoc-compat.patch13
-rw-r--r--dev-vcs/stgit/files/stgit-0.16-man-linkfix.patch11
-rw-r--r--dev-vcs/stgit/metadata.xml17
-rw-r--r--dev-vcs/stgit/stgit-0.16-r2.ebuild76
-rw-r--r--dev-vcs/stgit/stgit-0.17.1-r2.ebuild86
-rw-r--r--dev-vcs/subversion/Manifest20
-rw-r--r--dev-vcs/subversion/files/47_mod_dav_svn.conf16
-rw-r--r--dev-vcs/subversion/files/70svn-gentoo.el13
-rw-r--r--dev-vcs/subversion/files/subversion-1.5.4-interix.patch114
-rw-r--r--dev-vcs/subversion/files/subversion-1.5.6-aix-dso.patch21
-rw-r--r--dev-vcs/subversion/files/subversion-1.8.0-hpux-dso.patch16
-rw-r--r--dev-vcs/subversion/files/subversion-1.8.1-revert_bdb6check.patch85
-rw-r--r--dev-vcs/subversion/files/subversion-1.8.16-javadoc-nolint.patch19
-rw-r--r--dev-vcs/subversion/files/subversion-1.8.5-swig-python-no-gnome-keyring.patch495
-rw-r--r--dev-vcs/subversion/files/subversion-fix-parallel-build-support-for-perl-bindings.patch11
-rw-r--r--dev-vcs/subversion/files/svnserve.confd10
-rw-r--r--dev-vcs/subversion/files/svnserve.initd320
-rw-r--r--dev-vcs/subversion/files/svnserve.xinetd14
-rw-r--r--dev-vcs/subversion/metadata.xml15
-rw-r--r--dev-vcs/subversion/subversion-1.8.18.ebuild509
-rw-r--r--dev-vcs/subversion/subversion-1.9.7.ebuild507
-rw-r--r--dev-vcs/svn2cl/Manifest6
-rw-r--r--dev-vcs/svn2cl/files/0.9-wrapper.patch20
-rw-r--r--dev-vcs/svn2cl/metadata.xml5
-rw-r--r--dev-vcs/svn2cl/svn2cl-0.12.ebuild38
-rw-r--r--dev-vcs/svn2git/Manifest10
-rw-r--r--dev-vcs/svn2git/files/svn2git-1.0.10-version.patch23
-rw-r--r--dev-vcs/svn2git/files/svn2git-1.0.2.1-include-path.patch13
-rw-r--r--dev-vcs/svn2git/metadata.xml11
-rw-r--r--dev-vcs/svn2git/svn2git-1.0.10.ebuild47
-rw-r--r--dev-vcs/svn2git/svn2git-1.0.11.ebuild46
-rw-r--r--dev-vcs/svn2git/svn2git-9999.ebuild46
-rw-r--r--dev-vcs/svneverever/Manifest7
-rw-r--r--dev-vcs/svneverever/metadata.xml11
-rw-r--r--dev-vcs/svneverever/svneverever-1.2.2-r1.ebuild19
-rw-r--r--dev-vcs/svneverever/svneverever-1.3.0.ebuild19
-rw-r--r--dev-vcs/svnmailer/Manifest5
-rw-r--r--dev-vcs/svnmailer/metadata.xml5
-rw-r--r--dev-vcs/svnmailer/svnmailer-1.0.9-r1.ebuild37
-rw-r--r--dev-vcs/tig/Manifest6
-rw-r--r--dev-vcs/tig/metadata.xml11
-rw-r--r--dev-vcs/tig/tig-2.2.2.ebuild56
-rw-r--r--dev-vcs/tig/tig-9999.ebuild56
-rw-r--r--dev-vcs/tkcvs/Manifest7
-rw-r--r--dev-vcs/tkcvs/metadata.xml8
-rw-r--r--dev-vcs/tkcvs/tkcvs-8.2.2.ebuild45
-rw-r--r--dev-vcs/tkcvs/tkcvs-8.2.3.ebuild43
-rw-r--r--dev-vcs/topgit/Manifest6
-rw-r--r--dev-vcs/topgit/metadata.xml8
-rw-r--r--dev-vcs/topgit/topgit-0.9-r1.ebuild33
-rw-r--r--dev-vcs/topgit/topgit-0.9.ebuild33
-rw-r--r--dev-vcs/tortoisehg/Manifest6
-rw-r--r--dev-vcs/tortoisehg/metadata.xml8
-rw-r--r--dev-vcs/tortoisehg/tortoisehg-4.3.1.ebuild80
-rw-r--r--dev-vcs/tortoisehg/tortoisehg-9999.ebuild75
-rw-r--r--dev-vcs/vcsh/Manifest5
-rw-r--r--dev-vcs/vcsh/metadata.xml11
-rw-r--r--dev-vcs/vcsh/vcsh-1.20151229.1.ebuild47
486 files changed, 26076 insertions, 0 deletions
diff --git a/dev-vcs/archway/Manifest b/dev-vcs/archway/Manifest
new file mode 100644
index 000000000000..7c57c3374e20
--- /dev/null
+++ b/dev-vcs/archway/Manifest
@@ -0,0 +1,5 @@
+DIST archway-0.2.1.tar.gz 384389 SHA256 66ce7be2bb5697aac1d060834fcc0419718d99473cbcd472272e98ce8125775b SHA512 52a9a5c3ced55dd50e996c75b7973c0d8e57a1b4f2094c8be598f8cb6f4b291c7d6c8ad79b447a32aa0a4f73263d65409d9b0c8ea8ef505e71e73d03fbb92a7d WHIRLPOOL a1a6c330ef15854ee1728ec90270bf10455181fa11c3a48440c681b6c910a8d493d9b7c30e12959d4a2b3f71900d62041937932d73aa4fecf6e0a1ed6e9abfd5
+EBUILD archway-0.2.1.ebuild 646 SHA256 8fe9c6182912551dcbace988a32b598e7d69eade182f37f50761c0c19689f6ab SHA512 0dd7ebff47e518dc9c4e477fc149646b85c430d859bba6c5c1b4a493cbcdda4f5264489916b68a656dcb873e6dc935f3cb3edc4cc7afb2c197305daada1c476c WHIRLPOOL 863bd01fe88c11db65d008d4d34a282e64e1cdd051f7398426093f0cfa0a154227475ab3399313a181b5246c284f40491459b6f28de1803f3a162b5b1557d5e0
+MISC ChangeLog 2627 SHA256 6e8adf317fab1687a99b898c004958ad7a4629473c8fe9b2957f65dfec9c5a8b SHA512 c356a7ab9a4db4440cc05dd76f15ffe987ae1e467f7db248870d6bd7460cb7d95b409e4f8c9cfdf2abf33c4b013b1605ffc7931f2651bf5259772c99815bd4c2 WHIRLPOOL 0f317bb40f04b6a51028361f1603c5153dee7bb34d6496cc9841fb8905c8cc70e6ab4a67df25b6a0fbd370d6d4893b85f8f594b296f4a753da8c925ccfa78ab3
+MISC ChangeLog-2015 1813 SHA256 619a9d8a441b2daeb5f2e833a72dadf82ff16dee05d273e58f25d598366d8fd0 SHA512 1cb0c7d23334e8da17e4fc3cad7f390a686b76cc419a75ac644d1fbc18eeb12ab420e6754698ee02ec78bbd0e3134e14c6db491814f740f81907c0765495f6b4 WHIRLPOOL e0b6a0c6cb6ff8c8e8bf8faf6e6ba8758b9bbb1ab58a6f9dd983a670c4f5470d36fe0e7c2fb743dc5d9f9c0ef39045d78a83935a420bd2bca4e1fae92f652dcd
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/dev-vcs/archway/archway-0.2.1.ebuild b/dev-vcs/archway/archway-0.2.1.ebuild
new file mode 100644
index 000000000000..3b5bdcd11259
--- /dev/null
+++ b/dev-vcs/archway/archway-0.2.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=3
+inherit eutils
+
+DESCRIPTION="A GUI for GNU Arch"
+HOMEPAGE="http://www.nongnu.org/archway/"
+SRC_URI="https://savannah.nongnu.org/download/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+#"ArchWay requires gtk-2.4 and gtk2-perl." -$HOMEPAGE
+#DEPEND=">=dev-util/tla-1.1
+# >=dev-lang/perl-5.8.0
+# >=dev-perl/Gtk2-1.040
+# >=dev-perl/glib-perl-1.040
+# >=x11-libs/gtk+-2.4.0"
+
+DEPEND=""
+RDEPEND="x11-libs/gtk+:2
+ >=dev-perl/Gtk2-1.040"
+
+src_install() {
+ emake DESTDIR="${D}" prefix=/usr install || die
+}
diff --git a/dev-vcs/archway/metadata.xml b/dev-vcs/archway/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/dev-vcs/archway/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-vcs/bfg/Manifest b/dev-vcs/bfg/Manifest
new file mode 100644
index 000000000000..0dafde952f36
--- /dev/null
+++ b/dev-vcs/bfg/Manifest
@@ -0,0 +1,5 @@
+DIST bfg-1.12.15.jar 14814817 SHA256 330af214a0fed320c591afc1046b0f31e8a438f290da09672973aeaa6411b09d SHA512 79a74a534c1d7fcf0b1505b1e5286234cb5b33e7fe4f2ee1b72c1d6d591257f172a76ca56374d6eadd797a60316ae68da115929e7cb667a44a8c772f8cd8cff4 WHIRLPOOL 8ef074dff78da8fd8c496f17b52e59e767e8cf7af1bbdbcfbe51189701b6b5f86080f6a73317fe4984ed08e10a6acef7b455b30184ac253bd9677762f4f376bd
+EBUILD bfg-1.12.15.ebuild 628 SHA256 4feb22b93d9c7e23efa95eb2e47bd337ef3f50e15ab43fd51a191d42f7d299a7 SHA512 41dbb3be0e028e431600c6ef3c24f69ab86f6829bfa7c12d2acd40edab1d4d06a899f73b38e8ca90c2fc31b13e7f7caa6819c174672e24b586965d26001e63b5 WHIRLPOOL a09b909fc15d02be3e8ec9edba8cfce2430476958408f827666945e9912bacd0eaef42f0d761e8344f5308075977d8a8f44a125f9d02a38266ca724264d56f8e
+MISC ChangeLog 3572 SHA256 fffd680d9f7f0e3eca9e30af8f78a88e123d543a619bae3cae90c103a0cc69da SHA512 5f56d519710977f268823f248e2e769a8c26fd4e8ec545620d9fec8ad073a77cc5dee444423920e9f4ba20edc45bdf8d16bbe560706bfac1f8e674ccf9416795 WHIRLPOOL e7ca1703c61e2b76664b49cb265bad24902d6dc823ff2250abe80ef596952c96ac39da4f2f7e1ebe8e6158a974e3b93678b42d451d044feb0c6819b41daeecea
+MISC ChangeLog-2015 1496 SHA256 0043805aba66cd40a207c0fd63992dad526138e4e28974c10aea42b8d90f8a58 SHA512 997cf03967d9dc1884677c9ccd9c1c68f21e0a6fadb2de2b022c09fddaa5429f1f39e83e92e5831e32f8d1ca06f7d89aa11a9cfa645fd78f342ff976490ff85e WHIRLPOOL 3be3541f14d79f440ba8670e0b2f9d882ca2f17990797a465245c9c36d3028dfe0af5871b0e78ed9c614111aaf19ea452abca4f2140b5bffce6ad91c789c62f0
+MISC metadata.xml 246 SHA256 92d5540a2f0904365eafb8ce96e6320cfc14e08f22e124d721521ef77ddbf6f6 SHA512 ca07e0609b698c2b53062b71008fee49b91af78fc2ef25997311e37985d79283d333f5b842257a16e7dee36ce34c07d405e1f93742f341f10ca70904e9f9a4e6 WHIRLPOOL d15a33750d6ada278082c675223992c98cccf98af92ec04ab5b908816381ab6965714988fac87a795265973c6fb81a588a08c385ac6fb66046d14d119e0c236c
diff --git a/dev-vcs/bfg/bfg-1.12.15.ebuild b/dev-vcs/bfg/bfg-1.12.15.ebuild
new file mode 100644
index 000000000000..126e1dab5497
--- /dev/null
+++ b/dev-vcs/bfg/bfg-1.12.15.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit java-pkg-2
+
+DESCRIPTION="a faster alternative to git-filter-branch for removing bad data from git repos"
+HOMEPAGE="https://rtyley.github.io/bfg-repo-cleaner/"
+SRC_URI="https://repo1.maven.org/maven2/com/madgag/${PN}/${PV}/${P}.jar"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=">=virtual/jre-1.6"
+
+S=${WORKDIR}
+
+src_prepare() {
+ default
+ java-pkg-2_src_prepare
+}
+
+src_unpack() { :; }
+src_compile() { :; }
+
+src_install() {
+ java-pkg_newjar "${DISTDIR}"/${P}.jar
+ java-pkg_dolauncher ${PN}
+}
diff --git a/dev-vcs/bfg/metadata.xml b/dev-vcs/bfg/metadata.xml
new file mode 100644
index 000000000000..78e64a5cf1ad
--- /dev/null
+++ b/dev-vcs/bfg/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/bzr-explorer/Manifest b/dev-vcs/bzr-explorer/Manifest
new file mode 100644
index 000000000000..2b43ddb3c34c
--- /dev/null
+++ b/dev-vcs/bzr-explorer/Manifest
@@ -0,0 +1,5 @@
+DIST bzr-explorer-1.3.0.tar.gz 1469939 SHA256 e3584df263a5004765a224cc38d00449e0ad47495070edae59ecbcc4dac94086 SHA512 60cf3e70e5a4e19de3816619646ac0445a7847bc48c640712bd1042fce0cce5964de13e6ad5e1e65b85c9d596f073571ec918c8132c77d7348bc34e1e318b156 WHIRLPOOL b64dada7af2bf7502c7ce7d4d16174ffdb97596789b50b3026631da52d595f491cff930da034aaffa6dab938606f3a8a8312fef30f3070f1a6d59541d56ebc32
+EBUILD bzr-explorer-1.3.0-r1.ebuild 707 SHA256 c53c52bab5dc32adbf499c7ff5f1125f0c6c5a741fdab000dd2f40e97442d5d2 SHA512 4eff61f78facf7bc03cd159d3709a3039eed8f460b95a5569eb2aa0b9856960545d7c06e598081881c59aef92ccaa728a3fb23cd40fe0085dd5c3a3df8aa6084 WHIRLPOOL b19805af49b1c2cc770653595e7c35653c1f301859012bae153d625e599fb04233a48b63dc03be440fbb04f55d92a4f4603e313cf71059428137b97e8be9dafb
+MISC ChangeLog 2722 SHA256 c01aa7ac08c4bed1790bfb907628c73e615964bd9899605c60d6cb2c7cefcb6a SHA512 77f69db02ec934e807d1d578b7d93cdff72e21124ea589763416dd9c3851ccfe5790004b57ae658178ed6cc353c8751279ab24563a7b9b8a8052a2d75d695c39 WHIRLPOOL 707bd49e59502fa42696bb137237321183cb3f09ea8a6e7f568584e7aa5fd27072118c8fa51a6858d5a3bad233a9213920f9f18488b9587faff3e2db2c8cf0b4
+MISC ChangeLog-2015 3614 SHA256 5c3f7edebf661a5a00dcba128e960415f8a8ab898a8f37187f237dd07df9c064 SHA512 efff1c31cd609f21c1732f72df572790b74f84f000575a473acc0a1622ce398f3b2cf96e814626a932c5037be2635197bd00092d03f361a1be9b7b65c52626ba WHIRLPOOL 8fb658ec31501c5408d8788bd2313770663cb9cb5a15292958085e089c1c85933f76bd7e38cacafd97102920a972c14e22fc46b405865418a76e1ec82f98de75
+MISC metadata.xml 639 SHA256 765255caaf80e0a8c2822cc1396f1cb6ba9c4da8a590fe8b623a59d38117e626 SHA512 32e86027370c500b6ac57b0d5c6e249d240b9751d3f3042e4ce6911a35a2258bcdead9ad4899ecd614c03604d97d95fe7b4206d71d43cfb74aebd8cc958ae96f WHIRLPOOL c1c11e1d86ad3673336074298a70862896fb0b328696991e510827d20fd6c6456b3545826418757b60ea63ea8768d55f47c4c29416a6e096277517db11d86ab1
diff --git a/dev-vcs/bzr-explorer/bzr-explorer-1.3.0-r1.ebuild b/dev-vcs/bzr-explorer/bzr-explorer-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..28febb69679e
--- /dev/null
+++ b/dev-vcs/bzr-explorer/bzr-explorer-1.3.0-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+MY_PV=${PV/_beta/b}
+MY_PV=${MY_PV/_rc/rc}
+LPV=${MY_PV}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="A high level interface to all commonly used Bazaar features"
+HOMEPAGE="https://launchpad.net/bzr-explorer"
+SRC_URI="https://launchpad.net/${PN}/1.3/${LPV}/+download/${MY_P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+
+KEYWORDS="amd64 x86"
+IUSE="gtk"
+
+DEPEND=""
+RDEPEND=">=dev-vcs/bzr-2.5[${PYTHON_USEDEP}]
+ >=dev-vcs/qbzr-0.23[${PYTHON_USEDEP}]
+ gtk? ( dev-vcs/bzr-gtk[${PYTHON_USEDEP}] )"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
diff --git a/dev-vcs/bzr-explorer/metadata.xml b/dev-vcs/bzr-explorer/metadata.xml
new file mode 100644
index 000000000000..d82f54c8b35e
--- /dev/null
+++ b/dev-vcs/bzr-explorer/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ Bazaar Explorer is a desktop application for using the Bazaar
+ Version Control System. It provides a high level interface to all
+ commonly used features, launching "applets" from the QBzr plug-in
+ to provide most of the functionality. Alternatively, the applets
+ from the bzr-gtk plug-in can be used if it is installed.
+ </longdescription>
+ <upstream>
+ <remote-id type="launchpad">bzr-explorer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/bzr-fastimport/Manifest b/dev-vcs/bzr-fastimport/Manifest
new file mode 100644
index 000000000000..6c9b8b6d6ef6
--- /dev/null
+++ b/dev-vcs/bzr-fastimport/Manifest
@@ -0,0 +1,5 @@
+DIST bzr-fastimport-0.13.0.tar.gz 80255 SHA256 5e296dc4ff8e9bf1b6447e81fef41e1217656b43368ee4056a1f024221e009eb SHA512 3677a6ebb9d5d36d7d29198f239289a9670ac4f1fcbf74a1f219f8a0a5a9cd4301dbdc969c4bce2da18e3c4f7f9a3752919b662473071a7b3f1d84c2de27d821 WHIRLPOOL be69b7541b2d2bdf7a85278997096a4113ef97aee59d6c25deddd89e8b5e406590f033eb1457946c3aa9f3f2aca16df6c2bf590b7d67f9ba6cf4ed33c72f2c56
+EBUILD bzr-fastimport-0.13.0.ebuild 940 SHA256 e566315a17b99f2f3afd543c3c85edbe8b6d3826c2f0422cf69a277765d1e6c4 SHA512 9ab833f2674452aeae6dc23038fd840a144333ec161cc4cdb77ab5dff39c58e28648c168e5123323b06dfd4af936285e679604c18f6275f49c6fc3fc2bdeb47d WHIRLPOOL 76d8e13f83756f247fcb162e7cca73918b104542d3862c4e7512505933208d2838557a492053934b4ca6f4bbf32077c6912de08a6ee64e27d0630aece01a31db
+MISC ChangeLog 2633 SHA256 cec2abcd0139b61ed15845e34692ce70834c7259740d45ee023a89ad801f3a9a SHA512 8829ed7e1f2bcc21fece3d074ef33a9b31b502532a404f76f4df01715fbbff919dc8a9254f1eb608f4e58d02658738941d3b55a4114b97c75a3477d3937bf9b2 WHIRLPOOL b49ea91cbfaef63462e1ba42d7bca47ce61325e62ec9750ea76ca68140402e0477b2225d5f40a8bff88f8ec8d9dc76b25a1e23e3954b3a33a9e866a10e8907c1
+MISC ChangeLog-2015 1707 SHA256 79811712c1311a7b67eb504127f8268ac7d36fca479452fa5167f0124a539863 SHA512 5bb9a44b028e6e831f367df53ae9f1b911c9d9ce4470032bcf86bae69a9840926d4158fe187f6d71c5f4a5f94a707b1fd03756167a4e564cd7e63084d372fab4 WHIRLPOOL ec13e8375650a7efa2ae06ef6b0410437f560105f24dd788ea86449ef392429a24886ab03fa0c59321ce118c1e5b1ac70106f3959aa130c4023fcf68e7a8070a
+MISC metadata.xml 338 SHA256 29c082601d0d1b9db0542a73be3b386ace357861cf9af43e7e43a45540aa1ec4 SHA512 cfed4479a1c41e44e23041249173e5df87844ce570ba3470582c8fffb2322d2162df4ccc18c704483e2e4782f1018bdf82b9ed2b22fd828752193d90cf24707a WHIRLPOOL 8d793f0f4e05e7abb76ed8dbee34894bf187eba8bead4e3eb0e012dd5320775982471234edeac84cce7acd626286a82e33be45075a2cae59fdbb2bc5ed4b7c40
diff --git a/dev-vcs/bzr-fastimport/bzr-fastimport-0.13.0.ebuild b/dev-vcs/bzr-fastimport/bzr-fastimport-0.13.0.ebuild
new file mode 100644
index 000000000000..586ab53eb4b1
--- /dev/null
+++ b/dev-vcs/bzr-fastimport/bzr-fastimport-0.13.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Plugin providing fast loading of revision control data into Bazaar"
+HOMEPAGE="https://launchpad.net/bzr-fastimport http://wiki.bazaar.canonical.com/BzrFastImport"
+SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=">=dev-vcs/bzr-1.18
+ >=dev-python/python-fastimport-0.9"
+DEPEND=""
+
+DOCS=( NEWS README.txt doc/notes.txt )
+
+pkg_postinst() {
+ elog "These commands need additional dependencies:"
+ elog
+ elog "bzr fast-export-from-darcs: dev-vcs/darcs"
+ elog "bzr fast-export-from-git: dev-vcs/git"
+ elog "bzr fast-export-from-hg: dev-vcs/mercurial"
+ elog "bzr fast-export-from-mtn: dev-vcs/monotone"
+ elog "bzr fast-export-from-svn: dev-vcs/subversion[python]"
+}
diff --git a/dev-vcs/bzr-fastimport/metadata.xml b/dev-vcs/bzr-fastimport/metadata.xml
new file mode 100644
index 000000000000..abfc836ea53c
--- /dev/null
+++ b/dev-vcs/bzr-fastimport/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tetromino@gentoo.org</email>
+ <name>Alexandre Rostovtsev</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">bzr-fastimport</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/bzr-git/Manifest b/dev-vcs/bzr-git/Manifest
new file mode 100644
index 000000000000..2126c0a12f42
--- /dev/null
+++ b/dev-vcs/bzr-git/Manifest
@@ -0,0 +1,5 @@
+DIST bzr-git-0.6.8.tar.gz 117453 SHA256 b157db228717900d109990df349c656d2297803a20f88edb8280f2e9d73bfc27 SHA512 23bd236bdd8bed53a691be03ae0e22bef804e164d4d0ec3760e2ee49d2b83d9cdff64207f33b6e7f088b7d94f7b14249948befb653f3391096210056ebe613cf WHIRLPOOL 9c0d21707a5f556abc685adc987f6777abc21f5339ec0120fa339e60c905ac579c84817b80f4dc7f5170242088c26ca4b6f9eefcfaa7dfbd2252d2efac0927aa
+EBUILD bzr-git-0.6.8-r1.ebuild 894 SHA256 39fa9e1243c7ba2c4d45908d7019175240ae88068baebc62e87fe485e4c453c1 SHA512 2bde5a118939e2ef260980fcfe2bf430d6b561a97d94c2bddfa957b888d1af6ba8794ce0d5783d9388652f9bb7ecfc61768016fd9937608dd69208b6faa96992 WHIRLPOOL 6efb5e283a7b4f8b6fd6a1141f570579046751acfa1675cbe4ed81fd60f0f5e4e6a0f1585d373466b78faad2bc393fd1e311c776902dc73811129f17d19490b6
+MISC ChangeLog 2484 SHA256 88532fe85f625b566da4a35a87be715065ce047ecdc402492b247226bcbc03eb SHA512 15bde889eef9f9c41489c7c9dcdd49f2a3a3b338de82b0cf0eb3b58c30d33e9644dc6e57267a443b72deb22d2f956aae1a49b76d683c017ab51c5363d3f342c1 WHIRLPOOL 31c2b761ce7681691ca9492d5794f6ad442fd0bd35802a07ac7a742713048889f8897e8463a4d43c748db11a1eb9105d9fc9e11ffefa08eb2270ca8251bc99f4
+MISC ChangeLog-2015 2585 SHA256 93ae4de3cde26f6aacce5142d9f744f5567099bb25996c05b87d3e408c461ba8 SHA512 7c70f29cf0acd7ed101b153aebd922fd28d4453feffd123b8701c68b6fa1e1919f1613a4e446deddb71935e4ccf4e3d32297a30ada7c524c5dfbe70298413e03 WHIRLPOOL 9aa15c48a6d8a3143d336f34748c0aa41bb64091136d84ba4804e6a7f3819683947a91ecf0ef934563b4883530c525099556674a2cccecaacbb80b4e230e01b9
+MISC metadata.xml 168 SHA256 9f5073e4f4682efd1d4fda14feb67df188972340a55fa9e06ee82b66e24f8cc8 SHA512 00eec08786156434460f5ed77b647579546cf1a86341a4f2c9c9c84326468c2c21dc5101c4277103b19266bb6f788823f4ddf3b9d044da26326d79bf2ac9a274 WHIRLPOOL 3ec0b2fcfb36e82c8f9dd8877875a38095bc9b11aff96d69a7919ee610efe27f65318c974161f6ba135150ad361a8c108938841c3d48c42f5a92d1762858d898
diff --git a/dev-vcs/bzr-git/bzr-git-0.6.8-r1.ebuild b/dev-vcs/bzr-git/bzr-git-0.6.8-r1.ebuild
new file mode 100644
index 000000000000..d8e7bf340eaf
--- /dev/null
+++ b/dev-vcs/bzr-git/bzr-git-0.6.8-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+DESCRIPTION="Support for Git branches in Bazaar"
+HOMEPAGE="http://bazaar-vcs.org/BzrForeignBranches/Git"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+
+if [[ ${PV} = 9999 ]]; then
+ inherit bzr
+ EBZR_REPO_URI="lp:bzr-git"
+ KEYWORDS="amd64 x86"
+else
+ SRC_URI="http://samba.org/~jelmer/bzr/${P}.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+IUSE=""
+# Test are broken, they want API functions from Dulwich which are not
+# installed in Gentoo
+RESTRICT="test"
+
+# Check info.py for dulwich and bzr version dependency info.
+# The file should be fairly straightforward to understand.
+DEPEND=""
+RDEPEND=">=dev-python/dulwich-0.8.2[${PYTHON_USEDEP}]
+ >=dev-vcs/bzr-2.5.0[${PYTHON_USEDEP}]"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
diff --git a/dev-vcs/bzr-git/metadata.xml b/dev-vcs/bzr-git/metadata.xml
new file mode 100644
index 000000000000..1b2becffa26c
--- /dev/null
+++ b/dev-vcs/bzr-git/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-vcs/bzr-gtk/Manifest b/dev-vcs/bzr-gtk/Manifest
new file mode 100644
index 000000000000..f9c768e62e3e
--- /dev/null
+++ b/dev-vcs/bzr-gtk/Manifest
@@ -0,0 +1,6 @@
+AUX credits.pickle 3540 SHA256 eac484f4bcdff0cd26e46c6af3112b71612f26021497076df99cc2ebb5577238 SHA512 9d308f4e870436a56049c6a4963ac6d4d366b0f6c5367990d940daa3ea900f601a2d8aaa03084f1ca7ad3f826a358b15295ca97753ea98c2b295be508eb5e100 WHIRLPOOL f96f896dfb52fc209fce149d1c917eecbb51d8365ade9a82451a1b7f1919fc2f91e904bc9c636f11f1786f68e1851e024fe6e8963c04b80f37a91aa3fe0a1172
+DIST bzr-gtk-0.104.0.tar.gz 218863 SHA256 c6d378d5111ca3483de7c54ffd9f6c7264407f567c9556e76e802b9c55ff419b SHA512 d39a1303570dd7504cad9211f3b1c86d3e6f022535c262b7b5f7b19899b362ff7b01d9f19e557cb4391d7ccf1470635ebc5d5380d2d5216b6610c4e8e1b7b6a3 WHIRLPOOL 26f611122ba3a08cc281a9d8490ed53dedad5a64d13567518ea1697285fe6f1eaa331847f928b5ac91cb35e7deef0c7bef0f9f38eddb5f3abc8dec67a3f9772d
+EBUILD bzr-gtk-0.104.0-r1.ebuild 1470 SHA256 f51e040062559c915c38c45f9f935cb469f674362ba29f28c1729f42465adce8 SHA512 1f6891ec28932a54060de3ccca6cdbc053038dd876ed55d41995546a5f4e09f56d5851624e1abd9780eaf6157cfb0a1891d3e5beb9289127fa6118f9301de873 WHIRLPOOL 56b149bc1e45e689425d84ea1ffc7fbf0e1860f6f9071632ea39e456e0a9c0e5a9b5d7edb96a1d97cff8164fe854953e3c17061036e806dd069d906044c38994
+MISC ChangeLog 2804 SHA256 d37a2fc670bf7d94565fc5822c42497bb7e31470a28f8448c08f0d04e2b8037b SHA512 282cf777731df6ff2127b8e30067ed95cf7ece29a723c6641179feb8ed935dff744f8a8f3f10d5fb10c362216927ba6db36fa5ef02753e4c2cc2ceff24f855f1 WHIRLPOOL 4dab4dd778fe909142b749edf528601351877265080551b146468f774a75ef842862141ca5bcc639ee98e3b9d7c15367907a91b01e0adf133689cecd869b308c
+MISC ChangeLog-2015 3323 SHA256 60f943c6bff678fadd37a4685aa83b81341fd5145623e10ecb35fc9b166172ad SHA512 e8eb05ea5256f97d776b3fa9cc0ccceb4477d809486fb0b4bc529c9c5edfa9df16d670094a4c1b65b09f6b606eb906fa0d5dcb430cfdc3eee23c93f899deb75a WHIRLPOOL ae0b305496a2cf3e7068e5737edc4c656378366c3a1cb2272997850215a0bc7734d3978175b3be8ec7db4da9ca93a6f7265074bc7a4f13a7854c971fe7d7695c
+MISC metadata.xml 676 SHA256 4b2e904685c3723c8fa126bd3f06f910ab9c88df8205900400af4848b9c644ae SHA512 ff938ff9e51e7534691fc41ae8f6d35ced9dbf55af2305992aaea6607a57dd1a65fa614d52fac52b2a8d2295a75142c19073889ab13e568b62a5ca077af21f76 WHIRLPOOL c855d89eebc564e23feb0172cd64e0516c049561669a175425d5dfd88cdc53218de884d8141e199ec3498bc809b705a87e58fbba0e7b89700f5167310b9648d3
diff --git a/dev-vcs/bzr-gtk/bzr-gtk-0.104.0-r1.ebuild b/dev-vcs/bzr-gtk/bzr-gtk-0.104.0-r1.ebuild
new file mode 100644
index 000000000000..be54ead86506
--- /dev/null
+++ b/dev-vcs/bzr-gtk/bzr-gtk-0.104.0-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="/${P/_rc/rc}"
+
+DESCRIPTION="A GTK+ interfaces to most Bazaar operations"
+HOMEPAGE="http://bazaar-vcs.org/bzr-gtk"
+SRC_URI="https://launchpad.net/${PN}/gtk3/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gnome-keyring gpg nautilus"
+
+DEPEND=">=dev-vcs/bzr-1.6_rc1[${PYTHON_USEDEP}]
+ dev-python/pygobject[${PYTHON_USEDEP}]
+ dev-python/notify-python[${PYTHON_USEDEP}]
+ >=dev-python/pycairo-1.0[${PYTHON_USEDEP}]
+ nautilus? (
+ >=dev-python/nautilus-python-1.0[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ )"
+RDEPEND="${DEPEND}
+ nautilus? ( >=dev-python/nautilus-python-1.0[${PYTHON_USEDEP}] )
+ dev-python/notify-python[${PYTHON_USEDEP}]
+ gnome-keyring? ( dev-python/gnome-keyring-python[${PYTHON_USEDEP}] )
+ gpg? ( app-crypt/seahorse )"
+
+S="${WORKDIR}/${MY_P}"
+
+#TODO: src_test
+
+python_prepare_all() {
+ cp "${FILESDIR}"/credits.pickle "${S}"/credits.pickle || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ if ! use nautilus; then
+ # automagic dep
+ rm -rf "${D%/}"/usr/$(get_libdir)/nautilus/ || die
+ rm -rf "${D%/}"$(python_get_sitedir)/bzrlib/plugins/gtk/nautilus-bzr.py* || die
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /etc/xdg/autostart
+ doins bzr-notify.desktop
+}
diff --git a/dev-vcs/bzr-gtk/files/credits.pickle b/dev-vcs/bzr-gtk/files/credits.pickle
new file mode 100644
index 000000000000..fc0e9deceaec
--- /dev/null
+++ b/dev-vcs/bzr-gtk/files/credits.pickle
@@ -0,0 +1,193 @@
+((lp0
+VJelmer Vernooij <jelmer@samba.org>
+p1
+aVDaniel Schierbeck <daniel.schierbeck@gmail.com>
+p2
+aVSzilveszter Farkas (Phanatic) <Szilveszter.Farkas@gmail.com>
+p3
+aVGary van der Merwe <garyvdm@gmail.com>
+p4
+aVJasper Groenewegen <colbrac@xs4all.nl>
+p5
+aVVincent Ladeuil <v.ladeuil+lp@free.fr>
+p6
+aVJohn Arbash Meinel <john@arbash-meinel.com>
+p7
+aVAaron Bentley <abentley@panoramicfeedback.com>
+p8
+aVAaron Bentley <aaron@aaronbentley.com>
+p9
+aVAlexander Belchenko <bialix@ukr.net>
+p10
+aVDavid Allouche <david.allouche@canonical.com>
+p11
+aVDan Loda <danloda@gmail.com>
+p12
+aVAaron Bentley <aaron.bentley@utoronto.ca>
+p13
+aVScott James Remnant <scott@netsplit.com>
+p14
+aVScott Scriven <ubuntu@toykeeper.net>
+p15
+aVMateusz Korniak <matkor@laptop-hp>
+p16
+aVRobert Collins <robertc@robertcollins.net>
+p17
+aVSzilveszter Farkas (Phanatic) <szilveszter.farkas@gmail.com>
+p18
+aVMartin Albisetti <argentina@gmail.com>
+p19
+aVSabin Iacob (m0n5t3r) <iacobs@m0n5t3r.info>
+p20
+aVJavier Derderian <javierder@gmail.com>
+p21
+aVjbailey@ubuntu.com
+p22
+aVGary van der Merwe <garyvdm@garyvdm-desktop>
+p23
+aVRichard Ferguson <ubuntu@fergusnet.com>
+p24
+aVMartin Pool <mbp@canonical.com>
+p25
+aVElliot Murphy <elliot@elliotmurphy.com>
+p26
+aVAdeodato Simó <dato@net.com.org.es>
+p27
+aVv.ladeuil+lp@free.fr
+p28
+aVSzilveszter Farkas <szilveszter.farkas@gmail.com>
+p29
+aVWouter van Heyst <larstiq@larstiq.dyndns.org>
+p30
+aVTorsten Landschoff <torsten@debian.org>
+p31
+aVJamie Wilkinson <jaq@spacepants.org>
+p32
+aVGediminas Paulauskas <menesis@pov.lt>
+p33
+aVAli Sabil <ali.sabil@gmail.com>
+p34
+aVAdrian Wilkins <adrian.wilkins@gmail.com>
+p35
+aVMichael Ellerman <michael@ellerman.id.au>
+p36
+aVMateusz Korniak (matkor@laptop-hp)
+p37
+aVJelmer Vernooij <Jelmer Vernooij@LENOVO-C29B82CD>
+p38
+aVFarkas Szilveszter <szilveszter@szilveszter-desktop>
+p39
+aVDaniel Schömer <daniel.schoemer@gmx.net>
+p40
+aVChris Lamb <chris@chris-lamb.co.uk>
+p41
+aVChad MILLER <chad@mysql.com>
+p42
+aVrodney.dawes@canonical.com
+p43
+aVmatkor <matkor@laptop-hp>
+p44
+aVklight@walkertechnical.com
+p45
+aVklight <klight@X111>
+p46
+aVVincent Geddes <vincent.geddes@gmail.com>
+p47
+aVToshio Kuratomi <toshio@fedoraproject.org>
+p48
+aVTom Badran <tom@badrunner.net>
+p49
+aVSzilveszter Farkas <szilveszter@MacBookPro.local>
+p50
+aVStéphane Raimbault <stephane.raimbault@gmail.com>
+p51
+aVScott James Remnant <scott@ubuntu.com>
+p52
+aVRuss Brown <pickscrape@gmail.com>
+p53
+aVRichard Ferguson <fergus@fergusnet.com>
+p54
+aVRene Huber <rhuber@ubuntu>
+p55
+aVPelle Johansson <pelle@blocket.se>
+p56
+aVMichael Vogt <michael.vogt@ubuntu.com>
+p57
+aVMathias Brodala <info@noctus.net>
+p58
+aVMarkus Korn <thekorn@gmx.de>
+p59
+aVMario Danic <mario.danic@gmail.com>
+p60
+aVLucas Shrewsbury <rollbak@gmail.com>
+p61
+aVKevin Light <klight@walkertechnical.com>
+p62
+aVJohn Szakmeister <john@szakmeister.net>
+p63
+aVJean-François Fortin Tam <jeff@ecchi.ca>
+p64
+aVJasper Groenewegen <colbrac@xs4al.nl>
+p65
+aVJames Westby <jw+debian@jameswestby.net>
+p66
+aVJames Henstridge <james@jamesh.id.au>
+p67
+aVErik Bagfors <erik@bagfors.nu>
+p68
+aVDennis Miller <millerdl@telusplanet.net>
+p69
+aVAndrew Starr-Bochicchio <a.starr.b@gmail.com>
+p70
+aVAndrew Bennetts <andrew@puzzling.org>
+p71
+aVAlexandre Défossez <alexandre.defossez@gmail.com>
+p72
+aVAdrian Room <ingolemo@gmail.com>
+p73
+a(lp74
+g1
+ag3
+ag6
+ag2
+ag12
+ag4
+ag27
+ag50
+ag29
+ag15
+ag14
+ag66
+ag44
+ag22
+ag49
+aVSense Hofstede <qense@ubuntu.com>
+p75
+ag52
+ag53
+ag17
+ag16
+ag25
+ag19
+ag61
+aVKiddo <nekohayo@gmail.com>
+p76
+ag62
+ag63
+ag38
+ag5
+ag23
+ag11
+ag8
+a(lp77
+g3
+ag2
+ag19
+ag61
+ag1
+a(lp78
+g3
+ag18
+ag51
+atp79
+. \ No newline at end of file
diff --git a/dev-vcs/bzr-gtk/metadata.xml b/dev-vcs/bzr-gtk/metadata.xml
new file mode 100644
index 000000000000..d167356cecbd
--- /dev/null
+++ b/dev-vcs/bzr-gtk/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ GTK+ Frontends to various Bazaar commands. Currently contains
+ dialogs for almost all common operations, including annotate and
+ visualise (log). Olive, the integrated version control application
+ is also part of bzr-gtk.
+ </longdescription>
+ <use>
+ <flag name="gpg">Support signing with GnuPG.</flag>
+ <flag name="nautilus">Integrate with Nautilus file manager</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">bzr-gtk</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/bzr-rewrite/Manifest b/dev-vcs/bzr-rewrite/Manifest
new file mode 100644
index 000000000000..13e8c145dd5c
--- /dev/null
+++ b/dev-vcs/bzr-rewrite/Manifest
@@ -0,0 +1,5 @@
+DIST bzr-rewrite-0.6.3.tar.gz 33045 SHA256 f4d0032a41a549a0bc3ac4248cd4599da859174ea33e56befcb095dd2c930794 SHA512 f1a55307e80090dcc3739e4b111e08b02e4c4ec07ed479a5ac28d2d40535a699492eba785c142d8f6396032ed9db143d86dc68dac5280c071b79a9818ac69250 WHIRLPOOL 7c27030e94ae0f57449fc77d226c385d8956965c693e2e24e1b431043021b30a519857ca9db3d0018ac93081cafd3908221b0dcd526753dee2d7d79922927115
+EBUILD bzr-rewrite-0.6.3.ebuild 542 SHA256 5152eb627c12fe422e91ccc51d7925cdb646f24a61545eab80d0007c9a5701ec SHA512 274383dc5e7c5a6a3660a2662068d17b8da4f9717c1e3443eebb87edc7f6082f649d666147617e6ad1f126f5a036773caffc0d4ea8520693c4658d18f86b6860 WHIRLPOOL 6ee61e1cf64b1a8d092abbc0ac00ead8876b3038a089f48aa45f674850f14fe71150ac70469f0f7152550783f762b9571633426ae1cecd9e22c4ec2c0e974bbe
+MISC ChangeLog 2618 SHA256 c8a1737d8bef646099245332712422acb98805ebbe4ab3d8a76d01fc6393dce9 SHA512 6928e4078a5ef42afcbe59c3aba3ba8f1bd092e2b68b24e8921e7fe84800a8ce9eeeb2e4a3940e7541c012b38a5c4b3f1d5f9a1fe01c7e1d44ba45604b77307c WHIRLPOOL 1af8a6babf30017463eea7346b7a7d6b467901ab66e09b85ba6f19d4e2a9cbec7f796f7c48e81a4c8d7c128ab02fff3b603f283284b9e681c7e83ce7dc57fbbf
+MISC ChangeLog-2015 2986 SHA256 ae35a751b7af29c1c88660adbceb920c01ba2100efa0a4083cf09de0aff122df SHA512 7910d86bfa647a6e52fd4feaa373912ba7103c31eca324ccf4628d026edaab715802eac38e9c2f6b207945fa4f91133eca95529855015ef6fc4caf3cb50a4281 WHIRLPOOL 0d674650f378fd70ac625b6e1851011615354aebd3f39b8cd3ccf94dbab8d0ab79fc5479a7209dbe244d92dd4535b3a2c2bef87f0063c0e56d1d386ebc0e3371
+MISC metadata.xml 251 SHA256 db20bea09768b953590b9bc05368df77a2fa40fa528a4061f348b4dde16959d6 SHA512 f05104f73a09c8e5501ef51ebb48acab3419ee56dbe8ba3a5a49be40ab77e952149f7e78f289773870ea5fd41c1ec82e72dd4ce4dd2a8e4264b7272cdd134488 WHIRLPOOL 819015eb5951438ee90ea030ed22fa74b815e9d41e73a141c8f7c13832fe0adf9c6b9fdd883b93332e97b6facb0a2802fef9e73699f2313cb97af48cd4963986
diff --git a/dev-vcs/bzr-rewrite/bzr-rewrite-0.6.3.ebuild b/dev-vcs/bzr-rewrite/bzr-rewrite-0.6.3.ebuild
new file mode 100644
index 000000000000..5265e66774c8
--- /dev/null
+++ b/dev-vcs/bzr-rewrite/bzr-rewrite-0.6.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Bazaar plugin that adds support for rebasing, similar to the functionality in git"
+HOMEPAGE="https://launchpad.net/bzr-rewrite"
+SRC_URI="https://launchpad.net/bzr-rewrite/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 x86"
+IUSE=""
+
+DEPEND=">=dev-vcs/bzr-2.5.0
+ !dev-vcs/bzr-rebase"
+RDEPEND="${DEPEND}
+ !<dev-vcs/bzr-svn-0.6"
diff --git a/dev-vcs/bzr-rewrite/metadata.xml b/dev-vcs/bzr-rewrite/metadata.xml
new file mode 100644
index 000000000000..eab9b5225d5f
--- /dev/null
+++ b/dev-vcs/bzr-rewrite/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="launchpad">bzr-rewrite</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/bzr-xmloutput/Manifest b/dev-vcs/bzr-xmloutput/Manifest
new file mode 100644
index 000000000000..caa39ef3e7b6
--- /dev/null
+++ b/dev-vcs/bzr-xmloutput/Manifest
@@ -0,0 +1,6 @@
+AUX bzr-xmloutput-0.8.8_remove-relative-imports.patch 5175 SHA256 96c8187bd4bd266a808763ff0232c3bdada7169e434f7f023b90bcf38f9b8b29 SHA512 209b3e4df0123a85a34d9b1f3cb2706fe61ab3bf779011cb16cabcc92245204c06d5be6ab16def6389fadb882b8ff8da5b0551baba988354ef95a777fff355b7 WHIRLPOOL d744faa1593f138d101a2e566ffe073df2a8b7da7fc97ebc6dbc6da589c08ced875074beb3bfd9b3642a5543364dfe3efa3f1179fe1a1f6dc4c9bca4a3af4e02
+DIST bzr-xmloutput-0.8.8.tar.gz 49969 SHA256 73b9b2f6ce4d9910031df7fd153d56d14f833c20a106f099bee5a33463f73b36 SHA512 9eb87ba86dd45b7132eca69ef6e52726d7ee2d9211cc3052655e40f5cee2b99e160336c347ddce7ad912c0027e8b6a05ca542f70733d2e3493922cfa311b38ef WHIRLPOOL e07a08cd0738524207e7ab8d6c645b86d087391fb06d1e0ecf08cfbe78e6f6a1e730af41f4e2dea9e197e7c7f0de69cf6494ab1f906919febb86e06b490fe4e2
+EBUILD bzr-xmloutput-0.8.8-r2.ebuild 616 SHA256 9d7cc60a3d4b9bdb58dd9ddfb0d198322105ebd49b7de188fa80a9576f542282 SHA512 64f7abad38c25b0d089f2b47825fe15a67927c788a3aa041b6dce66327bbde275c89c68e75dd52ad7a4aebb3396c57add248c2ee7fcf450b025cfbdfc42ff93b WHIRLPOOL 1418cb64ede85d621c054efeaa87f23f330554b8c9b00d8ebc1ac37f7ec0cfe49fe235d6f6b0ccb8a9107dfef13b0a9a0d38f0946d05e9a0197f604bf67ae4d3
+MISC ChangeLog 2798 SHA256 95351a61dee1f49ac5072a0f5ad7778aeb1673b6bdf6e5036fa31602f00f00b8 SHA512 67ad2dc6f1e88d464ec2a2706212f47282f8d15943a3d771ca27c864a4c9a740c6f1ba628a386f111039afa98b1e4b7221e8083188c6b4d192878a85715c31e6 WHIRLPOOL 4d8b916b49326620f0fe86b8d99b22cce592a7fa41c60e0d3aa91f2ec443691992be195400a5e9d4ac7fc8e33870e8097a3b1c768675f9bd3ca2cd319a098479
+MISC ChangeLog-2015 2755 SHA256 b6ab123213489184c8c251b59d5dbddb9c4875cf98fbfb4707ca74f8ab688af1 SHA512 3a3e14f6550ae38842cc28b6d3c84e5efaeedb503fc80314c8e92a5dddedc459af9a5cf0341d1f3739775a9a88414096cd18a71af8727b384da373d7627182d1 WHIRLPOOL 672ceb850e76010a58d827ff9e143c4b88be68dfe1d8adcb89e4b93c180e370a550bd84982828fd7e63b9bb012d483e82256c52269375fc6e20c4c14055fba83
+MISC metadata.xml 253 SHA256 47c52ada355aa79d7c7c84294917cf39cde5ab6348b60297f0381091dee5db66 SHA512 4fed0d9c18fc0528aaa734f5d16a7e1a36f582fb4b82365d8515301b04389b98431dfb61868c1e69a50b5cf8b5e19e73cd0facdb3ead5eef094eb24cda3ddbb3 WHIRLPOOL 94a7ddf3bc854425380e233d1a5d39711cec6252c1fb5096c914b6e4eff426db5bf2bf9a1cba7fa7ff5f229b9fe39cd8ef384e5c3faa936a31248d210c518ca9
diff --git a/dev-vcs/bzr-xmloutput/bzr-xmloutput-0.8.8-r2.ebuild b/dev-vcs/bzr-xmloutput/bzr-xmloutput-0.8.8-r2.ebuild
new file mode 100644
index 000000000000..a724c30907c0
--- /dev/null
+++ b/dev-vcs/bzr-xmloutput/bzr-xmloutput-0.8.8-r2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+DESCRIPTION="A Bazaar plugin that provides a option to generate XML output forbuiltin commands."
+HOMEPAGE="http://bazaar-vcs.org/XMLOutput"
+SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="dev-vcs/bzr[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}"/${P}_remove-relative-imports.patch )
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
diff --git a/dev-vcs/bzr-xmloutput/files/bzr-xmloutput-0.8.8_remove-relative-imports.patch b/dev-vcs/bzr-xmloutput/files/bzr-xmloutput-0.8.8_remove-relative-imports.patch
new file mode 100644
index 000000000000..b21eef05d2ad
--- /dev/null
+++ b/dev-vcs/bzr-xmloutput/files/bzr-xmloutput-0.8.8_remove-relative-imports.patch
@@ -0,0 +1,220 @@
+revno: 160 [merge]
+author: Jelmer Vernooij <jelmer@samba.org>
+committer: Guillermo Gonzalez <guillo.gonzo@gmail.com>
+branch nick: trunk
+timestamp: Mon 2011-12-19 18:45:35 -0300
+message:
+ Removes the use of relative imports and avoids using lazy_import in a few places we're it doesn't make a difference.
+
+Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=418969
+Upstream bug: https://bugs.launchpad.net/bzr-xmloutput/+bug/955329
+Commit: http://bazaar.launchpad.net/~verterok/bzr-xmloutput/trunk/revision/160
+
+--- cmds.py 2011-03-09 23:19:41 +0000
++++ cmds.py 2011-12-12 15:11:38 +0000
+@@ -22,36 +22,39 @@
+
+ import info
+ import bzrlib
++from bzrlib.option import Option
++from bzrlib.commands import (
++ Command,
++ display_command,
++ )
+ from bzrlib.lazy_import import lazy_import
+ lazy_import(globals(), """
+ import sys
+ from bzrlib import (
+ builtins,
+ bzrdir,
+- commands,
+- option,
+ log,
+ workingtree,
+ errors
+ )
+
+-from bzrlib.option import Option, custom_help
+-from bzrlib.commands import display_command
+-import logxml
+-import service
++from bzrlib.plugins.xmloutput import (
++ logxml,
++ service,
++ )
+ import socket
+-from xml_errors import handle_error_xml
+ """)
+
++from bzrlib.plugins.xmloutput.xml_errors import handle_error_xml
+
+ version_info = info.bzr_plugin_version
+ plugin_name = info.bzr_plugin_name
+
+-null_option = option.Option('null',
+- help='Write an ascii NUL (\\0) as the final char.')
+-
+-
+-class cmd_xmlstatus(commands.Command):
++null_option = Option('null',
++ help='Write an ascii NUL (\\0) as the final char.')
++
++
++class cmd_xmlstatus(Command):
+ """Display status summary.
+
+ This reports on versioned and unknown files, reporting them
+@@ -118,7 +121,7 @@
+ self.outf.write('\n')
+
+
+-class cmd_xmlannotate(commands.Command):
++class cmd_xmlannotate(Command):
+ """Show the origin of each line in a file.
+
+ This prints out the given file with an annotation on the left side
+@@ -176,7 +179,7 @@
+ branch.unlock()
+
+
+-class cmd_xmlmissing(commands.Command):
++class cmd_xmlmissing(Command):
+ """Show unmerged/unpulled revisions between two branches.
+
+ OTHER_BRANCH may be local or remote.
+@@ -212,7 +215,7 @@
+ self.outf.write('\n')
+
+
+-class cmd_xmlinfo(commands.Command):
++class cmd_xmlinfo(Command):
+ """Show information about a working tree, branch or repository.
+
+ This command will show all known locations and formats associated to the
+@@ -247,7 +250,7 @@
+ self.outf.write('\n')
+
+
+-class cmd_xmlplugins(commands.Command):
++class cmd_xmlplugins(Command):
+ """List the installed plugins.
+
+ This command displays the list of installed plugins including
+@@ -284,7 +287,7 @@
+ self.outf.write('\n')
+
+
+-class cmd_xmlversion(commands.Command):
++class cmd_xmlversion(Command):
+ """Show version of bzr."""
+ hidden = True
+ encoding_type = 'replace'
+@@ -383,7 +386,7 @@
+ self.outf.write('\0')
+ self.outf.write('\n')
+
+-class cmd_start_xmlrpc(commands.Command):
++class cmd_start_xmlrpc(Command):
+ """Start the xmlrpc service."""
+
+ hidden = True
+@@ -413,7 +416,7 @@
+ self.server.shutdown()
+
+
+-class cmd_stop_xmlrpc(commands.Command):
++class cmd_stop_xmlrpc(Command):
+ """Stops a xmlrpc service."""
+
+ hidden = True
+
+--- infoxml.py 2009-07-28 03:43:56 +0000
++++ infoxml.py 2011-12-12 15:11:38 +0000
+@@ -27,6 +27,7 @@
+
+ __all__ = ['show_bzrdir_info_xml']
+
++from bzrlib import info
+ from bzrlib.lazy_import import lazy_import
+ lazy_import(globals(), """
+ import os, sys, time
+@@ -36,7 +37,6 @@
+ errors,
+ osutils,
+ urlutils,
+- info,
+ missing,
+ )
+ """)
+
+--- logxml.py 2010-12-15 18:27:12 +0000
++++ logxml.py 2011-12-12 15:11:38 +0000
+@@ -1,14 +1,12 @@
+ # -*- encoding: utf-8 -*-
+
+-import os
+-
++from bzrlib import log
+ from bzrlib.lazy_import import lazy_import
+ lazy_import(globals(), """
+ import bzrlib
+ from bzrlib import (
+ debug,
+ osutils,
+- log,
+ )
+ """)
+
+
+--- lsxml.py 2011-03-09 23:41:22 +0000
++++ lsxml.py 2011-12-12 15:11:38 +0000
+@@ -19,8 +19,6 @@
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ #
+
+-import os
+-
+ from bzrlib.lazy_import import lazy_import
+ lazy_import(globals(), """
+ from bzrlib import bzrdir, errors, osutils
+
+--- service.py 2010-02-23 23:38:02 +0000
++++ service.py 2011-12-12 15:11:38 +0000
+@@ -20,6 +20,8 @@
+ #
+ """ xmlrpc service module """
+
++import os
++
+ from bzrlib.lazy_import import lazy_import
+ lazy_import(globals(), """
+ import bzrlib
+@@ -30,14 +32,13 @@
+ osutils
+ )
+ import sys
+-import os
+ import codecs
+ import logging
+ import traceback
+ from cStringIO import StringIO
+ """)
+
+-from xml_errors import XMLError
++from bzrlib.plugins.xmloutput.xml_errors import XMLError
+ from xmlrpclib import Fault, Binary
+ from SimpleXMLRPCServer import SimpleXMLRPCServer
+
+
+--- statusxml.py 2010-12-15 18:27:12 +0000
++++ statusxml.py 2011-12-12 15:11:38 +0000
+@@ -33,7 +33,7 @@
+ trace,
+ )
+
+-import logxml
++from bzrlib.plugins.xmloutput import logxml
+ """)
+
+ from writer import _escape_cdata
+
diff --git a/dev-vcs/bzr-xmloutput/metadata.xml b/dev-vcs/bzr-xmloutput/metadata.xml
new file mode 100644
index 000000000000..1cdf0a3530fa
--- /dev/null
+++ b/dev-vcs/bzr-xmloutput/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="launchpad">bzr-xmloutput</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/bzr/Manifest b/dev-vcs/bzr/Manifest
new file mode 100644
index 000000000000..a3f51fee483b
--- /dev/null
+++ b/dev-vcs/bzr/Manifest
@@ -0,0 +1,11 @@
+AUX bzr-2.4.2-no-pyrex-citon.patch 1203 SHA256 fa3ba0fa833eeeafe748fcf4241acdba39a124116acd522b49381b4efd520c24 SHA512 e71eacf2881260739c2104ca30db16ff51d30ce9971b9887a1d9730f8bf020a33300079acb1e644e5d092cdc1c890956551e581d447ff2493a92e9645899b08e WHIRLPOOL 34fd923f224920d5c1408163f3b315be964b5feba3c69493d70e281a1a4b18ed78249e82a8905496a4dfce5c48282c151cbdafe1971b05343106c54836542823
+AUX bzr-2.5.1-sphinx-test-failures.patch 1028 SHA256 bdf64835ac62acbd7099923d347c9c50697d72b4e42b16d6184f111e48f20ec7 SHA512 2b5738b36c8b83c238fcb51f20d9a96589f848d4c2c56a4975e615e8cdc3dcbbe8457f426d67293ef0a45d22cc4172e69ca8155e114c83b00237eea2c5048749 WHIRLPOOL 38ee6e8c4fa1e9235fa602d97aa9a2d8e70d03262799ffff6e8727daeb5195481ad1578a8c5797d6434ee186ad311df267eb137307af108bce5806c0957751ce
+DIST bzr-2.5.1.tar.gz 10451513 SHA256 967346fa6cc52971a8dfd5171ec22e1928cf455fb4317013b05b0915ff927982 SHA512 40700d0f4f61bb1609d85772812249114c9e7af619143aafec97163617cb58828e63bda22abf576704848b479463bb85c0b2dc7e5bb49108f48fa397c7bfe85c WHIRLPOOL 34e90eb01e49840bc2eedba6a664fe936ecc6fcc75e3f350a21a2d868609672984182e50f4f3f127da2e7e8b6dbf229aca587fc8dfe1522cf9bbe1d5c9272288
+DIST bzr-2.6.0.tar.gz 11301124 SHA256 0994797182eb828867eee81cccc79480bd2946c99304266bc427b902cf91dab0 SHA512 f40d4380a837321c2ed168d15b0b5d31e9de6df93c0f8f2fd9b16c9351524b0afac5b8744740f587e9704efeb4cc004cae7f35aed47f73b5c796cbe2526af980 WHIRLPOOL a20f45bebb480e0d9d2052373b671ca32f39f52ef3a04800a5d0662248347cbde8a37d24dbaccc6809a7a046646d10bb62ab392302a3dfe983afca0479ce242e
+DIST bzr-2.7.0.tar.gz 11586410 SHA256 0d451227b705a0dd21d8408353fe7e44d3a5069e6c4c26e5f146f1314b8fdab3 SHA512 c39ad3715d865788da74d8de8b469e1dc93d18b6cbcbc569464cdeb9bb2173bf8d7f4f8ee8f7599fbcbbe322817a4c72e785d544e622753699c425c32597d9aa WHIRLPOOL 1058a7a09d1ca3c588c7f06b00ccfc6aedbaaef9eb5c64e1e8399a51771fe5ac0a3fa24b83cf75e39dbe026c9cb0b89902184ee13277a3552688638d87c80737
+EBUILD bzr-2.5.1-r1.ebuild 2470 SHA256 3036c11207610f9af3378c7a201ce6b9946db5779c189bbe1824be6a28c671ed SHA512 5e7cca64bd3a9db51c0ed5356512dff59e42826bca40c0dac474d18f70297d68acee3b418ba645d500b68e7ecf5188d60b4b67d91d4f6ffb55d8cdef9598f578 WHIRLPOOL 04a1a60333b52ca81ed80c2e9b0d95abfd78c15a668673b07bfe9e80c00e33c4a50e4f1872f45911a0df809fc70d323d9e377ab7addf1928ce8708a49269fcce
+EBUILD bzr-2.6.0.ebuild 2631 SHA256 7840e8b61b069a524d9e78445caa8836f01452d369d5f7a57e0b68b38cf7246f SHA512 14f83b1bea6fe57900da6477f4b424868175a87fd52d821e59b92bd51fd8254b7afac26f8777a943592433d7249d98c7f44d20c733ba6bc6dfb58d1ff7b16deb WHIRLPOOL e846923e948b61a82175d9e9581fede017245a300611fc45324aeae01e1b38a5b2e2af386e71cb76aac3fad874c8b01bb763350c3d6a980b1dc50ef2c3a6f27d
+EBUILD bzr-2.7.0.ebuild 2631 SHA256 0ebb22e89f331a5d2380b76960c151a3e42137855271da5103e0f07281545e05 SHA512 37d0a44283a0af986d85dc061c19bf09e7c079a19873ca6b47861ccace1977310791d03b4706354eb00de48f3cad1c3360970ca933716227f73e4e2065fcdcf7 WHIRLPOOL 7e6a3e084f4aff7b75e40d4db569e7f3db48b6368fb8946494b1daddc39ac9cb47ebf765e955f3c379459d2292854a8b77ab470d1fca87977de5f97ae3ffd85a
+MISC ChangeLog 3998 SHA256 54c35518824784af6fdbfa36ccfdd982e3f016e1e9edff8869c202b9f1991ad6 SHA512 61e87b9e8ac562a420d7d9a26b8a8e6f4952d4238fa3d88a80d949181fa8f53a66c02c65ecf401546c55b76273a9b1b781acb68d085b1e89d7f0aaf6d555d467 WHIRLPOOL 243904df66fef658bed18f0e9bee233fc850b430511436598ce2570992c9ee5751a24a7fb08a071ae20f356a451e80863eb1746568993cc09445d2f652c980ed
+MISC ChangeLog-2015 29348 SHA256 1380c3dfd4d7fad64ef84db986083d110b07855471777174ed6ace712509daff SHA512 04cd4f00fc177e53abc0ac87fd6f21119eab24ef3779f2feb1945df3377cdad70494280bed05e153aa9bca15e24aae20c2e519c894ad981bbffef98ea04bff52 WHIRLPOOL 3ec20d88db03984e5b8f7fb59d372b8b6895d29853096334b6b5af59ef91b5cc91c8bd84dadf7d6fc3a2059df6a175c82f1c726ec4d472ccfbc42d82de2999c1
+MISC metadata.xml 772 SHA256 e86aaee3d4d3edacbdafbce996d916da007fa6c90fa7e7ca969e84f2fcedb95d SHA512 cc63dba9888058f60521da2fdc43697f1fc8bde194782346279560b50ceaa555b464599d28641350cd25f67aebe2f449cbe306dd651620bc891271acf8aaddac WHIRLPOOL 4ab0291ca675ee81fdc91705fe00e08b819922dee1fc89b99f8d813982e5fc0135933856dbf48fe1bf91556bbdb0819a2a0e4fac6260a5873be961ef3d894bf9
diff --git a/dev-vcs/bzr/bzr-2.5.1-r1.ebuild b/dev-vcs/bzr/bzr-2.5.1-r1.ebuild
new file mode 100644
index 000000000000..301f430763ac
--- /dev/null
+++ b/dev-vcs/bzr/bzr-2.5.1-r1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads,ssl,xml"
+
+inherit bash-completion-r1 distutils-r1 eutils flag-o-matic versionator
+
+MY_P=${PN}-${PV}
+SERIES=$(get_version_component_range 1-2)
+
+DESCRIPTION="Bazaar is a next generation distributed version control system"
+HOMEPAGE="http://bazaar-vcs.org/"
+#SRC_URI="http://bazaar-vcs.org/releases/src/${MY_P}.tar.gz"
+SRC_URI="https://launchpad.net/bzr/${SERIES}/${PV}/+download/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris"
+IUSE="curl doc +sftp test"
+
+RDEPEND="curl? ( dev-python/pycurl[${PYTHON_USEDEP}] )
+ sftp? ( dev-python/paramiko[${PYTHON_USEDEP}] )"
+
+DEPEND="test? (
+ ${RDEPEND}
+ >=dev-python/pyftpdlib-0.7.0[${PYTHON_USEDEP}]
+ dev-python/subunit
+ >=dev-python/testtools-0.9.5[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.4.2-no-pyrex-citon.patch"
+ "${FILESDIR}/${P}-sphinx-test-failures.patch"
+)
+
+python_configure_all() {
+ # Generate the locales first to avoid a race condition.
+ esetup.py build_mo
+}
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # Some tests expect the usual pyc compiling behaviour.
+ local -x PYTHONDONTWRITEBYTECODE
+
+ # Define tests which are known to fail below.
+ local skip_tests="("
+ # https://bugs.launchpad.net/bzr/+bug/850676
+ skip_tests+="per_transport.TransportTests.test_unicode_paths.*"
+ skip_tests+=")"
+ if [[ -n ${skip_tests} ]]; then
+ einfo "Skipping tests known to fail: ${skip_tests}"
+ fi
+
+ LC_ALL="C" "${PYTHON}" bzr --no-plugins selftest -v \
+ ${skip_tests:+-x} "${skip_tests}" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ # Fixup manpages manually; passing --install-data causes locales to be
+ # installed in /usr/share/share/locale
+ dodir /usr/share
+ mv "${ED%/}"/usr/{man,share/man} || die
+
+ dodoc doc/*.txt
+
+ if use doc; then
+ docinto developers
+ dodoc -r doc/developers/* || die
+ for doc in mini-tutorial tutorials user-{guide,reference}; do
+ docinto ${doc}
+ dodoc -r doc/en/${doc}/* || die
+ done
+ fi
+
+ dobashcomp contrib/bash/bzr || die
+}
diff --git a/dev-vcs/bzr/bzr-2.6.0.ebuild b/dev-vcs/bzr/bzr-2.6.0.ebuild
new file mode 100644
index 000000000000..842b139b132e
--- /dev/null
+++ b/dev-vcs/bzr/bzr-2.6.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads,ssl,xml"
+
+MY_P=${PN}-${PV}
+
+DESCRIPTION="Bazaar is a next generation distributed version control system"
+HOMEPAGE="http://bazaar-vcs.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris"
+IUSE="curl doc +sftp test"
+PLOCALES="ar ast bs ca cs de el en_AU en_GB es fa fo fr gl he id it ja ko ms my nb nl oc pl pt_BR ro ru sco si sk sr sv tr ug uk vi zh_CN"
+
+inherit bash-completion-r1 distutils-r1 eutils flag-o-matic versionator l10n
+SERIES=$(get_version_component_range 1-2)
+SRC_URI="https://launchpad.net/bzr/${SERIES}/${PV}/+download/${MY_P}.tar.gz"
+
+RDEPEND="curl? ( dev-python/pycurl[${PYTHON_USEDEP}] )
+ sftp? ( dev-python/paramiko[${PYTHON_USEDEP}] )"
+
+DEPEND="test? (
+ ${RDEPEND}
+ >=dev-python/pyftpdlib-0.7.0[${PYTHON_USEDEP}]
+ dev-python/subunit
+ >=dev-python/testtools-0.9.5[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+# Fails tests bug#487216
+# Upstream is not exactly keen on fixing it
+RESTRICT="test"
+
+python_configure_all() {
+ rm_loc() {
+ rm "${S}"/po/$1.po || die
+ }
+ l10n_for_each_disabled_locale_do rm_loc
+ # Generate the locales first to avoid a race condition.
+ esetup.py build_mo
+}
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # Some tests expect the usual pyc compiling behaviour.
+ local -x PYTHONDONTWRITEBYTECODE
+
+ # Define tests which are known to fail below.
+ local skip_tests="("
+ # https://bugs.launchpad.net/bzr/+bug/850676
+ skip_tests+="per_transport.TransportTests.test_unicode_paths.*"
+ skip_tests+=")"
+ if [[ -n ${skip_tests} ]]; then
+ einfo "Skipping tests known to fail: ${skip_tests}"
+ fi
+
+ LC_ALL="C" "${PYTHON}" bzr --no-plugins selftest -v \
+ ${skip_tests:+-x} "${skip_tests}" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ # Fixup manpages manually; passing --install-data causes locales to be
+ # installed in /usr/share/share/locale
+ dodir /usr/share
+ mv "${ED%/}"/usr/{man,share/man} || die
+
+ dodoc doc/*.txt
+
+ if use doc; then
+ docinto developers
+ dodoc -r doc/developers/* || die
+ for doc in mini-tutorial tutorials user-{guide,reference}; do
+ docinto ${doc}
+ dodoc -r doc/en/${doc}/* || die
+ done
+ fi
+
+ dobashcomp contrib/bash/bzr || die
+}
diff --git a/dev-vcs/bzr/bzr-2.7.0.ebuild b/dev-vcs/bzr/bzr-2.7.0.ebuild
new file mode 100644
index 000000000000..a961df2e088c
--- /dev/null
+++ b/dev-vcs/bzr/bzr-2.7.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads,ssl,xml"
+
+MY_P="${PN}-${PV}"
+
+DESCRIPTION="Bazaar is a next generation distributed version control system"
+HOMEPAGE="http://bazaar-vcs.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris"
+IUSE="curl doc +sftp test"
+PLOCALES="ar ast bs ca cs de el en_AU en_GB es fa fo fr gl he id it ja ko ms my nb nl oc pl pt_BR ro ru sco si sk sr sv tr ug uk vi zh_CN"
+
+inherit bash-completion-r1 distutils-r1 eutils flag-o-matic versionator l10n
+SERIES=$(get_version_component_range 1-2)
+SRC_URI="https://launchpad.net/bzr/${SERIES}/${PV}/+download/${MY_P}.tar.gz"
+
+RDEPEND="curl? ( dev-python/pycurl[${PYTHON_USEDEP}] )
+ sftp? ( dev-python/paramiko[${PYTHON_USEDEP}] )"
+
+DEPEND="test? (
+ ${RDEPEND}
+ >=dev-python/pyftpdlib-0.7.0[${PYTHON_USEDEP}]
+ dev-python/subunit
+ >=dev-python/testtools-0.9.5[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+# Fails tests bug#487216
+# Upstream is not exactly keen on fixing it
+RESTRICT="test"
+
+python_configure_all() {
+ rm_loc() {
+ rm "${S}"/po/$1.po || die
+ }
+ l10n_for_each_disabled_locale_do rm_loc
+ # Generate the locales first to avoid a race condition.
+ esetup.py build_mo
+}
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # Some tests expect the usual pyc compiling behaviour.
+ local -x PYTHONDONTWRITEBYTECODE
+
+ # Define tests which are known to fail below.
+ local skip_tests="("
+ # https://bugs.launchpad.net/bzr/+bug/850676
+ skip_tests+="per_transport.TransportTests.test_unicode_paths.*"
+ skip_tests+=")"
+ if [[ -n ${skip_tests} ]]; then
+ einfo "Skipping tests known to fail: ${skip_tests}"
+ fi
+
+ LC_ALL="C" "${PYTHON}" bzr --no-plugins selftest -v \
+ ${skip_tests:+-x} "${skip_tests}" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ # Fixup manpages manually; passing --install-data causes locales to be
+ # installed in /usr/share/share/locale
+ dodir /usr/share
+ mv "${ED%/}"/usr/{man,share/man} || die
+
+ dodoc doc/*.txt
+
+ if use doc; then
+ docinto developers
+ dodoc -r doc/developers/* || die
+ for doc in mini-tutorial tutorials user-{guide,reference}; do
+ docinto ${doc}
+ dodoc -r doc/en/${doc}/* || die
+ done
+ fi
+
+ dobashcomp contrib/bash/bzr || die
+}
diff --git a/dev-vcs/bzr/files/bzr-2.4.2-no-pyrex-citon.patch b/dev-vcs/bzr/files/bzr-2.4.2-no-pyrex-citon.patch
new file mode 100644
index 000000000000..a5128a03d628
--- /dev/null
+++ b/dev-vcs/bzr/files/bzr-2.4.2-no-pyrex-citon.patch
@@ -0,0 +1,33 @@
+--- setup.py.orig 2011-12-26 12:42:40.308882969 +0100
++++ setup.py 2011-12-26 12:43:38.861854988 +0100
+@@ -178,28 +178,8 @@
+ from distutils.errors import CCompilerError, DistutilsPlatformError
+ from distutils.extension import Extension
+ ext_modules = []
+-try:
+- try:
+- from Cython.Distutils import build_ext
+- from Cython.Compiler.Version import version as pyrex_version
+- except ImportError:
+- print("No Cython, trying Pyrex...")
+- from Pyrex.Distutils import build_ext
+- from Pyrex.Compiler.Version import version as pyrex_version
+-except ImportError:
+- have_pyrex = False
+- # try to build the extension from the prior generated source.
+- print("")
+- print("The python package 'Pyrex' is not available."
+- " If the .c files are available,")
+- print("they will be built,"
+- " but modifying the .pyx files will not rebuild them.")
+- print("")
+- from distutils.command.build_ext import build_ext
+-else:
+- have_pyrex = True
+- pyrex_version_info = tuple(map(int, pyrex_version.rstrip("+").split('.')))
+-
++have_pyrex = False
++from distutils.command.build_ext import build_ext
+
+ class build_ext_if_possible(build_ext):
+
diff --git a/dev-vcs/bzr/files/bzr-2.5.1-sphinx-test-failures.patch b/dev-vcs/bzr/files/bzr-2.5.1-sphinx-test-failures.patch
new file mode 100644
index 000000000000..ac1fd0212d6b
--- /dev/null
+++ b/dev-vcs/bzr/files/bzr-2.5.1-sphinx-test-failures.patch
@@ -0,0 +1,24 @@
+Upstream revno 6523 ((vila) Avoid test sphinx-related failures now
+that we don't have direct sphinx anymore. (Vincent Ladeuil))
+
+=== modified file 'bzrlib/tests/test_utextwrap.py'
+--- bzrlib/tests/test_utextwrap.py 2011-05-28 06:44:01 +0000
++++ bzrlib/tests/test_utextwrap.py 2012-04-17 12:18:27 +0000
+@@ -171,16 +171,6 @@
+
+
+ def setup_both(testcase, base_class, reused_class):
+-
+- if (features.sphinx.available()):
+- # Until https://bitbucket.org/birkenfeld/sphinx/issue/706 is fixed,
+- # we can't run these tests when sphinx <= 1.0.1 as it breaks
+- # textwrap.TextWrapper.wordsep_re
+- version = tuple(map(int,
+- features.sphinx.module.__version__.split('.')))
+- if version <= (1, 0, 7):
+- raise tests.TestSkipped(
+- 'sphinx textwrap monkeypatch breaks utextwrap')
+ super(base_class, testcase).setUp()
+ override_textwrap_symbols(testcase)
+ reused_class.setUp(testcase)
+
diff --git a/dev-vcs/bzr/metadata.xml b/dev-vcs/bzr/metadata.xml
new file mode 100644
index 000000000000..f366de71c752
--- /dev/null
+++ b/dev-vcs/bzr/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ Bazaar (``bzr``) is a decentralized revision control system, designed to be
+ easy for developers and end users alike. Bazaar is part of the GNU project
+ to develop a complete free operating system.
+ Bazaar was formerly known as Bazaar-NG. It's the successor to ``baz``, a
+ fork of GNU arch, but shares no code. (To upgrade from Baz, use the
+ ``baz-import`` command in the bzrtools plugin.)
+ </longdescription>
+ <use>
+ <flag name="sftp">Enable sftp support</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">bzr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/bzrtools/Manifest b/dev-vcs/bzrtools/Manifest
new file mode 100644
index 000000000000..df17b05119e8
--- /dev/null
+++ b/dev-vcs/bzrtools/Manifest
@@ -0,0 +1,5 @@
+DIST bzrtools-2.5.tar.gz 74508 SHA256 bccff6fba6129013f92a7bf16e73efad159cabd7957f4de765068044f730f03f SHA512 5bc07715a3ed525a9bed5b789ea7a4079c9a56a8ce798b2eff56b27e6eae574fac23b8cc96529a5ea44b8d4ce02c512a7e22d21f046801461ba38a8d2050aa16 WHIRLPOOL 8e03d00f988617ce5dfb015cd6b19caf980d48023952b7329fafc157faa69657d9e40fa6d90864c1db3f707f2f3ca1579679f20faaf309b0d6aaf8833747f4bb
+EBUILD bzrtools-2.5.ebuild 710 SHA256 bb141e8e741e3f7b6cd13227f819ae3e0f98abb6edf3316eba14fdb45674ea9d SHA512 cfeb4b24bea1c7049e7fde2539d7c565022685c77818ee664a205f28f36e419d64c90230783bc8d419b1ed53b432dcc76355151af3979a7497d1e388c2760bf4 WHIRLPOOL f3417551d6c2762d9adc894cd1f3fb126c5337bfd30dc13a4ab533b826f90c0383042b94ce3dc35cb355ddd81cb6c97325bf923efba75e6c9523f423135dce75
+MISC ChangeLog 2479 SHA256 0786f1a5434411b8966d9f1423e053e330d68c36e9056c927a36e9c530bb152b SHA512 051ac60e934c1de811d77f34ec892f8279852fc43958ae7c7f7b025e7b7a50ee4cd39b296f0f13f31a6b17974f9cc8332f28e3f423fef211c487bbe56f4586da WHIRLPOOL e78b84f6ee6dead39d926f1decc3a4403aad67eaf68068482b175c320d1d0b2cba25e6bfc679ab7ec83ad87f4cf1632f765ba9b17bead5c3328751f895629564
+MISC ChangeLog-2015 14940 SHA256 75e0aa7b93140e24616c7840223f9cf66bdaf4a936b176b9f7ad9f90203627a3 SHA512 e3f588263dcba9533b31dd2135cfa01b6d62250afe2ef957045a023635831f7cdefa57990022d156bd47dd174370f28af8fea309c26ecdeb6c96cc9c918ae377 WHIRLPOOL 2bf86a515b53dc5216896916003ede1b8af9890050be67336779f2fcece1ef915382def89b56ecd5601da0a21846fa91a1ad083b036342d05e0f56c4a50dddcc
+MISC metadata.xml 248 SHA256 7e25080c04e9d58cb6f6efda78c273fe09e458891ee8f2ac15c15bc8f1f1aee7 SHA512 88b165b7a532426ca6539c3ed0ca45b50387eeee1a37f677257bae71f4ac5c0d4e5565efa78166bfb55ba8fcf04cdf02327d976b386bc38a2335a81d455a5fca WHIRLPOOL b015854e40eda61bb46b42f8e4525b3590bca08fd6695ec39b6c2737b6aeac96fb9caa43a197e8cfd0d0e8d70d3b9fe8772629d6ede61398ca4d48d7ef941365
diff --git a/dev-vcs/bzrtools/bzrtools-2.5.ebuild b/dev-vcs/bzrtools/bzrtools-2.5.ebuild
new file mode 100644
index 000000000000..6defe8183234
--- /dev/null
+++ b/dev-vcs/bzrtools/bzrtools-2.5.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils versionator
+
+DESCRIPTION="bzrtools is a useful collection of utilities for bzr"
+HOMEPAGE="http://bazaar-vcs.org/BzrTools"
+SRC_URI="https://launchpad.net/${PN}/stable/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE=""
+#IUSE="test"
+
+RDEPEND=">=dev-vcs/bzr-2.4"
+DEPEND="${RDEPEND}"
+# test? ( dev-python/testtools )"
+
+RESTRICT="test"
+
+S="${WORKDIR}/${PN}"
+
+DOCS=( AUTHORS CREDITS NEWS NEWS.Shelf README README.Shelf TODO TODO.heads TODO.Shelf )
diff --git a/dev-vcs/bzrtools/metadata.xml b/dev-vcs/bzrtools/metadata.xml
new file mode 100644
index 000000000000..1904d7e46063
--- /dev/null
+++ b/dev-vcs/bzrtools/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="launchpad">bzrtools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/colorcvs/Manifest b/dev-vcs/colorcvs/Manifest
new file mode 100644
index 000000000000..aebe87ede9bd
--- /dev/null
+++ b/dev-vcs/colorcvs/Manifest
@@ -0,0 +1,7 @@
+AUX colorcvs-1.4-prefix.patch 530 SHA256 ef38b3272eae83819fce8fab5c7492c5d7b9fb7c2139b4ac544cec3cb0fd0f2d SHA512 69df4ce5007d58f13a1dfab7a09cc2d05731e9bc72d0ce0f680f0c46de13d6ecccbec4726b21cc0925b448dd9abe6126d8e6deb83f7883a79e8e97f94e1aad77 WHIRLPOOL 58587240c35887ad4e4432bb2919d66c1db4801800b2cda5f3633896e03948e05d0601fda1a0efc9f91facb93725fb266ff631257f94b6e3a13c7c5f06102e77
+AUX colorcvs-profile.sh 47 SHA256 86e00aac3a1abca67da7073249c06ecc2c847ff4e67c73aff2670193f4a62c5e SHA512 46e2692476317558cc3d4642e44aeab5b79d9bcacb0ca6b8f3470170cd351adfe156898b3c4f47ce80266eb70ad62bcfac0354b66cd315993d906ab3739acaca WHIRLPOOL e00a262ea1832c13bf19c97865da12314b1ebd5af936750ed045155c61e3987773064bffa299ce171d3a51cba13f0508c821d95db52afee04678ff7bac3579a4
+DIST colorcvs-1.4.tar.bz2 8376 SHA256 8e4b94ee1f6ee3dd4d545182da0f3b38cc52765e447975f64c70397d800ffa2f SHA512 b8c9f3241318599da40614392045a0bba3952314001f6b411207307e79e20b7dea1a9741d5a84dc91b652319ee434c2c14f03435ce4adbd22160d66181da6e44 WHIRLPOOL 83f59360652e4fccb311e47804dd4a3c5bcad07db45287c429e391a7ed00ca6ea5671114a89fe99d5be8d3c02e3a4ab840153b3048aaa635b9580d29ae30717d
+EBUILD colorcvs-1.4-r1.ebuild 1002 SHA256 1241005d4c88bac0abffc042c40e828c152b56b9814c30b3fbb74d060affa369 SHA512 ad0cd74e7ffeb97188fdb85a4bcd8fdeec1d230f2d474dc24ac8aaf2fc895b9b24c41b301c2fbacfcebc434b40e5e84edcc9fef3688c48652bdb4daef7d2b89d WHIRLPOOL d269ac87cd3b06b19966e0f8991a5c0c71639564a72b3b2ec6b24d8688fd65ba4433c4cb1de56fd0d2b52a5e7a3ae06c252dbccef2dc96e5572a2efb834fff01
+MISC ChangeLog 2748 SHA256 9624ffee39d6348d5c59efae850ffdb872dd77df80b0134bf9a52deeccd60620 SHA512 4e8f64166d07da2744cc6b01025a88a11eaaa79d732a7c582c6511b97c694932075b273f0d05efc6b54f60c546e1ff21677e35285c96c998502be6cc8d0abdbd WHIRLPOOL 6156b2b92d50738eeb8a7f6eaa525b248a85025dd2d4c0d7bef4b4876293309327bbde8d09a0c66d8e9c3d172d8b6850ff68df1743ed5826492a5bb0a9e8a44b
+MISC ChangeLog-2015 2372 SHA256 74fe734f7de64e999a21c362611bf0f19211a8af071ebf82ee3c37d96422db2c SHA512 0de91560464a651b0725fad00a7e06a0a2f334fef5b3808afc5aa0dfb6da86209672e922c4cd8e93d705d4e87809d2a7faa0877bb73fe987b57b0b9e6b2e7fde WHIRLPOOL 0f3861e8f908dcca12859f1e91ceed3f015d9bf645b07ddc181fb450d7f7460478fd3dcd9e8ac1ecaf66233797b8290f57c8ee99fd60137ec5d9c9c1db7faa5f
+MISC metadata.xml 271 SHA256 fb77ec802242340d65f4f1cf61787ffa6fb4d57ed02f61feebeed67d2dfb5467 SHA512 3e98f5382cf789992bdfc0f32e6e36eba31944be654c03f2ed9bd00baf56c8b768c256c4f8778d5775d6df38da4afcf8e32b6e6495a1ecfc8e7982c7c8943b1b WHIRLPOOL d6212acd36a69fee56b014b2e1724369857e776204569ac774915e589fd2242b3cd961226d9f125eed452d6c420468e60f038c9b49d1d2a8827d13766918f872
diff --git a/dev-vcs/colorcvs/colorcvs-1.4-r1.ebuild b/dev-vcs/colorcvs/colorcvs-1.4-r1.ebuild
new file mode 100644
index 000000000000..d3c5b132c2e0
--- /dev/null
+++ b/dev-vcs/colorcvs/colorcvs-1.4-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=3
+
+inherit eutils prefix
+
+DESCRIPTION="A tool based on colorgcc to beautify cvs output"
+HOMEPAGE="https://packages.gentoo.org/package/dev-vcs/colorcvs"
+SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND="
+ dev-lang/perl
+ dev-vcs/cvs"
+
+src_prepare() {
+ # fix typo
+ sed -i -e 's:compiler_pid:cvs_pid:' ${PN} || die "sed failed"
+ epatch "${FILESDIR}"/${P}-prefix.patch
+ eprefixify colorcvs
+}
+
+src_install() {
+ insinto /etc/profile.d
+ doins "${FILESDIR}/${PN}-profile.sh" || die "doins failed"
+
+ dobin colorcvs || die "dobin failed"
+ dodoc colorcvsrc-sample || die "dodoc failed"
+}
+
+pkg_postinst() {
+ echo
+ einfo "An alias to colorcvs was installed for the cvs command."
+ einfo "In order to immediately activate it do:"
+ einfo "\tsource /etc/profile"
+ echo
+}
diff --git a/dev-vcs/colorcvs/files/colorcvs-1.4-prefix.patch b/dev-vcs/colorcvs/files/colorcvs-1.4-prefix.patch
new file mode 100644
index 000000000000..0a93b49eba0b
--- /dev/null
+++ b/dev-vcs/colorcvs/files/colorcvs-1.4-prefix.patch
@@ -0,0 +1,20 @@
+--- colorcvs.orig 2008-01-26 20:04:54 +0100
++++ colorcvs 2008-01-26 20:05:56 +0100
+@@ -54,7 +54,7 @@
+
+ sub initDefaults
+ {
+- $cvsPath = "/usr/bin/cvs";
++ $cvsPath = "@GENTOO_PORTAGE_EPREFIX@/usr/bin/cvs";
+
+ $nocolor{"dumb"} = "true";
+
+@@ -118,7 +118,7 @@
+ initDefaults();
+
+ # Read the configuration files.
+-for my $configFile ('/etc/colorcvsrc', "$ENV{HOME}/.colorcvsrc") {
++for my $configFile ('@GENTOO_PORTAGE_EPREFIX@/etc/colorcvsrc', "$ENV{HOME}/.colorcvsrc") {
+ if (-f $configFile)
+ {
+ loadPreferences($configFile);
diff --git a/dev-vcs/colorcvs/files/colorcvs-profile.sh b/dev-vcs/colorcvs/files/colorcvs-profile.sh
new file mode 100644
index 000000000000..07ca68c9d132
--- /dev/null
+++ b/dev-vcs/colorcvs/files/colorcvs-profile.sh
@@ -0,0 +1,3 @@
+# set alias for colorcvs
+
+alias cvs='colorcvs'
diff --git a/dev-vcs/colorcvs/metadata.xml b/dev-vcs/colorcvs/metadata.xml
new file mode 100644
index 000000000000..3e927f8d7480
--- /dev/null
+++ b/dev-vcs/colorcvs/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>shell-tools@gentoo.org</email>
+ <name>Gentoo Shell Tools Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/colorsvn/Manifest b/dev-vcs/colorsvn/Manifest
new file mode 100644
index 000000000000..08f22ee43fc3
--- /dev/null
+++ b/dev-vcs/colorsvn/Manifest
@@ -0,0 +1,6 @@
+AUX use-open2-not-open3.patch 760 SHA256 cbda7bb3c3abcbd652202602685b9b16cd89fed703f29c3ebce08dda5de2cd67 SHA512 556511ce5cf34c7568352a7e18b3d4113cb6d3d52445db31eb2cddc599e3cbbb47c28e39151350e10e957a5a94651445484c9c9cb91af355f540103edeac774c WHIRLPOOL a760fc432cc46c808877a7bb701127738f89cdc6646f0fafc86fbc0ee352941d86a14aa78a16ed7cc9f23d758b5589071a6ceddfa9ba475330eece6733888c36
+DIST colorsvn-0.3.3.tar.gz 107961 SHA256 db58d5b8f60f6d4def14f8f102ff137b87401257680c1acf2bce5680b801394e SHA512 c9aa6eb3a14f156d8f6139ad708782846c561385cb174339443014e83c80b62f5c8d7b9937830ebb5e5e8606517cb2f3f1866a3611c93512b302936b6fe55ffb WHIRLPOOL c18f605db8235cf0aed0a739cbbf6799bb7a1819dc045a7243d9f9bba1ffe07105a403b07c73d24bfd731a771f260bc12eccebb6623d2b504fc609b2c493a0cf
+EBUILD colorsvn-0.3.3.ebuild 1072 SHA256 30f26cb95afe7252a41b4bc9c0c2f26e9080723f0050b7456190f201354b0e5c SHA512 c440a699f02dd8a6159da42237694ca5db2e32a9e461e76e02b044a9c8ac0e23f512c9a413d27c9057dd0994f2bdfffc8b263215c35332f32cff8a693f4ef848 WHIRLPOOL 35d460516b7a2c3677cedbce9889c90d57cb6dac5b437d1c87b379e44cde4bd9784b9644098a148ce634846bb96183e4cd538ba838bd9c27d8451ee8b5242019
+MISC ChangeLog 2730 SHA256 5dac73363023ceb1bb391ed028182927d71b6418b67bdd956207663f981d3c25 SHA512 1abd075ab37b0ced7332d5922478bc6c2545a3d3210c749ee5ddfb92802b4750729d213ff3cb66043d321852831ae3acf87fa9a9f061f301cd1559c2130ddc7e WHIRLPOOL f93081bb36a0568c726c628d2d294b7d4bce8699f16931c959081148f0856af069f71f7650ac1e94675ff6110108891c3c391140590242031bb56fe1fbf346ce
+MISC ChangeLog-2015 2175 SHA256 eb8998f2338b3f28b41fcfa382966fd2a7dbe9ba8af0c021feb5c396c8f91328 SHA512 7d980d8ee599f96bf58adade997531660140cad8ec3d3ac256b87620789b89ca01b74fdec5d7a6ef5ef289caf604d89b4622c6bebd3dee28cad5d51c41c08eee WHIRLPOOL 698a452fe9d6b573c1559edfd2d3dc4b39f300b23be6cebe6fbd874a531c0a17d12d5f09cfce1ec98966cc6ce483cfaad6ae5d7d7b5781c3e42ade03da18ebd3
+MISC metadata.xml 356 SHA256 309ad9eee7a3d7148a43d840bc3133b9c3d8ae56b7cb74d0d1b845690593835e SHA512 7e7254ec3c760144a7f0415edd8aa2e31e1aafca19ad0087ddf51ac7ecc83b992edce3ae705b71ca70189aa9e3327ddee0610fb3766d79fb56f41ad90d13415e WHIRLPOOL 7446695032feae4a1f9952153943d6a91c095e203331d0c504737e0344f2d4f1200d91e4d160764423644f42e08df45587c53ba79ebaba051262e7f6edddcd72
diff --git a/dev-vcs/colorsvn/colorsvn-0.3.3.ebuild b/dev-vcs/colorsvn/colorsvn-0.3.3.ebuild
new file mode 100644
index 000000000000..9ae642f733ff
--- /dev/null
+++ b/dev-vcs/colorsvn/colorsvn-0.3.3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Subversion output colorizer"
+HOMEPAGE="http://colorsvn.tigris.org"
+SRC_URI="${HOMEPAGE}/files/documents/4414/49311/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND="dev-lang/perl
+ dev-vcs/subversion"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/use-open2-not-open3.patch" )
+
+src_prepare() {
+ default
+ # Fix confdir location for Prefix, #435434
+ sed -i \
+ -e '/^confdir/d' \
+ -e 's/$(confdir)/$(sysconfdir)/g' \
+ Makefile.in || die
+}
+
+src_compile() {
+ # bug 335134
+ emake -j1 || die
+}
+
+pkg_postinst() {
+ elog
+ elog "The default settings are stored in /etc/colorsvnrc."
+ elog "They can be locally overridden by ~/.colorsvnrc."
+ elog "An alias to colorsvn was installed for the svn command."
+ elog "In order to immediately activate it do:"
+ elog "\tsource /etc/profile"
+ elog "NOTE: If you don't see colors,"
+ elog "append the output of 'echo \$TERM' to 'colortty' in your colorsvnrc."
+ elog
+}
diff --git a/dev-vcs/colorsvn/files/use-open2-not-open3.patch b/dev-vcs/colorsvn/files/use-open2-not-open3.patch
new file mode 100644
index 000000000000..cb295dc15878
--- /dev/null
+++ b/dev-vcs/colorsvn/files/use-open2-not-open3.patch
@@ -0,0 +1,24 @@
+This is idl0r's fix for bug 326279, rerolled for v0.3.3.
+
+diff --git a/colorsvn-original b/colorsvn-original
+index 4236121..4edf3c8 100644
+--- a/colorsvn-original
++++ b/colorsvn-original
+@@ -56,7 +56,7 @@
+ # Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ use Term::ANSIColor;
+-use IPC::Open3;
++use IPC::Open2;
+
+ use strict;
+ use warnings;
+@@ -332,7 +332,7 @@ if (! -t STDOUT || $commit == 1 || !$colortty{$terminal} || !$commresolved )
+
+ # Keep the pid of the svn process so we can get its return
+ # code and use that as our return code.
+-my $svn_pid = open3('<&STDIN', \*SVNOUT, \*SVNOUT, $svnPath, @ARGV);
++my $svn_pid = open2(\*SVNOUT, '<&STDIN', $svnPath, @ARGV);
+ my $svnName = $svnPath;
+ $svnName =~ s,.*/(.*)$,$1,;
+
diff --git a/dev-vcs/colorsvn/metadata.xml b/dev-vcs/colorsvn/metadata.xml
new file mode 100644
index 000000000000..e28e6ef2bc2d
--- /dev/null
+++ b/dev-vcs/colorsvn/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ colorsvn is the Subversion output colorizer. Colorsvn was extracted from
+ kde-sdk and was extended with build process and configuration.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-vcs/cssc/Manifest b/dev-vcs/cssc/Manifest
new file mode 100644
index 000000000000..f9f653f84e62
--- /dev/null
+++ b/dev-vcs/cssc/Manifest
@@ -0,0 +1,9 @@
+AUX cssc-1.3.0-gcc47.patch 187 SHA256 97577b288fb35dc5416eb7a4e5f8a3f99aea7709bd020a061b1e1436e860d8e2 SHA512 75706187dccd2cfbf0ef0f95eb6520bdf8134da0f6414e4e7e1ee92d54835f5d857320cfc81eb1f4ebf8584ea6da4e4a26e3a5990d60d7b7609b9bf19b6dec74 WHIRLPOOL fbba6f818f7b8201cf0e3bea2ec84006b6272410eb4bfe0097bea8d3b0f809e088c4b2e4e9af82a030a3514fa53fdccf6d375013556dd8a975bddbdf3f3d544e
+AUX cssc-1.4.0-config.patch 317 SHA256 1d0abfd4bbbb1576e8e550e733cf546e8f27735d4d77a36174278fea2d0b906e SHA512 c5bab5de20fa978100009f462434df586d9951850459b41aa70f290bebbcfbb2164b31eada89d6b55151bfd1e852b402ccd822d97cd0b898ce501f925e3c7e53 WHIRLPOOL d4540735035e62771bdd03595d0c34854e81ad314b54e9171c7d08941daacbf93bfc064a744fe4dd4a3d2423e30587b78c573b844f25bb19e204b9e5533d16cf
+AUX cssc-1.4.0-m4.patch 356 SHA256 d0f2add0e5802f51628bc2f50ac02e44504700a7831b58d38129cb5c274fbdf5 SHA512 8dd984f1d98a943fbed14db43840b18f63a48bc71fb8e537031761bdd59639a4af554de9eda8d5aa0a5f1afe04169a752f3e281381a15fe91cc9f53e7195db9e WHIRLPOOL c8e63d270b35bdaa7a388ac98b3bd2e4b12ab1540acd898c5747bf0ccbdd6b092c5f5948118e0bcc50bd563358706cc2faecca8d1e1532f29bef14344db29cea
+AUX cssc-1.4.0-test-large.patch 455 SHA256 f66802e24a3cfcfd9b5d77cd4f9b09de8739536682117e8e1e96a17206d78306 SHA512 8e28f6b6cb9c9e15f5000e89722aa9aa66cb578faa136aa229947eae66e185a07a2b528dea418e0cef43027cce705a269214a2b6f4ec2c355450f13417c2c3e1 WHIRLPOOL bab0063ddebdacfca88af26ea717c8dd942231027abe6f02debf773c74e3541f33a5330d9dbd0c99bd840e647f3084f63f4974e685b30c3fc51a7794538b3b73
+DIST CSSC-1.4.0.tar.gz 2012122 SHA256 30146f96c26c2a4c6b742bc8a498993ec6ea9f289becaaf566866488600b2994 SHA512 7abb38ecfb5120e807d1f09d16ce81306b3eb16746e44da5029f626feba67dfb46db20bd2b89daffb2e3cdc51ffadc51cd666eef7d1b94e56b4c7dc24f93ea76 WHIRLPOOL 725702d94cf5e0d2b393e98ab3b2d552d59d562626d4778dfe6a0ff1b4211577123c3fa3689a14738499780413ab73e7e1c10897793a89190c0bcd5b36a65829
+EBUILD cssc-1.4.0.ebuild 1007 SHA256 c8c852c12db942d0838ec8335a5aad6f3eba0d75e4d4e4b6522941a0f811f017 SHA512 2aacc1f9eeb0bc50d13e8790c1036143f1ed9187bb14ca91631daa34232c5c8664207d237d4d3359de813365ae1be5f3ddb1895318e6b93ec177b2392a1c8886 WHIRLPOOL be92603bd71acad361358d28529836f1a11b4e29b07cfeeea5724e550e00d7c35092d2abc377eeddedf8410551ae22335e3d079da0d92de4823e584a0af0a64b
+MISC ChangeLog 3094 SHA256 529bf26fb292f22e978507b554025f10fc280c82b7937fbe6e42c9dbe456146d SHA512 d43efd3bb807925038fe81599a822f3c3db0fdeb97bcbc7c096b575c3a49484bc63d28e480bcc3ce0167fb6848d9974f6fabe9fde1924d2cc2a86f80e861b097 WHIRLPOOL a897954a3b5306fb59a07832c2368ff53e081802829c5342cf8f7f4d3185d41412c1dac0190ec936321a2a8487b8a6b3f8e878e9d1e48c6dfac178f51f723911
+MISC ChangeLog-2015 4995 SHA256 80228869edbe70fe0f0a7dcabf7019529d32f3e71492003b7b5a6096b49d4eb1 SHA512 1a89958e95c4c40efed0cc72dfd68260f113d3b288ce9476becefb47d59fe600c6c2c0550289a69a91f9b4bd5edc0fdfe1e0a329cad423ab62dbbf837ed5149a WHIRLPOOL 63724f4f5b85eda1c8864e2984e69e57e1b68323fc828831892739df19307af44b421af4336a0ec0f4c93f6ac44640fccbc62be477cfd4986376baf7a1a76d69
+MISC metadata.xml 306 SHA256 f3a0f1e4a1e8b66f3fad8f0335a5a6353ff8861d5214cdf257396186b4e803fa SHA512 cdd22fea0f9079aebfdcd542e0a5a11721c424a5b2d388c25399f22232c5536e126d1fd988e72de222da14684c2ed3a422e645fa99476470018e8cc009a41368 WHIRLPOOL 847dfe5ccf4de8618c7d5f600ade8e7f95345365bb498b8bad4d5f028f7809c9f3cdd7b81adaa5423b68a8478c20db52b1e56f8eb7f861d9bf1907f1e7deea53
diff --git a/dev-vcs/cssc/cssc-1.4.0.ebuild b/dev-vcs/cssc/cssc-1.4.0.ebuild
new file mode 100644
index 000000000000..2f891e4d3c0e
--- /dev/null
+++ b/dev-vcs/cssc/cssc-1.4.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils
+
+# Switch to ^^ when we switch to EAPI=6.
+#MY_PN="${PN^^}"
+MY_PN="CSSC"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="The GNU Project's replacement for SCCS"
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://www.gnu.org/software/cssc/"
+SLOT="0"
+LICENSE="GPL-3"
+
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="test valgrind"
+
+DEPEND="
+ test? ( valgrind? ( dev-util/valgrind ) )
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README )
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.3.0-gcc47.patch \
+ "${FILESDIR}"/${P}-config.patch \
+ "${FILESDIR}"/${P}-m4.patch \
+ "${FILESDIR}"/${P}-test-large.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use test && use_with valgrind) \
+ --enable-binary
+}
+
+src_test() {
+ if [[ ${froobUID} = 0 ]]; then
+ einfo "The test suite can not be run as root"
+ else
+ emake check
+ fi
+}
diff --git a/dev-vcs/cssc/files/cssc-1.3.0-gcc47.patch b/dev-vcs/cssc/files/cssc-1.3.0-gcc47.patch
new file mode 100644
index 000000000000..4c319016eccd
--- /dev/null
+++ b/dev-vcs/cssc/files/cssc-1.3.0-gcc47.patch
@@ -0,0 +1,10 @@
+--- a/src/file.h
++++ b/src/file.h
+@@ -31,6 +31,7 @@
+ #define CSSC__FILE_H__
+
+ #include "filelock.h"
++#include <unistd.h> /* gid_t */
+
+ enum create_mode {
+ CREATE_EXCLUSIVE = 001,
diff --git a/dev-vcs/cssc/files/cssc-1.4.0-config.patch b/dev-vcs/cssc/files/cssc-1.4.0-config.patch
new file mode 100644
index 000000000000..c5790489a9a7
--- /dev/null
+++ b/dev-vcs/cssc/files/cssc-1.4.0-config.patch
@@ -0,0 +1,15 @@
+In file included from file.h:36:0,
+ from delta.cc:36:
+ ../gl/lib/unistd.h:135:3: error: #error "Please include config.h first."
+
+
+--- a/src/delta.h
++++ b/src/delta.h
+@@ -25,6 +25,7 @@
+ #ifndef CSSC_DELTA_H
+ #define CSSC_DELTA_H 1
+
++#include "config.h"
+ #include "sid.h"
+ #include "sccsdate.h"
+ #include "mystring.h"
diff --git a/dev-vcs/cssc/files/cssc-1.4.0-m4.patch b/dev-vcs/cssc/files/cssc-1.4.0-m4.patch
new file mode 100644
index 000000000000..91c163f14104
--- /dev/null
+++ b/dev-vcs/cssc/files/cssc-1.4.0-m4.patch
@@ -0,0 +1,13 @@
+libtoolize chokes on this line
+
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,7 +33,6 @@
+
+ # Changes to AC_CONFIG_MACRO_DIR shoulld be reflected in ACLOCAL_AMFLAGS in Makefile.am.
+ AC_CONFIG_MACRO_DIR([m4])
+-AC_CONFIG_MACRO_DIR([unit-tests/googletest/m4])
+
+ AM_INIT_AUTOMAKE([gnits readme-alpha check-news tar-ustar 1.11.6])
+ AC_CONFIG_HEADERS(config.h)
diff --git a/dev-vcs/cssc/files/cssc-1.4.0-test-large.patch b/dev-vcs/cssc/files/cssc-1.4.0-test-large.patch
new file mode 100644
index 000000000000..c7c23fb6a074
--- /dev/null
+++ b/dev-vcs/cssc/files/cssc-1.4.0-test-large.patch
@@ -0,0 +1,14 @@
+Takes a very long time.
+
+
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -136,7 +136,7 @@
+ test-rmdel \
+ test-admin test-delta test-get test-prs test-prt test-unget \
+ test-cdc test-sact test-val \
+- test-large test-sccsdiff test-binary test-bsd-sccs test-what \
++ test-sccsdiff test-binary test-bsd-sccs test-what \
+ test-year-2000
+ echo Tests passed.
+
diff --git a/dev-vcs/cssc/metadata.xml b/dev-vcs/cssc/metadata.xml
new file mode 100644
index 000000000000..dd7b8493d1b5
--- /dev/null
+++ b/dev-vcs/cssc/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+<email>jer@gentoo.org</email>
+</maintainer>
+<use>
+<flag name="valgrind">Enable usage of <pkg>dev-util/valgrind</pkg> in tests</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-vcs/cvs-fast-export/Manifest b/dev-vcs/cvs-fast-export/Manifest
new file mode 100644
index 000000000000..954c5ecb166d
--- /dev/null
+++ b/dev-vcs/cvs-fast-export/Manifest
@@ -0,0 +1,7 @@
+DIST cvs-fast-export-1.26.tar.gz 668913 SHA256 ebca4b19ba9045bc1b733f729042d7a98dd6675dac3030239f718b13a99949ed SHA512 81d240ae387b4231415335b4a0d294ae81f6ecbc97077d92a1738aca17642b9a7e7ee3f7806890ceafc5c65c50d4370c39c36ee21c927a4fcd30ebfa3bbe472e WHIRLPOOL 1a59b9e5e0b30d935f463a58873c3554315d0d512b4d9482d5fc2341bdb194b16bd017a444f9e21f8ce2181a3bcf6e85aa09584467b1a9e6845ed92b8a75c4f8
+DIST cvs-fast-export-1.38.tar.gz 396524 SHA256 7106c2e85b9fca680230879547dc102186637bd1fbcc5a913127483603d9731a SHA512 ed2aabc417b093c1742ea15bd21855c600a46a5ab72758d15bab24672b6e648531416a6b28c17e6faedd67b4c697b004ba3316cd65cb0ec638566c26878e9428 WHIRLPOOL aba8deba5f3ef8ef7bf38dedf7cd941c24ba709083ff94cfa6c45ae8ebd42f789d1c44276521a752a7b3869d20537964bd05a0689d0ba90a7b180abcc5384bd1
+EBUILD cvs-fast-export-1.26.ebuild 794 SHA256 bb05c04750063b7f854de05990b5702e45f0ed3a136412c82bbf12d1c73e3baa SHA512 e1e355dac05704aae672a3cbd250482583aad85fb6717c4a30ae65341300b2abb4b88377c7de0f35777058abf809f68c0abe7ee7631a5378a47344d020ad6df9 WHIRLPOOL 68603b4f45509ecd873be3c93f9ed5cbfd140aa85e4cfae353c79062a4c220daef3efa828c1ae68119e095ab1cb9f38b25283857e5f0b9989c874dc231f5c7e0
+EBUILD cvs-fast-export-1.38.ebuild 794 SHA256 bb05c04750063b7f854de05990b5702e45f0ed3a136412c82bbf12d1c73e3baa SHA512 e1e355dac05704aae672a3cbd250482583aad85fb6717c4a30ae65341300b2abb4b88377c7de0f35777058abf809f68c0abe7ee7631a5378a47344d020ad6df9 WHIRLPOOL 68603b4f45509ecd873be3c93f9ed5cbfd140aa85e4cfae353c79062a4c220daef3efa828c1ae68119e095ab1cb9f38b25283857e5f0b9989c874dc231f5c7e0
+MISC ChangeLog 2614 SHA256 30284a8efb13e3a2bf76bcd5de39883b4d8c6437cf4b31210f0671c1c15c8752 SHA512 cd8b51dec4b318d90ec67b589c7466ce1050013a8a9dc5299c6767bbdc7417dec69b137c0e50fa8085588b3a2ac36cb8a319004e227de9cc15abd9773c52980c WHIRLPOOL 91eb1c8d123194c235f6a82b95bec1c6dcd2c126650cefa34203224f6158c1fd5cbf2f578de133e921c3523355c9a486bb7eac04927e8241990a6f835330af15
+MISC ChangeLog-2015 777 SHA256 e14520d2c1c84d94695b77b91c14495293bb6199f588450ba6f64dbe0a79853b SHA512 90d27ee876dfb143a1f51234264041f43db79c1e4e436206d6df29f6c9b77fd4442dfbc45652dfbfcd76c92dc767a4802db3f3dafa302cb4909a1d2d4aaa8921 WHIRLPOOL c222c87abbd2d9cd588c39f5a3fe344eadd2fc3c77ccf1e76e102d4421e418536749deed2d14c61f853473f3a380fdec42a3a8616181ae5e4080f27ecc5b793d
+MISC metadata.xml 333 SHA256 f25fe58f9a9e8f0f525937032e98705dffa4010ac68dcf221e6084f7e5b94908 SHA512 d33f6487d5ec4d5b76132cb761ddbba1db898f72502ae8afaf011090bc1bc53ae26f4c8bd335b9faa146dbb703f816c949cdcd35a3384ba03b03069d654b6955 WHIRLPOOL cfce8a04ceacea216d5ea228a282fb853820056768c93a94edca2b49ce9b08a47311fdbae27e281b196443688f8255e62ea449b50367547ee39c70e1a9c15dbd
diff --git a/dev-vcs/cvs-fast-export/cvs-fast-export-1.26.ebuild b/dev-vcs/cvs-fast-export/cvs-fast-export-1.26.ebuild
new file mode 100644
index 000000000000..a66e4a649d37
--- /dev/null
+++ b/dev-vcs/cvs-fast-export/cvs-fast-export-1.26.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="fast-export history from a CVS repository or RCS collection"
+HOMEPAGE="http://www.catb.org/~esr/cvs-fast-export/"
+SRC_URI="http://www.catb.org/~esr/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ app-text/asciidoc"
+
+RESTRICT=test # upstream does not ship them in tarball
+
+src_prepare() {
+ tc-export CC
+ export prefix=/usr
+
+ # respect CC, CFLAGS and LDFLAGS. don't install cvssync
+ sed \
+ -e 's/cc /$(CC) $(LDFLAGS) /' \
+ -e 's/^CFLAGS += -O/#&/' \
+ -e 's/CFLAGS=/CFLAGS+=/' \
+ -e 's/$(INSTALL).*cvssync/#&/g' \
+ -i Makefile || die
+}
+
+src_install() {
+ default
+ dodoc README
+}
diff --git a/dev-vcs/cvs-fast-export/cvs-fast-export-1.38.ebuild b/dev-vcs/cvs-fast-export/cvs-fast-export-1.38.ebuild
new file mode 100644
index 000000000000..a66e4a649d37
--- /dev/null
+++ b/dev-vcs/cvs-fast-export/cvs-fast-export-1.38.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="fast-export history from a CVS repository or RCS collection"
+HOMEPAGE="http://www.catb.org/~esr/cvs-fast-export/"
+SRC_URI="http://www.catb.org/~esr/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ app-text/asciidoc"
+
+RESTRICT=test # upstream does not ship them in tarball
+
+src_prepare() {
+ tc-export CC
+ export prefix=/usr
+
+ # respect CC, CFLAGS and LDFLAGS. don't install cvssync
+ sed \
+ -e 's/cc /$(CC) $(LDFLAGS) /' \
+ -e 's/^CFLAGS += -O/#&/' \
+ -e 's/CFLAGS=/CFLAGS+=/' \
+ -e 's/$(INSTALL).*cvssync/#&/g' \
+ -i Makefile || die
+}
+
+src_install() {
+ default
+ dodoc README
+}
diff --git a/dev-vcs/cvs-fast-export/metadata.xml b/dev-vcs/cvs-fast-export/metadata.xml
new file mode 100644
index 000000000000..bb64b6867438
--- /dev/null
+++ b/dev-vcs/cvs-fast-export/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="freecode">cvs-fast-export</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/cvs/Manifest b/dev-vcs/cvs/Manifest
new file mode 100644
index 000000000000..377b2842621e
--- /dev/null
+++ b/dev-vcs/cvs/Manifest
@@ -0,0 +1,28 @@
+AUX 01-cvs-env.d 14 SHA256 dd2e8db836e3879e56cba5df8f0700c1c0581df7e2201f9196650936278a0d15 SHA512 cbb7545ae34fcbfb6e64ad6bf91105a1950a483bb68637d164026e7df06da2dccbcfe0af568c3249ac0a8e7ff466a5e77614fe6fd76a3829136a854bfa7ceb5a WHIRLPOOL 8aaa83c3d17a480ec03267b6d397576f04ea0ac41ad26e6030c739355d50ea698094920ff2e6c4ad6fc9f84425866eedead009e7ded11ea3e68113451e8bf9b8
+AUX cvs-1.12.12-CVE-2012-0804.patch 1059 SHA256 e67b521edf07b8c5414b1078521c29f314b9459664d7120e2b6008fdae609f2b SHA512 4f86f75f59caf4ef7e83964ec2d9c93575ccdcb031b1a6a1774a2a80ab7d6f278b3d27c4ab9270b91edf457a0195d702e3bd20da17c167b3f204fd9d8980b720 WHIRLPOOL a7d1dce9992b3e0124f1fb4c8fdea57963b9054d32bc10925ec480b087421bc7d33400c6d9899c391c7694858642bec526283f15bd14e199a4caaa8efd1a7ae2
+AUX cvs-1.12.12-CVE-2017-12836-commandinjection.patch 636 SHA256 3c3e31df3597599056c640bd141fc0e83d992e4e13fda064fe47c7835b87f83e SHA512 af6fe60d9c87229d0e29c1243430bf8d6aeaad5f12f906e68cbdf14d4b301117967c8e3c8eb241952ab66b33642fcc2c6ef8e73916305121a1286e8a53ae87da WHIRLPOOL 9782f88016ec75d10a37f0f9989ccfc811c82ea4f32de6d62fecb4b1d3aee321c973f8c92a46c073c790b6cdd9c311ee61e2b43b3d5173ea3fe0dd975e5c268e
+AUX cvs-1.12.12-block-requests.patch 4006 SHA256 70bbf745815d1e01582329160a10f5cdd9c11051e4e62d331686dd5124e01294 SHA512 541545ffc64c4f2303b7e8f6cae2cdff0437452e4bcf94b2149d51e43710096e17f024c1a8ed32433560ea51ecef2aba2f3e6bfaef8fa9e4ad2f2436649884d1 WHIRLPOOL 4c56980ea0d307789ace423e7fcafb86c82429f82cfbe6d873706f95e6e2554e06268540d23b9718113e5182b83b01bb22d02ae649e27feaac1dfd09b38fa892
+AUX cvs-1.12.12-cvs-custom.c 1735 SHA256 bd288a9484c4c26569a44e71f0935cf310e4b02e25e7e9ba564c9fc3f5121054 SHA512 0a5589f225b45c41d5ae0b4b6bcba37002d6a1ef9a87a7e47ffa723c87ea6b1f4f29bc7551f1d17378d6f6b5545b0734607772c386851bde1fc51b8cac712a67 WHIRLPOOL d6795d6bd7af4275385a475b936c5b1c0c0f48ef35caa10e824b14b0da475f22026d9c59d30748006f3bd81cf57e368bad3b6f1bea7bcce92350d1495dbcc775
+AUX cvs-1.12.12-cvs-gnulib-vasnprintf.patch 1092 SHA256 f38e6bbb0fd8b783b654ac775183a1cb24e3987698fdbd706a8d5fa59a45f945 SHA512 6c0be276f6e86dbe3646ada02ea57194b8c7d1e4d76c5faeb06750435599aa4125253bdf7af6232f53807977acb34aba093bc8bfa2ce98389c5ee80b2fd6e05d WHIRLPOOL 0b5dd5ee3c11fae83688d900db2ce678870c79b753c1ffde9aa11a6fe18286af7e24d57f2ce28ffcdbfb42172a0e87baed58047497248ffb1a37acca93ad716f
+AUX cvs-1.12.12-cvsbug-tmpfix.patch 624 SHA256 061c26d140e1195200f1cc76217b2e7c2ff7f0c4dcbbb31124b386e8e756938e SHA512 29014631f5595dbf51a47032a19a23e545190dd8d40d77a71d363cee07a9ae38263b67db52a512436a9a7b37a7f5ff4daafa4a0a9f3c29bcfeb71ecff74408b7 WHIRLPOOL 09d53fa26159defe56cdbd414b699bd7c5be07f36b0b5addd367b393985bd7c98f14189db5b2793af0fc37d052f21af1f97c3775d46d71cebdfff15c447a9d5a
+AUX cvs-1.12.12-fix-massive-leak.patch 1985 SHA256 30727f2f97164b7e71a8abaf859b2a6dea7f680cb7e97699ee1e8ca8600bd782 SHA512 c4c9026e971f3da49cefce102b57bc681427a708ec8caa185df1234fd2a95090c8dc8cbf84374a762fdef7002d658cd4b52450429664cb3a1bfbda63d31c78a7 WHIRLPOOL c669df0411348d88f140a6da8c1c7a89be835483f00308020025d027f2ad55ba463608e48e04f11689c3270c3318b2aebba828020a997c8754e9517baef3b2d2
+AUX cvs-1.12.12-format-security.patch 541 SHA256 8bff441172993aeba5e29b283b221aabce579bb778b3f69b6532676e3d5dd25d SHA512 34f16defa5ab03ca2efcdea27269a37e27510d235bc4efd7a91871c2ae32fe9b922a51f3b87bcfec988964f8ae50d4649d7876937e25352836d5274ce88eea13 WHIRLPOOL e7e46e750e6093daab009ca23274f90c71df9a0ecebf1af521098e3356dcb5e5bc541a5a978b7409d19e77b35377c6b65c8023adfed86f88e3a6ca007d8fc77c
+AUX cvs-1.12.12-getdelim.patch 564 SHA256 162fff3d76ff837a25cd44a7a852df01cc534eaf3a053817007e6414c794baa7 SHA512 181b5daa6e103218e3fc1629a0b5f74daad613cdbe530655eff32479e4b9f32d067e60a82107efdbb129f917ee0626d274fb65555c66d907c997bf01fa262bdb WHIRLPOOL 8355d5c946a600858ca73ca55ca90a9c3fd2b7315790d3996bdd5b58d47c83cd62d9f2e50238dc8719b29f41a763c3da05aebb80e246f8009e35466daa09ca4d
+AUX cvs-1.12.12-hash-nameclash.patch 1019 SHA256 5b30102b2ec7a54b9c8aa36eeb4fa2a79d4977840fb83a4c774ab19d8884f118 SHA512 dcd612dcc4b008c0fbabd74bcc179e69ebaed31a9f6622127061194a8ed99549502fbc0bffc75cc87aed26f7fe46215da81438c3a797e2179ed3da8e0b5ebdbb WHIRLPOOL e1baa739de03b977b498d0c784152fa82902724d5693cb71d81f3224384563fac5741a3a3e7ea718e040514ccca9b9c4c93e6c5e8a3aa2a8a35566232bb82c93
+AUX cvs-1.12.12-install-sh.patch 495 SHA256 9c2fc03b42804f8edb3a5a6f9c9e80bd68924f265ce52d196c3b5c759ba42f8a SHA512 7e468d41c1eb23c0a62b605e6e48cffc004e8f386a87a9696dd73b36702c74aad529f5cba7280dee1100027b6e1e907adad257cc446ca3ad734fa40d47e4ff72 WHIRLPOOL 1eaf9e7ccab89cd0d2c95440da0454779b13d6efc4b2a773d41f58998353a2670134344d6a97379103f3ba6e8b6c96c93db0b6229821bb8c12ce037a3b7ddb64
+AUX cvs-1.12.12-mktime-configure.patch 4791 SHA256 ae218813689adf47e66d05908ce87176aebc6c5158ec97832c78adb542eade29 SHA512 10b29450d5d0a6a02d92812b919edbba2b86f2217aa54896b44358edb2eb8d8d6111b5c5db39faa50ef1f9a86ed1ee190332629f33402ad8cd8082b77547f486 WHIRLPOOL 2acd1fd3eab25fc419e4b6d603593b06e765cf84b90401f1e6be919b38c0f1739bf12ebc903df8318d88bd2dbac616369b4f3dec4575c586b7ce72404720c2b3
+AUX cvs-1.12.12-mktime-x32.patch 916 SHA256 107b0adceda7c8b7b8e89604f38ea0e7a903420dc58dbf22c5eeac947d63d0e1 SHA512 4a58c0f94de8e19c2de1930b7e5e04816e79a86885c89b792616a4c43f6e12aef271005ae59ae0d5788a910ba97735ccdf35f0ef5faafc2e3c50a9858b8f6216 WHIRLPOOL 5ca4316ee5a272efabe6da249476f6f916851fa92338368616aff03f380b2cd290391faa455e914e423ce74a00122336e6bfa93236a8412c1f32103040e3038a
+AUX cvs-1.12.12-musl.patch 421 SHA256 ffde1d04aa5661836d5dfcd00fe2a1d8e31353dd944a198f004937c94bc2a8d3 SHA512 1c14b89dccee3130cc4ff881b7204f01dd8e14d1767e21d30b879df17a368a0f6bc7d3945872f8a6adcf47e34c3e48b9f2c0c0c90cccbf10fa935690a57f5e20 WHIRLPOOL d25e8bd12aa9c4cf498f1b6e173aca51c97c2180ff70af0560b4490878580007127adacc3be7fc6c92ff84d1c598b36ce49928512ddcb4a0127205878f88d01c
+AUX cvs-1.12.12-openat.patch 761 SHA256 5b9fc46c2ee46d9136ddfc8d0baaac6087d8cae40fa5521815c3c2e372f25b9f SHA512 b0a7abc785169705d2f0668a8af706f93ee3eba3d050d555689577962283e54f6bd186e662b64c65f926cf72dff76a37259181338707d641ee0f20591ba62805 WHIRLPOOL 31c9eb71d9d8cf5dff05e48c054e29b720702c6c12cafd7a2dd9687578bb1c441cf5e90c355b9164dee6b14f6c5cb7a2f4ad7d9ff4831f3ce2f02f82ffd082f7
+AUX cvs-1.12.12-rcs2log-coreutils.patch 557 SHA256 89fefd4b8f7a67adc8d502a6b45bb33bba6c59a91bb5b15864892123ec1c777b SHA512 73c3506fa670b00ac52363efa2a2fa34203108d3dc112400e52f78eb7d83967cf49b11280d6c27a461f79a9c38317b41b26dd1f67d10229dbcb6c2ad9d43b521 WHIRLPOOL a58d2e22a0688cd2ba189f9d8c96caab2962a2b3cbce5ac17d198803ab224eebe123102f7a275338e3a851774ad19f81c8a9c760c00304f3ee8dd83dc07acdb2
+AUX cvs.pam-include-1.12.12 106 SHA256 8291f84c2d76269e7be6487ae1db7212e67ee7313d35e6b0cebcd01e30d155af SHA512 1e72da3f959433e59d0153ff09e53a79bb68793506456e38d7070ffe4fcf6d596fdc3740dd2325d626a8dbd356dd11d93fbd5f220515f2435a94b90bb5833fb9 WHIRLPOOL 4580958cbd6955c5fc3e84d4b5c5877c2e94c5a3de326f6936c641cda43a588196871b43280cdbe16c8274049a08eb73ac7067a5166b1f613770f4ea24afc5eb
+AUX cvspserver.xinetd.d 282 SHA256 71b62c4f278ed17bf3cac8eacb2bfb17b6125bfe77f83b46fa5742395b74ef5f SHA512 6845a5fc38ed9d8f9194f14137066c3f2640f09ebc1dce7e9fa7c49761534003e5b1c59593496ba9f88a6c9b1196980bc145a2e2fdcbf662360d1b1ca8821411 WHIRLPOOL 949abc87f0d7c8f104ce8a896fdfd94e3db8f60d5aaa948d3358e348b17de942f19ba68fe545ec2af0026643d7b5efd5bc3bc26ccc7da47c70c544d01879646a
+DIST cederqvist-1.12.12.html.tar.bz2 137581 SHA256 6bdd66581ec363e05313a14db27cd3c201b547cdfc9ea2f8edde74e78301f0f6 SHA512 c4f6bdc294b719c1c9f6e8b7d1d4faa9e2aafccd37924e9d4772f8d802da3e7f5ae1778b295989db256b23bb1d0914023db7237adaf07833caaee499ae6b6fa3 WHIRLPOOL 41dd1e0d944a02eeca10539b87b5cfcadbf4fd5923c872aa86e5673bb6a98f774d5378e8b4f1c2e6c6a62e6dc6a4d02c69b5e51ad03da899903070effd62adc9
+DIST cederqvist-1.12.12.pdf 1252423 SHA256 211c5792d24bfd5694f23bc217a161d880bfb2447c41016fab6f657168b041ce SHA512 aa90b76664ca103cf41831a5595d5e99df9fd87633aa5a500569f43854ca6e409a26b655f02ed59cde1c37ce88c40e06f3b3376ad71fdc9487032c3f0898706a WHIRLPOOL 88d015117c05716df6d0cdc763f16dc488f0641624475e9bd33478485dd32e36a7ee5c49a1789ebdd173e665ae5963e75975342d7308e8e453adb65dd31ec6c5
+DIST cederqvist-1.12.12.ps 1262208 SHA256 0e14189614e2c5ead49bfe0ecd187239f8adc3e66371b49d52163be821e44cab SHA512 9a061ef90c664fbb4f882644f72c4f80ffbe0233b6b364511b1c7f18f0a53383980a6ddda326b6df1f2fe1899aed3225de89b55a65a1d9101ba81d1c10c067e2 WHIRLPOOL fb1616ca734e51a626713e7e78786ecbff18378966c2c131f6992df248096d38e850123449d3a5a6aa111ee209f90ef48848da7366b21cb6befeccf07ce54ab6
+DIST cvs-1.12.12.tar.bz2 3197171 SHA256 9fb9176d268b9019768fc57dedc2920c28fbeda5ba224c2348550d4f25043edc SHA512 31c679b77b887e02d9c8c381b0dfb42f1207ef4ca806cd92843638eb2126ed032e99bda70a3e20ea2a029670ff39c40088a43435632e381739e6c2f978e6f4bb WHIRLPOOL 74257976cdb957e86fb9fb7e54fc8c0b7210f72136ce05327203d935195e7a3bdda0c1d616dc04cb1d6495cb038ca7275e88488eddb5d936c1cfceb94583278c
+EBUILD cvs-1.12.12-r11.ebuild 3007 SHA256 17ea0b7e9658806e79625f466658c1a982d5ec525036f5622a348a0f08aaf72f SHA512 d7c9875e3990bea839ad68c5d3620dd4762841386554a52543c9cd36206e393f08ee277514cd48aaa6d1bd370b6abf77434d80364c6897029cfee6d6485bca00 WHIRLPOOL ab15c1e58a6efb4f933308ca4936fd7397eedccce42236ad174eb7c1868dbd1aafddd9ca03843678e0157694e98657816c49400b5dec52405a4b02dd90580449
+EBUILD cvs-1.12.12-r12.ebuild 2947 SHA256 68892446e25f30f59444e953676d6c849876fb3a2e9ef7225c2626c8d9ad0f3d SHA512 2e030b4698d8dd0e9624db57e277c16ec9a05b1a35c688514346cf99c65c0e0c2d6983b4476663dd76ce9abc159f405f5c9cea1b58afaa27044d28b888c2d68f WHIRLPOOL e20c11b8fb1442d76559fad3a377bcb608e211c049de29472f2c3432e7f3dcee5fd4e21c1ff4657cfa7160ab5a57127eb2ef9a710f09f1dbd87f3a12d76a7f4b
+MISC ChangeLog 6799 SHA256 8607050a8849cc9aa6684c3116b84fed49b4317632814aa4b5ef9b45ff3c2b6a SHA512 356f2de0b8f29cb70978f50eaa7ca940ef909731c1e527e1d9dabc7251da8eb8051f8bee1fb6eccf665b6a1da56ea91eb849613b0b62d0c3377587ee4d7a5a6f WHIRLPOOL 6b19af275fbf88c2e583991f31ab74bce924ee4e3b944f3f9ce622e69ecc4b6bc2a47842e6cd52fc8943d03123d8943eac5036bed40f42908a12b8ad73989fe3
+MISC ChangeLog-2015 25705 SHA256 89571841b8c2db0a16ca4017d5a66695019ab49bb297f9034ec6211b28c7c73f SHA512 12b28d936b1a0fda3f6d4a90ce4c46cd6962ceab5743525a7098c080109d8d42d44c40fd81aa10bd97355b226f58c60584001e174af239e14d8c4dc1de575332 WHIRLPOOL e903cd4c13fc52166e46ff66b793ec47a360fd8a38ac1a539285a73e4e6c3465194889b73b76f59a10caf009f117dae4a6134868e3515ee63224bb65ec9ab300
+MISC metadata.xml 238 SHA256 c4777fb7103b095c6fd3a220da43ca7aed6955e56dd063f6cd53d2de3b47a614 SHA512 ae7619f8ee8ed9bf4db2e5f53bedddc7b3653066c7dd5de3aa79623e340fdafc579a5821ed6ba49aefa52de33bf1901d082e23f4ce1e8b5ee791ae9a526a5d6a WHIRLPOOL 761661aadb838ce3f1256cfbc8066f3734096cfa5aefc4c853e8c5e0fed6af2ce3b51a70c3bf8b4bea627013c71b6669670e6b9548a09d5b82c0723621eeebfa
diff --git a/dev-vcs/cvs/cvs-1.12.12-r11.ebuild b/dev-vcs/cvs/cvs-1.12.12-r11.ebuild
new file mode 100644
index 000000000000..415a2fa36d27
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.12-r11.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit pam toolchain-funcs
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://cvs.nongnu.org/"
+
+SRC_URI="mirror://gnu/non-gnu/cvs/source/feature/${PV}/${P}.tar.bz2
+ doc? ( mirror://gnu/non-gnu/cvs/source/feature/${PV}/cederqvist-${PV}.html.tar.bz2
+ mirror://gnu/non-gnu/cvs/source/feature/${PV}/cederqvist-${PV}.pdf
+ mirror://gnu/non-gnu/cvs/source/feature/${PV}/cederqvist-${PV}.ps )"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt doc kerberos nls pam server"
+RESTRICT="test"
+
+DEPEND=">=sys-libs/zlib-1.1.4
+ kerberos? ( virtual/krb5 )
+ pam? ( virtual/pam )"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${PV}.html.tar.bz2
+}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cvsbug-tmpfix.patch
+ "${FILESDIR}"/${P}-openat.patch
+ "${FILESDIR}"/${P}-block-requests.patch
+ "${FILESDIR}"/${P}-cvs-gnulib-vasnprintf.patch
+ "${FILESDIR}"/${P}-install-sh.patch
+ "${FILESDIR}"/${P}-hash-nameclash.patch # for AIX
+ "${FILESDIR}"/${P}-getdelim.patch # 314791
+ "${FILESDIR}"/${PN}-1.12.12-rcs2log-coreutils.patch # 144114
+ "${FILESDIR}"/${P}-mktime-x32.patch # 395641
+ "${FILESDIR}"/${P}-fix-massive-leak.patch
+ "${FILESDIR}"/${P}-mktime-configure.patch #220040 #570208
+ "${FILESDIR}"/${P}-CVE-2012-0804.patch
+ "${FILESDIR}"/${P}-format-security.patch
+ "${FILESDIR}"/${P}-musl.patch
+ )
+DOCS=( BUGS ChangeLog{,.zoo} DEVEL-CVS FAQ HACKING MINOR-BUGS NEWS \
+ PROJECTS README TESTS TODO )
+
+src_prepare() {
+ default
+
+ sed -i "/^AR/s/ar/$(tc-getAR)/" diff/Makefile.in lib/Makefile.in || die
+}
+
+src_configure() {
+ if tc-is-cross-compiler ; then
+ # Sane defaults when cross-compiling (as these tests want to
+ # try and execute code).
+ export cvs_cv_func_printf_ptr="yes"
+ fi
+ econf \
+ --with-external-zlib \
+ --with-tmpdir=${EPREFIX%/}/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server)
+}
+
+src_install() {
+ # Not installed into emacs site-lisp because it clobbers the normal C
+ # indentations.
+ DOCS+=( cvs-format.el )
+
+ if use doc; then
+ DOCS+=( "${DISTDIR}"/cederqvist-${PV}.{pdf,ps} )
+ HTML_DOCS=( ../cederqvist-${PV}.html/. )
+ fi
+
+ default
+
+ use doc && dosym cvs.html /usr/share/doc/${PF}/html/index.html
+
+ if use server; then
+ newdoc "${FILESDIR}"/cvs-1.12.12-cvs-custom.c cvs-custom.c
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver
+ newenvd "${FILESDIR}"/01-cvs-env.d 01cvs
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
+
+pkg_postinst() {
+ use server || elog "If you want any CVS server functionality, you MUST emerge with USE=server!"
+}
diff --git a/dev-vcs/cvs/cvs-1.12.12-r12.ebuild b/dev-vcs/cvs/cvs-1.12.12-r12.ebuild
new file mode 100644
index 000000000000..0bfbf53733fc
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.12-r12.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit pam toolchain-funcs
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://cvs.nongnu.org/"
+
+SRC_URI="mirror://gnu/non-gnu/cvs/source/feature/${PV}/${P}.tar.bz2
+ doc? ( mirror://gnu/non-gnu/cvs/source/feature/${PV}/cederqvist-${PV}.html.tar.bz2
+ mirror://gnu/non-gnu/cvs/source/feature/${PV}/cederqvist-${PV}.pdf
+ mirror://gnu/non-gnu/cvs/source/feature/${PV}/cederqvist-${PV}.ps )"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt doc kerberos nls pam server"
+RESTRICT="test"
+
+DEPEND=">=sys-libs/zlib-1.1.4
+ kerberos? ( virtual/krb5 )
+ pam? ( virtual/pam )"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${PV}.html.tar.bz2
+}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cvsbug-tmpfix.patch
+ "${FILESDIR}"/${P}-openat.patch
+ "${FILESDIR}"/${P}-block-requests.patch
+ "${FILESDIR}"/${P}-cvs-gnulib-vasnprintf.patch
+ "${FILESDIR}"/${P}-install-sh.patch
+ "${FILESDIR}"/${P}-hash-nameclash.patch # for AIX
+ "${FILESDIR}"/${P}-getdelim.patch # 314791
+ "${FILESDIR}"/${PN}-1.12.12-rcs2log-coreutils.patch # 144114
+ "${FILESDIR}"/${P}-mktime-x32.patch # 395641
+ "${FILESDIR}"/${P}-fix-massive-leak.patch
+ "${FILESDIR}"/${P}-mktime-configure.patch #220040 #570208
+ "${FILESDIR}"/${P}-CVE-2012-0804.patch
+ "${FILESDIR}"/${P}-format-security.patch
+ "${FILESDIR}"/${P}-musl.patch
+ "${FILESDIR}"/${P}-CVE-2017-12836-commandinjection.patch
+ )
+DOCS=( BUGS ChangeLog{,.zoo} DEVEL-CVS FAQ HACKING MINOR-BUGS NEWS \
+ PROJECTS README TESTS TODO )
+
+src_prepare() {
+ default
+ sed -i "/^AR/s:ar:$(tc-getAR):" diff/Makefile.in lib/Makefile.in || die
+}
+
+src_configure() {
+ if tc-is-cross-compiler ; then
+ # Sane defaults when cross-compiling (as these tests want to
+ # try and execute code).
+ export cvs_cv_func_printf_ptr="yes"
+ fi
+ econf \
+ --with-external-zlib \
+ --with-tmpdir=${EPREFIX%/}/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server)
+}
+
+src_install() {
+ # Not installed into emacs site-lisp because it clobbers the normal C
+ # indentations.
+ DOCS+=( cvs-format.el )
+
+ if use doc; then
+ DOCS+=( "${DISTDIR}"/cederqvist-${PV}.{pdf,ps} )
+ HTML_DOCS=( ../cederqvist-${PV}.html/. )
+ fi
+
+ default
+
+ use doc && dosym cvs.html /usr/share/doc/${PF}/html/index.html
+
+ if use server; then
+ newdoc "${FILESDIR}"/cvs-1.12.12-cvs-custom.c cvs-custom.c
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver
+ newenvd "${FILESDIR}"/01-cvs-env.d 01cvs
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
diff --git a/dev-vcs/cvs/files/01-cvs-env.d b/dev-vcs/cvs/files/01-cvs-env.d
new file mode 100644
index 000000000000..5c89358b9554
--- /dev/null
+++ b/dev-vcs/cvs/files/01-cvs-env.d
@@ -0,0 +1 @@
+CVS_RSH="ssh"
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-CVE-2012-0804.patch b/dev-vcs/cvs/files/cvs-1.12.12-CVE-2012-0804.patch
new file mode 100644
index 000000000000..107c3ea12204
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-CVE-2012-0804.patch
@@ -0,0 +1,30 @@
+[CVE-2012-0804] Fix proxy response parser
+
+If proxy sends overlong HTTP vesion string, the string will be copied
+to unallocatd space (write_buf) causing heap overflow.
+
+This patch fixes it by ignoring the HTTP version string and checking
+the response line has been parsed correctly.
+
+See <https://bugzilla.redhat.com/show_bug.cgi?id=773699> for more
+details.
+
+Index: src/client.c
+===================================================================
+RCS file: /sources/cvs/ccvs/src/client.c,v
+retrieving revision 1.483
+diff -u -r1.483 client.c
+--- a/src/client.c 18 Nov 2008 22:59:02 -0000 1.483
++++ b/src/client.c 26 Jan 2012 16:32:25 -0000
+@@ -4339,9 +4339,9 @@
+ * code.
+ */
+ read_line_via (from_server, to_server, &read_buf);
+- sscanf (read_buf, "%s %d", write_buf, &codenum);
++ count = sscanf (read_buf, "%*s %d", &codenum);
+
+- if ((codenum / 100) != 2)
++ if (count != 1 || (codenum / 100) != 2)
+ error (1, 0, "proxy server %s:%d does not support http tunnelling",
+ root->proxy_hostname, proxy_port_number);
+ free (read_buf);
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-CVE-2017-12836-commandinjection.patch b/dev-vcs/cvs/files/cvs-1.12.12-CVE-2017-12836-commandinjection.patch
new file mode 100644
index 000000000000..87b1fdc9584c
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-CVE-2017-12836-commandinjection.patch
@@ -0,0 +1,22 @@
+diff -Naurp a/src/rsh-client.c b/src/rsh-client.c
+--- a/src/rsh-client.c 2005-03-15 18:45:10.000000000 +0100
++++ b/src/rsh-client.c 2017-08-26 17:43:23.228060155 +0200
+@@ -97,6 +97,9 @@ start_rsh_server (cvsroot_t *root, struc
+ rsh_argv[i++] = root->username;
+ }
+
++ /* Only non-option arguments from here. (CVE-2017-12836) */
++ rsh_argv[i++] = "--";
++
+ rsh_argv[i++] = root->hostname;
+ rsh_argv[i++] = cvs_server;
+ rsh_argv[i++] = "server";
+@@ -171,6 +174,8 @@ start_rsh_server (cvsroot_t *root, struc
+ *p++ = root->username;
+ }
+
++ *p++ = "--";
++
+ *p++ = root->hostname;
+ *p++ = command;
+ *p++ = NULL;
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-block-requests.patch b/dev-vcs/cvs/files/cvs-1.12.12-block-requests.patch
new file mode 100644
index 000000000000..9c9b49db8f62
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-block-requests.patch
@@ -0,0 +1,140 @@
+Author: Robin H. Johnson <robbat2@gentoo.org>
+Date: 2006-08-09
+
+This patch allows a CVS server to deny usage of specific commands, based on
+input in the environment.
+
+Just set the CVS_BLOCK_REQUESTS env var with all of the commands you want,
+seperated by spaces. Eg:
+CVS_BLOCK_REQUESTS="Gzip-stream gzip-file-contents"
+would block ALL usage of compression.
+
+Please see the array 'struct request requests[]' in src/server.c for a full
+list of commands.
+
+Please note that if you block any commands marked as RQ_ESSENTIAL, CVS clients
+may fail! (This includes 'ci'!).
+
+See the companion cvs-custom.c for a wrapper that can enforce the environment variable for pserver setups.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -Nuar --exclude '*~' -U 10 cvs-1.12.12.orig/src/server.c cvs-1.12.12/src/server.c
+--- cvs-1.12.12.orig/src/server.c 2005-04-14 14:13:29.000000000 +0000
++++ cvs-1.12.12/src/server.c 2006-08-09 01:40:44.000000000 +0000
+@@ -5836,43 +5836,90 @@
+ #undef REQ_LINE
+ };
+ #endif /* SERVER_SUPPORT or CLIENT_SUPPORT */
+
+
+
+ #ifdef SERVER_SUPPORT
+ /*
+ * This server request is not ignored by the secondary.
+ */
++
++/* Hack by Robin H. Johnson <robbat2@gentoo.org>.
++ * Allow the server ENV to specify what request types are to be ignored.
++ */
++
++static char blocked_requests[BUFSIZ] = " ";
++
++static void build_blocked_requests() {
++ char *tmp = getenv("CVS_BLOCK_REQUESTS");
++
++ if (tmp != NULL && strlen(tmp) > 0) {
++ // move to our custom buffer
++ strncat(blocked_requests, tmp, sizeof(blocked_requests)-strlen(blocked_requests));
++ //add a space on the end as well for searching
++ strncat(blocked_requests, " ", sizeof(blocked_requests)-strlen(blocked_requests));
++ }
++
++ // now blocked_requests contains the list of every request that we do not
++ // want to serve
++}
++
++// returns 0 if we should serve this request
++// use as if(checker(FOO)) continue;
++static int serve_valid_requests_checker(char *reqname) {
++ char needle[BUFSIZ] = " ";
++ char *tmp;
++
++ if(!blocked_requests || strlen(blocked_requests) < 2)
++ return 0;
++
++ // we want to look for ' 'reqname' '
++ snprintf(needle, sizeof(needle), " %s ", reqname);
++
++ // now do the search
++ tmp = strstr(blocked_requests, needle);
++
++ if (tmp != NULL)
++ return 1;
++
++ return 0;
++
++}
++
+ static void
+ serve_valid_requests (char *arg)
+ {
+ struct request *rq;
+
+ /* Since this is processed in the first pass, don't reprocess it in the
+ * second.
+ *
+ * We still print errors since new errors could have been generated in the
+ * second pass.
+ */
+ if (print_pending_error ()
+ #ifdef PROXY_SUPPORT
+ || reprocessing
+ #endif /* PROXY_SUPPORT */
+ )
+ return;
++
++ build_blocked_requests();
+
+ buf_output0 (buf_to_net, "Valid-requests");
+ for (rq = requests; rq->name != NULL; rq++)
+ {
+ if (rq->func != NULL)
+ {
++ if(serve_valid_requests_checker(rq->name))
++ continue;
+ buf_append_char (buf_to_net, ' ');
+ buf_output0 (buf_to_net, rq->name);
+ }
+ }
+ buf_output0 (buf_to_net, "\nok\n");
+
+ /* The client is waiting for the list of valid requests, so we
+ must send the output now. */
+ buf_flush (buf_to_net, 1);
+ }
+@@ -6353,20 +6400,24 @@
+ cmd += len;
+ else if (cmd[len] == ' ')
+ cmd += len + 1;
+ else
+ /*
+ * The first len characters match, but it's a different
+ * command. e.g. the command is "cooperate" but we matched
+ * "co".
+ */
+ continue;
++ // Ignore commands that we are supposed to ignore.
++ if(serve_valid_requests_checker(rq->name))
++ continue;
++
+
+ if (!(rq->flags & RQ_ROOTLESS)
+ && current_parsed_root == NULL)
+ {
+ /* For commands which change the way in which data
+ is sent and received, for example Gzip-stream,
+ this does the wrong thing. Since the client
+ assumes that everything is being compressed,
+ unconditionally, there is no way to give this
+ error to the client without turning on
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-cvs-custom.c b/dev-vcs/cvs/files/cvs-1.12.12-cvs-custom.c
new file mode 100644
index 000000000000..597f6de8dbdb
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-cvs-custom.c
@@ -0,0 +1,58 @@
+/*
+Author: Robin H. Johnson <robbat2@gentoo.org>
+Date: 2006-08-09
+
+This patch allows a CVS server to deny usage of specific commands, based on
+input in the environment.
+
+Just set the CVS_BLOCK_REQUESTS env var with all of the commands you want,
+seperated by spaces. Eg:
+CVS_BLOCK_REQUESTS="Gzip-stream gzip-file-contents"
+would block ALL usage of compression.
+
+Please see the array 'struct request requests[]' in src/server.c for a full
+list of commands.
+
+Please note that if you block any commands marked as RQ_ESSENTIAL, CVS clients
+may fail! (This includes 'ci'!).
+
+See the companion cvs-custom.c for a wrapper that can enforce the environment variable for pserver setups.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+*/
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <malloc.h>
+
+
+#define REAL_CVS "/bin/cvs"
+#define CVS_TMPDIR "/tmp"
+#define CMDS_BLOCKED " Gzip-stream gzip-file-contents Kerberos-encrypt Gssapi-encrypt Gssapi-authenticate add remove admin import init history watch-on watch-off watch-add watch-remove watchers editors edit version tag rtag "
+
+int main(int argc, char* argv[]) {
+ char** newargv;
+ int newargc, offset;
+ int i;
+ // 0 for argv[0] we must copy
+ offset = 0+0;
+ // +1 for trailing NULL
+ newargc = argc+offset+1;
+ newargv = (char**) malloc(newargc*sizeof(char*));
+ newargv[0] = "cvs";
+ //newargv[1] = "-T";
+ //newargv[2] = CVS_TMPDIR;
+ //newargv[3] = "-R";
+ for(i=1;i<argc;i++) {
+ newargv[i+offset] = argv[i];
+ }
+ newargv[newargc-1] = NULL;
+ setenv("CVS_BLOCK_REQUESTS",CMDS_BLOCKED ,1);
+ //for(i =0;i<newargc;i++) {
+ // printf("[%d]='%s'\n",i,newargv[i] != NULL ? newargv[i] : "NULL");
+ //}
+ execv(REAL_CVS,newargv);
+ free(newargv);
+ return 0;
+}
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-cvs-gnulib-vasnprintf.patch b/dev-vcs/cvs/files/cvs-1.12.12-cvs-gnulib-vasnprintf.patch
new file mode 100644
index 000000000000..d7d6e6bb8a65
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-cvs-gnulib-vasnprintf.patch
@@ -0,0 +1,34 @@
+http://bugs.gentoo.org/213833
+
+commit 913c09becd9df89dbd9b9f386e7f35c240d5efe8
+Author: Bruno Haible <bruno@clisp.org>
+Date: Fri Oct 19 01:50:42 2007 +0200
+
+ Don't use %n on glibc >= 2.3 systems.
+
+diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c
+index f563823..5d818aa 100644
+--- a/lib/vasnprintf.c
++++ b/lib/vasnprintf.c
+@@ -3385,9 +3385,21 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
+ #endif
+ *p = dp->conversion;
+ #if USE_SNPRINTF
++# if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3))
+ p[1] = '%';
+ p[2] = 'n';
+ p[3] = '\0';
++# else
++ /* On glibc2 systems from glibc >= 2.3 - probably also older
++ ones - we know that snprintf's returns value conforms to
++ ISO C 99: the gl_SNPRINTF_DIRECTIVE_N test passes.
++ Therefore we can avoid using %n in this situation.
++ On glibc2 systems from 2004-10-18 or newer, the use of %n
++ in format strings in writable memory may crash the program
++ (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
++ in this situation. */
++ p[1] = '\0';
++# endif
+ #else
+ p[1] = '\0';
+ #endif
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-cvsbug-tmpfix.patch b/dev-vcs/cvs/files/cvs-1.12.12-cvsbug-tmpfix.patch
new file mode 100644
index 000000000000..fcd4431e8775
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-cvsbug-tmpfix.patch
@@ -0,0 +1,22 @@
+Index: cvs-1.12.12/src/cvsbug.in
+===================================================================
+--- cvs-1.12.12.orig/src/cvsbug.in
++++ cvs-1.12.12/src/cvsbug.in
+@@ -109,14 +109,14 @@ elif [ -f /bin/domainname ]; then
+ /usr/bin/ypcat passwd 2>/dev/null | cat - /etc/passwd | grep "^$LOGNAME:" |
+ cut -f5 -d':' | sed -e 's/,.*//' > $TEMP
+ ORIGINATOR="`cat $TEMP`"
+- rm -f $TEMP
++ > $TEMP
+ fi
+ fi
+
+ if [ "$ORIGINATOR" = "" ]; then
+ grep "^$LOGNAME:" /etc/passwd | cut -f5 -d':' | sed -e 's/,.*//' > $TEMP
+ ORIGINATOR="`cat $TEMP`"
+- rm -f $TEMP
++ > $TEMP
+ fi
+
+ if [ -n "$ORGANIZATION" ]; then
+
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-fix-massive-leak.patch b/dev-vcs/cvs/files/cvs-1.12.12-fix-massive-leak.patch
new file mode 100644
index 000000000000..5366f50855f1
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-fix-massive-leak.patch
@@ -0,0 +1,52 @@
+buf_free_data must free data independently
+of send or reseived bytes over network.
+
+Moreover, when buffer is usually freed
+buffer _is_ empty, but has one clean mapped page.
+
+I've observed massive 'cvs server' leaks
+when importing large gentoo-x86 repo with 'cvsps'.
+Leak ate all my 32GBs of RAM and killed process.
+(Leaked around 3 pages per client request).
+
+valgrind found the leak easily:
+
+$ valgrind \
+ cvsps \
+ --root :local:$HOME/portage/gentoo-x86.rsync \
+ --fast-export \
+ gentoo-x86/dev-vcs/git-annex 2>l |
+ git fast-import
+
+ ==13504== 1,248 bytes in 52 blocks are still reachable in loss record 41 of 47
+ ==13504== at 0x4C2C19B: malloc (vg_replace_malloc.c:270)
+ ==13504== by 0x48A556: xnmalloc_inline (xmalloc.c:40)
+ ==13504== by 0x48A5B5: xmalloc (xmalloc.c:56)
+ ==13504== by 0x4855F5: new_memnode (pagealign_alloc.c:91)
+ ==13504== by 0x48571B: pagealign_alloc (pagealign_alloc.c:151)
+ ==13504== by 0x485739: pagealign_xalloc (pagealign_alloc.c:182)
+ ==13504== by 0x408DD7: get_buffer_data (buffer.c:98)
+ ==13504== by 0x409C0C: buf_input_data (buffer.c:738)
+ ==13504== by 0x45BB63: do_cvs_command (server.c:3847)
+ ==13504== by 0x45D39E: serve_co (server.c:4809)
+ ==13504== by 0x45F845: server (server.c:6438)
+ ==13504== by 0x438784: main (main.c:1066)
+
+And now it takes constant space (less, than 18MB)
+for 'cvs server' process to convert all gentoo-x86
+by serving more, than 5 000 000 client requests.
+
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+diff --git a/src/buffer.c b/src/buffer.c
+index 3f12513..9a7a559 100644
+--- a/src/buffer.c
++++ b/src/buffer.c
+@@ -526,7 +526,7 @@ buf_copy_data (struct buffer *buf, struct buffer_data *data,
+ void
+ buf_free_data (struct buffer *buffer)
+ {
+- if (buf_empty_p (buffer)) return;
++ if (! buffer->data) return;
+ buf_free_datas (buffer->data, buffer->last);
+ buffer->data = buffer->last = NULL;
+ }
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-format-security.patch b/dev-vcs/cvs/files/cvs-1.12.12-format-security.patch
new file mode 100644
index 000000000000..d710a9020735
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-format-security.patch
@@ -0,0 +1,22 @@
+--- a/diff/diff3.c
++++ b/diff/diff3.c
+@@ -1503,7 +1503,7 @@
+ line = 0;
+ do
+ {
+- printf_output (line_prefix);
++ printf_output ("%s", line_prefix);
+ cp = D_RELNUM (ptr, realfile, line);
+ length = D_RELLEN (ptr, realfile, line);
+ write_output (cp, length);
+--- a/src/main.c
++++ b/src/main.c
+@@ -1375,7 +1375,7 @@
+ {
+ (void) fprintf (stderr, *cpp++, program_name, cvs_cmd_name);
+ for (; *cpp; cpp++)
+- (void) fprintf (stderr, *cpp);
++ (void) fprintf (stderr, "%s", *cpp);
+ exit (EXIT_FAILURE);
+ }
+
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-getdelim.patch b/dev-vcs/cvs/files/cvs-1.12.12-getdelim.patch
new file mode 100644
index 000000000000..837d4408ab1f
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-getdelim.patch
@@ -0,0 +1,21 @@
+The function getdelim() behaves slightly different on FreeBSD,
+only appending to the *line buffer if line_size is 0.
+
+See:
+https://savannah.nongnu.org/bugs/?29466
+http://bugs.gentoo.org/314791
+
+Already comitted upstream:
+http://cvs.savannah.gnu.org/viewvc/ccvs/src/myndbm.c?root=cvs&r1=1.38&r2=1.39
+
+--- a/src/myndbm.c.orig
++++ b/src/myndbm.c
+@@ -213,7 +213,7 @@
+ mydbm_load_file (FILE *fp, List *list, char *filename)
+ {
+ char *line = NULL;
+- size_t line_size;
++ size_t line_size = 0;
+ char *value;
+ size_t value_allocated;
+ char *cp, *vp;
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-hash-nameclash.patch b/dev-vcs/cvs/files/cvs-1.12.12-hash-nameclash.patch
new file mode 100644
index 000000000000..95fd61e0a51a
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-hash-nameclash.patch
@@ -0,0 +1,42 @@
+http://cvs.savannah.gnu.org/viewvc/cvs/ccvs/src/hash.h?r1=1.14.6.2&r2=1.14.6.3&pathrev=cvs1-11-x-branch
+fixed in cvs-1.11.23, cvs-HEAD after cvs-1.12.13a
+
+--- a/src/hash.h.orig 2005-02-01 22:56:48 +0100
++++ b/src/hash.h 2010-03-10 19:00:11 +0100
+@@ -27,26 +27,26 @@
+ };
+ typedef enum ntype Ntype;
+
+-struct node
++struct hashnode
+ {
+ Ntype type;
+- struct node *next;
+- struct node *prev;
+- struct node *hashnext;
+- struct node *hashprev;
++ struct hashnode *next;
++ struct hashnode *prev;
++ struct hashnode *hashnext;
++ struct hashnode *hashprev;
+ char *key;
+ void *data;
+- void (*delproc) (struct node *);
++ void (*delproc) (struct hashnode *);
+ };
+-typedef struct node Node;
++typedef struct hashnode Node;
+
+-struct list
++struct hashlist
+ {
+ Node *list;
+ Node *hasharray[HASHSIZE];
+- struct list *next;
++ struct hashlist *next;
+ };
+-typedef struct list List;
++typedef struct hashlist List;
+
+ List *getlist (void);
+ Node *findnode (List * list, const char *key);
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-install-sh.patch b/dev-vcs/cvs/files/cvs-1.12.12-install-sh.patch
new file mode 100644
index 000000000000..825c0ee6f1c3
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-install-sh.patch
@@ -0,0 +1,12 @@
+diff -ur a/build-aux/install-sh b/build-aux/install-sh
+--- a/build-aux/install-sh 2006-03-25 20:04:46 +0000
++++ b/build-aux/install-sh 2007-09-14 10:53:29 +0100
+@@ -246,7 +246,7 @@
+ fi
+
+ if test -n "$dir_arg"; then
+- $doit $mkdircmd "$dst" \
++ { test -d "$dst" || $doit $mkdircmd -p "$dst"; } \
+ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-mktime-configure.patch b/dev-vcs/cvs/files/cvs-1.12.12-mktime-configure.patch
new file mode 100644
index 000000000000..03d7f35601e2
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-mktime-configure.patch
@@ -0,0 +1,201 @@
+https://bugs.gentoo.org/220040
+https://bugs.gentoo.org/570208
+
+update mktime check to latest autoconf version which is less buggy
+
+--- a/configure
++++ b/configure
+@@ -5299,26 +6059,25 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ /* Test program from Paul Eggert and Tony Leneis. */
+-#if TIME_WITH_SYS_TIME
++#ifdef TIME_WITH_SYS_TIME
+ # include <sys/time.h>
+ # include <time.h>
+ #else
+-# if HAVE_SYS_TIME_H
++# ifdef HAVE_SYS_TIME_H
+ # include <sys/time.h>
+ # else
+ # include <time.h>
+ # endif
+ #endif
+
+-#if HAVE_STDLIB_H
+-# include <stdlib.h>
+-#endif
++#include <limits.h>
++#include <stdlib.h>
+
+-#if HAVE_UNISTD_H
++#ifdef HAVE_UNISTD_H
+ # include <unistd.h>
+ #endif
+
+-#if !HAVE_ALARM
++#ifndef HAVE_ALARM
+ # define alarm(X) /* empty */
+ #endif
+
+@@ -5335,9 +6094,9 @@
+ };
+ #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
+
+-/* Fail if mktime fails to convert a date in the spring-forward gap.
++/* Return 0 if mktime fails to convert a date in the spring-forward gap.
+ Based on a problem report from Andreas Jaeger. */
+-static void
++static int
+ spring_forward_gap ()
+ {
+ /* glibc (up to about 1998-10-07) failed this test. */
+@@ -5356,29 +6115,27 @@
+ tm.tm_min = 0;
+ tm.tm_sec = 0;
+ tm.tm_isdst = -1;
+- if (mktime (&tm) == (time_t)-1)
+- exit (1);
++ return mktime (&tm) != (time_t) -1;
+ }
+
+-static void
++static int
+ mktime_test1 (now)
+ time_t now;
+ {
+ struct tm *lt;
+- if ((lt = localtime (&now)) && mktime (lt) != now)
+- exit (1);
++ return ! (lt = localtime (&now)) || mktime (lt) == now;
+ }
+
+-static void
++static int
+ mktime_test (now)
+ time_t now;
+ {
+- mktime_test1 (now);
+- mktime_test1 ((time_t) (time_t_max - now));
+- mktime_test1 ((time_t) (time_t_min + now));
++ return (mktime_test1 (now)
++ && mktime_test1 ((time_t) (time_t_max - now))
++ && mktime_test1 ((time_t) (time_t_min + now)));
+ }
+
+-static void
++static int
+ irix_6_4_bug ()
+ {
+ /* Based on code from Ariel Faigon. */
+@@ -5391,11 +6148,10 @@
+ tm.tm_sec = 0;
+ tm.tm_isdst = -1;
+ mktime (&tm);
+- if (tm.tm_mon != 2 || tm.tm_mday != 31)
+- exit (1);
++ return tm.tm_mon == 2 && tm.tm_mday == 31;
+ }
+
+-static void
++static int
+ bigtime_test (j)
+ int j;
+ {
+@@ -5417,8 +6173,39 @@
+ && lt->tm_wday == tm.tm_wday
+ && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
+ == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
+- exit (1);
++ return 0;
+ }
++ return 1;
++}
++
++static int
++year_2050_test ()
++{
++ /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
++ ignoring leap seconds. */
++ unsigned long int answer = 2527315200UL;
++
++ struct tm tm;
++ time_t t;
++ tm.tm_year = 2050 - 1900;
++ tm.tm_mon = 2 - 1;
++ tm.tm_mday = 1;
++ tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
++ tm.tm_isdst = -1;
++
++ /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
++ instead of "TZ=America/Vancouver" in order to detect the bug even
++ on systems that don't support the Olson extension, or don't have the
++ full zoneinfo tables installed. */
++ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
++
++ t = mktime (&tm);
++
++ /* Check that the result is either a failure, or close enough
++ to the correct answer that we can assume the discrepancy is
++ due to leap seconds. */
++ return (t == (time_t) -1
++ || (0 < t && answer - 120 <= t && t <= answer + 120));
+ }
+
+ int
+@@ -5432,12 +6219,15 @@
+ isn't worth using anyway. */
+ alarm (60);
+
+- for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
+- continue;
+- time_t_max--;
+- if ((time_t) -1 < 0)
+- for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2)
+- continue;
++ for (;;)
++ {
++ t = (time_t_max << 1) + 1;
++ if (t <= time_t_max)
++ break;
++ time_t_max = t;
++ }
++ time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max;
++
+ delta = time_t_max / 997; /* a suitable prime number */
+ for (i = 0; i < N_STRINGS; i++)
+ {
+@@ -5445,18 +6235,22 @@
+ putenv (tz_strings[i]);
+
+ for (t = 0; t <= time_t_max - delta; t += delta)
+- mktime_test (t);
+- mktime_test ((time_t) 1);
+- mktime_test ((time_t) (60 * 60));
+- mktime_test ((time_t) (60 * 60 * 24));
+-
+- for (j = 1; 0 < j; j *= 2)
+- bigtime_test (j);
+- bigtime_test (j - 1);
++ if (! mktime_test (t))
++ return 1;
++ if (! (mktime_test ((time_t) 1)
++ && mktime_test ((time_t) (60 * 60))
++ && mktime_test ((time_t) (60 * 60 * 24))))
++ return 1;
++
++ for (j = 1; ; j <<= 1)
++ if (! bigtime_test (j))
++ return 1;
++ else if (INT_MAX / 2 < j)
++ break;
++ if (! bigtime_test (INT_MAX))
++ return 1;
+ }
+- irix_6_4_bug ();
+- spring_forward_gap ();
+- exit (0);
++ return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ());
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-mktime-x32.patch b/dev-vcs/cvs/files/cvs-1.12.12-mktime-x32.patch
new file mode 100644
index 000000000000..948fa4d7144e
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-mktime-x32.patch
@@ -0,0 +1,29 @@
+back port changes from upstream gnulib to make this work on x32
+
+https://bugs.gentoo.org/395641
+
+--- cvs-1.12.12/lib/mktime.c
++++ cvs-1.12.12/lib/mktime.c
+@@ -115,6 +115,13 @@
+ #define TM_YEAR_BASE 1900
+ verify (base_year_is_a_multiple_of_100, TM_YEAR_BASE % 100 == 0);
+
++#if INT_MAX <= LONG_MAX / 2
++typedef long int long_int;
++#else
++typedef long long int long_int;
++#endif
++verify (long_int_is_wide_enough, INT_MAX == INT_MAX * (long_int) 2 / 2);
++
+ /* Return 1 if YEAR + TM_YEAR_BASE is a leap year. */
+ static inline int
+ leapyear (long int year)
+@@ -167,8 +174,6 @@
+ int year0, int yday0, int hour0, int min0, int sec0)
+ {
+ verify (C99_integer_division, -1 / 2 == 0);
+- verify (long_int_year_and_yday_are_wide_enough,
+- INT_MAX <= LONG_MAX / 2 || TIME_T_MAX <= UINT_MAX);
+
+ /* Compute intervening leap days correctly even if year is negative.
+ Take care to avoid integer overflow here. */
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-musl.patch b/dev-vcs/cvs/files/cvs-1.12.12-musl.patch
new file mode 100644
index 000000000000..e426cf55fcc7
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-musl.patch
@@ -0,0 +1,13 @@
+http://gcc.gnu.org/ml/gcc/2003-04/msg00518.html
+
+--- a/lib/regex.c
++++ b/lib/regex.c
+@@ -8184,7 +8184,7 @@
+ if (msg_size > errbuf_size)
+ {
+ #if defined HAVE_MEMPCPY || defined _LIBC
+- *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
++ *((char *) mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
+ #else
+ memcpy (errbuf, msg, errbuf_size - 1);
+ errbuf[errbuf_size - 1] = 0;
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-openat.patch b/dev-vcs/cvs/files/cvs-1.12.12-openat.patch
new file mode 100644
index 000000000000..fdb406a45e4f
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-openat.patch
@@ -0,0 +1,21 @@
+Index: cvs-1.12.12/lib/openat.c
+===================================================================
+--- cvs-1.12.12.orig/lib/openat.c
++++ cvs-1.12.12/lib/openat.c
+@@ -55,9 +55,13 @@ rpl_openat (int fd, char const *filename
+ va_list arg;
+ va_start (arg, flags);
+
+- /* Assume that mode_t is passed compatibly with mode_t's type
+- after argument promotion. */
+- mode = va_arg (arg, mode_t);
++ /* If mode_t is narrower than int, use the promoted type (int),
++ not mode_t. Use sizeof to guess whether mode_t is nerrower;
++ we don't know of any practical counterexamples. */
++ if (sizeof (mode_t) < sizeof (int))
++ mode = va_arg (arg, int);
++ else
++ mode = va_arg (arg, mode_t);
+
+ va_end (arg);
+ }
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-rcs2log-coreutils.patch b/dev-vcs/cvs/files/cvs-1.12.12-rcs2log-coreutils.patch
new file mode 100644
index 000000000000..7dda3f0f1724
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-rcs2log-coreutils.patch
@@ -0,0 +1,14 @@
+X-Gentoo-bug: 144114
+
+diff -Nuar cvs-1.12.12.orig/contrib/rcs2log.sh cvs-1.12.12/contrib/rcs2log.sh
+--- cvs-1.12.12.orig/contrib/rcs2log.sh 2003-02-25 21:32:51.000000000 +0000
++++ cvs-1.12.12/contrib/rcs2log.sh 2010-12-06 21:14:33.831532212 +0000
+@@ -620,7 +620,7 @@
+ # Sort the log entries, first by date+time (in reverse order),
+ # then by author, then by log entry, and finally by file name and revision
+ # (just in case).
+-sort -t"$SOH" +2 -4r +4 +0 |
++sort -t"$SOH" -k 3,4r -k 5 -k 1,2 |
+
+ # Finally, reformat the sorted log entries.
+ $AWK -F"$SOH" '
diff --git a/dev-vcs/cvs/files/cvs.pam-include-1.12.12 b/dev-vcs/cvs/files/cvs.pam-include-1.12.12
new file mode 100644
index 000000000000..f401ec082a11
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs.pam-include-1.12.12
@@ -0,0 +1,4 @@
+#%PAM-1.0
+auth include system-auth
+account include system-auth
+session include system-auth
diff --git a/dev-vcs/cvs/files/cvspserver.xinetd.d b/dev-vcs/cvs/files/cvspserver.xinetd.d
new file mode 100644
index 000000000000..0f2edb09cba0
--- /dev/null
+++ b/dev-vcs/cvs/files/cvspserver.xinetd.d
@@ -0,0 +1,14 @@
+service cvspserver
+{
+ disable = yes
+ socket_type = stream
+ wait = no
+ user = root
+ log_type = FILE /var/log/cvspserver
+ protocol = tcp
+ env = HOME=/var/cvsroot
+ log_on_failure += USERID
+ port = 2401
+ server = /usr/bin/cvs
+ server_args = -f --allow-root=/var/cvsroot pserver
+}
diff --git a/dev-vcs/cvs/metadata.xml b/dev-vcs/cvs/metadata.xml
new file mode 100644
index 000000000000..e74b19c857bc
--- /dev/null
+++ b/dev-vcs/cvs/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="server">Enable server support</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-vcs/cvs2cl/Manifest b/dev-vcs/cvs2cl/Manifest
new file mode 100644
index 000000000000..60a14fdf1205
--- /dev/null
+++ b/dev-vcs/cvs2cl/Manifest
@@ -0,0 +1,5 @@
+DIST cvs2cl-2.71.pl.bz2 25347 SHA256 f7a86512f30b73cf2fe63e5e7e68fa3fc9607ab498dafbec704b3f02132f67d9 SHA512 de9e8465da56bec5b541a588e0d2a73f49e060fcadbde33ca63a7c4f93edf37cc50aa3271c4ad466430d3315b95c27d642325bd885ec7afdd6a75586d15d9dbe WHIRLPOOL 2deef9614c0a2061c9663762bbdc46dfc303883d92630d48d54c4dec5f6b4c3516cf34581cbe6d56344b639718f01ce868a3a62951b1509d8c3a01532b53aa7a
+EBUILD cvs2cl-2.71.ebuild 624 SHA256 dafcdf6c15bb68c97df173633aed03d424c033aa9c7bf8b556178a4c93248e5f SHA512 2d52db0e882a92d6723ffe969cedcde89f69f142c2d888624f04cf011735443cf2bd144779241571686dd0acf0655c2653e5f269f27399debc095c8048c62e88 WHIRLPOOL d7e9130142f140980b83eab77810223b3e5bc2bd24e11b057bed34f037b37fd30fd4d27ac9923eb0784811d32e5e060d803a77097c6f241e1595804f4a2a0477
+MISC ChangeLog 2421 SHA256 c4bb003e0064a96fe8683a5c5da9ba852cc036b9f14aa43bb7dbf1511a8481d2 SHA512 9a4596bb46556e21363330c23cdc3877808868c53f86f1ff97f86d836cc5ce17b722da08fbdbfa9ec328807d639f6df63844fcaf81c277a0c03a73c54414a939 WHIRLPOOL 2785d100e29c5234abe54f11eb395beb9ae05898f1f068ae6d6426ab43dadc06f7d0f8f84be996f211762105ce7bf2f0163e3bd96b45e3050a0673825fb8e4ad
+MISC ChangeLog-2015 3488 SHA256 71057fd2411114afee8f9bf0308a5db366bf0a6bd08bf851cf6f7157e47d19fd SHA512 255380e569ed0b5fc18b747acc52f7d8115ee6bb43c8f80871da44320483792d80fe93ac755671233a2525eab84b8dd104f1c1ba21fbd247bcd000f89f3a7b8c WHIRLPOOL 69db192f28783a6eecf4a72d0fc0d512c814c9270d659eaec8f68006acea2c294f6fa39773fb044fdb76aafd65c4ffdcfd8c4b8b7b48fd0963f999c0f823ae42
+MISC metadata.xml 167 SHA256 5fe493e76bba84455c54b3a46adfae5a1bfe01c764ef0d9e5f6d3e8a1d142188 SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33 WHIRLPOOL dc6c3dfc7fd7f0d76c97f0786cb76a55b8564f8437f96d4ccebf985817b9f6dcc4c61830aa5df80d725e4a54b281ea2e03d6b0859214af081112cba15025e64b
diff --git a/dev-vcs/cvs2cl/cvs2cl-2.71.ebuild b/dev-vcs/cvs2cl/cvs2cl-2.71.ebuild
new file mode 100644
index 000000000000..7359f25238f2
--- /dev/null
+++ b/dev-vcs/cvs2cl/cvs2cl-2.71.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DESCRIPTION="produces a GNU-style ChangeLog for CVS-controlled sources"
+HOMEPAGE="http://www.red-bean.com/cvs2cl/"
+SRC_URI="mirror://gentoo/${P}.pl.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+DEPEND="dev-lang/perl"
+
+S=${WORKDIR}
+
+maint_pkg_create() {
+ set -x
+ wget http://www.red-bean.com/cvs2cl/${PN}.pl
+ mv ${PN}.pl ${P}.pl
+ bzip2 ${P}.pl
+ ls -l ${PWD}/${P}.pl.bz2
+ set +x
+}
+#pkg_setup() { maint_pkg_create; }
+
+src_install() {
+ newbin ${P}.pl ${PN} || die
+}
diff --git a/dev-vcs/cvs2cl/metadata.xml b/dev-vcs/cvs2cl/metadata.xml
new file mode 100644
index 000000000000..7a38bb900964
--- /dev/null
+++ b/dev-vcs/cvs2cl/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-vcs/cvs2svn/Manifest b/dev-vcs/cvs2svn/Manifest
new file mode 100644
index 000000000000..672ed257e770
--- /dev/null
+++ b/dev-vcs/cvs2svn/Manifest
@@ -0,0 +1,5 @@
+DIST cvs2svn-2.4.0.tar.gz 514891 SHA256 a6677fc3e7b4374020185c61c998209d691de0c1b01b53e59341057459f6f116 SHA512 726fb8a3b3261eeb6d8097973f2741aa7a433f847bcef6701a6c0b7dc3d8fb5da1726e40f008d1dffac71791b953ddb9ade5db5809c98731d78e94da6465506a WHIRLPOOL b1040b65c6d55ad3144e9ca8d358c7da6833f7990d766d32d7df3bec0949fd6fb66a1f4ccca6ec48bd4a39072deb9eb5f444e3efaee7ab299e086ee0edc72b02
+EBUILD cvs2svn-2.4.0-r1.ebuild 1237 SHA256 d7ad727e7c3f121e7942e67be7a2d18fa64181b2356f7a535ee69b80d05d5338 SHA512 a8878f95cd16ed0d28f52dd5f6c2709e5cf6f4f1d5a1c14b002f8dee0d6c6800328c53860a1e60fa05af60a6c2a18dc1da6866a217bba874eec417ac446b9fc6 WHIRLPOOL 8993c99d948de40c34f08979558ed885f93b4ea77fc66b2d0d950f2bb2e21977f075ee3b7a6a4e69de556cc68e0d3a15f47f54322f8e9cd909e53a2f375707ac
+MISC ChangeLog 3488 SHA256 3522e5b7cba5702723e5aa292db2350b7b6972674d262be897792656266708c1 SHA512 14754a2103bb3330db403395ca96f60b1c026eaff9948cc2bc5740cc7cc5b0b90fd6413daef94d3c79d2e14485f917a7b63b3eb04b5501ac3e66f30ae97dc4f8 WHIRLPOOL 16d0c680e4657ce3bedf36e2edb188d5777d47f276fe0b0e1641302770ed9387f702d54aedacbfc9a6afce90194411d225ae525620d2e40de04736844c4c6202
+MISC ChangeLog-2015 5705 SHA256 bd8b37cfb011bc77dd0de2f994e88283a440f4fb4dadd72a2a5ce9799d5c86ee SHA512 2f13a46990d65ce2c6d69f30694b0843db9eaa3ed30c3d5606de1df368ab43c0ec96908e17ce535c68d2bdc572d61da474ef65489825a558d207db6d46d360e4 WHIRLPOOL 8f4a30fa054c9da447f775f1f5f6d6f2c3fd606282e308ba300cbccb8371fed96fce6e504f9d4a0536532e61474e9c0f04eea9efc7ff32aea4c0d41209c285ef
+MISC metadata.xml 282 SHA256 4b8fd7f51269528be58ba6a6458c29bdfe343d33092f78dee4e6ffdb995ab01e SHA512 165091ed860bbc62f00932c46e6d4944fe7444ac8bdfd1014a9781b8769d1a9d234578937b63ac7b90bdd8f57b21de50f74e759a44fa2b2d1e8edd854aa17ae3 WHIRLPOOL 781aa38b2eed3e79c66696142286775d440510b437fe645ab10dd20d440ef17a190d339028b425f848160fc66b92847ac491c938a48ea2c890bd2495f3214206
diff --git a/dev-vcs/cvs2svn/cvs2svn-2.4.0-r1.ebuild b/dev-vcs/cvs2svn/cvs2svn-2.4.0-r1.ebuild
new file mode 100644
index 000000000000..bfdeb720bee4
--- /dev/null
+++ b/dev-vcs/cvs2svn/cvs2svn-2.4.0-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+FILEVER="49237"
+
+DESCRIPTION="Convert a CVS repository to a Subversion repository"
+HOMEPAGE="http://cvs2svn.tigris.org/"
+SRC_URI="http://cvs2svn.tigris.org/files/documents/1462/${FILEVER}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="bazaar git test"
+
+DEPEND=">=dev-vcs/subversion-1.0.9"
+RDEPEND="${DEPEND}
+ bazaar? ( >=dev-vcs/bzr-1.13[${PYTHON_USEDEP}] )
+ git? ( >=dev-vcs/git-1.5.4.4[${PYTHON_USEDEP}] )
+ dev-vcs/rcs"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ python_fix_shebang .
+}
+
+src_compile() {
+ distutils-r1_src_compile
+ emake man
+}
+
+src_install() {
+ distutils-r1_src_install
+ insinto "/usr/share/${PN}"
+ doins -r contrib cvs2{svn,git,bzr}-example.options
+ doman *.1
+}
+
+python_test() {
+ # Need this because subversion is localized, but the tests aren't
+ export LC_ALL=C
+ "${PYTHON}" -W ignore run-tests.py
+}
+
+pkg_postinst() {
+ elog "Additional scripts and examples have been installed to:"
+ elog " /usr/share/${PN}/"
+}
diff --git a/dev-vcs/cvs2svn/metadata.xml b/dev-vcs/cvs2svn/metadata.xml
new file mode 100644
index 000000000000..3531d7d2985b
--- /dev/null
+++ b/dev-vcs/cvs2svn/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+</maintainer>
+<use>
+ <flag name="bazaar">Support for dev-vcs/bzr</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-vcs/cvsd/Manifest b/dev-vcs/cvsd/Manifest
new file mode 100644
index 000000000000..216bcef8e0b1
--- /dev/null
+++ b/dev-vcs/cvsd/Manifest
@@ -0,0 +1,8 @@
+AUX cvsd.rc6 373 SHA256 f5e550b328b71d4ebe5761854e34b5fc54307156e8466db0a8657b487bfc6255 SHA512 f71b01a2e5b7eb12cf0a9226015192e82253cec300a19f9841e7ad1b04210ee84532086bc8eb681ea1c4bd19fc0d38c17b365926a21fca4c2752f979759e8e5f WHIRLPOOL 40a6fc358fadea4cb791eedde682c5bcf9962721dfd8772581e3d63107a751d89c379370acf26638ba03858fc4bd6c5faaf09861530fbfb1704d9b7356bb6c10
+DIST cvsd-1.0.17.tar.gz 247026 SHA256 49d6a0c95bbb2c2e87f549eea8941ca115e6eb147c9720f8fb88678c84c0802a SHA512 beea48a288ff580e6cc7fdcd1997b7af01e7ea1b1c185006c92cd7758e7e557d2b1b4fc820bd03b787ebc74b5fa9ef661584d2c523480cf6418f452f5f929c9d WHIRLPOOL 2fa9ae2e679933c3777b4e124f2a4733056120d591f61b1cb711642f76c2f3fa59e30eb9275ddf90f8caf6d49ba395e7e1d4c085ade1214493c7f0294b02492b
+DIST cvsd-1.0.7.tar.gz 193964 SHA256 0a5891f3e2bff1bd8b304d5a7ce8426df635dc73fd5f690464c17430844c89c5 SHA512 6ffc3d554e43d50c0fa4861b3f6cc6c696298d882074f017da80068f7afbca3361e5d88fbd13fcadf930afee2df8d6a0777710bc0f992dd208b7674595cc8ea1 WHIRLPOOL 4f0d3dbe7267087747d7174cce941808091f88c146e4809acec3b4b9afb1ea715d094630ceaacf6feb34752b7603413f52422e1e2d7d232784015669bbcfcd76
+EBUILD cvsd-1.0.17.ebuild 1017 SHA256 d9a3d3a14a8950e9761fbd65932d24fa171d02d0d26df68f291e223bb4196299 SHA512 a27815489cb248cacd5408715100e473b510ef852a6a6f8e3eaa83786d950561bcf5bd0967bd2f6a797396ec4d092452a06e14fc526ed15eb970b40fb9d29194 WHIRLPOOL 12bdb9b2037b74258f793cbf20a16081fd8adcd6658a1ae9a53ad5c1dca5ca9907986ed713c933a8f6cd1d0bd0fd50f118d2b03f7b7b7e1e307895800a89092c
+EBUILD cvsd-1.0.7.ebuild 968 SHA256 2a58d52c4bbf609a0c7f9a375530f0b505dcc53c1c67c1113cfd88b1d9059d40 SHA512 9ec78e774e522eeeba1ee4c0a5df42d0f1f2d66cea7c2dc3691449fc22c7ca949cbd2814437afe409955e5df8e7cb6ad6c9be2ae863c6be7e6706507e592df74 WHIRLPOOL 933db7fd4807f011fa382b5e4542130beed112616e6242ccc839fe6e591ba7943ebd43e90887d35558a3a2d9051a42170ecfc232c53a9192556ed30868bd14a5
+MISC ChangeLog 2607 SHA256 30015c44eca779b3903f988a3fa7d5f564ca310badf89b8dd5f28304359ad2ea SHA512 db419c12c0d369c035b4ad8de83035369fbbd756a780d9bbc8218444e5c2c22fa5930e7052ab34ee041390787711f636a362dabafa49739948027348acde4b1e WHIRLPOOL 60720891b3bd38c076712f5d27ac97df4bf983dc7fc4ada39e13f5c87e7f1550b4f8519a78a22e43d96ced8bfcb8e741f1d0d151e39c7e70533e52b46f2e1bdc
+MISC ChangeLog-2015 4486 SHA256 08ad943836df5917c057d3a0dd07edefe820008e38a1aefdf645a0972f98751c SHA512 356ba07b10e736c6f76ad80c1f163687e40879d714609b021225a7d322cca6ba191bb719fbcdcd4f76ec3287d43e0001e50d73088125fcf606d18965ceaf8a9b WHIRLPOOL 5fde042c27673e6a33f8e905e2e04e31dcdd7fca9699c2d4f530e570584afa1baafa1ab93c4268c95c75b7c6220bc5dcc76e3fbc4b49dc4f9fb9a8b823c2b95f
+MISC metadata.xml 167 SHA256 5fe493e76bba84455c54b3a46adfae5a1bfe01c764ef0d9e5f6d3e8a1d142188 SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33 WHIRLPOOL dc6c3dfc7fd7f0d76c97f0786cb76a55b8564f8437f96d4ccebf985817b9f6dcc4c61830aa5df80d725e4a54b281ea2e03d6b0859214af081112cba15025e64b
diff --git a/dev-vcs/cvsd/cvsd-1.0.17.ebuild b/dev-vcs/cvsd/cvsd-1.0.17.ebuild
new file mode 100644
index 000000000000..a16eff05f522
--- /dev/null
+++ b/dev-vcs/cvsd/cvsd-1.0.17.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils user
+
+DESCRIPTION="CVS pserver daemon"
+HOMEPAGE="http://ch.tudelft.nl/~arthur/cvsd/"
+SRC_URI="http://ch.tudelft.nl/~arthur/cvsd/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="tcpd"
+
+DEPEND=">=dev-vcs/cvs-1.11.6
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )"
+RDEPEND="${DEPEND}
+ >=dev-lang/perl-5.8.0"
+
+pkg_setup() {
+ enewgroup cvsd
+ enewuser cvsd -1 -1 /var/lib/cvsd cvsd
+}
+
+src_compile() {
+ econf $(use_with tcpd libwrap) || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+ dosed 's:^Repos:# Repos:g' /etc/cvsd/cvsd.conf
+ keepdir /var/lib/cvsd
+
+ dodoc AUTHORS ChangeLog FAQ INSTALL NEWS README TODO
+
+ newinitd "${FILESDIR}/cvsd.rc6" ${PN}
+}
+
+pkg_postinst() {
+ elog "To configure cvsd please read the README in "
+ elog "/usr/share/doc/${PF}/"
+}
diff --git a/dev-vcs/cvsd/cvsd-1.0.7.ebuild b/dev-vcs/cvsd/cvsd-1.0.7.ebuild
new file mode 100644
index 000000000000..52450ef26a39
--- /dev/null
+++ b/dev-vcs/cvsd/cvsd-1.0.7.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils user
+
+DESCRIPTION="CVS pserver daemon"
+HOMEPAGE="http://ch.tudelft.nl/~arthur/cvsd/"
+SRC_URI="http://ch.tudelft.nl/~arthur/cvsd/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ~sparc x86"
+IUSE="tcpd"
+
+DEPEND="tcpd? ( >=sys-apps/tcp-wrappers-7.6 )"
+RDEPEND="${DEPEND}
+ >=dev-lang/perl-5.8.0
+ >=dev-vcs/cvs-1.11.6"
+
+pkg_setup() {
+ enewgroup cvsd
+ enewuser cvsd -1 -1 /var/lib/cvsd cvsd
+}
+
+src_compile() {
+ econf $(use_with tcpd libwrap) || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+ dosed 's:^Repos:# Repos:g' /etc/cvsd/cvsd.conf
+ keepdir /var/lib/cvsd
+
+ dodoc AUTHORS ChangeLog FAQ INSTALL NEWS README TODO
+
+ newinitd "${FILESDIR}"/cvsd.rc6 ${PN}
+}
+
+pkg_postinst() {
+ elog "To configure cvsd please read the README in "
+ elog "/usr/share/doc/${PF}/"
+}
diff --git a/dev-vcs/cvsd/files/cvsd.rc6 b/dev-vcs/cvsd/files/cvsd.rc6
new file mode 100644
index 000000000000..63e0d2a085b0
--- /dev/null
+++ b/dev-vcs/cvsd/files/cvsd.rc6
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting cvsd"
+ start-stop-daemon --start --quiet --background --exec /usr/sbin/cvsd
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping cvsd"
+ start-stop-daemon --stop --quiet --pidfile /var/run/cvsd.pid
+ eend $?
+}
diff --git a/dev-vcs/cvsd/metadata.xml b/dev-vcs/cvsd/metadata.xml
new file mode 100644
index 000000000000..7a38bb900964
--- /dev/null
+++ b/dev-vcs/cvsd/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-vcs/cvsgraph/Manifest b/dev-vcs/cvsgraph/Manifest
new file mode 100644
index 000000000000..8810b740e3bd
--- /dev/null
+++ b/dev-vcs/cvsgraph/Manifest
@@ -0,0 +1,7 @@
+DIST cvsgraph-1.6.1.tar.gz 114337 SHA256 05cdbed36bb2dd37aa382fc7f4410caac20dcf9176a50e922551cdc965dbc60b SHA512 6548d43784cd6e2e85777e0158371c6332f96f72fc8d1827dcece8aa54d77139021586e468155ec003d371eaa7095cd57a5004a1ed76bc55db325c3899105e6b WHIRLPOOL bd12cafe2d3fe5436adbb508b689f3e7bea1b8dfbc7aa02974ba23bc6d4dc57fe2f1e9f07325924e0ee949709091362a821948cda9b4273197eaac6650694add
+DIST cvsgraph-1.7.0.tar.gz 202678 SHA256 74438faaefd325c7a8ed289ea5d1657befe1d1859d55f8fbbcc7452f4efd435f SHA512 b2a5bec073e7fbba2a2b1975bb4583c8fa87d29a985b7bcedcaf556c744b822ea5ff65b5ca3c4bd6da6bb6697f5e023a7ce35cf5084f2d59fdd15297790e7aab WHIRLPOOL 1ca604faf530c2d3820fcc0d1c9e2c6bee4c4582f1caf93c98facb4610892a2a7160c0378daf175479af3ece76f2f35c08c7aaeabdd78a00e1f1e52e1e579c74
+EBUILD cvsgraph-1.6.1.ebuild 981 SHA256 c60b101522b9f3d8d6c64f17d0358a656f6edf5dcb6650a537450c1072cb251e SHA512 094bec5e1625dd96c0b7f99db4be3b7f55b792081729454c54d0625f7814d3904e46a531f189f83b88a8c92759d5616c7a1855e55e54e091c815c08b3025ab0e WHIRLPOOL 705c6e94f49a2d2d91d13aff122bf8f4e87629564475c46ae381e06d5a624f0e60696125cfef921a4e66c08677ce9323d221da82055834475e347cedd9f8382b
+EBUILD cvsgraph-1.7.0.ebuild 990 SHA256 310e78e3ab6448e286fee8b1dd639167510ebac5be01cf6683f8937893ee8b66 SHA512 0e970e43aec838091a368de7fd9615c5e73170352ccacb919f097b8aa1be2acb1135fe231506a0b9b9fcfb9c20d90c816faf7e4f8b984cfb242f3b5656110fdf WHIRLPOOL ec28661d2672145fde825db6faa5754a61be295582d19619b92e37febf772b5459da1d87b04452391d4cde55fd93e1e3626b0999713878d67bfc337f8785a12a
+MISC ChangeLog 2876 SHA256 2ad6fff5ff95d7550240ee4b9c9b38c313fad8f331a624b37c81969de4d3b389 SHA512 fbdf255a02d3ac407168623d16bbb66781a3e41d59f74390512a5e5972f059b8121d93724fcd8246c6141ce96e8ccda4c5a3f38ee9619713f0a1a27207d8df65 WHIRLPOOL dbbd25f3c8405de12e7220885fb8ff56aecaab9852486135658879a5815d65702b890276eebe7b0e124e80196d8f4f35147c88ca32666f05208b65e805dc75dd
+MISC ChangeLog-2015 3815 SHA256 c9cdf4782830eb376e794cf327e25e4079706dd2ab8027fcffceec7a0658923d SHA512 1620b2a553f657fbdadfc1ae9448f732abf929c8c2eff5f9a40265cf691026399e9d179a02f5b4d1fa78d29d0ad18eddd3d2f29ce5d218dfd2034b6f5b08ab17 WHIRLPOOL 8780c6de1b3dc5645d19310d70956a7e65ed12e4382fd3d837b2cbdf547998f3b7de77361ecf884424579dce01467c3f03aed64a3a95c4a0fa79c8d320e5a099
+MISC metadata.xml 493 SHA256 833708108af4b3c54e9739182fea71ea008ab7c712ce903172d85b5777a564b0 SHA512 8f12f7ce3e9039383476cb5802de8ab3e8ac01cb61ad25510e2c4e4ff3f075da0373197745365074c33fcafb33b680f121dc07a77499075e98896f8b4f5d26ba WHIRLPOOL ff606f0f01c40d2132820bd08d44ef8926d242cffde958bf92c877661994e2b01e1327c7129ce913d4c17d8ec5cfe04737ec645ed47d077a7c4776d39dd601fd
diff --git a/dev-vcs/cvsgraph/cvsgraph-1.6.1.ebuild b/dev-vcs/cvsgraph/cvsgraph-1.6.1.ebuild
new file mode 100644
index 000000000000..d19178869991
--- /dev/null
+++ b/dev-vcs/cvsgraph/cvsgraph-1.6.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DESCRIPTION="CVS/RCS repository grapher"
+HOMEPAGE="http://www.akhphd.au.dk/~bertho/cvsgraph"
+SRC_URI="http://www.akhphd.au.dk/~bertho/cvsgraph/release/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-alpha amd64 -ia64 ppc sparc x86"
+IUSE="gif jpeg nls png truetype zlib"
+
+DEPEND="media-libs/gd
+ zlib? ( sys-libs/zlib )
+ gif? ( media-libs/giflib )
+ png? ( media-libs/libpng )
+ jpeg? ( virtual/jpeg )
+ truetype? ( media-libs/freetype )"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ econf \
+ $(use_enable nls) \
+ $(use_enable gif) \
+ $(use_enable png) \
+ $(use_enable jpeg) \
+ $(use_enable truetype) \
+ || die "econf failed"
+
+ emake || die "emake failed"
+}
+
+src_install () {
+ dobin cvsgraph
+ insinto /etc
+ doins cvsgraph.conf
+ doman cvsgraph.1 cvsgraph.conf.5
+ dodoc ChangeLog README contrib/*.php3
+ docinto automatic_documentation ; dodoc contrib/automatic_documentation/*
+}
diff --git a/dev-vcs/cvsgraph/cvsgraph-1.7.0.ebuild b/dev-vcs/cvsgraph/cvsgraph-1.7.0.ebuild
new file mode 100644
index 000000000000..7a288f2c97f8
--- /dev/null
+++ b/dev-vcs/cvsgraph/cvsgraph-1.7.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DESCRIPTION="CVS/RCS repository grapher"
+HOMEPAGE="http://www.akhphd.au.dk/~bertho/cvsgraph"
+SRC_URI="http://www.akhphd.au.dk/~bertho/cvsgraph/release/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-alpha amd64 -ia64 ~ppc ~sparc x86"
+IUSE="gif jpeg nls png truetype zlib"
+
+DEPEND="media-libs/gd
+ zlib? ( sys-libs/zlib )
+ gif? ( media-libs/giflib )
+ png? ( media-libs/libpng )
+ jpeg? ( virtual/jpeg )
+ truetype? ( media-libs/freetype )"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ econf \
+ $(use_enable nls) \
+ $(use_enable gif) \
+ $(use_enable png) \
+ $(use_enable jpeg) \
+ $(use_enable truetype) \
+ || die "econf failed"
+
+ emake || die "emake failed"
+}
+
+src_install () {
+ dobin cvsgraph
+ insinto /etc
+ doins cvsgraph.conf
+ doman cvsgraph.1 cvsgraph.conf.5
+ dodoc ChangeLog README AUTHORS contrib/*.php
+ docinto automatic_documentation ; dodoc contrib/automatic_documentation/*
+}
diff --git a/dev-vcs/cvsgraph/metadata.xml b/dev-vcs/cvsgraph/metadata.xml
new file mode 100644
index 000000000000..8c51f3e8f767
--- /dev/null
+++ b/dev-vcs/cvsgraph/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ CvsGraph is a utility to make a graphical representation of all
+ revisions and branches of a file in a CVS/RCS repository. It has been
+ inspired by the 'graph' option in WinCVS, but I could not find a
+ stand-alone version of this graph code. So, it was time to write one.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-vcs/cvsps/Manifest b/dev-vcs/cvsps/Manifest
new file mode 100644
index 000000000000..4eb32081a8cf
--- /dev/null
+++ b/dev-vcs/cvsps/Manifest
@@ -0,0 +1,13 @@
+AUX cvsps-2.1-build.patch 396 SHA256 77f31e3e4cbd223a69f0a8be0bec568520eb821bd0ffea5fae64d918adda298d SHA512 bd4e9ea02a89038e9b3d16aa075649659836d36d76145aa643008cf017fde032d66273bc4148340b1b75bfaa83830ab1381c9f9295c54915e19386538b232991 WHIRLPOOL 8eb87f79c78acfea4297af91309b4d2d4e953317b0e9ee5a6f139756a8feb8fa403d665d521bf9f767920f127b0f4f344581d4dc6784de1133964cc1c33d207b
+AUX cvsps-2.1-solaris.patch 3064 SHA256 1df81614d4be5f269aea11fc2238c8835f7b8736f42fccd263e12c92aeb129f2 SHA512 b42581865d988166dd9bb6a1685feb9786c1f424f778afd795aec94f734cfd2b06955d87505c52e7d48d117c8652c7bc51730fcd4f2598acc58c810c32f6af2f WHIRLPOOL f19da0cb0a414c9e025a394f5731057b9aeaa83a9cde84de1422103276c2c0ff2175314b7fd97dd16b19d307629243990e38778857708536159ff2747d253b42
+AUX cvsps-2.2_beta1-solaris.patch 3648 SHA256 607a22c49a2a7261048c8d53f2602c65ca7529f150afe7215c07cdb6ff7db64c SHA512 a876362b082b3a877a5ee4da7c23eab24d6f00362cd7ea33d93a71e93a185d0c30421f502d3029e493e99ef2e2ef34f0d6092f98134c3e54480e892ccaddf591 WHIRLPOOL a14381df95abe6d259241fddcac33a762727efb0fd828d0c2020e6a537a3b6b31778b7be658f2be646e4cb73df92ec6307b504a605a7ac69a86f11c273c5528e
+AUX cvsps-3.13-make.patch 1189 SHA256 5aa8e745d6d4a41eb3640bbf5df7c4a95879ab64787a3f1ad32afd04af7ed159 SHA512 0ddc7115a0a66f418f81468230c92b17f3b7c6a38a82505de79c27764ee46ee5805ebf1d0a12360df77718cccf9bf2ac61f45b21c1cfecb7700e648ea1187e9e WHIRLPOOL f9b4ee45f105410ce1e0f317f3d3120a94183e0b33fc6a102ca13dc5ecfedf34ab5deb6583494865f9e419457d1b5eacd1a2c982c020182e10f3470a7972804b
+DIST cvsps-2.1.tar.gz 61634 SHA256 91d3198b33463861a581686d5fcf99a5c484e7c4d819384c04fda9cafec1075a SHA512 8ba703fc4dd1c7a8201f4cefec533a6e228943f53f5380d8d17107718d8cb607c861a733d7ad1d6ed9288c4dbeae9fd59ceaf52172f16885a00d000a667e0e38 WHIRLPOOL 8299c0ff5ae5701409142c02fad6c604b2aadd2038282b29b49ff8934eb0740f456b3e4d837ed966e31af7ebb73f2e8e97bd48190ed806dbb3ed76182ba85caf
+DIST cvsps-2.2b1.tar.gz 62763 SHA256 6906acb3636cdb4a4a9d608111aec22a85530037cb08a62ed5eb74ca0b218f81 SHA512 9e6f95df53cdc16566f1606a9299ee641de9b020a373c9004218b3db23fbdcce9e32d4a57dce332580bc4e6429b90977c2753facd0ad8f9a9234b79f03a7a33d WHIRLPOOL e60706d0324a28a6bcbdc6aeb73e51211295e2b6462d04d7b1bc54634ae8b558971ac0545860a7649dd230a8de823e9ec1912b97bfe584d59bc76808b49d6ec8
+DIST cvsps-3.13.tar.gz 64437 SHA256 5f078a6e02c394f663893751f128caf643fe00a30b559e87db6f45190c623799 SHA512 9fe2be4839c7a6f31a788102fd6ebb1e2e0693f09a4dad2bca5cd5d0788088eb34388d592778f04bcfec9817e3ffffb66d70db9aa47996d3bd1c45cf7cd8464f WHIRLPOOL 52694e8b2b3cb0924333d80533618f687676f0b44f782c1c4f7bbc28a4f4e6a425c966823f027db7dcee27695c27c0b136115e449e83eac43459a7da03baa57c
+EBUILD cvsps-2.1-r1.ebuild 937 SHA256 4f7ed5449fabdebe288c444cce8523f73c9e46e3a0bf008f4d015ca18b307909 SHA512 70d4586291b8530c6c8e4f32938846fe9d2434cf8244a4fd335dde9effddb18b586c00f16017e2585651c004fa31ada33f2b4ac95587fe5efda0665be0df7cec WHIRLPOOL 65e9920b65f0ae84814a510e839ab6f7e9921465218f36bdb7b27ab9b0b9c255235b894db5e355f39e5b67e750c2fe028e2d6cad0490a701cfd503049de797b6
+EBUILD cvsps-2.2_beta1.ebuild 958 SHA256 c714a2889bd9b20dd66247307c7e16dbcc5ea5032dbcb8372159a9ddddea09f4 SHA512 f80b8948df6bbefe985734a2d25f4c6d53f9ea646f323bf3686f0e5ec27309e85c498b13020835076c6a26b4af6f30f031c52de078a076e84f53fe72958bd803 WHIRLPOOL 55fd5db11861d310f1ecb8583c764bb57fcff0f5e4f05f13c9e14cde63e68f2c0b343eea7aba8a94b7359692ed02ce0daf64ac47867da261defc8d5aebba1344
+EBUILD cvsps-3.13-r1.ebuild 1039 SHA256 852036d0c4e226029149dcf8b86ddeffa6bac1a6ea01321a095759f8e611fcfe SHA512 7ec4f75a65fa76e699edb9950f0102749cac5789c04f9a03da24a6cf72e2330ef563ecdad60c543ecf8509aa8f79eaafd639d7e2edd3d104bd0bed9a9c0f8c0e WHIRLPOOL 95aefedd9d3d6c16c2f66d25df4b929a69c7ebd44ad5c43029cc658ef3a5141a2fe483d73afae577d4f33d31fe0d0e8deedf912c1478b2d062e519613a1581bc
+MISC ChangeLog 2666 SHA256 bf45352b9614ba2e28428ff0a840eeee70fa2b6fe235750f8f62b21ba7766e80 SHA512 31146f47ff89dec146d91cd0b1acd5a80007ffc7cc624e7bb68e857c7a2f34cb9c872a821240d0a61f9aa509775a4e61c856110ccf44a6fbd95f7cea2ce76c40 WHIRLPOOL 1d06264f3c48eb140fa4c44ff8d657efe46b198ba88a1eab41d8635c669f26fa9f6b833cba612d036c5e558b9518664e160ef353404d506bfcdf75fb14420450
+MISC ChangeLog-2015 6582 SHA256 199f4edc5cf349ad8868f4ebaa930e3578344fc530c16742476afd20ee049a37 SHA512 26c5c8a2c273872e0058e5e620548cf1b2273f0c728a1bb7996f9dec397577c09fe349306659cbd9699b049ddf290faad6cedf3a7a967c1cae22340bfbb6ebc4 WHIRLPOOL 423302d9ae13cb5eeafb400832514cbb7a7d6a8e90ab872e1e605d42796116d69a5cae55154631e723629657cc2a11d3bab030d3232f03d2fa60986b90814ada
+MISC metadata.xml 323 SHA256 75bcb59b2619d83e62832c580a139c9ba52a558e431d3b973187282dd79f483b SHA512 0788681a1fce2712b5722546e57da91895b3c292ff564062f0b16d9c910ad96b4a46e18e5d71a64fdd0a6980d000c2200b791fe95d1b2bff286e94ee60ce4edf WHIRLPOOL 4e3486ba27f6336956b1fe765f901af57e707903df58afbe42fd1555bac3df0801ea8dd071fe0b99fbc6cecb703fe6991bfb794e7d2013fb6b930e3ea9faa11a
diff --git a/dev-vcs/cvsps/cvsps-2.1-r1.ebuild b/dev-vcs/cvsps/cvsps-2.1-r1.ebuild
new file mode 100644
index 000000000000..1b0d6215d688
--- /dev/null
+++ b/dev-vcs/cvsps/cvsps-2.1-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils toolchain-funcs
+
+MY_P="${P/_/}"
+DESCRIPTION="Generates patchset information from a CVS repository"
+HOMEPAGE="http://www.cobite.com/cvsps/"
+SRC_URI="http://www.cobite.com/cvsps/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-build.patch
+ epatch "${FILESDIR}"/${P}-solaris.patch
+ # no configure around
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ sed -i -e '/^LDLIBS+=/s/$/ -lsocket/' Makefile || die
+ fi
+ tc-export CC
+}
+
+src_install() {
+ dobin cvsps || die
+ doman cvsps.1
+ dodoc README CHANGELOG
+}
diff --git a/dev-vcs/cvsps/cvsps-2.2_beta1.ebuild b/dev-vcs/cvsps/cvsps-2.2_beta1.ebuild
new file mode 100644
index 000000000000..4b5260759586
--- /dev/null
+++ b/dev-vcs/cvsps/cvsps-2.2_beta1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils toolchain-funcs
+
+MY_P="${P/_beta/b}"
+DESCRIPTION="Generates patchset information from a CVS repository"
+HOMEPAGE="http://www.cobite.com/cvsps/"
+SRC_URI="http://www.cobite.com/cvsps/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="sys-libs/zlib"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.1-build.patch
+ epatch "${FILESDIR}"/${P}-solaris.patch
+ # no configure around
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ sed -i -e '/^LDLIBS+=/s/$/ -lsocket/' Makefile || die
+ fi
+ tc-export CC
+}
+
+src_install() {
+ dobin cvsps || die
+ doman cvsps.1
+ dodoc README CHANGELOG
+}
diff --git a/dev-vcs/cvsps/cvsps-3.13-r1.ebuild b/dev-vcs/cvsps/cvsps-3.13-r1.ebuild
new file mode 100644
index 000000000000..986c1aeef865
--- /dev/null
+++ b/dev-vcs/cvsps/cvsps-3.13-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Generates patchset information from a CVS repository (supports fast-import)"
+HOMEPAGE="http://www.catb.org/~esr/cvsps/"
+SRC_URI="http://www.catb.org/~esr/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="sys-libs/zlib"
+DEPEND="${RDEPEND}
+ app-text/asciidoc"
+
+RESTRICT=test # upstream does not ship tests
+
+src_prepare() {
+ local gentoo_name=${PN}-3
+
+ epatch "${FILESDIR}"/${P}-make.patch
+ mv ${PN}.asc ${gentoo_name}.asc || die
+ sed -i "s/${PN}/${gentoo_name}/g" ${gentoo_name}.asc || die
+ sed -i "s/PROG = cvsps/PROG = ${gentoo_name}/" Makefile || die
+
+ tc-export CC
+ export prefix="${EPREFIX}"/usr
+}
+
+src_install() {
+ default
+ dodoc README
+}
diff --git a/dev-vcs/cvsps/files/cvsps-2.1-build.patch b/dev-vcs/cvsps/files/cvsps-2.1-build.patch
new file mode 100644
index 000000000000..bcb394d5dd0b
--- /dev/null
+++ b/dev-vcs/cvsps/files/cvsps-2.1-build.patch
@@ -0,0 +1,18 @@
+--- Makefile.orig 2008-03-24 07:16:47.000000000 -0400
++++ Makefile 2008-03-24 07:17:18.000000000 -0400
+@@ -3,6 +3,7 @@
+ CC?=gcc
+ CFLAGS?=-g -O2 -Wall
+ CFLAGS+=-I. -DVERSION=\"$(MAJOR).$(MINOR)\"
++LDLIBS+=-lz
+ prefix?=/usr/local
+ OBJS=\
+ cbtcommon/debug.o\
+@@ -21,7 +22,6 @@
+ all: cvsps
+
+ cvsps: $(OBJS)
+- $(CC) -o cvsps $(OBJS) -lz
+
+ install:
+ [ -d $(prefix)/bin ] || mkdir -p $(prefix)/bin
diff --git a/dev-vcs/cvsps/files/cvsps-2.1-solaris.patch b/dev-vcs/cvsps/files/cvsps-2.1-solaris.patch
new file mode 100644
index 000000000000..3e063fd9248b
--- /dev/null
+++ b/dev-vcs/cvsps/files/cvsps-2.1-solaris.patch
@@ -0,0 +1,131 @@
+Modified version of
+http://cvs.openpkg.org/fileview?f=openpkg-src/cvsps/cvsps.patch&v=1.13
+
+Index: cache.c
+--- cache.c.orig 2008-04-02 03:18:44 +0200
++++ cache.c 2008-04-02 09:10:25 +0200
+@@ -361,7 +361,7 @@
+
+ strcpy(buff, p_buff);
+
+- while ((s = strsep(&p, ";")))
++ while ((s = my_strsep(&p, ";")))
+ {
+ char * c = strchr(s, ':');
+
+Index: cvs_direct.c
+--- cvs_direct.c.orig 2008-04-02 03:18:44 +0200
++++ cvs_direct.c 2008-04-02 09:10:25 +0200
+@@ -92,12 +92,12 @@
+
+ strcpy_a(root, p_root, PATH_MAX);
+
+- tok = strsep(&p, ":");
++ tok = my_strsep(&p, ":");
+
+ /* if root string looks like :pserver:... then the first token will be empty */
+ if (strlen(tok) == 0)
+ {
+- char * method = strsep(&p, ":");
++ char * method = my_strsep(&p, ":");
+ if (strcmp(method, "pserver") == 0)
+ {
+ ctx = open_ctx_pserver(ctx, p);
+@@ -185,14 +185,14 @@
+
+ strcpy_a(root, p_root, PATH_MAX);
+
+- tok = strsep(&p, ":");
++ tok = my_strsep(&p, ":");
+ if (strlen(tok) == 0 || !p)
+ {
+ debug(DEBUG_APPERROR, "parse error on third token");
+ goto out_free_err;
+ }
+
+- tok2 = strsep(&tok, "@");
++ tok2 = my_strsep(&tok, "@");
+ if (!strlen(tok2) || (!tok || !strlen(tok)))
+ {
+ debug(DEBUG_APPERROR, "parse error on user@server in pserver");
+@@ -272,7 +272,7 @@
+ strcpy_a(root, p_root, PATH_MAX);
+
+ /* if there's a ':', it's remote */
+- tok = strsep(&p, ":");
++ tok = my_strsep(&p, ":");
+
+ if (p)
+ {
+@@ -281,7 +281,7 @@
+ if (!cvs_rsh)
+ cvs_rsh = "rsh";
+
+- tok2 = strsep(&tok, "@");
++ tok2 = my_strsep(&tok, "@");
+
+ if (tok)
+ snprintf(execcmd, PATH_MAX, "%s -l %s %s %s server", cvs_rsh, tok2, tok, cvs_server);
+@@ -776,7 +776,7 @@
+ static int parse_patch_arg(char * arg, char ** str)
+ {
+ char *tok, *tok2 = "";
+- tok = strsep(str, " ");
++ tok = my_strsep(str, " ");
+ if (!tok)
+ return 0;
+
+@@ -796,7 +796,7 @@
+ /* see if command wants two args and they're separated by ' ' */
+ if (tok[2] == 0 && strchr("BdDFgiorVxYz", tok[1]))
+ {
+- tok2 = strsep(str, " ");
++ tok2 = my_strsep(str, " ");
+ if (!tok2)
+ {
+ debug(DEBUG_APPERROR, "diff_opts parse_error: argument %s requires two arguments", tok);
+Index: util.c
+--- util.c.orig 2008-04-02 03:18:44 +0200
++++ util.c 2008-04-02 09:10:25 +0200
+@@ -316,3 +316,31 @@
+ exit(1);
+ }
+ }
++
++char *my_strsep(char **stringp, const char *delim)
++{
++ char *s;
++ const char *spanp;
++ int c, sc;
++ char *tok;
++
++ if ((s = *stringp) == NULL)
++ return NULL;
++ for (tok = s;;) {
++ c = *s++;
++ spanp = delim;
++ do {
++ if ((sc = *spanp++) == c) {
++ if (c == 0)
++ s = NULL;
++ else
++ s[-1] = 0;
++ *stringp = s;
++ return tok;
++ }
++ } while (sc != 0);
++ }
++ /* NOTREACHED */
++ return NULL;
++}
++
+Index: util.h
+--- util.h.orig 2008-04-02 03:18:44 +0200
++++ util.h 2008-04-02 09:15:35 +0200
+@@ -24,5 +24,6 @@
+ void timing_stop(const char *);
+ int my_system(const char *);
+ int escape_filename(char *, int, const char *);
++char *my_strsep(char **, const char *);
+
+ #endif /* UTIL_H */
diff --git a/dev-vcs/cvsps/files/cvsps-2.2_beta1-solaris.patch b/dev-vcs/cvsps/files/cvsps-2.2_beta1-solaris.patch
new file mode 100644
index 000000000000..444ac1382a7b
--- /dev/null
+++ b/dev-vcs/cvsps/files/cvsps-2.2_beta1-solaris.patch
@@ -0,0 +1,135 @@
+Modified version of.
+http://cvs.openpkg.org/fileview?f=openpkg-src/cvsps/cvsps.patch&v=1.13
+
+diff --git a/cache.c b/cache.c
+index 4c51cf7..2c3918d 100644
+--- a/cache.c
++++ b/cache.c
+@@ -361,7 +361,7 @@ static void parse_cache_revision(PatchSetMember * psm, const char * p_buff)
+
+ strcpy(buff, p_buff);
+
+- while ((s = strsep(&p, ";")))
++ while ((s = my_strsep(&p, ";")))
+ {
+ char * c = strchr(s, ':');
+
+diff --git a/cvs_direct.c b/cvs_direct.c
+index e281848..5aa8f0f 100644
+--- a/cvs_direct.c
++++ b/cvs_direct.c
+@@ -92,12 +92,12 @@ CvsServerCtx * open_cvs_server(char * p_root, int compress)
+
+ strcpy_a(root, p_root, PATH_MAX);
+
+- tok = strsep(&p, ":");
++ tok = my_strsep(&p, ":");
+
+ /* if root string looks like :pserver:... then the first token will be empty */
+ if (strlen(tok) == 0)
+ {
+- char * method = strsep(&p, ":");
++ char * method = my_strsep(&p, ":");
+ if (strcmp(method, "pserver") == 0)
+ {
+ ctx = open_ctx_pserver(ctx, p);
+@@ -185,14 +185,14 @@ static CvsServerCtx * open_ctx_pserver(CvsServerCtx * ctx, const char * p_root)
+
+ strcpy_a(root, p_root, PATH_MAX);
+
+- tok = strsep(&p, ":");
++ tok = my_strsep(&p, ":");
+ if (strlen(tok) == 0 || !p)
+ {
+ debug(DEBUG_APPERROR, "parse error on third token");
+ goto out_free_err;
+ }
+
+- tok2 = strsep(&tok, "@");
++ tok2 = my_strsep(&tok, "@");
+ if (!strlen(tok2) || (!tok || !strlen(tok)))
+ {
+ debug(DEBUG_APPERROR, "parse error on user@server in pserver");
+@@ -272,7 +272,7 @@ static CvsServerCtx * open_ctx_forked(CvsServerCtx * ctx, const char * p_root)
+ strcpy_a(root, p_root, PATH_MAX);
+
+ /* if there's a ':', it's remote */
+- tok = strsep(&p, ":");
++ tok = my_strsep(&p, ":");
+
+ if (p)
+ {
+@@ -281,7 +281,7 @@ static CvsServerCtx * open_ctx_forked(CvsServerCtx * ctx, const char * p_root)
+ if (!cvs_rsh)
+ cvs_rsh = "rsh";
+
+- tok2 = strsep(&tok, "@");
++ tok2 = my_strsep(&tok, "@");
+
+ if (tok)
+ snprintf(execcmd, PATH_MAX, "%s -l %s %s %s server", cvs_rsh, tok2, tok, cvs_server);
+@@ -776,7 +776,7 @@ void cvs_rupdate(CvsServerCtx * ctx, const char * rep, const char * file, const
+ static int parse_patch_arg(char * arg, char ** str)
+ {
+ char *tok, *tok2 = "";
+- tok = strsep(str, " ");
++ tok = my_strsep(str, " ");
+ if (!tok)
+ return 0;
+
+@@ -796,7 +796,7 @@ static int parse_patch_arg(char * arg, char ** str)
+ /* see if command wants two args and they're separated by ' ' */
+ if (tok[2] == 0 && strchr("BdDFgiorVxYz", tok[1]))
+ {
+- tok2 = strsep(str, " ");
++ tok2 = my_strsep(str, " ");
+ if (!tok2)
+ {
+ debug(DEBUG_APPERROR, "diff_opts parse_error: argument %s requires two arguments", tok);
+diff --git a/util.c b/util.c
+index 7884c84..f3ab3a3 100644
+--- a/util.c
++++ b/util.c
+@@ -316,3 +316,31 @@ void strcpy_a(char * dst, const char * src, int n)
+ exit(1);
+ }
+ }
++
++char *my_strsep(char **stringp, const char *delim)
++{
++ char *s;
++ const char *spanp;
++ int c, sc;
++ char *tok;
++
++ if ((s = *stringp) == NULL)
++ return NULL;
++ for (tok = s;;) {
++ c = *s++;
++ spanp = delim;
++ do {
++ if ((sc = *spanp++) == c) {
++ if (c == 0)
++ s = NULL;
++ else
++ s[-1] = 0;
++ *stringp = s;
++ return tok;
++ }
++ } while (sc != 0);
++ }
++ /* NOTREACHED */
++ return NULL;
++}
++
+diff --git a/util.h b/util.h
+index ff2d3a0..336fd63 100644
+--- a/util.h
++++ b/util.h
+@@ -24,5 +24,6 @@ void timing_stop(const char *);
+ int my_system(const char *);
+ int escape_filename(char *, int, const char *);
+ void strcpy_a(char * dst, const char * src, int n);
++char *my_strsep(char **, const char *);
+
+ #endif /* UTIL_H */
diff --git a/dev-vcs/cvsps/files/cvsps-3.13-make.patch b/dev-vcs/cvsps/files/cvsps-3.13-make.patch
new file mode 100644
index 000000000000..7c96d60300a1
--- /dev/null
+++ b/dev-vcs/cvsps/files/cvsps-3.13-make.patch
@@ -0,0 +1,52 @@
+diff --git a/Makefile b/Makefile
+index 6266c9d..4f60d2f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -8,6 +8,9 @@ INSTALL = install
+ prefix?=/usr/local
+ target=$(DESTDIR)$(prefix)
+
++PROG = cvsps
++MANPAGE = $(PROG).1
++
+ OBJS= debug.o \
+ hash.o \
+ sio.o \
+@@ -19,12 +22,12 @@ OBJS= debug.o \
+ cvsclient.o \
+ list_sort.o
+
+-all: cvsps
++all: $(PROG) $(MANPAGE)
+
+ deps:
+ makedepend -Y -I. *.c
+
+-cvsps: $(OBJS)
+- $(CC) -o cvsps $(OBJS) $(LDFLAGS) $(LDLIBS)
++$(PROG): $(OBJS)
++ $(CC) -o $(PROG) $(OBJS) $(LDFLAGS) $(LDLIBS)
+
+ check:
+@@ -50,17 +53,17 @@ pylint:
+ .txt.html:
+ a2x --doctype manpage --format xhtml $*.txt
+
+-install: cvsps.1 all
++install: all
+ $(INSTALL) -d "$(target)/bin"
+ $(INSTALL) -d "$(target)/share/man/man1"
+- $(INSTALL) cvsps "$(target)/bin"
+- $(INSTALL) -m 644 cvsps.1 "$(target)/share/man/man1"
++ $(INSTALL) $(PROG) "$(target)/bin"
++ $(INSTALL) -m 644 $(MANPAGE) "$(target)/share/man/man1"
+
+ tags: *.c *.h
+ ctags *.c *.h
+
+ clean:
+- rm -f cvsps *.o core tags cvsps.1 cvsps.html docbook-xsl.css
++ rm -f $(PROG) *.o core tags $(MANPAGE) cvsps.html docbook-xsl.css
+
+ SOURCES = Makefile *.[ch] merge_utils.sh
+ DOCS = README COPYING NEWS cvsps.asc TODO
diff --git a/dev-vcs/cvsps/metadata.xml b/dev-vcs/cvsps/metadata.xml
new file mode 100644
index 000000000000..e932cbedd7f4
--- /dev/null
+++ b/dev-vcs/cvsps/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="freecode">cvsps</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/cvsq/Manifest b/dev-vcs/cvsq/Manifest
new file mode 100644
index 000000000000..22507a1b8f59
--- /dev/null
+++ b/dev-vcs/cvsq/Manifest
@@ -0,0 +1,5 @@
+DIST cvsq-0.4.4.tar.gz 3717 SHA256 9759fa87c4f81db187989ffa6ef2d9f610a2cc8fc74b2466849ca0b069c72eae SHA512 137f09f42f5213853b327f23c3d23914116851b2d8d7f17752257f6ab0b2f62e4526f95b7d005fbf49746ea17591fbb38cfc58ccbe55a976b36339df13e44f8f WHIRLPOOL b53286475eccc0e327cd937f6aaf09ead73145585f5cb0a6dd6ba76115b60119fcfab02ef03cfb64d07e46b15e2d2b17cb66d2787a96b23d3c4e9c81844c91ad
+EBUILD cvsq-0.4.4.ebuild 584 SHA256 195211bec119cc4fd2641b5ed394f8fa41203cc86dd939f858925e0a1ea30fde SHA512 9930b70e75cfca586195879741f1925c17329d76bab214a8c15073a81401eb7ad14c83c1367336ac2cb196f17ecaf836b9871535202bd679063ba79878431ae5 WHIRLPOOL 800c62d783cad49bc7d5662a700bd5e2ddf4c3a5770e09dadd630f8f118cb40c2615df3f2025b5868c424c4371589a3fb289f017e2804292c7b98626ef4bc965
+MISC ChangeLog 2417 SHA256 1d6f0e93f8c30af078497dcf4210a842e73abfcac928e672843549ddfd180bdf SHA512 9d8f5241a84c155670a8b179d64764fb2bfd48b9b244db38c2204f4e061e516abf238cabf48164d632a2e156b2a029210013b201bf88d691276447b91c49dc39 WHIRLPOOL b7a48469c58dfb98e0f8f9994e7492fe8b78d905a3eca32c9718365e8aa6ba3ab092955c1875ed6de5516b9293e0a938f01e08eed3cd8b8a69f25d499e6e455f
+MISC ChangeLog-2015 1707 SHA256 a9190f3d6216e637e510ec5e4e57fab5b1ac56652210d61cfc115ff739b66515 SHA512 c9b97a742d09acd730af467f219eb86bd64ddfd01314b0f75d5493b3aafcb1f83c1959887ce9d34297ae6306b337b4a56310d3adb9d307d3262ebbaf27f4a380 WHIRLPOOL 19556b73d10fc43e29d47308918a5a73e0a41cb6d889755ec30b8940531db7cecbc8a1fccb5650dceedd9c1490ad450e902299f55af43160b3eaf63894f9f59c
+MISC metadata.xml 167 SHA256 5fe493e76bba84455c54b3a46adfae5a1bfe01c764ef0d9e5f6d3e8a1d142188 SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33 WHIRLPOOL dc6c3dfc7fd7f0d76c97f0786cb76a55b8564f8437f96d4ccebf985817b9f6dcc4c61830aa5df80d725e4a54b281ea2e03d6b0859214af081112cba15025e64b
diff --git a/dev-vcs/cvsq/cvsq-0.4.4.ebuild b/dev-vcs/cvsq/cvsq-0.4.4.ebuild
new file mode 100644
index 000000000000..7e33fe387304
--- /dev/null
+++ b/dev-vcs/cvsq/cvsq-0.4.4.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+IUSE=""
+
+DESCRIPTION="A tool that enables developers to work comfortably offline with CVS by queuing the commits"
+SRC_URI="http://metawire.org/~vslavik/sw/cvsq/download/${P}.tar.gz"
+HOMEPAGE="http://metawire.org/~vslavik/sw/cvsq/"
+
+SLOT="0"
+LICENSE="public-domain"
+KEYWORDS="~amd64 ~ppc x86"
+
+DEPEND="" # This is just a shell script.
+RDEPEND="dev-vcs/cvs
+ app-shells/bash
+ sys-apps/coreutils"
+
+src_install () {
+ dodir /usr/bin
+ dobin cvsq
+ dodoc README AUTHORS ChangeLog
+}
diff --git a/dev-vcs/cvsq/metadata.xml b/dev-vcs/cvsq/metadata.xml
new file mode 100644
index 000000000000..7a38bb900964
--- /dev/null
+++ b/dev-vcs/cvsq/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-vcs/cvsspam/Manifest b/dev-vcs/cvsspam/Manifest
new file mode 100644
index 000000000000..004b97879a24
--- /dev/null
+++ b/dev-vcs/cvsspam/Manifest
@@ -0,0 +1,6 @@
+AUX cvsspam-0.2.12-svn.patch 806 SHA256 ec3dd335da17b2bd54f7af3854bf83e9d500e74b623172b59e4ab51ccea96b07 SHA512 ee3092a73edae7f5ca85800206f520653dda8334ceeef745c6d0390bba747ad4a7fd8e03b39188ac2e0bf76315fa8178e9106a7ac8b68083a2a610733b5ae03c WHIRLPOOL d44281a59719d851ffbca164c3d0a2cd2938d00f0ee7694af5d8fa15a0b7c4d44f982a71c58c961854462e2ef034c5b97850fe3f236a64642fa817c0503fb0bb
+DIST cvsspam-0.2.12.tar.gz 83714 SHA256 217c53ceebcc7fcbb8949304648b48c7c0805e0c4531d0c85473e8dd685b3e16 SHA512 80786f980fe5070fff90de8e7a470cdf91ee8ddbd4c37fb1d98d0ddc042d157f2f74998962eaab1a24503b9147fae2129db35f1d505b557a8c75325d1e101bec WHIRLPOOL f59677098ab67d7b558e1de0eb6f6e361dad0505873c96701bc8ab4da3b93871dc80405764d2083ab7d346cbbf058b136dacea8081413a7ec8fb12bc1e88843f
+EBUILD cvsspam-0.2.12.ebuild 726 SHA256 b42ffa7c2a71500ab1a22614f24bd5525e15e3bb143d9ebf5c570aaf9e25370d SHA512 820242b0488eec151d7b83b5d9adeee28c01adab12e39763df16c5f4e5ecb28418629878b2448308d89b19b68e175069f6e70fbc3c2c47bc5c77caf194ff9bb5 WHIRLPOOL 70df1d6e29997f054fb676d7f2bdbc1d1392e11922a9bdfa24d0daf3a942f8dacc72af106d4745c94d17ab8def73457d1bb3aa18cb9aaefda97c117ec9e499e6
+MISC ChangeLog 2556 SHA256 47bb3b3cfb6128274c48a66e031db6274db8ee03da1760e44fb12df9b6e1c693 SHA512 0db40e213fd265b4becfc60ea313e0a873f6c142e7f419faece4f3f92fe4f547fc09e09e24b82cc5a92f39e05beed67be8d2ffb29b2f81879ef1f2f7fa3b22ad WHIRLPOOL a4abe8c5e4bbdcb66f42ccff22195d7656c57d203aa8da339db3bca4e0fa2e255ce0672449bec76e94de9e467db436c70e2ec7e5c1d810ee4813459ecccac8cb
+MISC ChangeLog-2015 2675 SHA256 1c2ceb9a247b2daa2747975ee15def9d1c0e9f50756d7644b7d9b0d841d37edf SHA512 5a575c580594096ea0cc5aa98d4cbee2cb55393a204cf165e8bae3a10662086b70e78194ddc6a0fb7c420c43e0962d528c05850ea80e1e1f128842c95d628437 WHIRLPOOL 10539b503431c6b8c7c5479353c5ff25283b7d2bbe74450c3665d6573d025dd0ca3516de4fde4e6941f82b83c2b2337ac6466300cd441e50e66d08f32dcf5e3d
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/dev-vcs/cvsspam/cvsspam-0.2.12.ebuild b/dev-vcs/cvsspam/cvsspam-0.2.12.ebuild
new file mode 100644
index 000000000000..dfded9ed2600
--- /dev/null
+++ b/dev-vcs/cvsspam/cvsspam-0.2.12.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Utility to send colored HTML CVS-mails"
+HOMEPAGE="http://www.badgers-in-foil.co.uk/projects/cvsspam/"
+SRC_URI="http://www.badgers-in-foil.co.uk/projects/cvsspam/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="subversion"
+
+RDEPEND="dev-lang/ruby
+ subversion? ( dev-vcs/subversion )
+"
+
+src_prepare() {
+ use subversion && epatch "${FILESDIR}/${P}-svn.patch"
+}
+
+src_install() {
+ dobin collect_diffs.rb
+ dobin cvsspam.rb
+ dobin record_lastdir.rb
+ insinto /etc/cvsspam
+ doins cvsspam.conf
+
+ dohtml cvsspam-doc.html
+ dodoc CREDITS TODO cvsspam-doc.pdf
+}
diff --git a/dev-vcs/cvsspam/files/cvsspam-0.2.12-svn.patch b/dev-vcs/cvsspam/files/cvsspam-0.2.12-svn.patch
new file mode 100644
index 000000000000..3278f94bc005
--- /dev/null
+++ b/dev-vcs/cvsspam/files/cvsspam-0.2.12-svn.patch
@@ -0,0 +1,30 @@
+--- cvsspam.rb.old 2006-12-02 13:36:48.000000000 -0500
++++ cvsspam.rb 2006-12-02 13:38:28.000000000 -0500
+@@ -1386,12 +1386,10 @@
+ $allTags = Hash.new
+
+ File.open("#{$logfile}.emailtmp", File::RDWR|File::CREAT|File::TRUNC) do |mail|
++ reader = LogReader.new($stdin)
+
+ $diff_output_limiter = OutputSizeLimiter.new(mail, $mail_size_limit)
+
+- File.open($logfile) do |log|
+- reader = LogReader.new(log)
+-
+ until reader.eof
+ handler = $handlers[reader.currentLineCode]
+ if handler == nil
+@@ -1399,12 +1397,11 @@
+ end
+ handler.handleLines(reader.getLines, $diff_output_limiter)
+ end
+- end
+
+ end
+
+ if $subjectPrefix == nil
+- $subjectPrefix = "[CVS #{Repository.array.join(',')}]"
++ $subjectPrefix = "[SVN #{Repository.array.join(',')}]"
+ end
+
+ if $files_in_subject
diff --git a/dev-vcs/cvsspam/metadata.xml b/dev-vcs/cvsspam/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/dev-vcs/cvsspam/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-vcs/cvsutils/Manifest b/dev-vcs/cvsutils/Manifest
new file mode 100644
index 000000000000..e7ff7a778ac4
--- /dev/null
+++ b/dev-vcs/cvsutils/Manifest
@@ -0,0 +1,5 @@
+DIST cvsutils-0.2.5.tar.gz 79596 SHA256 ac5f6faf250fd317655d79782e6f7cecaa5ab836659d8a31c28faa51160a4681 SHA512 7ad840ebfdbc9e53bd7463bc523108381ad3d5d474e166e7dd0d8f1ffb5c6751d027d19b93743c412001ba63a60a6d4bb63a05a735d2f0b2246e14141ef638c1 WHIRLPOOL 7a99e2240269a9ab09a39922b6a022b831565c70d49466528b830c97fcbda08aefea6cd036596d629efd6b13f60b7d37253a3e1e57f0d34ad49d7b48ae49a8b5
+EBUILD cvsutils-0.2.5.ebuild 510 SHA256 93d13267b05fa9a679112fb29add263997f10e23357abc5209148ec337bfa9d5 SHA512 34445780f62d6252669756e330cfd65effa43d2de925e0a3819dc3257168f091fb051b411315117cee6b825618aab11b370b86ff95fc3c9429ecd43523d8afe9 WHIRLPOOL e450ada1efd1ea4e3471440a2a14468525b25c9ac71d769a367ebaf7e1c3f9ff5e28f45d574334f535d8cff36f1d6ec3a62bcd86499a227390cc0316c0f440c1
+MISC ChangeLog 2429 SHA256 c9845b71442d5bf68e39947ef38a3418cf243cec547c5f5445cffb81e34a735e SHA512 9e90a1240155fb4936986336357c206c5ea44761b3d38a7d671607f2449060eb1fd33f4c1cf5c9313e2c2db5793c1e412c284ec6b42c61e9812941dbd2c66ba8 WHIRLPOOL 8804834f8197a43df906ed22ee15a48d43533c9e56e7991382d4cc2853adc8a3feb728062bdd2876d6dd29947cb43e6aa9af4b38f910b48d0d63094ddd1e98c4
+MISC ChangeLog-2015 1400 SHA256 b0e5f6c2059ee4c0564019514bfb4991f081ef3718962b34bb7b0dd82a8d1bed SHA512 285fe881812d31d146f66d1c923f7ec91f92072762164db7a0edabe93d4a8d57eae51b4e892ab8c31752a74495623f523c76485163346b453465904036238d2c WHIRLPOOL 5d70552f4282382ed1d0b328cfda389366bc4c1191215deeb4cd9d344be6edeeead44cc85c26662b2dd6ccddbfd77c2c2e449f3a899c533f33b3f7f6c51a356a
+MISC metadata.xml 451 SHA256 17516fa17fcc524d895b2088a13e91a1a66a4cd282696766bb032cc55b97891d SHA512 226cedd069ebfeecf6258c413eb2315b103303fb767df8ff102b97d2ca5ff0eff838cb9c328ca96439bec2100eb3a07f59c02ef44edbf3d4d070556673d4ce59 WHIRLPOOL 0430ea278ea1e4ce12211fd159c3b89c1ebd601c4ac4c6625b332ba34c3d99790cdd6a8eb290f0820b38c03e0f205cc142b09c665fe949c89a2e3b9933791b78
diff --git a/dev-vcs/cvsutils/cvsutils-0.2.5.ebuild b/dev-vcs/cvsutils/cvsutils-0.2.5.ebuild
new file mode 100644
index 000000000000..86b8542bd649
--- /dev/null
+++ b/dev-vcs/cvsutils/cvsutils-0.2.5.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DESCRIPTION="A small bundle of utilities to work with CVS repositories"
+HOMEPAGE="http://www.red-bean.com/cvsutils/"
+SRC_URI="http://www.red-bean.com/cvsutils/releases/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-lang/perl"
+DEPEND=""
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog README THANKS NEWS
+}
diff --git a/dev-vcs/cvsutils/metadata.xml b/dev-vcs/cvsutils/metadata.xml
new file mode 100644
index 000000000000..b29146cb7d8d
--- /dev/null
+++ b/dev-vcs/cvsutils/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription>
+ CVS Utilities are helpful scripts for working with CVS repositories
+ offline and online. They include the ability to check file status,
+ "fake" include files in the repo, diff new files easily, change CVS
+ server of a repository and more.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-vcs/cvsync/Manifest b/dev-vcs/cvsync/Manifest
new file mode 100644
index 000000000000..bf50cd57ac24
--- /dev/null
+++ b/dev-vcs/cvsync/Manifest
@@ -0,0 +1,5 @@
+DIST cvsync-2014.08.24.014706.tar.xz 94820 SHA256 ddb753a03c2e80e9507cb971a1ff0c682e353eb36737189457d6e8e507a04467 SHA512 8aa05d3e2459a14e6abe48eb13b7130aa0bdba7bc9e3604b8406622541450349c233bf43f11804d3820567f882335e1079a9fb747e1d1b8a5d93325bf4e97158 WHIRLPOOL 23ad6ce402f4b3785b0c365b7cc181bf88ed118316e1217034e477b6637d019aee72b149e1cd6d5a1fc0b27773d021d15e202e67c7e76296a69f92ab45e7bb93
+EBUILD cvsync-2014.08.24.014706.ebuild 1805 SHA256 d28d099c1e548f7f6cd58a76b2cd4f57977cc01cb4eb588058efec7b2bfff249 SHA512 c9151d3f7ebfd873d99d2dd46a5780948501047e9f8bac1be7c0468966e9e8980ba787699e020e643e90d8ad60020fba8086369964767973079d1b8eac0f99e0 WHIRLPOOL 70fa9c415c6c7fffdfb9d3d2a770e24483619e69b27cdffee4ad3a905cfaf728568b890f5087df8fcc3af79888f05829e9890439171dd8a72e3cb6aee050ed31
+EBUILD cvsync-9999.ebuild 1805 SHA256 d28d099c1e548f7f6cd58a76b2cd4f57977cc01cb4eb588058efec7b2bfff249 SHA512 c9151d3f7ebfd873d99d2dd46a5780948501047e9f8bac1be7c0468966e9e8980ba787699e020e643e90d8ad60020fba8086369964767973079d1b8eac0f99e0 WHIRLPOOL 70fa9c415c6c7fffdfb9d3d2a770e24483619e69b27cdffee4ad3a905cfaf728568b890f5087df8fcc3af79888f05829e9890439171dd8a72e3cb6aee050ed31
+MISC ChangeLog 345 SHA256 7a3e98b8da26a01eeda5f6c7b667f4ea16ba17a6951269ea670938fe5627c284 SHA512 91f5642d62cc87b93db6523f7de0350bff86eea931ab90e1940b47561eb14092a10711885d6e7c1acec138701617c620d1a6a15e41342511898bf565cd63bb64 WHIRLPOOL b4b135e891f667fd882f493d1872b4599beefef2c0ab1618781e2f37e54eb73d428796792ec93a95bda1845649036b71f8bf4b64667be76496522b49bab60961
+MISC metadata.xml 591 SHA256 5deece598c3b625b0ee7302c8dd5500cdfc0d14bbd5e7a47e01395b8a170f55f SHA512 002678f714a28bbb529d865f39b0a464c2e8b260756e6fc64d60e2632d8bdf72cf4f9c4cf62586009d6efde0979816704009d1c73959de9f0dd1881f0e8c6c33 WHIRLPOOL a8d512a6f7b597be3841d2d3a7860c41d5e1d9da7f7479e98d7faf8caa3d717c06912ca72227ca05670e6792490bdac138a05aa329bc0aeb7d5228e8735aa5a2
diff --git a/dev-vcs/cvsync/cvsync-2014.08.24.014706.ebuild b/dev-vcs/cvsync/cvsync-2014.08.24.014706.ebuild
new file mode 100644
index 000000000000..cda6f4f16922
--- /dev/null
+++ b/dev-vcs/cvsync/cvsync-2014.08.24.014706.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit toolchain-funcs
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/cvsync/cvsync.git"
+ inherit git-2
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="portable CVS repository synchronization utility"
+HOMEPAGE="https://github.com/cvsync/cvsync"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="gcrypt mhash +openssl"
+REQUIRED_USE="!openssl? ( ^^ ( gcrypt mhash ) )"
+
+RDEPEND="sys-libs/zlib
+ openssl? ( dev-libs/openssl:0= )
+ !openssl? (
+ gcrypt? ( dev-libs/libgcrypt:0= )
+ mhash? ( app-crypt/mhash )
+ )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+maint_pkg_create() {
+ cd "${S}"
+ local ver=$(date --date="$(git log -n1 --pretty=format:%ci HEAD)" -u "+%Y.%m.%d.%H%M%S")
+ local tar="${T}/${PN}-${ver}.tar.xz"
+ git archive --prefix "${PN}/" HEAD | xz > "${tar}" || die "creating tar failed"
+ einfo "Packaged tar now available:"
+ einfo "$(du -b "${tar}")"
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ git-2_src_unpack
+ maint_pkg_create
+ else
+ default
+ fi
+}
+
+_emake() {
+ # USE flag settings are enforced by REQUIRED_USE.
+ local hash=$(usex openssl openssl $(usex gcrypt gcrypt mhash))
+
+ # Probably want to expand this at some point.
+ local host_os="Linux"
+
+ emake \
+ CC="$(tc-getCC)" \
+ ECHO="echo" \
+ TEST="test" \
+ INSTALL="install" \
+ HASH_TYPE="${hash}" \
+ HOST_OS="${host_os}" \
+ BINOWN="$(id -u)" \
+ BINGRP="$(id -g)" \
+ BINDIR="\$(PREFIX)/usr/bin" \
+ MANDIR="\$(PREFIX)/usr/share/man" \
+ "$@"
+}
+
+src_compile() {
+ _emake PREFIX="${EPREFIX}"
+}
+
+src_install() {
+ dodir /usr/bin /usr/share/man/man1
+ _emake PREFIX="${ED}" install
+ dodoc samples/*.conf
+}
diff --git a/dev-vcs/cvsync/cvsync-9999.ebuild b/dev-vcs/cvsync/cvsync-9999.ebuild
new file mode 100644
index 000000000000..cda6f4f16922
--- /dev/null
+++ b/dev-vcs/cvsync/cvsync-9999.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit toolchain-funcs
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/cvsync/cvsync.git"
+ inherit git-2
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="portable CVS repository synchronization utility"
+HOMEPAGE="https://github.com/cvsync/cvsync"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="gcrypt mhash +openssl"
+REQUIRED_USE="!openssl? ( ^^ ( gcrypt mhash ) )"
+
+RDEPEND="sys-libs/zlib
+ openssl? ( dev-libs/openssl:0= )
+ !openssl? (
+ gcrypt? ( dev-libs/libgcrypt:0= )
+ mhash? ( app-crypt/mhash )
+ )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+maint_pkg_create() {
+ cd "${S}"
+ local ver=$(date --date="$(git log -n1 --pretty=format:%ci HEAD)" -u "+%Y.%m.%d.%H%M%S")
+ local tar="${T}/${PN}-${ver}.tar.xz"
+ git archive --prefix "${PN}/" HEAD | xz > "${tar}" || die "creating tar failed"
+ einfo "Packaged tar now available:"
+ einfo "$(du -b "${tar}")"
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ git-2_src_unpack
+ maint_pkg_create
+ else
+ default
+ fi
+}
+
+_emake() {
+ # USE flag settings are enforced by REQUIRED_USE.
+ local hash=$(usex openssl openssl $(usex gcrypt gcrypt mhash))
+
+ # Probably want to expand this at some point.
+ local host_os="Linux"
+
+ emake \
+ CC="$(tc-getCC)" \
+ ECHO="echo" \
+ TEST="test" \
+ INSTALL="install" \
+ HASH_TYPE="${hash}" \
+ HOST_OS="${host_os}" \
+ BINOWN="$(id -u)" \
+ BINGRP="$(id -g)" \
+ BINDIR="\$(PREFIX)/usr/bin" \
+ MANDIR="\$(PREFIX)/usr/share/man" \
+ "$@"
+}
+
+src_compile() {
+ _emake PREFIX="${EPREFIX}"
+}
+
+src_install() {
+ dodir /usr/bin /usr/share/man/man1
+ _emake PREFIX="${ED}" install
+ dodoc samples/*.conf
+}
diff --git a/dev-vcs/cvsync/metadata.xml b/dev-vcs/cvsync/metadata.xml
new file mode 100644
index 000000000000..d32f150a3a92
--- /dev/null
+++ b/dev-vcs/cvsync/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>vapier@gentoo.org</email>
+ <description>feel free to update</description>
+</maintainer>
+<use>
+ <flag name="gcrypt">Use <pkg>dev-libs/libgcrypt</pkg> for hash functions.</flag>
+ <flag name="mhash">Use <pkg>app-crypt/mhash</pkg> for hash functions.</flag>
+ <flag name="openssl">Use <pkg>dev-libs/openssl</pkg> for hash functions.</flag>
+</use>
+<upstream>
+ <remote-id type="github">cvsync/cvsync</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-vcs/darcs/Manifest b/dev-vcs/darcs/Manifest
new file mode 100644
index 000000000000..88d9794f34df
--- /dev/null
+++ b/dev-vcs/darcs/Manifest
@@ -0,0 +1,21 @@
+AUX darcs-2.12.4-ghc-8.0.2_rc1.patch 540 SHA256 c411b711c92dc1137538a9e3100e5d81c02f7661b5889e43e46868650636052f SHA512 455b8c3b70c78eb8f59d9792b299d5d610079fef2f72090e6eb1b26fc3b97a9e6800187e73f5be17fe0d8623b4ad6e946419ceca7971590d16d42ddcb673cab4 WHIRLPOOL 7ac8b0778c2104c9f4b4c6e0596a30facc474f60440608e6d7bd6f9622fab1c1e77b281852b77a2c23413a90f83237426b25ebe6059bc30484aa4eef7ee34756
+AUX darcs-2.8.4-fix-nonatomic-global.patch 837 SHA256 f61a2e32a707d3fdcd9cad425e129018bce7d3ec291f0c84f14ff4e8056d5d6b SHA512 98c05960d2c5d74df7c934fc6d94f1f8367e04b07ad6189004d09ce190e9bb1799cf7cd43387dad8bc15230dbebd06ccc874e81460119c3d7b959c761e359825 WHIRLPOOL 37bd60dffbd3d2bdb94ee6eaf345d6d9cf61432e48754605124ddb48b900b443e0fb8989411689de1478c1a4ca9c191ac096b18222136911c530549d7e063e9c
+AUX darcs-2.8.4-ghc-7.8-part-1.patch 5679 SHA256 454ca11d487379d3d7b19acae2c599bace01356c3f7c7a5cdace1018e82e6eda SHA512 9c6674e835227cae04074f82777a08e7b1cedc6b42deff7c271c53e2622b14217926a52ccba7651e3b7e0cfd40e0243e10529141ceae9044895d021af8ee1599 WHIRLPOOL f6063033e215dabd93e79a6b7417586ae75be89172c86c7c07ccabadc9b9593de6c83896c754314c281a5c2715ce56be4c2173b9f51582d01ad0273233ece1b0
+AUX darcs-2.8.4-ghc-7.8-part-2.patch 449 SHA256 1f8fcdc2c2c0b40d5062cbb45ec4a58f4e5777306ed4e126f7cb57a80a1ab410 SHA512 3dd469ea3f42f2b2c5388a9a47cdd4c901af2b663c8c1cb5ae75c595915e141652d3fe9f89b898483c06d3ee9b2d7df651b401e215b8aac0c1431b6e17639e41 WHIRLPOOL ed31ee69948625cd3b0c028d819eb71bb987582ae44749c4660cf0896c8d1584d2907fb246ec4019470a0d49becea0bcdee4cb8d7f9c90cd10c96dbf84a66cdb
+AUX darcs-2.8.4-issue2364-part-2.patch 1787 SHA256 f4468cdad4a344f48e3cefcf977d3423f4a5a98bce04326d6578d11b022cc19f SHA512 54594052d5492d98472da7aee611314bd08e3dfd3bfbe55b082cf3071048b4a066ddcdbbf445be6774255f406c8f67a6c9a76e536817354b89902ee30eeed02b WHIRLPOOL b07f0d58c06d44691e4a5ac907d35903fa80aeddb13d3c18cbd9368cbc270ae5baf77e90326a1b569b39db08505dd8d3cd14e0a8d31e325b32377c131f58fec9
+AUX darcs-2.8.4-issue2364.patch 2955 SHA256 82a427123f74a288bad08a23189be94b2137c5a264faa8e96e12ec527174b53c SHA512 01c70841c53bfdc8d047bd91609a30e37dee9def3c52930709a990ad4918461f01d5467ff9a0c0771def5151fdc5198c9a883c2f25ff2a16be756f60029f1e2e WHIRLPOOL f7f6cc4dfe2458a038cf1df5f8d72e1d0acd4245d297221fdf3d08c00576fbb0f7040e7498b0f21f0a43ef55298ada4e14eb46943566f901fd6450a73a67af5e
+DIST darcs-2.10.1.tar.gz 1509208 SHA256 f1ef65b43780e7593ca1afdae5ecf44ed91d62cc1be360693a52c5ff7b57ee94 SHA512 b8c3971da3d635a7d90e35226c2ffa6d6ca8e78ba18793c632b7509bc4d52c1bda2490d147cdaea5842fbe5d8826b0025de61e2fb4f58c441875c5858d910e47 WHIRLPOOL a44550b9e44125ee468b10da723742c992c215a42411c074e8c2547643694ce572db7f59b5ba4209cef5aac26bd1ddcef1c54f592e8b73fd0da941d0e9e77d93
+DIST darcs-2.10.3.tar.gz 1513296 SHA256 ca00c40d08276f94868c7c1bbc6dbd9b6b41a15c1907c34947aaa51d4dbbf642 SHA512 cf8f34df331d8a47c6a25775c465824e5d71ed00ae6bc477989b4bb0e7fad606b213a4fb4e06b02dca096df2b6b1fe36f394672a112b48c6b56188a7eae8f90e WHIRLPOOL e52fdbe2bd87de7787c0d15ed8d7499a8514d4149a30139c18060139bcbe2ab56f9525b3b4222025cd71afb167b3cc0db265fb1c339eac1336d9cb3fef45eff1
+DIST darcs-2.12.0.tar.gz 1465730 SHA256 17318d1b49ca4b1aa00a4bffc2ab30a448e7440ce1945eed9bf382d77582308d SHA512 654f9054dfe8e23e17ae00cdf22153ddaf89d114c5ee0e1ca86f373c1abf62b7bd808965f4d4df695aaba44d1d334d725cc0d57dea5df7cd1992a0ef15e49135 WHIRLPOOL fe95b27590f15259e808a0583ddce415eaca8fdcc67e473d7e35d876de2faaa46fb72996d64807cf7a0139fb10f0a11a8bb6971f1631e961f8e50c4b76c7637c
+DIST darcs-2.12.4.tar.gz 1462383 SHA256 48e836a482bd2fcfe0be499fe4f255925ce50bdcf5ce8023bb9aa359288fdc49 SHA512 52a0b9b8a23b05dc29513c20c3c0fdc0b696da87156ea83a5736ea294618b993d1f3914f82a918e331db5de0746c147244f46d396ee7dbb02fee116825e1dd6a WHIRLPOOL cf3ddcb5c542226865dff34c9f9f57bd8279dcda3fcfcd939fc1cafc944c7735b254d5277a71b330468a78ef9c06b43f5dfbd0764a8e225c8f032fdc60401ff3
+DIST darcs-2.12.5.tar.gz 1460698 SHA256 355b04c85c27bca43c8c380212988d9c1e9a984b0b593ceb2884de4295063553 SHA512 9bda8149269dc23750321f3929e156e32c76de4f5bb8291bc248d0e326bf08b69c82ef7383f9d02dcc65ca199078f6e1ab575197fc2aee225486a8c1b9275542 WHIRLPOOL 7889c5a34f58853db2fadb0197044822af30fc632b58edd33c6eb8ca9249d48c38bb69b2ddfa949aedfd1d27d8de3dc795a5ef24ccf0e683f53a09d1975f3bd1
+DIST darcs-2.8.4.tar.gz 1301464 SHA256 3fab4dbb2d5dd9f381d49f4730c12e1534b5c484b0dde9712614a7151f659f98 SHA512 c60531bacea43bdd5a18ae461dd390fe64682cac56fa4e6b5153a5da3c003b59d8fb24827bd42b4b30f0d2c61877d36b58eb98317644f9f8a200ab7c5961c48e WHIRLPOOL 128e8e58e219d427928eb8725d9566c1b6b3bb478b3cda69b30ded8798fa104eb8dec0fda8a32701f5d074babf9f11f1b3036388cd15a82118853a566c832430
+EBUILD darcs-2.10.1.ebuild 4718 SHA256 97fb5c0378aefe48cca772880afc0112ef8ce3cceffe216a6f81a7a14df5246c SHA512 def0e14e55a47d37ba3a930d31f89ce952094b06b0ff945c4d927e353684885142d2cca0df635c6b560a6d587e8c66637c2846eb6eb56e8587337425f8e00e8d WHIRLPOOL 62b0415f73142a8285f8aedd53287f727fe9ef83788a52d25cdfc42641fe3e469747f260099d23c35c936f772abc32e585ceef1eeaa64ee1b5e11f029ece65f3
+EBUILD darcs-2.10.3-r1.ebuild 4808 SHA256 423fb17886c884ff1c09c5798a97acf78e42fa994b25fd16b8cc435078405a13 SHA512 7591fca5a971792ead68bcc5ed0e60e7bd5dab9c88910fa76d286c3b4db08117e1a288b2518621a4834522f6089307bed7628c709aafd1929e81d3f28b2cc3a0 WHIRLPOOL 9aa1b4ad1972b5c38c759e539a9666f7b8d1f94a13157d0eb2b49d376c8d7c2ffe633a1f0bbd7b2cd423396b6d675a94f3053b8e9ce82eeb99fcc67850394eab
+EBUILD darcs-2.12.0.ebuild 4848 SHA256 c709e35acde6fcc4c6a9a58f74a2d5b6df3905b88cdb46e3e58fe1fb6cae1ef7 SHA512 b33bd6342fc307ebbf7fe6ee4494afcf06cd6a13ae5355269728e0bda5cd2779c877cdf8795b308aa838d5095bfe406d098a86ffef217ad943601ef2d872fdaf WHIRLPOOL 9e3f965686ca3fc3d3063d1b5c6f212d6165083bd1468c82bcea77411152c4aff58eb19a9ae0b334773e388defbd7bb3099f7fae92a63971a7c53b64ed981799
+EBUILD darcs-2.12.4.ebuild 4485 SHA256 3dea32321578aaa9c0a1196fe21da2b78608195552ffcb2e3851dd3ffe05939d SHA512 01cf2fbbbc9d72093cd7e5dc00ed120e7a7c24e0e94746dc8a3daeaac7c699ba28c61d7b1459198e35789e37ec302dfd0378e9093857ed6eca6075159d977dd9 WHIRLPOOL 99bfee247edd89ece0ce35468d3b857b95357947131532a6060a0ee46d5b88fd2cccfa98f068121b826aa0a56b4161adc6938d0d1e1ec704254581a34a065e27
+EBUILD darcs-2.12.5.ebuild 4539 SHA256 5d3ac71f4ef67a2bb01d3e38c4df033cac1028a35dd44aacc613a2f0ee443b04 SHA512 14224e9130171d617552257bdaf0c6f0b6918bfcedc84047202726eb377e7bf92ac0e6468d63d7db3b1526af09d381dbf1d84a2b575bc08a379bc5f30cb6059d WHIRLPOOL 4fc9bf56342680708e137bc07c5893b1eb297edda080575e603d3244d7c6c08000fa3d312c13fb8bf1631550317c0fc3e5ac6fc2e7646edac76d2117f32efcfe
+EBUILD darcs-2.8.4-r6.ebuild 4727 SHA256 6659c62fee30ba38d05defff3f0e354c356fc79b0f6109982036caee86058619 SHA512 9f866150888280f6b12ccc6f714a04f6789cc84d34ed982e84d365abb5a3e6c97dfcc981141675ea7ed45bf1a8f5940fd9abc138c1dce6ecaaa8faf99a8606ec WHIRLPOOL c8769117480245aad3fc6ec2850d2c4fcafe6479986bed9036ac11e9779a89600dc042ebeeeb4d19d7abe2e12139263466c282fd84b8428b76a5be203f664382
+MISC ChangeLog 4639 SHA256 bb957a0c7eb8a3ef78090112870dc87cef5a95b28c1d70ad008bd854c4220374 SHA512 64a1576187b7d02ef6cbd9b69ed55d414e7fd8a3a63c73706f5ff4bdb83351fd38a446814d56062fae38730c2d5d30a61b969668e93d34766d3c52eade811dd3 WHIRLPOOL cf8227073e0d31a68f637e799e7c2c451e8495a66a3ddfa5885bc6d5008e73ef1135230dad91c9ae7d0702af34875ee8ea6c1d363acd32d34782aba44ed362b3
+MISC ChangeLog-2015 28186 SHA256 2295f585bd79b5481b760eb508c21e38665ea89355761b887e098573bd2be3a5 SHA512 d5521bda4f122db42be0f8a70cf946158dcc45dba106f4b2917a57566c21b2720cbc6c4108efeff3e22507f2f242a0d602596b04a7650a0ca89db4fb10bd6c8f WHIRLPOOL 312546d255da137b14925aacb0618a08b7bff032147b7420c18373f0a83bf4e468585c482b3a7018fccf12137c199377ec2b608759eb58ea839b82239fcd2c1f
+MISC metadata.xml 593 SHA256 789d6af1ae66f250e11f1eeb2a0f363180257dfa100dd9d6317e6f47c042f32d SHA512 cab7d36edce3f7da1742ebf086f69468f2745cb58fae83e74fa3e6016f4a7285aaa57100fed17df47940a51029ea78892147b7fe86ef2e456b7e34cc34a421bd WHIRLPOOL 2d898a28a388d05d0bd6b077225dc455e57fd4d4cc12a5a0c9ae4761c284b3855768777a97de75095aea28e15a2f225ed972b4c2f148655727e90310fea497bf
diff --git a/dev-vcs/darcs/darcs-2.10.1.ebuild b/dev-vcs/darcs/darcs-2.10.1.ebuild
new file mode 100644
index 000000000000..74d9bedab0db
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.10.1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.5.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error,+pkgconfig,-rts,-static,-optimize,hashed-storage-diff:diff
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+DESCRIPTION="a distributed, interactive, smart revision control system"
+HOMEPAGE="http://darcs.net/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+curl diff +http +network-uri +terminfo +threaded"
+
+RESTRICT=test # missing file 'tests/bin/renameHelper.hs'
+
+RDEPEND=">=dev-haskell/attoparsec-0.11:=[profile?] <dev-haskell/attoparsec-0.14:=[profile?]
+ >=dev-haskell/base16-bytestring-0.1:=[profile?] <dev-haskell/base16-bytestring-0.2:=[profile?]
+ >=dev-haskell/binary-0.5:=[profile?] <dev-haskell/binary-0.8:=[profile?]
+ >=dev-haskell/cryptohash-0.4:=[profile?] <dev-haskell/cryptohash-0.12:=[profile?]
+ >=dev-haskell/data-ordlist-0.4:=[profile?] <dev-haskell/data-ordlist-0.5:=[profile?]
+ >=dev-haskell/dataenc-0.11:=[profile?] <dev-haskell/dataenc-0.15:=[profile?]
+ >=dev-haskell/hashable-1.0:=[profile?] <dev-haskell/hashable-1.3:=[profile?]
+ >=dev-haskell/haskeline-0.6.3:=[profile?] <dev-haskell/haskeline-0.8:=[profile?]
+ >=dev-haskell/html-1.0:=[profile?] <dev-haskell/html-1.1:=[profile?]
+ >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?]
+ >=dev-haskell/mtl-2.1:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
+ >=dev-haskell/old-locale-1.0:=[profile?] <dev-haskell/old-locale-1.1:=[profile?]
+ >=dev-haskell/old-time-1.1:=[profile?] <dev-haskell/old-time-1.2:=[profile?]
+ >=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
+ >=dev-haskell/random-1.0:=[profile?] <dev-haskell/random-1.2:=[profile?]
+ >=dev-haskell/regex-applicative-0.2:=[profile?] <dev-haskell/regex-applicative-0.4:=[profile?]
+ >=dev-haskell/regex-compat-tdfa-0.95.1:=[profile?] <dev-haskell/regex-compat-tdfa-0.96:=[profile?]
+ >=dev-haskell/tar-0.4:=[profile?] <dev-haskell/tar-0.5:=[profile?]
+ >=dev-haskell/text-0.11.2.0:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-haskell/transformers-compat-0.4:=[profile?] <dev-haskell/transformers-compat-0.5:=[profile?]
+ >=dev-haskell/unix-compat-0.1.2:=[profile?] <dev-haskell/unix-compat-0.5:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
+ >=dev-haskell/vector-0.7:=[profile?] <dev-haskell/vector-0.11:=[profile?]
+ >=dev-haskell/zip-archive-0.2.3:=[profile?] <dev-haskell/zip-archive-0.3:=[profile?]
+ >=dev-haskell/zlib-0.5.3.0:=[profile?] <dev-haskell/zlib-0.7.0.0:=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ virtual/libiconv
+ >=dev-haskell/transformers-0.3:=[profile?] <dev-haskell/transformers-0.5:=[profile?]
+ curl? ( net-misc/curl )
+ diff? ( dev-haskell/lcs:=[profile?] )
+ http? ( >=dev-haskell/http-4000.2.3:=[profile?] <dev-haskell/http-4000.3:=[profile?]
+ network-uri? ( >=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-2.7:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] )
+ !network-uri? ( >=dev-haskell/network-2.3:=[profile?] <dev-haskell/network-2.6:=[profile?] ) )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.10
+ dev-lang/ghc
+ test? ( >=dev-haskell/cmdargs-0.10 <dev-haskell/cmdargs-0.11
+ >=dev-haskell/findbin-0.0 <dev-haskell/findbin-0.1
+ >=dev-haskell/hunit-1.0 <dev-haskell/hunit-1.3
+ >=dev-haskell/quickcheck-2.3 <dev-haskell/quickcheck-2.9
+ >=dev-haskell/shelly-1.6.2 <dev-haskell/shelly-1.7
+ >=dev-haskell/split-0.1.4.1 <dev-haskell/split-0.3
+ >=dev-haskell/test-framework-0.4.0 <dev-haskell/test-framework-0.9
+ >=dev-haskell/test-framework-hunit-0.2.2 <dev-haskell/test-framework-hunit-0.4
+ >=dev-haskell/test-framework-quickcheck2-0.3 <dev-haskell/test-framework-quickcheck2-0.4 )
+ curl? ( virtual/pkgconfig )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag curl curl) \
+ --flag=executable \
+ $(cabal_flag diff hashed-storage-diff) \
+ --flag=-hpc \
+ $(cabal_flag http http) \
+ --flag=library \
+ $(cabal_flag network-uri network-uri) \
+ --flag=-optimize \
+ --flag=pkgconfig \
+ --flag=-rts \
+ --flag=-static \
+ $(cabal_flag terminfo terminfo) \
+ $(cabal_flag threaded threaded) \
+ --flag=-warn-as-error
+}
+
+src_install() {
+ haskell-cabal_src_install
+
+ # fixup perms in such an an awkward way
+ mv "${ED}/usr/share/man/man1/darcs.1" "${S}/darcs.1" || die "darcs.1 not found"
+ doman "${S}/darcs.1" || die "failed to register darcs.1 as a manpage"
+}
diff --git a/dev-vcs/darcs/darcs-2.10.3-r1.ebuild b/dev-vcs/darcs/darcs-2.10.3-r1.ebuild
new file mode 100644
index 000000000000..1006022a8160
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.10.3-r1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.6.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error,+pkgconfig,-rts,-static,-optimize,hashed-storage-diff:diff
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+DESCRIPTION="a distributed, interactive, smart revision control system"
+HOMEPAGE="http://darcs.net/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+curl diff +http +network-uri +terminfo +threaded"
+
+RESTRICT=test # occasionally hangs on directory creation race conditions
+
+RDEPEND=">=dev-haskell/attoparsec-0.11:=[profile?] <dev-haskell/attoparsec-0.14:=[profile?]
+ >=dev-haskell/base16-bytestring-0.1:=[profile?] <dev-haskell/base16-bytestring-0.2:=[profile?]
+ >=dev-haskell/binary-0.5:=[profile?] <dev-haskell/binary-0.9:=[profile?]
+ >=dev-haskell/cryptohash-0.4:=[profile?] <dev-haskell/cryptohash-0.12:=[profile?]
+ >=dev-haskell/data-ordlist-0.4:=[profile?] <dev-haskell/data-ordlist-0.5:=[profile?]
+ >=dev-haskell/hashable-1.0:=[profile?] <dev-haskell/hashable-1.3:=[profile?]
+ >=dev-haskell/haskeline-0.6.3:=[profile?] <dev-haskell/haskeline-0.8:=[profile?]
+ >=dev-haskell/html-1.0:=[profile?] <dev-haskell/html-1.1:=[profile?]
+ >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?]
+ >=dev-haskell/mtl-2.1:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
+ >=dev-haskell/old-locale-1.0:=[profile?] <dev-haskell/old-locale-1.1:=[profile?]
+ >=dev-haskell/old-time-1.1:=[profile?] <dev-haskell/old-time-1.2:=[profile?]
+ >=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
+ >=dev-haskell/random-1.0:=[profile?] <dev-haskell/random-1.2:=[profile?]
+ >=dev-haskell/regex-applicative-0.2:=[profile?] <dev-haskell/regex-applicative-0.4:=[profile?]
+ >=dev-haskell/regex-compat-tdfa-0.95.1:=[profile?] <dev-haskell/regex-compat-tdfa-0.96:=[profile?]
+ >=dev-haskell/sandi-0.2:=[profile?] <dev-haskell/sandi-0.4:=[profile?]
+ >=dev-haskell/tar-0.4:=[profile?] <dev-haskell/tar-0.6:=[profile?]
+ >=dev-haskell/text-0.11.3.1:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-haskell/transformers-compat-0.4:=[profile?] <dev-haskell/transformers-compat-0.6:=[profile?]
+ >=dev-haskell/unix-compat-0.1.2:=[profile?] <dev-haskell/unix-compat-0.5:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
+ >=dev-haskell/vector-0.7:=[profile?] <dev-haskell/vector-0.12:=[profile?]
+ >=dev-haskell/zip-archive-0.2.3:=[profile?]
+ >=dev-haskell/zlib-0.5.3.0:=[profile?] <dev-haskell/zlib-0.7.0.0:=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ virtual/libiconv
+ >=dev-haskell/transformers-0.3:=[profile?] <dev-haskell/transformers-0.6:=[profile?]
+ curl? ( net-misc/curl )
+ diff? ( dev-haskell/lcs:=[profile?] )
+ http? ( >=dev-haskell/http-4000.2.3:=[profile?] <dev-haskell/http-4000.4:=[profile?]
+ network-uri? ( >=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-2.7:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] )
+ !network-uri? ( >=dev-haskell/network-2.3:=[profile?] <dev-haskell/network-2.6:=[profile?] ) )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.10
+ test? ( >=dev-haskell/cmdargs-0.10 <dev-haskell/cmdargs-0.11
+ >=dev-haskell/findbin-0.0 <dev-haskell/findbin-0.1
+ >=dev-haskell/hunit-1.0 <dev-haskell/hunit-1.4
+ >=dev-haskell/quickcheck-2.3 <dev-haskell/quickcheck-2.9
+ >=dev-haskell/shelly-1.6.2 <dev-haskell/shelly-1.7
+ >=dev-haskell/split-0.1.4.1 <dev-haskell/split-0.3
+ >=dev-haskell/test-framework-0.4.0 <dev-haskell/test-framework-0.9
+ >=dev-haskell/test-framework-hunit-0.2.2 <dev-haskell/test-framework-hunit-0.4
+ >=dev-haskell/test-framework-quickcheck2-0.3 <dev-haskell/test-framework-quickcheck2-0.4 )
+ curl? ( virtual/pkgconfig )
+"
+
+src_prepare() {
+ cabal_chdeps \
+ 'base >= 4.5 && < 4.9' 'base >= 4.5' \
+ 'zip-archive >= 0.2.3 && < 0.3' 'zip-archive >= 0.2.3'
+}
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag curl curl) \
+ --flag=executable \
+ $(cabal_flag diff hashed-storage-diff) \
+ --flag=-hpc \
+ $(cabal_flag http http) \
+ --flag=library \
+ $(cabal_flag network-uri network-uri) \
+ --flag=-optimize \
+ --flag=pkgconfig \
+ --flag=-rts \
+ --flag=-static \
+ $(cabal_flag terminfo terminfo) \
+ $(cabal_flag threaded threaded) \
+ --flag=-warn-as-error
+}
+
+src_install() {
+ haskell-cabal_src_install
+
+ # fixup perms in such an an awkward way
+ mv "${ED}/usr/share/man/man1/darcs.1" "${S}/darcs.1" || die "darcs.1 not found"
+ doman "${S}/darcs.1" || die "failed to register darcs.1 as a manpage"
+}
diff --git a/dev-vcs/darcs/darcs-2.12.0.ebuild b/dev-vcs/darcs/darcs-2.12.0.ebuild
new file mode 100644
index 000000000000..f7e328a92b90
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.12.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# ebuild generated by hackport 0.5.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error,+pkgconfig,-rts,-static,-optimize,hashed-storage-diff:diff,+http
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+DESCRIPTION="a distributed, interactive, smart revision control system"
+HOMEPAGE="http://darcs.net/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/${PV}"
+KEYWORDS="amd64 x86"
+IUSE="+curl +network-uri +terminfo +threaded"
+
+RESTRICT=test # occasionally hangs on directory creation race conditions
+
+RDEPEND=">=dev-haskell/async-2.0.1.4:=[profile?] <dev-haskell/async-2.2:=[profile?]
+ >=dev-haskell/attoparsec-0.11:=[profile?] <dev-haskell/attoparsec-0.14:=[profile?]
+ >=dev-haskell/base16-bytestring-0.1:=[profile?] <dev-haskell/base16-bytestring-0.2:=[profile?]
+ >=dev-haskell/binary-0.5:=[profile?] <dev-haskell/binary-0.9:=[profile?]
+ >=dev-haskell/cryptohash-0.4:=[profile?] <dev-haskell/cryptohash-0.12:=[profile?]
+ >=dev-haskell/data-ordlist-0.4:=[profile?] <dev-haskell/data-ordlist-0.5:=[profile?]
+ >=dev-haskell/fgl-5.5.0.1:=[profile?] <dev-haskell/fgl-5.6:=[profile?]
+ >=dev-haskell/graphviz-2999.17.0.1:=[profile?] <dev-haskell/graphviz-2999.19:=[profile?]
+ >=dev-haskell/hashable-1.1.2.5:=[profile?] <dev-haskell/hashable-1.3:=[profile?]
+ >=dev-haskell/haskeline-0.6.3:=[profile?] <dev-haskell/haskeline-0.8:=[profile?]
+ >=dev-haskell/html-1.0.1.2:=[profile?] <dev-haskell/html-1.1:=[profile?]
+ >=dev-haskell/http-4000.2.8:=[profile?] <dev-haskell/http-4000.4:=[profile?]
+ >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?]
+ >=dev-haskell/mtl-2.1.2:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
+ >=dev-haskell/old-locale-1.0.0.5:=[profile?] <dev-haskell/old-locale-1.1:=[profile?]
+ >=dev-haskell/old-time-1.1:=[profile?] <dev-haskell/old-time-1.2:=[profile?]
+ >=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
+ >=dev-haskell/random-1.0.1.1:=[profile?] <dev-haskell/random-1.2:=[profile?]
+ >=dev-haskell/regex-applicative-0.2:=[profile?] <dev-haskell/regex-applicative-0.4:=[profile?]
+ >=dev-haskell/regex-compat-tdfa-0.95.1:=[profile?] <dev-haskell/regex-compat-tdfa-0.96:=[profile?]
+ >=dev-haskell/sandi-0.2:=[profile?] <dev-haskell/sandi-0.4:=[profile?]
+ >=dev-haskell/tar-0.4:=[profile?] <dev-haskell/tar-0.6:=[profile?]
+ >=dev-haskell/text-1.2.1.3:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-haskell/transformers-compat-0.4:=[profile?] <dev-haskell/transformers-compat-0.6:=[profile?]
+ >=dev-haskell/unix-compat-0.1.2:=[profile?] <dev-haskell/unix-compat-0.5:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
+ >=dev-haskell/vector-0.10.0.1:=[profile?] <dev-haskell/vector-0.12:=[profile?]
+ >=dev-haskell/zip-archive-0.2.3:=[profile?] <dev-haskell/zip-archive-0.4:=[profile?]
+ >=dev-haskell/zlib-0.5.4.1:=[profile?] <dev-haskell/zlib-0.7.0.0:=[profile?]
+ >=dev-lang/ghc-7.6.2:=
+ >=dev-haskell/transformers-0.3:=[profile?] <dev-haskell/transformers-0.6:=[profile?]
+ curl? ( net-misc/curl )
+ network-uri? ( >=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-2.7:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] )
+ !network-uri? ( >=dev-haskell/network-2.4.1.2:=[profile?] <dev-haskell/network-2.6:=[profile?] )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.16.0
+ test? ( >=dev-haskell/cmdargs-0.10 <dev-haskell/cmdargs-0.11
+ >=dev-haskell/findbin-0.0 <dev-haskell/findbin-0.1
+ >=dev-haskell/hunit-1.2.5.2 <dev-haskell/hunit-1.4
+ >=dev-haskell/quickcheck-2.6 <dev-haskell/quickcheck-2.9
+ >=dev-haskell/shelly-1.6.2 <dev-haskell/shelly-1.7
+ >=dev-haskell/split-0.2.2 <dev-haskell/split-0.3
+ >=dev-haskell/test-framework-0.4.0 <dev-haskell/test-framework-0.9
+ >=dev-haskell/test-framework-hunit-0.2.2 <dev-haskell/test-framework-hunit-0.4
+ >=dev-haskell/test-framework-quickcheck2-0.3 <dev-haskell/test-framework-quickcheck2-0.4 )
+ curl? ( virtual/pkgconfig )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag curl curl) \
+ --flag=executable \
+ --flag=-hpc \
+ --flag=http \
+ --flag=library \
+ $(cabal_flag network-uri network-uri) \
+ --flag=-optimize \
+ --flag=pkgconfig \
+ --flag=-rts \
+ --flag=-static \
+ $(cabal_flag terminfo terminfo) \
+ $(cabal_flag threaded threaded) \
+ --flag=-warn-as-error
+}
+
+src_install() {
+ haskell-cabal_src_install
+
+ # fixup perms in such an an awkward way
+ mv "${ED}/usr/share/man/man1/darcs.1" "${S}/darcs.1" || die "darcs.1 not found"
+ doman "${S}/darcs.1" || die "failed to register darcs.1 as a manpage"
+}
diff --git a/dev-vcs/darcs/darcs-2.12.4.ebuild b/dev-vcs/darcs/darcs-2.12.4.ebuild
new file mode 100644
index 000000000000..bd27cb3592a7
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.12.4.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# ebuild generated by hackport 0.5.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error,+pkgconfig,-rts,-static,-optimize,hashed-storage-diff:diff,+http
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+DESCRIPTION="a distributed, interactive, smart revision control system"
+HOMEPAGE="http://darcs.net/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+curl +network-uri +terminfo +threaded"
+
+RDEPEND=">=dev-haskell/async-2.0.1.4:=[profile?] <dev-haskell/async-2.2:=[profile?]
+ >=dev-haskell/attoparsec-0.11:=[profile?] <dev-haskell/attoparsec-0.14:=[profile?]
+ >=dev-haskell/base16-bytestring-0.1:=[profile?] <dev-haskell/base16-bytestring-0.2:=[profile?]
+ >=dev-haskell/cryptohash-0.4:=[profile?] <dev-haskell/cryptohash-0.12:=[profile?]
+ >=dev-haskell/data-ordlist-0.4:=[profile?] <dev-haskell/data-ordlist-0.5:=[profile?]
+ >=dev-haskell/fgl-5.5.0.1:=[profile?] <dev-haskell/fgl-5.6:=[profile?]
+ >=dev-haskell/graphviz-2999.17.0.1:=[profile?] <dev-haskell/graphviz-2999.19:=[profile?]
+ >=dev-haskell/hashable-1.1.2.5:=[profile?] <dev-haskell/hashable-1.3:=[profile?]
+ >=dev-haskell/haskeline-0.6.3:=[profile?] <dev-haskell/haskeline-0.8:=[profile?]
+ >=dev-haskell/html-1.0.1.2:=[profile?] <dev-haskell/html-1.1:=[profile?]
+ >=dev-haskell/http-4000.2.8:=[profile?] <dev-haskell/http-4000.4:=[profile?]
+ >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?]
+ >=dev-haskell/mtl-2.1.2:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
+ >=dev-haskell/old-time-1.1:=[profile?] <dev-haskell/old-time-1.2:=[profile?]
+ >=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
+ >=dev-haskell/random-1.0.1.1:=[profile?] <dev-haskell/random-1.2:=[profile?]
+ >=dev-haskell/regex-applicative-0.2:=[profile?] <dev-haskell/regex-applicative-0.4:=[profile?]
+ >=dev-haskell/regex-compat-tdfa-0.95.1:=[profile?] <dev-haskell/regex-compat-tdfa-0.96:=[profile?]
+ >=dev-haskell/sandi-0.4:=[profile?] <dev-haskell/sandi-0.5:=[profile?]
+ >=dev-haskell/tar-0.4:=[profile?] <dev-haskell/tar-0.6:=[profile?]
+ >=dev-haskell/text-1.2.1.3:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-haskell/transformers-compat-0.4:=[profile?] <dev-haskell/transformers-compat-0.6:=[profile?]
+ >=dev-haskell/unix-compat-0.1.2:=[profile?] <dev-haskell/unix-compat-0.5:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
+ >=dev-haskell/vector-0.10.0.1:=[profile?] <dev-haskell/vector-0.12:=[profile?]
+ >=dev-haskell/zip-archive-0.2.3:=[profile?] <dev-haskell/zip-archive-0.4:=[profile?]
+ >=dev-haskell/zlib-0.5.4.1:=[profile?] <dev-haskell/zlib-0.7.0.0:=[profile?]
+ >=dev-lang/ghc-7.10.1:=
+ curl? ( net-misc/curl )
+ network-uri? ( >=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-2.7:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] )
+ !network-uri? ( >=dev-haskell/network-2.4.1.2:=[profile?] <dev-haskell/network-2.6:=[profile?] )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.22.2.0
+ test? ( >=dev-haskell/cmdargs-0.10 <dev-haskell/cmdargs-0.11
+ >=dev-haskell/findbin-0.0 <dev-haskell/findbin-0.1
+ >=dev-haskell/hunit-1.2.5.2 <dev-haskell/hunit-1.4
+ >=dev-haskell/quickcheck-2.6 <dev-haskell/quickcheck-2.10
+ >=dev-haskell/shelly-1.6.2 <dev-haskell/shelly-1.7
+ >=dev-haskell/split-0.2.2 <dev-haskell/split-0.3
+ >=dev-haskell/test-framework-0.4.0 <dev-haskell/test-framework-0.9
+ >=dev-haskell/test-framework-hunit-0.2.2 <dev-haskell/test-framework-hunit-0.4
+ >=dev-haskell/test-framework-quickcheck2-0.3 <dev-haskell/test-framework-quickcheck2-0.4 )
+ curl? ( virtual/pkgconfig )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag curl curl) \
+ --flag=executable \
+ --flag=-hpc \
+ --flag=http \
+ --flag=library \
+ $(cabal_flag network-uri network-uri) \
+ --flag=-optimize \
+ --flag=pkgconfig \
+ --flag=-rts \
+ --flag=-static \
+ $(cabal_flag terminfo terminfo) \
+ $(cabal_flag threaded threaded) \
+ --flag=-warn-as-error
+}
+
+src_install() {
+ haskell-cabal_src_install
+
+ # fixup perms in such an an awkward way
+ mv "${ED}/usr/share/man/man1/darcs.1" "${S}/darcs.1" || die "darcs.1 not found"
+ doman "${S}/darcs.1"
+}
diff --git a/dev-vcs/darcs/darcs-2.12.5.ebuild b/dev-vcs/darcs/darcs-2.12.5.ebuild
new file mode 100644
index 000000000000..df94ced13860
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.12.5.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# ebuild generated by hackport 0.5.1.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error,+pkgconfig,-rts,-static,-optimize,hashed-storage-diff:diff,+http
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+DESCRIPTION="a distributed, interactive, smart revision control system"
+HOMEPAGE="http://darcs.net/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/${PV}"
+KEYWORDS="amd64 x86"
+IUSE="+curl +network-uri +terminfo +threaded"
+
+RDEPEND=">=dev-haskell/async-2.0.1.4:=[profile?] <dev-haskell/async-2.2:=[profile?]
+ >=dev-haskell/attoparsec-0.11:=[profile?] <dev-haskell/attoparsec-0.14:=[profile?]
+ >=dev-haskell/base16-bytestring-0.1:=[profile?] <dev-haskell/base16-bytestring-0.2:=[profile?]
+ >=dev-haskell/cryptohash-0.4:=[profile?] <dev-haskell/cryptohash-0.12:=[profile?]
+ >=dev-haskell/data-ordlist-0.4:=[profile?] <dev-haskell/data-ordlist-0.5:=[profile?]
+ >=dev-haskell/fgl-5.5.0.1:=[profile?] <dev-haskell/fgl-5.6:=[profile?]
+ >=dev-haskell/graphviz-2999.17.0.1:=[profile?] <dev-haskell/graphviz-2999.19:=[profile?]
+ >=dev-haskell/hashable-1.1.2.5:=[profile?] <dev-haskell/hashable-1.3:=[profile?]
+ >=dev-haskell/haskeline-0.6.3:=[profile?] <dev-haskell/haskeline-0.8:=[profile?]
+ >=dev-haskell/html-1.0.1.2:=[profile?] <dev-haskell/html-1.1:=[profile?]
+ >=dev-haskell/http-4000.2.8:=[profile?] <dev-haskell/http-4000.4:=[profile?]
+ >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?]
+ >=dev-haskell/mtl-2.1.2:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
+ >=dev-haskell/old-time-1.1:=[profile?] <dev-haskell/old-time-1.2:=[profile?]
+ >=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
+ >=dev-haskell/random-1.0.1.1:=[profile?] <dev-haskell/random-1.2:=[profile?]
+ >=dev-haskell/regex-applicative-0.2:=[profile?] <dev-haskell/regex-applicative-0.4:=[profile?]
+ >=dev-haskell/regex-compat-tdfa-0.95.1:=[profile?] <dev-haskell/regex-compat-tdfa-0.96:=[profile?]
+ >=dev-haskell/sandi-0.4:=[profile?] <dev-haskell/sandi-0.5:=[profile?]
+ >=dev-haskell/tar-0.4:=[profile?] <dev-haskell/tar-0.6:=[profile?]
+ >=dev-haskell/text-1.2.1.3:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-haskell/transformers-compat-0.4:=[profile?] <dev-haskell/transformers-compat-0.6:=[profile?]
+ >=dev-haskell/unix-compat-0.1.2:=[profile?] <dev-haskell/unix-compat-0.5:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
+ >=dev-haskell/vector-0.10.0.1:=[profile?] <dev-haskell/vector-0.13:=[profile?]
+ >=dev-haskell/zip-archive-0.2.3:=[profile?] <dev-haskell/zip-archive-0.4:=[profile?]
+ >=dev-haskell/zlib-0.5.4.1:=[profile?] <dev-haskell/zlib-0.7.0.0:=[profile?]
+ >=dev-lang/ghc-7.10.1:=
+ curl? ( net-misc/curl )
+ network-uri? ( >=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-2.7:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] )
+ !network-uri? ( >=dev-haskell/network-2.4.1.2:=[profile?] <dev-haskell/network-2.6:=[profile?] )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.22.2.0
+ test? ( >=dev-haskell/cmdargs-0.10 <dev-haskell/cmdargs-0.11
+ >=dev-haskell/findbin-0.0 <dev-haskell/findbin-0.1
+ >=dev-haskell/hunit-1.2.5.2 <dev-haskell/hunit-1.6
+ >=dev-haskell/quickcheck-2.6 <dev-haskell/quickcheck-2.10
+ >=dev-haskell/shelly-1.6.2 <dev-haskell/shelly-1.7
+ >=dev-haskell/split-0.2.2 <dev-haskell/split-0.3
+ >=dev-haskell/test-framework-0.4.0 <dev-haskell/test-framework-0.9
+ >=dev-haskell/test-framework-hunit-0.2.2 <dev-haskell/test-framework-hunit-0.4
+ >=dev-haskell/test-framework-quickcheck2-0.3 <dev-haskell/test-framework-quickcheck2-0.4 )
+ curl? ( virtual/pkgconfig )
+"
+
+PATCHES=("${FILESDIR}"/${PN}-2.12.4-ghc-8.0.2_rc1.patch)
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag curl curl) \
+ --flag=executable \
+ --flag=-hpc \
+ --flag=http \
+ --flag=library \
+ $(cabal_flag network-uri network-uri) \
+ --flag=-optimize \
+ --flag=pkgconfig \
+ --flag=-rts \
+ --flag=-static \
+ $(cabal_flag terminfo terminfo) \
+ $(cabal_flag threaded threaded) \
+ --flag=-warn-as-error
+}
+
+src_install() {
+ haskell-cabal_src_install
+
+ # fixup perms in such an an awkward way
+ mv "${ED}/usr/share/man/man1/darcs.1" "${S}/darcs.1" || die "darcs.1 not found"
+ doman "${S}/darcs.1"
+}
diff --git a/dev-vcs/darcs/darcs-2.8.4-r6.ebuild b/dev-vcs/darcs/darcs-2.8.4-r6.ebuild
new file mode 100644
index 000000000000..d16e80cbb5f6
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.8.4-r6.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.9999
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour"
+inherit eutils haskell-cabal bash-completion-r1
+
+DESCRIPTION="a distributed, interactive, smart revision control system"
+HOMEPAGE="http://darcs.net/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/${PV}"
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="doc test"
+
+RDEPEND="=dev-haskell/extensible-exceptions-0.1*:=[profile?]
+ >=dev-haskell/hashed-storage-0.5.6:=[profile?]
+ <dev-haskell/hashed-storage-0.6:=[profile?]
+ >=dev-haskell/haskeline-0.6.3:=[profile?]
+ <dev-haskell/haskeline-0.8:=[profile?]
+ =dev-haskell/html-1.0*:=[profile?]
+ =dev-haskell/mmap-0.5*:=[profile?]
+ >=dev-haskell/mtl-1.0:=[profile?]
+ <dev-haskell/mtl-2.3:=[profile?]
+ >=dev-haskell/parsec-2.0:=[profile?]
+ <dev-haskell/parsec-3.2:=[profile?]
+ =dev-haskell/random-1.0*:=[profile?]
+ >=dev-haskell/regex-compat-0.95.1:=[profile?]
+ >=dev-haskell/tar-0.3:=[profile?]
+ <dev-haskell/tar-0.5:=[profile?]
+ >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?]
+ >=dev-haskell/text-0.11.0.6:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-0.4:=[profile?]
+ >=dev-haskell/vector-0.7:=[profile?]
+ >=dev-haskell/zlib-0.5.1.0:=[profile?]
+ <dev-haskell/zlib-0.6.0.0:=[profile?]
+ >=dev-lang/ghc-6.10.4:=
+ net-misc/curl"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.8
+ doc? ( virtual/latex-base
+ || ( dev-tex/latex2html[png]
+ dev-tex/latex2html[gif]
+ )
+ )
+ test? ( >=dev-haskell/cmdlib-0.2.1[profile?]
+ <dev-haskell/cmdlib-0.4[profile?]
+ =dev-haskell/findbin-0.0*[profile?]
+ >=dev-haskell/quickcheck-2.3
+ >=dev-haskell/shellish-0.1.3[profile?]
+ <dev-haskell/shellish-0.2[profile?]
+ >=dev-haskell/test-framework-0.4.0[profile?]
+ >=dev-haskell/test-framework-hunit-0.2.2[profile?]
+ >=dev-haskell/test-framework-quickcheck2-0.2.8[profile?]
+ )
+ "
+
+src_prepare() {
+ rm "${S}/tests/add_permissions.sh" || die "Could not rm add_permissions.sh"
+ rm "${S}/tests/send-output-v1.sh" || die "Could not rm send-output-v1.sh"
+ rm "${S}/tests/send-output-v2.sh" || die "Could not rm send-output-v2.sh"
+ rm "${S}/tests/utf8.sh" || die "Could not rm utf8.sh"
+
+ epatch "${FILESDIR}"/${P}-ghc-7.8-part-1.patch
+ epatch "${FILESDIR}"/${P}-ghc-7.8-part-2.patch
+ epatch "${FILESDIR}"/${P}-fix-nonatomic-global.patch
+ epatch "${FILESDIR}"/${P}-issue2364.patch
+ epatch "${FILESDIR}"/${P}-issue2364-part-2.patch
+
+ cabal_chdeps \
+ 'text >= 0.11.0.6 && < 0.12.0.0' 'text >= 0.11.0.6' \
+ 'terminfo == 0.3.*' 'terminfo >= 0.3 && < 0.5' \
+ 'array >= 0.1 && < 0.5' 'array >= 0.1 && <0.6' \
+ 'process >= 1.0.0.0 && < 1.2.0.0' 'process >= 1.0.0.0 && < 1.3' \
+ 'unix >= 1.0 && < 2.7' 'unix >=1.0 && <2.8' \
+ 'base >= 4.5 && < 4.7' 'base >= 4.5 && < 4.8' \
+ 'ghc >= 6.10 && < 7.8' 'ghc >= 6.10' \
+ 'mtl >= 1.0 && < 2.2' 'mtl >= 1.0 && < 2.3'
+}
+
+src_configure() {
+ # checking whether ghc supports -threaded flag
+ # Beware: http://www.haskell.org/ghc/docs/latest/html/users_guide/options-phases.html#options-linker
+ # contains: 'The ability to make a foreign call that does not block all other Haskell threads.'
+ # It might have interactivity impact.
+
+ threaded_flag=""
+ if $(ghc-getghc) --info | grep "Support SMP" | grep -q "YES"; then
+ threaded_flag="--flags=threaded"
+ einfo "$P will be built with threads support"
+ else
+ threaded_flag="--flags=-threaded"
+ einfo "$P will be built without threads support"
+ fi
+
+ # Use curl for net stuff to avoid strict version dep on HTTP and network
+ cabal_src_configure \
+ --flags=curl \
+ --flags=-http \
+ --flags=color \
+ --flags=terminfo \
+ --flags=mmap \
+ --flags=force-char8-encoding \
+ $threaded_flag \
+ $(cabal_flag test)
+}
+
+src_test() {
+ # run cabal test from haskell-cabal
+ haskell-cabal_src_test || die "cabal test failed"
+}
+
+src_install() {
+ cabal_src_install
+ newbashcomp "${S}/contrib/darcs_completion" "${PN}"
+
+ # fixup perms in such an an awkward way
+ mv "${ED}/usr/share/man/man1/darcs.1" "${S}/darcs.1" || die "darcs.1 not found"
+ doman "${S}/darcs.1" || die "failed to register darcs.1 as a manpage"
+}
+
+pkg_postinst() {
+ ghc-package_pkg_postinst
+
+ ewarn "NOTE: in order for the darcs send command to work properly,"
+ ewarn "you must properly configure your mail transport agent to relay"
+ ewarn "outgoing mail. For example, if you are using ssmtp, please edit"
+ ewarn "${EPREFIX}/etc/ssmtp/ssmtp.conf with appropriate values for your site."
+}
diff --git a/dev-vcs/darcs/files/darcs-2.12.4-ghc-8.0.2_rc1.patch b/dev-vcs/darcs/files/darcs-2.12.4-ghc-8.0.2_rc1.patch
new file mode 100644
index 000000000000..9602d1d1ccdc
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.12.4-ghc-8.0.2_rc1.patch
@@ -0,0 +1,9 @@
+diff --git a/harness/Darcs/Test/Patch.hs b/harness/Darcs/Test/Patch.hs
+index f50f6b9..f0f4e2a 100644
+--- a/harness/Darcs/Test/Patch.hs
++++ b/harness/Darcs/Test/Patch.hs
+@@ -244,3 +244,3 @@ properties :: forall thing gen. (Show1 gen, Arbitrary (Sealed gen)) =>
+ properties gen prefix genname tests =
+- [ cond name condition check | (name, condition, check) <- tests ]
++ [ cond name condition check | (name, condition :: TestCondition thing, check :: TestCheck thing testable) <- tests ]
+ where cond :: forall testable. Testable testable
diff --git a/dev-vcs/darcs/files/darcs-2.8.4-fix-nonatomic-global.patch b/dev-vcs/darcs/files/darcs-2.8.4-fix-nonatomic-global.patch
new file mode 100644
index 000000000000..c3fce6fbc9e8
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.4-fix-nonatomic-global.patch
@@ -0,0 +1,20 @@
+There is a bug in speculateFileOrUrl.
+It puts downloaded file nonatomically.
+
+There is a window when copyFileOrUrl can (and does)
+copy partially downloaded file.
+
+Darcs-bug: http://bugs.darcs.net/issue2364
+diff --git a/src/Darcs/External.hs b/src/Darcs/External.hs
+index 2e0e791..d5a0b9f 100644
+--- a/src/Darcs/External.hs
++++ b/src/Darcs/External.hs
+@@ -184,7 +184,7 @@ copyFileOrUrl rd fou out _ | isSshUrl fou = copySSH rd (splitSshUrl fou)
+ copyFileOrUrl _ fou _ _ = fail $ "unknown transport protocol: " ++ fou
+
+ speculateFileOrUrl :: String -> FilePath -> IO ()
+-speculateFileOrUrl fou out | isHttpUrl fou = speculateRemote fou out
++speculateFileOrUrl fou out | isHttpUrl fou = speculateRemote fou out >> waitUrl fou
+ | otherwise = return ()
+
+ copyLocal :: String -> FilePath -> IO ()
diff --git a/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch b/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch
new file mode 100644
index 000000000000..3680c29b0440
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch
@@ -0,0 +1,128 @@
+diff --git a/src/Crypt/SHA256.hs b/src/Crypt/SHA256.hs
+index 69a8a4c..606f2ad 100644
+--- a/src/Crypt/SHA256.hs
++++ b/src/Crypt/SHA256.hs
+@@ -20,9 +20,10 @@ import Numeric (showHex)
+ import Foreign.C.String ( withCString )
+ import Data.ByteString.Unsafe (unsafeUseAsCStringLen)
+ import qualified Data.ByteString as B
++import qualified System.IO.Unsafe as U
+
+ sha256sum :: B.ByteString -> String
+-sha256sum p = unsafePerformIO $
++sha256sum p = U.unsafePerformIO $
+ withCString (take 64 $ repeat 'x') $ \digestCString ->
+ unsafeUseAsCStringLen p $ \(ptr,n) ->
+ do let digest = castPtr digestCString :: Ptr Word8
+diff --git a/src/Darcs/Commands/Get.hs b/src/Darcs/Commands/Get.hs
+index e450d28..6b51915 100644
+--- a/src/Darcs/Commands/Get.hs
++++ b/src/Darcs/Commands/Get.hs
+@@ -157,7 +157,8 @@ copyRepoAndGoToChosenVersion opts repodir rfsource = do
+ copyRepo
+ withRepository opts ((RepoJob $ \repository -> goToChosenVersion repository opts) :: RepoJob ())
+ putInfo opts $ text "Finished getting."
+- where copyRepo =
++ where copyRepo :: IO ()
++ copyRepo =
+ withRepository opts $ RepoJob $ \repository ->
+ if formatHas HashedInventory rfsource
+ then do
+diff --git a/src/Darcs/Global.hs b/src/Darcs/Global.hs
+index 9792bf0..e17f071 100644
+--- a/src/Darcs/Global.hs
++++ b/src/Darcs/Global.hs
+@@ -60,8 +60,9 @@ module Darcs.Global
+ import Control.Applicative ( (<$>), (<*>) )
+ import Control.Monad ( when )
+ import Control.Concurrent.MVar
+-import Control.Exception.Extensible ( bracket_, catch, catchJust, SomeException
+- , block, unblock
++import Control.Exception.Extensible as E
++ ( bracket_, catch, catchJust, SomeException
++ , mask
+ )
+ import Data.IORef ( IORef, newIORef, readIORef, writeIORef )
+ import Data.IORef ( modifyIORef )
+@@ -106,12 +107,12 @@ withAtexit prog =
+ exit
+ prog
+ where
+- exit = block $ do
++ exit = E.mask $ \restore -> do
+ Just actions <- swapMVar atexitActions Nothing
+ -- from now on atexit will not register new actions
+- mapM_ runAction actions
+- runAction action =
+- catch (unblock action) $ \(exn :: SomeException) -> do
++ mapM_ (runAction restore) actions
++ runAction restore action =
++ catch (restore action) $ \(exn :: SomeException) -> do
+ hPutStrLn stderr $ "Exception thrown by an atexit registered action:"
+ hPutStrLn stderr $ show exn
+
+diff --git a/src/Darcs/SignalHandler.hs b/src/Darcs/SignalHandler.hs
+index ac0f526..d0ef162 100644
+--- a/src/Darcs/SignalHandler.hs
++++ b/src/Darcs/SignalHandler.hs
+@@ -26,8 +26,8 @@ import Prelude hiding ( catch )
+ import System.IO.Error ( isUserError, ioeGetErrorString, ioeGetFileName )
+ import System.Exit ( exitWith, ExitCode ( ExitFailure ) )
+ import Control.Concurrent ( ThreadId, myThreadId )
+-import Control.Exception.Extensible
+- ( catch, throw, throwTo, block, unblock,
++import Control.Exception.Extensible as E
++ ( catch, throw, throwTo, mask,
+ Exception(..), SomeException(..), IOException )
+ import System.Posix.Files ( getFdStatus, isNamedPipe )
+ import System.Posix.IO ( stdOutput )
+@@ -128,8 +128,8 @@ catchUserErrors comp handler = catch comp handler'
+ | otherwise = throw ioe
+
+ withSignalsBlocked :: IO a -> IO a
+-withSignalsBlocked job = block (job >>= \r ->
+- unblock(return r) `catchSignal` couldnt_do r)
++withSignalsBlocked job = E.mask $ \restore -> (job >>= \r ->
++ restore (return r) `catchSignal` couldnt_do r)
+ where couldnt_do r s | s == sigINT = oops "interrupt" r
+ | s == sigHUP = oops "HUP" r
+ | s == sigABRT = oops "ABRT" r
+diff --git a/src/Darcs/Test/Patch/Info.hs b/src/Darcs/Test/Patch/Info.hs
+index fd27fb3..b35cfef 100644
+--- a/src/Darcs/Test/Patch/Info.hs
++++ b/src/Darcs/Test/Patch/Info.hs
+@@ -28,7 +28,6 @@ import Data.Maybe ( isNothing )
+ import Data.Text as T ( find, any )
+ import Data.Text.Encoding ( decodeUtf8With )
+ import Data.Text.Encoding.Error ( lenientDecode )
+-import Foreign ( unsafePerformIO )
+ import Test.QuickCheck ( Arbitrary(arbitrary), oneof, listOf, choose, shrink
+ , Gen )
+ import Test.Framework.Providers.QuickCheck2 ( testProperty )
+@@ -39,6 +38,8 @@ import Darcs.Patch.Info ( PatchInfo(..), patchinfo,
+ piLog, piAuthor, piName )
+ import ByteStringUtils ( decodeLocale, packStringToUTF8, unpackPSFromUTF8 )
+
++import qualified System.IO.Unsafe as U
++
+ testSuite :: Test
+ testSuite = testGroup "Darcs.Patch.Info"
+ [ metadataDecodingTest
+@@ -86,7 +87,7 @@ instance Arbitrary UTF8PatchInfo where
+ sa <- shrink (piAuthor pi)
+ sl <- shrink (filter (not . isPrefixOf "Ignore-this:") (piLog pi))
+ return (UTF8PatchInfo
+- (unsafePerformIO $ patchinfo sn
++ (U.unsafePerformIO $ patchinfo sn
+ (BC.unpack (_piDate pi)) sa sl))
+
+ instance Arbitrary UTF8OrNotPatchInfo where
+@@ -101,7 +102,7 @@ arbitraryUTF8Patch =
+ d <- arbitrary
+ a <- asString `fmap` arbitrary
+ l <- (lines . asString) `fmap` arbitrary
+- return $ unsafePerformIO $ patchinfo n d a l
++ return $ U.unsafePerformIO $ patchinfo n d a l
+
+ -- | Generate arbitrary patch metadata that has totally arbitrary byte strings
+ -- as its name, date, author and log.
diff --git a/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-2.patch b/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-2.patch
new file mode 100644
index 000000000000..33786477b3fa
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-2.patch
@@ -0,0 +1,14 @@
+diff --git a/src/Darcs/Test/Patch.hs b/src/Darcs/Test/Patch.hs
+index 0f7ed24..078fbc3 100644
+--- a/src/Darcs/Test/Patch.hs
++++ b/src/Darcs/Test/Patch.hs
+@@ -2,6 +2,9 @@
+ #if __GLASGOW_HASKELL__ >= 700
+ {-# LANGUAGE ImpredicativeTypes #-}
+ #endif
++#if __GLASGOW_HASKELL__ >= 708
++{-# LANGUAGE AllowAmbiguousTypes #-}
++#endif
+ -- Copyright (C) 2002-2005,2007 David Roundy
+ --
+ -- This program is free software; you can redistribute it and/or modify
diff --git a/dev-vcs/darcs/files/darcs-2.8.4-issue2364-part-2.patch b/dev-vcs/darcs/files/darcs-2.8.4-issue2364-part-2.patch
new file mode 100644
index 000000000000..6164a4a00074
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.4-issue2364-part-2.patch
@@ -0,0 +1,52 @@
+Tue May 13 22:07:19 FET 2014 Sergei Trofimovich <slyfox@community.haskell.org>
+ * resolve issue2364: don't break list of 'bad sources'
+
+ This time the bug manifested on a simple operation:
+ $ darcs record -a -m "something"
+
+ Attempt to write a patch resulted in something like:
+ Failed to record patch 'hello'
+
+ HINT: I could not reach the following repositories:
+ http://repetae.net/repos/jhc
+ /home/st/.darcs/cache
+ /home/st/.cache/darcs
+ /home/st/dev/darcs/jhc
+ If you're not using them, you should probably delete
+
+ The sequence should be the following:
+ 1. store patch to inventory/foo
+ 2. try to store to a writable cache (say, ~/.darcs/cache/patches)
+ 3. fail to write
+ 4. filter out bad caches
+ 5. try again
+ 6. copy from cache to patches/
+
+ Due to missing NOINLINE step 4. led to
+ all caches treated as writable, thus step 5
+ failed without a chance for patch to
+ go to 'patches/'.
+
+ As a side-effect building darcs with -O0 produced seemingly working darcs.
+ Reported-by: Ivan Miljenovic
+diff -rN -u old-darcs.net/src/Darcs/Util/Global.hs new-darcs.net/src/Darcs/Util/Global.hs
+--- old-darcs.net/src/Darcs/Global.hs 2014-05-13 22:23:29.897329750 +0300
++++ new-darcs.net/src/Darcs/Global.hs 2014-05-13 22:23:29.979329754 +0300
+@@ -135,7 +135,7 @@
+
+ _badSourcesList :: IORef [String]
+ _badSourcesList = unsafePerformIO $ newIORef []
+-{- NOINLINE _badSourcesList -}
++{-# NOINLINE _badSourcesList #-}
+
+
+ addBadSource :: String -> IO ()
+@@ -154,7 +154,7 @@
+
+ _reachableSourcesList :: IORef [String]
+ _reachableSourcesList = unsafePerformIO $ newIORef []
+-{- NOINLINE _reachableSourcesList -}
++{-# NOINLINE _reachableSourcesList #-}
+
+
+ addReachableSource :: String -> IO ()
diff --git a/dev-vcs/darcs/files/darcs-2.8.4-issue2364.patch b/dev-vcs/darcs/files/darcs-2.8.4-issue2364.patch
new file mode 100644
index 000000000000..97c4e0f1ad2b
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.4-issue2364.patch
@@ -0,0 +1,70 @@
+* resolve issue2364: fix file corruption on double fetch
+
+The bug is the result of attempt to fetch the same file
+(say F) by the same URL (U) multiple times concurrently.
+
+First time U gets fetched by speculative prefetch logic.
+Second time as an ordinary file (while first fetch is not finished).
+
+The function 'copyUrlWithPriority' sends download request
+to 'urlChan' both times (it's already not a nice situation,
+fixed by this patch).
+
+Later urlThread satisfies first request, notifies receiver,
+and starts downloading exactly the same U again.
+
+I don't know exact data corruption mechanics yet, but it has
+to do with non-random intermediate file names of downloaded
+files and 'truncate' call when temp file is opened for a new
+downlaod job.
+
+All temp names are completely non-random for a single darcs run:
+
+ urlThread :: Chan UrlRequest -> IO ()
+ urlThread ch = do
+ junk <- flip showHex "" `fmap` randomRIO rrange
+ evalStateT urlThread' (UrlState Map.empty emptyQ 0 junk)
+
+ createDownloadFileName :: FilePath -> UrlState -> FilePath
+ createDownloadFileName f st = f ++ "-new_" ++ randomJunk st
+
+My theory is next download manages to step on toes of previous job.
+
+I'll try to make file names truly random in other patch.
+That way such errors should manifest as read erros instead of data
+corruption.
+
+Thanks!
+diff --git a/src/URL.hs b/src/URL.hs
+index 4cb85ee..26de278 100644
+--- a/src/URL.hs
++++ b/src/URL.hs
+@@ -18,11 +18,12 @@ module URL ( copyUrl, copyUrlFirst, setDebugHTTP,
+ import Data.IORef ( newIORef, readIORef, writeIORef, IORef )
+ import Data.Map ( Map )
+ import qualified Data.Map as Map
++import Data.Tuple ( swap )
+ import System.Directory ( copyFile )
+ import System.IO.Unsafe ( unsafePerformIO )
+ import Control.Concurrent ( forkIO )
+ import Control.Concurrent.Chan ( isEmptyChan, newChan, readChan, writeChan, Chan )
+-import Control.Concurrent.MVar ( isEmptyMVar, modifyMVar_, newEmptyMVar, newMVar, putMVar, readMVar, withMVar, MVar )
++import Control.Concurrent.MVar ( isEmptyMVar, modifyMVar, modifyMVar_, newEmptyMVar, newMVar, putMVar, readMVar, withMVar, MVar )
+ import Control.Monad ( unless, when )
+ import Control.Monad.Trans ( liftIO )
+ import Control.Monad.State ( evalStateT, get, modify, put, StateT )
+@@ -196,10 +197,10 @@ copyUrlWithPriority p u f c = do
+ debugMessage ("URL.copyUrlWithPriority ("++u++"\n"++
+ " -> "++f++")")
+ v <- newEmptyMVar
+- let fn _ old_val = old_val
+- modifyMVar_ urlNotifications (return . (Map.insertWith fn u v))
+- let r = UrlRequest u f c p
+- writeChan urlChan r
++ old_mv <- modifyMVar urlNotifications (return . swap . Map.insertLookupWithKey (\_k _n old -> old) u v)
++ case old_mv of
++ Nothing -> writeChan urlChan $ UrlRequest u f c p -- ok, new URL
++ Just _ -> debugMessage $ "URL.copyUrlWithPriority already in progress, skip (" ++ u ++ "\n" ++ "-> " ++ f ++ ")"
+
+ waitNextUrl :: StateT UrlState IO ()
+ waitNextUrl = do
diff --git a/dev-vcs/darcs/metadata.xml b/dev-vcs/darcs/metadata.xml
new file mode 100644
index 000000000000..f42758756fc4
--- /dev/null
+++ b/dev-vcs/darcs/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>haskell@gentoo.org</email>
+</maintainer>
+<use>
+ <flag name="diff">Use 'lcs' for diff building.</flag>
+ <flag name="http">Use the pure Haskell HTTP package for HTTP support.</flag>
+ <flag name="network-uri">Get Network.URI from the network-uri package.</flag>
+ <flag name="terminfo">Use the terminfo package for enhanced console support.</flag>
+ <flag name="threaded">Use threading and SMP support.</flag>
+</use>
+</pkgmetadata>
diff --git a/dev-vcs/easygit/Manifest b/dev-vcs/easygit/Manifest
new file mode 100644
index 000000000000..3302d6b80f5c
--- /dev/null
+++ b/dev-vcs/easygit/Manifest
@@ -0,0 +1,5 @@
+DIST easygit-1.6.5.5 283019 SHA256 ef6a96825d6f9606c23957cd8e1cb5a5d46b226392c8101d3883094a4a2b54ad SHA512 2e639ffa40ac6ea8619abf5d8aced57a9fb203aaf96e259b2d3905b1d6d040d3d64adf14dad0552bd710808e3c23b63e859f1b5b02bd13aca1ad232fe05c2bbd WHIRLPOOL d170f10a13ec20f6c26d92a7f45331b2955cd9f0251c3486ab2da619385dca826c86f2d1faac00a1660a5d406a7f3ee3beaede68ff73f3bed58878c700b715b5
+EBUILD easygit-1.6.5.5.ebuild 517 SHA256 0bca956fd3f4c2d4dcc65bcf7a439b419ecc0cf1c782f5f066f2246e4c77cd57 SHA512 bc29b551e3fc1dd6f2aa6c75483a96cb258815e9ff809fe9389455eda391ab51a069c9fb4148dfe9830912a33c9317fcffa17be6249ca26bd7c9e99086cdbab7 WHIRLPOOL e625e79f8f26ed60be48d7299331ddcef946325f80530760b3213bd12bda92c4ecc783ada176ea1dc2d180430b418754b20b6cb08f3e08adb88114fde253739a
+MISC ChangeLog 2697 SHA256 9e1c05f87e915a710c88b0c33152e2fc4ad31b29b96672a5eed3fafedf33e09d SHA512 346b29d5b3534024955fd410c366a7140806cc16447a89d87c741d8a48bf4b1a897b7d2c470a28101df6f6a2944b2de6f6a974a3bf0ed7c38964ba8bebd9408d WHIRLPOOL 2655ad3d828d765ff3afc9ca6adb9cb4a11efaa48bce4e2d1e9b7aa12949336558620cca12f12bb16770a520f737afbda9e0297f09a91831ab3cab2a433a41fb
+MISC ChangeLog-2015 1115 SHA256 5025773906bf849309752e3fb45dc9c7d1c21238239b21f9322a1f526f485eaa SHA512 03bda2bcd099ae089860a056e3aeed72191e2a519ef9aa5397566f2eb1f6fa1be1c73c1ba56fcfe07abf8f0a728967b420545bbf1842d6bf063cab6fdf099479 WHIRLPOOL 67eb07072f1d1de1391e12872b68f1da1ce6dcf393ff3b25e98968703914f9958b4ee5b719086d612828f43405ae22962a7844e236d0a0e89c587d0a28ae8439
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/dev-vcs/easygit/easygit-1.6.5.5.ebuild b/dev-vcs/easygit/easygit-1.6.5.5.ebuild
new file mode 100644
index 000000000000..0989d901a4ad
--- /dev/null
+++ b/dev-vcs/easygit/easygit-1.6.5.5.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+MY_PN="eg"
+
+DESCRIPTION="Easy GIT is a wrapper for git, designed to make git easy to learn and use"
+HOMEPAGE="https://www.gnome.org/~newren/eg/"
+SRC_URI="https://www.gnome.org/~newren/${MY_PN}/download/${PV}/${MY_PN} -> ${PF}"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~x86"
+SLOT="0"
+IUSE=""
+
+RDEPEND=">=dev-vcs/git-${PV}
+ dev-lang/perl"
+
+src_install() {
+ newbin "${DISTDIR}/${PF}" "${MY_PN}" || die
+}
diff --git a/dev-vcs/easygit/metadata.xml b/dev-vcs/easygit/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/dev-vcs/easygit/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-vcs/fossil/Manifest b/dev-vcs/fossil/Manifest
new file mode 100644
index 000000000000..89d4f341874a
--- /dev/null
+++ b/dev-vcs/fossil/Manifest
@@ -0,0 +1,11 @@
+DIST fossil-src-1.34.tar.gz 4449452 SHA256 53a6b83e878feced9ac7705f87e5b6ea82727314e3e19202ae1c46c7e4dba49f SHA512 7c2677566527466727e823e5bf59f636b5fd08dd1093a742c3f7f72d398d380288030c3a573ae3c66c60f1e8c194f36f5987fa835251d7ced10533b9779578d7 WHIRLPOOL cb00af705b1f4376e09129091154f847da62817548d1838c03c34422eb223704e8a92cee5038a5cf5f75c600d55ce23fd681ca82f1f0e854b42b23b7c82bc66e
+DIST fossil-src-1.35.tar.gz 4642421 SHA256 c1f92f925a87c9872cb40d166f56ba08b90edbab01a8546ff37025836136ba1d SHA512 2a31530d81a316b69daba446e91236fdb94ced17a7228c094fc6053f9d75e736b6a50a93d97b8e875a4750fa4ff868b0dc78b494131b8ed118d160fff8995905 WHIRLPOOL 83406c7010e462f3e9742e03a6eb7a64e5f31516a6d353e56d71a8e54aec2154cd38160e73800ee72d6a5a91a0954e9bb5628b75bf5fd582696507c67a5da803
+DIST fossil-src-2.2.tar.gz 4826890 SHA256 9b8f82196eb89e4a2e82b4bcc51e314ae509a22c37073a18a0b325f11c53cf71 SHA512 1a1aedf3f9883a64f9f98c9a01857f5fb69cff0be23817016a4bc405b2efc85f21ac86a771d5e7314128e3fabc21444ac717017cf0935241fd4af964b7c086e0 WHIRLPOOL 8298287694930286f159a59f14efa07f0d3bcdc2ba961c55f7da1faab804e1a5d27386237c6bfa125341bf76bb33e1c3b63e61417378128c7511c459ae6a4705
+DIST fossil-src-2.3.tar.gz 4898441 SHA256 f073abf455a38ea0a08c3926d7445ab8115b145457f36c763ad9b74cd6a64a5d SHA512 41f87a9f79b87895b1972d2866b27205da34076eb35200b60fd38f1921162bf9099a71caac4063c04b919484208b39c7184dff661dc0b5ca7716d8edd11462cc WHIRLPOOL 920144e9a9adf88e9669c0254e924cc6e240e443361638d757910ef198c09659c6e24497f2fae7646285ad6d493d59a09c65bde6523d2c3a9e3af14ff522e456
+EBUILD fossil-1.34.ebuild 1302 SHA256 2a6b866c5cb85c4113313b534afdfa29d1974f1b1592f7b1fa105792789c18b0 SHA512 b124bf0f3047a20bd73797b3d0ba6720f17eeb24beff74bce70a002d7ab0ed43dee9982a261275e1c88c54469b05ef1c95ebd7afe5a8c1cb8e1e1eaf529ed608 WHIRLPOOL e8ef15a4bb95130520262237888a843b208631d1ba8c9ccc8a8ade246c5804d528509ea8b9240cbaadd4093f70ce45b5d0582f7e7effbbf3b46b2005276f167a
+EBUILD fossil-1.35.ebuild 1280 SHA256 f147b75638ec9a6579ad89e757ca8690e8ff611764d544b46fe968367f9e8187 SHA512 676cb1621623705b4af679afa003814518a62b303d51f8ec8dcb01b9e13a8d4a9a98921ec4352e6190551d0826a0f2a839048e275bb2d3ffcd08a2345122170d WHIRLPOOL 7a3d05b23bb521bfbba35de17ebfb152f9be6a6a651cbc3980833da4c32c3c10e400d29b5df4acb133c53969d8ac49f4718dd502d76a4d87d1abe58fe7480dc3
+EBUILD fossil-2.2.ebuild 1316 SHA256 0a4ce960c822909e0b220aea8802ffe58a5c6f383a9ec14ab8a5c3175410938b SHA512 618f31d1d54d4fa5e29dcc502ebddfbee877d1e99335112052d234a997175a50c2c63a4cd407d413be37e47b01f9b4c0115a1b4fa9deb8d4dd180fd934c7dce8 WHIRLPOOL 09354d573b3e6897ca13f550a6e8955297f696f667ede23d30bac915b8cbf823d5f9d3df6c001186df581b2353d435d1878d7ec75102ac5dd7f9a299ef432fc5
+EBUILD fossil-2.3.ebuild 1412 SHA256 296431c92a822e77087125a2507d2e08747da6d51879949554338fd99c92fafe SHA512 c535541b6411ffefecdde50f1231d6c2bdb81ee7d0aba3d99130418fb1b736601f1142e48721d07e337e22d792263f4d7ee32024e7febb8ebfd9e4f119f5bb4f WHIRLPOOL d3ca5607e60bc102cfd61008281e2905601dddd2c3ec84708f10845e5869f9ab03659cc599e0f994db1813db4f7360bd1e60c5f6174e3c9ac4273b470d21a5bf
+MISC ChangeLog 3494 SHA256 43b3d90ea4e74776b33f762d19bfccfd2f240ac7962ff1c95be4a4b475edcc6d SHA512 5fb3097a4b67e78ae1e8e122c4c4523731d12754af2139565445e5711fdedae4da808258ab1851c25a151d343521e102f90aaefff7ee3dbc732cb5a788d59c70 WHIRLPOOL e17b649c26634e81694f8d5ab2b638e4dd74b23cbe4aaa506284fc0a76315b053be223a6b90c0991a421f9b346dc935a35817b0d8b8c9c79606239f133508564
+MISC ChangeLog-2015 4690 SHA256 7733e3b40772982e51448329e0e3b94f7250e8868297c3c09d090a06e6051a70 SHA512 59003f1ff5273969aace16d3a92b4432356f4862b2df86a302fc92885029b3e105dffa25ad44365d9e2caeb813f16f152634fbf200ffb94052d8386dc41557c9 WHIRLPOOL 1077531d9ea072a7f2187782b9afc8cfc5fbceb317c0f76b329f97e9c97f63298ae75272f0929caac8cb2966e89cb855186177bc8f136eeec33275dc5b3c134a
+MISC metadata.xml 1251 SHA256 02a995dad789d4d9dcea032c87631cacf8c0bffa3b3689593080142d713f0502 SHA512 785dec7c66b06d2451287e1db951bd47f53ec2f0b9b736c897ec57342a465ab8dafcd8b643385ae06abfd92e6bf417b09d11dde54a04f05c74b8b751164d8201 WHIRLPOOL a04aa7f2f42c32b7e0fd4a3a01073dc5e301fb94bd8a38e75e6f0e8cf991df5be48010fa74bbbb825d4035bb60e13c4c7697a1233f3774efe64374d47673c670
diff --git a/dev-vcs/fossil/fossil-1.34.ebuild b/dev-vcs/fossil/fossil-1.34.ebuild
new file mode 100644
index 000000000000..35ef4bb26e52
--- /dev/null
+++ b/dev-vcs/fossil/fossil-1.34.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P=${PN}-src-${PV}
+
+inherit toolchain-funcs
+
+DESCRIPTION="Simple, high-reliability, source control management, and more"
+HOMEPAGE="http://www.fossil-scm.org/"
+SRC_URI="http://www.fossil-scm.org/download/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE="debug fusefs json legacy-mv-rm miniz sqlite +ssl static tcl th1-docs th1-hooks"
+
+DEPEND="
+ sys-libs/zlib
+ || ( sys-libs/readline:0 dev-libs/libedit )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? ( dev-libs/openssl:0 )
+ tcl? ( dev-lang/tcl:0= )
+"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ # this is not an autotools situation so don't make it seem like one
+ # --with-tcl: works
+ # --without-tcl: dies
+ local myconf="--with-openssl=$(usex ssl auto none)"
+ use debug && myconf+=' --fossil-debug'
+ use json && myconf+=' --json'
+ use sqlite && myconf+=' --disable-internal-sqlite'
+ use static && myconf+=' --static'
+ use tcl && myconf+=' --with-tcl --with-tcl-stubs'
+
+ local u
+ for u in legacy-mv-rm miniz th1-docs th1-hooks; do
+ use ${u} && myconf+=" --with-${u}"
+ done
+
+ use fusefs || myconf+=' --disable-fusefs'
+
+ tc-export CC
+ ./configure ${myconf} || die
+}
+
+src_install() {
+ dobin fossil
+}
diff --git a/dev-vcs/fossil/fossil-1.35.ebuild b/dev-vcs/fossil/fossil-1.35.ebuild
new file mode 100644
index 000000000000..9e81c0a7483e
--- /dev/null
+++ b/dev-vcs/fossil/fossil-1.35.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P=${PN}-src-${PV}
+
+inherit toolchain-funcs
+
+DESCRIPTION="Simple, high-reliability, source control management, and more"
+HOMEPAGE="http://www.fossil-scm.org/"
+SRC_URI="http://www.fossil-scm.org/download/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE="debug fusefs json legacy-mv-rm miniz sqlite +ssl static tcl th1-docs th1-hooks"
+
+DEPEND="
+ sys-libs/zlib
+ || ( sys-libs/readline:0 dev-libs/libedit )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? ( dev-libs/openssl:0 )
+ tcl? ( dev-lang/tcl:0= )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ # this is not an autotools situation so don't make it seem like one
+ # --with-tcl: works
+ # --without-tcl: dies
+ local myconf="--with-openssl=$(usex ssl auto none)"
+ use debug && myconf+=' --fossil-debug'
+ use json && myconf+=' --json'
+ use sqlite && myconf+=' --disable-internal-sqlite'
+ use static && myconf+=' --static'
+ use tcl && myconf+=' --with-tcl --with-tcl-stubs'
+
+ local u
+ for u in legacy-mv-rm miniz th1-docs th1-hooks; do
+ use ${u} && myconf+=" --with-${u}"
+ done
+
+ use fusefs || myconf+=' --disable-fusefs'
+
+ tc-export CC
+ ./configure ${myconf} || die
+}
+
+src_install() {
+ dobin fossil
+}
diff --git a/dev-vcs/fossil/fossil-2.2.ebuild b/dev-vcs/fossil/fossil-2.2.ebuild
new file mode 100644
index 000000000000..058c2fa4f815
--- /dev/null
+++ b/dev-vcs/fossil/fossil-2.2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="Simple, high-reliability, source control management, and more"
+HOMEPAGE="http://www.fossil-scm.org/"
+SRC_URI="http://www.fossil-scm.org/index.html/uv/fossil-src-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="debug fusefs json legacy-mv-rm -miniz sqlite +ssl static tcl th1-docs th1-hooks"
+
+REQUIRED_USE="ssl? ( !miniz )"
+
+DEPEND="
+ sys-libs/zlib
+ || ( sys-libs/readline:0 dev-libs/libedit )
+ sqlite? ( >=dev-db/sqlite-3.14.0:3 )
+ ssl? ( dev-libs/openssl:0 )
+ tcl? ( dev-lang/tcl:0= )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ # this is not an autotools situation so don't make it seem like one
+ # --with-tcl: works
+ # --without-tcl: dies
+ local myconf="--with-openssl=$(usex ssl auto none)"
+ use debug && myconf+=' --fossil-debug'
+ use json && myconf+=' --json'
+ use sqlite && myconf+=' --disable-internal-sqlite'
+ use static && myconf+=' --static'
+ use tcl && myconf+=' --with-tcl --with-tcl-stubs'
+
+ local u
+ for u in legacy-mv-rm miniz th1-docs th1-hooks; do
+ use ${u} && myconf+=" --with-${u}"
+ done
+
+ use fusefs || myconf+=' --disable-fusefs'
+
+ tc-export CC
+ ./configure ${myconf} || die
+}
+
+src_install() {
+ dobin fossil
+}
diff --git a/dev-vcs/fossil/fossil-2.3.ebuild b/dev-vcs/fossil/fossil-2.3.ebuild
new file mode 100644
index 000000000000..edde085d9afb
--- /dev/null
+++ b/dev-vcs/fossil/fossil-2.3.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="Simple, high-reliability, source control management, and more"
+HOMEPAGE="http://www.fossil-scm.org/"
+SRC_URI="http://www.fossil-scm.org/index.html/uv/fossil-src-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="debug fusefs json legacy-mv-rm -miniz system-sqlite +ssl static tcl th1-docs th1-hooks"
+
+REQUIRED_USE="ssl? ( !miniz )"
+
+DEPEND="
+ sys-libs/zlib
+ || ( sys-libs/readline:0 dev-libs/libedit )
+ system-sqlite? ( >=dev-db/sqlite-3.20.0:3 )
+ ssl? ( dev-libs/openssl:0 )
+ tcl? ( dev-lang/tcl:0= )
+"
+RDEPEND="${DEPEND}"
+
+# Tests can't be run from the build directory
+RESTRICT="test"
+
+src_configure() {
+ # this is not an autotools situation so don't make it seem like one
+ # --with-tcl: works
+ # --without-tcl: dies
+ local myconf="--with-openssl=$(usex ssl auto none)"
+ use debug && myconf+=' --fossil-debug'
+ use json && myconf+=' --json'
+ use system-sqlite && myconf+=' --disable-internal-sqlite'
+ use static && myconf+=' --static'
+ use tcl && myconf+=' --with-tcl --with-tcl-stubs'
+
+ local u
+ for u in legacy-mv-rm miniz th1-docs th1-hooks; do
+ use ${u} && myconf+=" --with-${u}"
+ done
+
+ use fusefs || myconf+=' --disable-fusefs'
+
+ tc-export CC
+ ./configure ${myconf} || die
+}
+
+src_install() {
+ dobin fossil
+}
diff --git a/dev-vcs/fossil/metadata.xml b/dev-vcs/fossil/metadata.xml
new file mode 100644
index 000000000000..2017eefa2923
--- /dev/null
+++ b/dev-vcs/fossil/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>rafaelmartins@gentoo.org</email>
+ <name>Rafael G. Martins</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>titanofold@gentoo.org</email>
+ <name>Aaron W. Swenson</name>
+ <description>Co-Maintainer</description>
+ </maintainer>
+ <use>
+ <flag name="fusefs">Enable the Fuse Filesystem</flag>
+ <flag name="json">Enable the JSON API of Fossil's wiki</flag>
+ <flag name="legacy-mv-rm">
+ Enable legacy behavior for mv/rm (skip checkout files)
+ </flag>
+ <flag name="miniz">
+ Use the bundled miniz for compression instead of zlib
+ </flag>
+ <flag name="sqlite">
+ Use the system SQLite instead of the bundled one
+ </flag>
+ <flag name="system-sqlite">
+ Use the system SQLite instead of the bundled one
+ </flag>
+ <flag name="th1-docs">
+ Enable TH1 for embedded documentation pages
+ </flag>
+ <flag name="th1-hooks">
+ Enable TH1 hooks for commands and web pages
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-vcs/giggle/Manifest b/dev-vcs/giggle/Manifest
new file mode 100644
index 000000000000..c0342a10d5aa
--- /dev/null
+++ b/dev-vcs/giggle/Manifest
@@ -0,0 +1,7 @@
+AUX giggle-0.6.2-gtksourceview-3.8.0.patch 903 SHA256 1a24e5383f4bd2eac28a8c1e1ff46fd27159c0d58744a4fbaa179245eafdd1eb SHA512 c60aaeab48ce95fb33dd7a93d51c3d7d17f449fdb0ae29b58cbe10f8e722c482d3793885c5d870b6ec8c03162aa37fef0b5e9dfeb9844494eddb318ecb703425 WHIRLPOOL 06fe5d90f85e39291c1defc7acd0fe3d58adae0d8b947cbea09975c91e63dbde208b16b510873cd2e58bef270e66b589b3cce9412ee108fd8fe5fc63b5518ddf
+AUX giggle-0.7-vte-2.91.patch 2331 SHA256 c3043559608e3fe083559c861e6525cf25835d42afc17d16cb48fc60161329cf SHA512 7ef6ea65c321e2b55e78ff0ffc8bf8b271516c009c54bebddd3f5e478e8483a911ca279af0f31c9bc7c81c8089c5bbe42f209d7fe55db91e0834baecd01a1fee WHIRLPOOL 83b2fc4b666f283d9fab55f54a536aa9504998e199549bbca25947993df10ab5006f9442175566d6525e3a34c5b1cd4799018d8d58f7d799dd87efedd3c55766
+DIST giggle-0.7.tar.xz 2042304 SHA256 ae2e2237fa0d0999d99d0a0ee9b7ec147e80bd2472d59a045b2b01eb02261f59 SHA512 01d3cc0adc610706a97b89487624fe3d09c1347c0b07920e71d2e33761fab4894ebb304113ac7df6cdd03ed6116d09dcce85b35d6169df5a3f3973faaa151cfb WHIRLPOOL 54f721249b1e2bdaafcfd42c800ce4eb80e9b9e1ed312e853a2c30b650db25b98a14af2088849930a7be4ca36628c45021f276f04af13f7e76276a965cfc4c7b
+EBUILD giggle-0.7-r2.ebuild 972 SHA256 1c32fb771197209efa9a648fb04dfa97c59deb573a0d45db4aa5c357f0f7441a SHA512 7801a82d2bf848f2b2c1b10a5e1d92f099da1e3146370bed5af7ce29187452b3da629bc4a7ab6a4f4914367346698b2180e35d3847d29d0d78d80509672eb36e WHIRLPOOL cc33766057f8a9e9453457b9be6a6c92d3bc7a35213465c1673e1af0c6b2b7e7e72f8b68920a86acdfa1246ec040d374807eb1f9394ef6c57e77fdb7b8e84de6
+MISC ChangeLog 2984 SHA256 f778468eba5fb81563883b0b5ae86076da80c4e2dc927634fded846efa25a2bb SHA512 baf4ffe91991f9766551b1c32c4d594db5d1e5e8ae549e1e3cecf4c707d7b16c4ad11dd9caf7af6f97dd072a7a2c8418a4dbfd51f9711571023091da1fcebc95 WHIRLPOOL 0d4f20740d717c98ffd900c48533836b2fd04a7373e30c1ac25eb9e18dfc6444039ca584dc35398f67cff6bc9936ddc5625fbb2050267b40f2384ac8ac681f69
+MISC ChangeLog-2015 7249 SHA256 86c1fd0be331c7fe1852f6d561d4b5f813cf817bc6f96600800f944a65dd9a60 SHA512 78797293e9141dd8e5222b3c33a0b75b29f94d120fe530a4e4175519919967e8e85c5df83c107e96f73ef921d4e1bc3224f65fa6ff0a2a1b5600ae63088d7218 WHIRLPOOL 4b1f10b8e2fe9d99e91b3508b30308f9bb03c6734af0dca27efdafdf2fbc109f2a852e78934b97844e431cf234b73679326a066ebcfb14fb748bcbaa0f6a1662
+MISC metadata.xml 321 SHA256 9ae379b3a2a443b7becbd8a431923dbfcf16bfcb57963cdf5290835df29cc757 SHA512 a7a7226c85410af2cc6caee355668474f22f784b80abceafdbe01e94c9a4e0e267fd56a6c839ae0279a511681b4ce9bcdd87555f460b2b8b51607422fcb05a7c WHIRLPOOL 293d4151be02b6946ffbdf80cc07a33446b0d805900e55498c2889440e51df5932383e93997906421ed0b25367509b32c775b66523732e7bbfda190d69cb23fd
diff --git a/dev-vcs/giggle/files/giggle-0.6.2-gtksourceview-3.8.0.patch b/dev-vcs/giggle/files/giggle-0.6.2-gtksourceview-3.8.0.patch
new file mode 100644
index 000000000000..37648e171232
--- /dev/null
+++ b/dev-vcs/giggle/files/giggle-0.6.2-gtksourceview-3.8.0.patch
@@ -0,0 +1,24 @@
+diff --git a/src/giggle-diff-view.h b/src/giggle-diff-view.h
+index de5fe02..9ef33b5 100644
+--- a/src/giggle-diff-view.h
++++ b/src/giggle-diff-view.h
+@@ -23,6 +23,7 @@
+
+ #include <glib-object.h>
+ #include <gtk/gtk.h>
++#include <gtksourceview/gtksourcebuffer.h>
+ #include <gtksourceview/gtksourceview.h>
+ #include <gtksourceview/gtksourcelanguagemanager.h>
+
+diff --git a/src/giggle-view-file.c b/src/giggle-view-file.c
+index 7746225..7b74c0a 100644
+--- a/src/giggle-view-file.c
++++ b/src/giggle-view-file.c
+@@ -42,6 +42,7 @@
+
+ #include <gtksourceview/gtksourcelanguagemanager.h>
+ #include <gtksourceview/gtksourceview.h>
++#include <gtksourceview/gtksourcebuffer.h>
+
+ #define GIGGLE_TYPE_VIEW_FILE_SNAPSHOT (giggle_view_file_snapshot_get_type ())
+ #define GIGGLE_VIEW_FILE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIGGLE_TYPE_VIEW_FILE_SNAPSHOT, GiggleViewFileSnapshot))
diff --git a/dev-vcs/giggle/files/giggle-0.7-vte-2.91.patch b/dev-vcs/giggle/files/giggle-0.7-vte-2.91.patch
new file mode 100644
index 000000000000..f800a9d157ca
--- /dev/null
+++ b/dev-vcs/giggle/files/giggle-0.7-vte-2.91.patch
@@ -0,0 +1,57 @@
+From b9e260840d03e33ac55142719f3d54129b54cc70 Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir@gnome.org>
+Date: Mon, 26 Jan 2015 15:38:24 +0100
+Subject: [PATCH] Port to vte-2.91 API
+
+https://bugzilla.gnome.org/show_bug.cgi?id=743537
+---
+ configure.ac | 2 +-
+ plugins/giggle-view-terminal.c | 19 ++++++++++---------
+ 2 files changed, 11 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6e27733..72e7bd1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -106,7 +106,7 @@ AC_ARG_ENABLE([terminal],
+ AS_IF([test "x$enable_terminal" = "xyes"],
+ [
+ PKG_CHECK_MODULES([VTE],
+- [vte-2.90 >= $VTE_REQUIRED_VERSION],
++ [vte-2.91 >= $VTE_REQUIRED_VERSION],
+ [have_vte=yes
+ AC_DEFINE([HAVE_VTE], [1],
+ [Use features from vte])
+diff --git a/plugins/giggle-view-terminal.c b/plugins/giggle-view-terminal.c
+index 06a9a50..cd107f2 100644
+--- a/plugins/giggle-view-terminal.c
++++ b/plugins/giggle-view-terminal.c
+@@ -186,15 +186,16 @@ giggle_view_terminal_append_tab (GiggleViewTerminal *view,
+ real_argv[1] = NULL;
+ spawn_flags = G_SPAWN_CHILD_INHERITS_STDIN | G_SPAWN_SEARCH_PATH | G_SPAWN_FILE_AND_ARGV_ZERO;
+
+- succes = vte_terminal_fork_command_full (VTE_TERMINAL (terminal),
+- pty_flags,
+- directory,
+- real_argv,
+- NULL,
+- spawn_flags,
+- NULL, NULL,
+- NULL,
+- &error);
++ succes = vte_terminal_spawn_sync (VTE_TERMINAL (terminal),
++ pty_flags,
++ directory,
++ real_argv,
++ NULL,
++ spawn_flags,
++ NULL, NULL,
++ NULL,
++ NULL,
++ &error);
+ g_strfreev (real_argv);
+
+ if (succes == FALSE) {
+--
+2.1.0
+
diff --git a/dev-vcs/giggle/giggle-0.7-r2.ebuild b/dev-vcs/giggle/giggle-0.7-r2.ebuild
new file mode 100644
index 000000000000..b423d027f8fc
--- /dev/null
+++ b/dev-vcs/giggle/giggle-0.7-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+
+inherit autotools gnome2
+
+DESCRIPTION="GTK+ Frontend for GIT"
+HOMEPAGE="https://wiki.gnome.org/Apps/giggle"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="eds"
+
+RDEPEND="
+ >=dev-vcs/git-1.5
+ >=dev-libs/glib-2.30:2
+ >=x11-libs/gtk+-3.3.12:3
+ >=x11-libs/gtksourceview-3.0:3.0
+ >=x11-libs/gdk-pixbuf-2.22.0
+ eds? ( gnome-extra/evolution-data-server:= )
+ >=x11-libs/vte-0.28:2.91
+"
+DEPEND="${RDEPEND}
+ gnome-base/gnome-common
+ sys-devel/gettext
+ app-text/yelp-tools
+ virtual/pkgconfig
+ >=dev-util/intltool-0.35
+ >=sys-devel/autoconf-2.64
+ >=sys-devel/libtool-2
+"
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-0.6.2-gtksourceview-3.8.0.patch"
+ eapply "${FILESDIR}/${PN}-0.7-vte-2.91.patch"
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable eds evolution-data-server)
+}
diff --git a/dev-vcs/giggle/metadata.xml b/dev-vcs/giggle/metadata.xml
new file mode 100644
index 000000000000..93f8632fd83c
--- /dev/null
+++ b/dev-vcs/giggle/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ikelos@gentoo.org</email>
+ <name>Mike Auty</name>
+ </maintainer>
+ <longdescription lang="en">
+ GTK+ based frontend for GIT
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-vcs/git-annex/Manifest b/dev-vcs/git-annex/Manifest
new file mode 100644
index 000000000000..4f62bfd2c0cd
--- /dev/null
+++ b/dev-vcs/git-annex/Manifest
@@ -0,0 +1,11 @@
+AUX git-annex-5.20150731-no-strange-installs.patch 239 SHA256 8626e3e04f63022e7a69992e7316165e7109f503b086a5d6d2339af7079745e5 SHA512 cc681590d5036c88f516237c68a10c8abbfc0643d4f9c690c22c5eaccdc043b80caac65cf7d3c659748f6b94ccd6809daeeb25a71dee6b04d0d56654aef50a46 WHIRLPOOL 9dc9f59e470f2f6548dcbb6dc0dc890d7dd1a57cd862412b84dd9a33ac67d76488b75a34e045411bee6aa689ac0caa124a0193e5198cad64b6ef6626afd76c73
+AUX git-annex-6.20160114-QC-2.8.2.patch 509 SHA256 0d181d974acef5102294917eeffed276bd07158d00fb615379121cfe7ac1fcf2 SHA512 2df4f294bd8e39a067cdf7adf0f44d08a7910d7954529d053fd35d35b263dc891ecb1390427783c3448d660e918b6076c86e6c01145f272226c20c8d7688cd1c WHIRLPOOL 38ad28b89e0b02ef33b86f92a1edbc088fdfef32649a88e7c177fe26788352242291d2d77d17c5442a568e5778a8ce2fdbc66cdf41f821e62673de74f248bb88
+AUX git-annex-6.20161210-directory-1.3.patch 279 SHA256 85d01cb4c2f660c05821afcc60d4ef4ca145c5a86df21f009dbcc8e28548a18a SHA512 6247c9d8221ec3c1090d6cd66fbf525ea429e64ade0820a54d5116d69c36ba69f7f7ce1ec46d26afdacd24ffdad813ad540abbecd50fca318c7439bd347a6533 WHIRLPOOL e0d7571c771dcf5c7c53e709989d2f6a078471fe466b2e90ce175d8735293613bae3fd882e0e9a0456f111673c2d1548d051607b27d62b9568ff3ed339bf0ee1
+AUX git-annex-6.20170101-crypto-api.patch 212 SHA256 277eca5ed181ec77b51f9335aaf8243386f68b0413f1bc83d2131ce933a4b51c SHA512 c0b69ef8dffd9df06663513233f7848e3f8abfec5f6f93656cbfc466887ac5d2bbbbe65bb07088a488616593a44456fa9aa459a1404352afa66b2b7cdc937dfe WHIRLPOOL a95cc7bf6756f9cb34fd4c1948efe19c88ada2afdc5a9a5909a98d3f09bd798c059ae96f52bd27ea436087b689a8004869f6efae75dd7ffe5d732348fe7c3aa8
+AUX git-annex.bash 440 SHA256 1704c8456fb795069457a77be169996cf912d3f4db2ae97ac81522b1e05d5c49 SHA512 89b6520e4be14af9032638c1153df936a7e5707d6453b4251fe762712b8956ba1d39a4623b06910e5ac5724e33e157e654b724e070b6893f6f26578df730d326 WHIRLPOOL 6b99abade966604f3a31c47d2f771784673abe927b8a97245d7d3c1b44253e62dd2130d8ffd25900c826552555edc11ae98a1195d926fab453857bc62b19a2b0
+AUX git-annex.xpm 1961 SHA256 e9576b4d026cb8e61ee602d52639d65a2e8f2aadaaa3cfd9d8bfd8f55cf03803 SHA512 4a22ac448852160d66838c272f41b8c7599aa1b904e35ac03ea294d9ed15b855bde24b7e5407a2578937bfd51d482837ed6680af680166d030f71666316ae4d3 WHIRLPOOL a582bb82d01de4750e3bcb2e419cf0a334e11428972f68bbb70aa06ea5a357de89d48327d4576adf0f4101cd577f13c6f50b41d85d7c2fc6a0efb87124b88b60
+DIST git-annex-6.20170818.tar.gz 1111837 SHA256 7ddf3f8be218d8e8955be49fb0200179e54406cc02e884abe999f88d578f7d79 SHA512 06587bf0d3056e4b94d4c40aaae820efda133dcbc876a2ac3db3183fb511ec20aae4c495323b4886868a3e66b5b1f53a04c5f3abb0362c718bbadc8e2f6e15d0 WHIRLPOOL b4034833a96ab11c8972c1b679c10948455459ef0a82fe98c9912db932ab384e00ad1a13d08030f658cc1f0525888e5e9e34e48f7e09704f642ac57e908d8a35
+EBUILD git-annex-6.20170818.ebuild 4444 SHA256 da6eb1e28c18aae68a7cdfa06b851c02f654b7800548959aea09156f17adbf98 SHA512 219ceefb167332eff7c24aa3733b0ca05ca3b5eef843f65b9526df73de49d67cee243835ed9613beafeb5bbef4f698799b154fd1c9d5da57137fadd61731c56f WHIRLPOOL 3ce05d0e1764a45e470507b838c27c3e8ba069aae8658fd30c77aebae74ded0bf4d5238befcff8625df3fcc9248667e9041e5375e8baffd3ac9045dd4b065810
+MISC ChangeLog 6727 SHA256 be34d09bbd708b16eb8a682d1d19e707f16dec622092b19ac5940c1946dcb9bb SHA512 2c29dd48c4b53de701a0748b31878dce5fa022e815a388e9724ee7a2de164238e143860429b841888875e2bab2490e369b924b2d50301d028833223cfc405287 WHIRLPOOL 79862879c082d1956085d6e322643b382c8f02af578484efef493a4080780da451283a2418e4ae48d167a557b35847a58ddc3e90fc2910648befcda1d91bf9a1
+MISC ChangeLog-2015 7664 SHA256 37642d13a5b0268316a9b53b85b71df879fb0f0498dbb95941c2c426ddd5e693 SHA512 cad8a70744121072f608f37d6e68de5620b71cfe6c0d634507370a3e55be5e46d688eb594cf75aa65873ac5f6ffc38272b0d6941e7387203202b0a6c2f492c34 WHIRLPOOL 0b2c5553410baa2763504a3e6f16d50c46895367c03cca855794d67513c478ec0be0a17e113feace3a7e60b93a5ef76dce17341729e43815ae794a1d5f43478c
+MISC metadata.xml 1735 SHA256 59050108ac7b7f416ca1c4a4fd7450b0f60fa5811e8d6b61f7c404c90b685179 SHA512 33e68df57c88e73f1d1b88d051a0f9a22a84dea82e26b8b552a36f213c63680fd780bbc8c2cdf1f1c9e57b47d982218a4b096ac59e8137b019af7164fe72ea69 WHIRLPOOL b511ad34c54bccbb260104a53415d1c079dd314a58cdb26759d50701ccf6fbc2abf2aa172db8ba9fa00f014ae9977e2db0ce85a6c4f368c03fd06f5d516a244a
diff --git a/dev-vcs/git-annex/files/git-annex-5.20150731-no-strange-installs.patch b/dev-vcs/git-annex/files/git-annex-5.20150731-no-strange-installs.patch
new file mode 100644
index 000000000000..a2ca5b866282
--- /dev/null
+++ b/dev-vcs/git-annex/files/git-annex-5.20150731-no-strange-installs.patch
@@ -0,0 +1,9 @@
+diff --git a/Setup.hs b/Setup.hs
+index f90a9b2..97afb7f 100644
+--- a/Setup.hs
++++ b/Setup.hs
+@@ -25,3 +25,3 @@ main = defaultMainWithHooks simpleUserHooks
+ return (Nothing, [])
+- , postCopy = myPostCopy
++ -- , postCopy = myPostCopy
+ }
diff --git a/dev-vcs/git-annex/files/git-annex-6.20160114-QC-2.8.2.patch b/dev-vcs/git-annex/files/git-annex-6.20160114-QC-2.8.2.patch
new file mode 100644
index 000000000000..2f232782de02
--- /dev/null
+++ b/dev-vcs/git-annex/files/git-annex-6.20160114-QC-2.8.2.patch
@@ -0,0 +1,16 @@
+diff --git a/Utility/QuickCheck.hs b/Utility/QuickCheck.hs
+index cd408dd..9f60f23 100644
+--- a/Utility/QuickCheck.hs
++++ b/Utility/QuickCheck.hs
+@@ -9,2 +9,3 @@
+ {-# LANGUAGE TypeSynonymInstances #-}
++{-# LANGUAGE CPP #-}
+
+@@ -23,2 +24,3 @@ import Prelude
+
++#if ! MIN_VERSION_QuickCheck(2,8,2)
+ instance (Arbitrary k, Arbitrary v, Eq k, Ord k) => Arbitrary (M.Map k v) where
+@@ -28,2 +30,3 @@ instance (Arbitrary v, Eq v, Ord v) => Arbitrary (S.Set v) where
+ arbitrary = S.fromList <$> arbitrary
++#endif
+
diff --git a/dev-vcs/git-annex/files/git-annex-6.20161210-directory-1.3.patch b/dev-vcs/git-annex/files/git-annex-6.20161210-directory-1.3.patch
new file mode 100644
index 000000000000..1e9bb57f9eec
--- /dev/null
+++ b/dev-vcs/git-annex/files/git-annex-6.20161210-directory-1.3.patch
@@ -0,0 +1,9 @@
+diff --git a/Common.hs b/Common.hs
+index 5213863..74b054e 100644
+--- a/Common.hs
++++ b/Common.hs
+@@ -27,3 +27,3 @@ import Utility.Process as X
+ import Utility.Path as X
+-import Utility.Directory as X
++import Utility.Directory as X hiding (getFileSize)
+ import Utility.Monad as X
diff --git a/dev-vcs/git-annex/files/git-annex-6.20170101-crypto-api.patch b/dev-vcs/git-annex/files/git-annex-6.20170101-crypto-api.patch
new file mode 100644
index 000000000000..c517c651ce47
--- /dev/null
+++ b/dev-vcs/git-annex/files/git-annex-6.20170101-crypto-api.patch
@@ -0,0 +1,8 @@
+diff --git a/git-annex.cabal b/git-annex.cabal
+index 5b95a16..f03024d 100644
+--- a/git-annex.cabal
++++ b/git-annex.cabal
+@@ -326,2 +326,3 @@ Executable git-annex
+ case-insensitive,
++ crypto-api,
+ random,
diff --git a/dev-vcs/git-annex/files/git-annex.bash b/dev-vcs/git-annex/files/git-annex.bash
new file mode 100644
index 000000000000..309b221f0157
--- /dev/null
+++ b/dev-vcs/git-annex/files/git-annex.bash
@@ -0,0 +1,19 @@
+_git_annex()
+{
+ local cmdline
+ local IFS=$'
+'
+ CMDLINE=(--bash-completion-index $COMP_CWORD)
+
+ if [[ "${COMP_WORDS[@]:0:2}" == "git annex" ]]; then
+ unset COMP_WORDS[0]
+ COMP_WORDS[1]="git-annex"
+ fi
+ for arg in ${COMP_WORDS[@]}; do
+ CMDLINE=(${CMDLINE[@]} --bash-completion-word $arg)
+ done
+
+ COMPREPLY=( $(/usr/bin/git-annex "${CMDLINE[@]}") )
+}
+
+complete -o filenames -F _git_annex git-annex
diff --git a/dev-vcs/git-annex/files/git-annex.xpm b/dev-vcs/git-annex/files/git-annex.xpm
new file mode 100644
index 000000000000..781f21c5e9dc
--- /dev/null
+++ b/dev-vcs/git-annex/files/git-annex.xpm
@@ -0,0 +1,47 @@
+/* XPM */
+static char * git_annex_42x42_xpm[] = {
+"42 40 4 1",
+" c None",
+". c #40BF4C",
+"+ c #D8382D",
+"@ c #666666",
+" . . ",
+" ... ... ",
+" ... ... ",
+" ..... ..... ",
+"....... .......",
+" ... ... ",
+" . . ",
+" . . ",
+" .. .. ",
+" . .... . ",
+" .. .... .. ",
+" .... .... .... ",
+" ..... .... ..... ",
+" .... . ................ . .... ",
+" .. . ................ . .. ",
+" .. ................ .. ",
+" .... ",
+" .... ",
+" .... ",
+" .... ",
+" ",
+" ++++++++++++++++ ",
+" ++++++++++++++++ ",
+" ++++++++++++++++ ",
+" ++++++++++++++++ ",
+" ",
+" @@ @@@@@@@@ ",
+" @@@@ @@@@@@@@ ",
+" @@@@ @@@@@@ ",
+" @@@@@ @@@@@@@ ",
+" @@@ @@ @@@ ",
+" @@@@ @@ @@@@ ",
+" @@@ @@ @@@ ",
+" @@@@ @@@ ",
+" @@@ @@@@ ",
+" @@@@ @@@ ",
+" @@@@@@ @@@@@@ ",
+" @@@@@@@@@@@@ ",
+" @@@@@@@@@@ ",
+" @@@@@@ "};
diff --git a/dev-vcs/git-annex/git-annex-6.20170818.ebuild b/dev-vcs/git-annex/git-annex-6.20170818.ebuild
new file mode 100644
index 000000000000..29375595e8d4
--- /dev/null
+++ b/dev-vcs/git-annex/git-annex-6.20170818.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# ebuild generated by hackport 0.5.3.9999
+#hackport: flags: -production,-android,-androidsplice,-testsuite
+
+CABAL_FEATURES=""
+inherit haskell-cabal bash-completion-r1
+
+DESCRIPTION="manage files with git, without checking their contents into git"
+HOMEPAGE="http://git-annex.branchable.com/"
+SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
+RESTRICT="test"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux"
+IUSE="+assistant benchmark +concurrentoutput +dbus doc +magicmime +network-uri +pairing s3 +torrentparser +webapp +webdav"
+
+RDEPEND="dev-haskell/aeson:=
+ dev-haskell/async:=
+ dev-haskell/bloomfilter:=
+ dev-haskell/byteable:=
+ dev-haskell/case-insensitive:=
+ dev-haskell/crypto-api:=
+ dev-haskell/cryptonite:=
+ dev-haskell/data-default:=
+ dev-haskell/disk-free-space:=
+ dev-haskell/dlist:=
+ dev-haskell/edit-distance:=
+ dev-haskell/esqueleto:=
+ >=dev-haskell/exceptions-0.6:=
+ >=dev-haskell/feed-0.3.9:=
+ dev-haskell/free:=
+ dev-haskell/hslogger:=
+ dev-haskell/http-client:=
+ >=dev-haskell/http-conduit-2.0:=
+ >=dev-haskell/http-types-0.7:=
+ dev-haskell/ifelse:=
+ dev-haskell/memory:=
+ dev-haskell/monad-control:=
+ dev-haskell/monad-logger:=
+ >=dev-haskell/mtl-2:=
+ dev-haskell/old-locale:=
+ >=dev-haskell/optparse-applicative-0.11.0:=
+ dev-haskell/persistent:=
+ dev-haskell/persistent-sqlite:=
+ dev-haskell/persistent-template:=
+ >=dev-haskell/quickcheck-2.1:2=
+ dev-haskell/random:=
+ dev-haskell/regex-tdfa:=
+ dev-haskell/resourcet:=
+ dev-haskell/safesemaphore:=
+ dev-haskell/sandi:=
+ dev-haskell/securemem:=
+ dev-haskell/socks:=
+ dev-haskell/split:=
+ >=dev-haskell/stm-2.3:=
+ dev-haskell/stm-chans:=
+ dev-haskell/text:=
+ dev-haskell/unix-compat:=
+ dev-haskell/unordered-containers:=
+ dev-haskell/utf8-string:=
+ >=dev-haskell/uuid-1.2.6:=
+ >=dev-lang/ghc-7.8.2:=
+ assistant? ( >=dev-haskell/dns-1.0.0:=
+ dev-haskell/hinotify:=
+ dev-haskell/mountpoints:=
+ sys-process/lsof )
+ benchmark? ( dev-haskell/criterion:= )
+ concurrentoutput? ( >=dev-haskell/concurrent-output-1.6:= )
+ dbus? ( >=dev-haskell/dbus-0.10.7:=
+ >=dev-haskell/fdo-notify-0.3:= )
+ magicmime? ( dev-haskell/magic:= )
+ network-uri? ( >=dev-haskell/network-2.6:=
+ >=dev-haskell/network-uri-2.6:= )
+ !network-uri? ( >=dev-haskell/network-2.4:= <dev-haskell/network-2.6:= )
+ pairing? ( dev-haskell/network-info:=
+ dev-haskell/network-multicast:= )
+ s3? ( >=dev-haskell/aws-0.9.2:=
+ dev-haskell/conduit:=
+ dev-haskell/conduit-extra:= )
+ torrentparser? ( >=dev-haskell/torrent-10000.0.0:= )
+ webapp? ( dev-haskell/blaze-builder:=
+ dev-haskell/clientsession:=
+ >=dev-haskell/path-pieces-0.1.4:=
+ >=dev-haskell/shakespeare-2.0.0:=
+ dev-haskell/wai:=
+ dev-haskell/wai-extra:=
+ >=dev-haskell/warp-3.0.0.5:=
+ >=dev-haskell/warp-tls-1.4:=
+ >=dev-haskell/yesod-1.2.6:=
+ >=dev-haskell/yesod-core-1.2.19:=
+ >=dev-haskell/yesod-default-1.2.0:=
+ >=dev-haskell/yesod-form-1.3.15:=
+ >=dev-haskell/yesod-static-1.2.4:= )
+ webdav? ( >=dev-haskell/dav-1.0:= )
+"
+# not generated by hackport:
+RDEPEND="${RDEPEND}
+ dev-vcs/git
+"
+
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.18.1.3
+"
+
+# not generated by hackport:
+DEPEND="${DEPEND}
+ dev-lang/perl
+ doc? ( www-apps/ikiwiki net-misc/rsync )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.20160114-QC-2.8.2.patch
+ "${FILESDIR}"/${PN}-6.20161210-directory-1.3.patch
+ "${FILESDIR}"/${PN}-6.20170101-crypto-api.patch
+)
+
+src_configure() {
+ haskell-cabal_src_configure \
+ --flag=-android \
+ --flag=-androidsplice \
+ $(cabal_flag assistant assistant) \
+ $(cabal_flag benchmark benchmark) \
+ $(cabal_flag concurrentoutput concurrentoutput) \
+ $(cabal_flag dbus dbus) \
+ $(cabal_flag magicmime magicmime) \
+ $(cabal_flag network-uri network-uri) \
+ $(cabal_flag pairing pairing) \
+ --flag=-production \
+ $(cabal_flag s3 s3) \
+ --flag=-testsuite \
+ $(cabal_flag torrentparser torrentparser) \
+ $(cabal_flag webapp webapp) \
+ $(cabal_flag webdav webdav)
+}
+
+src_test() {
+ if use webapp; then
+ export GIT_CONFIG=${T}/temp-git-config
+ git config user.email "git@src_test"
+ git config user.name "Mr. ${P} The Test"
+
+ emake test
+ fi
+}
+
+src_install() {
+ haskell-cabal_src_install
+
+ newbashcomp "${FILESDIR}"/${PN}.bash ${PN}
+
+ dodoc CHANGELOG README
+ if use webapp ; then
+ doicon "${FILESDIR}"/${PN}.xpm
+ make_desktop_entry "${PN} webapp" "git-annex" ${PN}.xpm "Office"
+ fi
+}
diff --git a/dev-vcs/git-annex/metadata.xml b/dev-vcs/git-annex/metadata.xml
new file mode 100644
index 000000000000..e35251395d35
--- /dev/null
+++ b/dev-vcs/git-annex/metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>haskell@gentoo.org</email>
+ <name>Gentoo Haskell</name>
+ </maintainer>
+ <longdescription>
+ git-annex allows managing files with git, without checking the file
+ contents into git. While that may seem paradoxical, it is useful when
+ dealing with files larger than git can currently easily handle, whether due
+ to limitations in memory, checksumming time, or disk space.
+
+ Even without file content tracking, being able to manage files with git,
+ move files around and delete files with versioned directory trees, and use
+ branches and distributed clones, are all very handy reasons to use git. And
+ annexed files can co-exist in the same git repository with regularly
+ versioned files, which is convenient for maintaining documents, Makefiles,
+ etc that are associated with annexed files but that benefit from full
+ revision control.
+ </longdescription>
+ <use>
+ <flag name="assistant">Enable git-annex assistant and watch command</flag>
+ <flag name="benchmark">Enable benchmarking</flag>
+ <flag name="concurrentoutput">Use concurrent-output library (experimental)</flag>
+ <flag name="magicmime">Use libmagic to determine file MIME types</flag>
+ <flag name="network-uri">Get Network.URI from the network-uri package.</flag>
+ <flag name="pairing">Enable pairing of git annex repositories</flag>
+ <flag name="s3">Enable Amazon S3 remote</flag>
+ <flag name="torrentparser">Use haskell torrent library to parse torrent files</flag>
+ <flag name="webapp">Enable git-annex webapp</flag>
+ <flag name="webdav">Enable webdav remote</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-vcs/git-bz/Manifest b/dev-vcs/git-bz/Manifest
new file mode 100644
index 000000000000..a21fc53e0938
--- /dev/null
+++ b/dev-vcs/git-bz/Manifest
@@ -0,0 +1,6 @@
+DIST git-bz-0.2015.09.08.tar.bz2 46980 SHA256 657e2020021f7e7cc1529475a8ab47ac59366078a30a83334dbf77e81360955e SHA512 8a468183f23d182ea566ceb524b05028c483e5eecc0c8babec42d67e99b8779af430d18373e130dcc13c8c58135ac62faf0a700c2731320617b47b00f5678133 WHIRLPOOL 9e00226f514d69c51dc43df8c2be3f9d95f3f11bbe38ef4df628ba359cdd3dea34847a570205a25dd4f14c53b23132db42d46a09c44e58f3ec37e1fa63a09e7a
+EBUILD git-bz-0.2015.09.08.ebuild 811 SHA256 001039cdb04b18f4a5a726e58c38a9b42c69540a263f3c81b7359301f9c985d6 SHA512 c931c0150d646365849c9c94eef7a9a2bd3baf94716968e7323bfdc46b49be1d3d92c3b96ff702e790a1e6237201e3abf9a7b9a0a3b7c907e426a62e0d29975f WHIRLPOOL 242703d9a34afd239a96fcfe79958426e44742fabf4232fd2f7d877fcb7efa49cc942e1edb0df2e6e790f46260a7ec5ad848785f77fcbe539fa6f3d591756938
+EBUILD git-bz-9999.ebuild 917 SHA256 e4c8c79de2f6e752d891578f3ab35aeea040146d77ef39d6bf0fdb99ebf278ba SHA512 00cbd04377fb76e55fdf5414b612f767923e3cff339617a43e33ca5cd30069a1b23d588c76d90c3948b0dec3074586f3e01cb0b411d7311f23df340c85a972c7 WHIRLPOOL 1803de8f1b07a3653ba3c950c6b2399c8a9eb178ca53c64860475022cb0f3cc314c4a244d5fbbecd4cfb9ddbabd658db95825c9c7f63290ef900e61da6d44699
+MISC ChangeLog 2533 SHA256 77c857c516e1a0aa3d2e99d921991a69cf5192f6e2bda8c5ff6ebc14ef9a3dda SHA512 9540d36d552a1a19e75dde97043f3f57041776efef05a1807ed2c5a27b92c7d22b5d7a408b21ee762a480711ced2cde37bcc2a04ca1768cc31533c361ea51764 WHIRLPOOL bec4cba7429fca5c6a30640ad789d0802186fa429d51e37f1954b44f568f1ed7cf800065b143aee4fe3f9bd03e6ab2e6f6945cc96f629694d80858c7efaf06c1
+MISC ChangeLog-2015 2298 SHA256 7adffdb7e2ac3e3b8f74258725df2b1a2f404567fcf359106b87a8f7ec8b9c8e SHA512 782bee7c48caab34de6512143e49d32502009251abd9c680c9021e2f8a29a096413a429b6b9efb8e3ceecc4a7e2304bbe0c83599e5daed54b4bdbdad564dfa20 WHIRLPOOL 57e2a69937f3ae84acfcc3a42542f9d95af5d13455126894a4bee8a5fbab265bbb5adab76b58f91f1cff9fc9f0ddd52f945fd7b130e8e64f904a2b6e2642661b
+MISC metadata.xml 247 SHA256 34d6ed4186bad4ac57e0b4c08b657b14e28852a83c4ccf4d8a62f7829063b1cf SHA512 d6e2ea8a9d74791bcbf3d6311a66bafc20b8f4db3a576d9a8d54b86d7afb231122b8d87f71f3f46360980adf8d815c633b6d5041f9a30fc8656e8fb66057a282 WHIRLPOOL fbd18b3e6e3d777e8d78e91b8d32c5e357fd2a1c754d2c9add4622be682521e59556f466cba397d913f0e63265202744ceaf76dc7823be0a172a9bf4da6a2579
diff --git a/dev-vcs/git-bz/git-bz-0.2015.09.08.ebuild b/dev-vcs/git-bz/git-bz-0.2015.09.08.ebuild
new file mode 100644
index 000000000000..44eacb2a7a3e
--- /dev/null
+++ b/dev-vcs/git-bz/git-bz-0.2015.09.08.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 pypy )
+PYTHON_REQ_USE='sqlite'
+
+inherit python-single-r1
+
+DESCRIPTION="Bugzilla subcommand for git"
+HOMEPAGE="http://www.fishsoup.net/software/git-bz/"
+SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ dev-vcs/git
+ ${PYTHON_DEPS}"
+
+src_configure() {
+ # custom script
+ ./configure --prefix="${EPREFIX}/usr" || die
+}
+
+src_install() {
+ default
+ python_fix_shebang "${ED%/}"/usr/bin/${PN}
+}
+
+pkg_postinst() {
+ if ! has_version dev-python/pycrypto; then
+ elog "For Chrome/-ium cookie decryption support, please install:"
+ elog " dev-python/pycrypto"
+ fi
+}
diff --git a/dev-vcs/git-bz/git-bz-9999.ebuild b/dev-vcs/git-bz/git-bz-9999.ebuild
new file mode 100644
index 000000000000..c8f2c69685ef
--- /dev/null
+++ b/dev-vcs/git-bz/git-bz-9999.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 pypy )
+PYTHON_REQ_USE='sqlite'
+
+EGIT_REPO_URI="git://git.fishsoup.net/${PN}
+ http://git.fishsoup.net/cgit/${PN}"
+inherit git-r3 python-single-r1
+
+DESCRIPTION="Bugzilla subcommand for git"
+HOMEPAGE="http://www.fishsoup.net/software/git-bz/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ dev-vcs/git
+ ${PYTHON_DEPS}"
+DEPEND="app-text/asciidoc
+ app-text/xmlto"
+
+src_configure() {
+ # custom script
+ ./configure --prefix="${EPREFIX}/usr" || die
+}
+
+src_compile() {
+ emake ${PN}.1
+}
+
+src_install() {
+ default
+ python_fix_shebang "${ED%/}"/usr/bin/${PN}
+}
+
+pkg_postinst() {
+ if ! has_version dev-python/pycrypto; then
+ elog "For Chrome/-ium cookie decryption support, please install:"
+ elog " dev-python/pycrypto"
+ fi
+}
diff --git a/dev-vcs/git-bz/metadata.xml b/dev-vcs/git-bz/metadata.xml
new file mode 100644
index 000000000000..0319eec4c8be
--- /dev/null
+++ b/dev-vcs/git-bz/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/git-bzr-ng/Manifest b/dev-vcs/git-bzr-ng/Manifest
new file mode 100644
index 000000000000..4daf7c746b58
--- /dev/null
+++ b/dev-vcs/git-bzr-ng/Manifest
@@ -0,0 +1,5 @@
+DIST git-bzr-ng-0_pre20120822.tar.xz 11592 SHA256 315d7d567ef173d7a8e2f17304bd73a1f6779cd754e6d4ea67f48bd5d75a55ec SHA512 2652b76a1fbdfac7f7387b53167d0c76a0579e232f66be05c28a156eef638e40bd7548154e6c1853872cf6978b474b948396db176976f2ac15e7311fc731ba9b WHIRLPOOL 783da6136a4a4f1fb95ca39b285b58bac2499c23ddec82f11468fba7d4303700ac388c5decb023e61964cda8a06d77420518ffdbef0d6871081ba8be0dd8bf80
+EBUILD git-bzr-ng-0_pre20120822-r2.ebuild 724 SHA256 74bdccf2b2077fe6577970186b696ebd11825973eec312d8a1b5b02242635bda SHA512 7d149599794c3788cfa6242d1407f7d5ff6e507f6767072847a51414847b36491564ad618d95fdfb4ebdc74b802ac6fad8b57dcb4abc513fbf9ee45e9060d107 WHIRLPOOL aed8be29642d3aae67a0b060b73967ab1b3f8418a49508084fec9bd3a2beaa5a31c139a6c3f8c0416a3b7d8afe43780f5c9511989b037efcfa557b271ceadd0a
+MISC ChangeLog 2597 SHA256 ce2ed713aa7380c253840f1cff5e1035b1884080a11922223021e95e524e9f90 SHA512 dcc3cd3c3403ea5c4ae9cf878c6612dc314451f7fad51b48e38efe2d5f7dff7268c81fd36646732a73c338f1ddb41828960ca4173c456829c8262645b52f9e61 WHIRLPOOL 0ed79069abfe8cfd2415a8e047b0d679437d8818a18d9b63ba03f52a1310204b37838feee69381326e6de9dfba8209c2e8dc7d87b9e33842e8bc99dafd9fa49b
+MISC ChangeLog-2015 1166 SHA256 c86ed4ac080ee65d852629063b20d854887547b4ebf9c48b5fa8233458147a36 SHA512 72479f6e21c7174dc7951cbee2365956417adf0bd48e4b3985c6c1614cf7c791e28909c72bd5631914754d583c3fe45b3e6fcde8727f4a848a1642ac2faf1c53 WHIRLPOOL 39a2d1a8f8ee1f9ab840cdebab9bdfc1ff112b8cc654b09831a6999a428cd56916658354b70f6dea5e92ca5b93e8b9dd5479a5c78421b54248bfec736c889b30
+MISC metadata.xml 338 SHA256 6140b0c0106bdfffae05771c2bbcb7907a53d7ebc758e6a3f76d96705cfd51bc SHA512 076b3b7989dc7cf0e43ef116ebb469d6ebeb68c417d952e7c1b53a3c93c990f063b9728780a20ce6155242117e5f9825929b182e4170494023e2e1ef42914e96 WHIRLPOOL 45735b5311398acb9a444d02ed20a5c072353508989b31b6be7d2ee239c8171811b1d2a95cd889e191ba9d992ab3d6b8687f3e44337a0dee29b426031f1cbc46
diff --git a/dev-vcs/git-bzr-ng/git-bzr-ng-0_pre20120822-r2.ebuild b/dev-vcs/git-bzr-ng/git-bzr-ng-0_pre20120822-r2.ebuild
new file mode 100644
index 000000000000..f85416390252
--- /dev/null
+++ b/dev-vcs/git-bzr-ng/git-bzr-ng-0_pre20120822-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1
+
+DESCRIPTION="Git subcommand providing a bidirectional bridge to Bazaar repositories"
+HOMEPAGE="https://github.com/termie/git-bzr-ng"
+SRC_URI="https://dev.gentoo.org/~tetromino/distfiles/${PN}/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ >=dev-vcs/bzr-2.2
+ dev-vcs/git
+ >=dev-vcs/bzr-fastimport-0.10
+ ${PYTHON_DEPS}"
+DEPEND="app-arch/xz-utils"
+
+src_prepare() {
+ default
+ python_fix_shebang git-bzr
+}
+
+src_install() {
+ exeinto /usr/libexec/git-core
+ doexe git-bzr
+ dodoc README.rst
+}
diff --git a/dev-vcs/git-bzr-ng/metadata.xml b/dev-vcs/git-bzr-ng/metadata.xml
new file mode 100644
index 000000000000..6fd468f2c231
--- /dev/null
+++ b/dev-vcs/git-bzr-ng/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tetromino@gentoo.org</email>
+ <name>Alexandre Rostovtsev</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">termie/git-bzr-ng</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-cola/Manifest b/dev-vcs/git-cola/Manifest
new file mode 100644
index 000000000000..9fa673b45909
--- /dev/null
+++ b/dev-vcs/git-cola/Manifest
@@ -0,0 +1,16 @@
+AUX README.gentoo 227 SHA256 c95560b961a37e9c7b731599c9eb85fff9f9a45262747a498ae5034dca2c49cb SHA512 9e8b672fe6998a255dea761e186d5a9031895e8ec0eb14d4942c81a462a238ef1eec0431671da8be3ee4bbacd7f81cec6ec1f9e75e2f4429c3472faad5ba2c2d WHIRLPOOL a1ea204d2353fee42dfdc3880dd2689a7f7b4f12ba2d5d048b86ca29ecf29f34f970b84e5fde30110dfb6f029a8ffd41dc84cff80f1bf652a18ad5db4820958b
+AUX git-cola-2.10-disable-live-tests.patch 827 SHA256 4000f17863633d8395c351131e5afddea8f8273282b97c75d5433292878ab8d5 SHA512 86f7410ce711db2dc19d4348047285dbd1a3c078512d13b589ef898dfd870a4f459371319965c697d8654dd4550a358e67e5d6b74c0317820422c3e98b7084a9 WHIRLPOOL c93ee7de175b39fdeeb5682c7147d3ec0fe599740a1119426392e23eec25072ad1ba2ef1dad5a9497f3ef1ff2d84c5b7189ebfd79e248657b94290380d21e3b2
+AUX git-cola-2.2.1-disable-live-tests.patch 800 SHA256 99762efaf3001ac247bca85e09f4641801898ba8f5a838ea36d8f1394a2c174b SHA512 36b84490d371dbeff3a206603c4ff3d64d6e4b60338c48c83864d66058c95371e3e3621390cb9541a8d955e2a8f1a6187539ee0a966c5b8beaa48a3e417c4803 WHIRLPOOL d1b56be64ce49eb7c7832116f95b6aed36ec58f2a55fc17d037f030ff6ce06d5662a57ef700462566e765f4d5b611526627588bc21c9c234b9996190cddad5ba
+AUX git-cola-2.2.1-update-git-config-in-tests.patch 445 SHA256 d1d2ac758a34d8bca28fc21b002203587dbb4a187ffdbc23f6d2323b57962ea4 SHA512 abb8fadcb851c11e896dbbcd247ea03bb9a6a109302fef0dfa847b6a4702334a16b97508c1e000763ef81af805d46cc28dcf25669d2e51cf79c0e1aadbe43fae WHIRLPOOL 238afaac178f608ce7b33f7dbab65e353f2f4f60d75c2604ec8ceb16d3a484b01dbab648580921c4e9a9461614e296017d0a9a507bc0820de01509c8787e71f9
+AUX index.html 355 SHA256 9b092445f2da302365c22fae670ad75f8d0a57ca64b4c99bf5662b9999869a60 SHA512 a3e66bb220ae05c2f49a75ce413c5aeefb9ced26f7e8b2175b32ade83663153fab94f8601b1d0182d1eeb907edc6c1bef3ad96d84b1e6c00ca4d5a816be79bac WHIRLPOOL fd3d058f2d57dd9664bc498d6b8bfa749d219d44bef7cbf64624abe16e019062108f52f8cc18ebf580e70d2eb20cdb89f760d380a83b932712a689e921201f7f
+DIST git-cola-2.11.tar.gz 1179769 SHA256 bc4007e0d9c80763ef58d630b033bfdbd8406af77bbd292a6c647ed3ca655b5b SHA512 99b865d7a49dcb041e54811141d242386642b5ed6fc12fa7a03431eb9b905cb88d88c4892dc432dd59e8ae3c85f20cc40f4bfb9b6ff002f4e5a4cfc0bdc4c72c WHIRLPOOL e7a3a1d50b6730aefd48e2d0a91cb3bf413240c516194ae39a2b6a7ebb5b07807bba10f51e1c3669817eed49aa938b01328416ca60cfcc684f95bbcd0005eaa2
+DIST git-cola-2.2.1.tar.gz 996484 SHA256 df0a3e1d3c49629926f2e30f55d635eca3c8da12e96232196b307613fa4b3aec SHA512 a91fe706ea150d9bd9a05a9d494c63d373cae0154deca8e40e30fc20e70be32d4fd1f021a971c067d46ab24f472965a12c115eeb4bd94e4f62c21e546d89c109 WHIRLPOOL ac68a558775bc5fdf3a168416132dedbeffe554f6f60f50b7e33f0d17d67aa829318b7a0df2607b47e41b8823d60e206e0544e03382eae7651b9ca1c3b9dfc09
+DIST git-cola-2.3.tar.gz 1005858 SHA256 3319810c16f6864deb5f94f533c7cfd17f30961595454da7c3c75879f56511b3 SHA512 2be0e971cd23aa0a1f8ec92ffd05f64cdd0ee34fb1e3c9bd3a98df0556968e9613d6494002e973db8de8ab389c48205ab1db42823d46e523c24a029cf25e3023 WHIRLPOOL 177996e40cc83dd2d2fe9db1ac97ba318d9d311779415e8e4327f3824a7c19f36f592ed1d6118e5a2d46a594a8dd681d0a2e2e54f2846c3636d9f4f3d8f196f5
+DIST git-cola-2.4.tar.gz 987829 SHA256 ef735431a2e58bac7671c4b9ab4fbb369195b16987fe9d3d931a9097c06c7f36 SHA512 702d5c7322a21e5807354d3b3b7b31fd5cef3c12c3294e2ad57add99f586277d4805e85122682acde40e6243529588e62762f9483d807ed12340057c6a37a0cc WHIRLPOOL de95800c0d8f67d301a102a8f623945170ca5961cde91fdabf2dd396f2470e52e8b51dde1f65b5aed408ebc3cd6802426c7bd3b9cd86db53b2965067d2646f47
+EBUILD git-cola-2.11.ebuild 2450 SHA256 95997661c58173affe54cb643236b35e91cf072d8dac852883e45f20d51a54ab SHA512 4f591549029883a04e5a706fa77254526e8de1ae58c7a6614d3eb1a948dff79dbfe7a6a243d86ddef9c05deffd99a52c78db84559073aa578a688a884608aafd WHIRLPOOL 3801acbb88c690029ec94ac423140db0937b1ce111a760b86503da1e0bdb9f990627a5efd6a7da9df2e648d847a65a865292749f809bba6fb6049f841d74bf17
+EBUILD git-cola-2.2.1.ebuild 2237 SHA256 42fec18c081db17675c3cef7a5788758d30c11dbf4c080fdbdc4043f9c5a256d SHA512 242289488664a7308ad53e1cda3c3ed064125ac0853e78faa3f3b749a721ec9565d912e5373237d78144f06b5b9b9230408aaa16f37603add548992f039fa1e4 WHIRLPOOL 9ccb86f82b39fb7d74518b9daeaf66e36b6f02a7dc20e7ce9de37d98e37ccf6a8234552fef68b8b3f2056c575fc14c1dd14f484c303831673b4a8b4c3739d07f
+EBUILD git-cola-2.3.ebuild 2193 SHA256 3fb818965e3887f015f9ea07951ea2986e1b08b58cd061bb5610e92005b1e749 SHA512 7b2c4b322965a6be84eb2a094e50fbf64e8a556dc4ddfbdb0deb3ae95ca525ea113fdb362163d34b36040707026a3cf9344f406f22662fd3706d094583b036a4 WHIRLPOOL 8d3baa62991b0a1813454641f82565520489a5fe58ca430cb6702f0380fd7c471a4809a9c85c4467ba0fd150414a49a6b5fc92d1f9e17075044c2a01282f23f5
+EBUILD git-cola-2.4.ebuild 2218 SHA256 4cfd4e6942f4de6c5ca170bc7daa82170d207c8606624df0ac4f0dc0aa1f8b7d SHA512 b3033ffa46f5c75700b065ae6e0fe25767e64c79d7525be89c2bf1cf0ef468cd2ca78ee75ea32c63d6d0aa3ce130270f3501e5fcc2fabf7e46bb52480c356461 WHIRLPOOL d8caededf76b9745bcd85361517d9b584430b1afc6a435d70dea1945bc48e37975a7b28487b944e004d5624a923b0ca4ea2f56570de1fb69233892ed68116b44
+MISC ChangeLog 4173 SHA256 8ffb82e9f9fd61e3f503836092bb4301d3d0f4e2505bc81cbedaa6fbc8851b4c SHA512 2d053846595358d03151bf703b81e6af86c1fa58bf6266b9deae68f4d2c3b23b67b64a864fa122f7d37a8f0d4adcd0c89f63a6b25709de3e34cf51b463f6d5c5 WHIRLPOOL 7b8c65a8be0dfbe3937816ae80e5877342351924b5269a492f65ad5ff7eca1caaa4324bc7186dd844acd42109bf7faa04fae5e8418fa20f421c8f8ab033c3d50
+MISC ChangeLog-2015 10625 SHA256 92eca8529f9e81271cbcd284e1c9efd34c569b085c091cf01f69dea79cd373fa SHA512 4c0ba0315dc5abcc446d19357d5c7b964fcd6f31d13b666403823bfcad3db4f1e8a3b56263d3a5b8f40140cc10838290ba027461b12b46de7ba0427d6ec34b49 WHIRLPOOL 4d9f910d6e3a1b64826a944e57954fb7943dc9442466740d037b1026bb38c2d8b9c9bc7aa76f79d14c4053cae7f4da4fc5558146188322f04909944e1e95a167
+MISC metadata.xml 342 SHA256 5b6b3c969c1b84a8d3bde28d76652af018ce5aee5a19289b4d3b0a954a427433 SHA512 9ef75fe8465b602db4d9645535f9ce228af6afffac7309c5f3e7dbe266fe5c89a08e96bc53c2fb4a364a8c3ec6c3d87579eb076d6ba005499f0f4f07316caecb WHIRLPOOL 31a04d11bcc4f8fea3bcedd6dbfb32f7528391a5a350de0899b4fad7a6f356eef70302854fd298c9d10172b9717995ca44c692e54683a1bdbeac75450b870d1d
diff --git a/dev-vcs/git-cola/files/README.gentoo b/dev-vcs/git-cola/files/README.gentoo
new file mode 100644
index 000000000000..0f4af85d5ccc
--- /dev/null
+++ b/dev-vcs/git-cola/files/README.gentoo
@@ -0,0 +1,3 @@
+Please make sure you have either a SSH key management installed and activated or
+installed a SSH askpass app like net-misc/x11-ssh-askpass.
+Otherwise git-cola may hang when pushing/pulling from remote git repositories via SSH.
diff --git a/dev-vcs/git-cola/files/git-cola-2.10-disable-live-tests.patch b/dev-vcs/git-cola/files/git-cola-2.10-disable-live-tests.patch
new file mode 100644
index 000000000000..1f58ea0eddb6
--- /dev/null
+++ b/dev-vcs/git-cola/files/git-cola-2.10-disable-live-tests.patch
@@ -0,0 +1,24 @@
+diff --git a/test/git_test.py b/test/git_test.py
+index 9f812b2..ff7da24 100644
+--- a/test/git_test.py
++++ b/test/git_test.py
+@@ -53,19 +53,6 @@ class GitCommandTest(unittest.TestCase):
+ version = self.git.version()[STDOUT]
+ self.failUnless(version.startswith('git version'))
+
+- def test_tag(self):
+- """Test running 'git tag'"""
+- tags = self.git.tag()[STDOUT].splitlines()
+- if os.getenv('GIT_COLA_NO_HISTORY', False):
+- return
+- self.failUnless('v1.0.0' in tags)
+-
+- def test_show(self):
+- """Test running 'git show'"""
+- oid = 'HEAD'
+- content = self.git.show(oid)[STDOUT]
+- self.failUnless(content.startswith('commit '))
+-
+ def test_stdout(self):
+ """Test overflowing the stdout buffer"""
+ # Write to stdout only
diff --git a/dev-vcs/git-cola/files/git-cola-2.2.1-disable-live-tests.patch b/dev-vcs/git-cola/files/git-cola-2.2.1-disable-live-tests.patch
new file mode 100644
index 000000000000..2ebdc9880d1e
--- /dev/null
+++ b/dev-vcs/git-cola/files/git-cola-2.2.1-disable-live-tests.patch
@@ -0,0 +1,22 @@
+diff --git a/test/git_test.py b/test/git_test.py
+index 9f812b2..ff7da24 100644
+--- a/test/git_test.py
++++ b/test/git_test.py
+@@ -53,17 +53,6 @@ class GitCommandTest(unittest.TestCase):
+ version = self.git.version()[STDOUT]
+ self.failUnless(version.startswith('git version'))
+
+- def test_tag(self):
+- """Test running 'git tag'"""
+- tags = self.git.tag()[STDOUT].splitlines()
+- self.failUnless( 'v1.0.0' in tags )
+-
+- def test_show(self):
+- """Test running 'git show'"""
+- sha = '1b9742bda5d26a4f250fa64657f66ed20624a084'
+- contents = self.git.show(sha)[STDOUT].splitlines()
+- self.failUnless(contents[0] == '/build')
+-
+ def test_stdout(self):
+ """Test overflowing the stdout buffer"""
+ # Write to stdout only
diff --git a/dev-vcs/git-cola/files/git-cola-2.2.1-update-git-config-in-tests.patch b/dev-vcs/git-cola/files/git-cola-2.2.1-update-git-config-in-tests.patch
new file mode 100644
index 000000000000..96271d05548c
--- /dev/null
+++ b/dev-vcs/git-cola/files/git-cola-2.2.1-update-git-config-in-tests.patch
@@ -0,0 +1,13 @@
+diff --git a/test/helper.py b/test/helper.py
+index 006a5b1..64d0dfc 100644
+--- a/test/helper.py
++++ b/test/helper.py
+@@ -87,6 +87,8 @@ class GitRepositoryTestCase(TmpPathTestCase):
+
+ def initialize_repo(self):
+ self.git('init')
++ self.git('config', '--local', 'user.name', 'Your Name')
++ self.git('config', '--local', 'user.email', 'you@example.com')
+ self.touch('A', 'B')
+ self.git('add', 'A', 'B')
+
diff --git a/dev-vcs/git-cola/files/index.html b/dev-vcs/git-cola/files/index.html
new file mode 100644
index 000000000000..7f1e814a0b51
--- /dev/null
+++ b/dev-vcs/git-cola/files/index.html
@@ -0,0 +1,15 @@
+<html>
+<head>
+ <title>Missing documentation</title>
+</head>
+<body>
+<div style="border: 4px double red; padding: 2em; margin: 4em; top: 4em; width: 20em;">
+ This documentation is missing. Please reinstall dev-util/cola with the 'doc' useflag enabled.
+
+ <p style="text-align: right;">
+ Sincerely,<br/>
+ your package maintainer.
+ </p>
+</div>
+</body>
+</html>
diff --git a/dev-vcs/git-cola/git-cola-2.11.ebuild b/dev-vcs/git-cola/git-cola-2.11.ebuild
new file mode 100644
index 000000000000..78f74ae2c038
--- /dev/null
+++ b/dev-vcs/git-cola/git-cola-2.11.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_4 python3_5 )
+DISTUTILS_SINGLE_IMPL=true
+
+inherit distutils-r1 readme.gentoo-r1 virtualx
+
+DESCRIPTION="The highly caffeinated git GUI"
+HOMEPAGE="https://git-cola.github.io/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+# Since PyQt5 is preferred at runtime if installed, depend on that
+RDEPEND="
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ dev-python/send2trash[${PYTHON_USEDEP}]
+ dev-python/QtPy[gui,${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,network,widgets,${PYTHON_USEDEP}]
+ dev-vcs/git"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ python_targets_python2_7? ( dev-python/sphinxtogithub[$(python_gen_usedep 'python2*')] )
+ )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] ${VIRTUALX_DEPEND} )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.10-disable-live-tests.patch
+)
+
+python_prepare_all() {
+ # Use system QtPy
+ rm -r qtpy || die
+
+ rm share/git-cola/bin/*askpass* || die
+
+ # remove broken tests
+ rm test/i18n_test.py || die
+
+ # don't install docs into wrong location
+ sed -i -e '/doc/d' setup.py || die
+
+ # fix doc directory reference
+ sed -i \
+ -e "s/'doc', 'git-cola'/'doc', '${PF}'/" \
+ cola/resources.py || die
+
+ # fix ssh-askpass directory reference
+ sed -i -e 's/resources\.share/resources\.prefix/' cola/app.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ mydistutilsargs=( --no-vendor-libs )
+}
+
+python_compile_all() {
+ cd share/doc/${PN}/ || die
+ if use doc; then
+ emake all
+ else
+ sed \
+ -e '/^install:/s:install-html::g' \
+ -e '/^install:/s:install-man::g' \
+ -i Makefile || die
+ fi
+}
+
+python_test() {
+ PYTHONPATH="${S}:${S}/build/lib:${PYTHONPATH}" LC_ALL="C" \
+ virtx nosetests --verbose --with-id --with-doctest \
+ --exclude=sphinxtogithub
+}
+
+src_install() {
+ distutils-r1_src_install
+}
+
+python_install_all() {
+ cd share/doc/${PN}/ || die
+ emake \
+ DESTDIR="${D}" \
+ docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ prefix="${EPREFIX}/usr" \
+ install
+
+ python_fix_shebang "${ED}/usr/share/git-cola/bin/git-xbase" "${ED}"/usr/bin/git-cola
+ python_optimize "${ED}/usr/share/git-cola/lib/cola"
+
+ use doc || HTML_DOCS=( "${FILESDIR}"/index.html )
+
+ distutils-r1_python_install_all
+ readme.gentoo_create_doc
+}
diff --git a/dev-vcs/git-cola/git-cola-2.2.1.ebuild b/dev-vcs/git-cola/git-cola-2.2.1.ebuild
new file mode 100644
index 000000000000..cad0264b76b7
--- /dev/null
+++ b/dev-vcs/git-cola/git-cola-2.2.1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_4 )
+DISTUTILS_SINGLE_IMPL=true
+
+inherit distutils-r1 readme.gentoo virtualx
+
+DESCRIPTION="The highly caffeinated git GUI"
+HOMEPAGE="https://git-cola.github.io/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ dev-python/send2trash[${PYTHON_USEDEP}]
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ dev-vcs/git"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ python_targets_python2_7? ( dev-python/sphinxtogithub[$(python_gen_usedep 'python2*')] )
+ )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-disable-live-tests.patch
+ "${FILESDIR}"/${P}-update-git-config-in-tests.patch
+)
+
+python_prepare_all() {
+ rm share/git-cola/bin/*askpass* || die
+
+ # remove broken tests
+ rm test/i18n_test.py || die
+
+ # don't install docs into wrong location
+ sed -i -e '/doc/d' setup.py || die
+
+ # fix doc directory reference
+ sed -i \
+ -e "s/'doc', 'git-cola'/'doc', '${PF}'/" \
+ cola/resources.py || die
+
+ # fix ssh-askpass directory reference
+ sed -i -e 's/resources\.share/resources\.prefix/' cola/app.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ cd share/doc/${PN}/ || die
+ if use doc; then
+ emake all
+ else
+ sed \
+ -e '/^install:/s:install-html::g' \
+ -e '/^install:/s:install-man::g' \
+ -i Makefile || die
+ fi
+}
+
+python_test() {
+ PYTHONPATH="${S}:${S}/build/lib:${PYTHONPATH}" LC_ALL="C" \
+ VIRTUALX_COMMAND="nosetests --verbose --with-id --with-doctest \
+ --exclude=sphinxtogithub" \
+ virtualmake
+}
+
+src_install() {
+ distutils-r1_src_install
+}
+
+python_install_all() {
+ cd share/doc/${PN}/ || die
+ emake \
+ DESTDIR="${D}" \
+ docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ prefix="${EPREFIX}/usr" \
+ install
+
+ python_fix_shebang "${ED}/usr/share/git-cola/bin/git-xbase"
+ python_optimize "${ED}/usr/share/git-cola/lib/cola"
+
+ use doc || HTML_DOCS=( "${FILESDIR}"/index.html )
+
+ distutils-r1_python_install_all
+ readme.gentoo_create_doc
+}
diff --git a/dev-vcs/git-cola/git-cola-2.3.ebuild b/dev-vcs/git-cola/git-cola-2.3.ebuild
new file mode 100644
index 000000000000..878eef70db2b
--- /dev/null
+++ b/dev-vcs/git-cola/git-cola-2.3.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_4 )
+DISTUTILS_SINGLE_IMPL=true
+
+inherit distutils-r1 readme.gentoo virtualx
+
+DESCRIPTION="The highly caffeinated git GUI"
+HOMEPAGE="https://git-cola.github.io/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ dev-python/send2trash[${PYTHON_USEDEP}]
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ dev-vcs/git"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ python_targets_python2_7? ( dev-python/sphinxtogithub[$(python_gen_usedep 'python2*')] )
+ )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2.1-disable-live-tests.patch
+)
+
+python_prepare_all() {
+ rm share/git-cola/bin/*askpass* || die
+
+ # remove broken tests
+ rm test/i18n_test.py || die
+
+ # don't install docs into wrong location
+ sed -i -e '/doc/d' setup.py || die
+
+ # fix doc directory reference
+ sed -i \
+ -e "s/'doc', 'git-cola'/'doc', '${PF}'/" \
+ cola/resources.py || die
+
+ # fix ssh-askpass directory reference
+ sed -i -e 's/resources\.share/resources\.prefix/' cola/app.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ cd share/doc/${PN}/ || die
+ if use doc; then
+ emake all
+ else
+ sed \
+ -e '/^install:/s:install-html::g' \
+ -e '/^install:/s:install-man::g' \
+ -i Makefile || die
+ fi
+}
+
+python_test() {
+ PYTHONPATH="${S}:${S}/build/lib:${PYTHONPATH}" LC_ALL="C" \
+ VIRTUALX_COMMAND="nosetests --verbose --with-id --with-doctest \
+ --exclude=sphinxtogithub" \
+ virtualmake
+}
+
+src_install() {
+ distutils-r1_src_install
+}
+
+python_install_all() {
+ cd share/doc/${PN}/ || die
+ emake \
+ DESTDIR="${D}" \
+ docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ prefix="${EPREFIX}/usr" \
+ install
+
+ python_fix_shebang "${ED}/usr/share/git-cola/bin/git-xbase"
+ python_optimize "${ED}/usr/share/git-cola/lib/cola"
+
+ use doc || HTML_DOCS=( "${FILESDIR}"/index.html )
+
+ distutils-r1_python_install_all
+ readme.gentoo_create_doc
+}
diff --git a/dev-vcs/git-cola/git-cola-2.4.ebuild b/dev-vcs/git-cola/git-cola-2.4.ebuild
new file mode 100644
index 000000000000..3b2f509edd47
--- /dev/null
+++ b/dev-vcs/git-cola/git-cola-2.4.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_4 )
+DISTUTILS_SINGLE_IMPL=true
+
+inherit distutils-r1 readme.gentoo virtualx
+
+DESCRIPTION="The highly caffeinated git GUI"
+HOMEPAGE="https://git-cola.github.io/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ dev-python/send2trash[${PYTHON_USEDEP}]
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ dev-vcs/git"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ python_targets_python2_7? ( dev-python/sphinxtogithub[$(python_gen_usedep 'python2*')] )
+ )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2.1-disable-live-tests.patch
+)
+
+python_prepare_all() {
+ rm share/git-cola/bin/*askpass* || die
+
+ # remove broken tests
+ rm test/i18n_test.py || die
+
+ # don't install docs into wrong location
+ sed -i -e '/doc/d' setup.py || die
+
+ # fix doc directory reference
+ sed -i \
+ -e "s/'doc', 'git-cola'/'doc', '${PF}'/" \
+ cola/resources.py || die
+
+ # fix ssh-askpass directory reference
+ sed -i -e 's/resources\.share/resources\.prefix/' cola/app.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ cd share/doc/${PN}/ || die
+ if use doc; then
+ emake all
+ else
+ sed \
+ -e '/^install:/s:install-html::g' \
+ -e '/^install:/s:install-man::g' \
+ -i Makefile || die
+ fi
+}
+
+python_test() {
+ PYTHONPATH="${S}:${S}/build/lib:${PYTHONPATH}" LC_ALL="C" \
+ VIRTUALX_COMMAND="nosetests --verbose --with-id --with-doctest \
+ --exclude=sphinxtogithub" \
+ virtualmake
+}
+
+src_install() {
+ distutils-r1_src_install
+}
+
+python_install_all() {
+ cd share/doc/${PN}/ || die
+ emake \
+ DESTDIR="${D}" \
+ docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ prefix="${EPREFIX}/usr" \
+ install
+
+ python_fix_shebang "${ED}/usr/share/git-cola/bin/git-xbase" "${ED}"/usr/bin/git-cola
+ python_optimize "${ED}/usr/share/git-cola/lib/cola"
+
+ use doc || HTML_DOCS=( "${FILESDIR}"/index.html )
+
+ distutils-r1_python_install_all
+ readme.gentoo_create_doc
+}
diff --git a/dev-vcs/git-cola/metadata.xml b/dev-vcs/git-cola/metadata.xml
new file mode 100644
index 000000000000..a9e87ceda54e
--- /dev/null
+++ b/dev-vcs/git-cola/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>dev-zero@gentoo.org</email>
+ <name>Tiziano Müller</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">git-cola/git-cola</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-crypt/Manifest b/dev-vcs/git-crypt/Manifest
new file mode 100644
index 000000000000..4e5234503f75
--- /dev/null
+++ b/dev-vcs/git-crypt/Manifest
@@ -0,0 +1,9 @@
+DIST git-crypt-0.3.tar.gz 20660 SHA256 6b2a03d28240c06ce4c06c3fc73ecd88f61b638e42f8534a9f2d1dbd17132755 SHA512 526630e58a2e74bffe954bc2f489311fb2261337092a1c4462788d9412b7fa7b1aa744402558bba39fe776cfa6333700c4e0ad651d262a7ca14d920485192adc WHIRLPOOL 80a2c9129a0c6bba05418469163a6c32242e84fff1bef4179cf8b60b2bea3f01c6921fa97459e23c3bd08223cfe18f6cf1363f01b5244f0f94689d55954cfa90
+DIST git-crypt-0.4.tar.gz 44146 SHA256 8825200a353ba9fe5f972c67e2ca4f1e7194cd3ad369ba14fddb1ba840dc2140 SHA512 aa146d922258c4a68ad1a211b58e3b1e1b1135661ebecf3ede1b344fc93401eb9d0aa51cfa068f76fab3ab7c936ad6cf46e61e0e9505aaf4f338e54826ae88f6 WHIRLPOOL 8bd32cc735416a2eb3df1f144ccf7e86b09bcdd475f766df4d83885f47ead097614641df95d52e8afbb8c5935bffa7716eeab67b4ee73134c790745bc45d1027
+DIST git-crypt-0.5.0.tar.gz 56694 SHA256 5150144a528bc74eeb47a2884cf2fefe978a1d1dc0223bbfcac395fa6a73a410 SHA512 0ed75e6962d8e8260811e048c22d724bdd63d461615e8f99c1d65a07f931f9630c1b853112f202b612dc69746a9ad03995f2947ad6fa39af56a878d993d65d77 WHIRLPOOL 0fc57344d3a0996572db5b0184611d27f8e6574733d0b7d39f52db17c06f1a2403358ac3da2f0e46cbf0c004446f82c5bedf9082f627f6ce18f5e99462e8b559
+EBUILD git-crypt-0.3.ebuild 463 SHA256 f9b7bcdf1b0d8b5be86c4c3f0d130caff7d54f148fa554f245f91899be7d5935 SHA512 aa947fe288664f9d01ade481b0fe11d4553a6c0c9d9f3a296441a40e6a1e67f352c3c9785ec8d0bfca7773607c20acac56526dc2b3de9f8289e416deb30a6f7e WHIRLPOOL 6c9a50b0823e21f1663136f8d211b6c2c67b5229e455ba3cb98e8d131bbcdf101acc69890cfd3341fb5e0cb7f4deebd866fe8fe1bbda7b3e1c99fbc1ef65770f
+EBUILD git-crypt-0.4.ebuild 463 SHA256 f9b7bcdf1b0d8b5be86c4c3f0d130caff7d54f148fa554f245f91899be7d5935 SHA512 aa947fe288664f9d01ade481b0fe11d4553a6c0c9d9f3a296441a40e6a1e67f352c3c9785ec8d0bfca7773607c20acac56526dc2b3de9f8289e416deb30a6f7e WHIRLPOOL 6c9a50b0823e21f1663136f8d211b6c2c67b5229e455ba3cb98e8d131bbcdf101acc69890cfd3341fb5e0cb7f4deebd866fe8fe1bbda7b3e1c99fbc1ef65770f
+EBUILD git-crypt-0.5.0.ebuild 463 SHA256 ef3b0a5321c77a7935b4f15c8e580a10e2c545a386a05f5182e99d6f31caefdc SHA512 3fb5f22814a1b8dfa6350cb476ce895723c245ed502952239ee001cfb368093d19234a4a5126c28423f1766e67d382ba41f775132eb1a374d3f58c0694b1f9b0 WHIRLPOOL 71df63295697ea7b3801165524223b633139ee5284b8bdf4db6e93497e30fd405f423cb29c59613e4d9506ebcfbb179b136f0ca5c84049c6db64ecb26e0e479b
+MISC ChangeLog 2285 SHA256 abd98816728bb3be8b2d550a16b93680e6285138fd626f8ccdb8af249a7a311a SHA512 b6c63d1ccf77af8ec764d0aa5a476f4ef7ceedc5df7bf38afffcffee6a73521afae9b420a7948bf5e5790d3bca5bb16ae2b40cf76e3b29be1607f293a662a9b2 WHIRLPOOL fb3d3427882de6aad1eab93b2a96af7069dbfbe821942611e31bbd2a1d5bb4f536210e37ccd0160a89c6e6c005ec55264685593d23309837f0881e6d0c3b64f2
+MISC ChangeLog-2015 593 SHA256 a2af594c5fc3be5d7bf04e6f3e54fede72eeb38f1459511caaf5f826ed6f1a69 SHA512 3a92b0bd6592c5f839d673e8516afd17e98a45f4370c6074aeddabbaf9f99ca36a79ebd332b1759b9582f19a2ba5fbff9d048e23a10dfb92cac1f85ce6e9675e WHIRLPOOL 1f7527c807afe7e7b7ee8955203947ee5ada855592e2e1b9d932a138fe724c6aa04cb3d60b811806cd3391d39783f6fd26ee15a60f08c8601c83af5548382c33
+MISC metadata.xml 326 SHA256 3f6e6924d7da933c0e3b7dd6339ba040702e2db7dd5b2428301adc96b4dc84c4 SHA512 b75574fb4627e4e52be50ab98bb207b8bc8f50fd67da8fa88dc00a5dbaedc36d1e955573e2abb7e27a94fa87d2a239b3e4f48900ccb7d27fc92d5009f20b6e29 WHIRLPOOL 910966ff42d2d7d8071aa475a6b0356ee8ce35ac17da827a1106bec1d69b501f12e7643425053a731a2dce26310548347952705bc4406b733dfb57d425a9cf8f
diff --git a/dev-vcs/git-crypt/git-crypt-0.3.ebuild b/dev-vcs/git-crypt/git-crypt-0.3.ebuild
new file mode 100644
index 000000000000..f660d477da55
--- /dev/null
+++ b/dev-vcs/git-crypt/git-crypt-0.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="transparent file encryption in git"
+HOMEPAGE="https://www.agwa.name/projects/git-crypt/"
+SRC_URI="https://github.com/AGWA/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-vcs/git"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ mkdir -p "${D}"/usr/bin
+ emake PREFIX="${D}"/usr install
+}
diff --git a/dev-vcs/git-crypt/git-crypt-0.4.ebuild b/dev-vcs/git-crypt/git-crypt-0.4.ebuild
new file mode 100644
index 000000000000..f660d477da55
--- /dev/null
+++ b/dev-vcs/git-crypt/git-crypt-0.4.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="transparent file encryption in git"
+HOMEPAGE="https://www.agwa.name/projects/git-crypt/"
+SRC_URI="https://github.com/AGWA/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-vcs/git"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ mkdir -p "${D}"/usr/bin
+ emake PREFIX="${D}"/usr install
+}
diff --git a/dev-vcs/git-crypt/git-crypt-0.5.0.ebuild b/dev-vcs/git-crypt/git-crypt-0.5.0.ebuild
new file mode 100644
index 000000000000..4dfc91650e2f
--- /dev/null
+++ b/dev-vcs/git-crypt/git-crypt-0.5.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="transparent file encryption in git"
+HOMEPAGE="https://www.agwa.name/projects/git-crypt/"
+SRC_URI="https://github.com/AGWA/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-vcs/git"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ mkdir -p "${D}"/usr/bin
+ emake PREFIX="${D}"/usr install
+}
diff --git a/dev-vcs/git-crypt/metadata.xml b/dev-vcs/git-crypt/metadata.xml
new file mode 100644
index 000000000000..16fca555475a
--- /dev/null
+++ b/dev-vcs/git-crypt/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">AGWA/git-crypt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-deploy/Manifest b/dev-vcs/git-deploy/Manifest
new file mode 100644
index 000000000000..325c78080325
--- /dev/null
+++ b/dev-vcs/git-deploy/Manifest
@@ -0,0 +1,5 @@
+DIST git-deploy-6.0.1_p20131024.tar.gz 55394 SHA256 fe5b810ed3a9595f1d2c733d1fd42f83ff8a1f1995f3d4a11f1f9b006d0a94a1 SHA512 cf3504b8f40d86cd8322ed93f2fe43593bcbf2db37685d3337b89501f39b38298dfb6d6cd51dd3f518f6048b680446a1660b85887ef73647829608e77b497634 WHIRLPOOL 0a6a1e8178d771f6d32967ce748fde883c5604da75a9c37fed06291e183dfe5a90321be0d23a593a72e68882ed44b0d7abba3a85264642f057f962b476115c0c
+EBUILD git-deploy-6.0.1_p20131024.ebuild 1401 SHA256 4475190e53235208c580cfcd87900ff85a1f6c116e01628ba398dec8edecfb71 SHA512 63b71fd006776eff4cc7a77311746446796fc3a230ca61756455861c76bef72a7cd4a0cbcc70c17e05456d76ab3425e37f8a6d7b5ea6712123837e99b78912ab WHIRLPOOL 4dc0c9e234968bafd13657a4f78d1aaf33720e6035a12b4c30af524024df86080494f935b13fbf6be970e7a1d7fccac7c4edb86934cfd8d22289179319e88f18
+MISC ChangeLog 2502 SHA256 2290a94c20fc1a8423105f941806fb2f265ad913253de81f2b58fc6a941d079c SHA512 a01fe77158d95d0f59a3afbd6b06ef0bdeea19e60b32b0d1d76d6ea168e4dcdf1c54f1bb71840bff140dc6dfd995fba60085270455d569aa4dfc558261fbb98d WHIRLPOOL c14424723154e164f024b144a60993d2a26717383c7d0d663cf56af2c88a836e255c78bc3daf3ac001855c6226694d4ea6746f4305b08a5f1107a5c0facf0efb
+MISC ChangeLog-2015 562 SHA256 3df929feccdb9e2ae520153216e7354a1e5f790050ec79970c930ae234b16a8b SHA512 8fa4dd7bce66c5cfd09fc560abe66f69bd7302e1d287f3d35db766e99719be511cfe8e4f7537b726662c10ffce3ef1028348ae4e01414fc6a95212f521b5444e WHIRLPOOL bfb4d11789d8ecaa0c35a46fb07dec98fe70de5ad17d3c686cbe48a05bda3baeeafb59fe7192034ede539b090025b5e2982badfce80a3e46889ece4c6842531b
+MISC metadata.xml 253 SHA256 db21cc51728783228df36f0dd12ac46b19809502fb363dfaa3e2043d0a3900bd SHA512 21be5cc9f7b4fc3af74661ab49aa067574a2028f25c5175aa4d137ab77d00c51fa705c44a94e13b784d91ecf9d4e43a4a4ccf0abf63aed814e9382448519ae82 WHIRLPOOL 8224cd80071b5e2a79ae48028b76696874c23a086e6d4581de87e487802195a421fd536c258688876a5568a30b59e6c071502d7faefd2610dda2a6c9c542a808
diff --git a/dev-vcs/git-deploy/git-deploy-6.0.1_p20131024.ebuild b/dev-vcs/git-deploy/git-deploy-6.0.1_p20131024.ebuild
new file mode 100644
index 000000000000..da2005af964f
--- /dev/null
+++ b/dev-vcs/git-deploy/git-deploy-6.0.1_p20131024.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit perl-app
+
+COMMIT="e9ef93debd12d85e70676dd79b4bd78ac2b05271"
+
+DESCRIPTION="make deployments so easy that you'll let new hires do them on their
+first day"
+HOMEPAGE="https://github.com/git-deploy/git-deploy"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+COMMON_DEPEND="dev-vcs/git
+ virtual/perl-File-Spec
+ virtual/perl-Getopt-Long
+ virtual/perl-Term-ANSIColor
+ virtual/perl-Time-HiRes
+ virtual/perl-Memoize
+ virtual/perl-Data-Dumper"
+DEPEND="dev-lang/perl
+ test? (
+ ${COMMON_DEPEND}
+ virtual/perl-File-Temp
+ )"
+RDEPEND="dev-lang/perl
+${COMMON_DEPEND}"
+
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+src_prepare() {
+ pod2man -n git-deploy README.pod > git-deploy.1 || die
+}
+
+src_test() {
+ local testdir=${TMPDIR}/git-deploy-test
+
+ # Prepare for tests
+ cp -a "${S}/" $testdir || die
+ cd $testdir || die
+
+ git config --global user.name "git-deploy" || die
+ git config --global user.email "git-deploy@localhost" || die
+
+ git init . || die
+ git add . || die
+ git commit -a -m 'git-deploy testing' || die
+
+ USER="git-deploy" perl t/run.t || die
+}
+
+src_install() {
+ dobin git-deploy
+
+ insinto $VENDOR_LIB
+ doins -r lib/Git
+
+ doman git-deploy.1
+
+ newdoc Changes ChangeLog
+}
diff --git a/dev-vcs/git-deploy/metadata.xml b/dev-vcs/git-deploy/metadata.xml
new file mode 100644
index 000000000000..115e717d1b5e
--- /dev/null
+++ b/dev-vcs/git-deploy/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">git-deploy/git-deploy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-deps/Manifest b/dev-vcs/git-deps/Manifest
new file mode 100644
index 000000000000..bb6bb5fa6f6b
--- /dev/null
+++ b/dev-vcs/git-deps/Manifest
@@ -0,0 +1,3 @@
+EBUILD git-deps-9999.ebuild 1028 SHA256 f1aa57a572b23baa147eacea52956931e02fff80f15f7bae5b05f6d0d04dab9f SHA512 2e8826945a6840739f83a266e388fd79ced5394a501d322113e80260711cc1b493d1a060d30b21ca9f967a1651cdd1fcb239a6a390e48488b62c69db6f7e655c WHIRLPOOL 442012e7d4cdff46d6a25b8b8570739a0d8621b7db7fd1984d9d3d83a402c00f54987e9b607f14fa98a5971d9cd50a9a312a1f4f168225b647a60470d6c24c76
+MISC ChangeLog 1547 SHA256 ede9f74b537c8f6deea66dc88b268358dcf021d2dfb0c31423ff2c281c72e0ba SHA512 7fed283c60d3c3b991d2fefb0c2464011c626adbad4c8b3478877a22f990e27a50379b1de1018fad4a0a2686b9f3227380f01ce83d76ec33000f8e7aea7313a7 WHIRLPOOL 4ca037623310a22e694c38a17aa74f955099d9b85a632d22075d0451a0ae10c600dad09a4a29837c00028bbadb8969eb9d030748f295733bf83a8a0d17d66e9b
+MISC metadata.xml 490 SHA256 309bd550e724f187f91a7eae37a24315f6c524da0b625945d69b7746f677c2bb SHA512 005daa7d1c3abffad1bda794339947dabfdb097a2abe85a1ea5b85fd962332d788d2903301f2b3442a3f35f5b97eb25d3ddd1add00460108ffc857f57c3fa926 WHIRLPOOL 46a4363215789d19a7bce79b9b1aab5ce9a3f78cf5dfb33bd562f338b5dfeb79503ab9b5c3b29703ab064be27e94b6960b3cf47a8b0a9670b08f72ad6e73b1f0
diff --git a/dev-vcs/git-deps/git-deps-9999.ebuild b/dev-vcs/git-deps/git-deps-9999.ebuild
new file mode 100644
index 000000000000..f66f91356572
--- /dev/null
+++ b/dev-vcs/git-deps/git-deps-9999.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGIT_REPO_URI="https://github.com/aspiers/git-deps"
+EGIT_BRANCH=master
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils git-r3 python-single-r1
+
+DESCRIPTION="git commit dependency analysis tool"
+HOMEPAGE="https://github.com/aspiers/git-deps"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+RDEPEND="
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/pygit2[${PYTHON_USEDEP}]
+ net-libs/nodejs
+ ${PYTHON_DEPS}
+ "
+DEPEND="${RDEPEND}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+HTML_DOCS="html/."
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_install() {
+ python_newscript git-deps.py git-deps
+ einstalldocs
+}
+
+pkg_postinst() {
+ elog "Notes regarding the '--serve' option:"
+ elog "Please run 'npm install browserify' once"
+ elog "Copy the html sources:"
+ elog "rsync -av ${EROOT}/usr/share/${PN}/html ~/git-deps-html"
+ elog "cd ~/git-deps-html"
+ elog "npm install"
+ elog "browserify -t coffeeify -d js/git-deps-graph.coffee -o js/bundle.js"
+}
diff --git a/dev-vcs/git-deps/metadata.xml b/dev-vcs/git-deps/metadata.xml
new file mode 100644
index 000000000000..1a9f54bc290b
--- /dev/null
+++ b/dev-vcs/git-deps/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nicolasbock@gentoo.org</email>
+ <name>Nicolas Bock</name>
+ </maintainer>
+ <longdescription lang="en">
+ git-deps is a tool for performing automatic analysis of dependencies
+ between commits in a git repository.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">aspiers/git-deps</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-flow/Manifest b/dev-vcs/git-flow/Manifest
new file mode 100644
index 000000000000..745f28821f5c
--- /dev/null
+++ b/dev-vcs/git-flow/Manifest
@@ -0,0 +1,9 @@
+DIST git-flow-1.10.2.tar.gz 63275 SHA256 09b9de0790276cbff2906c31193bdac859235a0cdfb56cedd13b4a1a4ee75065 SHA512 139e56eb872a3db271a0e7c65c8d55d2720c06646c2569f14d8e7485d3888918fa8390a95a9df48b4677c1a225367b5aeadf4e7705b9475c38f9e931ea45fe03 WHIRLPOOL 1cb551e9f3f71a5e7b205b57d4c216f3b9bc7afe622de6b6944183baeffdf3fdb59d6e0dd06afe5e06dc3c3c0d0bebf5aa08ce8a5151e1413b01ceec671a2552
+DIST git-flow-1.11.0.tar.gz 64077 SHA256 06ad2110088e46e3712f799a43bf6cc5c3720fc25c69dbb3bbf4cf486cf2f330 SHA512 3659f876febbec10457ba7ba1ecbaeb7f29b11cc8caf94042f54b8f8e2265d2bb31cbcdf7dfafae9c5d04e0ca57adddfa67f9e67df4a5dcf0bc412f1216a3c07 WHIRLPOOL dc9eae1513901596b1f657ac0af58bd7fed0f3d7aa426654214c87676a636d19555841b95754d633605b0cdeaa43cfac13431e522760cd159675de6a8b7489ed
+DIST git-flow-completion-0.5.2.tar.gz 7501 SHA256 7d11d82b9a3c25f7c7189ac61d21a4edb2432435d6138f092f49348bb17917df SHA512 500cb6163ebb2bf9b996dd5bcac00efa857badfc95ee1d633f2b16803c6baae7315a96c713107645e0971be4736fe1eef747dc773eb50da138551be4838c21b3 WHIRLPOOL 90eaf0d6adcc87369455129052cbcad9c153fe91892a0607fd311bb370a1004b9f85664d0fb06907369bc6bbe6a224a95981fa5d5518610fab2cade0d33c7957
+DIST git-flow-completion-0.6.0.tar.gz 7823 SHA256 b1b78b785aa2c06f81cc29fcf03a7dfc451ad482de67ca0d89cdb0f941f5594b SHA512 1082ad47938ec78045f4cbd12340a82960ba3de204c21a95e1166cb0b86e96dbbc3e5fc8af1945c951d5edd43b4026021761e8377795acbb87af3c1e391cb256 WHIRLPOOL ac5189b75e6ca5a5136d1d6f3ee5e866696c87d810406b79b2e3d444cc7c4d8e9222c9057e7bea024b0e754ba419edb908173cf3d1af6c940af792d7eb0d06b9
+EBUILD git-flow-1.10.2.ebuild 879 SHA256 48e1ee4b66b63603b4d0d7b6fe2ddec1fbb3b9d50780e1ffa86eac8623866073 SHA512 f7239aae91102953f8291d8477b0b59b3008b8f19acbbce66cc7497c85f631801303a5eed4cd304e55255297b4f00f1f3f095bfe0cfaf8ed3167d30054641e89 WHIRLPOOL ffa31ded47e983b9be6ebb4d6e9211f65bb695da5af6d8d10c058b5a4a82be27a3dd062d300b57026a4498276cc25aca74f3a5858d7c5bf7d4d6e6961edba497
+EBUILD git-flow-1.11.0.ebuild 877 SHA256 ac4e2aad7538e5cc073946136fcccf3cc4ffde971f672c17eb14d9ffe17b5cb7 SHA512 ab83706185d84b3c39ed21cccbd53c183d3a556e5b52bdf163b09066a80fda4c37f6ed9964c572ff570506d29f997892008c67c869a7bc73160249859a64a74b WHIRLPOOL d022c82cb0170b0c173aeb1282e76d563e7bdab984151856b751e7b5af659f7d5229db8b4df04fb9bd1a8ec45d1474adf0a9df4b119f18fcec8c89695d54cef0
+MISC ChangeLog 4777 SHA256 d5b67516bd06522c6c3c72404c9917c5f98061b9dea945e6298495367121c6ef SHA512 ee4642211f4206e36e8c5c26b76b5f342d0db0d3353a9a126bf925cfc24f5f6c153359dab62af5ddb119bf9e3e5b09781d44efe1722878c8511990c450c98d04 WHIRLPOOL d6a33ea8f5631339221427df56aec676a9707c6137c996819baf2c4828b22768fed99f13405dfc7395644133001fe149b979b0001236e4177ecdd93e8e572f11
+MISC ChangeLog-2015 971 SHA256 0d605d0b81d99c34f5c82b2f690dd1bc22b2a048a6eac65482d2c21983478e52 SHA512 424e6c656cf8bc0445bd2f7eae88097d381b2fdb66f9c3598f252d4356df9c5c743a2f7f9f296c92dbcf7fb36298061d46da77fd2c30d1444347e579da706ac8 WHIRLPOOL b1abc79ceca28c532a8e61178981264c6197a3b2d0279ff8c0bea23329daddc55c2c8d8dc48eba732e5ecbc4505039f1ec885d64afcffdbc11ef411fca100fe8
+MISC metadata.xml 479 SHA256 8c14d16a2ccbc30a84b2be049991c407ec59bf949fe78fec80786c381afa4e2c SHA512 12507dc676fc74a491390f9d15733c2a4ceb8f67d7a447aa2068e10f8f7f6020bb031d00a3c1192a01eb89e8d356fe8f200baa35d06c1182432b5aa12fedce9f WHIRLPOOL 31a96e9a659093da8d25148d05ef39dbdf831c8d9dbf72331707ce0577c6b9ea61effb265dfb7696c25090c31956f1ade03cd56ffd00b1aac2b3fdff5dc65ee7
diff --git a/dev-vcs/git-flow/git-flow-1.10.2.ebuild b/dev-vcs/git-flow/git-flow-1.10.2.ebuild
new file mode 100644
index 000000000000..278bdfc7594e
--- /dev/null
+++ b/dev-vcs/git-flow/git-flow-1.10.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PN="${PN/-/}-avh"
+COMP_PN="${PN}-completion"
+COMP_PV="0.5.2"
+COMP_P="${COMP_PN}-${COMP_PV}"
+inherit bash-completion-r1
+
+DESCRIPTION="Git extensions to provide high-level repository operations"
+HOMEPAGE="https://github.com/petervanderdoes/gitflow-avh"
+SRC_URI="https://github.com/petervanderdoes/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+https://github.com/petervanderdoes/${COMP_PN}/archive/${COMP_PV}.tar.gz -> ${COMP_P}.tar.gz"
+
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-vcs/git
+"
+
+DOCS=( AUTHORS Changes.mdown README.mdown )
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_compile() {
+ true
+}
+
+src_install() {
+ emake prefix="${D}/usr" install
+ einstalldocs
+ newbashcomp "${WORKDIR}/${COMP_P}/${COMP_PN}.bash" ${PN}
+}
diff --git a/dev-vcs/git-flow/git-flow-1.11.0.ebuild b/dev-vcs/git-flow/git-flow-1.11.0.ebuild
new file mode 100644
index 000000000000..a90de66ee5e3
--- /dev/null
+++ b/dev-vcs/git-flow/git-flow-1.11.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PN="${PN/-/}-avh"
+COMP_PN="${PN}-completion"
+COMP_PV="0.6.0"
+COMP_P="${COMP_PN}-${COMP_PV}"
+inherit bash-completion-r1
+
+DESCRIPTION="Git extensions to provide high-level repository operations"
+HOMEPAGE="https://github.com/petervanderdoes/gitflow-avh"
+SRC_URI="https://github.com/petervanderdoes/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+https://github.com/petervanderdoes/${COMP_PN}/archive/${COMP_PV}.tar.gz -> ${COMP_P}.tar.gz"
+
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-vcs/git
+"
+
+DOCS=( AUTHORS CHANGELOG.md README.md )
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_compile() {
+ true
+}
+
+src_install() {
+ emake prefix="${D}/usr" install
+ einstalldocs
+ newbashcomp "${WORKDIR}/${COMP_P}/${COMP_PN}.bash" ${PN}
+}
diff --git a/dev-vcs/git-flow/metadata.xml b/dev-vcs/git-flow/metadata.xml
new file mode 100644
index 000000000000..2b1cda651a62
--- /dev/null
+++ b/dev-vcs/git-flow/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>johu@gentoo.org</email>
+ <name>Johannes Huber</name>
+ </maintainer>
+ <longdescription>
+ Git extensions to provide high-level repository operations for Vincent
+ Driessen's branching model.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">petervanderdoes/gitflow-avh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-imerge/Manifest b/dev-vcs/git-imerge/Manifest
new file mode 100644
index 000000000000..58f04bcb3965
--- /dev/null
+++ b/dev-vcs/git-imerge/Manifest
@@ -0,0 +1,5 @@
+AUX git-imerge.bashcomplete 4714 SHA256 7eb6b4a301dd73eb8417e5037fd3153da72046fcdfad09aa3c03fd1b58493835 SHA512 a1399072ca9a775acc4ceebbb2c13c1608687df68f01b407e1b3ff8f9ce01e748025ac02d88bf210af609206ffd0f6e578495b3c2a66bdddf9793210714c1b42 WHIRLPOOL ad0f737f5a22f89848ce191e13d43654e00a0910a9bb46b226cf252cbeb8383910c67cea0ab9004c134cce7cc81857108f4cdd3be0d532070e58f4f7976f3c15
+DIST git-imerge-1.0.0.tar.gz 58736 SHA256 2ef3a49a6d54c4248ef2541efc3c860824fc8295a7226760f24f0bb2c5dd41f2 SHA512 919b80f157d635e3a3eb2b05cfaf8f6a7034fe6f43529c829fef0152007bce3bf5b296cc00f6db0c0a711bfb9e118c4adb0f5a2641ff841c973ff12610473e9b WHIRLPOOL a347f139d8aec6c616805632385e3466283a778f40a2a87d817c510258f34ada22669209547d282a7d510ad2d56047eb75e8becd138cd7b6dd3b322c5ac9896e
+EBUILD git-imerge-1.0.0.ebuild 1071 SHA256 dff30eb52b7316c58aa6a8125e052f0b56af05fe4a48e7570fef3ef1619c1db8 SHA512 58ad713ad457416256406264bbced5fca2264c43bd479f8ab2d9da0fe7ed0c3b42e3b6b8b62d8334f1a942f63d93a65a3714a03c5bbd576f1824863d005476e8 WHIRLPOOL ac4460fc0759d2629fc15cc74e27d7b4c4adcf9b78c1259242ac0c173de4989ba8e04abf6071b2e45fe7673653ce21f6c4e733faec02d7173f6618a99150b7ea
+MISC ChangeLog 1738 SHA256 2e25d450ac9a833e9041165592a04d9342094dded218dcbb035cab4318a1bb6f SHA512 06f23ddc0571f24c7c8dbd7dc51bc95cc7025c79755d7bcf7af3126ff5a0eef54fdcd9bb5f3641090c5064a3b763296063e5a0c7de4cba4991cb24350d56d394 WHIRLPOOL 4c6230f1a306d9b44e648d9eb9e3a45db7ee8d71dee5f85ee2d0bcec4869335f4481b147c3f32ddca04f1d25d90dda10fdaee13a475404e6b8b49f4fdf4e819c
+MISC metadata.xml 250 SHA256 592743c3a07b1f90003f711d643d45ff7457aa7b5da82a63e8240a2cfe73ce81 SHA512 c5b2424b4f6fdfbe8267055899a39cd14d992aaea9fc8dc6d007ee495e97a2d4125a9abad94c17a4c646521759fa998a3468dae0ac4d8b12c09926fc24e7403f WHIRLPOOL e7bd02f6dadb558bf1c04820c253df660f148ed2ea9efff2407c8cf94971a5af80e2df8faba74a52b43e0dc4987b815ef81845bcd0bc39ba97fbc169bcd29204
diff --git a/dev-vcs/git-imerge/files/git-imerge.bashcomplete b/dev-vcs/git-imerge/files/git-imerge.bashcomplete
new file mode 100644
index 000000000000..0fe8e04f64de
--- /dev/null
+++ b/dev-vcs/git-imerge/files/git-imerge.bashcomplete
@@ -0,0 +1,267 @@
+__git_imerge_branches () {
+ git for-each-ref --format='%(refname)' refs/heads/ refs/remotes/ 2>/dev/null |
+ sed -e 's!^refs/heads/!!' -e 's!^refs/remotes/!!'
+}
+
+__git_imerge_names () {
+ git for-each-ref --format='%(refname)' refs/imerge/ 2>/dev/null |
+ sed -e 's/^refs\/imerge\/\(.*\)\/.*/\1/' -e '/manual/d' -e '/auto/d'
+}
+
+__git_imerge_goals="\
+merge
+rebase
+rebase-with-history
+full
+"
+
+__git_imerge_commands="\
+start
+merge
+rebase
+continue
+finish
+diagram
+list
+init
+record
+autofill
+simplify
+remove
+reparent
+"
+
+__git_imerge_start_options="\
+--help
+--manual
+--name
+--branch
+--goal
+--first-parent
+"
+
+__git_imerge_init_options=$__git_imerge_start_options
+
+__git_imerge_continue_options="\
+--help
+--name
+--edit
+--no-edit
+"
+
+__git_imerge_finish_options="\
+--help
+--name
+--goal
+--branch
+--force
+"
+
+__git_imerge_simplify_options=$__git_imerge_finish_options
+
+__git_imerge_merge_options="\
+--help
+--name
+--goal
+--branch
+--manual
+"
+
+__git_imerge_list_options="\
+--help
+"
+
+__git_imerge_reparent_options=$__git_imerge_list_options
+
+__git_imerge_record_options="\
+--help
+--name
+--edit
+--no-edit
+"
+
+__git_imerge_autofill_options="\
+--help
+--name
+"
+
+__git_imerge_diagram_options="\
+--help
+--name
+--commits
+--frontier
+--html
+--color
+--no-color
+"
+
+__git_imerge_remove_options=$__git_imerge_autofill_options
+
+__git_imerge_rebase_options=$__git_imerge_merge_options
+
+__git-imerge_start_completion() {
+ case "$1_$cur" in
+ --help_|--branch_|_--branch=|--name_|_--name=)
+ return
+ ;;
+ --goal_*|*_--goal=*)
+ __gitcomp "$__git_imerge_goals" "" "${cur##--goal=}"
+ return
+ ;;
+ *-|*_-*?)
+ __gitcomp "$__git_imerge_start_options"
+ return
+ ;;
+ esac
+ __gitcomp "$(__git_imerge_branches)"
+}
+
+__git-imerge_init_completion() {
+ __git-imerge_start_completion $1
+}
+
+__git-imerge_continue_completion() {
+ case "$1_$cur" in
+ --help_)
+ return
+ ;;
+ --name_*|*_--name=*)
+ __gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
+ return
+ ;;
+ esac
+ __gitcomp "$__git_imerge_continue_options"
+}
+
+__git-imerge_finish_completion() {
+ case "$1_$cur" in
+ --help_)
+ return
+ ;;
+ --goal_*|*_--goal=*)
+ __gitcomp "$__git_imerge_goals" "" "${cur##--goal=}"
+ return
+ ;;
+ --branch_*|*_--branch=*)
+ __gitcomp "$(__git_imerge_branches)" "" "${cur##--branch=}"
+ return
+ ;;
+ --name_*|*_--name=*)
+ __gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
+ return
+ ;;
+ esac
+ __gitcomp "$__git_imerge_finish_options"
+}
+
+__git-imerge_simplify_completion() {
+ __git-imerge_finish_completion $1
+}
+
+__git-imerge_merge_completion() {
+ case "$1_$cur" in
+ --help_|--branch_|_--branch=|--name_|_--name=)
+ return
+ ;;
+ --goal_*|*_--goal=*)
+ __gitcomp "$__git_imerge_goals" "" "${cur##--goal=}"
+ return
+ ;;
+ *-|*_-*?)
+ __gitcomp "$__git_imerge_merge_options"
+ return
+ ;;
+ esac
+ __gitcomp "$(__git_imerge_branches)"
+}
+
+__git-imerge_rebase_completion() {
+ __git-imerge_merge_completion $1
+}
+
+__git-imerge_list_completion() {
+ case "$1" in
+ --help)
+ return
+ ;;
+ esac
+ __gitcomp "$__git_imerge_list_options"
+}
+
+__git-imerge_reparent_completion() {
+ __git-imerge_list_completion $1
+}
+
+__git-imerge_record_completion() {
+ case "$1_$cur" in
+ --help_)
+ return
+ ;;
+ --name_*|*_--name=*)
+ __gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
+ return
+ ;;
+ esac
+ __gitcomp "$__git_imerge_record_options"
+}
+
+__git-imerge_autofill_completion() {
+ case "$1_$cur" in
+ --help_)
+ return
+ ;;
+ --name_*|*_--name=*)
+ __gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
+ return
+ ;;
+ esac
+ __gitcomp "$__git_imerge_autofill_options"
+}
+
+__git-imerge_remove_completion() {
+ __git-imerge_autofill_completion $1
+}
+
+__git-imerge_diagram_completion() {
+ case "$1_$cur" in
+ --help_|--html_|_--html=)
+ return
+ ;;
+ --name_*|*_--name=*)
+ __gitcomp "$(__git_imerge_names)" "" "${cur##--name=}"
+ return
+ ;;
+ esac
+ __gitcomp "$__git_imerge_diagram_options"
+}
+
+_git_imerge () {
+ # Disable default filename completion. Note that "compopt" is only
+ # available in Bash 4 and newer, so we check for existence before
+ # trying to use it.
+ type compopt >/dev/null 2>&1 && compopt +o default +o bashdefault
+
+ local i command cur_opt
+ for ((i=0; i <= ${cword}; i++)); do
+ if [ -n "$command" ] && [ "${words[i]}" != "$cur" ]; then
+ cur_opt="${words[i]}"
+ fi
+ if [ -z "$command" ] && \
+ [ "$i" -lt "${cword}" ] && \
+ [[ "${words[i-1]}" == *"imerge"* ]]
+ then
+ command="${words[i]}"
+ fi
+ done
+
+ if test -z "$command"; then
+ __gitcomp "$__git_imerge_commands"
+ return
+ fi
+
+ if [ -z `type -t __git-imerge_"$command"_completion "$cur_opt"` ]; then
+ return
+ fi
+
+ __git-imerge_"$command"_completion "$cur_opt"
+}
diff --git a/dev-vcs/git-imerge/git-imerge-1.0.0.ebuild b/dev-vcs/git-imerge/git-imerge-1.0.0.ebuild
new file mode 100644
index 000000000000..249da409f76c
--- /dev/null
+++ b/dev-vcs/git-imerge/git-imerge-1.0.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit bash-completion-r1 python-r1
+
+DESCRIPTION="Incremental merge for git"
+HOMEPAGE="https://github.com/mhagger/git-imerge"
+SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ dev-vcs/git"
+DEPEND="dev-python/docutils"
+
+src_compile() {
+ for doc in *.rst; do
+ rst2html.py "${doc}" > "${T}/${doc/.rst/.html}" \
+ || die "failed to convert ${doc} to ${T}/${doc/.rst/.html}"
+ done
+
+ rst2s5.py \
+ --theme=small-white \
+ --current-slide \
+ doc/presentations/GitMerge-2013/talk.rst \
+ "${T}/talk.html" \
+ || die 'failed to convert talk.rst to ${T}/talk.html'
+}
+
+src_install() {
+ python_foreach_impl python_doscript "${PN}"
+ newbashcomp "${FILESDIR}/git-imerge.bashcomplete" git-imerge
+ dodoc *.rst "${T}"/*.html
+
+ # Don't forget the CSS for the presentation.
+ dodoc -r "${T}/ui"
+}
diff --git a/dev-vcs/git-imerge/metadata.xml b/dev-vcs/git-imerge/metadata.xml
new file mode 100644
index 000000000000..33aa1137112c
--- /dev/null
+++ b/dev-vcs/git-imerge/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">mhagger/git-imerge</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-lfs/Manifest b/dev-vcs/git-lfs/Manifest
new file mode 100644
index 000000000000..140235926e6f
--- /dev/null
+++ b/dev-vcs/git-lfs/Manifest
@@ -0,0 +1,10 @@
+DIST git-lfs-1.5.6.tar.gz 604139 SHA256 4efbc806cde1ea6ab4e1d61db3e1f6939796fd53bf6e9c94ac564610147ea5cd SHA512 f5f2da9ac44647335b25cad3104027cf5476e25ef9763019744123f9e1ef81edadbf5b08a146b8070487b32a18aa202c799f910aee6f2f0144ca411ad6d7cfd2 WHIRLPOOL 2f785abffc917a322fe59f4354980d5f565572620569b9b53e85ecdf84b5d7ad407ced8853c897814daa816cac6efd1f85c9098cae9fe48b179cd3381c5f840d
+DIST git-lfs-2.1.1.tar.gz 649611 SHA256 655c1e9bf931afb958c2b81de5c1c38b3ebd6831a04ca5fdcf58cba05e2948d8 SHA512 9061cb9fdf93a0c119d5762ceebdbc0573491dedb1815512e7eae9da54574087c1e499ea97ba0a87d7356499314beb53d60d1800b5c85983ef835dae37e7dd84 WHIRLPOOL 0cfbb0912314ca1afbb426b73521c136d35d2da37ee71cc5a952b17ed0bc92b7706483923f2a701f0bfef1407c34b3f4f5f85f97a655efb7f4d3caf615a0c380
+DIST git-lfs-2.2.1.tar.gz 708806 SHA256 fede2b31b0539fd4a580f831867caac1b5d5dc4405e938c4ee0bfeacfb78ad7a SHA512 8e1edd588916e6a09c0fe84bdcd80b8773f3874554f941c65819bbb29cdce4846de6408dbb34b33e420d9bc768f6cd07c2dbb0979d243c98f25a32d4fc69dea4 WHIRLPOOL d4cd909f3b8ce8acf4e3f1e05423b53cce192fb5f88ba93a66ed083439503a176cad6fe180b4bd76d5d999fdadb7493255693f7ec3a80950365e5cd1df5d9541
+DIST git-lfs-2.3.1.tar.gz 746077 SHA256 bb30538dffc48a224e167ac520d3de677b835964b38afa94667e0559c7556844 SHA512 677d963162fdaa8e1de3ecd7f3b86818ee075dc8a293752f89ce67439eebbb32a2d590b19f29547676bf2eb5090b284d5d90c029fe580a6bfbeddb47153936e9 WHIRLPOOL 87af85eeab456d9b658920a015a8fbc9bea0db66312fed65d3b0d4e57e8f22942aca41d08e3338e99040327aacb7d0b30f3d5151d62bed8ba2c7d17f44ca71bd
+EBUILD git-lfs-1.5.6.ebuild 968 SHA256 80ebfadeb33268a2792a784d05a295fca53fc15904f924a89b1a231111452cb0 SHA512 030eab94da2e9522b2359261f9b0091c2440672a58ecfb2c67df5aa14cb1c853c6b056702a5594e3a18061e3f9bbfb27b27bb45a0a9d749c57bd943514a0ecf4 WHIRLPOOL 3490684acf36189d4d722bcb2155c8e249ca3c1d023a78ad091d4f4731b7cc21ce6a24582fd3a84270416a0dd4e857c70e408bec563a90133ff925e12d797d03
+EBUILD git-lfs-2.1.1.ebuild 1153 SHA256 c7b1f4ed9ec8c63dd0fe7c8cd6b038578f6977e151608f415fa8f49d68139638 SHA512 317104891a95804da6b28e29b0930aad843597d1d9996518a18e7c71290753ac86405364426693adefc2f103a7b393a97e7d79589dfa05e58a8ed5d6a32a61b1 WHIRLPOOL 2c617dd37ac649d63d3879ac6617b3bd5fa48a4830cf6230711fc94fdd4aad656a0ef1af4c0d2441832e75c5f7fe46dee012e132b677e654afcc88c0b4a6be9c
+EBUILD git-lfs-2.2.1.ebuild 1153 SHA256 c7b1f4ed9ec8c63dd0fe7c8cd6b038578f6977e151608f415fa8f49d68139638 SHA512 317104891a95804da6b28e29b0930aad843597d1d9996518a18e7c71290753ac86405364426693adefc2f103a7b393a97e7d79589dfa05e58a8ed5d6a32a61b1 WHIRLPOOL 2c617dd37ac649d63d3879ac6617b3bd5fa48a4830cf6230711fc94fdd4aad656a0ef1af4c0d2441832e75c5f7fe46dee012e132b677e654afcc88c0b4a6be9c
+EBUILD git-lfs-2.3.1.ebuild 1153 SHA256 c7b1f4ed9ec8c63dd0fe7c8cd6b038578f6977e151608f415fa8f49d68139638 SHA512 317104891a95804da6b28e29b0930aad843597d1d9996518a18e7c71290753ac86405364426693adefc2f103a7b393a97e7d79589dfa05e58a8ed5d6a32a61b1 WHIRLPOOL 2c617dd37ac649d63d3879ac6617b3bd5fa48a4830cf6230711fc94fdd4aad656a0ef1af4c0d2441832e75c5f7fe46dee012e132b677e654afcc88c0b4a6be9c
+EBUILD git-lfs-9999.ebuild 1153 SHA256 c7b1f4ed9ec8c63dd0fe7c8cd6b038578f6977e151608f415fa8f49d68139638 SHA512 317104891a95804da6b28e29b0930aad843597d1d9996518a18e7c71290753ac86405364426693adefc2f103a7b393a97e7d79589dfa05e58a8ed5d6a32a61b1 WHIRLPOOL 2c617dd37ac649d63d3879ac6617b3bd5fa48a4830cf6230711fc94fdd4aad656a0ef1af4c0d2441832e75c5f7fe46dee012e132b677e654afcc88c0b4a6be9c
+MISC metadata.xml 331 SHA256 a4fba9b22d61a990bcdd959d5b5ff6ffb6410c183cad6232df4ff962e82fcca8 SHA512 51f68466f5396fe0326aab5f3a5fa70761647d722d02339fd6072d21976dfd27fdafa1ee44680be98dd0c1b80b29801eb7ed1508aa850104bed564c5f1a38011 WHIRLPOOL c7759c7de77e69061da1881149f661aa577384e99767b2e30c9c4bf3990cb90bd8bbe203e4fa67c2dab45427757d27b54c39d7410181117a7116cad099aa455a
diff --git a/dev-vcs/git-lfs/git-lfs-1.5.6.ebuild b/dev-vcs/git-lfs/git-lfs-1.5.6.ebuild
new file mode 100644
index 000000000000..59acb2d839a7
--- /dev/null
+++ b/dev-vcs/git-lfs/git-lfs-1.5.6.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGO_PN="github.com/git-lfs/${PN}"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit golang-vcs
+else
+ SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ inherit golang-vcs-snapshot
+fi
+
+DESCRIPTION="command line extension and specification for managing large files with Git"
+HOMEPAGE="https://git-lfs.github.com/"
+
+LICENSE="MIT BSD BSD-2 BSD-4 Apache-2.0"
+SLOT="0"
+IUSE="+doc"
+
+DEPEND="doc? ( app-text/ronn )"
+RDEPEND="dev-vcs/git"
+
+S="${WORKDIR}/${P}/src/${EGO_PN}"
+
+src_compile() {
+ # can't use golang-build_src_compile for go generate
+ # and others steps executed by build.go
+ GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
+ go run script/*.go -cmd build || die "build failed"
+
+ if use doc; then
+ ronn docs/man/*.ronn || die "man building failed"
+ fi
+}
+
+src_install() {
+ dobin bin/git-lfs
+
+ use doc && doman docs/man/*.1
+}
diff --git a/dev-vcs/git-lfs/git-lfs-2.1.1.ebuild b/dev-vcs/git-lfs/git-lfs-2.1.1.ebuild
new file mode 100644
index 000000000000..7a32ca36cc92
--- /dev/null
+++ b/dev-vcs/git-lfs/git-lfs-2.1.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGO_PN="github.com/git-lfs/${PN}"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit golang-vcs
+else
+ SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ inherit golang-vcs-snapshot
+fi
+
+DESCRIPTION="command line extension and specification for managing large files with Git"
+HOMEPAGE="https://git-lfs.github.com/"
+
+LICENSE="MIT BSD BSD-2 BSD-4 Apache-2.0"
+SLOT="0"
+IUSE="+doc"
+
+# since version 2.0.2 git-lfs uses time.Until that was introduced in golang >=1.8
+# https://github.com/golang/go/commit/67ea710792eabdae1182e2bf4845f512136cccce
+DEPEND=">=dev-lang/go-1.8.1:=
+ doc? ( app-text/ronn )"
+
+RDEPEND="dev-vcs/git"
+
+S="${WORKDIR}/${P}/src/${EGO_PN}"
+
+src_compile() {
+ # can't use golang-build_src_compile for go generate
+ # and others steps executed by build.go
+ GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
+ go run script/*.go -cmd build || die "build failed"
+
+ if use doc; then
+ ronn docs/man/*.ronn || die "man building failed"
+ fi
+}
+
+src_install() {
+ dobin bin/git-lfs
+
+ use doc && doman docs/man/*.1
+}
diff --git a/dev-vcs/git-lfs/git-lfs-2.2.1.ebuild b/dev-vcs/git-lfs/git-lfs-2.2.1.ebuild
new file mode 100644
index 000000000000..7a32ca36cc92
--- /dev/null
+++ b/dev-vcs/git-lfs/git-lfs-2.2.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGO_PN="github.com/git-lfs/${PN}"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit golang-vcs
+else
+ SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ inherit golang-vcs-snapshot
+fi
+
+DESCRIPTION="command line extension and specification for managing large files with Git"
+HOMEPAGE="https://git-lfs.github.com/"
+
+LICENSE="MIT BSD BSD-2 BSD-4 Apache-2.0"
+SLOT="0"
+IUSE="+doc"
+
+# since version 2.0.2 git-lfs uses time.Until that was introduced in golang >=1.8
+# https://github.com/golang/go/commit/67ea710792eabdae1182e2bf4845f512136cccce
+DEPEND=">=dev-lang/go-1.8.1:=
+ doc? ( app-text/ronn )"
+
+RDEPEND="dev-vcs/git"
+
+S="${WORKDIR}/${P}/src/${EGO_PN}"
+
+src_compile() {
+ # can't use golang-build_src_compile for go generate
+ # and others steps executed by build.go
+ GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
+ go run script/*.go -cmd build || die "build failed"
+
+ if use doc; then
+ ronn docs/man/*.ronn || die "man building failed"
+ fi
+}
+
+src_install() {
+ dobin bin/git-lfs
+
+ use doc && doman docs/man/*.1
+}
diff --git a/dev-vcs/git-lfs/git-lfs-2.3.1.ebuild b/dev-vcs/git-lfs/git-lfs-2.3.1.ebuild
new file mode 100644
index 000000000000..7a32ca36cc92
--- /dev/null
+++ b/dev-vcs/git-lfs/git-lfs-2.3.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGO_PN="github.com/git-lfs/${PN}"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit golang-vcs
+else
+ SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ inherit golang-vcs-snapshot
+fi
+
+DESCRIPTION="command line extension and specification for managing large files with Git"
+HOMEPAGE="https://git-lfs.github.com/"
+
+LICENSE="MIT BSD BSD-2 BSD-4 Apache-2.0"
+SLOT="0"
+IUSE="+doc"
+
+# since version 2.0.2 git-lfs uses time.Until that was introduced in golang >=1.8
+# https://github.com/golang/go/commit/67ea710792eabdae1182e2bf4845f512136cccce
+DEPEND=">=dev-lang/go-1.8.1:=
+ doc? ( app-text/ronn )"
+
+RDEPEND="dev-vcs/git"
+
+S="${WORKDIR}/${P}/src/${EGO_PN}"
+
+src_compile() {
+ # can't use golang-build_src_compile for go generate
+ # and others steps executed by build.go
+ GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
+ go run script/*.go -cmd build || die "build failed"
+
+ if use doc; then
+ ronn docs/man/*.ronn || die "man building failed"
+ fi
+}
+
+src_install() {
+ dobin bin/git-lfs
+
+ use doc && doman docs/man/*.1
+}
diff --git a/dev-vcs/git-lfs/git-lfs-9999.ebuild b/dev-vcs/git-lfs/git-lfs-9999.ebuild
new file mode 100644
index 000000000000..7a32ca36cc92
--- /dev/null
+++ b/dev-vcs/git-lfs/git-lfs-9999.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGO_PN="github.com/git-lfs/${PN}"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit golang-vcs
+else
+ SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ inherit golang-vcs-snapshot
+fi
+
+DESCRIPTION="command line extension and specification for managing large files with Git"
+HOMEPAGE="https://git-lfs.github.com/"
+
+LICENSE="MIT BSD BSD-2 BSD-4 Apache-2.0"
+SLOT="0"
+IUSE="+doc"
+
+# since version 2.0.2 git-lfs uses time.Until that was introduced in golang >=1.8
+# https://github.com/golang/go/commit/67ea710792eabdae1182e2bf4845f512136cccce
+DEPEND=">=dev-lang/go-1.8.1:=
+ doc? ( app-text/ronn )"
+
+RDEPEND="dev-vcs/git"
+
+S="${WORKDIR}/${P}/src/${EGO_PN}"
+
+src_compile() {
+ # can't use golang-build_src_compile for go generate
+ # and others steps executed by build.go
+ GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
+ go run script/*.go -cmd build || die "build failed"
+
+ if use doc; then
+ ronn docs/man/*.ronn || die "man building failed"
+ fi
+}
+
+src_install() {
+ dobin bin/git-lfs
+
+ use doc && doman docs/man/*.1
+}
diff --git a/dev-vcs/git-lfs/metadata.xml b/dev-vcs/git-lfs/metadata.xml
new file mode 100644
index 000000000000..657593267204
--- /dev/null
+++ b/dev-vcs/git-lfs/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mudler@gentoo.org</email>
+ <name>Ettore Di Giacinto</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">git-lfs/git-lfs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-mailz/Manifest b/dev-vcs/git-mailz/Manifest
new file mode 100644
index 000000000000..0307c8132aab
--- /dev/null
+++ b/dev-vcs/git-mailz/Manifest
@@ -0,0 +1,7 @@
+DIST git-mailz-0.12.tar.gz 7957 SHA256 15608ae026a31f6fc0e89b386edeee5c7b1d2de210d796264eb735f17de3b20c SHA512 811f646e5d89fa3e870fbd59e79e350329097f5533b42e7830409f97bfc35248cf1965591df40300bd6ef5a44c71928504dc0b8aba1037126df3b5bd7a427b51 WHIRLPOOL d6e90451c49a4f81e9422e5e1e09b127f84ee3b905e5678025a410dc0ae2a7de6e96f40ae769be628dabdc23aa8a843ee289282133f3f943db7f7f89ec82e195
+DIST git-mailz-0.14.tar.gz 8204 SHA256 422cd5828d285d595e9ae8657d09b20298cb30561b288a5c8e343b89c8107f31 SHA512 fd6c518de135113482f2f3a4e9d89b41b1797c8219e1ed9f424a5c4ae575400e7ccd9f835b40be5d74a5eb4e1bc7d3dfedd2412a317baea7e20494169399b70c WHIRLPOOL 361c4fa0f6c0ae7e9a9aa3b7fa40904387bf9cee49e095660bd4258d62bfb061573a2272f3b097c2fc87ec2a2970b3dc060fd3d7ce4cafebb976bcf4b257daf1
+EBUILD git-mailz-0.12.ebuild 461 SHA256 89d31da1e3ad2ba6e3576c1dae4a1b959d74ff591a33f4df1c39dfa3b14ad2bf SHA512 6cefd784b8ae35ff75578f1fc43b48fcabfcfb72a34450220881a97e462678eafe78ffa8438e3a3a5da8cf46efe27da965ab298fdb82c9b27fc3d1412e475c6a WHIRLPOOL f688c3aec424b89beb9d39c6c3c96fc9f5d2bace7ad9e4a657d34ce88989290b10c8c1c625bb508babb6bd843b810bb78c534eaa36fa4d78636d13a23058098c
+EBUILD git-mailz-0.14.ebuild 461 SHA256 89d31da1e3ad2ba6e3576c1dae4a1b959d74ff591a33f4df1c39dfa3b14ad2bf SHA512 6cefd784b8ae35ff75578f1fc43b48fcabfcfb72a34450220881a97e462678eafe78ffa8438e3a3a5da8cf46efe27da965ab298fdb82c9b27fc3d1412e475c6a WHIRLPOOL f688c3aec424b89beb9d39c6c3c96fc9f5d2bace7ad9e4a657d34ce88989290b10c8c1c625bb508babb6bd843b810bb78c534eaa36fa4d78636d13a23058098c
+MISC ChangeLog 2354 SHA256 56887e2b8fd0996ca50c419b6a5ae89287777a5419e48d8f4b44c7966a1c4024 SHA512 a948d0f28a7dae6f6e83b60ef2b27ed2e3c19a0581e123760213e8f8e9854644abbdb4367a483413e6fb20521c9a5db540396412c25f6715e10f059f69fe9cfb WHIRLPOOL beedf780fb0082032fad179b3d83a7c41231de9d08f4cef7ae327150a73fe240532b68926bad13e09f56481685bf3d2cdb0130180b30737c3131c9718a64a1c2
+MISC ChangeLog-2015 514 SHA256 40ab6bb8c0ebe88d1ca06ce02210b83ad76d922bc2b3b3e72a823f68261cdf6f SHA512 04e7b1731c961b310cd7be019f643a54191f34ff9bb66c1bb517978d4a26771c47390c3e9cf045ff69493d92826b5851d96ee520c4fdf322cd62e2b28f75aaac WHIRLPOOL 248dd6456a855988a72a2d4cfd8971dab5e2755e654f6b96f0ddfc0f3eb89e25e2ccb268b1b4a386ce8ceb79d08e0e9dd386154ae8ec2e9d5e1f7046834c7c50
+MISC metadata.xml 229 SHA256 cf74b48414544ac368143fecedae4ab35710698ba164679312449e2dd1ab4a1e SHA512 18a8ec97aa22f33e08ffff064432cc7df075a4b9d3e7683709585f4419147ca5e9baceb8125311ba335b4341d6235fbf775bae3d9e9ce98b6b5d20943035e15f WHIRLPOOL da7602d7a746eaf35a903655fa41bbeaf8bd20042d8bcc4aa52a5186e0c0bebd5c3bf9eb92ac6bd10148e7f1f7580a80ebbdc78b283517b020f1e6c3f6fd72ca
diff --git a/dev-vcs/git-mailz/git-mailz-0.12.ebuild b/dev-vcs/git-mailz/git-mailz-0.12.ebuild
new file mode 100644
index 000000000000..37c7bb801c62
--- /dev/null
+++ b/dev-vcs/git-mailz/git-mailz-0.12.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Send a collection of patches as emails"
+HOMEPAGE="https://github.com/roman-neuhauser/git-mailz/"
+
+SRC_URI="http://codex.sigpipe.cz/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+
+KEYWORDS="~x86 ~amd64"
+
+DEPEND=""
+
+RDEPEND="
+ virtual/mta
+ dev-vcs/git
+ app-shells/zsh
+"
+
+src_install(){
+ emake PREFIX="${ED}/usr" install
+}
diff --git a/dev-vcs/git-mailz/git-mailz-0.14.ebuild b/dev-vcs/git-mailz/git-mailz-0.14.ebuild
new file mode 100644
index 000000000000..37c7bb801c62
--- /dev/null
+++ b/dev-vcs/git-mailz/git-mailz-0.14.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Send a collection of patches as emails"
+HOMEPAGE="https://github.com/roman-neuhauser/git-mailz/"
+
+SRC_URI="http://codex.sigpipe.cz/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+
+KEYWORDS="~x86 ~amd64"
+
+DEPEND=""
+
+RDEPEND="
+ virtual/mta
+ dev-vcs/git
+ app-shells/zsh
+"
+
+src_install(){
+ emake PREFIX="${ED}/usr" install
+}
diff --git a/dev-vcs/git-mailz/metadata.xml b/dev-vcs/git-mailz/metadata.xml
new file mode 100644
index 000000000000..94169fb21b01
--- /dev/null
+++ b/dev-vcs/git-mailz/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="github">roman-neuhauser/git-mailz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-mantle/Manifest b/dev-vcs/git-mantle/Manifest
new file mode 100644
index 000000000000..f028bd122dec
--- /dev/null
+++ b/dev-vcs/git-mantle/Manifest
@@ -0,0 +1,5 @@
+DIST git-mantle-0.6.tar.gz 9896 SHA256 c812a0bb2dbd3a3c14b118fda1e71d8aee803cfe3136bf020137e4ecba516c11 SHA512 2498ed29884a8ac48bfb413c39e5bc9f232d47736ea4c0045404bd5f7268c7009a770c5c58c5449f843d8962bea9f288248a61308c4a71eed1b39d0c4b3375c0 WHIRLPOOL 99aff52c7ff505131e6bbd0478f2fdec1a6994e45229a717f276a2ce0fc233b91312ef7daf68cbea6cafa7e626526a5ccfbe02abb678115ddb2e635c574c7719
+EBUILD git-mantle-0.6.ebuild 452 SHA256 b2fa229123411abe48eb357ae5a86c2b90e1f67c60cd77b65aa6f6ef50ef0dcd SHA512 ca5f380c58f352addb1e7015095620a9ab5a1fe4c18be06479e87109de410110ee93a0b1fd257aed54b8fdac09e4fd1df398841b1239eae88b1647d6ec85152a WHIRLPOOL be79253d01ae5f6ac00a2bd87f72d40c766b27bc7566d086f7e56ada7ce9fa0b9fcd6ffc70e7a0965ac3244045861288088acff9f7dbdc8d80870e7812993d53
+MISC ChangeLog 2301 SHA256 fe7e896b1d265d2bea18510c99969ab0fb26b4d50aa133b52525c864e33a818a SHA512 437001bc99fc5f3a4b042f3fe75090b70dff91b4d63083e96cdf2296d5e7fbfddde993dac4f9e42cebab36d8d24d15c9f104eb2f9d790b6a6ccdcdfdd5823eb8 WHIRLPOOL 1972d9fae05cde127452d2c4de4135698acb2ba4931e0ce8a7959709522820f67cafd2d93d8c59c8228b46a12bfe6d9e3cca8cf3e8f87b9dd6775eb61b94a316
+MISC ChangeLog-2015 408 SHA256 666622a55bdf0b37928b178c99821c7442220fea14dc0e48065948d281d4cbba SHA512 a1c5e7b0f8fc815c0d3daa58eef0a20bcfb1a38693218c80d02a476d6f926c0b9d6c99718358c74c213167db868f8d980cf822bc8a5afc2ceb4f67cc9de13823 WHIRLPOOL 57b38b9a44cab4ce0e5dbbb4cbde62526477ca21ed0304738b02aad520fc4eee693dcffbe75b1abf2451171c51dea6a1f600fc2050d3a8f72181303122b96d59
+MISC metadata.xml 230 SHA256 dbb1288921783b82716b38db3d9c5d49efd006c0af6b3ddc61b750fb87365c98 SHA512 528359334624e6afee072dd28a99cfe5d50268578201932c66ddf88fa929d4ba3f5a68a191b5e398e70b0225f352a0a358081fb2caae77082a4fb66ef8028cfe WHIRLPOOL 5d7d619238699050f3abcf73e0cc4ca9520bc70d42df71eebc043b80d3990fa1badb22228bfceacf1115f1153ea3d930583f45aa36019c4c680fe2c61b22e495
diff --git a/dev-vcs/git-mantle/git-mantle-0.6.ebuild b/dev-vcs/git-mantle/git-mantle-0.6.ebuild
new file mode 100644
index 000000000000..ac478023a9cc
--- /dev/null
+++ b/dev-vcs/git-mantle/git-mantle-0.6.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Generate an overview of changes on a branch"
+HOMEPAGE="https://github.com/roman-neuhauser/git-mantle"
+
+SRC_URI="http://codex.sigpipe.cz/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+
+KEYWORDS="~x86 ~amd64"
+
+DEPEND=""
+RDEPEND="
+ dev-vcs/git
+ app-shells/zsh
+"
+
+src_install(){
+ emake PREFIX="${ED}/usr" install
+}
diff --git a/dev-vcs/git-mantle/metadata.xml b/dev-vcs/git-mantle/metadata.xml
new file mode 100644
index 000000000000..78e1940123b5
--- /dev/null
+++ b/dev-vcs/git-mantle/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="github">roman-neuhauser/git-mantle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-merge-changelog/Manifest b/dev-vcs/git-merge-changelog/Manifest
new file mode 100644
index 000000000000..0e3f7c68d641
--- /dev/null
+++ b/dev-vcs/git-merge-changelog/Manifest
@@ -0,0 +1,7 @@
+DIST git-merge-changelog-20140223.tar.xz 298332 SHA256 75a584cee054cafcb1ab7b71dc3beee33b39ea30b50dace48f044ee788560482 SHA512 ea5fcb0a0839e37976e333dc773d0bca43a1fce4821af08c5baba8e5783e129f8b4de4efd4b1b3399a7c1d3796e4094916843ac2d360d81396d67f571e020638 WHIRLPOOL 41182891e268e0ade060cac261d230fda2534fa53aebb40ea2b44e62cef1d5bef69ba9d7a7f6839c4b24135b1012d29f43886b9729fdd801173c2a8c240b3809
+DIST git-merge-changelog-20170131.tar.xz 315000 SHA256 7d72cc6f66cae1b2ff9db36716af16a2ea34987d503ed12315cfceb61489ba71 SHA512 4d7a5d9edf7bf52fcdd0934e842297364fc0ae0972b309d7221059856e0c87abd437edc1451a61ee4a6924f77d95c1c743b3a6a31b3bc039e2278fc38039c786 WHIRLPOOL 58eaa2a965fa2f6c07321d0dbf1308644cbe96ad4fa69d3839fdea6fcdf1bf34003c8a16303be3c5ca944110bd3accb0d53349ce98596ba54197274a7e2678d5
+EBUILD git-merge-changelog-20140223.ebuild 701 SHA256 5717cc1bd29d1b26106f7b94192922380aa4a7125349d63c37a2041e123e785e SHA512 ed81173c742da63942656f0edfa6c7c46186010ff6b18ecdf7f88f06aad345733c3f50414724222bfe79a729bc61899b87040e6c0b7138acb56680ab85c2420d WHIRLPOOL cf749b587b765d324b85d541219ed57c98676f0c7bb9d2408e8712247f07de603caee1028877b772e6963deea07cbb9350efed8b331c0663ac266e53ed8ba9f0
+EBUILD git-merge-changelog-20170131.ebuild 740 SHA256 ab76a3cfa86710199ac84f5e8d03b16e48c025ec13ba436e02cdc5b9e47bbafb SHA512 90c0de7803eaccf2fc1a394d3232d967dbf9a179114d9fb4dfc1383b8f7e1b42230743982137cfd3ccf1c9387e5297e891307eefb82350fe35b855d11177e8ca WHIRLPOOL 8df2ffb8d2e74e4e4af1be8f749da94fdeaa86642d68c95c0fae884199f8fa18eae8d042fff5383c5550c39805dec8d165f136653a9bc3d5fbe974adfad789bc
+MISC ChangeLog 2648 SHA256 bd6610c3f4cebfc8a640ae933bf12d369b349805cbdbbed0c2cd60c0d24bceca SHA512 ded4d935fe33269d10ed8b4d63efdddf464dae5fb8d055c1b201fb4e136eb097d584bf7946bf10018ac4adf7edbc4bc36e2b3973c1a43917836dc7eab8be5cb0 WHIRLPOOL e7c4912f1ebdbda3dab11b22a0f4db24c13b5012c340ca0dfa21664d862bb07b222365eb2c18bd954306d8a67b4e5ba12620f72f429843e5f53f85d0c2b4624a
+MISC ChangeLog-2015 699 SHA256 abfc9bd91423fb2ab63b5a66695b97d7145e427cd79a7310b0bec2975982d873 SHA512 6c3bf3699f98280768104baeec4aafacceafd0f64f97fe73b9f238d99444989db59604a42ba9eb5958420523d625702684b77700ac1504a97db87fb4852d8e12 WHIRLPOOL 3a173532297ea7bf9d10c243b0523b6fd2c7807ebff8db48db97193f47badf3b69ad809c14970b4e045aaebccc96aca102a5da81ee1e3683ba016a69829fdae9
+MISC metadata.xml 212 SHA256 de74121c61a32da4efe984edecb71e0d5d947d179dd8228f60eb7c8bd94d6b8c SHA512 3919b8b096abf61c7edaa6a76898603b6ca2e206e2eccd27c671957a9d085bc2591a2fb4839a85ef2a51dcbf887bb2c752d4b38e82ea19c48dfd6d99b67954fa WHIRLPOOL f203947dfb1f7a9ab97fd689bd02229e4e48ad74e0f246d810d85d6f49f9802e4be4e7cf75d214a0428fd80dec6d953f5186c7856c266882eab60e712a732da2
diff --git a/dev-vcs/git-merge-changelog/git-merge-changelog-20140223.ebuild b/dev-vcs/git-merge-changelog/git-merge-changelog-20140223.ebuild
new file mode 100644
index 000000000000..8567ded85f7b
--- /dev/null
+++ b/dev-vcs/git-merge-changelog/git-merge-changelog-20140223.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# snapshot extracted from git://git.savannah.gnu.org/gnulib.git using
+# ./gnulib-tool --create-testdir --without-tests --dir=${PN} ${PN};
+# cd ${PN}; ./configure; make maintainer-clean
+
+EAPI=5
+
+DESCRIPTION="Git merge driver for GNU style ChangeLog files"
+HOMEPAGE="https://www.gnu.org/software/gnulib/"
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ sed -n "/README/{h;:x;n;/^#/!{H;bx};g;s/\n*$//;s:/usr/local:${EPREFIX}/usr:g;p;q}" \
+ gllib/git-merge-changelog.c >README || die
+}
diff --git a/dev-vcs/git-merge-changelog/git-merge-changelog-20170131.ebuild b/dev-vcs/git-merge-changelog/git-merge-changelog-20170131.ebuild
new file mode 100644
index 000000000000..1a583c9fb379
--- /dev/null
+++ b/dev-vcs/git-merge-changelog/git-merge-changelog-20170131.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# snapshot extracted from git://git.savannah.gnu.org/gnulib.git using
+# ./gnulib-tool --create-testdir --without-tests --dir=${PN} ${PN};
+# cd ${PN}; ./configure; make maintainer-clean
+
+EAPI=6
+
+DESCRIPTION="Git merge driver for GNU style ChangeLog files"
+HOMEPAGE="https://www.gnu.org/software/gnulib/"
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/${PN}"
+
+src_install() {
+ emake DESTDIR="${D}" install
+ sed -n "/README/{h;:x;n;/^#/!{H;bx;};g;s/\n*$//;\
+ s:/usr/local:${EPREFIX}/usr:g;p;q;}" gllib/git-merge-changelog.c \
+ | newdoc - README; assert
+}
diff --git a/dev-vcs/git-merge-changelog/metadata.xml b/dev-vcs/git-merge-changelog/metadata.xml
new file mode 100644
index 000000000000..c665e48637be
--- /dev/null
+++ b/dev-vcs/git-merge-changelog/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>ulm@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/git-num/Manifest b/dev-vcs/git-num/Manifest
new file mode 100644
index 000000000000..61b4976a1c55
--- /dev/null
+++ b/dev-vcs/git-num/Manifest
@@ -0,0 +1,4 @@
+DIST git-num-2.0.1.tar.gz 53833 SHA256 e8f0f80ad54b88e3653696e1ff8228f604f0a22c903d8b285afcbdbdac8494e4 SHA512 f35599a74b91efb3ccb6e8509ca1c7eb7c2f67cb90b131efc6693f8f36ea97adcb01026ad307746bdf0613200646da289aa315095cbae2580c4443b03e9dd040 WHIRLPOOL a2a7fdcea11e63136d97a7cf4da869988b51bb186c1912be1d6c8535c81cf847056d8ad8969b898f78f27d04053fff5b2d6b08bb3850ac6e1b2a6edfffd88d75
+EBUILD git-num-2.0.1.ebuild 944 SHA256 ade7e889c0e6619c86bbab2cf3138b87383f1c91d8ddabd9be677f2d75b0b70f SHA512 4018ecad97900ef50864576bef709e53ce8253a859a2203e84f080665a2a307677c2a6b65e600b9fc3cf94428505609d84fa38f2224aa9e9d44797dad4caa6b4 WHIRLPOOL 2a70b137a5f8d4a1b4e75d04ae28058b65493f09556e23d2dfb3b1d3cd8e283b594d4fa1b1f2006460335492dfc65baac1ccb578edf1968747c3bbfbedf46949
+MISC ChangeLog 477 SHA256 96bd4abf537c65d22ede942a3610b0190978457e15e6608052800a8668c8988b SHA512 f77953ced3a5aa4274f310bd66ca6de599b13234584474f5ddcce2865ed2cad10880da3b6b89a2058f13584175e6e72cf6c822475beb7121cdc3189f63cb3fd6 WHIRLPOOL c0fc92adf719f05a6d4e441ff321478c6904b1ed03c037c8613d5d1f433120545cfdf3fbff3f9baad02e13c11003834bca3ce8ed6e2684cbbf5c263ca4c188e4
+MISC metadata.xml 250 SHA256 aea0a58aacb015e36f726692cd1fe2153e03dcc8a7ab92b8d1487c2864b4ef7b SHA512 1ac35f3998bc50445dbaf10ca62a8831d129f514433d51ffe3a92da1f10ab35013eb9960869a79804216e9818c23bb70e8a9b25d131dc23a5eb4bb958792d5d0 WHIRLPOOL 76afb5771d01849a932219b214a31db6ea581c1dfb1148ab791e62c4decba682e1dc42971000b260f44b2b6231f8ebeac2c7db73bf925b434d40f387ff7b20c3
diff --git a/dev-vcs/git-num/git-num-2.0.1.ebuild b/dev-vcs/git-num/git-num-2.0.1.ebuild
new file mode 100644
index 000000000000..d3551f87af70
--- /dev/null
+++ b/dev-vcs/git-num/git-num-2.0.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby22 ruby23 ruby24"
+
+RUBY_FAKEGEM_RECIPE_DOC="rdoc"
+RUBY_FAKEGEM_EXTRADOC="README.md CHANGELOG.md"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Quickly reference files in Git using numbers"
+HOMEPAGE="https://github.com/schreifels/git-num"
+SRC_URI="https://github.com/schreifels/git-num/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND+=" test? ( dev-vcs/git )"
+RDEPEND+=" dev-vcs/git"
+
+all_ruby_prepare() {
+ # cp git-num since specs depend on the default location
+ mkdir bin || die
+ cp git-num bin || die
+
+ sed -i -e '14i`git config user.email "test-git-num@gentoo.org"`' \
+ -e '15i`git config user.name "git-num tester"`' spec/lib/git_tools.rb || die
+}
+
+each_ruby_test() {
+ RSPEC_VERSION=3 ruby-ng_rspec spec/unit.rb spec/integration.rb
+}
diff --git a/dev-vcs/git-num/metadata.xml b/dev-vcs/git-num/metadata.xml
new file mode 100644
index 000000000000..27c27617bd7c
--- /dev/null
+++ b/dev-vcs/git-num/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">schreifels/git-num</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-pimp/Manifest b/dev-vcs/git-pimp/Manifest
new file mode 100644
index 000000000000..302c3c7b192d
--- /dev/null
+++ b/dev-vcs/git-pimp/Manifest
@@ -0,0 +1,5 @@
+DIST git-pimp-0.8.tar.gz 10555 SHA256 fa3778fc3c67906814a31421d5bb7c2889dca6ebaaaaf669ab9e56e744391c08 SHA512 124b61001c088685d5d9d6f848d37ca170413fda08074a273a4c1bccd233fe606028d8de82c66ae7847f42008b82a6030fa47a493ddc47b65d02b69a1acbd7df WHIRLPOOL a880d9e73ef950ec3c76ed25efbf566b5ce2468bded1ae59d3709dc9b2efeef266d7285e9cb0fd0d4db02c8a62fa4d62d3184b740e325e20eeab67f1151c5526
+EBUILD git-pimp-0.8.ebuild 498 SHA256 351d3d04317830771e3ebdfb92ad1acbdb5ea583c21ce68df47ef098d478c15a SHA512 a9d326900c531aa2b3fda03a879c465389a76bf26cd76eb12d69501d2c12e3645b76b609bc54ec472b8969e81cf61e6eb2faf0af1cd43e5a23b5a5065ee1143c WHIRLPOOL e3c92dcb52a0cada6ccdcdf33a05ac237ea6404da74238a25b4e5dd26b2660c7d6f2462d6ff4cf1cedf3b4ea7303da9c0a44aac72bbcf3e11f561d952d5db5d3
+MISC ChangeLog 2295 SHA256 9ccf0343f1cf33bc827a153a8ec3b9cc3bef9a11114fa3e099fdb7e886385621 SHA512 24887911378501dc7607dbc0b990a526107e0cda95dc2d127a3454507ea683c5fe19d225dfd41443e7d637be25ac141eee44c3a37df346be345abfaafaca2ddd WHIRLPOOL 89183af342c27f98c51946d23f0674183a05ac84a60c6ea904991357f207d5e90e85bc8dbd45a97c0e084306ae6f4b6091d3f6a06930ac6278cdff9ebd3017de
+MISC ChangeLog-2015 837 SHA256 093557773c45cbb7ed7c4a1fe2abbcd6ca7a0a8c19d8eb27b11b5eb3121c0db2 SHA512 d1779dc9363eb64b6c31fc5e9972b25de7e3b3ea3757da712cefe5855f61ed41a051f6e93e8b5a3dc8595a7b72a58c03146ca92b0118687a3df92726a05d64e4 WHIRLPOOL a4187639cb00f86531170f45f56633df4f43c6fba59e80c588450d65f588fcf4d3106e581dacb3ebf9ee54b2a5c047526785aaa3a0a9049ea0cad9a0fd13971c
+MISC metadata.xml 229 SHA256 cf74b48414544ac368143fecedae4ab35710698ba164679312449e2dd1ab4a1e SHA512 18a8ec97aa22f33e08ffff064432cc7df075a4b9d3e7683709585f4419147ca5e9baceb8125311ba335b4341d6235fbf775bae3d9e9ce98b6b5d20943035e15f WHIRLPOOL da7602d7a746eaf35a903655fa41bbeaf8bd20042d8bcc4aa52a5186e0c0bebd5c3bf9eb92ac6bd10148e7f1f7580a80ebbdc78b283517b020f1e6c3f6fd72ca
diff --git a/dev-vcs/git-pimp/git-pimp-0.8.ebuild b/dev-vcs/git-pimp/git-pimp-0.8.ebuild
new file mode 100644
index 000000000000..26c6c470830e
--- /dev/null
+++ b/dev-vcs/git-pimp/git-pimp-0.8.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils
+
+DESCRIPTION="Code review or pull requests as patch email series"
+HOMEPAGE="https://github.com/roman-neuhauser/git-mailz/"
+
+SRC_URI="http://codex.sigpipe.cz/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+
+KEYWORDS="~x86 ~amd64"
+
+DEPEND=""
+
+RDEPEND="
+ dev-vcs/git
+ app-shells/zsh
+ dev-vcs/git-mailz
+ dev-vcs/git-mantle
+"
+
+src_install(){
+ emake PREFIX="${ED}/usr" install
+}
diff --git a/dev-vcs/git-pimp/metadata.xml b/dev-vcs/git-pimp/metadata.xml
new file mode 100644
index 000000000000..94169fb21b01
--- /dev/null
+++ b/dev-vcs/git-pimp/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="github">roman-neuhauser/git-mailz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-remote-hg/Manifest b/dev-vcs/git-remote-hg/Manifest
new file mode 100644
index 000000000000..85687b28359b
--- /dev/null
+++ b/dev-vcs/git-remote-hg/Manifest
@@ -0,0 +1,6 @@
+DIST git-remote-hg-0.2.tar.gz 30397 SHA256 1b122cb925e7ce90ddba6840624d8a26d309b1671bddfe1408e945176c8b9242 SHA512 eb08a90b786593602510fef6210bb381a605d6c4cfda7e0c1051162d0a9929c077081f530dcdfb95f6fd8f0114ed44ea2c8f267e0e7ac110f9445941c9dd8546 WHIRLPOOL 88f1d06771b3e662d82819af2955997e6215c5c740a70363c7fc001aeb9c823ec17d8d4cf8b87b98ad3ff30f07c4844be3a660fb8335f91a01c355d63b1a2828
+DIST git-remote-hg-0.3.tar.gz 30995 SHA256 2dc889b641d72f5a73c4c7d5df3b8ea788e75a7ce80f5884a7a8d2e099287dce SHA512 33ff1874909c0ce4d8b44d1dfd6ae706df44b36ead566e09be0f4e94e3b2a5c8603bd2f2fd50e8faa99d6aeb44a7792d7118c4413f8c9a8b8c29108b534bb4f4 WHIRLPOOL 6a7a3e3e3a3a39bb131c07e95899b05c3841e7b4f385d9635d8773823f74ecae9d9301360aa9b0c1aa7f0aa147e0acc5eff38933c459a5aef0cba04fc843da78
+EBUILD git-remote-hg-0.2.ebuild 533 SHA256 32a46eb43e56817f3cc0bfdd3939a79ddbd0f36dca670d15836de0778feedc83 SHA512 e0ae87af402526dac263d36c5b13faa7fbac95fe7b2d897502086f010ff2c14c146800de0d51392ac60ebe2dc4a3ba74033ce166b062bd9ba2d6b46dd4d34b9c WHIRLPOOL 1903cbb29a05c57c2bdc167a6a6451de5d10d222fe6d8d919852c76d4d8ee27dfe76a6752c8dfaacaedf5fa349cef70bc4927ef6a8c80b66bf595d32ff84b49d
+EBUILD git-remote-hg-0.3.ebuild 576 SHA256 d9ad77efe6209ba9dc4fe9fe84f54bf8d97319dd7c9bc0294da08c159b3c9100 SHA512 369c2d2be9efb854b1564b0268b8959563a32cd372150e0c6b430e1db5bf3124a0fa84e8dd97153bdf3e9d12fc977f1ca88f9b91c4b1e8a79a9f69a0ec8555d2 WHIRLPOOL 1ecad75954a90c71579aab6f7a5b5353fb5e33b1d2af639987fb4ab7dd112249c2acd3bca0c30dae045bf86f5395dbfc7c051671a2de0760e298552e7c76d64d
+MISC ChangeLog 864 SHA256 a84d886110fc1d08efc52892b7a48e65cd81ff8f42525de1fdae9228c206a615 SHA512 1c5299a5e4d656dfe188b56bf775c4fb89b71b2cb8b0e4825eafc8e477a72fa6c844f4e4f62a6b08583cd4411559c58170a04e3e1b015aef8c614dc4033a64f0 WHIRLPOOL 9084f80b18e0ec1fae082735ec044e95bab867c20bad35ba26a01925f898d8d0d690a16009ca6cce605e79aaf9d66ce9add97f71a72694897c59beebc1a4d092
+MISC metadata.xml 579 SHA256 2af6a93347255a383c1b4ef8b29cf7bb39e704593aa57da394e0e09944b97ba7 SHA512 ffe68287a4bdede2b2fa714754267aea2ab5ce47510158d0df89a49f15a38e6ecd2ed8c678bb387435952f74356f1b90ed0d2a38bde8fb9ce2fc4757a8143cee WHIRLPOOL 5586fcb407b4674d21b3ae3416e65bcf72a1e67d8627f09b6f6a7a8a315ed5615825245794af89a028de938a9f53c46aa755355e6e71361f2684928e938f993b
diff --git a/dev-vcs/git-remote-hg/git-remote-hg-0.2.ebuild b/dev-vcs/git-remote-hg/git-remote-hg-0.2.ebuild
new file mode 100644
index 000000000000..297bee0751bb
--- /dev/null
+++ b/dev-vcs/git-remote-hg/git-remote-hg-0.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_COMPAT=(python2_7)
+
+DESCRIPTION="Semi-official Mercurial bridge from Git project"
+HOMEPAGE="https://github.com/felipec/git-remote-hg"
+SRC_URI="https://github.com/felipec/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-vcs/git
+ dev-vcs/mercurial"
+RDEPEND="${DEPEND}"
+
+# Most (21/25) tests fail:
+RESTRICT="test"
+
+src_install() {
+ dobin git-remote-hg
+}
diff --git a/dev-vcs/git-remote-hg/git-remote-hg-0.3.ebuild b/dev-vcs/git-remote-hg/git-remote-hg-0.3.ebuild
new file mode 100644
index 000000000000..3d5b16b08b94
--- /dev/null
+++ b/dev-vcs/git-remote-hg/git-remote-hg-0.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_COMPAT=(python2_7)
+
+DESCRIPTION="Semi-official Mercurial bridge from Git project"
+HOMEPAGE="https://github.com/felipec/git-remote-hg"
+SRC_URI="https://github.com/felipec/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+CDEPEND="dev-vcs/git
+ dev-vcs/mercurial"
+
+DEPEND="${CDEPEND}
+ app-text/asciidoc"
+RDEPEND="${CDEPEND}"
+
+# Most (21/25) tests fail:
+RESTRICT="test"
+
+src_install() {
+ dobin git-remote-hg
+}
diff --git a/dev-vcs/git-remote-hg/metadata.xml b/dev-vcs/git-remote-hg/metadata.xml
new file mode 100644
index 000000000000..5e9d5d52ba7a
--- /dev/null
+++ b/dev-vcs/git-remote-hg/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>wizardedit@gentoo.org</email>
+ <name>Austin English</name>
+ </maintainer>
+ <longdescription>
+ 'git-remote-hg' is the semi-official Mercurial bridge from Git project,
+ once installed, it allows you to clone, fetch and push to and from
+ Mercurial repositories as if they were Git ones.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">felipec/git-remote-hg</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-sh/Manifest b/dev-vcs/git-sh/Manifest
new file mode 100644
index 000000000000..03f2b587afa1
--- /dev/null
+++ b/dev-vcs/git-sh/Manifest
@@ -0,0 +1,5 @@
+DIST git-sh-1.3.tar.gz 26757 SHA256 461848dfa52ea6dd6cd0a374c52404b632204dc637cde17c0532529107d52358 SHA512 8ab742d0ff86e8387d03e2e190eec8ffd4725b1bfa58940f6673f5eac8c749931e3b3f8f20b898d933db36f56b323f800dba47a35294f865f456512f19a7846c WHIRLPOOL 01cd40187e0fe5930c1f53fba9708bc56ed14db20a5ecda897bdef1fe8a36bcfddda317a6cddef9297deb8956592c5003f15516afe22b9175354d4f0ac9b4aa4
+EBUILD git-sh-1.3-r1.ebuild 500 SHA256 1e7f8d8080c0f52e27d878c8ea360acd1d2cf94850a5ec02d4afdf73e2f9b63a SHA512 35397d49dac9def6e64925545bc3607d56b82f5744e040ca29bc9c2373454238833097fccac460d40d0e12055e2b65a4682f9c52512843c4e2a36e25351a9db0 WHIRLPOOL d46aa3bccbfe50afdee5cb46add55bcc3bfa20715d0833de26db00dbdf49de5c356fd0a11944667b5e3dc4eb980953368d7d53c5ba25d2e96a7a5733ff69efed
+MISC ChangeLog 2795 SHA256 9e94311e8735249408e89bb0b408285d26523a8dcf2b646ad990d06ea907619a SHA512 7c0c7de7d1332e932daf8e41d736b490c1ec3d6433c96cd15abe665fb6cdf77ba5ed7914238604bdfb73b848d29f123ab92fdef0f253ac6e1fd5b1f6d4de17b2 WHIRLPOOL 09d072b60a4a4b80bf741ca33b2539c7b06e536b8c36abcf8fd9534c59e3d993f66b6d22527c8705cf47f806fa279b6af99b82a57fad7d74f37b91882cfab60b
+MISC ChangeLog-2015 1450 SHA256 f84e8b366849a9b5c69e34b5ef056673bc20fd46c0c8cef7d3a6bca356d4bd88 SHA512 b11caf30544cb4c3b6538acf4c3f36e20330480538a8127ca3da46a69c260d2e91adcd792a4313b366e80b9066ea29849af38f02fa58a5bb3e6d0b71f4db164d WHIRLPOOL 43358be5a0ea72b46afd867c3b648b2c16a8b94783ee68fcb52d590c2d5073127c8fb4af341b2962020ff882d221ac45be8b5e963bf4dcab9f49568f3c919ba4
+MISC metadata.xml 252 SHA256 542a15d3f51fc6c29407fb0d7c6238e8824a812a2336a691c2f856cbba327c94 SHA512 372af9cae870023c050be3aaf92200a8f503f2715c062849e970b79a6bd289001577a718d6720988f28f7bd675feaa347d39346983cf46836ccac27f72462aea WHIRLPOOL a9aeb83b145f409e1aaa2cd7a47d6cddfa2821fb0ca34dc32b077d411f3ebf2b656a3338e1d748b74f3669800b9301283ab5bf253757c6cd0e085b6a53d497da
diff --git a/dev-vcs/git-sh/git-sh-1.3-r1.ebuild b/dev-vcs/git-sh/git-sh-1.3-r1.ebuild
new file mode 100644
index 000000000000..54b92f1a878c
--- /dev/null
+++ b/dev-vcs/git-sh/git-sh-1.3-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A customized bash environment suitable for git work"
+HOMEPAGE="https://github.com/rtomayko/git-sh"
+SRC_URI="${HOMEPAGE}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="dev-vcs/git"
+
+src_prepare() {
+ default
+ sed -e 's/git-completion\.bash //' \
+ -e 's:/local::' \
+ -i Makefile \
+ || die "sed failed"
+}
diff --git a/dev-vcs/git-sh/metadata.xml b/dev-vcs/git-sh/metadata.xml
new file mode 100644
index 000000000000..a207b92c2639
--- /dev/null
+++ b/dev-vcs/git-sh/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">rtomayko/git-sh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-spindle/Manifest b/dev-vcs/git-spindle/Manifest
new file mode 100644
index 000000000000..ace53812aa62
--- /dev/null
+++ b/dev-vcs/git-spindle/Manifest
@@ -0,0 +1,5 @@
+DIST git-spindle-3.3.tar.gz 1854895 SHA256 4bfad8e716e16e267c1297bb66b563a5eb4a3f90d618338442529a9c773bd4d1 SHA512 5d56f51d952ccfea321be79108a795d9e7dd7eca78d966955e76e1c8297eafc9899ef40b6ef1bfff692fe0ce7c3d54ead0ff5fdf31eb559d3ebc0ef9de91c3e8 WHIRLPOOL dc3286136e08a9a75764183f780834d9dfe7bfd7c49d7e97084405399c7e02bcb3402b71672b5dc3b439b6f64fe8732c8e459a4884bbe1aabaa2ae99c5c98166
+EBUILD git-spindle-3.3-r1.ebuild 686 SHA256 06a8745ffef8f2744c0267046becc4105874bcadb1c2eb9b927ce5f1109dde12 SHA512 0de494858b2e9aee4fdb66fa15badd9cf96801527afcfb98921bc8eb6d1385af8a4e787ba03a393c933fc5566608358efdb31937db6c168e7e7134ca340035e2 WHIRLPOOL 587db669853c8e21c3ccaf777eee65506b929e7629c76f7adcc3ed86bb02a69f72004acfcdc4bb7e0dc13d1e6211e53800a59dbfa436a8b0997971a92409a856
+EBUILD git-spindle-3.3.ebuild 567 SHA256 bd0c11b1d71198180a6dd65476776b7a0e307b7ba8570ec6ba723dd2867fb35b SHA512 1cf7e0fa874fd14e8dac447d1ec5a7cf58479476ea1b63d7ae379c4ea0ed80d9e972898a49e7a08508d5ef3359911e0d57a86feebbba65cec9299d4889198aa6 WHIRLPOOL cbe9969c1d3281353ab84ec1c5563c1c2dbeef27b1e09afe127dc27616039394719a072a32cf7b10d5df8167a212ff77ded0303e937bbe564438c748e9a1b24e
+MISC ChangeLog 454 SHA256 55ebef00ccd165a57f8159887bcf6f8c79d25d4ac7ab8318bd87329bd3039729 SHA512 94d2f3afa1d2c70361b7980861b793047baa99be592e0c74b1e216bdd3aa1aa68b5dc2d3f2d54bdc11065dad89c956b9c32483e86b1a45ddb4dbabe475f67859 WHIRLPOOL 9ba2f5039d1aea52136759f17b3db652809074b8bd09739f4a89ce28965fbb872e0289985cc73be785b47a1e7e7d4e5752caccacabf4ad63cbc6c0603ccf5ec4
+MISC metadata.xml 626 SHA256 2955a445620507fba108530526c09f04a6d965cf0ae6c702189b5688a004a6c7 SHA512 7f2be03b228a372aeb1a17913d790ec69c2d02d684c9495c460fff28b00b4a36e14b66e25e0ed31f0c9c0913ff5292cff02ca690308fe3feee84b66e9b3678b6 WHIRLPOOL de606d8d7df13e6820af8bec27f35d3d6bd32cb4bbaed6c4cb034767d07863a8a3573092559097de073baf555834ecc59034afc3b73babae71f74f959ed8e914
diff --git a/dev-vcs/git-spindle/git-spindle-3.3-r1.ebuild b/dev-vcs/git-spindle/git-spindle-3.3-r1.ebuild
new file mode 100644
index 000000000000..7d970a8cd2ff
--- /dev/null
+++ b/dev-vcs/git-spindle/git-spindle-3.3-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit distutils-r1
+
+DESCRIPTION="Git subcommands for interacting with central services"
+HOMEPAGE="http://seveas.github.io/git-spindle/"
+SRC_URI="https://github.com/seveas/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ dev-vcs/git
+ dev-python/github3[${PYTHON_USEDEP}]
+ dev-python/docopt[${PYTHON_USEDEP}]
+ dev-python/whelk[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}"
+DEPEND="
+ ${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-vcs/git-spindle/git-spindle-3.3.ebuild b/dev-vcs/git-spindle/git-spindle-3.3.ebuild
new file mode 100644
index 000000000000..9ebebd0d3a0b
--- /dev/null
+++ b/dev-vcs/git-spindle/git-spindle-3.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Git subcommands for interacting with central services"
+HOMEPAGE="http://seveas.github.io/git-spindle/"
+SRC_URI="https://github.com/seveas/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ dev-vcs/git
+ ${PYTHON_DEPS}"
+DEPEND="
+ ${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-vcs/git-spindle/metadata.xml b/dev-vcs/git-spindle/metadata.xml
new file mode 100644
index 000000000000..baa38de52430
--- /dev/null
+++ b/dev-vcs/git-spindle/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Nicolas Bock</name>
+ <email>nicolasbock@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ Many central git hosting services, such as GitHub and GitLab, provide
+ an API to perform actions such as creating repositories and filing
+ pull requests. git-spindle is a collection of git subcommands to make
+ using these services easier.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">seveas/git-spindle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-tools/Manifest b/dev-vcs/git-tools/Manifest
new file mode 100644
index 000000000000..2a8ba9b86756
--- /dev/null
+++ b/dev-vcs/git-tools/Manifest
@@ -0,0 +1,9 @@
+AUX git-tools-2015_p20151225-py3.patch 533 SHA256 a810c3aee97b302aa63bc8f3adf6051450967ae484e6ff8091cc1c2da2b32eef SHA512 20aed632a90dbe0b84c745a0239124f613982e21a39a23392d698bc795269c7f30673426f4e696846c309b469ace4334fa55e21ced03d89862d762219ff72c4e WHIRLPOOL e3d7294892de65fe4ce18d6d492614e3b1803c1d52b65debf49a52792e390bc121ecad00a4535a2b871dffcb0106e48ee5cd9a243d9db34bed2245b3bcb534b6
+AUX git-tools-2015_p20160201-pr21.patch 1453 SHA256 3cf477c7c24d7902657d70592faad235cf6d5693e63f116ab39ce995db48176a SHA512 7007c83d3d013c8df49eeab5bb88d8f02373b42d977562d735a92f3db81fdec33251ff684eb6c3a6e2553c73f81dc6fa186cdbcedf77bd1f1771682345f50429 WHIRLPOOL f6429dceb20d99f2e652588ec39f85bb716acf6d48c55f325aa6a6b7aecc950e262a3f32cefa9b2c3adc246fda93aa08745694004fce8ecee082471ab6dfccf2
+DIST git-tools-2015_p20151225.tar.gz 12635 SHA256 ab98a8ac35d47d521c43e8b6f543e55757bb2ec4a3cbdeddf25348c5b0cdb36a SHA512 c995f814a78a3afb967e435b9559e4601fd9c7ed10b30950d6d8f20db2cc8077c814fb6164351f20f3c118e0b8b139c84485d5849057654a70d81847f77dd3d0 WHIRLPOOL 6f2810d8e81bbdcb8f99a4e9e3032e11a160df969e8c11a9f8ed8e053eaaf98f895c90eed726e91bcdc2a59493950375015c4922e758256a54874e2667e21a25
+DIST git-tools-2015_p20160201.tar.gz 12702 SHA256 56622b47edcfd2149e8d23b4d840a9c808160520f9c02f5b1842976a87362cbe SHA512 55804d7cc67a0c41f460f4a648fd589c8b72c9de8f45d4683edc8d4c47b87bbb70dbb040a8cbd3c7fcc09a3faba17f145479b7000d93d178e32454c0b6a1a995 WHIRLPOOL 00c3a8fd887d37ce516dc07ca1594cfe6dba19cf74d7eb1c608b6b44a89869bcd6c66832b15eb8c86b58805003f4cf2b7c9298cc0a95c0f6648534c1ace6cc79
+EBUILD git-tools-2015_p20151225-r2.ebuild 1437 SHA256 af1b1c9dca7099b9158ba85f2162e4f18f5274ffe53f5a99349bb71ba4919add SHA512 3068af4da8b476049f014221858cb2a7b7e6c7edf914804e48f82e4e84a1aa0db4afcdd50172cd5f98b9d377f3f920e0284bdc9010c6c64d326353a8f578382f WHIRLPOOL 6903453b4bd8348764f9354f34eb86911de4c87cabeaf1be4d5565a608ff39733d1b8e795a077501d1c52eaca8d3147329055199a03f77834c1e172eb5ed5782
+EBUILD git-tools-2015_p20160201-r1.ebuild 1495 SHA256 8ede8be5a3a98baf6aaab3c593c4cee093ce247063be24ec0250320358cae616 SHA512 377fed838758fd267e7f3071360359a89cda3a486c674a08e8b9573a5cc0c4042e4fb2efdfbf181b31d81c7deb6b81d5a2559984235f37a769642e09fb1754a0 WHIRLPOOL baab316e5ca634578ae7cf5189166336d116addc8cf4e1de814ae57261ede4fa917c192bcef437b2f74b76549de4cd0d6005f7e2ed39c5eea9e626dfd0e2365e
+EBUILD git-tools-2015_p20160201.ebuild 1438 SHA256 c15df79f736667a230ccc4ef676832cf334107178c76d52105d947038ffa6439 SHA512 2c16dfd268a6efbc34ee9a99282348258600fcd0f717a3681b7d0137e702238060314a3206b7f63bf6ef12218a53a473b4a08ce18ca30e9d72352c63874be5ec WHIRLPOOL a2e09a942ddd72b81139095908876d6088eb71a3dac85ed72a8feda8e276d97f75cd67b01621030fd54baf45607e10255f5121ff62cec975fd7dae917080bd70
+MISC ChangeLog 1958 SHA256 228fca759097e882fbbdea3b2b9a8c96b2b47ab968b6c593f1e0e4412fd3330a SHA512 8b129ebd386dc40c2df8cd3c37279db225c2c16ffc5f015e76a10f4c007dfebe18dee015e92d11289a1dc6574e48c9a9fd23bc9ad73d2a89f864b7ef5a36d227 WHIRLPOOL 83cc349fee80a0495c66e1235bc92d56307d9150879ae825a92f719f504db715f097fb92df797620a9d45d0145a7875878ad06c1236de7bcacff95b4d0bc3d04
+MISC metadata.xml 310 SHA256 57e85087287ea284544930486cbebd6e248e0736c9fa44a9ea1f2dfa5deaa89a SHA512 f6024ab818489e341d2bd68439028e7454a2457033d0db34bc116c08a77fe6345910a110b14f5a59d049eb7b29f623a9e4414b2c781742266646b6d4932a5eb8 WHIRLPOOL 0ce8d69351968ef3b53b59b888317c2787b3114f9711d05b5a6ced8e769107c9ac3047e2cfeb3aa6f09b529317ba95c054bb989a969e8ec3f290b5f743f0eccc
diff --git a/dev-vcs/git-tools/files/git-tools-2015_p20151225-py3.patch b/dev-vcs/git-tools/files/git-tools-2015_p20151225-py3.patch
new file mode 100644
index 000000000000..a7f59e0b04dc
--- /dev/null
+++ b/dev-vcs/git-tools/files/git-tools-2015_p20151225-py3.patch
@@ -0,0 +1,11 @@
+--- a/git-restore-mtime 2016-01-27 14:05:09.000000000 -0800
++++ b/git-restore-mtime 2016-01-27 21:51:17.000000000 -0800
+@@ -150,7 +150,7 @@
+ ['--'] + args.pathspec,
+ stdout=subprocess.PIPE)
+ for line in gitobj.stdout:
+- lsfileslist.add(os.path.relpath(line.strip(), workdir))
++ lsfileslist.add(os.path.relpath(line.strip().decode(), workdir))
+
+ # List files matching user pathspec, relative to current directory
+ # git commands always print paths relative to work tree root
diff --git a/dev-vcs/git-tools/files/git-tools-2015_p20160201-pr21.patch b/dev-vcs/git-tools/files/git-tools-2015_p20160201-pr21.patch
new file mode 100644
index 000000000000..f921efd9be22
--- /dev/null
+++ b/dev-vcs/git-tools/files/git-tools-2015_p20160201-pr21.patch
@@ -0,0 +1,27 @@
+diff --git a/git-restore-mtime b/git-restore-mtime
+index fbc05d9..7bbd375 100755
+--- a/git-restore-mtime
++++ b/git-restore-mtime
+@@ -74,6 +74,14 @@ parser.add_argument('--merge', '-m',
+ 'sometimes substantially. By default merge logs are only '
+ 'used for files missing from regular commit logs.')
+
++parser.add_argument('--first-parent',
++ action="store_true",
++ help='pass --first-parent to git whatchanged to hide the '
++ 'second parent from the merge commit logs. Only has any '
++ 'effect if --merge is also specified or --skip-missing '
++ 'is not specified and there were files not found in regular '
++ 'commit logs.')
++
+ parser.add_argument('--skip-missing', '-s',
+ action="store_false", default=True, dest='missing',
+ help='do not try to find missing files. If some files were '
+@@ -252,6 +260,7 @@ def parselog(merge=False, filterlist=[]):
+
+ gitobj = subprocess.Popen(gitcmd + shlex.split('whatchanged --pretty={}'.format(args.timeformat)) +
+ (['-m'] if merge else []) +
++ (['--first-parent'] if args.first_parent else []) +
+ ['--'] + filterlist,
+ stdout=subprocess.PIPE)
+ for line in gitobj.stdout: \ No newline at end of file
diff --git a/dev-vcs/git-tools/git-tools-2015_p20151225-r2.ebuild b/dev-vcs/git-tools/git-tools-2015_p20151225-r2.ebuild
new file mode 100644
index 000000000000..89fae4dd6d1a
--- /dev/null
+++ b/dev-vcs/git-tools/git-tools-2015_p20151225-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_{4..5} )
+inherit python-r1
+
+DESCRIPTION="Assorted git-related scripts"
+HOMEPAGE="https://github.com/MestreLion/git-tools/"
+MY_PV="ff7a07daa6898fd0993180f64bd232aa4def6018"
+SRC_URI="https://github.com/MestreLion/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}
+ >=dev-vcs/git-2.5
+ >=app-shells/bash-4.0"
+
+MY_P=${PN}-${MY_PV}
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "$FILESDIR"/git-tools-2015_p20151225-py3.patch
+}
+
+src_compile() {
+ :;
+}
+
+src_install() {
+ SCRIPTS_BASH="git-branches-rename git-clone-subset git-find-uncommited-repos git-rebase-theirs git-strip-merge"
+ SCRIPTS_PYTHON="git-restore-mtime"
+ dobin $SCRIPTS_BASH
+ dobin $SCRIPTS_PYTHON
+ for p in $SCRIPTS_PYTHON ; do
+ python_replicate_script "${ED}"/usr/bin/$p
+ done
+ # Make it possible to use the tools as 'git $TOOLNAME'
+ for i in $SCRIPTS_BASH $SCRIPTS_PYTHON ; do
+ dosym /usr/bin/$i /usr/libexec/git-core/$i
+ done
+ dodoc README.md
+}
diff --git a/dev-vcs/git-tools/git-tools-2015_p20160201-r1.ebuild b/dev-vcs/git-tools/git-tools-2015_p20160201-r1.ebuild
new file mode 100644
index 000000000000..3111a50cea5d
--- /dev/null
+++ b/dev-vcs/git-tools/git-tools-2015_p20160201-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_{4..5} )
+inherit eutils python-r1
+
+DESCRIPTION="Assorted git-related scripts"
+HOMEPAGE="https://github.com/MestreLion/git-tools/"
+MY_PV="0431b5f4c59101c1b7250d8dd2ce3f6a22318bc6"
+SRC_URI="https://github.com/MestreLion/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}
+ >=dev-vcs/git-2.5
+ >=app-shells/bash-4.0"
+
+MY_P=${PN}-${MY_PV}
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "$FILESDIR"/git-tools-2015_p20151225-py3.patch
+ epatch "$FILESDIR"/${P}-pr21.patch
+
+ epatch_user
+}
+
+src_compile() {
+ :;
+}
+
+src_install() {
+ SCRIPTS_BASH="git-branches-rename git-clone-subset git-find-uncommitted-repos git-rebase-theirs git-strip-merge"
+ SCRIPTS_PYTHON="git-restore-mtime"
+ dobin $SCRIPTS_BASH
+ dobin $SCRIPTS_PYTHON
+ for p in $SCRIPTS_PYTHON ; do
+ python_replicate_script "${ED}"/usr/bin/$p
+ done
+ # Make it possible to use the tools as 'git $TOOLNAME'
+ for i in $SCRIPTS_BASH $SCRIPTS_PYTHON ; do
+ dosym /usr/bin/$i /usr/libexec/git-core/$i
+ done
+ dodoc README.md
+}
diff --git a/dev-vcs/git-tools/git-tools-2015_p20160201.ebuild b/dev-vcs/git-tools/git-tools-2015_p20160201.ebuild
new file mode 100644
index 000000000000..41ab4ece6c17
--- /dev/null
+++ b/dev-vcs/git-tools/git-tools-2015_p20160201.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_{4..5} )
+inherit python-r1
+
+DESCRIPTION="Assorted git-related scripts"
+HOMEPAGE="https://github.com/MestreLion/git-tools/"
+MY_PV="0431b5f4c59101c1b7250d8dd2ce3f6a22318bc6"
+SRC_URI="https://github.com/MestreLion/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}
+ >=dev-vcs/git-2.5
+ >=app-shells/bash-4.0"
+
+MY_P=${PN}-${MY_PV}
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "$FILESDIR"/git-tools-2015_p20151225-py3.patch
+}
+
+src_compile() {
+ :;
+}
+
+src_install() {
+ SCRIPTS_BASH="git-branches-rename git-clone-subset git-find-uncommitted-repos git-rebase-theirs git-strip-merge"
+ SCRIPTS_PYTHON="git-restore-mtime"
+ dobin $SCRIPTS_BASH
+ dobin $SCRIPTS_PYTHON
+ for p in $SCRIPTS_PYTHON ; do
+ python_replicate_script "${ED}"/usr/bin/$p
+ done
+ # Make it possible to use the tools as 'git $TOOLNAME'
+ for i in $SCRIPTS_BASH $SCRIPTS_PYTHON ; do
+ dosym /usr/bin/$i /usr/libexec/git-core/$i
+ done
+ dodoc README.md
+}
diff --git a/dev-vcs/git-tools/metadata.xml b/dev-vcs/git-tools/metadata.xml
new file mode 100644
index 000000000000..ac0f43b4f27f
--- /dev/null
+++ b/dev-vcs/git-tools/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">MestreLion/git-tools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
new file mode 100644
index 000000000000..7640f7157f4f
--- /dev/null
+++ b/dev-vcs/git/Manifest
@@ -0,0 +1,37 @@
+AUX 50git-gentoo.el 472 SHA256 7cd37e8db7eaeee8d822d38851eb69771b0f09c79883a8e51309a9add85fdbe2 SHA512 0435d7d67f2b64460a62c6a95c65a722c0f8d5d50d064a81e690de84a761ba518d32db545ee70c0fa3ad7803d77d5dab100689888bc92c9d82f2d6d5073623b3 WHIRLPOOL 887682f79182f6728af3c0fd2ee0e81319d49761a987559684be5e4acae4af579a5b8d1197ddba31452cec179de3c8f5784cc85ad61f78b400e42c204c93f642
+AUX git-1.8.5-mw-vendor.patch 1160 SHA256 e613f8874beec8d11644ad8d12c43cccb6585f96e99485d7d8ead6618321e8c0 SHA512 6513104f28eff36c18840f90e56fb21e8e04055e4e9a304ef15e5d7e1c13c8b45c4be0380b7781e776ce3b8ee9f7371ed2200e01174cc257125a613aef43ac9b WHIRLPOOL 6a5dcb28dc40590cf4e4b1369b0d770b40f1060bf933366f252edafbb9781f39d7f46dc218c16d429f507c7d5a9479bafce2df7309178071bcb782095809ed69
+AUX git-2.12.0-optional-cvs.patch 14388 SHA256 56ab35325847b4ef5f04ac0f5e1d86889190804abffe8a42009a701162ab6c64 SHA512 fb44d17628e0c6d39053c8221296a8d81ccc84cf8cb49a0be13ecffcf79c69902f01c43c3b0ce45d2cb2c880116e2fb6d78d95e9c8d2fe5f19ff37bc4a6f8761 WHIRLPOOL 1ce6db0fc2feed91e517adba11183620fe7bc7d1ef468e164fa725e43811553fd841776e67606c92d64145d91f2cdcad5fd3104741733b5c60c90209fb15d52a
+AUX git-2.2.0-svn-fe-linking.patch 418 SHA256 45b89e10bec13fd7b29f7b530bf5ef57d3263581930ff338bf2105b3a96e6df0 SHA512 ac312e7da4c548073d4dfa5d9bb6823ed48ea70a30d7993da190cfc4cc4b17124e15326748d79e59ca0772675619b29221a57c5af45b7b6c7196dae218772ecd WHIRLPOOL d31618b8012b2b9eca5ae5c4317c893a21697b182aa877e236a34eefc17869b0c659c35617d70e7cd316d430de5d093fe18bce947996f8c6aade7cd8c60a4c38
+AUX git-2.5.1-freebsd-10.x-no-iconv.patch 568 SHA256 f5f96e35b9d3138a0806aa2298d00ee0138c453eebd3f325f58ff3d07dabe361 SHA512 9f7334b2c5b69c5a6a94e198a522b176470b0ae9d428694b9a404e4bcf33d269f43c8d2d9b5834e36f9a875d12a7b21f59caaaffad6d05cb6267ab2967e64567 WHIRLPOOL d40617ebd5b7e3ff7b7fd2948178741f427bf505233a3f2d0b3ffa0408218ea39aa5e04c94e2810c4db153ef4a3244ad0af48f8f2b785885f1f2ce81758728eb
+AUX git-2.7.0-mediawiki-500pages.patch 1317 SHA256 2a3ca7e73ea0b1575c4646a8cf9b2b7bcac74f5fa9c7c5e6b8fc9d320ee2cc89 SHA512 efe580f288c6fdb6d55b742a3e4335ac32ed96cb12c10b959a5f283e505ab0aeed039d0d19d9dbf148a07ac6c7aec075ecea0c0be68456fdbe23dcad77ca01be WHIRLPOOL e890b6c529e007dc1fbb8f6188b9c23f16856d65a38ce702657eea2f065a4ff52b6ee8bd284726582db765222dfefb31da71c14217b3c15968050e093bc14a6f
+AUX git-2.7.0-mediawiki-namespaces.patch 3188 SHA256 7205e94a95c9e9027b2a8472854e0d76dfb3053b8e7f139836d90b3555c62b89 SHA512 f1597fcb8e771917561d92bf428825e28477ed792be7494e34754434c73422dc52fdf99d981656b291f7eb91a199abe54038ae87e9b5229c9a382a4ea88e9d4f WHIRLPOOL 674de2ded34bf2d1d05c3e606b881e00a92ae7958a45e481d51d8766b0429d0054149017a5f21c024f466b62fffb6dddce64c7569caacfc0aa34c3c2b20d3610
+AUX git-2.7.0-mediawiki-subpages.patch 2091 SHA256 322aeee855c163c0e0cd5048b36bf464052fbbbd98fc23257b6e5c525d9057c5 SHA512 e294c0d4588499961632bcc6ea20474984c4bcc7a804ff3cd9d12584cecad3c36f5772c21cf7a884b517370eb7d87542f7bdc3b2c5482c18dbc623abe5e7c73e WHIRLPOOL 3731669811ec1cce64890afb5e0ee3add808d1da8f32a5061ed6d15c7a54aaf0bd4a350f35c4d78565132fe736bf02119fe51ef641fedf02f546e2b3fcc23655
+AUX git-daemon-r1.initd 368 SHA256 c39eff8e0d0156f035b987521444476875852519ddfe6b36ea5c205d93a7f323 SHA512 6fcdefec671ca9b0191e32902663a3400b76cdec82500bdcf65dec1bdecb78a40678c80c7f77b0789a2877284db3400cdf52289c2221f8daa7e3fa7620ec1bfb WHIRLPOOL b90de85619b0da130f463cdbaa774c6489ae6e5eb0618cf9c1b9297cf100f6dac0c7642054842dbf628c5bdd5c57aa694b01280949e73f95704e41345c8e2de0
+AUX git-daemon.confd 710 SHA256 4703ba2372c661fb674a29fea7f64983f8b1b3136d971663509249655bca6e21 SHA512 fbf1f425206a76e2a8f82342537ed939ff7e623d644c086ca2ced5f69b36734695f9f80ebda1728f75a94d6cd2fcb71bf845b64239368caab418e4d368c141ec WHIRLPOOL 1ce085e6f8580824f96517ae8d49f0a22124cb8d6cfa740dc041e0800bfe9541fa6d2a6ddb5dc23f96186ddfe4a539f4a72bb87deded2d7af37569957b52b4e5
+AUX git-daemon.socket 116 SHA256 66a064b67e441306bf765d3d3115ac55bafa2098400af134f852d4aecf8608d7 SHA512 e383d358999ea0c7201c1709015a9b7c4dd9dd71287605640aca837fac1e2ee33a5a1684e1c3414c08742605f185b722f4864afd5be8b79a9f0d8f7ae0f9b701 WHIRLPOOL 1098e46b6d2be3c8d758a087408aed91e0c01625542dfc90fbff80ed8b40d2a54ea4ab45b4d003ef0b0b8ed1411e1146a58076b68096389412a61fe2d09214dd
+AUX git-daemon.xinetd 260 SHA256 5025efbceed83835378cada3728448cbf445a1584e7cbd7736f568f4b6b52a67 SHA512 5e0c85004e7e2b89fd191350022b9970a6ca03129b4c913e159570b99b5797ab924f667cd3dc5693a9d4916b7b5cf36814eda015dbdf46a1354eb50d1c081f9c WHIRLPOOL 155bfca2c071d5368de09412d1d937cefd3b5cd28a991b99845551738440b92791c33a67ef41be711dbf06fc4faf4a299cbaf1f410b119fe5deb5a4cd741803d
+AUX git-daemon_at-r1.service 340 SHA256 980b2b2234fc672065286244cd4e690c92865d39a02001936801cb013b7d2dce SHA512 073d8752dc224ff1130a5290e0f965a04b19f2a8dbd5d50172101099386ad3af0fd5e1abf57030960b750a2adf36a7ae69d18ddc990bab4e694486e65424cfa9 WHIRLPOOL fd89d61e15bf499404b0a17a2e47257962c671cab09a3af53cb378758cf7a5f979026831a8da2270ea54fa8897e132def17307d03729ef2e30dfe7950c59b1b3
+DIST git-2.13.5.tar.xz 4756436 SHA256 21c9e29caac86d244ac7af78bc3422746dabb903cb3952a1ceefd801020ad1a1 SHA512 4a0b55d19f15cf0ca388d43b650c1ccadbc32964925e5d0a3107ae84c38506af957335ceb0cbb5468ffbe0f5283f8e188aa51c9e915b3249126eb37c304be9ec WHIRLPOOL 7a3c9971f37de366801be6a6d1d28a1d02b2f3fe98a508465c01d600913efd0ae4d241fb690686beb2ae9b0321ba4f7eb5b313ec47fb04eb7d0e0e51170c6750
+DIST git-2.13.6.tar.xz 4756820 SHA256 bce97e403bea34f50378e90ade10c12666b2382cc247551b63dc5604e03b2523 SHA512 ed39784205e1077f886eebdfb34a205fb0433071de29f673a79ea32bca31a2ba9bdabba208c9679ea2f6f295bafad52a7e7852b5bd2ccb1e6c99a1d2e76e8ada WHIRLPOOL aeadb595a3fc9b74b143478436f4511d15735e5e01bbaf84bc60ef6c3bb91d94aa29ea1bd700a08d3aea3341de4cee5c4d5ced0b550a223faaadd37774cd3492
+DIST git-2.14.1.tar.xz 4791876 SHA256 6f724c6d0e9e13114ab35db6f67e1b2c1934b641e89366e6a0e37618231f2cc6 SHA512 bee35ad9c6a0d0588045ec2fe5f6987cb1eeb3961cdf33cd9b51ae52017969131ea4ec09908f9b30944f85b0daa99614fb42c248c9c8dac5f21a90e2866c33b4 WHIRLPOOL 4ca338a3b39f3a787bc4054f26a4510918ef8dd1bad834e6fc0889358b56e22a4eb98a642fe7d96e60e210aa0e946da160d1716a1ee14e8c853ea6af15b609b7
+DIST git-2.14.2.tar.xz 4800208 SHA256 50e9723996114ad1eec4dda89960d9fe34461749ae42031008a261fedd03c7a1 SHA512 fe99486e0aef8d73dace3081bbd62bc6d08bc13868b98c905f7833458fdfc464eea504ae2961f4a2f38892cb0e76b533a50a2cacdf07c9ad9f8106e7ac1c353c WHIRLPOOL af0d166fc00aea8a4a77984e8bf92f6fb3abc854263316961683e5e27c8adbe1d73a3384b4d14c2ce762d75fd95f67da9a95a3fd3eca4d6747eb1850ab7b084e
+DIST git-htmldocs-2.13.5.tar.xz 1110236 SHA256 f5f10d821544446547dc91798772f36d7515a824c9a28f22521f0094e1a4dc08 SHA512 0ba006ddc35325052be4d969a3a966ec1be7954dcc1676b9914953720e56f3c9a4522541d964c6ff08a921c35f983213eacd00b99db5d97b97ea8f5c1181ed73 WHIRLPOOL 020963c8544dba6acc4b0e681a844b6a9f332b3b3469c056d678791afacab54f4badd956137b21d3a5d2ea465a83f05d815a2c066f71fade41a58e8f802088bd
+DIST git-htmldocs-2.13.6.tar.xz 1110668 SHA256 cdc39ecc8d1ce09f7b865832ebbc466441beb61d1aad4c7796514520220dabf0 SHA512 9eb26f04836620bf4486d3bb2a170ab2b0af319f7f53e2677f4c1445767f5c3521cfdbb274dcc4df2bfd2fc5bf0ca18c6a4a9ca0b9f957c53f66e530684af6cc WHIRLPOOL 126d8ae25c71dc4e6a6eb20ba611cd2eaf94ea8f4f89fde82b2d05044e93f425d9812559db5599b557a1a8f5832cc41d0651b421d265219c257351fe7fb41f2b
+DIST git-htmldocs-2.14.1.tar.xz 1115176 SHA256 9c1970c7f87f37c8b3044e01e0500d84d8bc4eb4dfa5ca881c32c351f20769fb SHA512 c4d8de9d402b00c6856936bbd1fffc213e156a7dee09d740159ee5de3231bcc3dee426c640e2dac6c837b7a3f69779be4093664fd55ef18e671f76e2d11280b5 WHIRLPOOL 1a85338c397ddedd5db01a65b0b173f4876551348b7892872c10b706e59419a2eb5937ca43df1018102a56e973ce756b6ca128e3df4e0e99adc1a9ba7719be52
+DIST git-htmldocs-2.14.2.tar.xz 1115940 SHA256 a36661e81e5b21e788cd84e11860bcd0cafa402eff06e6371415a5a0e0b80dfb SHA512 c5dda319713a98b9f655a04fbb4dfcba4cc60fe22586bae73a88111d96cd8da989060b8450549a32a5c5bf5bc8ce735e73055ce72b8bf5d3b4fcec2040fa196b WHIRLPOOL 1b47b798ae00f29e84862b973f4e284076eba84992f52b92903b56d50f0a463aac011fdcb3ea0b4859d2cf8661eb24c5faf4569ed22de952e293df95ca9a0438
+DIST git-manpages-2.13.5.tar.xz 407640 SHA256 1dde688dda9162605ae27e4ad1b55c65c056b3e7cd70972b7e1d6bd2b743394d SHA512 42637b264b4a1a73defe22f314cb8ca0bc171fd722252cd926a9fd74a8f89d129da0648ed85b72f44948795c6ae1f33f4f141f11b07688533c8654be0983fbc0 WHIRLPOOL 9b4a3440c4d1da7089d020e146de7401502cdbae0d82a0052f665cfab84d48de5aa5602d78b8d2f29507e280a16ab4bc2ea4a753fc948a7102eef0240ab3ab2d
+DIST git-manpages-2.13.6.tar.xz 407660 SHA256 9c92ed09c3343c770a1afd9dbb1192b00ebb1b3d3e25e21a2dcb1a4e9a494d1d SHA512 b24a96053e348e1d2ebf5c66d968074bc73471f07ac3a680d8b16fd211b69b5fdfad6a087473edf9941ad08493e4d7ff0a916b85ce40ebe19b3e3dad6a4baf5f WHIRLPOOL f25b4b20462806a722067aecb7aa0526f00536630c8f71bd7be1ecc0ff4fec07db2fa79d69d911f3e1a2eaca9fe73ad76e76e7ef7afbb83698db42a540e4cfef
+DIST git-manpages-2.14.1.tar.xz 410400 SHA256 7ebce1e0e862af1367e24f14765c7b67f08b63fb01b80949f55479c562d414f2 SHA512 53641232a4fa7c8e5da14f7ba46d84e6cc4281ed8e9979153e9de13ae6550d863e823c3a2f71ab9232a57314fb19b9443913518a3a072d227c2067430d5108f7 WHIRLPOOL 6b4796ebd3070c66404920091298717d1c743403454a62c5e49bd8f8af16b3dc47345a8c8e64fec670b8bd9ed34ddbfa3916f904696e9209522cbc8ae5dcfdb1
+DIST git-manpages-2.14.2.tar.xz 411160 SHA256 6dd350d1e9d00159a549f0fad08a9f954b1d12576fc8d5865fbed9dee15105fc SHA512 64f9e22ed98cde1dec9afb719c2f7254d5da1eceab2e7d3291d37792fa1b9fc83633ac42a4f47961a6721b325d58818e67ffb14085d5e8f9bed1b691f22d79d7 WHIRLPOOL 902889bed82289773c029ac7c9625f4972559e0365cc04dfb661ae14fd7e1757d3820d75b3591d72dded98107ad7a1e2e31590452699858ca3a94fcc375ac0eb
+EBUILD git-2.13.5.ebuild 19016 SHA256 60f7549d88e55d94f090293c78c841565b8a11f8db61526abbd2c4de650dbac2 SHA512 4741a465efa6fbdc86775abc4088a9512971658988154a5da2f410e1e243b6f6a1e7c5bece23582f3a47e1ddd587685ebfc32c7b00c8ff325d2e92996e4d840d WHIRLPOOL 1372327523438351e0368978141e4c80d7ab3f0d3f816d9c2b749287caccab69870dd26db28b75f5244b69012fc0951b7894c442d5aae006167435511e5890c9
+EBUILD git-2.13.6.ebuild 19019 SHA256 c9c5d7cdd8d928e906d0c925e001a3783094590796adfd20b649902bdc612f34 SHA512 ca1e07833367a03037009b4e4726c13539dea89a6259245a65ac35165920bd65234168c7ecfba23a816af5521ece1c41d30b78d62078d9d64ca8b1479f23c15a WHIRLPOOL 04263d41376789794bcd1ecfdba3278f4a28666b6ecfeb14096ccf4d3f670f0067db4809a2a41f1022de768e05221e3c1dcad03118fb6c409476207fe5d04b5c
+EBUILD git-2.14.1.ebuild 19320 SHA256 1ecc45be91062d9442750bd22c8fdba490b5c7fff54368b4ab1e3d5e935011ec SHA512 a49a979067f1f7c9c207f1faf522229d3b2b4ae0cf04f7881822b486b6a891f2f5464fcbb6dde14b919c71c007f36e2892ef12bcd45e42ccebd82eeb29d28384 WHIRLPOOL e16b1d0ef5c946dfd2001b98dc2e89891dacf152760d2e095d24f10ef6c69193570bcd936fd666bcee7de90d2aa928b3ba7ef87028ddb9bba0360ae3d95402e1
+EBUILD git-2.14.2.ebuild 19492 SHA256 7ffc88887aa46a21a50af75c177e551ef40ffbb1b12b651a9c0c3111d9f3fc6c SHA512 f0dfd54aad567141b2806c0e2bc8a24699b66456f6fe964071a5da78b201b4f27dd7942e75ae320f6b5b4c0c18a948971ad75a339125cbd5f5709ec0780726a8 WHIRLPOOL 332d2dbb55610ca410fd04e2fc595e1e65fc6edd95d9a412d7dad14b266707d2c0e760b2d5aa54fb7dd7d1f0b2d21d19b561d5060418037f1de24c53b32ad52b
+EBUILD git-9999-r1.ebuild 19492 SHA256 7ffc88887aa46a21a50af75c177e551ef40ffbb1b12b651a9c0c3111d9f3fc6c SHA512 f0dfd54aad567141b2806c0e2bc8a24699b66456f6fe964071a5da78b201b4f27dd7942e75ae320f6b5b4c0c18a948971ad75a339125cbd5f5709ec0780726a8 WHIRLPOOL 332d2dbb55610ca410fd04e2fc595e1e65fc6edd95d9a412d7dad14b266707d2c0e760b2d5aa54fb7dd7d1f0b2d21d19b561d5060418037f1de24c53b32ad52b
+EBUILD git-9999-r2.ebuild 19492 SHA256 7ffc88887aa46a21a50af75c177e551ef40ffbb1b12b651a9c0c3111d9f3fc6c SHA512 f0dfd54aad567141b2806c0e2bc8a24699b66456f6fe964071a5da78b201b4f27dd7942e75ae320f6b5b4c0c18a948971ad75a339125cbd5f5709ec0780726a8 WHIRLPOOL 332d2dbb55610ca410fd04e2fc595e1e65fc6edd95d9a412d7dad14b266707d2c0e760b2d5aa54fb7dd7d1f0b2d21d19b561d5060418037f1de24c53b32ad52b
+EBUILD git-9999-r3.ebuild 19492 SHA256 7ffc88887aa46a21a50af75c177e551ef40ffbb1b12b651a9c0c3111d9f3fc6c SHA512 f0dfd54aad567141b2806c0e2bc8a24699b66456f6fe964071a5da78b201b4f27dd7942e75ae320f6b5b4c0c18a948971ad75a339125cbd5f5709ec0780726a8 WHIRLPOOL 332d2dbb55610ca410fd04e2fc595e1e65fc6edd95d9a412d7dad14b266707d2c0e760b2d5aa54fb7dd7d1f0b2d21d19b561d5060418037f1de24c53b32ad52b
+EBUILD git-9999.ebuild 19492 SHA256 7ffc88887aa46a21a50af75c177e551ef40ffbb1b12b651a9c0c3111d9f3fc6c SHA512 f0dfd54aad567141b2806c0e2bc8a24699b66456f6fe964071a5da78b201b4f27dd7942e75ae320f6b5b4c0c18a948971ad75a339125cbd5f5709ec0780726a8 WHIRLPOOL 332d2dbb55610ca410fd04e2fc595e1e65fc6edd95d9a412d7dad14b266707d2c0e760b2d5aa54fb7dd7d1f0b2d21d19b561d5060418037f1de24c53b32ad52b
+MISC ChangeLog 27994 SHA256 ae0914321ef517b21a377da20d6b504a60d449e16301d416a91ec721f317b82d SHA512 3e005d091140e57221bc63fc801a78bab9442b733948ff61833ed84baa97f5cf5f4a7f4c23fb035ef11a80ae8d897ab5671205e6dbcc9e3473316514bf725079 WHIRLPOOL 3bace4900507085c37196e6543bffa4c6ef8a302332b37a0e5d1821c0205a6258ecbbc69e07bb93821e512dd74a79551d35299f2b1a03ce99fe762536be19106
+MISC ChangeLog-2012 94624 SHA256 7c8c313ea4800194191f7255023cabd205e56bb9761e8877dfab3770024b158c SHA512 f19cae0a29e8598e3bb68f1295baa56ff0edf06b2e3a95081ea2f95c4555d63dd6a0bff5a82345b274a1936104a75a69fe7862d7738a7fa2539ec9a7afd6b28f WHIRLPOOL 059ab6c542757c4524cb20cebb3cfa4bfbbe16d3a66da0805fb972d32f91f2a49bee97d1d73acf74d8e2cf3cc7a552371cf66db0580506d4b1a9e05ee52bdea4
+MISC ChangeLog-2015 29654 SHA256 82cc6b66c218365e83ce2e73618aeab54033aaa197e1a9d41dc8271352eea251 SHA512 2d8c2041e1c2ba5ceaa988b658ac3df5ae3ec333e3718f49147b293f5dc780e9aefc4af22b0ce870178bada6515fd5b2789c49d08337552835c861b3073ae752 WHIRLPOOL 845dea2b0ccec9fc651616c76d9f2821bde837428449dbd30e8dd1bc15bb91d54254a77b03e858f5c1fd3c314c5ad28833dc27dda5404af36191c8149254e27a
+MISC metadata.xml 2066 SHA256 a06996cbadeaa36f10a27dcff20dcedc02ddbc7789a96e4086472773af90f923 SHA512 a0018307f19e6695002fa52a7cf898071ea8b7798ed7454f544a3bd15a3448cdab322fac5fcbae7b72e9a9ecf823c56b6ced8de560e68012be0ea6d09b0640bd WHIRLPOOL b4d2efa22147a81ca61760ca2b7b5b71dc6c6c7a55073451d15d3044f8f9e4ec510db9d451ee01a76d3347b1546a55f1c33f342502bd6a184305f553bc2804f5
diff --git a/dev-vcs/git/files/50git-gentoo.el b/dev-vcs/git/files/50git-gentoo.el
new file mode 100644
index 000000000000..1646a391c53c
--- /dev/null
+++ b/dev-vcs/git/files/50git-gentoo.el
@@ -0,0 +1,13 @@
+
+;;; dev-vcs/git site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'git-status "git" "Entry point into git-status mode." t)
+;;(autoload 'git-blame-mode "git-blame"
+;; "Minor mode for incremental blame for Git." t)
+
+;; GNU Emacs >=22.2 already includes vc-git.el.
+;; Enable the following only if Emacs has no GIT support.
+(unless (fboundp 'vc-git-registered)
+ (add-to-list 'load-path "@SITELISP@/compat")
+ (add-to-list 'vc-handled-backends 'GIT))
diff --git a/dev-vcs/git/files/git-1.8.5-mw-vendor.patch b/dev-vcs/git/files/git-1.8.5-mw-vendor.patch
new file mode 100644
index 000000000000..54302ef26c91
--- /dev/null
+++ b/dev-vcs/git/files/git-1.8.5-mw-vendor.patch
@@ -0,0 +1,39 @@
+diff --git a/contrib/mw-to-git/Makefile b/contrib/mw-to-git/Makefile
+index a4b6f7a..d83df2c 100644
+--- a/contrib/mw-to-git/Makefile
++++ b/contrib/mw-to-git/Makefile
+@@ -22,7 +22,7 @@ INSTALL = install
+
+ SCRIPT_PERL_FULL=$(patsubst %,$(HERE)/%,$(SCRIPT_PERL))
+ INSTLIBDIR=$(shell $(MAKE) -C $(GIT_ROOT_DIR)/perl \
+- -s --no-print-directory instlibdir)
++ -s --no-print-directory instvendorlibdir)
+ DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
+ INSTLIBDIR_SQ = $(subst ','\'',$(INSTLIBDIR))
+
+diff --git a/perl/Makefile b/perl/Makefile
+index 15d96fc..91348c6 100644
+--- a/perl/Makefile
++++ b/perl/Makefile
+@@ -12,7 +12,7 @@ ifndef V
+ QUIET = @
+ endif
+
+-all install instlibdir: $(makfile)
++all install instlibdir instvendorlibdir: $(makfile)
+ $(QUIET)$(MAKE) -f $(makfile) $@
+
+ clean:
+diff --git a/perl/Makefile.PL b/perl/Makefile.PL
+index 3f29ba9..c0b3508 100644
+--- a/perl/Makefile.PL
++++ b/perl/Makefile.PL
+@@ -17,6 +17,8 @@ sub MY::postamble {
+ return <<'MAKE_FRAG';
+ instlibdir:
+ @echo '$(INSTALLSITELIB)'
++instvendorlibdir:
++ @echo '$(INSTALLVENDORLIB)'
+
+ ifneq (,$(DESTDIR))
+ ifeq (0,$(shell expr '$(MM_VERSION)' '>' 6.10))
diff --git a/dev-vcs/git/files/git-2.12.0-optional-cvs.patch b/dev-vcs/git/files/git-2.12.0-optional-cvs.patch
new file mode 100644
index 000000000000..d158b65d30a4
--- /dev/null
+++ b/dev-vcs/git/files/git-2.12.0-optional-cvs.patch
@@ -0,0 +1,456 @@
+From 1e1bacf32568cc24dbd24444ed4025fc80a96ff3 Mon Sep 17 00:00:00 2001
+From: Robin Johnson <robbat2@gentoo.org>
+Date: Sat, 25 Feb 2017 20:48:14 +0100
+Subject: [PATCH] Makefile: Add NO_CVS define to disable all CVS interface
+ utilities
+
+Forward-ported from 1.7.12 to current git.git v1.8.4
+Forward-ported from v1.8.4 to v1.8.5.1
+Forward-ported from v1.8.5.3 to v1.9.0_rc3
+Forward-ported from 1.9.0_rc3 to current git.git v2.0.0_rc0
+Forward-ported from v2.0.0_rc0 to v2.0.0
+Forward-ported from v2.0.0 to v2.2.2
+Forward-ported from v2.2.2 to v2.8.4
+Forward-ported from v2.8.4 to v2.10.0
+Forward-ported from v2.10.0 to v2.12.0
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ Makefile | 51 ++++++++++++++++++++++++++++----------
+ t/t9200-git-cvsexportcommit.sh | 5 ++++
+ t/t9400-git-cvsserver-server.sh | 8 +++++-
+ t/t9401-git-cvsserver-crlf.sh | 15 +++++++----
+ t/t9600-cvsimport.sh | 41 +++++++++++++++++++-----------
+ t/t9601-cvsimport-vendor-branch.sh | 11 ++++++++
+ t/t9602-cvsimport-branches-tags.sh | 11 ++++++++
+ t/t9603-cvsimport-patchsets.sh | 11 ++++++++
+ t/test-lib.sh | 1 +
+ 9 files changed, 120 insertions(+), 34 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8e4081e06..f14a4ad37 100644
+--- a/Makefile
++++ b/Makefile
+@@ -273,6 +273,8 @@ all::
+ # Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep
+ # and egrep that are pickier when their input contains non-ASCII data.
+ #
++# Define NO_CVS if you do not want any CVS interface utilities.
++#
+ # The TCL_PATH variable governs the location of the Tcl interpreter
+ # used to optimize git-gui for your system. Only used if NO_TCLTK
+ # is not set. Defaults to the bare 'tclsh'.
+@@ -496,6 +498,7 @@ LIB_OBJS =
+ PROGRAM_OBJS =
+ PROGRAMS =
+ SCRIPT_PERL =
++SCRIPT_PERL_CVS =
+ SCRIPT_PYTHON =
+ SCRIPT_SH =
+ SCRIPT_LIB =
+@@ -532,12 +535,13 @@ SCRIPT_LIB += git-sh-i18n
+
+ SCRIPT_PERL += git-add--interactive.perl
+ SCRIPT_PERL += git-archimport.perl
+-SCRIPT_PERL += git-cvsexportcommit.perl
+-SCRIPT_PERL += git-cvsimport.perl
+-SCRIPT_PERL += git-cvsserver.perl
+ SCRIPT_PERL += git-send-email.perl
+ SCRIPT_PERL += git-svn.perl
+
++SCRIPT_PERL_CVS += git-cvsexportcommit.perl
++SCRIPT_PERL_CVS += git-cvsimport.perl
++SCRIPT_PERL_CVS += git-cvsserver.perl
++
+ SCRIPT_PYTHON += git-p4.py
+
+ NO_INSTALL += git-remote-testgit
+@@ -545,24 +549,26 @@ NO_INSTALL += git-remote-testgit
+ # Generated files for scripts
+ SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
+ SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
++SCRIPT_PERL_CVS_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL_CVS))
+ SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
+
+ SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
+ SCRIPT_PERL_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_GEN))
++SCRIPT_PERL_CVS_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PERL_CVS_GEN))
+ SCRIPT_PYTHON_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_PYTHON_GEN))
+
+ # Individual rules to allow e.g.
+ # "make -C ../.. SCRIPT_PERL=contrib/foo/bar.perl build-perl-script"
+ # from subdirectories like contrib/*/
+ .PHONY: build-perl-script build-sh-script build-python-script
+-build-perl-script: $(SCRIPT_PERL_GEN)
++build-perl-script: $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ build-sh-script: $(SCRIPT_SH_GEN)
+ build-python-script: $(SCRIPT_PYTHON_GEN)
+
+ .PHONY: install-perl-script install-sh-script install-python-script
+ install-sh-script: $(SCRIPT_SH_INS)
+ $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+-install-perl-script: $(SCRIPT_PERL_INS)
++install-perl-script: $(SCRIPT_PERL_INS) $(SCRIPT_PERL_CVS_INS)
+ $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+ install-python-script: $(SCRIPT_PYTHON_INS)
+ $(INSTALL) $^ '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+@@ -571,12 +577,13 @@ install-python-script: $(SCRIPT_PYTHON_INS)
+ clean-sh-script:
+ $(RM) $(SCRIPT_SH_GEN)
+ clean-perl-script:
+- $(RM) $(SCRIPT_PERL_GEN)
++ $(RM) $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN)
+ clean-python-script:
+ $(RM) $(SCRIPT_PYTHON_GEN)
+
+ SCRIPTS = $(SCRIPT_SH_INS) \
+ $(SCRIPT_PERL_INS) \
++ $(SCRIPT_PERL_CVS_INS) \
+ $(SCRIPT_PYTHON_INS) \
+ git-instaweb
+
+@@ -1832,10 +1839,24 @@ git.res: git.rc GIT-VERSION-FILE
+ -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" -i $< -o $@
+
+ # This makes sure we depend on the NO_PERL setting itself.
+-$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS
++$(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN): GIT-BUILD-OPTIONS
++
++_SCRIPT_PERL_GEN =
++_SCRIPT_PERL_NOGEN =
+
+ ifndef NO_PERL
+-$(SCRIPT_PERL_GEN): perl/perl.mak
++
++_SCRIPT_PERL_GEN = $(SCRIPT_PERL_GEN)
++
++ifndef NO_CVS
++_SCRIPT_PERL_GEN += $(SCRIPT_PERL_CVS_GEN)
++else
++_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_CVS_GEN)
++_REASON = NO_CVS
++_REASON_CONTENT = $(NO_CVS)
++endif # NO_CVS
++
++$(_SCRIPT_PERL_GEN): perl/perl.mak
+
+ perl/perl.mak: perl/PM.stamp
+
+@@ -1848,7 +1869,7 @@ perl/perl.mak: GIT-CFLAGS GIT-PREFIX perl/Makefile perl/Makefile.PL
+ $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
+
+ PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ)
+-$(SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
++$(_SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
+ $(QUIET_GEN)$(RM) $@ $@+ && \
+ INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \
+ INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
+@@ -1882,14 +1903,18 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
+ chmod +x $@+ && \
+ mv $@+ $@
+ else # NO_PERL
+-$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh
++_SCRIPT_PERL_NOGEN += $(SCRIPT_PERL_GEN) $(SCRIPT_PERL_CVS_GEN) git-instaweb
++_REASON = NO_PERL
++_REASON_CONTENT = $(NO_PERL)
++endif # NO_PERL
++
++$(_SCRIPT_PERL_NOGEN): % : unimplemented.sh
+ $(QUIET_GEN)$(RM) $@ $@+ && \
+ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+- -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
++ -e 's|@@REASON@@|$(_REASON)=$(_REASON_CONTENT)|g' \
+ unimplemented.sh >$@+ && \
+ chmod +x $@+ && \
+ mv $@+ $@
+-endif # NO_PERL
+
+ # This makes sure we depend on the NO_PYTHON setting itself.
+ $(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS
+@@ -2125,7 +2150,7 @@ LOCALIZED_SH = $(SCRIPT_SH)
+ LOCALIZED_SH += git-parse-remote.sh
+ LOCALIZED_SH += git-rebase--interactive.sh
+ LOCALIZED_SH += git-sh-setup.sh
+-LOCALIZED_PERL = $(SCRIPT_PERL)
++LOCALIZED_PERL = $(SCRIPT_PERL) $(SCRIPT_PERL_CVS)
+
+ ifdef XGETTEXT_INCLUDE_TESTS
+ LOCALIZED_C += t/t0200/test.c
+diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
+index bb879a527..17be19729 100755
+--- a/t/t9200-git-cvsexportcommit.sh
++++ b/t/t9200-git-cvsexportcommit.sh
+@@ -11,6 +11,11 @@ if ! test_have_prereq PERL; then
+ test_done
+ fi
+
++if ! test_have_prereq CVS; then
++ skip_all='skipping git cvsexportcommit tests, cvs not available'
++ test_done
++fi
++
+ cvs >/dev/null 2>&1
+ if test $? -ne 1
+ then
+diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
+index 432c61d24..6907b3f52 100755
+--- a/t/t9400-git-cvsserver-server.sh
++++ b/t/t9400-git-cvsserver-server.sh
+@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
+ . ./test-lib.sh
+
+ if ! test_have_prereq PERL; then
+- skip_all='skipping git cvsserver tests, perl not available'
++ skip_all='skipping git-cvsserver tests, perl not available'
+ test_done
+ fi
++
++if ! test_have_prereq CVS; then
++ skip_all='skipping git-cvsserver tests, cvs not available'
++ test_done
++fi
++
+ cvs >/dev/null 2>&1
+ if test $? -ne 1
+ then
+diff --git a/t/t9401-git-cvsserver-crlf.sh b/t/t9401-git-cvsserver-crlf.sh
+index 84787eee9..eecba8852 100755
+--- a/t/t9401-git-cvsserver-crlf.sh
++++ b/t/t9401-git-cvsserver-crlf.sh
+@@ -57,15 +57,20 @@ check_status_options() {
+ return $stat
+ }
+
+-cvs >/dev/null 2>&1
+-if test $? -ne 1
++if ! test_have_prereq PERL
+ then
+- skip_all='skipping git-cvsserver tests, cvs not found'
++ skip_all='skipping git-cvsserver tests, perl not available'
+ test_done
+ fi
+-if ! test_have_prereq PERL
++if ! test_have_prereq CVS
+ then
+- skip_all='skipping git-cvsserver tests, perl not available'
++ skip_all='skipping git-cvsserver tests, cvs not available'
++ test_done
++fi
++cvs >/dev/null 2>&1
++if test $? -ne 1
++then
++ skip_all='skipping git-cvsserver tests, cvs not found'
+ test_done
+ fi
+ perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
+diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh
+index 4c384ff02..d601f32c5 100755
+--- a/t/t9600-cvsimport.sh
++++ b/t/t9600-cvsimport.sh
+@@ -3,14 +3,25 @@
+ test_description='git cvsimport basic tests'
+ . ./lib-cvs.sh
+
+-test_expect_success PERL 'setup cvsroot environment' '
++if ! test_have_prereq PERL
++then
++ skip_all='skipping git cvsimport tests, perl not available'
++ test_done
++fi
++if ! test_have_prereq CVS
++then
++ skip_all='skipping git cvsimport tests, cvs not available'
++ test_done
++fi
++
++test_expect_success 'setup cvsroot environment' '
+ CVSROOT=$(pwd)/cvsroot &&
+ export CVSROOT
+ '
+
+-test_expect_success PERL 'setup cvsroot' '$CVS init'
++test_expect_success 'setup cvsroot' '$CVS init'
+
+-test_expect_success PERL 'setup a cvs module' '
++test_expect_success 'setup a cvs module' '
+
+ mkdir "$CVSROOT/module" &&
+ $CVS co -d module-cvs module &&
+@@ -42,23 +53,23 @@ EOF
+ )
+ '
+
+-test_expect_success PERL 'import a trivial module' '
++test_expect_success 'import a trivial module' '
+
+ git cvsimport -a -R -z 0 -C module-git module &&
+ test_cmp module-cvs/o_fortuna module-git/o_fortuna
+
+ '
+
+-test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
++test_expect_success 'pack refs' '(cd module-git && git gc)'
+
+-test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
++test_expect_success 'initial import has correct .git/cvs-revisions' '
+
+ (cd module-git &&
+ git log --format="o_fortuna 1.1 %H" -1) > expected &&
+ test_cmp expected module-git/.git/cvs-revisions
+ '
+
+-test_expect_success PERL 'update cvs module' '
++test_expect_success 'update cvs module' '
+ (cd module-cvs &&
+ cat <<EOF >o_fortuna &&
+ O Fortune,
+@@ -86,7 +97,7 @@ EOF
+ )
+ '
+
+-test_expect_success PERL 'update git module' '
++test_expect_success 'update git module' '
+
+ (cd module-git &&
+ git config cvsimport.trackRevisions true &&
+@@ -97,7 +108,7 @@ test_expect_success PERL 'update git module' '
+
+ '
+
+-test_expect_success PERL 'update has correct .git/cvs-revisions' '
++test_expect_success 'update has correct .git/cvs-revisions' '
+
+ (cd module-git &&
+ git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
+@@ -105,7 +116,7 @@ test_expect_success PERL 'update has correct .git/cvs-revisions' '
+ test_cmp expected module-git/.git/cvs-revisions
+ '
+
+-test_expect_success PERL 'update cvs module' '
++test_expect_success 'update cvs module' '
+
+ (cd module-cvs &&
+ echo 1 >tick &&
+@@ -114,7 +125,7 @@ test_expect_success PERL 'update cvs module' '
+ )
+ '
+
+-test_expect_success PERL 'cvsimport.module config works' '
++test_expect_success 'cvsimport.module config works' '
+
+ (cd module-git &&
+ git config cvsimport.module module &&
+@@ -126,7 +137,7 @@ test_expect_success PERL 'cvsimport.module config works' '
+
+ '
+
+-test_expect_success PERL 'second update has correct .git/cvs-revisions' '
++test_expect_success 'second update has correct .git/cvs-revisions' '
+
+ (cd module-git &&
+ git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
+@@ -135,7 +146,7 @@ test_expect_success PERL 'second update has correct .git/cvs-revisions' '
+ test_cmp expected module-git/.git/cvs-revisions
+ '
+
+-test_expect_success PERL 'import from a CVS working tree' '
++test_expect_success 'import from a CVS working tree' '
+
+ $CVS co -d import-from-wt module &&
+ (cd import-from-wt &&
+@@ -148,12 +159,12 @@ test_expect_success PERL 'import from a CVS working tree' '
+
+ '
+
+-test_expect_success PERL 'no .git/cvs-revisions created by default' '
++test_expect_success 'no .git/cvs-revisions created by default' '
+
+ ! test -e import-from-wt/.git/cvs-revisions
+
+ '
+
+-test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
++test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
+
+ test_done
+diff --git a/t/t9601-cvsimport-vendor-branch.sh b/t/t9601-cvsimport-vendor-branch.sh
+index 827d39f5b..d730a41f6 100755
+--- a/t/t9601-cvsimport-vendor-branch.sh
++++ b/t/t9601-cvsimport-vendor-branch.sh
+@@ -34,6 +34,17 @@
+ test_description='git cvsimport handling of vendor branches'
+ . ./lib-cvs.sh
+
++if ! test_have_prereq PERL
++then
++ skip_all='skipping git cvsimport tests, perl not available'
++ test_done
++fi
++if ! test_have_prereq CVS
++then
++ skip_all='skipping git cvsimport tests, cvs not available'
++ test_done
++fi
++
+ setup_cvs_test_repository t9601
+
+ test_expect_success PERL 'import a module with a vendor branch' '
+diff --git a/t/t9602-cvsimport-branches-tags.sh b/t/t9602-cvsimport-branches-tags.sh
+index e1db323f5..68f097401 100755
+--- a/t/t9602-cvsimport-branches-tags.sh
++++ b/t/t9602-cvsimport-branches-tags.sh
+@@ -6,6 +6,17 @@
+ test_description='git cvsimport handling of branches and tags'
+ . ./lib-cvs.sh
+
++if ! test_have_prereq PERL
++then
++ skip_all='skipping git cvsimport tests, perl not available'
++ test_done
++fi
++if ! test_have_prereq CVS
++then
++ skip_all='skipping git cvsimport tests, cvs not available'
++ test_done
++fi
++
+ setup_cvs_test_repository t9602
+
+ test_expect_success PERL 'import module' '
+diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh
+index c4c3c4954..9b2957d4f 100755
+--- a/t/t9603-cvsimport-patchsets.sh
++++ b/t/t9603-cvsimport-patchsets.sh
+@@ -14,6 +14,17 @@
+ test_description='git cvsimport testing for correct patchset estimation'
+ . ./lib-cvs.sh
+
++if ! test_have_prereq PERL
++then
++ skip_all='skipping git cvsimport tests, perl not available'
++ test_done
++fi
++if ! test_have_prereq CVS
++then
++ skip_all='skipping git cvsimport tests, cvs not available'
++ test_done
++fi
++
+ setup_cvs_test_repository t9603
+
+ test_expect_failure PERL 'import with criss cross times on revisions' '
+diff --git a/t/test-lib.sh b/t/test-lib.sh
+index 86d77c16d..1fb51f149 100644
+--- a/t/test-lib.sh
++++ b/t/test-lib.sh
+@@ -1007,6 +1007,7 @@ case $uname_s in
+ esac
+
+ ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
++test -z "$NO_CVS" && test_set_prereq CVS
+ test -z "$NO_PERL" && test_set_prereq PERL
+ test -z "$NO_PYTHON" && test_set_prereq PYTHON
+ test -n "$USE_LIBPCRE" && test_set_prereq LIBPCRE
+--
+2.11.1
+
diff --git a/dev-vcs/git/files/git-2.2.0-svn-fe-linking.patch b/dev-vcs/git/files/git-2.2.0-svn-fe-linking.patch
new file mode 100644
index 000000000000..b20b889110eb
--- /dev/null
+++ b/dev-vcs/git/files/git-2.2.0-svn-fe-linking.patch
@@ -0,0 +1,11 @@
+--- git-2.2.0/contrib/svn-fe/Makefile
++++ git-2.2.0/contrib/svn-fe/Makefile
+@@ -74,7 +74,7 @@
+ endif
+
+ svn-fe$X: svn-fe.o $(VCSSVN_LIB) $(XDIFF_LIB) $(GIT_LIB)
+- $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $(EXTLIBS) -o $@ svn-fe.o $(LIBS)
++ $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ svn-fe.o $(LIBS) $(EXTLIBS)
+
+ svn-fe.o: svn-fe.c ../../vcs-svn/svndump.h
+ $(QUIET_CC)$(CC) $(CFLAGS) -I../../vcs-svn -o $*.o -c $<
diff --git a/dev-vcs/git/files/git-2.5.1-freebsd-10.x-no-iconv.patch b/dev-vcs/git/files/git-2.5.1-freebsd-10.x-no-iconv.patch
new file mode 100644
index 000000000000..a874236dc65c
--- /dev/null
+++ b/dev-vcs/git/files/git-2.5.1-freebsd-10.x-no-iconv.patch
@@ -0,0 +1,14 @@
+diff -Naurp git-2.5.1.orig/config.mak.uname git-2.5.1/config.mak.uname
+--- git-2.5.1.orig/config.mak.uname 2015-08-28 15:37:13.000000000 -0400
++++ git-2.5.1/config.mak.uname 2015-09-06 18:54:28.538437000 -0400
+@@ -189,7 +189,9 @@ ifeq ($(uname_O),Cygwin)
+ SPARSE_FLAGS = -isystem /usr/include/w32api -Wno-one-bit-signed-bitfield
+ endif
+ ifeq ($(uname_S),FreeBSD)
+- NEEDS_LIBICONV = YesPlease
++ ifeq ($(shell expr "$(uname_R)" : '[1-9]\.'),2)
++ NEEDS_LIBICONV = YesPlease
++ endif
+ OLD_ICONV = YesPlease
+ NO_MEMMEM = YesPlease
+ BASIC_CFLAGS += -I/usr/local/include
diff --git a/dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch b/dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch
new file mode 100644
index 000000000000..0ce706db99a6
--- /dev/null
+++ b/dev-vcs/git/files/git-2.7.0-mediawiki-500pages.patch
@@ -0,0 +1,46 @@
+Searching for pages using the MediaWiki API returns at most 500 results
+(hi Patrick). To get a list of all pages in a larger wiki, we need to run
+repeated searches...
+
+Source: https://github.com/moy/Git-Mediawiki/issues/32
+Author: anarcat https://github.com/anarcat
+
+diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl
+index 8dd74a9..f2ce311 100755
+--- a/contrib/mw-to-git/git-remote-mediawiki.perl
++++ b/contrib/mw-to-git/git-remote-mediawiki.perl
+@@ -259,16 +259,29 @@ sub get_mw_tracked_categories {
+ sub get_mw_all_pages {
+ my $pages = shift;
+ # No user-provided list, get the list of pages from the API.
+- my $mw_pages = $mediawiki->list({
++ my $query = {
+ action => 'query',
+ list => 'allpages',
+ aplimit => 'max'
+- });
+- if (!defined($mw_pages)) {
++ };
++ my $curpage;
++ my $oldpage = '';
++ while (1) {
++ if (defined($curpage)) {
++ if ($oldpage eq $curpage) {
++ last;
++ }
++ $query->{apfrom} = $curpage;
++ $oldpage = $curpage;
++ }
++ my $mw_pages = $mediawiki->list($query);
++ if (!defined($mw_pages)) {
+ fatal_mw_error("get the list of wiki pages");
+- }
+- foreach my $page (@{$mw_pages}) {
++ }
++ foreach my $page (@{$mw_pages}) {
+ $pages->{$page->{title}} = $page;
++ $curpage = $page->{title};
++ }
+ }
+ return;
+ }
diff --git a/dev-vcs/git/files/git-2.7.0-mediawiki-namespaces.patch b/dev-vcs/git/files/git-2.7.0-mediawiki-namespaces.patch
new file mode 100644
index 000000000000..72ab2126fa9c
--- /dev/null
+++ b/dev-vcs/git/files/git-2.7.0-mediawiki-namespaces.patch
@@ -0,0 +1,97 @@
+source:
+https://gist.github.com/anarcat/f821fa285c6b8b6b16a5
+https://github.com/moy/Git-Mediawiki/issues/10
+
+
+From 147224cfe6143c44b16aec0bb6d6a506a6b96ced Mon Sep 17 00:00:00 2001
+From: Kevin <kevin@ki-ai.org>
+Date: Fri, 28 Aug 2015 15:53:37 -0500
+Subject: [PATCH] Add namespace support to git-mediawiki
+
+Signed-off-by: Kevin <kevin@ki-ai.org>
+---
+ contrib/mw-to-git/git-remote-mediawiki.perl | 34 +++++++++++++++++++++++++++--
+ 1 file changed, 32 insertions(+), 2 deletions(-)
+
+diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl
+index 8dd74a9..662a5b5 100755
+--- a/contrib/mw-to-git/git-remote-mediawiki.perl
++++ b/contrib/mw-to-git/git-remote-mediawiki.perl
+@@ -17,6 +17,7 @@ use Git;
+ use Git::Mediawiki qw(clean_filename smudge_filename connect_maybe
+ EMPTY HTTP_CODE_OK);
+ use DateTime::Format::ISO8601;
++use Scalar::Util;
+ use warnings;
+
+ # By default, use UTF-8 to communicate with Git and the user
+@@ -63,6 +64,10 @@ chomp(@tracked_pages);
+ my @tracked_categories = split(/[ \n]/, run_git("config --get-all remote.${remotename}.categories"));
+ chomp(@tracked_categories);
+
++# Just like @tracked_categories, but for MediaWiki namespaces.
++my @tracked_namespaces = split(/[ \n]/, run_git("config --get-all remote.${remotename}.namespaces"));
++chomp(@tracked_namespaces);
++
+ # Import media files on pull
+ my $import_media = run_git("config --get --bool remote.${remotename}.mediaimport");
+ chomp($import_media);
+@@ -256,6 +261,23 @@ sub get_mw_tracked_categories {
+ return;
+ }
+
++sub get_mw_tracked_namespaces {
++ my $pages = shift;
++ foreach my $local_namespace (@tracked_namespaces) {
++ my $mw_pages = $mediawiki->list( {
++ action => 'query',
++ list => 'allpages',
++ apnamespace => get_mw_namespace_id($local_namespace),
++ aplimit => 'max' } )
++ || die $mediawiki->{error}->{code} . ': '
++ . $mediawiki->{error}->{details} . "\n";
++ foreach my $page (@{$mw_pages}) {
++ $pages->{$page->{title}} = $page;
++ }
++ }
++ return;
++}
++
+ sub get_mw_all_pages {
+ my $pages = shift;
+ # No user-provided list, get the list of pages from the API.
+@@ -319,6 +341,10 @@ sub get_mw_pages {
+ $user_defined = 1;
+ get_mw_tracked_categories(\%pages);
+ }
++ if (@tracked_namespaces) {
++ $user_defined = 1;
++ get_mw_tracked_namespaces(\%pages);
++ }
+ if (!$user_defined) {
+ get_mw_all_pages(\%pages);
+ }
+@@ -1263,7 +1289,6 @@ my %cached_mw_namespace_id;
+ sub get_mw_namespace_id {
+ $mediawiki = connect_maybe($mediawiki, $remotename, $url);
+ my $name = shift;
+-
+ if (!exists $namespace_id{$name}) {
+ # Look at configuration file, if the record for that namespace is
+ # already cached. Namespaces are stored in form:
+@@ -1331,7 +1356,12 @@ sub get_mw_namespace_id {
+ sub get_mw_namespace_id_for_page {
+ my $namespace = shift;
+ if ($namespace =~ /^([^:]*):/) {
+- return get_mw_namespace_id($namespace);
++ my ($ns, $id) = split(/:/, $namespace);
++ if (Scalar::Util::looks_like_number($id)) {
++ return get_mw_namespace_id($ns);
++ } else{
++ return
++ }
+ } else {
+ return;
+ }
+--
+2.5.0
diff --git a/dev-vcs/git/files/git-2.7.0-mediawiki-subpages.patch b/dev-vcs/git/files/git-2.7.0-mediawiki-subpages.patch
new file mode 100644
index 000000000000..c798a894d3f8
--- /dev/null
+++ b/dev-vcs/git/files/git-2.7.0-mediawiki-subpages.patch
@@ -0,0 +1,48 @@
+From 2593304723c6def159c10b9060dafa78a775a057 Mon Sep 17 00:00:00 2001
+From: Lyubomyr Shaydariv <lyubomyr-shaydariv@users.noreply.github.com>
+Date: Fri, 11 Sep 2015 00:41:17 +0300
+Subject: [PATCH] git-remote-mediawiki: support subpages as subdirectories
+
+This is a fix for https://github.com/moy/Git-Mediawiki/issues/22
+The subdirectories option is enabled using -c remote.origin.subpageDirs=true
+during the cloning and it is not recommended to be modified in or
+removed from .git/config after the cloning.
+---
+ contrib/mw-to-git/git-remote-mediawiki.perl | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl
+index 8dd74a9..f3624be 100755
+--- a/contrib/mw-to-git/git-remote-mediawiki.perl
++++ b/contrib/mw-to-git/git-remote-mediawiki.perl
+@@ -63,6 +63,11 @@
+ my @tracked_categories = split(/[ \n]/, run_git("config --get-all remote.${remotename}.categories"));
+ chomp(@tracked_categories);
+
++# Use subdirectories for subpages
++my $use_subpage_dirs = run_git("config --get --bool remote.${remotename}.subpageDirs");
++chomp($use_subpage_dirs);
++$use_subpage_dirs = ($use_subpage_dirs eq 'true');
++
+ # Import media files on pull
+ my $import_media = run_git("config --get --bool remote.${remotename}.mediaimport");
+ chomp($import_media);
+@@ -689,6 +694,9 @@ sub fe_escape_path {
+ $path =~ s/\\/\\\\/g;
+ $path =~ s/"/\\"/g;
+ $path =~ s/\n/\\n/g;
++ if ($use_subpage_dirs) {
++ $path =~ s/%2F/\//g;
++ }
+ return qq("${path}");
+ }
+
+@@ -927,7 +935,7 @@ sub mw_import_revids {
+ # If this is a revision of the media page for new version
+ # of a file do one common commit for both file and media page.
+ # Else do commit only for that page.
+- print {*STDERR} "${n}/", scalar(@{$revision_ids}), ": Revision #$rev->{revid} of $commit{title}\n";
++ print {*STDERR} "${n}/", scalar(@{$revision_ids}), ": Revision #$rev->{revid} of ", fe_escape_path($commit{title}), "\n";
+ import_file_revision(\%commit, ($fetch_from == 1), $n_actual, \%mediafile);
+ }
+
diff --git a/dev-vcs/git/files/git-daemon-r1.initd b/dev-vcs/git/files/git-daemon-r1.initd
new file mode 100644
index 000000000000..da315cb3b093
--- /dev/null
+++ b/dev-vcs/git/files/git-daemon-r1.initd
@@ -0,0 +1,12 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+pidfile="/var/run/git-daemon.pid"
+command="/usr/bin/git"
+command_args="daemon ${GITDAEMON_OPTS}"
+start_stop_daemon_args="-e HOME= -e XDG_CONFIG_HOME= -b -m -p ${pidfile} -u ${GIT_USER:-nobody}:${GIT_GROUP:-nobody}"
+
+depend() {
+ use logger
+}
diff --git a/dev-vcs/git/files/git-daemon.confd b/dev-vcs/git/files/git-daemon.confd
new file mode 100644
index 000000000000..69b209ff18cc
--- /dev/null
+++ b/dev-vcs/git/files/git-daemon.confd
@@ -0,0 +1,19 @@
+# conf.d file for git-daemon
+#
+# Please check man 1 git-daemon for more information about the options
+# git-daemon accepts. You MUST edit this to include your repositories you wish
+# to serve.
+#
+# Some of the meaningful options are:
+# --syslog --- Enables syslog logging
+# --verbose --- Enables verbose logging
+# --export-all --- Exports all repositories
+# --port=XXXX --- Starts in port XXXX instead of 9418
+#
+GITDAEMON_OPTS="--syslog --base-path=/var/git"
+
+# To run an anonymous git safely, the following user should be able to only
+# read your Git repositories. It should not be able to write to anywhere on
+# your system, esp. not the repositories.
+GIT_USER="nobody"
+GIT_GROUP="nobody"
diff --git a/dev-vcs/git/files/git-daemon.socket b/dev-vcs/git/files/git-daemon.socket
new file mode 100644
index 000000000000..3dec01d21653
--- /dev/null
+++ b/dev-vcs/git/files/git-daemon.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=Git Activation Socket
+
+[Socket]
+ListenStream=9418
+Accept=true
+
+[Install]
+WantedBy=sockets.target
diff --git a/dev-vcs/git/files/git-daemon.xinetd b/dev-vcs/git/files/git-daemon.xinetd
new file mode 100644
index 000000000000..02c938d4bd6c
--- /dev/null
+++ b/dev-vcs/git/files/git-daemon.xinetd
@@ -0,0 +1,13 @@
+service git-daemon
+{
+ disable = yes
+ socket_type = stream
+ wait = no
+ user = nobody
+ type = UNLISTED
+ protocol = tcp
+ log_on_failure += USERID
+ port = 9418
+ server = /usr/bin/git
+ server_args = daemon --inetd --syslog --export-all --base-path=/var/git
+}
diff --git a/dev-vcs/git/files/git-daemon_at-r1.service b/dev-vcs/git/files/git-daemon_at-r1.service
new file mode 100644
index 000000000000..0a1bd14b16a3
--- /dev/null
+++ b/dev-vcs/git/files/git-daemon_at-r1.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Git Repositories Server Daemon
+Documentation=man:git-daemon(1)
+
+[Service]
+User=nobody
+Group=nobody
+# Ignore non-zero exit status, access error makes git-daemon return them
+ExecStart=-/usr/libexec/git-core/git-daemon --inetd --base-path=/var/git --verbose
+StandardInput=socket
+StandardOutput=inherit
+StandardError=journal
diff --git a/dev-vcs/git/git-2.13.5.ebuild b/dev-vcs/git/git-2.13.5.ebuild
new file mode 100644
index 000000000000..5046a24af691
--- /dev/null
+++ b/dev-vcs/git/git-2.13.5.ebuild
@@ -0,0 +1,680 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+# See https://git-scm.com/docs/gitworkflows#_graduation
+# In order of stability:
+# 9999-r0: maint
+# 9999-r1: master
+# 9999-r2: next
+# 9999-r3: pu
+EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+EGIT_BRANCH=maint
+PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
+
+inherit toolchain-funcs eutils elisp-common l10n 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="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="http://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI_SUFFIX="xz"
+ SRC_URI_KORG="mirror://kernel/software/scm/git"
+ [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.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}
+ )"
+ [[ "${PV}" = *_rc* ]] || \
+ KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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 highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+ gnome-keyring? ( app-crypt/libsecret )
+ !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 )
+"
+
+RDEPEND="${CDEPEND}
+ gpg? ( app-crypt/gnupg )
+ mediawiki? (
+ dev-perl/DateTime-Format-ISO8601
+ 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? ( ${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 )
+ mediawiki-experimental? ( mediawiki )
+ subversion? ( perl )
+ webdav? ( curl )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+ # bug #350330 - automagic CVS when we don't want it is bad.
+ "${FILESDIR}"/git-2.12.0-optional-cvs.patch
+
+ # install mediawiki perl modules also in vendor_dir
+ # hack, needs better upstream solution
+ "${FILESDIR}"/git-1.8.5-mw-vendor.patch
+
+ "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
+
+ # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
+ "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
+)
+
+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"
+ use elibc_musl \
+ && myopts+=" NO_REGEX=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"
+ myopts+=" HAVE_CLOCK_MONOTONIC=1"
+ myopts+=" HAVE_GETDELIM=1"
+ 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-r3_src_unpack
+ cd "${S}"
+ #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ fi
+
+}
+
+src_prepare() {
+ # add experimental patches to improve mediawiki support
+ # see patches for origin
+ if use mediawiki-experimental ; then
+ PATCHES+=(
+ "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+ )
+ fi
+
+ default
+
+ 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
+ git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+ || 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/libsecret
+ git_emake || die "emake git-credential-libsecret failed"
+ fi
+
+ cd "${S}"/contrib/subtree || die
+ git_emake
+ use doc && git_emake doc
+
+ cd "${S}"/contrib/diff-highlight || die
+ git_emake
+
+ 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
+ if use doc ; then
+ docinto ${d}/html
+ dodoc Documentation${d}*.html
+ fi
+ 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
+
+ #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/libsecret
+ dobin git-credential-libsecret
+ fi
+
+ if use subversion ; then
+ cd "${S}"/contrib/svn-fe
+ dobin svn-fe
+ dodoc svn-fe.txt
+ if use doc ; then
+ doman svn-fe.1
+ docinto html
+ dodoc svn-fe.html
+ fi
+ cd "${S}"
+ fi
+
+ dodir /usr/share/${PN}/contrib
+ # The following are excluded:
+ # completion - installed above
+ # 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
+ local contrib_objects=(
+ buildsystems
+ fast-import
+ hg-to-git
+ hooks
+ remotes2config.sh
+ rerere-train.sh
+ stats
+ workdir
+ )
+ for i in "${contrib_objects[@]}" ; 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-r1.service" "git-daemon@.service"
+ systemd_dounit "${FILESDIR}/git-daemon.socket"
+ fi
+
+ perl_delete_localpod
+
+ # Remove disabled linguas
+ # we could remove sources in src_prepare, but install does not
+ # handle missing locale dir well
+ rm_loc() {
+ if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
+ rm -r "${ED}/usr/share/locale/${1}" || die
+ fi
+ }
+ l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+ local disabled=""
+ 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
+ use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/git/git-2.13.6.ebuild b/dev-vcs/git/git-2.13.6.ebuild
new file mode 100644
index 000000000000..d1022f3a5abb
--- /dev/null
+++ b/dev-vcs/git/git-2.13.6.ebuild
@@ -0,0 +1,680 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+# See https://git-scm.com/docs/gitworkflows#_graduation
+# In order of stability:
+# 9999-r0: maint
+# 9999-r1: master
+# 9999-r2: next
+# 9999-r3: pu
+EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+EGIT_BRANCH=maint
+PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
+
+inherit toolchain-funcs eutils elisp-common l10n 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="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="http://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI_SUFFIX="xz"
+ SRC_URI_KORG="mirror://kernel/software/scm/git"
+ [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.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}
+ )"
+ [[ "${PV}" = *_rc* ]] || \
+ KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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 highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+ gnome-keyring? ( app-crypt/libsecret )
+ !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 )
+"
+
+RDEPEND="${CDEPEND}
+ gpg? ( app-crypt/gnupg )
+ mediawiki? (
+ dev-perl/DateTime-Format-ISO8601
+ 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? ( ${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 )
+ mediawiki-experimental? ( mediawiki )
+ subversion? ( perl )
+ webdav? ( curl )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+ # bug #350330 - automagic CVS when we don't want it is bad.
+ "${FILESDIR}"/git-2.12.0-optional-cvs.patch
+
+ # install mediawiki perl modules also in vendor_dir
+ # hack, needs better upstream solution
+ "${FILESDIR}"/git-1.8.5-mw-vendor.patch
+
+ "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
+
+ # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
+ "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
+)
+
+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"
+ use elibc_musl \
+ && myopts+=" NO_REGEX=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"
+ myopts+=" HAVE_CLOCK_MONOTONIC=1"
+ myopts+=" HAVE_GETDELIM=1"
+ 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-r3_src_unpack
+ cd "${S}"
+ #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ fi
+
+}
+
+src_prepare() {
+ # add experimental patches to improve mediawiki support
+ # see patches for origin
+ if use mediawiki-experimental ; then
+ PATCHES+=(
+ "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+ )
+ fi
+
+ default
+
+ 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
+ git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+ || 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/libsecret
+ git_emake || die "emake git-credential-libsecret failed"
+ fi
+
+ cd "${S}"/contrib/subtree || die
+ git_emake
+ use doc && git_emake doc
+
+ cd "${S}"/contrib/diff-highlight || die
+ git_emake
+
+ 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
+ if use doc ; then
+ docinto ${d}/html
+ dodoc Documentation${d}*.html
+ fi
+ 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
+
+ #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/libsecret
+ dobin git-credential-libsecret
+ fi
+
+ if use subversion ; then
+ cd "${S}"/contrib/svn-fe
+ dobin svn-fe
+ dodoc svn-fe.txt
+ if use doc ; then
+ doman svn-fe.1
+ docinto html
+ dodoc svn-fe.html
+ fi
+ cd "${S}"
+ fi
+
+ dodir /usr/share/${PN}/contrib
+ # The following are excluded:
+ # completion - installed above
+ # 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
+ local contrib_objects=(
+ buildsystems
+ fast-import
+ hg-to-git
+ hooks
+ remotes2config.sh
+ rerere-train.sh
+ stats
+ workdir
+ )
+ for i in "${contrib_objects[@]}" ; 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-r1.service" "git-daemon@.service"
+ systemd_dounit "${FILESDIR}/git-daemon.socket"
+ fi
+
+ perl_delete_localpod
+
+ # Remove disabled linguas
+ # we could remove sources in src_prepare, but install does not
+ # handle missing locale dir well
+ rm_loc() {
+ if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
+ rm -r "${ED}/usr/share/locale/${1}" || die
+ fi
+ }
+ l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+ local disabled=""
+ 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
+ use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/git/git-2.14.1.ebuild b/dev-vcs/git/git-2.14.1.ebuild
new file mode 100644
index 000000000000..f650073b5ca7
--- /dev/null
+++ b/dev-vcs/git/git-2.14.1.ebuild
@@ -0,0 +1,692 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+[[ ${PV} == *9999 ]] && SCM="git-r3"
+# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+# See https://git-scm.com/docs/gitworkflows#_graduation
+# In order of stability:
+# 9999-r0: maint
+# 9999-r1: master
+# 9999-r2: next
+# 9999-r3: pu
+EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+EGIT_BRANCH=maint
+PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
+
+inherit toolchain-funcs eutils elisp-common l10n 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="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="http://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI_SUFFIX="xz"
+ SRC_URI_KORG="mirror://kernel/software/scm/git"
+ [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.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}
+ )"
+ [[ "${PV}" = *_rc* ]] || \
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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 highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+ gnome-keyring? ( app-crypt/libsecret )
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ sys-libs/zlib
+ pcre? (
+ pcre-jit? ( dev-libs/libpcre2[jit(+)] )
+ !pcre-jit? ( dev-libs/libpcre )
+ )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk:0= )
+ curl? (
+ net-misc/curl
+ webdav? ( dev-libs/expat )
+ )
+ emacs? ( virtual/emacs )
+"
+
+RDEPEND="${CDEPEND}
+ gpg? ( app-crypt/gnupg )
+ mediawiki? (
+ dev-perl/DateTime-Format-ISO8601
+ 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? ( ${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 )
+ mediawiki-experimental? ( mediawiki )
+ subversion? ( perl )
+ webdav? ( curl )
+ pcre-jit? ( pcre )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+ # bug #350330 - automagic CVS when we don't want it is bad.
+ "${FILESDIR}"/git-2.12.0-optional-cvs.patch
+
+ # install mediawiki perl modules also in vendor_dir
+ # hack, needs better upstream solution
+ "${FILESDIR}"/git-1.8.5-mw-vendor.patch
+
+ "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
+
+ # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
+ "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
+)
+
+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 static 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"
+ if use pcre; then
+ if use pcre-jit; then
+ myopts+=" USE_LIBPCRE2=YesPlease"
+ extlibs+=" -lpcre2-8"
+ else
+ myopts+=" USE_LIBPCRE1=YesPlease"
+ myopts+=" NO_LIBPCRE1_JIT=YesPlease"
+ extlibs+=" -lpcre"
+ fi
+ fi
+ 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"
+ use elibc_musl \
+ && myopts+=" NO_REGEX=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"
+ myopts+=" HAVE_CLOCK_MONOTONIC=1"
+ grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
+ myopts+=" HAVE_GETDELIM=1"
+ 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-r3_src_unpack
+ cd "${S}"
+ #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ fi
+
+}
+
+src_prepare() {
+ # add experimental patches to improve mediawiki support
+ # see patches for origin
+ if use mediawiki-experimental ; then
+ PATCHES+=(
+ "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+ )
+ fi
+
+ default
+
+ 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
+ git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+ || 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/libsecret
+ git_emake || die "emake git-credential-libsecret failed"
+ fi
+
+ cd "${S}"/contrib/subtree || die
+ git_emake
+ use doc && git_emake doc
+
+ cd "${S}"/contrib/diff-highlight || die
+ git_emake
+
+ 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
+ if use doc ; then
+ docinto ${d}/html
+ dodoc Documentation${d}*.html
+ fi
+ 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
+
+ #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/libsecret
+ dobin git-credential-libsecret
+ fi
+
+ if use subversion ; then
+ cd "${S}"/contrib/svn-fe
+ dobin svn-fe
+ dodoc svn-fe.txt
+ if use doc ; then
+ doman svn-fe.1
+ docinto html
+ dodoc svn-fe.html
+ fi
+ cd "${S}"
+ fi
+
+ dodir /usr/share/${PN}/contrib
+ # The following are excluded:
+ # completion - installed above
+ # 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
+ local contrib_objects=(
+ buildsystems
+ fast-import
+ hg-to-git
+ hooks
+ remotes2config.sh
+ rerere-train.sh
+ stats
+ workdir
+ )
+ for i in "${contrib_objects[@]}" ; 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-r1.service" "git-daemon@.service"
+ systemd_dounit "${FILESDIR}/git-daemon.socket"
+ fi
+
+ perl_delete_localpod
+
+ # Remove disabled linguas
+ # we could remove sources in src_prepare, but install does not
+ # handle missing locale dir well
+ rm_loc() {
+ if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
+ rm -r "${ED}/usr/share/locale/${1}" || die
+ fi
+ }
+ l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+ local disabled=""
+ 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
+ use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/git/git-2.14.2.ebuild b/dev-vcs/git/git-2.14.2.ebuild
new file mode 100644
index 000000000000..d079a65a75eb
--- /dev/null
+++ b/dev-vcs/git/git-2.14.2.ebuild
@@ -0,0 +1,699 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
+if [[ ${PV} == *9999 ]]; then
+ SCM="git-r3"
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+ # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+ # See https://git-scm.com/docs/gitworkflows#_graduation
+ # In order of stability:
+ # 9999-r0: maint
+ # 9999-r1: master
+ # 9999-r2: next
+ # 9999-r3: pu
+ case "${PVR}" in
+ 9999) EGIT_BRANCH=maint ;;
+ 9999-r1) EGIT_BRANCH=master ;;
+ 9999-r2) EGIT_BRANCH=next;;
+ 9999-r3) EGIT_BRANCH=pu ;;
+ esac
+fi
+
+inherit toolchain-funcs eutils elisp-common l10n 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="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="http://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI_SUFFIX="xz"
+ SRC_URI_KORG="mirror://kernel/software/scm/git"
+ [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.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}
+ )"
+ [[ "${PV}" = *_rc* ]] || \
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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 highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+ gnome-keyring? ( app-crypt/libsecret )
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ sys-libs/zlib
+ pcre? (
+ pcre-jit? ( dev-libs/libpcre2[jit(+)] )
+ !pcre-jit? ( dev-libs/libpcre )
+ )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk:0= )
+ curl? (
+ net-misc/curl
+ webdav? ( dev-libs/expat )
+ )
+ emacs? ( virtual/emacs )
+"
+
+RDEPEND="${CDEPEND}
+ gpg? ( app-crypt/gnupg )
+ mediawiki? (
+ dev-perl/DateTime-Format-ISO8601
+ 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? ( ${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 )
+ mediawiki-experimental? ( mediawiki )
+ subversion? ( perl )
+ webdav? ( curl )
+ pcre-jit? ( pcre )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+ # bug #350330 - automagic CVS when we don't want it is bad.
+ "${FILESDIR}"/git-2.12.0-optional-cvs.patch
+
+ # install mediawiki perl modules also in vendor_dir
+ # hack, needs better upstream solution
+ "${FILESDIR}"/git-1.8.5-mw-vendor.patch
+
+ "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
+
+ # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
+ "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
+)
+
+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 static 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"
+ if use pcre; then
+ if use pcre-jit; then
+ myopts+=" USE_LIBPCRE2=YesPlease"
+ extlibs+=" -lpcre2-8"
+ else
+ myopts+=" USE_LIBPCRE1=YesPlease"
+ myopts+=" NO_LIBPCRE1_JIT=YesPlease"
+ extlibs+=" -lpcre"
+ fi
+ fi
+ 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"
+ use elibc_musl \
+ && myopts+=" NO_REGEX=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"
+ myopts+=" HAVE_CLOCK_MONOTONIC=1"
+ grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
+ myopts+=" HAVE_GETDELIM=1"
+ 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-r3_src_unpack
+ cd "${S}"
+ #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ fi
+
+}
+
+src_prepare() {
+ # add experimental patches to improve mediawiki support
+ # see patches for origin
+ if use mediawiki-experimental ; then
+ PATCHES+=(
+ "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+ )
+ fi
+
+ default
+
+ 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
+ git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+ || 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/libsecret
+ git_emake || die "emake git-credential-libsecret failed"
+ fi
+
+ cd "${S}"/contrib/subtree || die
+ git_emake
+ use doc && git_emake doc
+
+ cd "${S}"/contrib/diff-highlight || die
+ git_emake
+
+ 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
+ if use doc ; then
+ docinto ${d}/html
+ dodoc Documentation${d}*.html
+ fi
+ 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
+
+ #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/libsecret
+ dobin git-credential-libsecret
+ fi
+
+ if use subversion ; then
+ cd "${S}"/contrib/svn-fe
+ dobin svn-fe
+ dodoc svn-fe.txt
+ if use doc ; then
+ doman svn-fe.1
+ docinto html
+ dodoc svn-fe.html
+ fi
+ cd "${S}"
+ fi
+
+ dodir /usr/share/${PN}/contrib
+ # The following are excluded:
+ # completion - installed above
+ # 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
+ local contrib_objects=(
+ buildsystems
+ fast-import
+ hg-to-git
+ hooks
+ remotes2config.sh
+ rerere-train.sh
+ stats
+ workdir
+ )
+ for i in "${contrib_objects[@]}" ; 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-r1.service" "git-daemon@.service"
+ systemd_dounit "${FILESDIR}/git-daemon.socket"
+ fi
+
+ perl_delete_localpod
+
+ # Remove disabled linguas
+ # we could remove sources in src_prepare, but install does not
+ # handle missing locale dir well
+ rm_loc() {
+ if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
+ rm -r "${ED}/usr/share/locale/${1}" || die
+ fi
+ }
+ l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+ local disabled="t9128-git-svn-cmd-branch.sh"
+ 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
+ use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
new file mode 100644
index 000000000000..d079a65a75eb
--- /dev/null
+++ b/dev-vcs/git/git-9999-r1.ebuild
@@ -0,0 +1,699 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
+if [[ ${PV} == *9999 ]]; then
+ SCM="git-r3"
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+ # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+ # See https://git-scm.com/docs/gitworkflows#_graduation
+ # In order of stability:
+ # 9999-r0: maint
+ # 9999-r1: master
+ # 9999-r2: next
+ # 9999-r3: pu
+ case "${PVR}" in
+ 9999) EGIT_BRANCH=maint ;;
+ 9999-r1) EGIT_BRANCH=master ;;
+ 9999-r2) EGIT_BRANCH=next;;
+ 9999-r3) EGIT_BRANCH=pu ;;
+ esac
+fi
+
+inherit toolchain-funcs eutils elisp-common l10n 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="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="http://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI_SUFFIX="xz"
+ SRC_URI_KORG="mirror://kernel/software/scm/git"
+ [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.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}
+ )"
+ [[ "${PV}" = *_rc* ]] || \
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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 highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+ gnome-keyring? ( app-crypt/libsecret )
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ sys-libs/zlib
+ pcre? (
+ pcre-jit? ( dev-libs/libpcre2[jit(+)] )
+ !pcre-jit? ( dev-libs/libpcre )
+ )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk:0= )
+ curl? (
+ net-misc/curl
+ webdav? ( dev-libs/expat )
+ )
+ emacs? ( virtual/emacs )
+"
+
+RDEPEND="${CDEPEND}
+ gpg? ( app-crypt/gnupg )
+ mediawiki? (
+ dev-perl/DateTime-Format-ISO8601
+ 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? ( ${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 )
+ mediawiki-experimental? ( mediawiki )
+ subversion? ( perl )
+ webdav? ( curl )
+ pcre-jit? ( pcre )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+ # bug #350330 - automagic CVS when we don't want it is bad.
+ "${FILESDIR}"/git-2.12.0-optional-cvs.patch
+
+ # install mediawiki perl modules also in vendor_dir
+ # hack, needs better upstream solution
+ "${FILESDIR}"/git-1.8.5-mw-vendor.patch
+
+ "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
+
+ # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
+ "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
+)
+
+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 static 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"
+ if use pcre; then
+ if use pcre-jit; then
+ myopts+=" USE_LIBPCRE2=YesPlease"
+ extlibs+=" -lpcre2-8"
+ else
+ myopts+=" USE_LIBPCRE1=YesPlease"
+ myopts+=" NO_LIBPCRE1_JIT=YesPlease"
+ extlibs+=" -lpcre"
+ fi
+ fi
+ 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"
+ use elibc_musl \
+ && myopts+=" NO_REGEX=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"
+ myopts+=" HAVE_CLOCK_MONOTONIC=1"
+ grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
+ myopts+=" HAVE_GETDELIM=1"
+ 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-r3_src_unpack
+ cd "${S}"
+ #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ fi
+
+}
+
+src_prepare() {
+ # add experimental patches to improve mediawiki support
+ # see patches for origin
+ if use mediawiki-experimental ; then
+ PATCHES+=(
+ "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+ )
+ fi
+
+ default
+
+ 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
+ git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+ || 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/libsecret
+ git_emake || die "emake git-credential-libsecret failed"
+ fi
+
+ cd "${S}"/contrib/subtree || die
+ git_emake
+ use doc && git_emake doc
+
+ cd "${S}"/contrib/diff-highlight || die
+ git_emake
+
+ 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
+ if use doc ; then
+ docinto ${d}/html
+ dodoc Documentation${d}*.html
+ fi
+ 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
+
+ #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/libsecret
+ dobin git-credential-libsecret
+ fi
+
+ if use subversion ; then
+ cd "${S}"/contrib/svn-fe
+ dobin svn-fe
+ dodoc svn-fe.txt
+ if use doc ; then
+ doman svn-fe.1
+ docinto html
+ dodoc svn-fe.html
+ fi
+ cd "${S}"
+ fi
+
+ dodir /usr/share/${PN}/contrib
+ # The following are excluded:
+ # completion - installed above
+ # 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
+ local contrib_objects=(
+ buildsystems
+ fast-import
+ hg-to-git
+ hooks
+ remotes2config.sh
+ rerere-train.sh
+ stats
+ workdir
+ )
+ for i in "${contrib_objects[@]}" ; 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-r1.service" "git-daemon@.service"
+ systemd_dounit "${FILESDIR}/git-daemon.socket"
+ fi
+
+ perl_delete_localpod
+
+ # Remove disabled linguas
+ # we could remove sources in src_prepare, but install does not
+ # handle missing locale dir well
+ rm_loc() {
+ if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
+ rm -r "${ED}/usr/share/locale/${1}" || die
+ fi
+ }
+ l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+ local disabled="t9128-git-svn-cmd-branch.sh"
+ 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
+ use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
new file mode 100644
index 000000000000..d079a65a75eb
--- /dev/null
+++ b/dev-vcs/git/git-9999-r2.ebuild
@@ -0,0 +1,699 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
+if [[ ${PV} == *9999 ]]; then
+ SCM="git-r3"
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+ # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+ # See https://git-scm.com/docs/gitworkflows#_graduation
+ # In order of stability:
+ # 9999-r0: maint
+ # 9999-r1: master
+ # 9999-r2: next
+ # 9999-r3: pu
+ case "${PVR}" in
+ 9999) EGIT_BRANCH=maint ;;
+ 9999-r1) EGIT_BRANCH=master ;;
+ 9999-r2) EGIT_BRANCH=next;;
+ 9999-r3) EGIT_BRANCH=pu ;;
+ esac
+fi
+
+inherit toolchain-funcs eutils elisp-common l10n 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="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="http://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI_SUFFIX="xz"
+ SRC_URI_KORG="mirror://kernel/software/scm/git"
+ [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.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}
+ )"
+ [[ "${PV}" = *_rc* ]] || \
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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 highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+ gnome-keyring? ( app-crypt/libsecret )
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ sys-libs/zlib
+ pcre? (
+ pcre-jit? ( dev-libs/libpcre2[jit(+)] )
+ !pcre-jit? ( dev-libs/libpcre )
+ )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk:0= )
+ curl? (
+ net-misc/curl
+ webdav? ( dev-libs/expat )
+ )
+ emacs? ( virtual/emacs )
+"
+
+RDEPEND="${CDEPEND}
+ gpg? ( app-crypt/gnupg )
+ mediawiki? (
+ dev-perl/DateTime-Format-ISO8601
+ 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? ( ${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 )
+ mediawiki-experimental? ( mediawiki )
+ subversion? ( perl )
+ webdav? ( curl )
+ pcre-jit? ( pcre )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+ # bug #350330 - automagic CVS when we don't want it is bad.
+ "${FILESDIR}"/git-2.12.0-optional-cvs.patch
+
+ # install mediawiki perl modules also in vendor_dir
+ # hack, needs better upstream solution
+ "${FILESDIR}"/git-1.8.5-mw-vendor.patch
+
+ "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
+
+ # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
+ "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
+)
+
+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 static 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"
+ if use pcre; then
+ if use pcre-jit; then
+ myopts+=" USE_LIBPCRE2=YesPlease"
+ extlibs+=" -lpcre2-8"
+ else
+ myopts+=" USE_LIBPCRE1=YesPlease"
+ myopts+=" NO_LIBPCRE1_JIT=YesPlease"
+ extlibs+=" -lpcre"
+ fi
+ fi
+ 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"
+ use elibc_musl \
+ && myopts+=" NO_REGEX=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"
+ myopts+=" HAVE_CLOCK_MONOTONIC=1"
+ grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
+ myopts+=" HAVE_GETDELIM=1"
+ 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-r3_src_unpack
+ cd "${S}"
+ #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ fi
+
+}
+
+src_prepare() {
+ # add experimental patches to improve mediawiki support
+ # see patches for origin
+ if use mediawiki-experimental ; then
+ PATCHES+=(
+ "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+ )
+ fi
+
+ default
+
+ 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
+ git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+ || 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/libsecret
+ git_emake || die "emake git-credential-libsecret failed"
+ fi
+
+ cd "${S}"/contrib/subtree || die
+ git_emake
+ use doc && git_emake doc
+
+ cd "${S}"/contrib/diff-highlight || die
+ git_emake
+
+ 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
+ if use doc ; then
+ docinto ${d}/html
+ dodoc Documentation${d}*.html
+ fi
+ 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
+
+ #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/libsecret
+ dobin git-credential-libsecret
+ fi
+
+ if use subversion ; then
+ cd "${S}"/contrib/svn-fe
+ dobin svn-fe
+ dodoc svn-fe.txt
+ if use doc ; then
+ doman svn-fe.1
+ docinto html
+ dodoc svn-fe.html
+ fi
+ cd "${S}"
+ fi
+
+ dodir /usr/share/${PN}/contrib
+ # The following are excluded:
+ # completion - installed above
+ # 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
+ local contrib_objects=(
+ buildsystems
+ fast-import
+ hg-to-git
+ hooks
+ remotes2config.sh
+ rerere-train.sh
+ stats
+ workdir
+ )
+ for i in "${contrib_objects[@]}" ; 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-r1.service" "git-daemon@.service"
+ systemd_dounit "${FILESDIR}/git-daemon.socket"
+ fi
+
+ perl_delete_localpod
+
+ # Remove disabled linguas
+ # we could remove sources in src_prepare, but install does not
+ # handle missing locale dir well
+ rm_loc() {
+ if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
+ rm -r "${ED}/usr/share/locale/${1}" || die
+ fi
+ }
+ l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+ local disabled="t9128-git-svn-cmd-branch.sh"
+ 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
+ use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
new file mode 100644
index 000000000000..d079a65a75eb
--- /dev/null
+++ b/dev-vcs/git/git-9999-r3.ebuild
@@ -0,0 +1,699 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
+if [[ ${PV} == *9999 ]]; then
+ SCM="git-r3"
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+ # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+ # See https://git-scm.com/docs/gitworkflows#_graduation
+ # In order of stability:
+ # 9999-r0: maint
+ # 9999-r1: master
+ # 9999-r2: next
+ # 9999-r3: pu
+ case "${PVR}" in
+ 9999) EGIT_BRANCH=maint ;;
+ 9999-r1) EGIT_BRANCH=master ;;
+ 9999-r2) EGIT_BRANCH=next;;
+ 9999-r3) EGIT_BRANCH=pu ;;
+ esac
+fi
+
+inherit toolchain-funcs eutils elisp-common l10n 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="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="http://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI_SUFFIX="xz"
+ SRC_URI_KORG="mirror://kernel/software/scm/git"
+ [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.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}
+ )"
+ [[ "${PV}" = *_rc* ]] || \
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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 highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+ gnome-keyring? ( app-crypt/libsecret )
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ sys-libs/zlib
+ pcre? (
+ pcre-jit? ( dev-libs/libpcre2[jit(+)] )
+ !pcre-jit? ( dev-libs/libpcre )
+ )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk:0= )
+ curl? (
+ net-misc/curl
+ webdav? ( dev-libs/expat )
+ )
+ emacs? ( virtual/emacs )
+"
+
+RDEPEND="${CDEPEND}
+ gpg? ( app-crypt/gnupg )
+ mediawiki? (
+ dev-perl/DateTime-Format-ISO8601
+ 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? ( ${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 )
+ mediawiki-experimental? ( mediawiki )
+ subversion? ( perl )
+ webdav? ( curl )
+ pcre-jit? ( pcre )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+ # bug #350330 - automagic CVS when we don't want it is bad.
+ "${FILESDIR}"/git-2.12.0-optional-cvs.patch
+
+ # install mediawiki perl modules also in vendor_dir
+ # hack, needs better upstream solution
+ "${FILESDIR}"/git-1.8.5-mw-vendor.patch
+
+ "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
+
+ # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
+ "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
+)
+
+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 static 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"
+ if use pcre; then
+ if use pcre-jit; then
+ myopts+=" USE_LIBPCRE2=YesPlease"
+ extlibs+=" -lpcre2-8"
+ else
+ myopts+=" USE_LIBPCRE1=YesPlease"
+ myopts+=" NO_LIBPCRE1_JIT=YesPlease"
+ extlibs+=" -lpcre"
+ fi
+ fi
+ 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"
+ use elibc_musl \
+ && myopts+=" NO_REGEX=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"
+ myopts+=" HAVE_CLOCK_MONOTONIC=1"
+ grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
+ myopts+=" HAVE_GETDELIM=1"
+ 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-r3_src_unpack
+ cd "${S}"
+ #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ fi
+
+}
+
+src_prepare() {
+ # add experimental patches to improve mediawiki support
+ # see patches for origin
+ if use mediawiki-experimental ; then
+ PATCHES+=(
+ "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+ )
+ fi
+
+ default
+
+ 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
+ git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+ || 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/libsecret
+ git_emake || die "emake git-credential-libsecret failed"
+ fi
+
+ cd "${S}"/contrib/subtree || die
+ git_emake
+ use doc && git_emake doc
+
+ cd "${S}"/contrib/diff-highlight || die
+ git_emake
+
+ 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
+ if use doc ; then
+ docinto ${d}/html
+ dodoc Documentation${d}*.html
+ fi
+ 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
+
+ #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/libsecret
+ dobin git-credential-libsecret
+ fi
+
+ if use subversion ; then
+ cd "${S}"/contrib/svn-fe
+ dobin svn-fe
+ dodoc svn-fe.txt
+ if use doc ; then
+ doman svn-fe.1
+ docinto html
+ dodoc svn-fe.html
+ fi
+ cd "${S}"
+ fi
+
+ dodir /usr/share/${PN}/contrib
+ # The following are excluded:
+ # completion - installed above
+ # 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
+ local contrib_objects=(
+ buildsystems
+ fast-import
+ hg-to-git
+ hooks
+ remotes2config.sh
+ rerere-train.sh
+ stats
+ workdir
+ )
+ for i in "${contrib_objects[@]}" ; 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-r1.service" "git-daemon@.service"
+ systemd_dounit "${FILESDIR}/git-daemon.socket"
+ fi
+
+ perl_delete_localpod
+
+ # Remove disabled linguas
+ # we could remove sources in src_prepare, but install does not
+ # handle missing locale dir well
+ rm_loc() {
+ if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
+ rm -r "${ED}/usr/share/locale/${1}" || die
+ fi
+ }
+ l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+ local disabled="t9128-git-svn-cmd-branch.sh"
+ 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
+ use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/git/git-9999.ebuild b/dev-vcs/git/git-9999.ebuild
new file mode 100644
index 000000000000..d079a65a75eb
--- /dev/null
+++ b/dev-vcs/git/git-9999.ebuild
@@ -0,0 +1,699 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+PLOCALES="bg ca de fr is it ko pt_PT ru sv vi zh_CN"
+if [[ ${PV} == *9999 ]]; then
+ SCM="git-r3"
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+ # Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
+ # See https://git-scm.com/docs/gitworkflows#_graduation
+ # In order of stability:
+ # 9999-r0: maint
+ # 9999-r1: master
+ # 9999-r2: next
+ # 9999-r3: pu
+ case "${PVR}" in
+ 9999) EGIT_BRANCH=maint ;;
+ 9999-r1) EGIT_BRANCH=master ;;
+ 9999-r2) EGIT_BRANCH=next;;
+ 9999-r3) EGIT_BRANCH=pu ;;
+ esac
+fi
+
+inherit toolchain-funcs eutils elisp-common l10n 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="stupid content tracker: distributed VCS designed for speed and efficiency"
+HOMEPAGE="http://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI_SUFFIX="xz"
+ SRC_URI_KORG="mirror://kernel/software/scm/git"
+ [[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
+ SRC_URI="${SRC_URI_KORG}/${MY_P}.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}
+ )"
+ [[ "${PV}" = *_rc* ]] || \
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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 highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+ gnome-keyring? ( app-crypt/libsecret )
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:= )
+ sys-libs/zlib
+ pcre? (
+ pcre-jit? ( dev-libs/libpcre2[jit(+)] )
+ !pcre-jit? ( dev-libs/libpcre )
+ )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk:0= )
+ curl? (
+ net-misc/curl
+ webdav? ( dev-libs/expat )
+ )
+ emacs? ( virtual/emacs )
+"
+
+RDEPEND="${CDEPEND}
+ gpg? ( app-crypt/gnupg )
+ mediawiki? (
+ dev-perl/DateTime-Format-ISO8601
+ 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? ( ${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 )
+ mediawiki-experimental? ( mediawiki )
+ subversion? ( perl )
+ webdav? ( curl )
+ pcre-jit? ( pcre )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+PATCHES=(
+ # bug #350330 - automagic CVS when we don't want it is bad.
+ "${FILESDIR}"/git-2.12.0-optional-cvs.patch
+
+ # install mediawiki perl modules also in vendor_dir
+ # hack, needs better upstream solution
+ "${FILESDIR}"/git-1.8.5-mw-vendor.patch
+
+ "${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
+
+ # Bug #493306, where FreeBSD 10.x merged libiconv into its libc.
+ "${FILESDIR}"/git-2.5.1-freebsd-10.x-no-iconv.patch
+)
+
+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 static 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"
+ if use pcre; then
+ if use pcre-jit; then
+ myopts+=" USE_LIBPCRE2=YesPlease"
+ extlibs+=" -lpcre2-8"
+ else
+ myopts+=" USE_LIBPCRE1=YesPlease"
+ myopts+=" NO_LIBPCRE1_JIT=YesPlease"
+ extlibs+=" -lpcre"
+ fi
+ fi
+ 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"
+ use elibc_musl \
+ && myopts+=" NO_REGEX=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"
+ myopts+=" HAVE_CLOCK_MONOTONIC=1"
+ grep -q getdelim "${ROOT}"/usr/include/stdio.h && \
+ myopts+=" HAVE_GETDELIM=1"
+ 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-r3_src_unpack
+ cd "${S}"
+ #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ fi
+
+}
+
+src_prepare() {
+ # add experimental patches to improve mediawiki support
+ # see patches for origin
+ if use mediawiki-experimental ; then
+ PATCHES+=(
+ "${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
+ "${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
+ )
+ fi
+
+ default
+
+ 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
+ git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
+ || 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/libsecret
+ git_emake || die "emake git-credential-libsecret failed"
+ fi
+
+ cd "${S}"/contrib/subtree || die
+ git_emake
+ use doc && git_emake doc
+
+ cd "${S}"/contrib/diff-highlight || die
+ git_emake
+
+ 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
+ if use doc ; then
+ docinto ${d}/html
+ dodoc Documentation${d}*.html
+ fi
+ 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
+
+ #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/libsecret
+ dobin git-credential-libsecret
+ fi
+
+ if use subversion ; then
+ cd "${S}"/contrib/svn-fe
+ dobin svn-fe
+ dodoc svn-fe.txt
+ if use doc ; then
+ doman svn-fe.1
+ docinto html
+ dodoc svn-fe.html
+ fi
+ cd "${S}"
+ fi
+
+ dodir /usr/share/${PN}/contrib
+ # The following are excluded:
+ # completion - installed above
+ # 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
+ local contrib_objects=(
+ buildsystems
+ fast-import
+ hg-to-git
+ hooks
+ remotes2config.sh
+ rerere-train.sh
+ stats
+ workdir
+ )
+ for i in "${contrib_objects[@]}" ; 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-r1.service" "git-daemon@.service"
+ systemd_dounit "${FILESDIR}/git-daemon.socket"
+ fi
+
+ perl_delete_localpod
+
+ # Remove disabled linguas
+ # we could remove sources in src_prepare, but install does not
+ # handle missing locale dir well
+ rm_loc() {
+ if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
+ rm -r "${ED}/usr/share/locale/${1}" || die
+ fi
+ }
+ l10n_for_each_disabled_locale_do rm_loc
+}
+
+src_test() {
+ local disabled="t9128-git-svn-cmd-branch.sh"
+ 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
+ use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/git/metadata.xml b/dev-vcs/git/metadata.xml
new file mode 100644
index 000000000000..f76908835574
--- /dev/null
+++ b/dev-vcs/git/metadata.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <longdescription lang="en">
+ Git - Fast Version Control System. Official titled
+ "GIT - the stupid content tracker".
+
+ Git is a popular version control system designed to handle very large
+ projects with speed and efficiency; it is used mainly for various open
+ source projects, most notably the Linux kernel.
+
+ Git falls in the category of distributed source code management tools,
+ similar to e.g. GNU Arch or Monotone (or BitKeeper in the proprietary
+ world). Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a central
+ server.
+ </longdescription>
+ <use>
+ <flag name="blksha1">Use the new optimized SHA1 implementation</flag>
+ <flag name="cgi">Install gitweb too</flag>
+ <flag name="curl">Support fetching and pushing (requires webdav too) over http:// and https:// protocols</flag>
+ <flag name="gpg">Pull in gnupg for signing -- without gnupg, attempts at signing will fail at runtime!</flag>
+ <flag name="highlight">GitWeb support for app-text/highlight</flag>
+ <flag name="mediawiki">Support pulling and pushing from MediaWiki</flag>
+ <flag name="mediawiki-experimental">Add experimental patches for improved MediaWiki support</flag>
+ <flag name="pcre-jit">Enable JIT for pcre</flag>
+ <flag name="ppcsha1">Make use of a bundled routine that is optimized for the PPC arch</flag>
+ <flag name="subversion">Include git-svn for <pkg>dev-vcs/subversion</pkg> support</flag>
+ <flag name="tk">Include the 'gitk' and 'git gui' tools</flag>
+ <flag name="webdav">Adds support for push'ing to HTTP/HTTPS repositories via DAV</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-vcs/gitg/Manifest b/dev-vcs/gitg/Manifest
new file mode 100644
index 000000000000..ceb5373505d1
--- /dev/null
+++ b/dev-vcs/gitg/Manifest
@@ -0,0 +1,9 @@
+DIST gitg-3.22.0.tar.xz 1507056 SHA256 ba6895f85c18748294075980a5e03e0936ad4e84534dbb0d8f9e29aa874ddeaf SHA512 2d59af3bb725c111966544ed6977002a901a862f0280c9acf117b2b613b00d889039ea780cad83bd624de5099256e48b99cdf0421362f154a8380e98f5f977da WHIRLPOOL 088819c4580c14268f420a6f745cc68f5ec0e22c88ce318792071773dc8ecf0a1e99d78639ec0dc561ba22366d8f9a1673be4c939cd5074c6c335fc03f86a819
+DIST gitg-3.24.0.tar.xz 1703132 SHA256 3e4ec4a8ae83bc7ced8c7610927ade70e37daa5e8beeb4f357a6ea30b4cc951e SHA512 3200ec39e05e5c7deae62e7c8938cb16ea3e63c034a5520b7e1ca692ce660671e7548650a6d91b29410303d027048b0f1f85206cc484a316cae702898b4c8d73 WHIRLPOOL 21032788792674a0426b312912a4d6cbef253ed866dac6492193fc9f0ab600bec46dcaba7e3532a1f00ae8c0090d82e6be70119c999672816e2a52c2f0634f15
+DIST gitg-3.26.0.tar.xz 1551308 SHA256 26730d437d6a30d6e341b9e8da99d2134dce4b96022c195609f45062f82b54d5 SHA512 782aa02e2f0f4d8c86ad726045502d545877d835f0449d2ec646d93a78bbfa50f84662d3a437c922eb168b2737c00ec088dc2c73487742f332e3910f041b519d WHIRLPOOL f3300bdbe1190f0275f93e9b57eb7318de19f4ae42caf4d2e979245a27e95ec80d54a2b10b7a6b7000ef8214ddb8e09ff981b7191089c3191a6eca9da7048a39
+EBUILD gitg-3.22.0.ebuild 1927 SHA256 34f4f2e4a59eaa381c47d51f19ebb3a4e86dfe2c882caf9fda6a8a8ef584475f SHA512 acdb0e281c3554fc82d5b7f85830fff6c733b515f748c6458ed047b3b0f1ff4de705337c8364269f09fe140f05d8839d0c013146c6a449f38b97a0b5cfce9cd9 WHIRLPOOL 929efb3d8cc31631d2d3c93ba1d3f66524848391938f693f32595a78888d9ca7678f86fb8c7345a3185a5263c7637b54bfd99250591ad362f24dc127df942976
+EBUILD gitg-3.24.0.ebuild 1929 SHA256 e02b9125bbfab0e0b867b3cefcd14abf54b11cb0b148cfe0196dd59e3854b640 SHA512 9eb75f76ff51e575168f148bcc8067bf50df010d1915056362b6b63fa8ecafcff88b75f8018e3df10a734dd2c50ccf3d3e10f27edb371043744b871fdf50cffc WHIRLPOOL b5248d821dd07474b83c021c4e8dcd0b71f2bdb10ba91e22cadc7c198ce537623fdfc72f7b9639a997ba29885602bcbf289934e867d69960ed32640fe238524a
+EBUILD gitg-3.26.0.ebuild 1929 SHA256 949fb22c133e01fc83b188a247a81a88606df545383fc425485b34ea5ed7ad99 SHA512 c375ec93d31682ed043767704419198a3350c141942230cadf6322e5dde7f5bf9858053d037d63e1c18a065ec432bd7f8d925280fe5aa429d992a6c85f33fa26 WHIRLPOOL 9a3571c7c72edfd852ffe1ca13e6bed2df96e60d525d4e7cb8e95d94617a4e3ab8e8eabe8f326945d8e6f5b84af922d8b6ceec6263a0a9ed278c4bc469b2c528
+MISC ChangeLog 7466 SHA256 28808f31372f92a061d946d50bbac8f1e258a6250bbab2e149dba4d4a8e700a9 SHA512 8c6ac85a412bbbeca944aaba7b6690c8bd72d32f2fbe10cb86eb08a5cec9fb112c1f94a5969d9f3cb60ab1ec05632d9f61bab6eac85f31c7829d53a6356c8b5d WHIRLPOOL 694172b2b1d9af4e8f4765e589244da28f6adb624bcf0c515a521ff809e0fb0caa563d4e6c78ada7913ff16acf65ca061d6385d9fa3bff89a096193f79b1962f
+MISC ChangeLog-2015 7337 SHA256 3e3910bf26ca05478ebaa9a2d5cc4a67bb2010a0c427c5598a243fe109096f09 SHA512 ebe5fad5d827b24b3bb84c773802cfdaa78e5e07a7853095c44e045c26873a3a22005ffdd3eaf788f5633a67bb8a008717832f074ac994d180aac32c0c46b2e2 WHIRLPOOL a4d0890f9c4b1c5e7fcc99cb9eeedee1cb58d36c2a3e034c4e071a987a915377b36d543ba8a0db6b4c5089eb566e1d7f4dc87a6c9c47c50d066ed797395cdbe0
+MISC metadata.xml 719 SHA256 620bf8253d60b486b5524c8584f19f906a75314170c5cfd2fc10c04da146d9c6 SHA512 4c30b9747271b6d349ff2dc73eefd14be13ba3ea706eaf777779517ab650d1c98e24f2bb8fae1b5aec46565794d7886dd3442f34a6cfb5c685a10914987600f4 WHIRLPOOL 72640e1d1ce3dab1757e62289160695db0709e7ded2de11051b872a60933e7bcc17da2a273ad470b17c699dbe1552b8ff7c037c9780c6f76b048c4ef5ede52d1
diff --git a/dev-vcs/gitg/gitg-3.22.0.ebuild b/dev-vcs/gitg/gitg-3.22.0.ebuild
new file mode 100644
index 000000000000..b78376684cd0
--- /dev/null
+++ b/dev-vcs/gitg/gitg-3.22.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{3_4,3_5} )
+VALA_MIN_API_VERSION="0.32" # Needed when gtk+-3.20 is found
+
+inherit gnome2 pax-utils python-r1 vala
+
+DESCRIPTION="git repository viewer for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/Gitg"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+IUSE="glade +python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# test if unbundling of libgd is possible
+# Currently it seems not to be (unstable API/ABI)
+RDEPEND="
+ app-crypt/libsecret
+ dev-libs/libgee:0.8[introspection]
+ >=app-text/gtkspell-3.0.3:3
+ >=dev-libs/glib-2.38:2[dbus]
+ >=dev-libs/gobject-introspection-0.10.1:=
+ dev-libs/libgit2:=[threads]
+
+ >=dev-libs/libgit2-glib-0.24.4[ssh]
+ <dev-libs/libgit2-glib-0.25.0
+
+ >=dev-libs/libpeas-1.5.0[gtk]
+ >=dev-libs/libxml2-2.9.0:2
+ net-libs/libsoup:2.4
+ >=gnome-base/gsettings-desktop-schemas-0.1.1
+ >=x11-libs/gtk+-3.20.0:3
+ >=x11-libs/gtksourceview-3.10:3.0
+ x11-themes/adwaita-icon-theme
+ glade? ( >=dev-util/glade-3.2:3.10 )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ )
+"
+DEPEND="${RDEPEND}
+ $(vala_depend)
+ >=dev-libs/libgit2-glib-0.24.4[vala]
+ >=dev-util/intltool-0.40
+ gnome-base/gnome-common
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+"
+
+pkg_setup() {
+ use python && [[ ${MERGE_TYPE} != binary ]] && python_setup
+}
+
+src_prepare() {
+ gnome2_src_prepare
+ vala_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ --disable-deprecations \
+ $(use_enable glade glade-catalog) \
+ $(use_enable python)
+}
+
+src_install() {
+ # -j1: bug #???
+ gnome2_src_install -j1
+
+ if use python ; then
+ install_gi_override() {
+ python_moduleinto "$(python_get_sitedir)/gi/overrides"
+ python_domodule "${S}"/libgitg-ext/GitgExt.py
+ }
+ python_foreach_impl install_gi_override
+ fi
+}
diff --git a/dev-vcs/gitg/gitg-3.24.0.ebuild b/dev-vcs/gitg/gitg-3.24.0.ebuild
new file mode 100644
index 000000000000..3b5aa6ca980f
--- /dev/null
+++ b/dev-vcs/gitg/gitg-3.24.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{3_4,3_5} )
+VALA_MIN_API_VERSION="0.32" # Needed when gtk+-3.20 is found
+
+inherit gnome2 pax-utils python-r1 vala
+
+DESCRIPTION="git repository viewer for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/Gitg"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="glade +python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# test if unbundling of libgd is possible
+# Currently it seems not to be (unstable API/ABI)
+RDEPEND="
+ app-crypt/libsecret
+ dev-libs/libgee:0.8[introspection]
+ >=app-text/gtkspell-3.0.3:3
+ >=dev-libs/glib-2.38:2[dbus]
+ >=dev-libs/gobject-introspection-0.10.1:=
+ dev-libs/libgit2:=[threads]
+
+ >=dev-libs/libgit2-glib-0.25.0[ssh]
+ <dev-libs/libgit2-glib-0.26.0
+
+ >=dev-libs/libpeas-1.5.0[gtk]
+ >=dev-libs/libxml2-2.9.0:2
+ net-libs/libsoup:2.4
+ >=gnome-base/gsettings-desktop-schemas-0.1.1
+ >=x11-libs/gtk+-3.20.0:3
+ >=x11-libs/gtksourceview-3.10:3.0
+ x11-themes/adwaita-icon-theme
+ glade? ( >=dev-util/glade-3.2:3.10 )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ )
+"
+DEPEND="${RDEPEND}
+ $(vala_depend)
+ >=dev-libs/libgit2-glib-0.24.4[vala]
+ >=dev-util/intltool-0.40
+ gnome-base/gnome-common
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+"
+
+pkg_setup() {
+ use python && [[ ${MERGE_TYPE} != binary ]] && python_setup
+}
+
+src_prepare() {
+ gnome2_src_prepare
+ vala_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ --disable-deprecations \
+ $(use_enable glade glade-catalog) \
+ $(use_enable python)
+}
+
+src_install() {
+ # -j1: bug #???
+ gnome2_src_install -j1
+
+ if use python ; then
+ install_gi_override() {
+ python_moduleinto "$(python_get_sitedir)/gi/overrides"
+ python_domodule "${S}"/libgitg-ext/GitgExt.py
+ }
+ python_foreach_impl install_gi_override
+ fi
+}
diff --git a/dev-vcs/gitg/gitg-3.26.0.ebuild b/dev-vcs/gitg/gitg-3.26.0.ebuild
new file mode 100644
index 000000000000..d2f5cf8684e8
--- /dev/null
+++ b/dev-vcs/gitg/gitg-3.26.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{3_4,3_5} )
+VALA_MIN_API_VERSION="0.32" # Needed when gtk+-3.20 is found
+
+inherit gnome2 pax-utils python-r1 vala
+
+DESCRIPTION="git repository viewer for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/Gitg"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="glade +python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# test if unbundling of libgd is possible
+# Currently it seems not to be (unstable API/ABI)
+RDEPEND="
+ app-crypt/libsecret
+ dev-libs/libgee:0.8[introspection]
+ >=app-text/gtkspell-3.0.3:3
+ >=dev-libs/glib-2.38:2[dbus]
+ >=dev-libs/gobject-introspection-0.10.1:=
+ dev-libs/libgit2:=[threads]
+
+ >=dev-libs/libgit2-glib-0.25.0[ssh]
+ <dev-libs/libgit2-glib-0.27.0
+
+ >=dev-libs/libpeas-1.5.0[gtk]
+ >=dev-libs/libxml2-2.9.0:2
+ net-libs/libsoup:2.4
+ >=gnome-base/gsettings-desktop-schemas-0.1.1
+ >=x11-libs/gtk+-3.20.0:3
+ >=x11-libs/gtksourceview-3.10:3.0
+ x11-themes/adwaita-icon-theme
+ glade? ( >=dev-util/glade-3.2:3.10 )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ )
+"
+DEPEND="${RDEPEND}
+ $(vala_depend)
+ >=dev-libs/libgit2-glib-0.24.4[vala]
+ >=dev-util/intltool-0.40
+ gnome-base/gnome-common
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+"
+
+pkg_setup() {
+ use python && [[ ${MERGE_TYPE} != binary ]] && python_setup
+}
+
+src_prepare() {
+ gnome2_src_prepare
+ vala_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ --disable-deprecations \
+ $(use_enable glade glade-catalog) \
+ $(use_enable python)
+}
+
+src_install() {
+ # -j1: bug #???
+ gnome2_src_install -j1
+
+ if use python ; then
+ install_gi_override() {
+ python_moduleinto "$(python_get_sitedir)/gi/overrides"
+ python_domodule "${S}"/libgitg-ext/GitgExt.py
+ }
+ python_foreach_impl install_gi_override
+ fi
+}
diff --git a/dev-vcs/gitg/metadata.xml b/dev-vcs/gitg/metadata.xml
new file mode 100644
index 000000000000..0c98618eff71
--- /dev/null
+++ b/dev-vcs/gitg/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ikelos@gentoo.org</email>
+ <name>Mike Auty</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <longdescription lang="en">
+ GTK+ based frontend for GIT
+ </longdescription>
+ <use>
+ <flag name="glade">Install a glade catalog file</flag>
+ <flag name="python">Install Python bindings for those plugins requiring it.</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-vcs/github-pages-publish/Manifest b/dev-vcs/github-pages-publish/Manifest
new file mode 100644
index 000000000000..e862d6465ee3
--- /dev/null
+++ b/dev-vcs/github-pages-publish/Manifest
@@ -0,0 +1,5 @@
+DIST github-pages-publish-0.1.2.tar.gz 3295 SHA256 83cf09861e064704cc3f2cd080ff0512f4df91e9b4890927741918d2e06e7be6 SHA512 3011a070c0798bc3f2853c32c6d97e20eb4711a23b4e2c2b188b4158d46d1434d89f8400bebed0806b9781cd8e13800f3e10d9e99ff2fc4e02059329fbee2658 WHIRLPOOL 0e6f72c16e0c5fe422bbd4f55fd137c406edb45ac3b3d092692958a324ccd1016d97da414fff4bfc43fb20a22a08164b818ff544e73bb5ed27b40ae44e28c853
+EBUILD github-pages-publish-0.1.2.ebuild 745 SHA256 d22e97acfac6d26f697c7738a33eb4424fe5610601b8ffbec7743a8fb8153111 SHA512 0891c729c4f79aba7113cc044179b49edfd9adb28813709e81720cc435d33bf973472e46cc5eef3ec37f0b79bdb9d0dc1577115ea888152389ac3381f4e03d74 WHIRLPOOL bd7a6b39527af31ab5aca8f47cf925dfaa02a38a807d4ca3d3cbaca035cdd2448e40a4aefdbabbcc1f1551a89deef20c3ad82eb8d9bc607cab05c73e7e2d707b
+MISC ChangeLog 2214 SHA256 8954c0dfb2266afb85aa43b131382a1eede2bef034b60543239d79e8e3833b3e SHA512 81fe7f94436b5dec5db3ce755f4270a03ae7b38c86578fab1e7e3b4b5844482b11487b56f7484cab3fa6b61152126ed7bd229a86828e51f32e2188f2cf950b12 WHIRLPOOL 87a4bac5f66368ed697e92a6fa5e1bb591fcd56fde7a71c0602bb7df641b1f5808ce5b56361ab347282614048cb1b0c623a7283a106579b69ee2a83cd46b5e56
+MISC ChangeLog-2015 1276 SHA256 7366f50db99a16241bdce5ded5a90a22b29b9a2c3d7086b79a4b286626610437 SHA512 81fc92349ec494a1e09f0b09068d4836896688cf99b5e43b349a96d28bd3d808182e854f0d4b81946f0f8bfd3ee797d75b82c165d3a04a80f1aaee853309e4a9 WHIRLPOOL 358c235e2ea82ad1b521c7c4137d0cb0ab939ac3f89854bdf91902699572742d69cc300cf3670daa6dc1ba41434c9d66632490bf8b7c6fd2ec2d37312eb64bb9
+MISC metadata.xml 690 SHA256 d46bc6bf73e9907d9ecb042bbd983b4800b302b51e53213bbc39af93d242ec9b SHA512 e06cae5ac90a76620423fc720abee1165f4d0856fb083275e7d7f9c93c9c5689cd3d2b87489fe33bced9c3ad1d91f1eb681413abbb3ddd0079addf8a183fa025 WHIRLPOOL 5f7fc306aac4f724bfe9707030db095f6c66f85b9c80722717349ce7f05964f145e6013b22baa05f2405b6a8ac618ef6ac5833177676c6ac1c728387545eec20
diff --git a/dev-vcs/github-pages-publish/github-pages-publish-0.1.2.ebuild b/dev-vcs/github-pages-publish/github-pages-publish-0.1.2.ebuild
new file mode 100644
index 000000000000..82c972871586
--- /dev/null
+++ b/dev-vcs/github-pages-publish/github-pages-publish-0.1.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+GIT_ECLASS=
+if [[ ${PV} = *9999* ]]; then
+ GIT_ECLASS="git-r3"
+ EGIT_REPO_URI="https://github.com/rafaelmartins/${PN}.git"
+fi
+
+inherit distutils-r1 ${GIT_ECLASS}
+
+DESCRIPTION="A script that commits files from a directory to Github Pages"
+HOMEPAGE="https://pypi.python.org/pypi/github-pages-publish
+ https://github.com/rafaelmartins/github-pages-publish"
+
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+if [[ ${PV} = *9999* ]]; then
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-python/setuptools
+ >=dev-python/pygit2-0.20.0"
+RDEPEND="${DEPEND}"
diff --git a/dev-vcs/github-pages-publish/metadata.xml b/dev-vcs/github-pages-publish/metadata.xml
new file mode 100644
index 000000000000..aac060ab13fd
--- /dev/null
+++ b/dev-vcs/github-pages-publish/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>rafaelmartins@gentoo.org</email>
+ <name>Rafael G. Martins</name>
+ </maintainer>
+ <longdescription lang="en">
+ A script that commits files from a directory to the gh-pages branch
+ of the current Git repository.
+ </longdescription>
+ <upstream>
+ <maintainer status="active">
+ <email>rafaelmartins@gentoo.org</email>
+ <name>Rafael G. Martins</name>
+ </maintainer>
+ <remote-id type="pypi">github-pages-publish</remote-id>
+ <remote-id type="github">rafaelmartins/github-pages-publish</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/gitinspector/Manifest b/dev-vcs/gitinspector/Manifest
new file mode 100644
index 000000000000..c637866eaa4b
--- /dev/null
+++ b/dev-vcs/gitinspector/Manifest
@@ -0,0 +1,5 @@
+DIST gitinspector-0.4.4.tar.gz 312201 SHA256 c7a50772bf675d41b7c19508d8f2ea26725ce4ae16aba709d5b42db42e3d2459 SHA512 6e453a97f7b0bda73e376499268d9a46aa4ff1f8bb65092314a6d32031b0292056152b4e0e3781fbbe3aa6150373679bf78a8c83410882921ab40ce6d356fadb WHIRLPOOL d4c10d1d43296908e0c8463a23d9cd0c5178ea9513d10c1519b250e738357ec9dc4ee259552445a43b6eb2d061480bff51633e01ac5938bf01e0e05cd569d5af
+EBUILD gitinspector-0.4.4.ebuild 1079 SHA256 decb01c7badb40ff788cf213262a2f8ecd3b8826d23f32ac2aa0df0c96796253 SHA512 5488ab8568014db38b1517d6983542a82d6ad1db0ecda49dd24a1b878a6ec3718c8dfcdd8dcd1163be649a550a2eaec0beb227434c9bf19b6a4448f11c949bf7 WHIRLPOOL 265db7bbac925daf6224ed2269dc1f4e8135fe3077ef441ccbdace3f11759cd170a745ab961a3876c984e3318ce2cf2885d4a3b4ed5f6a89764515913d444911
+MISC ChangeLog 3229 SHA256 094f92cc3bc70fe9e8a4c6aecc85d60abf2896dfe20fe92116cd0564dc89bc2f SHA512 9fc7d857a73b0fe12ff841196de0f5fd47bc7ce239728be9c825c0b847a84707f24063c9573d10e6d680e3a3afb9f706e900b9d10ace3d85fa626cd33997c440 WHIRLPOOL bd0a2738179738f92baed80869f4c464ea252e3d0dab5b8664bd53a64365a545404487e9b7c159d74cec03311e6a40d43e5d6c67159a9f90766ab150057fd81b
+MISC ChangeLog-2015 716 SHA256 8a741be1282c1d6d4c5ab308ffbe465b2308fcf7565312b38d864f5e9dfee9d4 SHA512 c6b8f1c7620fdb74b06bbaadfbc053e0af91d100310c619ff2122b20c9acfe4e1c98c5f9ec84a42e5952965c55158bc4a57f54e5a2119fce294215efa7d33cc1 WHIRLPOOL 251c871d0f9e00528a0bd54192bcd3e0b340cf1c8c1ee3653118b3d44d85918365c6dfdc2a99ca78b791d3ec15b5e3549082927d4a8af9d51bef710c537a00c0
+MISC metadata.xml 254 SHA256 a3b874853b824c043f33a4b1955471eca4e02113576dea81e9b7fe157a489882 SHA512 12393bb0a59ac43ececcee078244914186799f0b87706377147004ca6ddcea920a3aac8abac6905a1c68c0cb0652e7d95e62541172424730b9c01300f4e24be1 WHIRLPOOL 8542bafd388e184b5a0a8090cbdd709bc7f5776b3947869cebc70dfb6e3f7e8cf706b2a3d9ea0eeab50bdf2f7f0d5761d610fc0b48eec0e633ee59c281fd9c2d
diff --git a/dev-vcs/gitinspector/gitinspector-0.4.4.ebuild b/dev-vcs/gitinspector/gitinspector-0.4.4.ebuild
new file mode 100644
index 000000000000..8a2f93873ec8
--- /dev/null
+++ b/dev-vcs/gitinspector/gitinspector-0.4.4.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Statistical analysis tool for git repositories"
+HOMEPAGE="https://github.com/ejwa/gitinspector"
+SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-vcs/git"
+DEPEND="test? ( ${RDEPEND} )"
+
+python_prepare_all() {
+ [[ ${LC_ALL} == "C" ]] && export LC_ALL="en_US.utf8"
+
+ # Otherwise this gets installed with the *.txt glob.
+ rm LICENSE.txt || die 'failed to remove LICENSE.txt'
+
+ # Use /usr/share/doc/${PF} instead of /usr/share/doc/${PN}.
+ sed -i setup.py \
+ -e "s:share/doc/gitinspector:share/doc/${PF}:" \
+ || die 'failed to fix the documentation path in setup.py'
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ # The distutils install routine misses some important documentation.
+ doman docs/gitinspector.1
+ dodoc docs/*.{pdf,css,html,txt}
+}
diff --git a/dev-vcs/gitinspector/metadata.xml b/dev-vcs/gitinspector/metadata.xml
new file mode 100644
index 000000000000..0233271d1ea1
--- /dev/null
+++ b/dev-vcs/gitinspector/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">ejwa/gitinspector</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/gitolite-gentoo/Manifest b/dev-vcs/gitolite-gentoo/Manifest
new file mode 100644
index 000000000000..663fe1cb083e
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/Manifest
@@ -0,0 +1,36 @@
+DIST gitolite-gentoo-2.3.1.tar.bz2 198849 SHA256 65c4646b5609f987b3004dbc44ebf9a76d3f1791414fbe13eacea25460b966ae SHA512 994ee759d87659eb4f4bfbe6618d1bd74e83df2e6c8d710ca1c929d86e05b1152639bf5c99b906f7d20f9585163f872f04d9710e29b1d73ada998595553d294e WHIRLPOOL 9d4effd46f5953bb330f799962a79fb999ada0c6ba8cf0b536275f3c56f1178f76730b6ab659e8adf3378c2fbe8ba6ff602eec15e32822192cd0d07f8637aa8d
+DIST gitolite-gentoo-2.3.3.tar.bz2 199370 SHA256 41680cd9ff0999a945498749022360101dd33d4195161912418e8002bbabc9a8 SHA512 f9720effa816400544bf5526d896b9db734828c46356d0188e2ddb8fa8f175efb0f60b30c9e9c80a0624f6cb6dc5c5a301d8dfa35f13ad08fcd0538a0b8f77c3 WHIRLPOOL 1e3edc9bc7a66d51c205b1bca516620248cb31e78ab1cd5bf455a07096948a208825858ce11eb21b82ed825bfff043d59215a1257641557fd6ffe869924b4896
+DIST gitolite-gentoo-3.5.3.1.tar.bz2 127391 SHA256 0a7025e597f9e50b15bf181c34e7851b68e449400ebfbcc96be7d307760cb726 SHA512 f36a270f651b2b8d4ae02fd7b3841a599b7c66d36a6f92df8974897fdec863b4c09064c384ede9309150a4a487186ba3c3079cd0037d5fd39852b452115933bb WHIRLPOOL 0cb2b06a13f6a57e335556c68861bb1cf7ea907901cf3cb9479757775b1e8636856b889f12cecb5dff10200afbd66ad810e450a81739f6ce7b399e6fe6685afe
+DIST gitolite-gentoo-3.6.1.tar.bz2 140554 SHA256 db138b8f616322f0b9c5fb466c579f64e30eb5c1a5029750b64c3846eb2a8db4 SHA512 563f2753f4d04d8a2c5d323fbf3d15f9f12975d4aa3ae3781011b521be7ca2b2ac755f9c4247f86ee303aa7f8c9795f3fdff4504a347b9b9cd08525666bb0187 WHIRLPOOL e8d30287a7420b42b3aa5b96a69bc79cb6b0dd2c9cf61ac3764ac9abcb54a10d19a91dc3509f32d14ed7efc6ede9aa7b9f3c8b01606d549bd38b8393712aae2b
+DIST gitolite-gentoo-3.6.2.1.tar.bz2 143357 SHA256 5304b50e5b2b89990503c59bf1b1e9c8de25f1e8ae6bef24ef8bd2190d5b0007 SHA512 53ae6549a819437d2481249707156eb0f68cccd289bbb40affedd1f7cdda620b974f8e7ee6853c196728cdccf0eb9f8f340a132538dcbf0b653fb69e08d40b9d WHIRLPOOL 7cc1fbe2441a3bd5cfcb092e32f5c2a50d0e85b489853aff3979b0586b2da111a60285516ae3f7d46d68bbe2aa4b82ddcb6d43440d73f8c84494f074f4b2eadf
+DIST gitolite-gentoo-3.6.2.2.tar.bz2 143601 SHA256 bc5841306567a43c63b542cceab7661cfd9b46f4f8b3651fbf14e13ad8a1f0f1 SHA512 431df7002d146d321199ff5ae324177f5b14b1a0ae8e87288ff15a8670eec9e55637d8a6d28d4eac2ff2a54f3f38e3aa700257c5321c73133fcb09037fb384f8 WHIRLPOOL 35abdcfe6b493e808e77f3b7e4c8ab7dc932365db6db73a90788cf9fce6cc130f9c90a4d9d5cbeb79d6f9a35f69141695ac8303dd83da8688852c33e2df7db1d
+DIST gitolite-gentoo-3.6.2.3.tar.bz2 143658 SHA256 cfc0329d930513d99dc6c52bb4ecb1b0486e73ae7f02a81bfd5d57b79ff19966 SHA512 9b8ddaad043d9c7cdbcb027fcbfd36cd09ce2cfaf0b102deee037977461d54942fd7ac019373876f9f4ab04250f78c8565c73494b7b9fc0e42e140d878cc303f WHIRLPOOL 25bc3ab404b00dc1f804777be3609a4db6ac47ad6b27a0fdbb33cca8e35d8ccfc52b44e29d5a0670f9fad3006264bf8056de16d0f67a1586c16abc7eb0fc457b
+DIST gitolite-gentoo-3.6.2.4.tar.bz2 143564 SHA256 37153036346a7efded1eacfbc11740319dc8b398c27479a2c2cef3a8327a81f7 SHA512 ec5e62822687b1293348107df003e3c3c4a3aad9b4f461e09410aef993bb464a176daee81223ae952159572db7158267fd90b90cbc877c4be2a9fdc2ecc87fb7 WHIRLPOOL 6f7be9a57dfe30c452abe3f084adef61123e409a48ba110fb726ae91cb02a1cadb8e36f23d0d84be6c8d3392baba3af81215d8e9436ed0e130e618d85d52938d
+DIST gitolite-gentoo-3.6.3.2.tar.bz2 148655 SHA256 b43c0c781053656a65d25fd7f47e1a9827079e95e8c7274a287288f62e229a36 SHA512 deed5379316e5fc3d33b7131eb64f7850004b34e034dd37417796dafbc9c038d92f4002f8d9c2066a0859bb1052669a378e8a66387f27eed10c6ca5a73e04623 WHIRLPOOL aa97eca62c77f8b42652c8c53a95068048b4f75f4778fecb4279a7e8648c78479c80aa5475c3cb84d939c6a951ed732cdf11b9dfba910d2af61c38ddad4fa314
+DIST gitolite-gentoo-3.6.3.tar.bz2 147531 SHA256 6689cfedb258f61206777eaa83d388eacb670d66384f9294474440d4669f08eb SHA512 4c4f40cf608ea78f76c39701880e53e2f6486fc37478818f5b4f0946fcd9ffe30ef122463b7b6b48a0a9931271fe7ef7aecf6bf23bbce45f36cd1e217e5ec45a WHIRLPOOL 7d7d1a060c9f8d7124df59cdcca9f1cf0a1bc37c2ca3a32c278f122b0b3c9f17c8d7ea2fb58151bc19c2f44f3745d4a82a3ff19ba2ff8e44675b0ba2b39187c8
+DIST gitolite-gentoo-3.6.4.1.tar.bz2 151771 SHA256 352c51f437733f6f79a35c13c207a0f46002c41b97e47cdb06325b58e0b359a5 SHA512 5eec313199f9d757be2c357ae07d8e3a8f7b82dd684a40024a33ec3f3d8806fd0cac7f57fcc740be888285343d965fa2497fccb971d24b0082c772cf1cb1655f WHIRLPOOL dba9907af26aa1677a87d7fb89e6d9533ef751254f3c3a53acc4ac49cc3932ab29014c51f89099e21bcef1c3f835ffccbe80aa1e0f94649236a1507ae6281438
+DIST gitolite-gentoo-3.6.4.tar.bz2 151879 SHA256 7f567bfc92d9ed55505b7fde71a7903a0b3351007b358de84f98e96ed54a4187 SHA512 dcb926f747ce43942c5678390bf0649061d4f779d416fc09980ab8a9b169a9604596f6b7800432636f43707c83aac61472df26cfb1c66cc85d1ff8eaa4db2c19 WHIRLPOOL ca1187b4896b2a1f1364e9525ddcd607a705a2ac6331fd670799c1d89f42d76407abe69999d0f87e887e460fbefc470e60afafd9d02db273c5331ecd71fda0ff
+DIST gitolite-gentoo-3.6.5.tar.bz2 153234 SHA256 60a9687dc788e1d271ddcb52448feba65c3f617f1b013daa4298ebef3b048c40 SHA512 c32f91dcb8ff790c2c59f0cb9ce1f906b17d5012922e0efdb2da1f7b1986f9f82b85b6e232f6b6e65e4d3daecb8f247a408b664b44624a64bf876b416a7b3ca4 WHIRLPOOL fe8fdb7c428d792047f25e0282d82a9191642291a6e8e14da4b7d90ae58cb2d0ce25ee6af5eccd55ed69f79ff45fef045a26e0449e37a20c6ba6be4c9d44975f
+DIST gitolite-gentoo-3.6.6.1.tar.bz2 155262 SHA256 1bcc2243065f12a3f3400bc32acda3cb966ec433fa6fbc2f288b1649b791f596 SHA512 76765972b06e985879bd3384be62e4b57676d0d67e6d55b56a63a2d802fe3ee76576e0da20896f11764a311dfcde0bfaf4309105ddc8c55c0c09bb098ed6a1bb WHIRLPOOL 14b87c4cf9fcfe88754853f38a8014b882ab6a2dc4a089e6d57dce150e676b2fa57039ee9a145ba3e47fb87a3bb468d1778b78bda19e716f71d993d533d0d268
+DIST gitolite-gentoo-3.6.6.tar.bz2 155267 SHA256 a43003404514563e04439aeb3829833cd5c26e5784ba326c3b30a00325e70dee SHA512 cd3a34e714072b1b8792b98c023dfa141dff03cc2e225e0a006fafd3a112d98bf031a826ccfb667624b2455f1253def6c487ffba1134ad6cc8c981987437a9d6 WHIRLPOOL 89af2b545e0ac33f2e89b76ee3b49387e2e412e68989e4773eda23c07d7168eb4a6bcc1e267bdf8a23cfa5b65068683e4e8cc8cd46ab7b3a626c06daeee096e4
+EBUILD gitolite-gentoo-2.3.1-r1.ebuild 1851 SHA256 863f848a711a202e40585ec35cf66c35b2e71761a1bd423771df766161d5c3c9 SHA512 4d4814b3ff975bf19de0391a25125dd7133880365dfb90364bae99ea0830ffc292d90b6dbbdae603d48d751897c456af48f71e6019f961443aba897b0a48e2e8 WHIRLPOOL 69fb145e20960c2c6069e7ab2b3342dcc0b9b10c2b5643276434308eaad50c61e07cd5379572acd637b810d7fd98b2d13e039a222776194e5c5c05f849d42dfa
+EBUILD gitolite-gentoo-2.3.3-r1.ebuild 1853 SHA256 fdb8e32969eedfd4f18a447bea2187388212e109a7f19fdc7ef5739d17f910cf SHA512 48bd7b9c9fbd7f527d395d9c5988e1596f624325969742bc57f2f7700fd89a24d590ac3297a05c11212530dbf99a819ccc90cb6db6ffb657ec807f4961efe8f6 WHIRLPOOL 0ebe0b4cd44698bba1148e9aaba5dc0b62a70fac14057d7590080fd1a6a875bfbc3efcdb5e669760ce0bac6025a62c81f650392b75cd84050e0fd410c1b93609
+EBUILD gitolite-gentoo-3.5.3.1.ebuild 2277 SHA256 25bbe68350d5d45914aa5fe25dd91e68a2b133901775f0f885acf41488b53222 SHA512 dfbb656030a91dcba1b9f6dba30f6b48daafef1484bc1cd5ec56183aeeaca01c2fb8579ba83be2366d01c28fdfa5dabf7f180696c781a7dc0247bf018ddc7484 WHIRLPOOL ee2921bbd46f76d30191251bbd1facc8bf4b4f5bf51ca6dc2a4c952f9c6452caa8c36182630b8f6be3e236c2a8cd67800ea037aa99ad2b960a854668aeb14d13
+EBUILD gitolite-gentoo-3.6.1-r1.ebuild 2734 SHA256 0368f5c0fe80feff954a686e17992e70305fccf42de643c9dda323a090609039 SHA512 d0563316516a999a09b5daa1bc0ab2c416dd52bc599f7b5eb00a5e00bb3bdd17c5fe02dd2594a5153dffd8955e10ef642e99046121ec254712992bbd6ae9c7d4 WHIRLPOOL 24c868a609475f5185151e1bc31e6795eea56746e861d46f32bfdbfb4d8f8756da8c607c2cece175eabb39630d2a3747caff9aceca1298540718fb4d81d4025a
+EBUILD gitolite-gentoo-3.6.1.ebuild 2277 SHA256 25bbe68350d5d45914aa5fe25dd91e68a2b133901775f0f885acf41488b53222 SHA512 dfbb656030a91dcba1b9f6dba30f6b48daafef1484bc1cd5ec56183aeeaca01c2fb8579ba83be2366d01c28fdfa5dabf7f180696c781a7dc0247bf018ddc7484 WHIRLPOOL ee2921bbd46f76d30191251bbd1facc8bf4b4f5bf51ca6dc2a4c952f9c6452caa8c36182630b8f6be3e236c2a8cd67800ea037aa99ad2b960a854668aeb14d13
+EBUILD gitolite-gentoo-3.6.2.1.ebuild 2734 SHA256 0368f5c0fe80feff954a686e17992e70305fccf42de643c9dda323a090609039 SHA512 d0563316516a999a09b5daa1bc0ab2c416dd52bc599f7b5eb00a5e00bb3bdd17c5fe02dd2594a5153dffd8955e10ef642e99046121ec254712992bbd6ae9c7d4 WHIRLPOOL 24c868a609475f5185151e1bc31e6795eea56746e861d46f32bfdbfb4d8f8756da8c607c2cece175eabb39630d2a3747caff9aceca1298540718fb4d81d4025a
+EBUILD gitolite-gentoo-3.6.2.2.ebuild 2734 SHA256 0368f5c0fe80feff954a686e17992e70305fccf42de643c9dda323a090609039 SHA512 d0563316516a999a09b5daa1bc0ab2c416dd52bc599f7b5eb00a5e00bb3bdd17c5fe02dd2594a5153dffd8955e10ef642e99046121ec254712992bbd6ae9c7d4 WHIRLPOOL 24c868a609475f5185151e1bc31e6795eea56746e861d46f32bfdbfb4d8f8756da8c607c2cece175eabb39630d2a3747caff9aceca1298540718fb4d81d4025a
+EBUILD gitolite-gentoo-3.6.2.3.ebuild 2741 SHA256 71052f520df9b239cbca311d5e0a1fb84557e054c3ee57a9ede68c7e925557d0 SHA512 90e91cea8309a2058ce508ce521d65e2c4a5f9026253de7410d35f9430494a4660bc380ced3f8bf0d07af9d2efd1c7e65d48018dab37c116ebe0423931b3f000 WHIRLPOOL d3224d28042b4663f7b38a46dbce5a192b7ad3fd161b6bb0c47a4a515103c7a42df626a43bcc7dfc7646bfc7f90d0dbbbb11917d675bff8d6bdeaa435f15de7e
+EBUILD gitolite-gentoo-3.6.2.4.ebuild 2741 SHA256 71052f520df9b239cbca311d5e0a1fb84557e054c3ee57a9ede68c7e925557d0 SHA512 90e91cea8309a2058ce508ce521d65e2c4a5f9026253de7410d35f9430494a4660bc380ced3f8bf0d07af9d2efd1c7e65d48018dab37c116ebe0423931b3f000 WHIRLPOOL d3224d28042b4663f7b38a46dbce5a192b7ad3fd161b6bb0c47a4a515103c7a42df626a43bcc7dfc7646bfc7f90d0dbbbb11917d675bff8d6bdeaa435f15de7e
+EBUILD gitolite-gentoo-3.6.3.2.ebuild 2790 SHA256 573e6c63d613894344d214cf3ac73cf62033614e0636fdec9c98435908368d3e SHA512 c30568b53dfaece456c58603a0c63fc474819c66da2bb12ebe3c465edd67ce3dd38a9cb5667655b90fcb46af425a523098962c7d8f1f4dc938048f192f9001e0 WHIRLPOOL e89c8ee0376db0a53d3a571f6769457f8d8c8279483cd56db2c0e69289dc71adf2416153970814e2e5e40d31afe1be60e81d9b55d2a0cc88169706499954856c
+EBUILD gitolite-gentoo-3.6.3.ebuild 2741 SHA256 71052f520df9b239cbca311d5e0a1fb84557e054c3ee57a9ede68c7e925557d0 SHA512 90e91cea8309a2058ce508ce521d65e2c4a5f9026253de7410d35f9430494a4660bc380ced3f8bf0d07af9d2efd1c7e65d48018dab37c116ebe0423931b3f000 WHIRLPOOL d3224d28042b4663f7b38a46dbce5a192b7ad3fd161b6bb0c47a4a515103c7a42df626a43bcc7dfc7646bfc7f90d0dbbbb11917d675bff8d6bdeaa435f15de7e
+EBUILD gitolite-gentoo-3.6.4.1-r1.ebuild 2796 SHA256 ca36449100101f589c0c8319eb0f76196c3a6916abca9c0c1b153f305d837eda SHA512 3bd502a5cb7279968993e0070065b27e707c53e065ca143db5bb38e6f2a6d3b6a6282567a80522aa1a15509150218185bd1de5a2be40176acef03d30b395909c WHIRLPOOL 2c2fdb06053e22c3d79467d155200de660e07f815050257a9d5ff27f1636b9a39a4747cd20219dca39e084981f4018d1fdfc8f0b5821e8fd8d56f4ee411b2f39
+EBUILD gitolite-gentoo-3.6.4.1.ebuild 2790 SHA256 573e6c63d613894344d214cf3ac73cf62033614e0636fdec9c98435908368d3e SHA512 c30568b53dfaece456c58603a0c63fc474819c66da2bb12ebe3c465edd67ce3dd38a9cb5667655b90fcb46af425a523098962c7d8f1f4dc938048f192f9001e0 WHIRLPOOL e89c8ee0376db0a53d3a571f6769457f8d8c8279483cd56db2c0e69289dc71adf2416153970814e2e5e40d31afe1be60e81d9b55d2a0cc88169706499954856c
+EBUILD gitolite-gentoo-3.6.4.ebuild 2790 SHA256 573e6c63d613894344d214cf3ac73cf62033614e0636fdec9c98435908368d3e SHA512 c30568b53dfaece456c58603a0c63fc474819c66da2bb12ebe3c465edd67ce3dd38a9cb5667655b90fcb46af425a523098962c7d8f1f4dc938048f192f9001e0 WHIRLPOOL e89c8ee0376db0a53d3a571f6769457f8d8c8279483cd56db2c0e69289dc71adf2416153970814e2e5e40d31afe1be60e81d9b55d2a0cc88169706499954856c
+EBUILD gitolite-gentoo-3.6.5.ebuild 2796 SHA256 ca36449100101f589c0c8319eb0f76196c3a6916abca9c0c1b153f305d837eda SHA512 3bd502a5cb7279968993e0070065b27e707c53e065ca143db5bb38e6f2a6d3b6a6282567a80522aa1a15509150218185bd1de5a2be40176acef03d30b395909c WHIRLPOOL 2c2fdb06053e22c3d79467d155200de660e07f815050257a9d5ff27f1636b9a39a4747cd20219dca39e084981f4018d1fdfc8f0b5821e8fd8d56f4ee411b2f39
+EBUILD gitolite-gentoo-3.6.6.1.ebuild 2796 SHA256 4dcc0d07a2ca328c31e1cb35fb111befa9bd9d7a13faa3d72060807b152d466b SHA512 8f2800d6c8a11fd1d7ef43f754c17642db284c93e63a0028153dc33da647c59fe272eb09a2c8c0569915b7f57a5d29737a7be200b4ae8da88939e2bdecce4338 WHIRLPOOL f8e025028c2b769c0cd8acc948786b5eb95e70350a19f4f02b39dd5f97dfc399abbe8f3fcbeae904a9ea0b5c49ed96116f2e7f7328eaf0851e3438affcba5899
+EBUILD gitolite-gentoo-3.6.6.ebuild 2796 SHA256 4dcc0d07a2ca328c31e1cb35fb111befa9bd9d7a13faa3d72060807b152d466b SHA512 8f2800d6c8a11fd1d7ef43f754c17642db284c93e63a0028153dc33da647c59fe272eb09a2c8c0569915b7f57a5d29737a7be200b4ae8da88939e2bdecce4338 WHIRLPOOL f8e025028c2b769c0cd8acc948786b5eb95e70350a19f4f02b39dd5f97dfc399abbe8f3fcbeae904a9ea0b5c49ed96116f2e7f7328eaf0851e3438affcba5899
+EBUILD gitolite-gentoo-9999.ebuild 2796 SHA256 ca36449100101f589c0c8319eb0f76196c3a6916abca9c0c1b153f305d837eda SHA512 3bd502a5cb7279968993e0070065b27e707c53e065ca143db5bb38e6f2a6d3b6a6282567a80522aa1a15509150218185bd1de5a2be40176acef03d30b395909c WHIRLPOOL 2c2fdb06053e22c3d79467d155200de660e07f815050257a9d5ff27f1636b9a39a4747cd20219dca39e084981f4018d1fdfc8f0b5821e8fd8d56f4ee411b2f39
+MISC ChangeLog 5179 SHA256 c3d826adc1feeeaaf74dfde07861d5fe9f931af9e9f6befd7286e19195bd098e SHA512 757f5033010d9a0f41d07c8f18b07acecc6cf32c6f839b314de343c6482a48eca2dbe4786bbac4fb13b24bfd197a91942e2f39c375e9d466751066e5aac6f993 WHIRLPOOL 9c81cd426cf8d7d6fbe2468a556dc1b90f8fe34688e8b2eb248d56e4a16d3f3ee07cdfce59e6342818ff26e05a8343757f0ee0dd65ed168ddaaf496e1058e9e5
+MISC ChangeLog-2015 9312 SHA256 b57ce826db93fa244cb940849cdb91be554e1bfad3414e4f5559027dc920c2b7 SHA512 da41d1f57b7d420aed8f26644dc627b491ec32aceea006a2005ccda1c4ee25e47a4036076d9db451eba8ca13af558c23935273075cfa221e3aa032ef24f647ed WHIRLPOOL 32c14a8f47ec0b37be220dd7ba48f8a057a8227baf9b3850974f020c608aca2c6721db369469c8843dd34d4d42048cd84e87a81e298cf29706c8571e2df657b7
+MISC metadata.xml 478 SHA256 be886c19b7ee7a721fd5df36496e187572e2264afd1b85fbd60804e579fa13f1 SHA512 c014b88113a5769aa13b2d898afef78df07a642c4ccc964ae62bb64f07d3dac3c6e81df0defd873bc85be4434714abfeac160be0b4b1e9b77510f6cb5ad54810 WHIRLPOOL 9e274518f7422fa5e71de9e63c78653d01331d9a28b56b1c042d085100450f6733eea7a0745806984329fb7d3d586d4ac33a9764f07b1e619ee057964a35ffeb
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-2.3.1-r1.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-2.3.1-r1.ebuild
new file mode 100644
index 000000000000..68d699eaea57
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-2.3.1-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils perl-module user
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="contrib vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ dev-perl/Net-SSH-AuthorizedKeysFile
+ vim-syntax? ( app-vim/gitolite-syntax )"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/bash /var/lib/gitolite git
+}
+
+src_prepare() {
+ rm Makefile doc/COPYING || die
+ rm -rf contrib/{gitweb,vim} || die
+
+ echo "${PF}-gentoo" > conf/VERSION
+}
+
+src_install() {
+ local gl_bin="${D}/usr/bin"
+ gl_bin=${gl_bin/\/\//\/}
+
+ dodir /usr/share/gitolite/{conf,hooks} /usr/bin || die
+
+ export PATH="${gl_bin}:${PATH}"
+ ./src/gl-system-install ${gl_bin} \
+ "${D}"/usr/share/gitolite/conf "${D}"/usr/share/gitolite/hooks || die
+ sed -i -e "s:${D}::g" "${D}/usr/bin/gl-setup" \
+ "${D}/usr/share/gitolite/conf/example.gitolite.rc" || die
+
+ rm "${D}"/usr/bin/*.pm
+ insinto "${VENDOR_LIB}"
+ doins src/*.pm || die
+
+ dodoc README.mkd doc/*
+
+ if use contrib; then
+ insinto /usr/share/doc/${PF}
+ doins -r contrib/ || die
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+}
+
+pkg_postinst() {
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ ewarn
+ elog "If you use the umask feature and upgrade from <=gitolite-gentoo-1.5.9.1"
+ elog "then please check the permissions of all repositories using the umask feature"
+ ewarn
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-2.3.3-r1.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-2.3.3-r1.ebuild
new file mode 100644
index 000000000000..f03af212c5f8
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-2.3.3-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils perl-module user
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="contrib vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ dev-perl/Net-SSH-AuthorizedKeysFile
+ vim-syntax? ( app-vim/gitolite-syntax )"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/bash /var/lib/gitolite git
+}
+
+src_prepare() {
+ rm Makefile doc/COPYING || die
+ rm -rf contrib/{gitweb,vim} || die
+
+ echo "${PF}-gentoo" > conf/VERSION
+}
+
+src_install() {
+ local gl_bin="${D}/usr/bin"
+ gl_bin=${gl_bin/\/\//\/}
+
+ dodir /usr/share/gitolite/{conf,hooks} /usr/bin || die
+
+ export PATH="${gl_bin}:${PATH}"
+ ./src/gl-system-install ${gl_bin} \
+ "${D}"/usr/share/gitolite/conf "${D}"/usr/share/gitolite/hooks || die
+ sed -i -e "s:${D}::g" "${D}/usr/bin/gl-setup" \
+ "${D}/usr/share/gitolite/conf/example.gitolite.rc" || die
+
+ rm "${D}"/usr/bin/*.pm
+ insinto "${VENDOR_LIB}"
+ doins src/*.pm || die
+
+ dodoc README.mkd doc/*
+
+ if use contrib; then
+ insinto /usr/share/doc/${PF}
+ doins -r contrib/ || die
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+}
+
+pkg_postinst() {
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ ewarn
+ elog "If you use the umask feature and upgrade from <=gitolite-gentoo-1.5.9.1"
+ elog "then please check the permissions of all repositories using the umask feature"
+ ewarn
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.5.3.1.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.5.3.1.ebuild
new file mode 100644
index 000000000000..7460fb092445
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.5.3.1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit perl-module user versionator
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ dev-perl/Net-SSH-AuthorizedKeysFile
+ vim-syntax? ( app-vim/gitolite-syntax )"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.txt CHANGELOG
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [ "$(get_major_version $REPLACING_VERSIONS)" = "2" ]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.1-r1.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.1-r1.ebuild
new file mode 100644
index 000000000000..fb86e51f1c28
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.1-r1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/Net-SSH-AuthorizedKeysFile
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.1.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.1.ebuild
new file mode 100644
index 000000000000..7460fb092445
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit perl-module user versionator
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ dev-perl/Net-SSH-AuthorizedKeysFile
+ vim-syntax? ( app-vim/gitolite-syntax )"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.txt CHANGELOG
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [ "$(get_major_version $REPLACING_VERSIONS)" = "2" ]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.1.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.1.ebuild
new file mode 100644
index 000000000000..fb86e51f1c28
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/Net-SSH-AuthorizedKeysFile
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.2.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.2.ebuild
new file mode 100644
index 000000000000..fb86e51f1c28
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.2.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/Net-SSH-AuthorizedKeysFile
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.3.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.3.ebuild
new file mode 100644
index 000000000000..3f6d38426043
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.3.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ >=dev-perl/Net-SSH-AuthorizedKeysFile-0.17
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.4.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.4.ebuild
new file mode 100644
index 000000000000..3f6d38426043
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.4.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ >=dev-perl/Net-SSH-AuthorizedKeysFile-0.17
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.3.2.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.3.2.ebuild
new file mode 100644
index 000000000000..2df90f3a53b1
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.3.2.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ selinux? ( sec-policy/selinux-gitosis )
+ >=dev-perl/Net-SSH-AuthorizedKeysFile-0.17
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.3.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.3.ebuild
new file mode 100644
index 000000000000..3f6d38426043
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.3.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ >=dev-perl/Net-SSH-AuthorizedKeysFile-0.17
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.4.1-r1.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.4.1-r1.ebuild
new file mode 100644
index 000000000000..7120a4c7c21d
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.4.1-r1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ selinux? ( sec-policy/selinux-gitosis )
+ >=dev-perl/Net-SSH-AuthorizedKeysFile-0.17
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers,hooks}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.4.1.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.4.1.ebuild
new file mode 100644
index 000000000000..2df90f3a53b1
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.4.1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ selinux? ( sec-policy/selinux-gitosis )
+ >=dev-perl/Net-SSH-AuthorizedKeysFile-0.17
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.4.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.4.ebuild
new file mode 100644
index 000000000000..2df90f3a53b1
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.4.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ selinux? ( sec-policy/selinux-gitosis )
+ >=dev-perl/Net-SSH-AuthorizedKeysFile-0.17
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.5.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.5.ebuild
new file mode 100644
index 000000000000..7120a4c7c21d
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.5.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ selinux? ( sec-policy/selinux-gitosis )
+ >=dev-perl/Net-SSH-AuthorizedKeysFile-0.17
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers,hooks}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.6.1.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.6.1.ebuild
new file mode 100644
index 000000000000..e3537a2dee5e
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.6.1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ selinux? ( sec-policy/selinux-gitosis )
+ >=dev-perl/Net-SSH-AuthorizedKeysFile-0.17
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers,hooks}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.6.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.6.ebuild
new file mode 100644
index 000000000000..e3537a2dee5e
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.6.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ selinux? ( sec-policy/selinux-gitosis )
+ >=dev-perl/Net-SSH-AuthorizedKeysFile-0.17
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers,hooks}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/gitolite-gentoo-9999.ebuild b/dev-vcs/gitolite-gentoo/gitolite-gentoo-9999.ebuild
new file mode 100644
index 000000000000..7120a4c7c21d
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/gitolite-gentoo-9999.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.gentoo.org/proj/gitolite-gentoo"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker, Gentoo fork"
+HOMEPAGE="https://cgit.gentoo.org/proj/gitolite-gentoo.git"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite
+ vim-syntax? ( app-vim/gitolite-syntax )
+ selinux? ( sec-policy/selinux-gitosis )
+ >=dev-perl/Net-SSH-AuthorizedKeysFile-0.17
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo "${PF}-gentoo" > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers,hooks}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr.html first!"
+ ewarn
+ elog "***NOTE*** If you're using the \"umask\" feature of ${PN}-2.x:"
+ elog "You'll have to replace each \"umask = ...\" option by \"option umask = ...\""
+ elog "And you'll also have to enable the \"RepoUmask\" module in your .gitolite.rc"
+ ewarn
+ fi
+
+ # bug 352291
+ gitolite_home=$(awk -F: '$1 == "git" { print $6 }' /etc/passwd)
+ if [ -n "${gitolite_home}" -a "${gitolite_home}" != "/var/lib/gitolite" ]; then
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+ fi
+}
diff --git a/dev-vcs/gitolite-gentoo/metadata.xml b/dev-vcs/gitolite-gentoo/metadata.xml
new file mode 100644
index 000000000000..6eeb785c12d0
--- /dev/null
+++ b/dev-vcs/gitolite-gentoo/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>idl0r@gentoo.org</email>
+ <name>Christian Ruppert</name>
+ </maintainer>
+ <use>
+ <flag name="contrib">Install user-contributed files</flag>
+ <flag name="tools">Install tools to e.g. convert a Gitosis config to
+ gitolite or one to check if your setup is gitolite &gt;= 3.x compatible</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-vcs/gitolite/Manifest b/dev-vcs/gitolite/Manifest
new file mode 100644
index 000000000000..4142f9920cff
--- /dev/null
+++ b/dev-vcs/gitolite/Manifest
@@ -0,0 +1,25 @@
+AUX gitolite-3.6.6-fix-shebang.patch 731 SHA256 3776efd2a39f06df67307d437a26ff25330eb70e7e5a967fa355f2eb0f4a5aaf SHA512 dfffd0a7ef37e01edc690bba13f39edb4a751684addc1cfae8248c59fe48a59e51232ba21a1a9f1056756dcd6b51f04375f6652085f2dccad1f55073751bc105 WHIRLPOOL 7e2ba81e9d182bbf0770938390c2c25e308f88245852a7a37cc0f3dc36b0486d407fcb05918ebc792ab2022f8e04e5d8df0da11f8f239b4e21d1d2fca747f6a1
+DIST gitolite-2.3.1.tar.gz 255807 SHA256 53303fea0154914356830202d3de23f94682bab26197ead8ca05d58818c56e82 SHA512 a658104b54ff6668022a6010b961fbe13b8e7a66242d547e0e4cf685574d8a1fd60065112095b0d73b826f6346973cb3a5db307d84fd5aceba852f2ddd0c86ee WHIRLPOOL 5d08b9c22e6a07478836cca3b7190b61729ef89e181e4746286a4cf48f253fe07647b165f22483d983bae1767d83b39f231414dc96b4e803140f64eb244fc241
+DIST gitolite-3.6.1.tar.gz 165506 SHA256 7ee03d715cc4d87c0b6dbca5d79daf6f50f657ab33b99da256d7ab02cefe3f6a SHA512 b568f9e96ddfa4cd482197a89cb0142fcb2717028227a0a2e9caa9864bb95379042ec464352a1d99dfd8ccff780b1211e8f926ad8de284245fc280038eda481a WHIRLPOOL 9101ba55ba1a94b53ba3e9421d170d5b650e3e72c390abb3aea186630638b4fa6b8a5d69d9553ed574444be00f263dabcfe11e63f89f2eb3787ab8765e67c4ce
+DIST gitolite-3.6.2.tar.gz 167670 SHA256 012c372b53d765558131ae0df23a590d41b042c8b88e38e952992caf52fc4fbf SHA512 f8f041fde1b7c533fcb9cc32beec99dd83bc0a81795115e7205585bbe2f25135e2347df437e123349525a0186fe702f265330b259d336389b437cecf0e894629 WHIRLPOOL 319a4d91950ad123fd9cd76c1bb0a2afc44843b42a8ff0309aef9eee0f15ae9b830286cd1040219ff7cd1c93e0818f9e0191e34b3f41037ea165a4e0d850601c
+DIST gitolite-3.6.3.tar.gz 174689 SHA256 9b20eb6ae84358c5f063b02da64e49bef4605c9bfc7fb3700a2766dba58b9d99 SHA512 afb8bcf27052d46725c4b3a6dd483e98ac3e574651bfe2ee35b442f044791acae8a17cbbab4237992a9755367e37f5160514d67cd2d863d623d32ed5fdf39362 WHIRLPOOL 8f2495b9cc462760632e58cdfeec3759070fcaad9f7c31faab13bb72de5e680967cba10ed5a79841f81fd257b056d520a36415619107f15919787711628ce9c8
+DIST gitolite-3.6.4.tar.gz 180619 SHA256 15b19181dcc00233e4d031f07d769cf930e93963a925a71d684748068f38dd63 SHA512 7c709372f66c4620109824191d6bf736b1066d74e5acd481fa552a6f010a38d6d7d17629a92fe7b944b43c6cac864db80217cefadc0e3a6dbf63530cff89cd6d WHIRLPOOL 2896dbb669dd71ee4cf184c90e9b87b7d69588789cfc16c5bcd26f3defb64a6812c8493df5e769a9a0c434f92b17d48ccccb9dd5c56507239a176a6832a66908
+DIST gitolite-3.6.5.tar.gz 182496 SHA256 15f367591cc6782cde8b0b8c2206ada5714e83998b96de61838d64ff0878f876 SHA512 60796663a87c2b169c08e4e26edfb76408428887d3e932677f4ca95a8c7f82e9e300a7400d3d900c371628b23972be063444b7c036218f6ff0ab13626a886f90 WHIRLPOOL dcc5b7ebf64fb9334d5062e9dd0c7b678ea4b1bc0d014b636a8bc346e9931888e43e32d7a21fe4b10528a0f6657e6ed5e0185427ba6cfd5e32d964ab5627f1a4
+DIST gitolite-3.6.6.tar.gz 183469 SHA256 6971db70cf1393bf864cab569adbbd2a71f777f095d13447079a2463901b031f SHA512 1529330ed2afa315fcb650c55d515e5d4b61921f46b4d763a759537434492959f100d2219ab7673e568d46f397a25a45d4388fe3827ea988333fc8719820f8bc WHIRLPOOL 2c7bcf70d908b3af5c8152fc29b57101757e280e1235faf91270053cc0e05d1b2dc67a6f6d36193ff53d2db3f0ee73b90ef53fdc0be7f3ba42daa2e1633595db
+DIST gitolite-3.6.7.tar.gz 186298 SHA256 f75d15bb438986b77bd8aeda7839dcd3624ae9d09dbfce245c00b906de8dbdc5 SHA512 d22bf5c34834f82df771e6d4527496a302da312f7f78dfe81c1284f5a1ea05de90ec217e03e94918d69a006a72fa16dc0006b1f555826ad6183d9dce2dd9d425 WHIRLPOOL 41c3485a634834e6eeb8cafd7f35340960f41de62286c8fb1076739fad735c6b15a2b396708682fc11de5fd80edc5c8c6a6c972fd802db72edef0357d355eda9
+DIST gitolite-3.6.tar.gz 156481 SHA256 ae9180a180a05cad344788eadc8340d6ebcb4cc60d96a1f5ab5fc355d395ba4b SHA512 91606a5fed202f0da2194310bc7da8e5d35cdfa2924b009ed3447ba41e2fd856b9043f1b57d16600ec44f17d640e9ee988b4086bea032827bf5fca83e5ff024f WHIRLPOOL 79b3a553dd25db9a3e99d7725c0932bb0b126f30bd013b9cc53d69f60d0c906eac4134b25f6759d9635e50df3324d731f16c30fb44c25e89df7e35560a3e00b1
+EBUILD gitolite-2.3.1-r1.ebuild 1647 SHA256 350d4dcfe84d3399eb19af37782d7d85e087117cbf44a30db90aa1b8c2fb9a92 SHA512 77347b4575a9236a5e259e9c67eb29ecd023092c2713ca45d8871af2303222d827296405168126f7f88ff45c8bcb96427325391801baa5740a90b2548bb25da4 WHIRLPOOL 3c9d374c3cfc66738c28ee4be450fd3b85b52929914e41aca47541a37bdcb5337d8d55a04acbf9bd35cfaa010ff308a6814414cf6d7cafb3c3c5b901ab2efe8f
+EBUILD gitolite-3.6.1.ebuild 1868 SHA256 0489bc387632efdde0db6ae4d3daa416f4ca7fd1250672429d081bdfc818e926 SHA512 816b9b4f1dbb13bc08de4511c8770b3ca0e43487793ffc06cb4b2579d0339c6b2c7d51c18e474bbdcdce7a6c7ffcd1cc1803d9b4b5ce5d23780efd354fb22788 WHIRLPOOL f462b8f9f587033f79fcbcf92e6cd7c5bfd593304a2393e16798ef9558b00c7830ab24f60cc4ea6537eab7c6bec558efadfb1df89af9e50e9301fde224c9e462
+EBUILD gitolite-3.6.2-r1.ebuild 2303 SHA256 34fcc80b20a9d2c1980f22941dd5e06db6e99f04142a0b1218a52062eacba1e8 SHA512 0b529e19c8b8efe3f18d80dddb91fad5103b93f87f58a891e488bfd29162718eb08549071686faee6871fd693996930ac76cebe10f67819e476785b8883ddb59 WHIRLPOOL 97497fc4398d2df826d407b8c9274bdfab4eb96255ebf301c9561fa62ebab7000988e55c9a8077910ab4b90234fd3599bede28d4a4acb1057cc8467398d6fa3b
+EBUILD gitolite-3.6.2.ebuild 1873 SHA256 5153861127863cf20c2c047d69c39d42146ab0055e40485eee73ac5152092ee6 SHA512 c5e562c9db575a053afeb98146c61bd2c05f4f478e49b1581d61b716916af47234548ecc1d8b043388d991a3adde1d8a6cffcbcff83fbc060d1deac9973da50a WHIRLPOOL 989c81749a6ef062ed648763e1881bbc567909376f5e891a56ac14e23542a607beb046eb742b6cf172e5bf55f6697406f9af1de0c58e291ac5945caf1405a12e
+EBUILD gitolite-3.6.3.ebuild 2350 SHA256 76f1a941079bcf2291eb4332d917d9702b04cbfb37a84f7813ba08f77e7f6b1a SHA512 c0a6ba41dc2854d273f780b4f59f9350d660e18861ea6153d4e42ae05235db16caeb10c2ae7f13a462eeb370b8e4e6879d7336949e4563d9d507848581e98d83 WHIRLPOOL 5da79898272d738988448b7ad31d65e82ddffd05ac168492395e51e358c0c19a950747b8a49d20f6e428ab7b3ef1bb466596973e2fd0f3b2d0fc18805d95d0a0
+EBUILD gitolite-3.6.4-r1.ebuild 2358 SHA256 1b110b078702135a1972cfebe3bc95ea44c990dddd0e7f02dd31044091ee5bdf SHA512 f86cf6dbe5ea43932dc240868d5c5f098484cc4585ca1b5a21ab657f665d866ac44c87152dd386fff35e0833e5e3d7a66934c481d3dd31f087bc24d243b71111 WHIRLPOOL 6f3649b3492c9a7161cff6a4628e0c03bbc750161c42e7932fc223e67b266a6645a17eaf77b0da66054bc61f546c00e54fc9ddf5a01e509c29d6d3b5ecb79887
+EBUILD gitolite-3.6.4.ebuild 2352 SHA256 118436136d879a8453e86b5b189c112161f3a4e2351eb4b6bfb1e6c06f2b189b SHA512 ecab29b2a31c6bb98d76c7daff75f0b7df25396c84787dd235da65c16390ceb4c35c96e9d263559f20ea3bd450346bd3599a5c87aa52226304d3e66df45610fc WHIRLPOOL f93e2027c260055253be63e1c6bf9c2d84c75ddfa84a8d9fa58aef83aa9b5cb6c26fee8e068634777dbe495cb5bbc7c4c42f25413fb79224b23c098a386bbaed
+EBUILD gitolite-3.6.5.ebuild 2358 SHA256 1b110b078702135a1972cfebe3bc95ea44c990dddd0e7f02dd31044091ee5bdf SHA512 f86cf6dbe5ea43932dc240868d5c5f098484cc4585ca1b5a21ab657f665d866ac44c87152dd386fff35e0833e5e3d7a66934c481d3dd31f087bc24d243b71111 WHIRLPOOL 6f3649b3492c9a7161cff6a4628e0c03bbc750161c42e7932fc223e67b266a6645a17eaf77b0da66054bc61f546c00e54fc9ddf5a01e509c29d6d3b5ecb79887
+EBUILD gitolite-3.6.6.ebuild 2431 SHA256 fdba89971ae591e8d8b7244b73644dd4c439dc098cb5d8a93fd245cf7208c824 SHA512 8b4cf676c8a3434e97962301be3608b7ea10b48e8b5f0f8d185b274c1d9e2bc3d6f7c046879d2b825d16bdc5d514d9c790caa6bb4922b1a1d5a5827a17858c3d WHIRLPOOL 2386d9612c9292f2d4f3d9047dfde9534eeb6fe5f8d57f6cdb98d2e779e2f51a3d645dfe31b967a4c0dfb6673ad7b795cc45ca5fee4475b9350f914e9d0b24a0
+EBUILD gitolite-3.6.7.ebuild 2398 SHA256 c24664302412171efc3c14a5c3ed788c32d7cdc59235659163e0517d2cfbc3ee SHA512 1584babccb49c0d491bc749d804bf6ff5e3c4adcb1dfdf80d04d577a076e11315ceec5989f7e9be0e410b86b450aa8637d2cca177a75216a66bcc8577a28384b WHIRLPOOL 83459e6036b33dca7e63109868a7c379e4df19c47feb75b521566988fe9ce1181ab08e9cd3131bf4e47fce042b2283ef1146f6de8365a0262c28693d9c77de88
+EBUILD gitolite-3.6.ebuild 1866 SHA256 541bca9f93f13ce3929b0bebfcefd04b550e6bb2c1df267d6e8653bdaadb5220 SHA512 be5e90a8996a7c9f433d28e975de5d1a462fe57b134f903572069c43a373f81b6ba4253395f62b66e467a8b3de4e8036b6db37dac3dae9b1c1d4cacc94365b58 WHIRLPOOL 0d8c4964c5ba2f121d6c186153513b503fe5f66f68ec6490bb725080b537904bc975f67cdab9b287590083ead12504d164e5350a27f1bb8ebdca7281e208e462
+EBUILD gitolite-9999.ebuild 2358 SHA256 1b110b078702135a1972cfebe3bc95ea44c990dddd0e7f02dd31044091ee5bdf SHA512 f86cf6dbe5ea43932dc240868d5c5f098484cc4585ca1b5a21ab657f665d866ac44c87152dd386fff35e0833e5e3d7a66934c481d3dd31f087bc24d243b71111 WHIRLPOOL 6f3649b3492c9a7161cff6a4628e0c03bbc750161c42e7932fc223e67b266a6645a17eaf77b0da66054bc61f546c00e54fc9ddf5a01e509c29d6d3b5ecb79887
+MISC ChangeLog 3864 SHA256 074442c50cf76a6062a45e930b5dbb4fe686359d7fe4da8b9f1438fa467b7b95 SHA512 e1921d11419242a36ddf58ef9861f90f5c27d895a35af6dfd1aa7cb7ba1b832d2d022b9899e6f9acfd95cba9aaaadff5cb4812183f1e40af1fa847c1b4488e85 WHIRLPOOL 0b6e340eda1084f3009d3af2382214cdf163894537752fc059c6b94e48391f0b96b597eeac1aa8a09925a296ac33e27cd91b5172c245e94e5cca4e403212b743
+MISC ChangeLog-2015 7467 SHA256 b4879f85417345b73f42f744915325ae5e2c10fd2a08680246eebe9d919023e9 SHA512 3bfce1dbd15e65578f4a1ff5023aff85ba885ced6f2d936a3cca0fe8a565babe9a4d35fff4e16c44962c92818433be0d791f43e3d5ccdc333b7424cb757d49f6 WHIRLPOOL 50bb46c7a87e84d683b9b8f4099ac5b69da4a486a41b8f2c26b040eae6cb733e9f0445503acfb4bbad52d67a6fa7fb5cc5739f1f9978c485ced0c5063f818498
+MISC metadata.xml 780 SHA256 9bde0167177817f30c3a7eaa69a6e8466530ea3df48385c76c54a1c95e062866 SHA512 0a7c6ac8bc127892e5f6fe24774f095cb0bcf5971926c65b4d8a52748cfb7ae22d1ddc47365ece99612bc64853dfa224d42ded5093f0cd0976a2ae1b544eb5c8 WHIRLPOOL 5dc558b1724712ff535f8c17f9c613f636c3ae8e609a0e664be9e964e7c16c68ff86e980953985cd3e0006e79c201047050f246211d7551358c624b5b7cff407
diff --git a/dev-vcs/gitolite/files/gitolite-3.6.6-fix-shebang.patch b/dev-vcs/gitolite/files/gitolite-3.6.6-fix-shebang.patch
new file mode 100644
index 000000000000..21437f51fe5a
--- /dev/null
+++ b/dev-vcs/gitolite/files/gitolite-3.6.6-fix-shebang.patch
@@ -0,0 +1,23 @@
+From 72c02387f6e1a9d2791dd78533d0c3e909400715 Mon Sep 17 00:00:00 2001
+From: Sitaram Chamarty <sitaram@atc.tcs.com>
+Date: Fri, 25 Nov 2016 18:16:33 +0530
+Subject: [PATCH] fix shebang in repo-specific-hooks
+
+(thanks to Dieter on the mailing list for catching this!)
+---
+ src/triggers/repo-specific-hooks | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/triggers/repo-specific-hooks b/src/triggers/repo-specific-hooks
+index 7ed28e5..6e229ea 100755
+--- a/src/triggers/repo-specific-hooks
++++ b/src/triggers/repo-specific-hooks
+@@ -85,7 +85,7 @@ for my $repo (keys %repo_hooks) {
+ }
+
+ __DATA__
+-#/bin/sh
++#!/bin/sh
+
+ # Determine what input the hook needs
+ # post-update takes args, pre/post-receive take stdin
diff --git a/dev-vcs/gitolite/gitolite-2.3.1-r1.ebuild b/dev-vcs/gitolite/gitolite-2.3.1-r1.ebuild
new file mode 100644
index 000000000000..ced390150277
--- /dev/null
+++ b/dev-vcs/gitolite/gitolite-2.3.1-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit perl-module user
+
+DESCRIPTION="Highly flexible server for git directory version tracker"
+HOMEPAGE="https://github.com/sitaramc/gitolite"
+SRC_URI="https://milki.github.com/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="contrib vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite-gentoo
+ vim-syntax? ( app-vim/gitolite-syntax )"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ rm Makefile doc/COPYING || die
+ rm -rf contrib/{gitweb,vim} || die
+
+ echo "${PF}" > conf/VERSION
+}
+
+src_install() {
+ local gl_bin="${D}/usr/bin"
+ gl_bin=${gl_bin/\/\//\/}
+
+ dodir /usr/share/gitolite/{conf,hooks} /usr/bin || die
+
+ # install using upstream method
+ export PATH="${gl_bin}:${PATH}"
+ ./src/gl-system-install ${gl_bin} \
+ "${D}"/usr/share/gitolite/conf "${D}"/usr/share/gitolite/hooks || die
+ sed -i -e "s:${D}::g" "${D}/usr/bin/gl-setup" \
+ "${D}/usr/share/gitolite/conf/example.gitolite.rc" || die
+
+ rm "${D}"/usr/bin/*.pm
+ insinto "${VENDOR_LIB}"
+ doins src/*.pm || die
+
+ dodoc README.mkd doc/*
+
+ if use contrib; then
+ insinto /usr/share/doc/${PF}
+ doins -r contrib/ || die
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+}
+
+pkg_postinst() {
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+}
diff --git a/dev-vcs/gitolite/gitolite-3.6.1.ebuild b/dev-vcs/gitolite/gitolite-3.6.1.ebuild
new file mode 100644
index 000000000000..30a7fda7883a
--- /dev/null
+++ b/dev-vcs/gitolite/gitolite-3.6.1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit perl-module user versionator
+
+DESCRIPTION="Highly flexible server for git directory version tracker"
+HOMEPAGE="https://github.com/sitaramc/gitolite"
+SRC_URI="https://github.com/sitaramc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite-gentoo
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo $PF > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.txt CHANGELOG
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr/index.html first!"
+ fi
+
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+}
diff --git a/dev-vcs/gitolite/gitolite-3.6.2-r1.ebuild b/dev-vcs/gitolite/gitolite-3.6.2-r1.ebuild
new file mode 100644
index 000000000000..a1fb9c6b9da4
--- /dev/null
+++ b/dev-vcs/gitolite/gitolite-3.6.2-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="https://github.com/sitaramc/${PN}.git"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker"
+HOMEPAGE="https://github.com/sitaramc/gitolite"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="https://github.com/sitaramc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite-gentoo
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo $PF > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr/index.html first!"
+ fi
+
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+}
diff --git a/dev-vcs/gitolite/gitolite-3.6.2.ebuild b/dev-vcs/gitolite/gitolite-3.6.2.ebuild
new file mode 100644
index 000000000000..10f8ddcbf3f9
--- /dev/null
+++ b/dev-vcs/gitolite/gitolite-3.6.2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit perl-module user versionator
+
+DESCRIPTION="Highly flexible server for git directory version tracker"
+HOMEPAGE="https://github.com/sitaramc/gitolite"
+SRC_URI="https://github.com/sitaramc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite-gentoo
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo $PF > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr/index.html first!"
+ fi
+
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+}
diff --git a/dev-vcs/gitolite/gitolite-3.6.3.ebuild b/dev-vcs/gitolite/gitolite-3.6.3.ebuild
new file mode 100644
index 000000000000..4fc564404802
--- /dev/null
+++ b/dev-vcs/gitolite/gitolite-3.6.3.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="https://github.com/sitaramc/${PN}.git"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker"
+HOMEPAGE="https://github.com/sitaramc/gitolite"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="https://github.com/sitaramc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite-gentoo
+ selinux? ( sec-policy/selinux-gitosis )
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo $PF > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr/index.html first!"
+ fi
+
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+}
diff --git a/dev-vcs/gitolite/gitolite-3.6.4-r1.ebuild b/dev-vcs/gitolite/gitolite-3.6.4-r1.ebuild
new file mode 100644
index 000000000000..928bbe83926c
--- /dev/null
+++ b/dev-vcs/gitolite/gitolite-3.6.4-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="https://github.com/sitaramc/${PN}.git"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker"
+HOMEPAGE="https://github.com/sitaramc/gitolite"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="https://github.com/sitaramc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite-gentoo
+ selinux? ( sec-policy/selinux-gitosis )
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo $PF > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers,hooks}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr/index.html first!"
+ fi
+
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+}
diff --git a/dev-vcs/gitolite/gitolite-3.6.4.ebuild b/dev-vcs/gitolite/gitolite-3.6.4.ebuild
new file mode 100644
index 000000000000..26ef161375f9
--- /dev/null
+++ b/dev-vcs/gitolite/gitolite-3.6.4.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="https://github.com/sitaramc/${PN}.git"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker"
+HOMEPAGE="https://github.com/sitaramc/gitolite"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="https://github.com/sitaramc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite-gentoo
+ selinux? ( sec-policy/selinux-gitosis )
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo $PF > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr/index.html first!"
+ fi
+
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+}
diff --git a/dev-vcs/gitolite/gitolite-3.6.5.ebuild b/dev-vcs/gitolite/gitolite-3.6.5.ebuild
new file mode 100644
index 000000000000..928bbe83926c
--- /dev/null
+++ b/dev-vcs/gitolite/gitolite-3.6.5.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="https://github.com/sitaramc/${PN}.git"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker"
+HOMEPAGE="https://github.com/sitaramc/gitolite"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="https://github.com/sitaramc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite-gentoo
+ selinux? ( sec-policy/selinux-gitosis )
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo $PF > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers,hooks}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr/index.html first!"
+ fi
+
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+}
diff --git a/dev-vcs/gitolite/gitolite-3.6.6.ebuild b/dev-vcs/gitolite/gitolite-3.6.6.ebuild
new file mode 100644
index 000000000000..10ab3eef999b
--- /dev/null
+++ b/dev-vcs/gitolite/gitolite-3.6.6.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="https://github.com/sitaramc/${PN}.git"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker"
+HOMEPAGE="https://github.com/sitaramc/gitolite"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="https://github.com/sitaramc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm x86"
+else
+ SRC_URI=""
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite-gentoo
+ selinux? ( sec-policy/selinux-gitosis )
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/JSON"
+
+PATCHES=( "${FILESDIR}"/${P}-fix-shebang.patch )
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ default
+ echo $PF > src/VERSION || die
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers,hooks}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr/index.html first!"
+ fi
+
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+}
diff --git a/dev-vcs/gitolite/gitolite-3.6.7.ebuild b/dev-vcs/gitolite/gitolite-3.6.7.ebuild
new file mode 100644
index 000000000000..cd1b715bb24d
--- /dev/null
+++ b/dev-vcs/gitolite/gitolite-3.6.7.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="https://github.com/sitaramc/${PN}.git"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker"
+HOMEPAGE="https://github.com/sitaramc/gitolite"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="https://github.com/sitaramc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+else
+ SRC_URI=""
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite-gentoo
+ selinux? ( sec-policy/selinux-gitosis )
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/JSON"
+
+PATCHES=( )
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ default
+ echo $PF > src/VERSION || die
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers,hooks}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr/index.html first!"
+ fi
+
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+}
diff --git a/dev-vcs/gitolite/gitolite-3.6.ebuild b/dev-vcs/gitolite/gitolite-3.6.ebuild
new file mode 100644
index 000000000000..91aadb960309
--- /dev/null
+++ b/dev-vcs/gitolite/gitolite-3.6.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit perl-module user versionator
+
+DESCRIPTION="Highly flexible server for git directory version tracker"
+HOMEPAGE="https://github.com/sitaramc/gitolite"
+SRC_URI="https://github.com/sitaramc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE="tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite-gentoo
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo $PF > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.txt CHANGELOG
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr/index.html first!"
+ fi
+
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+}
diff --git a/dev-vcs/gitolite/gitolite-9999.ebuild b/dev-vcs/gitolite/gitolite-9999.ebuild
new file mode 100644
index 000000000000..928bbe83926c
--- /dev/null
+++ b/dev-vcs/gitolite/gitolite-9999.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="https://github.com/sitaramc/${PN}.git"
+EGIT_MASTER=master
+
+inherit perl-module user versionator ${SCM}
+
+DESCRIPTION="Highly flexible server for git directory version tracker"
+HOMEPAGE="https://github.com/sitaramc/gitolite"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI="https://github.com/sitaramc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+else
+ SRC_URI=""
+ KEYWORDS=""
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="selinux tools vim-syntax"
+
+DEPEND="dev-lang/perl
+ virtual/perl-File-Path
+ virtual/perl-File-Temp
+ >=dev-vcs/git-1.6.6"
+RDEPEND="${DEPEND}
+ !dev-vcs/gitolite-gentoo
+ selinux? ( sec-policy/selinux-gitosis )
+ vim-syntax? ( app-vim/gitolite-syntax )
+ dev-perl/JSON"
+
+pkg_setup() {
+ enewgroup git
+ enewuser git -1 /bin/sh /var/lib/gitolite git
+}
+
+src_prepare() {
+ echo $PF > src/VERSION
+}
+
+src_install() {
+ local uexec=/usr/libexec/${PN}
+
+ rm -rf src/lib/Gitolite/Test{,.pm}
+ insinto $VENDOR_LIB
+ doins -r src/lib/Gitolite
+
+ dodoc README.markdown CHANGELOG
+ # These are meant by upstream as examples, you are strongly recommended to
+ # customize them for your needs.
+ dodoc contrib/utils/ipa_groups.pl contrib/utils/ldap_groups.sh
+
+ insopts -m0755
+ insinto $uexec
+ doins -r src/{commands,syntactic-sugar,triggers,VREF}/
+ doins -r contrib/{commands,triggers,hooks}
+
+ insopts -m0644
+ doins src/VERSION
+
+ exeinto $uexec
+ doexe src/gitolite{,-shell}
+
+ dodir /usr/bin
+ for bin in gitolite{,-shell}; do
+ dosym /usr/libexec/${PN}/${bin} /usr/bin/${bin}
+ done
+
+ if use tools; then
+ dobin check-g2-compat convert-gitosis-conf
+ dobin contrib/utils/rc-format-v3.4
+ fi
+
+ keepdir /var/lib/gitolite
+ fowners git:git /var/lib/gitolite
+ fperms 750 /var/lib/gitolite
+
+ fperms 0644 ${uexec}/VREF/MERGE-CHECK # It's meant as example only
+}
+
+pkg_postinst() {
+ if [[ "$(get_major_version $REPLACING_VERSIONS)" == "2" ]]; then
+ ewarn
+ elog "***NOTE*** This is a major upgrade and will likely break your existing gitolite-2.x setup!"
+ elog "Please read http://gitolite.com/gitolite/migr/index.html first!"
+ fi
+
+ # bug 352291
+ ewarn
+ elog "Please make sure that your 'git' user has the correct homedir (/var/lib/gitolite)."
+ elog "Especially if you're migrating from gitosis."
+ ewarn
+}
diff --git a/dev-vcs/gitolite/metadata.xml b/dev-vcs/gitolite/metadata.xml
new file mode 100644
index 000000000000..4073771df8b6
--- /dev/null
+++ b/dev-vcs/gitolite/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>idl0r@gentoo.org</email>
+ <name>Christian Ruppert</name>
+ </maintainer>
+ <longdescription lang="en">
+ Gitolite is an access control layer on top of git, which allows access
+ control down to the branch level, including specifying who can and cannot
+ rewind a given branch.
+ </longdescription>
+ <use>
+ <flag name="contrib">Install user-contributed files</flag>
+ <flag name="tools">Install tools to e.g. convert a Gitosis config to
+ gitolite or one to check if your setup is gitolite &gt;= 3.x compatible</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">sitaramc/gitolite</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/gitsh/Manifest b/dev-vcs/gitsh/Manifest
new file mode 100644
index 000000000000..5615cc776fb6
--- /dev/null
+++ b/dev-vcs/gitsh/Manifest
@@ -0,0 +1,5 @@
+DIST gitsh-0.11.2.tar.gz 101503 SHA256 45572b528900bebf5fa2b81e3b04572cbf34dbfee3b17281a1c750ec9518533f SHA512 e8d473b4a13481722eb9a6b9232eb47174ed40f86af45848f33b9b936f09cf2010f8235036d9897bd637b841f35d051d3e426b56642f247b07c3a0d323e9a968 WHIRLPOOL 6d5da503e4f4df3211fc38552d35ce9bd2189bd10430acd234a701a413dc806c2ca4cd3aae2b55fc28d74f82f296ad7a862e72c3629e6c0383bd629c236065ec
+EBUILD gitsh-0.11.2.ebuild 1240 SHA256 6eb3ce9bb82ffd628599743b347a6960cf55c33f59c689416ab7d8451787ab99 SHA512 86db803740b4bfc402276154631cb134ad800fe26c43994acf5150a657e91b2d52d89d0bdf9eaccd85b2c605926db40913a2e0b357a3585cc528437c1f77bc29 WHIRLPOOL 479611fb0109f575a74be56e597939d148e221dde94399e773639cd9eeea80f0f3c8bd3fb38956d64515b0f4b79db3257975d7acbb53e9ae82fcfca0e68a6944
+MISC ChangeLog 3114 SHA256 3c02d57dc8daf8fb4599ce55e3c8762fb12d3723a9956b981306b67063dc22b8 SHA512 a29d858ca5d4d08fcbae4d00007880eb071d144e4ef515df3d26b008d657091883e61032286bf73dc465c6cfd41f56e32351b4e62ea8814deea57289d7b5ee93 WHIRLPOOL 59d9b512b31f0d7ccb70c98a7915bf87258c904f557c5067a3f854ea26b1692f70105f0978002508082036f17cce173724e92a47e8d5ce345f6e3a5bc749a4c1
+MISC ChangeLog-2015 336 SHA256 01f163b6565fb3820363c610852497611fc3954c410fa60d7ea09ae2b5e39e97 SHA512 b2d319514b5d976fd104456e98e183ce7e9384573ed6423274b5a552c3b730012f687949f633bf9dd55590e99557d6791ad05f312f2b8433408abf44da6c896a WHIRLPOOL 0b19c99c01982b6d863cc10cb545b275c289346b69742f5024c99d9f14651530bbf4a18891391fe9ac310076a703429e727de39266dbbd8258de3aed9742b0fa
+MISC metadata.xml 253 SHA256 c2cfb950442dcba7a4886656070e7ee33fe1a9ea3719cf4ab8f6149991181b64 SHA512 d7442414e86260bf43803d60d20da7d8e74cf4ec6f6c523ad03e091aa9a63c9299f12d29ba03f05792c822e4f4da35782be737b5b797b0c67a550b3d05fb9bd8 WHIRLPOOL 6d0045008c51dee6a26ba266c67500cc6fedf619955584509b6c8790b43c2e9364ba126d3dde35feee198ba9c5efb4603e75d53267d74ee1d2ffada550a8bef0
diff --git a/dev-vcs/gitsh/gitsh-0.11.2.ebuild b/dev-vcs/gitsh/gitsh-0.11.2.ebuild
new file mode 100644
index 000000000000..cd7ef1442f6a
--- /dev/null
+++ b/dev-vcs/gitsh/gitsh-0.11.2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+USE_RUBY="ruby21 ruby22 ruby23"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+RUBY_FAKEGEM_RECIPE_DOC="rdoc"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+
+inherit autotools ruby-fakegem
+
+DESCRIPTION="An interactive shell for git"
+HOMEPAGE="https://github.com/thoughtbot/gitsh"
+SRC_URI="https://github.com/thoughtbot/gitsh/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~amd64-linux"
+IUSE="test"
+
+RDEPEND+=" sys-libs/readline "
+
+DEPEND+=" test? ( dev-vcs/git ) "
+
+ruby_add_rdepend "
+ dev-ruby/bundler
+ dev-ruby/parslet
+ "
+
+ruby_add_bdepend "test? ( dev-ruby/pry )"
+
+DOCS="README.md"
+
+all_ruby_prepare() {
+ rm -f Gemfile.lock || die
+
+ # Avoid integration tests that assume they can use /usr/bin/ruby
+ rm -f spec/integration/running_scripts_spec.rb || die
+ # or the TTY
+ sed -i -e '/with valid arguments and no script file/,/^ end/ s:^:#:' spec/units/cli_spec.rb || die
+}
+
+each_ruby_prepare() {
+ eautoreconf
+
+ if use test; then
+ git init . || die
+ fi
+}
+
+each_ruby_configure() {
+ RUBY=${RUBY} default
+}
+
+each_ruby_compile() {
+ default
+}
+
+all_ruby_install() {
+ all_fakegem_install
+ doman "${S}"/man/man1/${PN}.1
+}
diff --git a/dev-vcs/gitsh/metadata.xml b/dev-vcs/gitsh/metadata.xml
new file mode 100644
index 000000000000..faa8f02e9175
--- /dev/null
+++ b/dev-vcs/gitsh/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">thoughtbot/gitsh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/gitstats/Manifest b/dev-vcs/gitstats/Manifest
new file mode 100644
index 000000000000..edbe0dccf46c
--- /dev/null
+++ b/dev-vcs/gitstats/Manifest
@@ -0,0 +1,10 @@
+AUX gitstats-0_pre131024-filter-invalid-unicode.patch 601 SHA256 30d4cf4f80674185b6a77dbcab8528bea4bf045f6efa2e618139ea1dd9ecd65c SHA512 a1ce080e6a9aee89fc5cc3b5aca60628759a0ef9f0e8ad93dcd813aeecb8ae9bd016c945d31a0704a0c124ee72cd0e788f339caf5eef8c498903f75dc001a73a WHIRLPOOL b1fb16df92bd4c78148b3a344bf7863b976f7e748ef7e077fca225274adf9befcb3226c99b3f2152c689a4b685ede71675052890ae64d06d8524dffb8ff2391f
+AUX gitstats-0_pre20151223-grep-force-text.patch 577 SHA256 9799793e756bf62a0f5db0f81cb923a027e707c6538190dbbb400ec0db051692 SHA512 a61ab86a93fe4ea605b5fdcba891e5b754fe1b56a8d2e54af4dee164835cc43c8578843f44dc4d8e041b3236f2775d246f3ed6726a88422887dd308b5f3768a2 WHIRLPOOL aaf79161a168940b870768342cb46d9f35271c0861e6e178ad08099ec0abdc79abfb94738b7301e0f5f4ff6fbea83b6f32c4f23a18dfdc39bd271f6b6b9e5cf2
+DIST gitstats-0_pre131024.tar.xz 32104 SHA256 67ec923e2cdfb260b945fa9ff9d12ba4e3398d89b89d50e49dcf55a338a6ab5d SHA512 a42c6ca37d39c24782c19a1157cc5aaf3a16e34c603c5fa3f91fcd5165e6f4788d5d75786b78f962ab81b3db66dd94f051dd929f02f4ffef845ec5b793feba53 WHIRLPOOL 13c20e208bf41da378091905c23c6cc3481bcb4a83db0c7524eee4017ececc7c0c81d583a03d80f7ecb23d8a0f691115475c805eeffdd40dd2f486d0bf7a59e6
+DIST gitstats-0_pre20151223.tar.xz 32236 SHA256 23cc68108121f9842429df13c222d504ac995972a4dba7fdc98ab808be2af528 SHA512 ea9ae5be4d2654621493eb87ba112cf99f1f940ba547f7cc1facc8ec042cc91c37c9120098e6788ba98876f7cf0bdda78c263174402b05a279748064c6323f82 WHIRLPOOL ba3abfb40c7ac63cf12dcdf033272fcbe793e35c3648d7d041d63e78a0e333a240185400f980b8bafd72f3143d4326186272e677d306564329b785ccffb13c10
+EBUILD gitstats-0_pre131024.ebuild 905 SHA256 8d70b17a66fb92601f03e37c12045451c163ce82fd34f76b0b121229fa24804b SHA512 e98842d050356646b49bc8bc03f90969b2a41af4ace1b96a12066c1032f077af99f06c4ec81c39d2374eab0a38e4a0bf653a4cdcf3aba635955ae606b1cb06b8 WHIRLPOOL 43a9511a6e8e4582bd77043c097eaad3a8a74ed2eb47a097cfb7d37e80aa12930d94c30986901f077b2585a15d57eef6ffedb90a5bdb535a68444562eaa6ccbb
+EBUILD gitstats-0_pre20151223.ebuild 1165 SHA256 c1f22cedfce53b9bcddf944e0f1e8df482e3d881cfc72f41fc6ceb01bc362cd5 SHA512 743e32d8fb41ebda6478eb6878991b1ee2f061397ebdd319ab84f99b598dcdc0129046cce0a1f83d43e80f31d35811f4785291fee55d3a668c07ba519b09ae8a WHIRLPOOL 46ab35de2dc861d1b01d520b6a9925d0561007e91d07ba365e3cae2a97a66d339843fc1d369ad2d3f60115f006a8fcb3ab14d46da41a60ce8c725cd3a9470a29
+EBUILD gitstats-9999.ebuild 1116 SHA256 3e84875b42553e0b8df884d39a51311a3c79851d363202b5c9fe784bb765b64b SHA512 aeec58866f477999efec002d99d5e04ec49f9813abcb6e2f6bf42cce5a3e468cfa82135c5ae820644604a22b635687705c2b6bd0d271f1f9e6360492f409b59e WHIRLPOOL 318e0d8a8124d1e5789d86c55d084bf21fd9a45a18d7596769433b0ef2f920c4200056383a5532a8caabe6b6a270a764daf85b1c70f54a6a7a31da05090c910c
+MISC ChangeLog 5363 SHA256 ed5948be25ae1402163d5f9407abde1b9fac9e445a8770b09d2166b9ab6d6233 SHA512 1626e71b3a09008eb3c52792499be8ff1b1de7e028299b87aff5feb2f4af946926a8592cbcd94158a273990f2450aae07436a99dea9b82144e7502b8ab995f15 WHIRLPOOL 2b16546ef60d829c81d38fe848dfeb45860e6db5a1ced22b47862d58d68705f4fa905be3f43222699a67fb9a02ea954ebd98bc0490e695b22536219bc198609d
+MISC ChangeLog-2015 1005 SHA256 a215788a0591df3f34b2e173d41fadc3c51484568fd5399ba2f3156c1db96478 SHA512 0d6617edf5744a377a8662d3b17ea4c0477e961494f802e4cc9d5efb9cfbc29bbfcfb0f560cba09fc6d08acf199ce5806541836e5d6519190ffff7fcf2d02c26 WHIRLPOOL 8807b5c6187a3c269f87d07f93f51679303b1e47d38d5fce961ef96c49342a4e2c1c6763b84984b6bd902389eb2eb642c6a0b28253265729d0c790d88c81c93f
+MISC metadata.xml 547 SHA256 0219864a4d2c71b60689dee1ef3ed6c77681f6a3dd2556dc9c077fca7d136561 SHA512 cb86285a7dc9783e0301f4ba657cb78667ad4d2301569cb9704bcd4be5577e48aa5b415a39df9a206d574bf81c67c9ce5c5874bd2c1e94459a0f7d5e2421c238 WHIRLPOOL b52dd087f11d83c49be8d9654f4b54fbcb1f941dd7fe97ef6db06a94093f5bf3036ef381003ea3d880ce170989f84f1765c0c5609d99afd9cf436c8e432d095e
diff --git a/dev-vcs/gitstats/files/gitstats-0_pre131024-filter-invalid-unicode.patch b/dev-vcs/gitstats/files/gitstats-0_pre131024-filter-invalid-unicode.patch
new file mode 100644
index 000000000000..4af6f890ec40
--- /dev/null
+++ b/dev-vcs/gitstats/files/gitstats-0_pre131024-filter-invalid-unicode.patch
@@ -0,0 +1,11 @@
+--- gitstats 2016-03-24 10:57:18.000000000 -0300
++++ gitstats.mod 2016-03-24 10:57:11.355016439 -0300
+@@ -321,7 +321,7 @@
+
+ # Collect revision statistics
+ # Outputs "<stamp> <date> <time> <timezone> <author> '<' <mail> '>'"
+- lines = getpipeoutput(['git rev-list --pretty=format:"%%at %%ai %%aN <%%aE>" %s' % getcommitrange('HEAD'), 'grep -v ^commit']).split('\n')
++ lines = getpipeoutput(['git rev-list --pretty=format:"%%at %%ai %%aN <%%aE>" %s' % getcommitrange('HEAD'), 'grep -av ^commit | grep -ax \'.*\'']).split('\n')
+ for line in lines:
+ parts = line.split(' ', 4)
+ author = ''
diff --git a/dev-vcs/gitstats/files/gitstats-0_pre20151223-grep-force-text.patch b/dev-vcs/gitstats/files/gitstats-0_pre20151223-grep-force-text.patch
new file mode 100644
index 000000000000..9663afcd4f62
--- /dev/null
+++ b/dev-vcs/gitstats/files/gitstats-0_pre20151223-grep-force-text.patch
@@ -0,0 +1,11 @@
+--- a/gitstats 2016-04-01 09:46:31.000000000 -0300
++++ b/gitstats 2016-04-01 09:46:18.458667610 -0300
+@@ -327,7 +327,7 @@
+
+ # Collect revision statistics
+ # Outputs "<stamp> <date> <time> <timezone> <author> '<' <mail> '>'"
+- lines = getpipeoutput(['git rev-list --pretty=format:"%%at %%ai %%aN <%%aE>" %s' % getlogrange('HEAD'), 'grep -v ^commit']).split('\n')
++ lines = getpipeoutput(['git rev-list --pretty=format:"%%at %%ai %%aN <%%aE>" %s' % getlogrange('HEAD'), 'grep -av ^commit']).split('\n')
+ for line in lines:
+ parts = line.split(' ', 4)
+ author = ''
diff --git a/dev-vcs/gitstats/gitstats-0_pre131024.ebuild b/dev-vcs/gitstats/gitstats-0_pre131024.ebuild
new file mode 100644
index 000000000000..ec6665528e09
--- /dev/null
+++ b/dev-vcs/gitstats/gitstats-0_pre131024.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1
+
+DESCRIPTION="Statistics generator for git"
+HOMEPAGE="http://gitstats.sourceforge.net/"
+SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}
+ sci-visualization/gnuplot[gd]
+ dev-vcs/git"
+
+src_prepare() {
+ sed \
+ -e "s:basedir = os.path.dirname(os.path.abspath(__file__)):basedir = '${EPREFIX}/usr/share/gitstats':g" \
+ -i gitstats || die "failed to fix static files path"
+ epatch "${FILESDIR}"/${P}-filter-invalid-unicode.patch
+}
+
+src_compile() {
+ :;
+}
+
+src_install() {
+ emake PREFIX="${D}"/usr VERSION="${PV}" install
+ dodoc doc/{README,*.txt}
+ python_replicate_script "${ED}"/usr/bin/${PN}
+}
diff --git a/dev-vcs/gitstats/gitstats-0_pre20151223.ebuild b/dev-vcs/gitstats/gitstats-0_pre20151223.ebuild
new file mode 100644
index 000000000000..f7f2ad6c28c6
--- /dev/null
+++ b/dev-vcs/gitstats/gitstats-0_pre20151223.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ KEYWORDS=""
+ EGIT_REPO_URI="https://github.com/hoxu/${PN}.git"
+else
+ KEYWORDS="~amd64 ~x86"
+ SRC_URI="https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${P}.tar.xz"
+fi
+
+DESCRIPTION="Statistics generator for git"
+HOMEPAGE="http://gitstats.sourceforge.net/"
+LICENSE="|| ( GPL-2 GPL-3 ) MIT"
+SLOT="0"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ sci-visualization/gnuplot[gd]
+ dev-vcs/git"
+DEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl:*
+"
+
+DOCS=( doc/{AUTHOR,README,TODO.txt} )
+
+src_prepare() {
+ sed \
+ -e "s:basedirs = \[binarypath, secondarypath, '/usr/share/gitstats'\]:basedirs = \['${EPREFIX}/usr/share/gitstats'\]:g" \
+ -i gitstats || die "failed to fix static files path"
+ eapply "${FILESDIR}"/${P}-grep-force-text.patch
+ default
+}
+
+src_compile() {
+ emake VERSION="${PV}" man
+}
+
+src_install() {
+ emake PREFIX="${ED}"usr VERSION="${PV}" install
+ doman doc/${PN}.1
+ einstalldocs
+ python_replicate_script "${ED}"usr/bin/${PN}
+}
diff --git a/dev-vcs/gitstats/gitstats-9999.ebuild b/dev-vcs/gitstats/gitstats-9999.ebuild
new file mode 100644
index 000000000000..4cfb9dd321c0
--- /dev/null
+++ b/dev-vcs/gitstats/gitstats-9999.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ KEYWORDS=""
+ EGIT_REPO_URI="https://github.com/hoxu/${PN}.git"
+else
+ KEYWORDS="~amd64 ~x86"
+ SRC_URI="https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${P}.tar.xz"
+fi
+
+DESCRIPTION="Statistics generator for git"
+HOMEPAGE="http://gitstats.sourceforge.net/"
+LICENSE="|| ( GPL-2 GPL-3 ) MIT"
+SLOT="0"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ sci-visualization/gnuplot[gd]
+ dev-vcs/git"
+DEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl:*
+"
+
+DOCS=( doc/{AUTHOR,README,TODO.txt} )
+
+src_prepare() {
+ sed \
+ -e "s:basedirs = \[binarypath, secondarypath, '/usr/share/gitstats'\]:basedirs = \['${EPREFIX}/usr/share/gitstats'\]:g" \
+ -i gitstats || die "failed to fix static files path"
+ default
+}
+
+src_compile() {
+ emake VERSION="${PV}" man
+}
+
+src_install() {
+ emake PREFIX="${ED}"usr VERSION="${PV}" install
+ doman doc/${PN}.1
+ einstalldocs
+ python_replicate_script "${ED}"usr/bin/${PN}
+}
diff --git a/dev-vcs/gitstats/metadata.xml b/dev-vcs/gitstats/metadata.xml
new file mode 100644
index 000000000000..cb682c150cea
--- /dev/null
+++ b/dev-vcs/gitstats/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gokturk@gentoo.org</email>
+ <name>Göktürk Yüksek</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>amadio@gentoo.org</email>
+ <name>Guilherme Amadio</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>NP-Hardass@gentoo.org</email>
+ <name>NP-Hardass</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">gitstats</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/gti/Manifest b/dev-vcs/gti/Manifest
new file mode 100644
index 000000000000..fa4731f2ad29
--- /dev/null
+++ b/dev-vcs/gti/Manifest
@@ -0,0 +1,4 @@
+EBUILD gti-9999.ebuild 627 SHA256 75addf94d75984898a5f3156ca51264318fcc08bc561d7148c5c47ffb6db5551 SHA512 d15342e74f2bbd686d41a3d9a9cd09afd8e163ae6acd62e2f8915f688a84c29bc77563a8233d4e3264cecfca4185fd4896ddaf9010c7723741466d6202d58f6f WHIRLPOOL 648c99f0eff40a066751b392b67019aa8be4bfda4e71a3c2d9fd8ab27111ef7686db4d4f12d45c7cb83033bb6be0722893ecc07cbef0236504475afd7118e757
+MISC ChangeLog 2161 SHA256 5b5c516a52d82e97e43f207ffa75d3cfe567bda9dbcbebc526d3e919142858d6 SHA512 6178fa995b4d9baa84c23e254b3bd7b1358b0e85383f0515a0fbd1fe6b330707536b020448103d5cb38eb7675b1c83fdfff3bceb439d0661b9ec3cb16f04f224 WHIRLPOOL ff6001f6438b1aa0aaaff04a86696557348c5d73bb19de93eda5fe1e0f76df79c0c17808d8f54b81bed1b18538ad0ae0a300983b8c6dbc4a9ac8742acfb7f40d
+MISC ChangeLog-2015 468 SHA256 d258d724c1f3432917fd4d89a584702a7682ace8a4ad70f5662159de27c1152a SHA512 e211bd1f52ab51be3f1211c4bc005504355912e7b3b818192234e3e877b40b02138aff0fff0f9b0f172ff0fb4d8a78342c77a56623528b53eadb7985f2efe297 WHIRLPOOL e64b647d9f82841458c1f13d52ff9bb6c808c7eff91a70bc1a8bac5fa3e0048fe6a775ecfbf4c1071cedac556f9e34df9e42952ad6bda26a0e48fd82390aaa4d
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/dev-vcs/gti/gti-9999.ebuild b/dev-vcs/gti/gti-9999.ebuild
new file mode 100644
index 000000000000..44d3b5125289
--- /dev/null
+++ b/dev-vcs/gti/gti-9999.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+EGIT_REPO_URI="https://github.com/rwos/${PN}.git"
+inherit git-2
+
+DESCRIPTION="A silly git launcher, basically. Inspired by sl"
+HOMEPAGE="http://r-wos.org/hacks/gti"
+SRC_URI=""
+
+LICENSE="MIT"
+SLOT="0"
+[[ ${PV} == 9999 ]] || \
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="dev-vcs/git"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # fix the makefile
+ sed -i \
+ -e "s:CC=:CC?=:g" \
+ -e "s:CFLAGS=:CFLAGS?=:g" \
+ -e "/-strip/d" \
+ -e 's:$(CC):$(CC) $(LDFLAGS):' \
+ Makefile
+}
+
+src_install() {
+ dobin gti
+}
diff --git a/dev-vcs/gti/metadata.xml b/dev-vcs/gti/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/dev-vcs/gti/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-vcs/guilt/Manifest b/dev-vcs/guilt/Manifest
new file mode 100644
index 000000000000..7645b1165943
--- /dev/null
+++ b/dev-vcs/guilt/Manifest
@@ -0,0 +1,5 @@
+DIST guilt-0.36.tar.gz 64624 SHA256 1e1a86ecfc2162c01b7d62c279ad055c643074d2b5239301d818ca81b31b6c0e SHA512 882438d5b9ed4d16e3dfc95ddbef6ec1d76860d82aa6abc78010351577fb65578f919c6fe55f9d7593c82b0eae2d0dd80d577eee906fff84a426391936242652 WHIRLPOOL 85749fcf66be08164e6a1e8ce58b3351e0a2c114042a8cdd43b05b52300b47f76bdf53d5b0affd809b66a0cfdfaeb327cd5d49c5a3d4793eb51b030e314a4789
+EBUILD guilt-0.36.ebuild 1224 SHA256 ddf6d89ae804b04a9f6fe947a997f99a41e31a8e013012245f5f7056e6a62f0b SHA512 de51109ca240eed4c23d98fccc088faa4151b7e8064dafdffa9ddc528397c90b0692a02a090703b44ec8a0579d4eda13eedf39ccbeacc8f1c68058aa6f2a2aff WHIRLPOOL 81ef455ddc7f9c0d8ca19a152782d5637dcaeb3fb21f4189f855c4a8cc0aa60985148e9e42e6d1a00921f85762ed3d122f6dc3c645a8e6db88e50e5aa826fdc1
+MISC ChangeLog 2739 SHA256 175ea5180ead0f6dee2026aaeb793e8f01a6638c5dba2bdf861710c2f089fccf SHA512 7fbf4fc3da4661c4363782753ac0335f9f88194dac447b802b76d41fcab9f10630491551a9df9f134c3c35de7c60f3ff4b7f2904e89723d1e75f550ca6e4ff09 WHIRLPOOL 5348e1f1326a830bc9633ac76dd2a6b6c40162ec08f7671549a880dc4f9f1cc7527c5c584f07c4f8d7b478ec751e1bd360091aa37f125d91eff39b68058ff715
+MISC ChangeLog-2015 2100 SHA256 8d798973393548a5c387387c7768baafdda1b6d62d50eaf648963d0ff65d1864 SHA512 3bb5e28437839470a3d304b681dd92fa21288852f8a23fefa844775f09c35a895a3baf4b0c90e41d05a7253a2bc857a281b5ef0b8c63a84b27559638cd4b8fd0 WHIRLPOOL 4fea2e7458b3b174b39f9dd695fe5bb1075aa87a1ad90333fcfeb51d61a32466ef439f7cab355b49cbdcd0a54a3378517017c184ee49fee3e3f17b7026bfa8e4
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/dev-vcs/guilt/guilt-0.36.ebuild b/dev-vcs/guilt/guilt-0.36.ebuild
new file mode 100644
index 000000000000..1069fa84b2dc
--- /dev/null
+++ b/dev-vcs/guilt/guilt-0.36.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A series of bash scripts which add a quilt-like interface to git"
+HOMEPAGE="http://repo.or.cz/w/guilt.git"
+SRC_URI="${HOMEPAGE}/snapshot/22d785dd24329170f66e7696da38b3e90e033d61.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc ~sparc x86"
+IUSE=""
+
+# Since we need to build the man pages anyway, I don't think it makes
+# much sense to hide the HTML docs behind USE=doc.
+RDEPEND="dev-vcs/git"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto
+ dev-lang/perl"
+
+RESTRICT="test"
+
+S="${WORKDIR}/${PN}-22d785d"
+
+src_prepare() {
+ default
+
+ # The doc makefile tries to shell out to `git` for the version.
+ sed -i Documentation/Makefile \
+ -e "s/VERSION=.*/VERSION=${PV}/" \
+ || die 'failed to set VERSION in Documentation/Makefile'
+}
+
+src_compile() {
+ emake -C Documentation all
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX=/usr install
+
+ dodoc Documentation/{Contributing,Features,HOWTO,Requirements}
+ emake -C Documentation \
+ DESTDIR="${D}" \
+ PREFIX=/usr \
+ mandir=/usr/share/man \
+ htmldir="/usr/share/doc/${PF}/html" \
+ install install-html
+}
diff --git a/dev-vcs/guilt/metadata.xml b/dev-vcs/guilt/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/dev-vcs/guilt/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-vcs/hg-fast-export/Manifest b/dev-vcs/hg-fast-export/Manifest
new file mode 100644
index 000000000000..73283c4278fd
--- /dev/null
+++ b/dev-vcs/hg-fast-export/Manifest
@@ -0,0 +1,5 @@
+DIST hg-fast-export-160914.tar.gz 11379 SHA256 1eb2c520f9fa93413d17e4a4551e3dde0dad31564498f1204b191741bd5a4763 SHA512 9e57e7835cc50e8db5d2ebf840d60b4ce25ec19e9722e705eba1178cc41fde57129664de3e1fc157ce8352632c8d0b8be33109afa50b53e159793a8a2ed21fea WHIRLPOOL 53daa9e7ab09f39b76b3eea28fcf8be080a2841cbba146626aabc147c8f3343de06e9f1c9a9aae34f90a4d86eb138f234fe71bd554c723a70a3cb8cb1f0d40df
+EBUILD hg-fast-export-160914.ebuild 920 SHA256 d334456bf08e3121c85f8dd206ecf809e828ae134a39c145a3ebedb67b0e48ba SHA512 ea94e0fec5cc405446ecb2fe591373007f1610f30555dba17849dc3d83c73b2820b4829e7e01716c7a90c7c3273ee3bbe1ba3bab33cdef8f39a88fd9ccd8cf33 WHIRLPOOL 37abd95c17245abab5598759d306f57c7f9fdd053ffa505b96d4ad149d6994dccca9f5557aee39c65dbb6fb6396b963dc982d574f8a7a4ec8a55946ca8c15e84
+MISC ChangeLog 3479 SHA256 201ee97e2c2bb06986bae4112f19a1483010f594e1f62496759b455444712f62 SHA512 1219b0fd1c3d10eb95077472dfc20a8364e30cc6cf6ab4b68d944ef7c23fcf9445eb90d6fad50c6e5e489b68af843338d89cf5752a8f038bde7d285ef5009324 WHIRLPOOL 99c9c8405c08831952129c4b3a49c69d7eb870a07b391aa0634577b065ff94cb587d61e89b6b3a2043565a19ab65b1551232661f90c1d0ba98c81c8dbd7a7dfc
+MISC ChangeLog-2015 1035 SHA256 efa5f793890384d5f5bbc65265c2a1419d5f610d3a783c8f0597f1fc57061719 SHA512 5abe0d40a79442f520e0a1fbc9e3af49af196a0393e624fe75bf6f65df60236f68bae5551b7251e5d60a79a1f0d1030bd967d21ff0b54a84d1d958f3d5f9b9a8 WHIRLPOOL 3c11d619b597703e19c7923c7cb15826379ae20711af3ddcdbc51b07bf609ffbcea945d80c7eed5ea4c73764bf4c4558e0a1b6c83f4278e29571babaae50ceaf
+MISC metadata.xml 398 SHA256 f1d882adf1df8eb57bb488f9e4358d275dec979de7b0aa16cd884182b4b322e2 SHA512 e085ace0752eaf009dd9c86ffb5f1198d1feb44f3c46d219457e6871208b2ea96d3d58ab54d28c8ca02b5ca3b5b21ae0ae2c96aedb9926b747110740a296142c WHIRLPOOL 352b35be13c9c0305fb2f1c42525fa838ecee45c3cb43fa542f6768cce89a480aa7177ab605bd19588d9c20d3fcd640572389182e448c18b7ca191aa2bf2058c
diff --git a/dev-vcs/hg-fast-export/hg-fast-export-160914.ebuild b/dev-vcs/hg-fast-export/hg-fast-export-160914.ebuild
new file mode 100644
index 000000000000..60a39b304cf5
--- /dev/null
+++ b/dev-vcs/hg-fast-export/hg-fast-export-160914.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1 vcs-snapshot
+
+DESCRIPTION="mercurial to git converter using git-fast-import"
+HOMEPAGE="https://github.com/frej/fast-export"
+SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}
+ dev-vcs/git
+ dev-vcs/mercurial"
+
+src_prepare() {
+ default
+ sed -e '/^PYTHON/s/python/&2.7/' \
+ -e '/^PYTHON/s/PYTHON:/E&/g' \
+ -e "/^ROOT/s:=.*:='${EPREFIX}/usr/bin':" \
+ -i "${PN}".sh hg-reset.sh || die
+}
+
+src_install() {
+ default
+ newbin "${PN}".sh "${PN}"
+ newbin hg-reset.sh hg-reset
+ python_foreach_impl python_doexe "${PN}".py
+ python_foreach_impl python_doexe hg-reset.py
+ python_foreach_impl python_domodule hg2git.py
+}
diff --git a/dev-vcs/hg-fast-export/metadata.xml b/dev-vcs/hg-fast-export/metadata.xml
new file mode 100644
index 000000000000..9886b5971a1e
--- /dev/null
+++ b/dev-vcs/hg-fast-export/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>junghans@gentoo.org</email>
+ <name>Christoph Junghans</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">frej/fast-export</remote-id>
+ <bugs-to>https://github.com/frej/fast-export/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/hg-git/Manifest b/dev-vcs/hg-git/Manifest
new file mode 100644
index 000000000000..176388f4f572
--- /dev/null
+++ b/dev-vcs/hg-git/Manifest
@@ -0,0 +1,9 @@
+DIST hg-git-0.8.5.tar.gz 96675 SHA256 f5cab3cc610926458733a2321ad3df5a7c56870bbf0c6d962dfa742e6ea04782 SHA512 f03c118b58c1ba4cb34ba8c953c7b1d57207548cd613d1f9f716691cbd131008b802ef21baee484881c72318f46c78b946c2d3fa77ebf5efb3ab0b7e1b9d4ca2 WHIRLPOOL cf5c2e8b69b2489aa459b9c25a51dae67bc044075f2271b1ae1006113651a0053d748a1c8801fecf7d8e8d57f219a1d04ad7cd5256acfc96feecbb7d62bae264
+DIST hg-git-0.8.8.tar.gz 98508 SHA256 5fad5f1997d82938aca68ea966e3d150c40ac5f302d905970f34b7b3cc6b7687 SHA512 c3b28273024f2429ed526354048f0e37d0af6be591020fa3b1e8d1321247d72129f7c8fbcef73e69d60e243a6f86380dc4d89f0e8f913b786ef4497421237aac WHIRLPOOL a67e171d90189bf82d9cd45b49db93403db3576362931895735665f689f6e5910897a6b1484e586c6c6eccdcae7c261ef6fcedb6d06fc187ff7e641517cbc247
+DIST hg-git-0.8.9.tar.gz 99493 SHA256 274e27435ee549b2d6899f3ae02d8af518d0956e0a81203f4b0c2bae8f5d7987 SHA512 6b889dc652d671ef62340117103b7f4e568cb0bf3f1e2c840c584b15e76bab4f5ea6564ee67e64c8e9d0148cabf423572df1e5643bd84b5b2093437b7acb348a WHIRLPOOL 5233c8331a49b0660a19c7523087e3a32d4d9c2134aaf448d201d39092254cb86e209a94c6424ae196e556b7fda0bdfae3c3f5cc182428994cb91cd4c58c6d28
+EBUILD hg-git-0.8.5.ebuild 746 SHA256 0c8e05acd678aeca331a3f34b4780e482a37ca574e9c5d8ab2ad581ff0d5383a SHA512 84cd665f482d0e7cf2217f9822646cd532dce89053cbee562783c81bdb160c07950301e58c273744747ef0ea128e7eb4b6c92e44be076308237196e37a968166 WHIRLPOOL 8a5485f9ba0e83bfd7620ae06635c15a125286cbe74f502a24e7da7e0f8b8a4de730478dada15e5a20e5e939ebca89b7ff2487a728841ab0aa7566d55f37b233
+EBUILD hg-git-0.8.8.ebuild 703 SHA256 7d36d2feec358f774c0de4afcf3a3333c5c5abcaf3f44a3b8236c57bd71d381e SHA512 b81c740e913fd6f69e56a2a6401f09928f733140adfb09df0dbeb93e3794c43fead0f48bafced3b2b3833bcca094ba0a4b6976e7ef5aa9e7f8428c9889b7d547 WHIRLPOOL 71a9d4997b3a5e26730e92976bbcfa80a3dcf4d9b94b5871aeb80ce5f3a1f96b211fcc716f82142eba03b9d00dc8bc32aee360cc03cf0ec3d0649095df25c4a6
+EBUILD hg-git-0.8.9.ebuild 703 SHA256 7d36d2feec358f774c0de4afcf3a3333c5c5abcaf3f44a3b8236c57bd71d381e SHA512 b81c740e913fd6f69e56a2a6401f09928f733140adfb09df0dbeb93e3794c43fead0f48bafced3b2b3833bcca094ba0a4b6976e7ef5aa9e7f8428c9889b7d547 WHIRLPOOL 71a9d4997b3a5e26730e92976bbcfa80a3dcf4d9b94b5871aeb80ce5f3a1f96b211fcc716f82142eba03b9d00dc8bc32aee360cc03cf0ec3d0649095df25c4a6
+MISC ChangeLog 3878 SHA256 b2c9417a17a2668fff1e39ac3a9f497df532f1804067031bec43a7a1c940f128 SHA512 3126e81ea2f514a659aed7164a09809b962886cbb4cbc38a01a673eba004b1027406da3540884a66c3e2df724de833fec53d141b8ce4fdc17ea8d3573e8c86cd WHIRLPOOL f73833ef0420527989bc9d0f7746421d64fdd32ec0e8b6b86aba04a57d5045e3ea92fa5691e49fa48d1ec39170307b78fe9e57a013c0dd2e371140b995d645e4
+MISC ChangeLog-2015 8815 SHA256 6fcde80f54b6f118e71c71615d916093e5bfc7d4dd2d24e19e91dfaf1417973a SHA512 1b63c0cbfa5b470cc8b1150cb8e46dd869f2da328e07ba4688ade39ae9474ac5b80c4caeb79ddfb8d9e80a1aee2a69004a253153da21dbd5eba85c3f3c569829 WHIRLPOOL df622ba0579f3c0edd4d007ad7296fe7a5871111d617090e6c7c189fd67f8b0faf8d0f6e29e879c6368c382224a044816e146394893c45199355ced30e838da5
+MISC metadata.xml 317 SHA256 aa99ada148025fc41e4f8b05c2a2a21e16cb6acddf29a626a4b35de8945d28a1 SHA512 98a36b756fe1f1ee4f2d7c1f7f0dee8925a1396d2b44eff84274aa4c6e871d87d17808e157c6020cbeeec763e44fc4ba6e5d266561b3fe5c015f04c864349a09 WHIRLPOOL 2ba3c204354352772761c5b1325461b5f423a870933714a2993333045f8af622acbb4f65d4365479b23d269b684882ff5cb137c394e7acff5c71e2fa724b32ad
diff --git a/dev-vcs/hg-git/hg-git-0.8.5.ebuild b/dev-vcs/hg-git/hg-git-0.8.5.ebuild
new file mode 100644
index 000000000000..639c573a4194
--- /dev/null
+++ b/dev-vcs/hg-git/hg-git-0.8.5.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="push to and pull from a Git repository using Mercurial"
+HOMEPAGE="http://hg-git.github.io https://pypi.python.org/pypi/hg-git"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="
+ >=dev-vcs/mercurial-2.8.2[${PYTHON_USEDEP}]
+ <=dev-vcs/mercurial-4.1.3[${PYTHON_USEDEP}]
+ >=dev-python/dulwich-0.9.7[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
diff --git a/dev-vcs/hg-git/hg-git-0.8.8.ebuild b/dev-vcs/hg-git/hg-git-0.8.8.ebuild
new file mode 100644
index 000000000000..cc4e760224e7
--- /dev/null
+++ b/dev-vcs/hg-git/hg-git-0.8.8.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="push to and pull from a Git repository using Mercurial"
+HOMEPAGE="http://hg-git.github.io https://pypi.python.org/pypi/hg-git"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="
+ >=dev-vcs/mercurial-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/dulwich-0.9.7[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
diff --git a/dev-vcs/hg-git/hg-git-0.8.9.ebuild b/dev-vcs/hg-git/hg-git-0.8.9.ebuild
new file mode 100644
index 000000000000..cc4e760224e7
--- /dev/null
+++ b/dev-vcs/hg-git/hg-git-0.8.9.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="push to and pull from a Git repository using Mercurial"
+HOMEPAGE="http://hg-git.github.io https://pypi.python.org/pypi/hg-git"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="
+ >=dev-vcs/mercurial-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/dulwich-0.9.7[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
diff --git a/dev-vcs/hg-git/metadata.xml b/dev-vcs/hg-git/metadata.xml
new file mode 100644
index 000000000000..d755c79481f8
--- /dev/null
+++ b/dev-vcs/hg-git/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>grobian@gentoo.org</email>
+ <name>Fabian Groffen</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">hg-git</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/hgsubversion/Manifest b/dev-vcs/hgsubversion/Manifest
new file mode 100644
index 000000000000..075b4102d2b2
--- /dev/null
+++ b/dev-vcs/hgsubversion/Manifest
@@ -0,0 +1,8 @@
+DIST hgsubversion-1.8.5.tar.gz 179639 SHA256 2e2a9e5c05945ba2bd2eef444ad34cc2aeac101fa43157676d72e66869042ce5 SHA512 1d3f0824c3b83a2e00485ef3f412767bdb378a5a545f2fcf533eafebb20cbd40becf54cf9a29705200d221d6d6c0eb284fae0692354b1795feb391de2a02ca0c WHIRLPOOL 1d17810ccaa0d2860c6723ad7629676e6fc01d9fc3d251934c7b0132b1fe56dcccac8e2be8c599df88d5adfd5684242cef72faecaa48d46576d8ccf270302572
+DIST hgsubversion-1.8.6.tar.gz 180720 SHA256 23ad3d48a36639bc9bb9060b5bac8b12094100ee46f2a1290c73b100a12bae49 SHA512 8431e995a9f2c150936af004527fea6d562a34c653af6d51e69afdb10397528bbe7f230d92b18c3d04e2315c7b0078ecfc1bd619be4c2540bb564d50092566c4 WHIRLPOOL 1d34475c699e809312dad844748a34d9aa98d50058256adc28086a7202d5748292f12d30d683347fd9ea3edf8bf5b72c98689fee4616da4c0609017a8ff42b32
+EBUILD hgsubversion-1.8.5.ebuild 974 SHA256 6983daf195d8ce2637387ff72bfb2065fa797a33e20fd8d97f392c84ce697781 SHA512 8bc1aa1304674d6ecaf89135fa477cece382104b2bd0acaf40419cc92560819ec640f8dfd62792a6c8317a6688f925e303859ab2d8af13f698d0f539d46604ed WHIRLPOOL e7284791f623de3f6e0bbe85e8e6be905ea11bcfdc12f8a8e635c591d4dfb78d78ce830da5a056c50f8abf330e101e0841f23f1238ff4238ebf53147e6b15d84
+EBUILD hgsubversion-1.8.6.ebuild 976 SHA256 482604571d8eb2cb03a53d4cfb2f754ea7709395a6bfeafd7a5bed626d3c8397 SHA512 8cc34a33a0f4eb051e31daa452671f1fb4230501e145bc03537a34ee8a7e1ffd3310c0661195923c91b01f71d2d2e8368e9808621289efdffe3d253b7df97290 WHIRLPOOL 7e02e12b1680d419237437de3b2c65296cf25d3a44964d48347ea519874363ea8f6408f02d4772003b7892c3f21bac63ca533f38408c3af094f8e32c5ea6ace4
+EBUILD hgsubversion-9999.ebuild 750 SHA256 c45d72101a042838d93e968768e592c6c31cedc0249bc6954a0a2fe880fda85a SHA512 89ac61e1356b33884f79b97c9ccd5537287cc47e6529f0e3eab3d9b815a767dc07121a80bc94d91c6461cce573679baa363839739d3524c0b32eb25d253b661f WHIRLPOOL 41ec9ef562972e189ed302fb12c99bb9d8aaea8ee3a9f42eefa167edb2908350dc4fb295f00c982b974852d2f27bd341065665d1c1f0a057be555de1af2710c4
+MISC ChangeLog 4612 SHA256 c7449fcc262cf2f909742ce4869fdcf82f4b9421a3a70a7d5261cc3e915638fd SHA512 1c63bdddbee9378f318b1108f821b36bdd1e6a7f380470c8fa5dd54f0ef1ec5fa2abb024b386ac51eb6c45c143ed189cb4f43717ee993ad19477baaf48418643 WHIRLPOOL 26c4b7dc0e3d98d1a9844236c3ddd5a256f944f5b0b87fc568ffdd616edca4e9013cf70705c8025715be770374448c192c8dbdf0ba861f81278afb12835703aa
+MISC ChangeLog-2015 5549 SHA256 ee435d711a92b156e6dcb77c519af68a2d2bfbb7c5c1941fb3f7f98162d9e4a8 SHA512 1f59fe668ef1bb088842f3b1a513664386bc40082dd319b1150f0b235941c81748ab645d576bcd8a8806153b7e24e6e851fb014a2fb731ad71573ed1f22fbad3 WHIRLPOOL d5dabcfd0f5e6b671a1cb5d56a477dd10559c17ee817322bb957bf08712561fe59856dae23c2a35d7a67468d4049285fac48e8bfdeeab989bda564454ea803c4
+MISC metadata.xml 308 SHA256 0b35ba95736d8e4b354f8ec560f03c333d31dcddd6a8e7525448ae30270b79c4 SHA512 eed994202393587e6800dc7b763d4615afd729fd18d44ca81aa1cb9ac21be116a3970ff07d1333b33abc9b12b1d010b66959029803cc1073ec1bb51e0e5046ca WHIRLPOOL 0a1b80dff05df5394227808fbcb1c21778b10dcb5b9c2146cf5bad21ec647e3a4fea49d826c6085a4ea0a63e123fd1ea27f1ff160a880a3eb10fd07379417e49
diff --git a/dev-vcs/hgsubversion/hgsubversion-1.8.5.ebuild b/dev-vcs/hgsubversion/hgsubversion-1.8.5.ebuild
new file mode 100644
index 000000000000..60e02ed16df1
--- /dev/null
+++ b/dev-vcs/hgsubversion/hgsubversion-1.8.5.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="hgsubversion is a Mercurial extension for working with Subversion repositories"
+HOMEPAGE="https://bitbucket.org/durin42/hgsubversion/wiki/Home https://pypi.python.org/pypi/hgsubversion"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~ppc-macos ~x64-macos ~x86-solaris"
+IUSE="test"
+
+# although any ref absent in the source, tests fail badly with >=mercurial-2.8.1
+RDEPEND=">=dev-vcs/mercurial-1.4[${PYTHON_USEDEP}]
+ dev-vcs/mercurial[${PYTHON_USEDEP}]
+ || (
+ >=dev-python/subvertpy-0.7.4[${PYTHON_USEDEP}]
+ >=dev-vcs/subversion-1.5[python] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+DOCS=( README )
+
+#python_test() {
+# "${PYTHON}" tests/run.py || die "Tests failed under ${EPYTHON}"
+#}
diff --git a/dev-vcs/hgsubversion/hgsubversion-1.8.6.ebuild b/dev-vcs/hgsubversion/hgsubversion-1.8.6.ebuild
new file mode 100644
index 000000000000..7d01be05dadf
--- /dev/null
+++ b/dev-vcs/hgsubversion/hgsubversion-1.8.6.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="hgsubversion is a Mercurial extension for working with Subversion repositories"
+HOMEPAGE="https://bitbucket.org/durin42/hgsubversion/wiki/Home https://pypi.python.org/pypi/hgsubversion"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~ppc-macos ~x64-macos ~x86-solaris"
+IUSE="test"
+
+# although any ref absent in the source, tests fail badly with >=mercurial-2.8.1
+RDEPEND=">=dev-vcs/mercurial-1.4[${PYTHON_USEDEP}]
+ dev-vcs/mercurial[${PYTHON_USEDEP}]
+ || (
+ >=dev-python/subvertpy-0.7.4[${PYTHON_USEDEP}]
+ >=dev-vcs/subversion-1.5[python] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+DOCS=( README )
+
+#python_test() {
+# "${PYTHON}" tests/run.py || die "Tests failed under ${EPYTHON}"
+#}
diff --git a/dev-vcs/hgsubversion/hgsubversion-9999.ebuild b/dev-vcs/hgsubversion/hgsubversion-9999.ebuild
new file mode 100644
index 000000000000..4983c810a849
--- /dev/null
+++ b/dev-vcs/hgsubversion/hgsubversion-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 mercurial
+
+DESCRIPTION="hgsubversion is a Mercurial extension for working with Subversion repositories"
+HOMEPAGE="https://bitbucket.org/durin42/hgsubversion/wiki/Home https://pypi.python.org/pypi/hgsubversion"
+SRC_URI=""
+EHG_REPO_URI="https://bitbucket.org/durin42/hgsubversion"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+
+RDEPEND="dev-vcs/mercurial[${PYTHON_USEDEP}]
+ || (
+ dev-python/subvertpy[${PYTHON_USEDEP}]
+ >=dev-vcs/subversion-1.5[${PYTHON_USEDEP}]
+ )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+DOCS=( README )
diff --git a/dev-vcs/hgsubversion/metadata.xml b/dev-vcs/hgsubversion/metadata.xml
new file mode 100644
index 000000000000..276970ec47c5
--- /dev/null
+++ b/dev-vcs/hgsubversion/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="pypi">hgsubversion</remote-id>
+ <remote-id type="bitbucket">durin42/hgsubversion</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/hgsvn/Manifest b/dev-vcs/hgsvn/Manifest
new file mode 100644
index 000000000000..3a67c6bc2f84
--- /dev/null
+++ b/dev-vcs/hgsvn/Manifest
@@ -0,0 +1,5 @@
+DIST hgsvn-0.2.3.zip 199696 SHA256 bd066a058b34b8beb0b108e729f223e177532487fed0422d978061620422ed0e SHA512 d88d683730430b825411b4267c78e82e492f45d55c49c8a19ed159a95390e58507b07217c4e5082a223c3217042fdc1ae2c96648b1880bd441117ca173ca4c09 WHIRLPOOL aa0027405a1d8aa58cb41e563f5120e00b8ea38a8a944146a0df3e4b715f2a0276f6811285aa1d324f3407fd11d234b4a5dba37c563612c3f98007b69cd8eca0
+EBUILD hgsvn-0.2.3-r1.ebuild 877 SHA256 06ec71bf665ecb9b020acf4aaf271849e7a801d33d4917b94741b9cbfc97e1d1 SHA512 ce9b572fed65da0d4921651ba9ff16f572d4a5590851e79a5aabfe973b93fc063cab0712076f15878d819aab63deefb7949e8d86c767bd56f40671bac5430ebb WHIRLPOOL 3ed8a211ee6d81a5860338b33f4031da7c765aeb147a67cc3ea17485854cb988f1dc75dc9d2a549eb37b21ffbba0ec3f4a51e669eeb12bc3ac5c5e9ad5742068
+MISC ChangeLog 2821 SHA256 eeecface2ff8f15c6c3b111caddfbc97955075db20938d93f99b06d31e2f7272 SHA512 c3b73bd168f1587acf99c66edcc06e60e802784f79725c5b4242a3b80f490b16976f40121a1cb3b3ac0b8ef6552be94e3c70873d47ac78d845345382f0912557 WHIRLPOOL aeb7477127a149bab0fab4133cf0e4dacc2c80cef0bd666988044d5aae92424c5f407218dad9d1ccc1f46964ae1b8dff7d4e1101792fb62d05a35c5d51734952
+MISC ChangeLog-2015 2323 SHA256 c43fc951eadb8fdeaee8393842cbdb326604252d865537b756e9fa01ccbe3c31 SHA512 d315892e12ff663e86881f69c35e83b685d36fec7fae46756eb88cf433d343be4bcba9f5af28666eb2665a580b2023ddc222aecc347267853cdb1e350b5267d6 WHIRLPOOL 4cfb4c0c39e87ca573c4d7dda5909422ab9c59b503adfe5794e4ed1d902d3e0a5ed89b76d7a5d678bd007f1315dc7eb7e44a66dd2bd9aee3823d1cf909254602
+MISC metadata.xml 344 SHA256 bb905e1d08ebf0efdb22e6b07da41b28b17bc66b4d6ea81a49a3eed10aa49712 SHA512 9d31dde261ac9899cc9b5aa6f503b1d46db57b973ba9d26191f0d6d12424d63a1fce55dfe8d2bc198653c0ea8af1585f3a6b6969dd8b943fbc1d4a19592d819f WHIRLPOOL 066d2a8ce8f73074dc0c33c3822b47048d9817780bc691012a2a8b4b17f6d7976a53dd10b32e14dd454c7f6b48b4fc78181d4e29387b8887e067bdde6b8ed7a6
diff --git a/dev-vcs/hgsvn/hgsvn-0.2.3-r1.ebuild b/dev-vcs/hgsvn/hgsvn-0.2.3-r1.ebuild
new file mode 100644
index 000000000000..f8f24efe19ea
--- /dev/null
+++ b/dev-vcs/hgsvn/hgsvn-0.2.3-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+PYTHON_REQ_USE="xml"
+
+DESCRIPTION="A set of scripts to work locally on Subversion checkouts using Mercurial"
+HOMEPAGE="https://pypi.python.org/pypi/hgsvn"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-linux ~x86-macos"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-vcs/mercurial
+"
+RDEPEND="${DEPEND}
+ dev-vcs/subversion[${PYTHON_USEDEP}]
+"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+python_prepare_all() {
+ sed -e "/use_setuptools/d" -i setup.py || die "sed failed"
+ distutils-r1_python_prepare_all
+}
+
+python_install() {
+ distutils-r1_python_install
+ rm -fr "${ED}$(python_get_sitedir)/hgsvn/unittests"
+}
diff --git a/dev-vcs/hgsvn/metadata.xml b/dev-vcs/hgsvn/metadata.xml
new file mode 100644
index 000000000000..4d85440d8473
--- /dev/null
+++ b/dev-vcs/hgsvn/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription>A set of scripts to work locally on Subversion checkouts using Mercurial</longdescription>
+ <upstream>
+ <remote-id type="pypi">hgsvn</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/hgview/Manifest b/dev-vcs/hgview/Manifest
new file mode 100644
index 000000000000..c7e4e6ccbfe2
--- /dev/null
+++ b/dev-vcs/hgview/Manifest
@@ -0,0 +1,5 @@
+DIST hgview-1.9.0.tar.gz 181130 SHA256 8b2e5e10544deaa79ba9ef3f6339e103af357edbeb4b2594be079fddf7b8e6ed SHA512 604631776e096daf27241e8387d6fddfb9b3f2c54dbfccc95e770ebf2d5d27f64009c3698cf0d427f9a89e073db0d8d7623d57969ca6fcf036d5cb1dbd74eece WHIRLPOOL 01d29625a136664f35f2241c546b4af52853ea78fff31089d83ebb4a1718e4d64571df6a61f217aec6919b6bb27c35cf092195fa56efcffb3ad16e1bb714a397
+EBUILD hgview-1.9.0.ebuild 1430 SHA256 ad29fdd9262fdf63e7480e149c11f4d899926711a6f4d67b058bc2b325ec6610 SHA512 4837e2aab22757cace7c3e7dd3d73dd1afa434802f60f9d3dc66d4e74018be2c3bdbc484ce7f24dbe0019687e9890a4a69ac9efc84f38097205b4fbec25fa7c4 WHIRLPOOL 3a62b8a4010007d02b1b0906f4cd0387866115c271f84b5a61892e00970e23d14f0eb47b620b42f2b226d8f2b317506a28402bcb36009599bcd0425e9a05cd06
+MISC ChangeLog 2967 SHA256 cf4b08690d2f2f3d8a69ec171cd57653676d153295d54490ba94828b1d04fccf SHA512 c98aee2ca4ecf423c47b7c66dd362fbe89a79cb863c592e6344607f99466f596603798c3996677d2f13aaba2c94f28b341ee5ae4d9130234d8b4ebb37c5b771c WHIRLPOOL c865739488386fad0f46c7a77a83bf45047f8885b250e68ced8acddf9343ea9653751e8aab52331cc13cb29c04d65f8c5f3d2509c232c708414ac60192996200
+MISC ChangeLog-2015 3630 SHA256 944a30283534e6acde143410e057fa3c8292c9069bc267e0a6058fde0ee49c9f SHA512 a27bf17458ece0951b6cb0d89b781c43a119a7a39e61ee64c2af5580e863ccacfed0dc7085e787433d0acaa3fe996bf2f1017dbf7763c71d42ad3f5d7b28169c WHIRLPOOL 7785970d54760845f6d6a14f5608ee8961d027f457bd6cd410757c4508011136dbd73ddff79c45792195fc6c524adccc715dc6e64e722cafe85716ae1465ef96
+MISC metadata.xml 439 SHA256 6f7a51687487e80f329b7c26c258a75b7abc737a71700ffc45f215d7134076b9 SHA512 87592bfa0635fa86d65a414c7061bb6a3e66e3f625fcc91eb5e3f3f8861d4a3a7ebced02f7383d7683ad5953bf0661b62128fa4c88461085c2df4f5b1e7b5607 WHIRLPOOL 19a136e01b7a8f97bd9b19a17c1d1b9f1866e1dcc31e22a859c8f3d083b609a348f4d528193e6b5e1e90a75f41e6a1e5d7d8d6f2061a0e62965e54407644c831
diff --git a/dev-vcs/hgview/hgview-1.9.0.ebuild b/dev-vcs/hgview/hgview-1.9.0.ebuild
new file mode 100644
index 000000000000..2fb8088d6207
--- /dev/null
+++ b/dev-vcs/hgview/hgview-1.9.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_IN_SOURCE_BUILD=1
+inherit distutils-r1
+
+DESCRIPTION="A Mercurial interactive history viewer"
+HOMEPAGE="https://www.logilab.org/project/hgview/ https://pypi.python.org/pypi/hgview/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc ncurses +qt4"
+REQUIRED_USE="|| ( ncurses qt4 )"
+
+RDEPEND="dev-vcs/mercurial[${PYTHON_USEDEP}]
+ ncurses? (
+ >=dev-python/urwid-1.0.0[${PYTHON_USEDEP}]
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ )
+ qt4? (
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/PyQt4[X,${PYTHON_USEDEP}]
+ dev-python/qscintilla-python[qt4(+),${PYTHON_USEDEP}]
+ )"
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/asciidoc
+ app-text/xmlto
+ )"
+
+python_configure_all() {
+ mydistutilsargs=(
+ build $(use doc || echo --no-doc)
+ build $(use ncurses || echo --no-curses)
+ build $(use qt4 || echo --no-qt)
+ )
+}
+
+src_prepare() {
+ # https://www.logilab.org/ticket/103668
+ sed -i \
+ -e 's:MANDIR=$(PREFIX)/man:MANDIR=$(PREFIX)/share/man:' \
+ -e 's:$(INSTALL) $$i:$(INSTALL) -m 644 $$i:' \
+ doc/Makefile || die
+
+ distutils-r1_src_prepare
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # Install Mercurial extension config file
+ insinto /etc/mercurial/hgrc.d
+ doins hgext/hgview.rc
+}
diff --git a/dev-vcs/hgview/metadata.xml b/dev-vcs/hgview/metadata.xml
new file mode 100644
index 000000000000..d30d92786463
--- /dev/null
+++ b/dev-vcs/hgview/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">hgview</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/hub/Manifest b/dev-vcs/hub/Manifest
new file mode 100644
index 000000000000..8f9c82e7368f
--- /dev/null
+++ b/dev-vcs/hub/Manifest
@@ -0,0 +1,5 @@
+DIST hub-2.2.9.tar.gz 318275 SHA256 b3cf227e38a34a56e37b7705a60bec258cea52174d8e030b559f74af647a70d6 SHA512 69d69683eb5f1c881b15c9b3294878c35edc51f9b7d568a3e0609c3d77cebf5c1be5c7c018b0356bdd68cf3f56691a860381a53f3e016b28b9f95ab0b852d9f9 WHIRLPOOL 4c7a6f6a5057c3a60514f79fb1964c343f57e2f1e146c033edf67c9568741d781dff7c002601ef383d23eff3b85077bfba1601d81201dfc7536ac12a8c5e3ed1
+EBUILD hub-2.2.9.ebuild 905 SHA256 7cbc401b841c91167807e560273453eec4255da7f9814fea2407bb95923d79a2 SHA512 51c336022318210fe0a37615f92f61842da7a2d4d76005c61d5b86ebdc5f0f44dbf47874f2811f6f7870cd592bf118545c48c7e32c02a11dfcd40c26050e45dd WHIRLPOOL 8ff8113383fa3cb4ae417b80a95378605d3294f77d2f79eeb2b3bbc39cf5155aaab93fb01536116d8d182adc268c54355fa956924d8eb3f7ad8de365f3c4054c
+MISC ChangeLog 3497 SHA256 a8690489bce0bf73905c71a008f4a270db9fd0cf001c10dd24a09044054a7a02 SHA512 70cfed8565aae2d2ab52715ccdd4e943cbe4d64cd76218b8761bb1924af95767a980d4dbd95562ada1ae055df1ae3153ff1d9cca99013ec1500a423dfa9818b5 WHIRLPOOL 75f615f0d4ad328771c65090fefa151809a0460e12166d1b995075fd9404c768ee083e356c778ca525bbc5dd63e45cd08c46bd03372c54b5fd153942ec4d7eb4
+MISC ChangeLog-2015 2782 SHA256 33ea9dc3f5b56ab8ff1a30c7174b9ea2c966a1032a69a85c2fd1c69ee5c1ad12 SHA512 3001f73b255f820a17b0de1441e29fb307afd4792e83d9dd5b98c6f4f3159b161326ce36bbe6c87152319751f91465190eb2c580b604c31f70715cff6b95b95d WHIRLPOOL b08b5f2dcd1f163734ced4cf52c895394b063bce50e6fb16b910f29acc919fab2e2a2ed589bd503c27894aae0e87ae60a18cf64e589d339e598a5d87335b3f59
+MISC metadata.xml 459 SHA256 c6087d4580f2b4cc40cbf3a2d078c020c7c47c925e7f6e18a1e97fdc79ea6f48 SHA512 2f87715926a447fc6a3a036a713a054f785d3918b40ef2502940a99afeb8f897402bb7698a05ffa26f1e99704f6dcadac8f41d5bea2b6c7ba41a58b9e4c3dc53 WHIRLPOOL fb0be62ed7c31c37cefcd1247ac0766c721d2c812e65aeaf033e6fa6276724b56cc00a9e591bf945d431c4119722346c40d5b1360c1ce661011e78b757dfd237
diff --git a/dev-vcs/hub/hub-2.2.9.ebuild b/dev-vcs/hub/hub-2.2.9.ebuild
new file mode 100644
index 000000000000..e05d3627ad9b
--- /dev/null
+++ b/dev-vcs/hub/hub-2.2.9.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1 readme.gentoo-r1
+
+DESCRIPTION="Command-line wrapper for git that makes you better at GitHub"
+HOMEPAGE="https://github.com/github/hub"
+SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=">=dev-lang/go-1.5.1:="
+RDEPEND=">=dev-vcs/git-1.7.3"
+
+DOC_CONTENTS="You may want to add 'alias git=hub' to your .{csh,bash}rc"
+
+src_compile() {
+ ./script/build || die
+}
+
+#src_test() {
+# ./script/test || die
+#}
+
+src_install() {
+ readme.gentoo_create_doc
+
+ dobin bin/hub
+
+ doman man/${PN}.1
+ dodoc README.md
+
+ newbashcomp etc/${PN}.bash_completion.sh ${PN}
+
+ insinto /usr/share/zsh/site-functions
+ newins etc/hub.zsh_completion _${PN}
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/dev-vcs/hub/metadata.xml b/dev-vcs/hub/metadata.xml
new file mode 100644
index 000000000000..a0b5847fbe06
--- /dev/null
+++ b/dev-vcs/hub/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>vikraman@gentoo.org</email>
+ <name>Vikraman Choudhury</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>junghans@gentoo.org</email>
+ <name>Christoph Junghans</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">defunkt/hub</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/kdesvn/Manifest b/dev-vcs/kdesvn/Manifest
new file mode 100644
index 000000000000..45fd2c1b4ed9
--- /dev/null
+++ b/dev-vcs/kdesvn/Manifest
@@ -0,0 +1,7 @@
+AUX kdesvn-2.0.0-deps.patch 1436 SHA256 87fc7de0191e703d2788d652d1b80ee40754cc7ba4fed830d72558fbe010fc8a SHA512 8a4dffee12f8974d60662b4035baa564f02e69e6f24d81c8e63f03c102302c3b617c5b02a5734616fa614ac6984db600da8765aa1fddf78b2d07ed38436d9c36 WHIRLPOOL bb683426c48bae916f987a1c9d4fa3c3425ab8bfa94e5a0eb451ca0f495a8d358ed3cd9fe3c08352beee09bbf02d5bf1ca8839b9a7a354fe88a7c2f293b9af74
+AUX kdesvn-2.0.0-desktop.patch 654 SHA256 bc092b69e369d3c57dd4932dd293b1c731fbedb547e4d6ae9c8ad428afaca8aa SHA512 f12b78a2f5640639a9dc781b8754b7dbdc31fa8198c0f3157771ef199e0d17acb86cd592cb903022ee46fca035c55d6cb80108b76891454ceb630086d88be6eb WHIRLPOOL 3cc220b4d26557e6b7b880c0e60466b18ed837abb44f1b280c9bfaf30d503545648142545ef029225bbd3b409d572233ec138afa0200aba733abcabeab28acfd
+DIST kdesvn-2.0.0.tar.xz 2014660 SHA256 d58d3a895461633718dad580d1590fe99c9d6e44ca64544784a0e9421eb8f8db SHA512 1c0a6f02ef21fd8f9258a40ea2efba0f3775ae4a3c5b5f137dfaa658940472c3b0f98b6331c96bf7013af712d43ae6092fbee28e0f41688a62fa60dd194d3db2 WHIRLPOOL ebd26101e8779c047f186c408b5694647a07f565d295e6f1a1cfcf118c2fdfeb19298fb254928061c51ce8a4be7d5d651ea2c4021bf19fdcbd011bd109160a70
+EBUILD kdesvn-2.0.0.ebuild 1541 SHA256 235b15c2bfcd4d3b7b1d6e8a626e7bd2272c519459322ff6ee86cd3e3ab14f17 SHA512 4bf6cc1aa219d9911e9f471fa4d1e7c59a27fe48600becae7f34a9f52730b5eda6a9215a449148cd6660f3055d3e44066b35ef8a2909e9d42ba276bfbfd63c3b WHIRLPOOL d4a0f497a434aef5163726842cf31e50d0252fe5a72050212a7fe381a62c443f0b73752f241ec093a14e82fd3ea3d44684feabf686ef08b144adac513a4a4b7a
+MISC ChangeLog 3818 SHA256 b4c62e2b434113a5e3561dd5a705fb2c313062a95ea2046b2f571e292f37006d SHA512 eca6229242ff90d55450cc814c7c305220a920ee2e4f2e7a3deb8ebf9ee25820adf3c2ef044b47bfb51e352e38c0c87da69a8a274f3578bc6d6ce1f7487dea21 WHIRLPOOL 15c976d565e843d8c8314c844aca1067419c7eda4366af6602c60be84bcaeb4bddc02dc5851c89f0329cd99f28e96beb3f7a957a4dd4c7ea61356f029ad292d1
+MISC ChangeLog-2015 17455 SHA256 e182e5dd54587d6727e7f1d128dbf2d600bca182e3e2c8f564605c2b5b16ff6f SHA512 96b3ffbf68b2976fa0b34cbd1530cf8ce03fd447285b02e7ecf72117b26e8849a8c583bd0346bbd1f32bb8f1675e412da79a3caef7ce3dc941778055899d5014 WHIRLPOOL a844b3377b658f018dd47e08ec3cb05a86047979cf7ea3e391431b892423bcbb75231e1e33b60d32a707af5e206b5d51286217c5ad654b346ae0dfca69227c28
+MISC metadata.xml 318 SHA256 43cd48f250622a102d423a68b4f54b62554fa17977f6427efb2c499539d4e2bb SHA512 4a404127f167e1af4cfd3b76cdf77cae21aede91f089dc058512b3bd8ef3dd2e2929ff28636ce2baaeb5e7754c6f6203a6ef461fd7335ad1654eb7f24c101337 WHIRLPOOL 2ab5f9c798a6585ac012670edb11964a0569b647b8bd218970a95796b1fed970e5c065dd39ce288ea8ce81be2fe0e9b484e9470b82305276b06cd06f55b0f919
diff --git a/dev-vcs/kdesvn/files/kdesvn-2.0.0-deps.patch b/dev-vcs/kdesvn/files/kdesvn-2.0.0-deps.patch
new file mode 100644
index 000000000000..d943ded7d74f
--- /dev/null
+++ b/dev-vcs/kdesvn/files/kdesvn-2.0.0-deps.patch
@@ -0,0 +1,47 @@
+commit f62020c59ffb2d8ec84ff3328dddc06cd57d73ed
+Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Sat Apr 1 15:12:20 2017 +0200
+
+ Replace KF5TextEditor with actual implicit deps
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 08a2104a..53d279fc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,13 +46,14 @@ include(FeatureSummary)
+ include(ECMInstallIcons)
+
+ find_package(KF5 REQUIRED COMPONENTS
+- Bookmarks Config ConfigWidgets CoreAddons
+- DBusAddons DocTools I18n IconThemes ItemViews
+- JobWidgets KIO Notifications Parts Service
+- TextEditor Wallet WidgetsAddons
++ Bookmarks Codecs Completion Config
++ ConfigWidgets CoreAddons DBusAddons DocTools
++ I18n IconThemes ItemViews JobWidgets KIO
++ Notifications Parts Service TextWidgets
++ Wallet WidgetsAddons XmlGui
+ )
+ find_package(Qt5 REQUIRED COMPONENTS
+- Core DBus Gui Sql Widgets
++ Core DBus Gui Sql Widgets Xml
+ )
+
+ # Set the version
+diff --git a/src/ksvnwidgets/CMakeLists.txt b/src/ksvnwidgets/CMakeLists.txt
+index 44b8d219..2b0087c8 100644
+--- a/src/ksvnwidgets/CMakeLists.txt
++++ b/src/ksvnwidgets/CMakeLists.txt
+@@ -79,5 +79,11 @@ target_link_libraries(ksvnwidgets
+ PUBLIC
+ svnqt
+ Qt5::Widgets
+- KF5::TextEditor
++ KF5::Completion
++ KF5::ConfigWidgets
++ KF5::I18n
++ KF5::KIOWidgets
++ KF5::Parts
++ KF5::TextWidgets
++ KF5::XmlGui
+ )
diff --git a/dev-vcs/kdesvn/files/kdesvn-2.0.0-desktop.patch b/dev-vcs/kdesvn/files/kdesvn-2.0.0-desktop.patch
new file mode 100644
index 000000000000..d6427c57f912
--- /dev/null
+++ b/dev-vcs/kdesvn/files/kdesvn-2.0.0-desktop.patch
@@ -0,0 +1,21 @@
+commit 5ea40285741a885198a351bd9afe58ff746a1192
+Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Sun Dec 4 23:26:07 2016 +0100
+
+ Fix startup: s/caption/qwindowtitle/
+
+ REVIEW: 129614
+
+diff --git a/src/org.kde.kdesvn.desktop b/src/org.kde.kdesvn.desktop
+index 0fbac0d..5455338 100644
+--- a/src/org.kde.kdesvn.desktop
++++ b/src/org.kde.kdesvn.desktop
+@@ -49,7 +49,7 @@ GenericName[sl]=Odjemalec za SVN
+ GenericName[sv]=SVN-klient
+ GenericName[uk]=Клієнт SVN
+ GenericName[x-test]=xxSVN Clientxx
+-Exec=kdesvn -caption "%c" %u
++Exec=kdesvn -qwindowtitle "%c" %u
+ Icon=kdesvn
+ Type=Application
+ X-DocPath=kdesvn/index.html
diff --git a/dev-vcs/kdesvn/kdesvn-2.0.0.ebuild b/dev-vcs/kdesvn/kdesvn-2.0.0.ebuild
new file mode 100644
index 000000000000..483633ed6ea6
--- /dev/null
+++ b/dev-vcs/kdesvn/kdesvn-2.0.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_HANDBOOK="forceoptional"
+inherit kde5
+
+DESCRIPTION="A frontend to the subversion vcs"
+HOMEPAGE="https://kdesvn.alwins-world.de/ https://cgit.kde.org/kdesvn.git"
+if [[ ${PV} != 9999* ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+fi
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86"
+IUSE="+man"
+
+DEPEND="
+ $(add_frameworks_dep kbookmarks)
+ $(add_frameworks_dep kcodecs)
+ $(add_frameworks_dep kcompletion)
+ $(add_frameworks_dep kconfig)
+ $(add_frameworks_dep kconfigwidgets)
+ $(add_frameworks_dep kcoreaddons)
+ $(add_frameworks_dep kdbusaddons)
+ $(add_frameworks_dep ki18n)
+ $(add_frameworks_dep kiconthemes)
+ $(add_frameworks_dep kio)
+ $(add_frameworks_dep kitemviews)
+ $(add_frameworks_dep kjobwidgets)
+ $(add_frameworks_dep knotifications)
+ $(add_frameworks_dep kparts)
+ $(add_frameworks_dep kservice)
+ $(add_frameworks_dep ktextwidgets)
+ $(add_frameworks_dep kwallet)
+ $(add_frameworks_dep kwidgetsaddons)
+ $(add_frameworks_dep kxmlgui)
+ $(add_qt_dep qtdbus)
+ $(add_qt_dep qtgui)
+ $(add_qt_dep qtsql 'sqlite')
+ $(add_qt_dep qtwidgets)
+ $(add_qt_dep qtxml)
+ dev-libs/apr:1
+ dev-libs/apr-util:1
+ dev-vcs/subversion
+"
+RDEPEND="${DEPEND}
+ !dev-vcs/kdesvn:4
+ !kde-apps/kdesdk-kioslaves:4[subversion(-)]
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-desktop.patch"
+ "${FILESDIR}/${P}-deps.patch"
+)
+
+src_prepare(){
+ kde5_src_prepare
+
+ if ! use man ; then
+ sed -i -e "/kdoctools_create_manpage/ s/^/#/" doc/CMakeLists.txt || die
+ fi
+}
diff --git a/dev-vcs/kdesvn/metadata.xml b/dev-vcs/kdesvn/metadata.xml
new file mode 100644
index 000000000000..ac7f14a78a1d
--- /dev/null
+++ b/dev-vcs/kdesvn/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <use>
+ <flag name="man">Build and install man pages</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-vcs/mercurial-server/Manifest b/dev-vcs/mercurial-server/Manifest
new file mode 100644
index 000000000000..008f48719d2b
--- /dev/null
+++ b/dev-vcs/mercurial-server/Manifest
@@ -0,0 +1,6 @@
+DIST mercurial-server_1.2.tar.gz 21560 SHA256 c6693bc19d1d8d44593e792af95a402ca112a7fa29efba6b9851bc696b258a91 SHA512 3dec14309fc050fa49ffd5253a491b2d65507ed8da04741ba5247d420701a9f836a1c3ef6924a706671e28bafbe0200af03c817184e303179002419887400ce0 WHIRLPOOL 8f475db3b86169c4eddad7364901e6027f9421c7883d826f122d91f65a2124ea8e875f6f0f35b3ddf339e43bcba304d20837b762966d07077bce5acb87e5a9fe
+EBUILD mercurial-server-1.2-r1.ebuild 1785 SHA256 87e9d62814a8e37dfcf757d2fe161565e1fc462f9a98ec0d58bc6776b52cc418 SHA512 151e85d1fddcfea7b3d23d3619a3ae48417a01e21becfeeb293742d46a96197185c8eebfa7aa4d60a47ecf472d814a846a044c0e19a47ee9a656b4998dfe4020 WHIRLPOOL 99c6de7f1daa6d9929fce4be9f93c746e2a4ac5cf56e31384196361fba4e0724858268699288513515c57f9d42b3396e67f4ddf32a83f3199b37de66690d6c6c
+EBUILD mercurial-server-9999.ebuild 1780 SHA256 4ed3dd48ca0b9c874d15a150910f1a94689662fb52afd2050f0ae4b30bd89df6 SHA512 a857790b3f3d1261146302bfeaa22a4e17b503ef59d7b94b85cf6b58dc7df8ccd069e66e6002032b6078de8d83537c71232f633b3fe43f182f14b594e0bc4177 WHIRLPOOL f85ca8d33579f699cab4df50e3e2314ae014010ce1f2d9a45d725de48d50d12d4a5e564dba11140e73a7f87a78fc2cf59a3470ba1a2c69c2c7387a2236bab0b0
+MISC ChangeLog 2778 SHA256 d72e633b60c2b74279f6984002e0eec3527bb71b3d2e655abcbc10103a4ea783 SHA512 c2fbd2c3eed5a378a387c4ad7a3c060ad8655042b6384ab390cb3e20b936f853da4d85be5fb748b14ebc1b38932ad84f9ca2d6f8a4885908a4166ffd60fce1cd WHIRLPOOL 299da2e83865e90cc529a7e4fd6c3a75cd5010f11afb68b38dc29f7c865413bc95a0e329bb862ca481ca5b30c08c6c9b7ab1942f70227d1055be18920615b92a
+MISC ChangeLog-2015 1126 SHA256 599732f61514461cfcb059e97a06c098da869a1dd1d4eb3d5eae827a52305a3b SHA512 4cae6afb85995ad46b3793002c78ef8e0ab4a49b6a0d9508aadf3231ea26290df5320ab5165d93cb26bb7b73ae9cdb69373719d99f57e14162e2589bb79269a8 WHIRLPOOL 42ae72382f33687396019595892c461980c98509a994af096e0e8ba190a7441a2af069bd3ba9aa44860da4ec5ddca56ad3cbe828ebcf3615b1ff204e5faf0225
+MISC metadata.xml 534 SHA256 c466de3fe31854a4e8d28c9937ec25e643e23184dbfbf3ba122a2914fef64a1e SHA512 46ba6ec27eb3403d3922e44a8104002c339b2e4a502ab99d712f27ba6bee3689843137ec170b900f6840c5de1f5cfa523496d5efec50c9f1a75b361fa18f76de WHIRLPOOL 36e1bf0a6f1eb3937ffecb55645405894938b886c0dbc375c35f5bf643db71182ee694804fe6a8b0efb4eb304493ae3fb8084bd634ebd0ae3a5ce4be3c25d076
diff --git a/dev-vcs/mercurial-server/mercurial-server-1.2-r1.ebuild b/dev-vcs/mercurial-server/mercurial-server-1.2-r1.ebuild
new file mode 100644
index 000000000000..ab1be829c3fe
--- /dev/null
+++ b/dev-vcs/mercurial-server/mercurial-server-1.2-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# force single impl to avoid python-exec wrapping
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 user
+
+if [[ "${PV}" = "9999" ]]; then
+ inherit mercurial
+ EHG_REPO_URI="http://hg.opensource.lshift.net/mercurial-server"
+ KEYWORDS=""
+else
+ MY_P="${PN}_${PV}"
+ SRC_URI="http://dev.lshift.net/paul/mercurial-server/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_P}.orig"
+fi
+
+DESCRIPTION="Mercurial authentication and authorization tools"
+HOMEPAGE="http://www.lshift.net/mercurial-server.html"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="doc"
+
+RDEPEND="dev-vcs/mercurial"
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ )"
+
+pkg_setup() {
+ enewgroup hg
+ enewuser hg -1 /bin/bash "/var/lib/${PN}" hg
+ python-single-r1_pkg_setup
+}
+
+python_prepare_all() {
+ # remove useless makefile
+ rm Makefile || die
+
+ # fix installation paths
+ sed -i -e "s|'init'|'share/${PN}/init'|" setup.py \
+ || die 'sed setup.py failed.'
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # build documentation
+ if use doc; then
+ xsltproc --nonet -o manual.html \
+ /usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xsl \
+ doc/manual.docbook || die "xsltproc failed"
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install --install-scripts="/usr/share/${PN}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ # install configuration files
+ insinto "/etc/${PN}"
+ doins -r src/init/conf/.
+ keepdir /etc/mercurial-server/keys/{root,users}
+
+ # install documentation
+ use doc && dodoc manual.html
+
+ # install hg home directory
+ keepdir "/var/lib/${PN}"
+ fowners hg:hg "/var/lib/${PN}"
+ fperms 750 "/var/lib/${PN}"
+}
diff --git a/dev-vcs/mercurial-server/mercurial-server-9999.ebuild b/dev-vcs/mercurial-server/mercurial-server-9999.ebuild
new file mode 100644
index 000000000000..701b33206779
--- /dev/null
+++ b/dev-vcs/mercurial-server/mercurial-server-9999.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# force single impl to avoid python-exec wrapping
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 user
+
+if [[ "${PV}" = "9999" ]]; then
+ inherit mercurial
+ EHG_REPO_URI="http://hg.opensource.lshift.net/mercurial-server"
+ KEYWORDS=""
+else
+ MY_P="${PN}_${PV}"
+ SRC_URI="http://dev.lshift.net/paul/mercurial-server/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="Mercurial authentication and authorization tools"
+HOMEPAGE="http://www.lshift.net/mercurial-server.html"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="doc"
+
+RDEPEND="dev-vcs/mercurial"
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ )"
+
+pkg_setup() {
+ enewgroup hg
+ enewuser hg -1 /bin/bash "/var/lib/${PN}" hg
+ python-single-r1_pkg_setup
+}
+
+python_prepare_all() {
+ # remove useless makefile
+ rm Makefile || die
+
+ # fix installation paths
+ sed -i -e "s|'init'|'share/${PN}/init'|" setup.py \
+ || die 'sed setup.py failed.'
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # build documentation
+ if use doc; then
+ xsltproc --nonet -o manual.html \
+ /usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xsl \
+ doc/manual.docbook || die "xsltproc failed"
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install --install-scripts="/usr/share/${PN}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ # install configuration files
+ insinto "/etc/${PN}"
+ doins -r src/init/conf/.
+ keepdir /etc/mercurial-server/keys/{root,users}
+
+ # install documentation
+ use doc && dodoc manual.html
+
+ # install hg home directory
+ keepdir "/var/lib/${PN}"
+ fowners hg:hg "/var/lib/${PN}"
+ fperms 750 "/var/lib/${PN}"
+}
diff --git a/dev-vcs/mercurial-server/metadata.xml b/dev-vcs/mercurial-server/metadata.xml
new file mode 100644
index 000000000000..464002981e5f
--- /dev/null
+++ b/dev-vcs/mercurial-server/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>rafaelmartins@gentoo.org</email>
+ <name>Rafael G. Martins</name>
+ </maintainer>
+ <longdescription lang="en">
+ mercurial-server gives your developers remote read/write access to
+ centralized Mercurial repositories using SSH public key authentication; it
+ provides convenient and fine-grained key management and access control.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-vcs/mercurial/Manifest b/dev-vcs/mercurial/Manifest
new file mode 100644
index 000000000000..6eec3ba61b25
--- /dev/null
+++ b/dev-vcs/mercurial/Manifest
@@ -0,0 +1,17 @@
+AUX 70mercurial-gentoo.el 76 SHA256 c215746e4a5375569808c6aa6ddabe08e82d33d744128179be3142d9cd53a5ab SHA512 2efb67d5f595842ccdb9b9ea0c6b6fbc3a28a77955d7255817309486fac19e7550ee0a545d5824e3f9acaf586d93533e90ccd05e15d76884d6493f50fb390a44 WHIRLPOOL f4e8fa6a0400bf04314569f3d6e26e464ebf3c7a693508250e2b150919ad5e34a534af86b1b5847ff13f2964d23db531b1a77cc8bdd24e550c7f9e885c6f1682
+AUX cacerts.rc 51 SHA256 3d7c7e238ab4db22d2457e039bb1afcb02c6ac3a6c9aee8448614b0a6f414774 SHA512 39c40c6cc95c54dcae13effb5c23f541f49fd89e0f040e214673afd906c6d5140eb18801d55330f4455507b467f0fae011998e60932e9a2accf37a0e7a047b90 WHIRLPOOL 12c178cf03d7d31744311fd71200efd07a2c9ab3ab3bf1c08f254d113fbd0500848ac3bb76da2baa2c567666f2174026a605dd561a3b1bc96133f314e149f289
+AUX mercurial-3.0.1-po_fixes.patch 1396 SHA256 e111e7e609edec0cb13be1d89d6558bc41785c48266b3f1aca9bc6572c0d884e SHA512 c696e0df1f6d149e8522123fe51585ded2955bbea782819d634eaf6edb0ddd189c68372692cb247bbd96d51c69801c2d8232e4b0b60093ff1f11b28010292cb7 WHIRLPOOL e9ed6368f9a633fcb919c9466b9a613f5f4db62fbed3ac9427e2628ad882320415e851620d609b5ba5c3ee1d96f3d191bc579fdb645765e65f83043b2355bbc8
+DIST mercurial-3.8.4.tar.gz 4775341 SHA256 4b2e3ef19d34fa1d781cb7425506a05d4b6b1172bab69d6ea78874175fdf3da6 SHA512 2ee785f631f9ae346e10ca77251a9ce6d3dacd598588c39f1a69ce1f4b668866f6109d682428512c37c300b26741b74672195538d66845e85cfff5ead886cf4c WHIRLPOOL 1f0a12cc6d00f3544ab00e011a9ff9308fe1652c0598045ddba2a41ba17b55c291da200bce85d4c600d673b8746e936c441ffa7398ad810d1069bd97fb32f2db
+DIST mercurial-4.1.3.tar.gz 5134965 SHA256 103d2ae187d5c94110c0e86ccc3b46f55fcd8e21c78d1c209bac7b59a73e86d8 SHA512 794c513b7e061bc56d270ef57adc0fadeffd5bcc988da0934b24db686b76bf573aef2bbaa3baa9220f31463795bc6e6a99fc1284ebcf8d7e49f42b8129347811 WHIRLPOOL a2f5d5e3e89f794415521bf0bc93ff0e8a67aec6c39951437b6b585f9f6d604bd556af10cce50951128c746719db54ea48f86fb7c262a36a29576ba539be1e79
+DIST mercurial-4.3.2.tar.gz 5491214 SHA256 0f5bf688ba2add6f5db98a633edef43411ecf2c7ada5f2e14b9265820a96cd48 SHA512 e69b7cff941d83531d59d91c30e336807f868302dfda565e1421b7d34c2769221220686774af236d86ac0f67dba6e8a0947ed1185b30d89463a8d211e20d1cbc WHIRLPOOL 079d05e75cde63ff907b485a45a6a9cf8b42001525a799939647d05dd60d85c1faa0cbf14b9da95488103ec9f0b177f59ad7d8bde93dca3ffe428d697669bd4e
+DIST mercurial-4.3.3.tar.gz 5491634 SHA256 47a63c78698bc735667984bbc5b76619ff29a38d742f20cdf9f44cce59752374 SHA512 2d5249b6b2ec6b21c548702af2cf6b8e0858197a370514465aa7a880391f2e9efd6aecefb67fc547dfb8759c1c678009dc5a33fc48743bee30fcbdd853ee1cc6 WHIRLPOOL ef42493fdb4547a4e37d5f311cf5ac6fed90eb991d48ece6b2cbb3efe6722dec1513f044800cc58708c7a680eb1828c7888873b1849772e82901ad5d6d8a757d
+DIST mercurial-4.3.tar.gz 5469979 SHA256 ebf11176e9b5354ec7a1bde6c5382c914d10c397410531faf89f8b5124a7cb65 SHA512 d74ae5f35d8c415c07737b59e6c5455963dfbf5d038c43d683fd34dd84423b9ccf9cd670667f458db20d8580fc7c7d9e5609d29d990e1e94683734694211c417 WHIRLPOOL 54583dbc826fdec3e737dc49d1a8ce180d29579d091c86e48a3b7c68bb4a2d399c5aff3b2ff0e30cd911e8955537a621c73c330d70a55f7efcdeafd21257178f
+EBUILD mercurial-3.8.4.ebuild 3540 SHA256 c42657866016872906eae27cb57367a86ef582f595a32330c41a11d9ae4cb1e2 SHA512 da16f58a42571c3c7f0bf754f3087431bdd1a357db7b38193982f0a25026a061e7d60cc191d87236584c2be9119fde60dcd20dc3a7834942b0ee22ccb816f12e WHIRLPOOL 70d989c0e46a13a4f942c546ed1d01fe6bae122035ef9316c12657e10d762ce2f129dd7f69fb07f793e22ad85540d25d1cd2687e1734d12bc1b43720fc652ed8
+EBUILD mercurial-4.1.3.ebuild 3556 SHA256 0fcd28056eb4db7ba4c8d314d69b0be7257bf1ad7611279e5c0c87c694c44a7d SHA512 c899f66157e4352eace1747630492d6120a2db0b789f4b8bf06b5cfe3aaaa9d7439f72d716938e96618eab519fd6ff81cdad4a509898113c04f337522f23a960 WHIRLPOOL b3cc47d0cc7ede179815f898164fdb051ee20f968d5ea1ba10084989d295e6024ba565607bb4edfe428872d0f3a0441f5f5f9ab0e968f3adde36b1837e162692
+EBUILD mercurial-4.3.2.ebuild 3556 SHA256 0fcd28056eb4db7ba4c8d314d69b0be7257bf1ad7611279e5c0c87c694c44a7d SHA512 c899f66157e4352eace1747630492d6120a2db0b789f4b8bf06b5cfe3aaaa9d7439f72d716938e96618eab519fd6ff81cdad4a509898113c04f337522f23a960 WHIRLPOOL b3cc47d0cc7ede179815f898164fdb051ee20f968d5ea1ba10084989d295e6024ba565607bb4edfe428872d0f3a0441f5f5f9ab0e968f3adde36b1837e162692
+EBUILD mercurial-4.3.3.ebuild 3556 SHA256 0fcd28056eb4db7ba4c8d314d69b0be7257bf1ad7611279e5c0c87c694c44a7d SHA512 c899f66157e4352eace1747630492d6120a2db0b789f4b8bf06b5cfe3aaaa9d7439f72d716938e96618eab519fd6ff81cdad4a509898113c04f337522f23a960 WHIRLPOOL b3cc47d0cc7ede179815f898164fdb051ee20f968d5ea1ba10084989d295e6024ba565607bb4edfe428872d0f3a0441f5f5f9ab0e968f3adde36b1837e162692
+EBUILD mercurial-4.3.ebuild 3547 SHA256 f98ad7869d713fbe15ea860fee4149f180758d102f6a68c465482d727e2222ac SHA512 e12beef3deb63a9d375724bb2781467f7f8b3643ba50821d7501ee8e0b93f59b08d7f5428ff2537ca2725ac54246f53473aaa4e3e867fbd4c86c1bbab0d04d2b WHIRLPOOL f031ab638606b2d8a4ef34385a5820ff198d5c6725f42c4bd312ef70735c16ac0406a3382500accd70f0c4060b9280032051222b2e1e3adbf4a1f9820f2f93e4
+EBUILD mercurial-9999.ebuild 4131 SHA256 826e7a9755c93e771b46ad119bbae3fe7d79e4224bf9e92778d28795a9430c0a SHA512 0f6ee4a02c89c9e08e0a18e1f11169836eb336cf18af01df22d0a8b189c8fa61f0de5fd0b28105f83df55b23f840ad4ea934fac779c64ba5156c042106169c08 WHIRLPOOL 80ced1a4bf8bdee55f65d95746358ff9d468954cd4be986b8743182cc818498a69b0efa1fadafff8e3a28725148445c0f3798303da7adf3078ea571334449fb6
+MISC ChangeLog 12682 SHA256 b59e9aba02af4a9c6df486bc896ef2009e74155bfc8db1a98c19e9f0e0dc2e9d SHA512 b8fbbe5a5cd17214efec6d2fa10d8655d35f0585e039846ac1c12db2beb10f49415c3a3ad28cbd4db1d304ac4673ac776241ec17df1cd17bf508279061408953 WHIRLPOOL 35ab4bfedccff57ddd42d5fdd29156ba45372c1869eefb24f4cb07406e1b651b7b4aa1f953ee5ecb303ddcfd2abd2f51a63bb2ece3d2c46303eac98fa6a64fdc
+MISC ChangeLog-2015 44068 SHA256 2eccd660d25882a70a5ede0bca4505eeb894dca03587a0caa8c645e04a77fa5d SHA512 af1853b3f0723f074b0938774cfec30912e5f254f28163c6a1405fcbd6a535c9e40cfacef20416b27aa8b6e761449ec8c9b39b83dbb223d1832bc3836f17e8dc WHIRLPOOL 83f3a0565f4b144611461ce4477743f8aff76d537bf1c533e6314033dda60563bb7060c6bdae045f6f6d2323d1fbad35799f5eedc3c2928048845b7ca4bfec13
+MISC metadata.xml 456 SHA256 fbb6dcf7c6e537a4552f8a1766c8c6818f9edea4e831b71572f5579a1b0c4c38 SHA512 2bf62b3a98e71ff5acba09c06cc1f29a2cb24d6634a384ff800bb10ab6f5de71a5db440b0fa8a5183db95eafc6ad98444a817c23887baf0dc59f6260402574b1 WHIRLPOOL 0cf8ae290cfbcbea48752d65c2774fcf80213cb81c52e6afeddd02a66f64c86333f74ee05a93e6de400453df2cfa1e1c4db12e33a58d80d69f7375b5c5464bce
diff --git a/dev-vcs/mercurial/files/70mercurial-gentoo.el b/dev-vcs/mercurial/files/70mercurial-gentoo.el
new file mode 100644
index 000000000000..5779a612f204
--- /dev/null
+++ b/dev-vcs/mercurial/files/70mercurial-gentoo.el
@@ -0,0 +1,3 @@
+;;; mercurial site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@") \ No newline at end of file
diff --git a/dev-vcs/mercurial/files/cacerts.rc b/dev-vcs/mercurial/files/cacerts.rc
new file mode 100644
index 000000000000..240261c53668
--- /dev/null
+++ b/dev-vcs/mercurial/files/cacerts.rc
@@ -0,0 +1,2 @@
+[web]
+cacerts = /etc/ssl/certs/ca-certificates.crt
diff --git a/dev-vcs/mercurial/files/mercurial-3.0.1-po_fixes.patch b/dev-vcs/mercurial/files/mercurial-3.0.1-po_fixes.patch
new file mode 100644
index 000000000000..a48932ee9fe5
--- /dev/null
+++ b/dev-vcs/mercurial/files/mercurial-3.0.1-po_fixes.patch
@@ -0,0 +1,40 @@
+--- mercurial-3.0.1/i18n/el.po
++++ mercurial-3.0.1/i18n/el.po
+@@ -11,6 +11,7 @@
+ "PO-Revision-Date: 2009-12-02 03:23+0200\n"
+ "Last-Translator: <keramida@ceid.upatras.gr>\n"
+ "Language-Team: Greek\n"
++"Language: el\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+--- mercurial-3.0.1/i18n/fr.po
++++ mercurial-3.0.1/i18n/fr.po
+@@ -90,6 +90,7 @@
+ "PO-Revision-Date: 2009-10-25 12:43+0100\n"
+ "Last-Translator: Cedric Duval <cedricduval@free.fr>\n"
+ "Language-Team: French\n"
++"Language: fr\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+--- mercurial-3.0.1/i18n/ro.po
++++ mercurial-3.0.1/i18n/ro.po
+@@ -110,6 +110,7 @@
+ "PO-Revision-Date: 2011-06-08 17:00+0200\n"
+ "Last-Translator: Daniel Dumitriu <daniel.dumitriu@gmail.com>\n"
+ "Language-Team: Romanian <>\n"
++"Language: ro\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+--- mercurial-3.0.1/i18n/zh_CN.po
++++ mercurial-3.0.1/i18n/zh_CN.po
+@@ -51,6 +51,7 @@
+ "PO-Revision-Date: 2009-03-31 20:38+0200\n"
+ "Last-Translator: Dongsheng Song <dongsheng.song@gmail.com>\n"
+ "Language-Team: Chinese translation team <i18n-zh@googlegroups.com>\n"
++"Language: zh_CN\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
diff --git a/dev-vcs/mercurial/mercurial-3.8.4.ebuild b/dev-vcs/mercurial/mercurial-3.8.4.ebuild
new file mode 100644
index 000000000000..24f50bfae3ca
--- /dev/null
+++ b/dev-vcs/mercurial/mercurial-3.8.4.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit bash-completion-r1 elisp-common eutils distutils-r1 flag-o-matic
+
+DESCRIPTION="Scalable distributed SCM"
+HOMEPAGE="https://www.mercurial-scm.org/"
+SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bugzilla emacs gpg test tk"
+
+RDEPEND="bugzilla? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ gpg? ( app-crypt/gnupg )
+ tk? ( dev-lang/tk )
+ app-misc/ca-certificates"
+DEPEND="emacs? ( virtual/emacs )
+ test? ( app-arch/unzip
+ dev-python/pygments[${PYTHON_USEDEP}] )"
+
+SITEFILE="70${PN}-gentoo.el"
+
+PATCHES=( "${FILESDIR}/${PN}-3.0.1-po_fixes.patch" )
+
+python_prepare_all() {
+ # fix up logic that won't work in Gentoo Prefix (also won't outside in
+ # certain cases), bug #362891
+ sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ strip-flags -ftracer -ftree-vectorize
+ # Note: make it impl-conditional if py3 is supported
+ append-flags -fno-strict-aliasing
+
+ "${PYTHON}" setup.py build_mo || die
+}
+
+python_compile_all() {
+ rm -r contrib/{win32,macosx} || die
+ if use emacs; then
+ cd contrib || die
+ elisp-compile mercurial.el || die "elisp-compile failed!"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newbashcomp contrib/bash_completion hg
+
+ insinto /usr/share/zsh/site-functions
+ newins contrib/zsh_completion _hg
+
+ rm -f doc/*.?.txt
+ dodoc CONTRIBUTORS
+ cp hgweb*.cgi "${ED}"/usr/share/doc/${PF}/ || die
+
+ dobin hgeditor
+ dobin contrib/hgk
+ python_foreach_impl python_doscript contrib/hg-ssh
+
+ if use emacs; then
+ elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!"
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+ fi
+
+ local RM_CONTRIB=(hgk hg-ssh bash_completion zsh_completion wix buildrpm plan9
+ *.el mercurial.spec)
+ for f in ${RM_CONTRIB[@]}; do
+ rm -r contrib/$f || die
+ done
+
+ dodoc -r contrib
+ docompress -x /usr/share/doc/${PF}/contrib
+ doman doc/*.?
+
+ insinto /etc/mercurial/hgrc.d
+ doins "${FILESDIR}/cacerts.rc"
+}
+
+src_test() {
+ pushd tests &>/dev/null || die
+ rm -rf *svn* # Subversion tests fail with 1.5
+ rm -f test-archive* # Fails due to verbose tar output changes
+ rm -f test-convert-baz* # GNU Arch baz
+ rm -f test-convert-cvs* # CVS
+ rm -f test-convert-darcs* # Darcs
+ rm -f test-convert-git* # git
+ rm -f test-convert-mtn* # monotone
+ rm -f test-convert-tla* # GNU Arch tla
+ #rm -f test-doctest* # doctest always fails with python 2.5.x
+ rm -f test-largefiles* # tends to time out
+
+ popd &>/dev/null || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local TEST_DIR
+
+ rm -rf "${TMPDIR}"/test
+ distutils_install_for_testing
+ cd tests || die
+ "${PYTHON}" run-tests.py --verbose \
+ --tmpdir="${TMPDIR}"/test \
+ --with-hg="${TEST_DIR}"/scripts/hg \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ elog "If you want to convert repositories from other tools using convert"
+ elog "extension please install correct tool:"
+ elog " dev-vcs/cvs"
+ elog " dev-vcs/darcs"
+ elog " dev-vcs/git"
+ elog " dev-vcs/monotone"
+ elog " dev-vcs/subversion"
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/mercurial/mercurial-4.1.3.ebuild b/dev-vcs/mercurial/mercurial-4.1.3.ebuild
new file mode 100644
index 000000000000..f29a2c796da8
--- /dev/null
+++ b/dev-vcs/mercurial/mercurial-4.1.3.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit bash-completion-r1 elisp-common eutils distutils-r1 flag-o-matic
+
+DESCRIPTION="Scalable distributed SCM"
+HOMEPAGE="https://www.mercurial-scm.org/"
+SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bugzilla emacs gpg test tk"
+
+RDEPEND="bugzilla? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ gpg? ( app-crypt/gnupg )
+ tk? ( dev-lang/tk )
+ app-misc/ca-certificates"
+DEPEND="emacs? ( virtual/emacs )
+ test? ( app-arch/unzip
+ dev-python/pygments[${PYTHON_USEDEP}] )"
+
+SITEFILE="70${PN}-gentoo.el"
+
+PATCHES=( "${FILESDIR}/${PN}-3.0.1-po_fixes.patch" )
+
+python_prepare_all() {
+ # fix up logic that won't work in Gentoo Prefix (also won't outside in
+ # certain cases), bug #362891
+ sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ strip-flags -ftracer -ftree-vectorize
+ # Note: make it impl-conditional if py3 is supported
+ append-flags -fno-strict-aliasing
+
+ "${PYTHON}" setup.py build_mo || die
+}
+
+python_compile_all() {
+ rm -r contrib/{win32,macosx} || die
+ if use emacs; then
+ cd contrib || die
+ elisp-compile mercurial.el || die "elisp-compile failed!"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newbashcomp contrib/bash_completion hg
+
+ insinto /usr/share/zsh/site-functions
+ newins contrib/zsh_completion _hg
+
+ rm -f doc/*.?.txt
+ dodoc CONTRIBUTORS
+ cp hgweb*.cgi "${ED}"/usr/share/doc/${PF}/ || die
+
+ dobin hgeditor
+ dobin contrib/hgk
+ python_foreach_impl python_doscript contrib/hg-ssh
+
+ if use emacs; then
+ elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!"
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+ fi
+
+ local RM_CONTRIB=(hgk hg-ssh bash_completion zsh_completion wix buildrpm plan9
+ *.el mercurial.spec)
+ for f in ${RM_CONTRIB[@]}; do
+ rm -r contrib/$f || die
+ done
+
+ dodoc -r contrib
+ docompress -x /usr/share/doc/${PF}/contrib
+ doman doc/*.?
+
+ insinto /etc/mercurial/hgrc.d
+ doins "${FILESDIR}/cacerts.rc"
+}
+
+src_test() {
+ pushd tests &>/dev/null || die
+ rm -rf *svn* # Subversion tests fail with 1.5
+ rm -f test-archive* # Fails due to verbose tar output changes
+ rm -f test-convert-baz* # GNU Arch baz
+ rm -f test-convert-cvs* # CVS
+ rm -f test-convert-darcs* # Darcs
+ rm -f test-convert-git* # git
+ rm -f test-convert-mtn* # monotone
+ rm -f test-convert-tla* # GNU Arch tla
+ #rm -f test-doctest* # doctest always fails with python 2.5.x
+ rm -f test-largefiles* # tends to time out
+
+ popd &>/dev/null || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local TEST_DIR
+
+ rm -rf "${TMPDIR}"/test
+ distutils_install_for_testing
+ cd tests || die
+ "${PYTHON}" run-tests.py --verbose \
+ --tmpdir="${TMPDIR}"/test \
+ --with-hg="${TEST_DIR}"/scripts/hg \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ elog "If you want to convert repositories from other tools using convert"
+ elog "extension please install correct tool:"
+ elog " dev-vcs/cvs"
+ elog " dev-vcs/darcs"
+ elog " dev-vcs/git"
+ elog " dev-vcs/monotone"
+ elog " dev-vcs/subversion"
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/mercurial/mercurial-4.3.2.ebuild b/dev-vcs/mercurial/mercurial-4.3.2.ebuild
new file mode 100644
index 000000000000..f29a2c796da8
--- /dev/null
+++ b/dev-vcs/mercurial/mercurial-4.3.2.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit bash-completion-r1 elisp-common eutils distutils-r1 flag-o-matic
+
+DESCRIPTION="Scalable distributed SCM"
+HOMEPAGE="https://www.mercurial-scm.org/"
+SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bugzilla emacs gpg test tk"
+
+RDEPEND="bugzilla? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ gpg? ( app-crypt/gnupg )
+ tk? ( dev-lang/tk )
+ app-misc/ca-certificates"
+DEPEND="emacs? ( virtual/emacs )
+ test? ( app-arch/unzip
+ dev-python/pygments[${PYTHON_USEDEP}] )"
+
+SITEFILE="70${PN}-gentoo.el"
+
+PATCHES=( "${FILESDIR}/${PN}-3.0.1-po_fixes.patch" )
+
+python_prepare_all() {
+ # fix up logic that won't work in Gentoo Prefix (also won't outside in
+ # certain cases), bug #362891
+ sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ strip-flags -ftracer -ftree-vectorize
+ # Note: make it impl-conditional if py3 is supported
+ append-flags -fno-strict-aliasing
+
+ "${PYTHON}" setup.py build_mo || die
+}
+
+python_compile_all() {
+ rm -r contrib/{win32,macosx} || die
+ if use emacs; then
+ cd contrib || die
+ elisp-compile mercurial.el || die "elisp-compile failed!"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newbashcomp contrib/bash_completion hg
+
+ insinto /usr/share/zsh/site-functions
+ newins contrib/zsh_completion _hg
+
+ rm -f doc/*.?.txt
+ dodoc CONTRIBUTORS
+ cp hgweb*.cgi "${ED}"/usr/share/doc/${PF}/ || die
+
+ dobin hgeditor
+ dobin contrib/hgk
+ python_foreach_impl python_doscript contrib/hg-ssh
+
+ if use emacs; then
+ elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!"
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+ fi
+
+ local RM_CONTRIB=(hgk hg-ssh bash_completion zsh_completion wix buildrpm plan9
+ *.el mercurial.spec)
+ for f in ${RM_CONTRIB[@]}; do
+ rm -r contrib/$f || die
+ done
+
+ dodoc -r contrib
+ docompress -x /usr/share/doc/${PF}/contrib
+ doman doc/*.?
+
+ insinto /etc/mercurial/hgrc.d
+ doins "${FILESDIR}/cacerts.rc"
+}
+
+src_test() {
+ pushd tests &>/dev/null || die
+ rm -rf *svn* # Subversion tests fail with 1.5
+ rm -f test-archive* # Fails due to verbose tar output changes
+ rm -f test-convert-baz* # GNU Arch baz
+ rm -f test-convert-cvs* # CVS
+ rm -f test-convert-darcs* # Darcs
+ rm -f test-convert-git* # git
+ rm -f test-convert-mtn* # monotone
+ rm -f test-convert-tla* # GNU Arch tla
+ #rm -f test-doctest* # doctest always fails with python 2.5.x
+ rm -f test-largefiles* # tends to time out
+
+ popd &>/dev/null || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local TEST_DIR
+
+ rm -rf "${TMPDIR}"/test
+ distutils_install_for_testing
+ cd tests || die
+ "${PYTHON}" run-tests.py --verbose \
+ --tmpdir="${TMPDIR}"/test \
+ --with-hg="${TEST_DIR}"/scripts/hg \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ elog "If you want to convert repositories from other tools using convert"
+ elog "extension please install correct tool:"
+ elog " dev-vcs/cvs"
+ elog " dev-vcs/darcs"
+ elog " dev-vcs/git"
+ elog " dev-vcs/monotone"
+ elog " dev-vcs/subversion"
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/mercurial/mercurial-4.3.3.ebuild b/dev-vcs/mercurial/mercurial-4.3.3.ebuild
new file mode 100644
index 000000000000..f29a2c796da8
--- /dev/null
+++ b/dev-vcs/mercurial/mercurial-4.3.3.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit bash-completion-r1 elisp-common eutils distutils-r1 flag-o-matic
+
+DESCRIPTION="Scalable distributed SCM"
+HOMEPAGE="https://www.mercurial-scm.org/"
+SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bugzilla emacs gpg test tk"
+
+RDEPEND="bugzilla? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ gpg? ( app-crypt/gnupg )
+ tk? ( dev-lang/tk )
+ app-misc/ca-certificates"
+DEPEND="emacs? ( virtual/emacs )
+ test? ( app-arch/unzip
+ dev-python/pygments[${PYTHON_USEDEP}] )"
+
+SITEFILE="70${PN}-gentoo.el"
+
+PATCHES=( "${FILESDIR}/${PN}-3.0.1-po_fixes.patch" )
+
+python_prepare_all() {
+ # fix up logic that won't work in Gentoo Prefix (also won't outside in
+ # certain cases), bug #362891
+ sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ strip-flags -ftracer -ftree-vectorize
+ # Note: make it impl-conditional if py3 is supported
+ append-flags -fno-strict-aliasing
+
+ "${PYTHON}" setup.py build_mo || die
+}
+
+python_compile_all() {
+ rm -r contrib/{win32,macosx} || die
+ if use emacs; then
+ cd contrib || die
+ elisp-compile mercurial.el || die "elisp-compile failed!"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newbashcomp contrib/bash_completion hg
+
+ insinto /usr/share/zsh/site-functions
+ newins contrib/zsh_completion _hg
+
+ rm -f doc/*.?.txt
+ dodoc CONTRIBUTORS
+ cp hgweb*.cgi "${ED}"/usr/share/doc/${PF}/ || die
+
+ dobin hgeditor
+ dobin contrib/hgk
+ python_foreach_impl python_doscript contrib/hg-ssh
+
+ if use emacs; then
+ elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!"
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+ fi
+
+ local RM_CONTRIB=(hgk hg-ssh bash_completion zsh_completion wix buildrpm plan9
+ *.el mercurial.spec)
+ for f in ${RM_CONTRIB[@]}; do
+ rm -r contrib/$f || die
+ done
+
+ dodoc -r contrib
+ docompress -x /usr/share/doc/${PF}/contrib
+ doman doc/*.?
+
+ insinto /etc/mercurial/hgrc.d
+ doins "${FILESDIR}/cacerts.rc"
+}
+
+src_test() {
+ pushd tests &>/dev/null || die
+ rm -rf *svn* # Subversion tests fail with 1.5
+ rm -f test-archive* # Fails due to verbose tar output changes
+ rm -f test-convert-baz* # GNU Arch baz
+ rm -f test-convert-cvs* # CVS
+ rm -f test-convert-darcs* # Darcs
+ rm -f test-convert-git* # git
+ rm -f test-convert-mtn* # monotone
+ rm -f test-convert-tla* # GNU Arch tla
+ #rm -f test-doctest* # doctest always fails with python 2.5.x
+ rm -f test-largefiles* # tends to time out
+
+ popd &>/dev/null || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local TEST_DIR
+
+ rm -rf "${TMPDIR}"/test
+ distutils_install_for_testing
+ cd tests || die
+ "${PYTHON}" run-tests.py --verbose \
+ --tmpdir="${TMPDIR}"/test \
+ --with-hg="${TEST_DIR}"/scripts/hg \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ elog "If you want to convert repositories from other tools using convert"
+ elog "extension please install correct tool:"
+ elog " dev-vcs/cvs"
+ elog " dev-vcs/darcs"
+ elog " dev-vcs/git"
+ elog " dev-vcs/monotone"
+ elog " dev-vcs/subversion"
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/mercurial/mercurial-4.3.ebuild b/dev-vcs/mercurial/mercurial-4.3.ebuild
new file mode 100644
index 000000000000..54d04647c438
--- /dev/null
+++ b/dev-vcs/mercurial/mercurial-4.3.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit bash-completion-r1 elisp-common eutils distutils-r1 flag-o-matic
+
+DESCRIPTION="Scalable distributed SCM"
+HOMEPAGE="https://www.mercurial-scm.org/"
+SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bugzilla emacs gpg test tk"
+
+RDEPEND="bugzilla? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ gpg? ( app-crypt/gnupg )
+ tk? ( dev-lang/tk )
+ app-misc/ca-certificates"
+DEPEND="emacs? ( virtual/emacs )
+ test? ( app-arch/unzip
+ dev-python/pygments[${PYTHON_USEDEP}] )"
+
+SITEFILE="70${PN}-gentoo.el"
+
+PATCHES=( "${FILESDIR}/${PN}-3.0.1-po_fixes.patch" )
+
+python_prepare_all() {
+ # fix up logic that won't work in Gentoo Prefix (also won't outside in
+ # certain cases), bug #362891
+ sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ strip-flags -ftracer -ftree-vectorize
+ # Note: make it impl-conditional if py3 is supported
+ append-flags -fno-strict-aliasing
+
+ "${PYTHON}" setup.py build_mo || die
+}
+
+python_compile_all() {
+ rm -r contrib/{win32,macosx} || die
+ if use emacs; then
+ cd contrib || die
+ elisp-compile mercurial.el || die "elisp-compile failed!"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newbashcomp contrib/bash_completion hg
+
+ insinto /usr/share/zsh/site-functions
+ newins contrib/zsh_completion _hg
+
+ rm -f doc/*.?.txt
+ dodoc CONTRIBUTORS
+ cp hgweb*.cgi "${ED}"/usr/share/doc/${PF}/ || die
+
+ dobin hgeditor
+ dobin contrib/hgk
+ python_foreach_impl python_doscript contrib/hg-ssh
+
+ if use emacs; then
+ elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!"
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+ fi
+
+ local RM_CONTRIB=(hgk hg-ssh bash_completion zsh_completion wix buildrpm plan9
+ *.el mercurial.spec)
+ for f in ${RM_CONTRIB[@]}; do
+ rm -r contrib/$f || die
+ done
+
+ dodoc -r contrib
+ docompress -x /usr/share/doc/${PF}/contrib
+ doman doc/*.?
+
+ insinto /etc/mercurial/hgrc.d
+ doins "${FILESDIR}/cacerts.rc"
+}
+
+src_test() {
+ pushd tests &>/dev/null || die
+ rm -rf *svn* # Subversion tests fail with 1.5
+ rm -f test-archive* # Fails due to verbose tar output changes
+ rm -f test-convert-baz* # GNU Arch baz
+ rm -f test-convert-cvs* # CVS
+ rm -f test-convert-darcs* # Darcs
+ rm -f test-convert-git* # git
+ rm -f test-convert-mtn* # monotone
+ rm -f test-convert-tla* # GNU Arch tla
+ #rm -f test-doctest* # doctest always fails with python 2.5.x
+ rm -f test-largefiles* # tends to time out
+
+ popd &>/dev/null || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local TEST_DIR
+
+ rm -rf "${TMPDIR}"/test
+ distutils_install_for_testing
+ cd tests || die
+ "${PYTHON}" run-tests.py --verbose \
+ --tmpdir="${TMPDIR}"/test \
+ --with-hg="${TEST_DIR}"/scripts/hg \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ elog "If you want to convert repositories from other tools using convert"
+ elog "extension please install correct tool:"
+ elog " dev-vcs/cvs"
+ elog " dev-vcs/darcs"
+ elog " dev-vcs/git"
+ elog " dev-vcs/monotone"
+ elog " dev-vcs/subversion"
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/mercurial/mercurial-9999.ebuild b/dev-vcs/mercurial/mercurial-9999.ebuild
new file mode 100644
index 000000000000..66be22841e62
--- /dev/null
+++ b/dev-vcs/mercurial/mercurial-9999.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit bash-completion-r1 elisp-common eutils distutils-r1 mercurial flag-o-matic
+
+DESCRIPTION="Scalable distributed SCM"
+HOMEPAGE="https://www.mercurial-scm.org/"
+EHG_REPO_URI="http://selenic.com/repo/hg"
+EHG_REVISION="@"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS=""
+IUSE="bugzilla emacs gpg test tk zsh-completion"
+
+RDEPEND="bugzilla? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ gpg? ( app-crypt/gnupg )
+ tk? ( dev-lang/tk )
+ zsh-completion? ( app-shells/zsh )
+ app-misc/ca-certificates"
+DEPEND="emacs? ( virtual/emacs )
+ test? ( app-arch/unzip
+ dev-python/pygments[${PYTHON_USEDEP}] )
+ dev-python/docutils[${PYTHON_USEDEP}]"
+
+SITEFILE="70${PN}-gentoo.el"
+
+python_prepare_all() {
+ # fix up logic that won't work in Gentoo Prefix (also won't outside in
+ # certain cases), bug #362891
+ sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ strip-flags -ftracer -ftree-vectorize
+ # Note: make it impl-conditional if py3 is supported
+ append-flags -fno-strict-aliasing
+
+ "${PYTHON}" setup.py build_mo || die
+}
+
+python_compile_all() {
+ rm -r contrib/{win32,macosx} || die
+ emake doc
+ if use emacs; then
+ cd contrib || die
+ elisp-compile mercurial.el || die "elisp-compile failed!"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newbashcomp contrib/bash_completion hg
+
+ if use zsh-completion ; then
+ insinto /usr/share/zsh/site-functions
+ newins contrib/zsh_completion _hg
+ fi
+
+ rm -f doc/*.?.txt || die
+ dodoc CONTRIBUTORS doc/*.txt
+ cp hgweb*.cgi "${ED}"/usr/share/doc/${PF}/ || die
+
+ dobin hgeditor
+ dobin contrib/hgk
+ python_foreach_impl python_doscript contrib/hg-ssh
+
+ if use emacs; then
+ elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!"
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+ fi
+
+ local RM_CONTRIB=(hgk hg-ssh bash_completion zsh_completion wix buildrpm plan9
+ *.el mercurial.spec)
+ for f in ${RM_CONTRIB[@]}; do
+ rm -rf contrib/$f || die
+ done
+
+ dodoc -r contrib
+ docompress -x /usr/share/doc/${PF}/contrib
+ doman doc/*.?
+
+ cat > "${T}/80mercurial" <<-EOF
+HG="${EPREFIX}/usr/bin/hg"
+EOF
+ doenvd "${T}/80mercurial"
+
+ insinto /etc/mercurial/hgrc.d
+ doins "${FILESDIR}/cacerts.rc"
+}
+
+src_test() {
+ cd tests || die
+ rm -rf *svn* || die # Subversion tests fail with 1.5
+ rm -f test-archive* || die # Fails due to verbose tar output changes
+ rm -f test-convert-baz* || die # GNU Arch baz
+ rm -f test-convert-cvs* || die # CVS
+ rm -f test-convert-darcs* || die # Darcs
+ rm -f test-convert-git* || die # git
+ rm -f test-convert-mtn* || die # monotone
+ rm -f test-convert-tla* || die # GNU Arch tla
+ rm -f test-doctest* || die # doctest always fails with python 2.5.x
+ rm -f test-largefiles* || die # tends to time out
+ if [[ ${EUID} -eq 0 ]]; then
+ einfo "Removing tests which require user privileges to succeed"
+ rm -f test-command-template* || die # Test is broken when run as root
+ rm -f test-convert* || die # Test is broken when run as root
+ rm -f test-lock-badness* || die # Test is broken when run as root
+ rm -f test-permissions* || die # Test is broken when run as root
+ rm -f test-pull-permission* || die # Test is broken when run as root
+ rm -f test-clone-failure* || die
+ rm -f test-journal-exists* || die
+ rm -f test-repair-strip* || die
+ fi
+
+ cd .. || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local TEST_DIR
+
+ rm -rf "${TMPDIR}"/test
+ distutils_install_for_testing
+ cd tests || die
+ "${PYTHON}" run-tests.py --verbose \
+ --tmpdir="${TMPDIR}"/test \
+ --with-hg="${TEST_DIR}"/scripts/hg \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ elog "If you want to convert repositories from other tools using convert"
+ elog "extension please install correct tool:"
+ elog " dev-vcs/cvs"
+ elog " dev-vcs/darcs"
+ elog " dev-vcs/git"
+ elog " dev-vcs/monotone"
+ elog " dev-vcs/subversion"
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/mercurial/metadata.xml b/dev-vcs/mercurial/metadata.xml
new file mode 100644
index 000000000000..6f2bedbfd600
--- /dev/null
+++ b/dev-vcs/mercurial/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <use>
+ <flag name="bugzilla">Support bugzilla integration.</flag>
+ <flag name="gpg">Support signing with GnuPG.</flag>
+ <flag name="tk">Install dev-lang/tk for hgk script.</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-vcs/metadata.xml b/dev-vcs/metadata.xml
new file mode 100644
index 000000000000..851dd074de1b
--- /dev/null
+++ b/dev-vcs/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The dev-vcs category contains utilities focused on version control.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie dev-vcs enthält Programme zur Versionsverwaltung.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría dev-vcs contiene programas para control de versiones.
+ </longdescription>
+</catmetadata>
diff --git a/dev-vcs/monotone/Manifest b/dev-vcs/monotone/Manifest
new file mode 100644
index 000000000000..1dca44328e70
--- /dev/null
+++ b/dev-vcs/monotone/Manifest
@@ -0,0 +1,17 @@
+AUX hooks.lua 154 SHA256 55e17360a14ccf70d2da5b3e3ad038b1021c30f4be5c69029f50bd1ec8cbf326 SHA512 1244786898087edfe5c11493081c38d498c5ed275449b040caf4b9fbd1b3c15d238246c3d9c62cbfb5d0dd5f9a9ebac12a50ce6471fc245ede5c5e944bdb88e2 WHIRLPOOL 8d539f2aa64a85353da5653ec6987a7915a4eed0bea1f44a4b7bfac7c62e702f04ac94010309c8a5a8cc9040c733f9d42aab0c95edc3bd56549a91e2609f218c
+AUX monotone-0.36.initd 2349 SHA256 9f188405c9c5e2a36311ba277e2a2380faedadd6eea108bd37cbdca0ed07d83a SHA512 3988aaebfe374bd07728cc2f2b3b01db30b4ca2d873ecc2f746fed6c662c6dd48fad1c6200dec6254f1aa580ebe7dc38eebdd8c98f17d173aedde9a68098a058 WHIRLPOOL bc20b9a999072c0f12d75cead0dc74afa689763190ee2cc1053cb1d681aa8a9de7cfef9cc57ba1f5bba4235cfada871da100f82f16d72ef87ce133753f0fd82e
+AUX monotone-1.0-bash-completion-tests.patch 760 SHA256 bd5f78ccc627ab7f58d4b628c8bfbbaffe07e7ba8f5434d3ec823e8922aba401 SHA512 0c0ed67e668c28a8bd25624f420be72049f223e67f2686528a2899b47499661b972398ec3da891e1a55fbe69a2a0928812334c5741cb1391e3df04a9a49aaf7d WHIRLPOOL 85e0f269bf4ce310f31f74e25f1a5fb9c5eb24077a1dec3865e64a0a8f87633e60e464bbdb3b0c39219e201b3b718a1ca7221f4df2f9bfc68d54d5682350b9cd
+AUX monotone-1.0-boost-1.53.patch 3768 SHA256 4a7e8135552cdb362416193a1e9f4fa5ef73a14c9974514c204d97b8c55740a2 SHA512 0ba422905701ddbab1c0d21d515079f686949d00d6579dd0578b45c1a05449b12a415209c327823739ed72a2f52f5d33735d293ef7c95d4a7f3afb22b80de33f WHIRLPOOL fa46fe37f993c1d133dc513d7a0f1b752797cc0fd56cae4969a7ab76ce3276d07f39cbbbbe9fb0e72d284fd3636a3b19534253bb4e2949a3802bf575ff936f69
+AUX monotone-1.0-botan-1.10-v2.patch 26290 SHA256 7455fdbc238d7ac461801e962bf6bcd6e147b050358ac24aa2280f0cb387ccc8 SHA512 f41f5c363cc6fd5a30582a1551a283ef7ad7c2c2450ff9c557fe3551dbe5184ba93ec88d9d9f7f3d4a7c678cf04043f23fa32d8c6bd837c05d5f11fdc9d661fd WHIRLPOOL b9261552fcf133f259db074d0dd973bbc6e7cc434733da4322746b5a461512481050c590a263bef5f0a185bd5656cb73d1d616b2d1a1808b06844cb7269ff34b
+AUX monotone-1.0-gcc6.patch 2023 SHA256 1ea6e6415801b5c28b4bd6dfa5c23b7814d490d20a0ccd892353223c49b255e2 SHA512 5f8d6cd7aa659432a2d754dc0effcc42e37ff14d2f0856f11d6de87ac4c838fcb5486faeca3a18cb6e4d6dc2bce6c6370e4f2edb8e3c5b5702d785d7638e01c4 WHIRLPOOL e7ff7319a48f73bea60b6668eafc3c39b5bf1bd794693a0ea61b242daa56b60daa37e26903474d47dca2f484d2fa8434b59a159fb8bff964913480182204a6cf
+AUX monotone-1.0-glibc-2.14-file-handle.patch 4132 SHA256 38ca0788f7e69e58e539e4b1acf95b95c4fa0dd1b5f0fcad3e4154774fc1c869 SHA512 b7855748d97855f8796cb663b97efaa23bc8c6032b1cfb61ef31acb9b7c97a1b8f66fef4a6aae226a740fd4352f322eb542dc2da4c6471233d48f29d18aa5d40 WHIRLPOOL 9d02ed8a13a4ef572f932b3cc4c366b5673bc2d5dbf2e826aeec03c65d438825d4841fb8e19b969cabc9c7f996405311509ea741191f0d87805a93da239b2bc4
+AUX monotone-1.0-pcre3.patch 1205 SHA256 2adf14d0b574abecfc84939abfd4285de62a323ba0e61d16c122e43e3295a824 SHA512 3b3d81bdeb1a253a25b29b6ee9a4c006d3d6a2d8c82c28ad51d4aebfc80ba5369b604259a0478bda0e11042769c809da65b3afda1ba25eefcf56af643ae6b932 WHIRLPOOL 681f2d73c40eb145c7797cd283007c731913f05d1aadcc37a7c8d65444f1520e0722dcd01d8b76b79a25f4a0056252095a8f43314b800b6e087fff9da09e46fd
+AUX monotone-1.0-texinfo-5.1.patch 13044 SHA256 c2b1b70f3d8fd056424a0964b29819eafcd13448cf69c8506175b6a28e3cff3e SHA512 0ab25ead9aff99688408e01391758e5f5ba44c22cc0b7373000fd86f5013fb3d154a0f2ffd51cf6bbd838789be80baa56f0b128b4ce104ff118173ad1983f23f WHIRLPOOL b59d63daf48b3ea53f4672e35ee551a79e0a5f66afa71ece424fca3e4d1a7e8aa2525e7d9264850756d6fe5200f3521d4a4dc69f9bcd5e3c80155a245179b90a
+AUX monotone.confd 692 SHA256 258cbe94db4265012050dff2e5eb1fce1d0c7d224eb6164ab533f098cd598015 SHA512 60cdc88a404a05a0a5be7c9d2ddd6020d502e98fe56462aca67c646d48bdf643989e32040ee2c8aa71f8742be2b3481d6c3b2757dc390ad4207d6437c3de5ed0 WHIRLPOOL 50aded0874103a0bf87ee2b2cffb07ee288ba96c6a2404a52b9564ecc067fb5d4313582725378cffb58ef0c4da3670359b8910df9edf33fe16a2fc60c8d27abe
+AUX read-permissions 192 SHA256 4f93a644b2f16d6ea5c4d28e3039dfddd7f8e38ca1b8d54389094be751fbfa7c SHA512 a86c6d7963e41f471de5c3c8538e0464364dffdaf8aee9890b833042c20b0a3a692e2262106f63fc7a669e2a9003d2a01aecb1d9a7632b432fdb828d1a42cdbd WHIRLPOOL 8bb1ec95c884000727a7f47dc3b558606c463eb0b1752838a1ca93d97a77c3cb44ebeb24d4af19cf0d67fa347ba13346c8c71f089785388a65721740a9baa0c8
+AUX write-permissions 32 SHA256 ddd40fac5d6fe98d9f58c4731a500eb1350a42ae7ca0ddaa40eaa3bbeb99026c SHA512 7348c621149d2911db11eb078ad39eb02ed3b51f4e1dd7ebc58dc863cfc0839e115c26d707c496138767f64e3987a4cc7dffb5eb711872a5d40fd8d084b9c08e WHIRLPOOL 3e04781c7637ecd08dea6e79d1f8e60eeb3d2617b6ec4c5e006ef873c480b63e4f27a1f753e1ba0805fb65ce52651fe8be48c4b5648e2aac4a8b724fe20082ca
+DIST monotone-1.0.tar.bz2 3588074 SHA256 5c530bc4652b2c08b5291659f0c130618a14780f075f981e947952dcaefc31dc SHA512 85f5a015ee3f7a924e16b7f20974cadd18bd6aaf2815eca0da42689373fc654c661051ce6981ec473f9eac7f9796cfed3431f0cfe16d1cbe0b0b625302ef3e77 WHIRLPOOL c0379f4e37fc6dc8f47caf4b548f7ef124cdf3f7a87fccb3a4cc6d160bcff4092a4d9636d71558120c9e28ef072bcf5dd23d6e116ad49abb6c99a9886d1747df
+EBUILD monotone-1.0-r4.ebuild 3447 SHA256 e06090d259e14b934893f5374be4fa6e0b5551486192bfffdd4c631f1793c667 SHA512 ba79b156b35bfec033471a3123649b8f6b7b2586e66bf83502039d196343bff82b90a64a43279fbe150658e1f516cc0e773c81c1c8599daec938517fdfa15e78 WHIRLPOOL c14ee718c5fb1ed752b727a09c69c9fde6602b7cfd173e8468b74eea7338907aea92e017261b0d5d491f23bfc72a6b2b42546f14bd4730f42b8f97780ca964ba
+MISC ChangeLog 3296 SHA256 090c7ab1641818f4772061c86a4644e5e5e395b514c1c22c9300793364777d9c SHA512 1b452d768f11d2fbe4ed07a9bb691325da257b985e6e58431c6233e63779e97666ceded9e27afa2ceb8edc02f084b32da10217324f368dc273622cfa2c71033e WHIRLPOOL 9138be6b45177a8158dc2b2274475ef9fa9662c0b3c8eb7d18e6283f54bb64f24c9748c934868ef987ea83e4328a5310b1654ee06fab037b2353a2e5a5f11873
+MISC ChangeLog-2015 16612 SHA256 e33e21bdf5ad835afb27eed29ce9b69da579e4c75ba879c527dab25de1f29a78 SHA512 bf7969716cfb1d3323a4c9a51e51d2cbdf64bf11d6f96a10c3f18b249f980a5a4df4d735b027e9bef5c0a8071a2ec17cf260bd63e6bea38a070d4a1e04334183 WHIRLPOOL 542e0a0efa8eb3b76e0b76b56aba19a6891ddccf69d4bbadd2f28f93934956d71faf9449e06092fd41405bf0a2162c25dd144bb8ba31035866c6a7d565195cc7
+MISC metadata.xml 744 SHA256 7329ed6b4b213e4caad0740c3a5e1c7fe0db15c6556482c7bbef520e1377471d SHA512 98df2fa2eaa8cfd42f3de02082c815e37d69d05ddddd00f79ecd7a2c1c85f948663924ab6f4712903c103d2d4a525e121318e22bb0b2882c49218bd695b9de0e WHIRLPOOL cfbd490529fdc5a057b68eb5c665214180a34cc6919e47732e56cef4e6c34d56ac4abe4f8b6b7204e3c5df0d9df7ac17e42c6c866073b128852c530eafa7b711
diff --git a/dev-vcs/monotone/files/hooks.lua b/dev-vcs/monotone/files/hooks.lua
new file mode 100644
index 000000000000..bbdb0042a5f6
--- /dev/null
+++ b/dev-vcs/monotone/files/hooks.lua
@@ -0,0 +1,4 @@
+-- Add custom hooks after the following line. It includes the identification
+-- needed to start the server.
+
+include(get_confdir() .. "/passphrase.lua")
diff --git a/dev-vcs/monotone/files/monotone-0.36.initd b/dev-vcs/monotone/files/monotone-0.36.initd
new file mode 100644
index 000000000000..286264c5f772
--- /dev/null
+++ b/dev-vcs/monotone/files/monotone-0.36.initd
@@ -0,0 +1,84 @@
+#!/sbin/openrc-run
+# Copyright 2006-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+extra_commands="import"
+
+depend() {
+ need net
+}
+
+# Substitute common default values
+MTN_USER=${MTN_USER:-monotone}
+MTN_GROUP=${MTN_GROUP:-monotone}
+MTN_KEY=${MTN_KEY:-monotone@`hostname --fqdn`}
+MTN_CONFDIR=${MTN_CONFDIR:-/etc/monotone}
+MTN_COMMON="--norc --confdir=${MTN_CONFDIR} \
+ --keydir=${MTN_KEYDIR:-/var/lib/monotone/keys} \
+ --db=${MTN_DB:-/var/lib/monotone/default.mtn} \
+ --rcfile=${MTN_CONFDIR}/hooks.lua --log=/var/log/monotone/monotone.log"
+ #--dump=$ERRORLOG
+MTN_PIDFILE="/var/run/monotone/monotone.pid"
+MTN_HOME=$(awk -F: -vuid=$MTN_USER -vuser=$MTN_USER '$3 == uid || $1 == user { print $6 }' < /etc/passwd)
+
+dbexists() {
+ # Create the database if it doesn't exist
+ if [ ! -e ${MTN_DB:-/var/lib/monotone/default.mtn} ]; then
+ ebegin "Creating monotone database"
+ start-stop-daemon --start \
+ --user ${MTN_USER} --group ${MTN_GROUP} \
+ --exec /usr/bin/mtn -- ${MTN_COMMON} db init
+ eend $?
+ fi
+ if [ ! -e ${MTN_KEYDIR:-/var/lib/monotone/keys}/${MTN_KEY} ]; then
+ ebegin "Creating monotone server keypair"
+ export MTN_PWD=${RANDOM}
+ yes "${MTN_PWD}" | \
+ start-stop-daemon --start \
+ --user ${MTN_USER} --group ${MTN_GROUP} \
+ --exec /usr/bin/mtn -- ${MTN_COMMON} genkey ${MTN_KEY}
+
+ eend $?
+ # Update the password lua hook
+ cat > ${MTN_CONFDIR}/passphrase.lua <<EOF
+-- This file is automaticaly generated by the init scripts.
+-- If you want to add custom hooks, edit ${MTN_CONFDIR}/hooks.lua
+-- If you want to change the settings, please edit /etc/conf.d/monotone
+
+function get_passphrase(identity)
+ if (identity == "${MTN_KEY}") then
+ return "${MTN_PWD}"
+ end
+ return false
+end
+EOF
+ fi
+}
+
+start() {
+ cd ${MTN_HOME}
+ dbexists
+
+ ebegin "Starting monotone server"
+ start-stop-daemon --start --background \
+ --user ${MTN_USER} --group ${MTN_GROUP} \
+ --exec /usr/bin/mtn -- ${MTN_COMMON} --pid-file=${MTN_PIDFILE} \
+ --key=${MTN_KEY} --bind=${MTN_ADDRESS:-0.0.0.0} serve
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping monotone server"
+ start-stop-daemon --stop --quiet --pidfile ${MTN_PIDFILE}
+ eend $?
+}
+
+import() {
+ cd ${MTN_HOME}
+ dbexists
+
+ # Read packets into the database
+ einfo "Importing packets to monotone database"
+ cat | /usr/bin/mtn ${MTN_COMMON} read
+ eend $?
+}
diff --git a/dev-vcs/monotone/files/monotone-1.0-bash-completion-tests.patch b/dev-vcs/monotone/files/monotone-1.0-bash-completion-tests.patch
new file mode 100644
index 000000000000..5b877d4d31cd
--- /dev/null
+++ b/dev-vcs/monotone/files/monotone-1.0-bash-completion-tests.patch
@@ -0,0 +1,18 @@
+https://code.monotone.ca/p/monotone/issues/180/
+--- test/extra/bash_completion/bashrc 2011-09-07 09:00:12 +0000
++++ test/extra/bash_completion/bashrc 2011-09-07 12:14:59 +0000
+@@ -18,6 +18,13 @@
+ . /etc/bash_completion
+ elif [ -f /usr/local/etc/bash_completion ]; then
+ . /usr/local/etc/bash_completion
++ elif [ -f /usr/share/bash-completion/.pre -a \
++ -f /usr/share/bash-completion/base ]; then
++ # In Gentoo /etc/profile.d/bash-completion.sh sources required
++ # functions only if enabled with `eselect bashcomp`. We source
++ # required definitions manually.
++ source /usr/share/bash-completion/.pre
++ source /usr/share/bash-completion/base
+ else
+ echo No bash completion package present.
+ exit
+
diff --git a/dev-vcs/monotone/files/monotone-1.0-boost-1.53.patch b/dev-vcs/monotone/files/monotone-1.0-boost-1.53.patch
new file mode 100644
index 000000000000..e72a57e4cdee
--- /dev/null
+++ b/dev-vcs/monotone/files/monotone-1.0-boost-1.53.patch
@@ -0,0 +1,92 @@
+============================================================
+--- src/database.cc 87efeeff2d3263ba98af684a4022f1897434ed2d
++++ src/database.cc 39ab2644b936e09a536b99ebd28b93f6e0d7c162
+@@ -92,7 +92,7 @@ using boost::shared_ptr;
+ using std::accumulate;
+
+ using boost::shared_ptr;
+-using boost::shared_dynamic_cast;
++using boost::dynamic_pointer_cast;
+ using boost::lexical_cast;
+ using boost::get;
+ using boost::tuple;
+@@ -3430,7 +3430,7 @@ database::encrypt_rsa(key_id const & pub
+
+ shared_ptr<X509_PublicKey> x509_key(Botan::X509::load_key(pub_block));
+ shared_ptr<RSA_PublicKey> pub_key
+- = shared_dynamic_cast<RSA_PublicKey>(x509_key);
++ = dynamic_pointer_cast<RSA_PublicKey>(x509_key);
+ if (!pub_key)
+ throw recoverable_failure(origin::system,
+ "Failed to get RSA encrypting key");
+@@ -3481,7 +3481,7 @@ database::check_signature(key_id const &
+ L(FL("building verifier for %d-byte pub key") % pub_block.size());
+ shared_ptr<X509_PublicKey> x509_key(Botan::X509::load_key(pub_block));
+ shared_ptr<RSA_PublicKey> pub_key
+- = boost::shared_dynamic_cast<RSA_PublicKey>(x509_key);
++ = boost::dynamic_pointer_cast<RSA_PublicKey>(x509_key);
+
+ E(pub_key, id.inner().made_from,
+ F("failed to get RSA verifying key for %s") % id);
+============================================================
+--- src/key_store.cc b7859345f7c665914d16357409bdff24a48b7996
++++ src/key_store.cc 1ca13b7ee527bc2872d9fc325cf5ef327ca053c2
+@@ -43,7 +43,7 @@ using boost::shared_ptr;
+
+ using boost::scoped_ptr;
+ using boost::shared_ptr;
+-using boost::shared_dynamic_cast;
++using boost::dynamic_pointer_cast;
+
+ using Botan::RSA_PrivateKey;
+ using Botan::RSA_PublicKey;
+@@ -641,7 +641,7 @@ key_store_state::decrypt_private_key(key
+ I(pkcs8_key);
+
+ shared_ptr<RSA_PrivateKey> priv_key;
+- priv_key = shared_dynamic_cast<RSA_PrivateKey>(pkcs8_key);
++ priv_key = dynamic_pointer_cast<RSA_PrivateKey>(pkcs8_key);
+ E(priv_key, origin::no_fault,
+ F("failed to extract RSA private key from PKCS#8 keypair"));
+
+@@ -879,7 +879,8 @@ key_store::make_signature(database & db,
+ L(FL("make_signature: building %d-byte pub key") % pub_block.size());
+ shared_ptr<X509_PublicKey> x509_key =
+ shared_ptr<X509_PublicKey>(Botan::X509::load_key(pub_block));
+- shared_ptr<RSA_PublicKey> pub_key = shared_dynamic_cast<RSA_PublicKey>(x509_key);
++ shared_ptr<RSA_PublicKey> pub_key =
++ dynamic_pointer_cast<RSA_PublicKey>(x509_key);
+
+ if (!pub_key)
+ throw recoverable_failure(origin::system,
+@@ -1092,7 +1093,7 @@ key_store_state::migrate_old_key_pair
+ continue;
+ }
+
+- priv_key = shared_dynamic_cast<RSA_PrivateKey>(pkcs8_key);
++ priv_key = dynamic_pointer_cast<RSA_PrivateKey>(pkcs8_key);
+ I(priv_key);
+
+ // now we can write out the new key
+============================================================
+--- src/ssh_agent.cc 4a0dcab873559e934e41c5f220b5434d35600d9b
++++ src/ssh_agent.cc 6313ee3cdfca4112ba3957dc4a5f318472289dfa
+@@ -32,7 +32,7 @@ using boost::shared_ptr;
+ using std::vector;
+
+ using boost::shared_ptr;
+-using boost::shared_dynamic_cast;
++using boost::dynamic_pointer_cast;
+
+ using Botan::RSA_PublicKey;
+ using Botan::RSA_PrivateKey;
+@@ -391,7 +391,8 @@ ssh_agent::has_key(const keypair & key)
+ L(FL("has_key: building %d-byte pub key") % pub_block.size());
+ shared_ptr<X509_PublicKey> x509_key =
+ shared_ptr<X509_PublicKey>(Botan::X509::load_key(pub_block));
+- shared_ptr<RSA_PublicKey> pub_key = shared_dynamic_cast<RSA_PublicKey>(x509_key);
++ shared_ptr<RSA_PublicKey> pub_key =
++ dynamic_pointer_cast<RSA_PublicKey>(x509_key);
+
+ if (!pub_key)
+ throw recoverable_failure(origin::system,
diff --git a/dev-vcs/monotone/files/monotone-1.0-botan-1.10-v2.patch b/dev-vcs/monotone/files/monotone-1.0-botan-1.10-v2.patch
new file mode 100644
index 000000000000..a86bac555b18
--- /dev/null
+++ b/dev-vcs/monotone/files/monotone-1.0-botan-1.10-v2.patch
@@ -0,0 +1,644 @@
+Make monotone work with botan 1.10.
+
+Patch generated using the following command:
+mtn diff -r 972ee5c3eab3fb5ba0b80684193293d18438a9d0 \
+ -r f4feb3fdc68e4f955909450b2dcb3ff9312dbc9e
+
+Authors: Martin von Gagern, Markus Wanner
+
+References:
+https://bugs.gentoo.org/380257
+https://code.monotone.ca/p/monotone/issues/182/
+https://code.monotone.ca/p/monotone/source/commit/f4feb3fd
+
+============================================================
+--- src/database.cc 4c259f963c440fc95564dfec99b2f832f0bad643
++++ src/database.cc 87efeeff2d3263ba98af684a4022f1897434ed2d
+@@ -3425,9 +3425,8 @@ database::encrypt_rsa(key_id const & pub
+ rsa_pub_key pub;
+ get_key(pub_id, pub);
+
+- SecureVector<Botan::byte> pub_block;
+- pub_block.set(reinterpret_cast<Botan::byte const *>(pub().data()),
+- pub().size());
++ SecureVector<Botan::byte> pub_block
++ (reinterpret_cast<Botan::byte const *>(pub().data()), pub().size());
+
+ shared_ptr<X509_PublicKey> x509_key(Botan::X509::load_key(pub_block));
+ shared_ptr<RSA_PublicKey> pub_key
+@@ -3471,14 +3470,13 @@ database::check_signature(key_id const &
+ else
+ {
+ rsa_pub_key pub;
+- SecureVector<Botan::byte> pub_block;
+
+ if (!public_key_exists(id))
+ return cert_unknown;
+
+ get_key(id, pub);
+- pub_block.set(reinterpret_cast<Botan::byte const *>(pub().data()),
+- pub().size());
++ SecureVector<Botan::byte> pub_block
++ (reinterpret_cast<Botan::byte const *>(pub().data()), pub().size());
+
+ L(FL("building verifier for %d-byte pub key") % pub_block.size());
+ shared_ptr<X509_PublicKey> x509_key(Botan::X509::load_key(pub_block));
+============================================================
+--- src/gzip.cc e7c19bee910e3d421fd073933810ec52092b1d9b
++++ src/gzip.cc 9da41f6820cdf39707b22c716e3682e0fa0fd745
+@@ -110,7 +110,7 @@ Gzip_Compression::Gzip_Compression(u32bi
+ if(deflateInit2(&(zlib->stream), level, Z_DEFLATED, -15, 8, Z_DEFAULT_STRATEGY) != Z_OK)
+ {
+ delete zlib; zlib = 0;
+- throw Exception("Gzip_Compression: Memory allocation error");
++ throw Memory_Exhaustion();
+ }
+ }
+
+@@ -137,7 +137,7 @@ void Gzip_Compression::start_msg()
+ /*************************************************
+ * Compress Input with Gzip *
+ *************************************************/
+-void Gzip_Compression::write(const byte input[], u32bit length)
++void Gzip_Compression::write(const byte input[], filter_length_t length)
+ {
+
+ count += length;
+@@ -152,7 +152,7 @@ void Gzip_Compression::write(const byte
+ zlib->stream.avail_out = buffer.size();
+ int rc = deflate(&(zlib->stream), Z_NO_FLUSH);
+ if (rc != Z_OK && rc != Z_STREAM_END)
+- throw Exception("Internal error in Gzip_Compression deflate.");
++ throw Invalid_State("Internal error in Gzip_Compression deflate.");
+ send(buffer.begin(), buffer.size() - zlib->stream.avail_out);
+ }
+ }
+@@ -172,7 +172,7 @@ void Gzip_Compression::end_msg()
+ zlib->stream.avail_out = buffer.size();
+ rc = deflate(&(zlib->stream), Z_FINISH);
+ if (rc != Z_OK && rc != Z_STREAM_END)
+- throw Exception("Internal error in Gzip_Compression finishing deflate.");
++ throw Invalid_State("Internal error in Gzip_Compression finishing deflate.");
+ send(buffer.begin(), buffer.size() - zlib->stream.avail_out);
+ }
+
+@@ -228,7 +228,7 @@ Gzip_Decompression::Gzip_Decompression()
+ no_writes(true), pipe(new Hash_Filter("CRC32")), footer(0)
+ {
+ if (DEFAULT_BUFFERSIZE < sizeof(GZIP::GZIP_HEADER))
+- throw Exception("DEFAULT_BUFFERSIZE is too small");
++ throw Decoding_Error("DEFAULT_BUFFERSIZE is too small");
+
+ zlib = new Zlib_Stream;
+
+@@ -237,7 +237,7 @@ Gzip_Decompression::Gzip_Decompression()
+ if(inflateInit2(&(zlib->stream), -15) != Z_OK)
+ {
+ delete zlib; zlib = 0;
+- throw Exception("Gzip_Decompression: Memory allocation error");
++ throw Memory_Exhaustion();
+ }
+ }
+
+@@ -256,7 +256,7 @@ void Gzip_Decompression::start_msg()
+ void Gzip_Decompression::start_msg()
+ {
+ if (!no_writes)
+- throw Exception("Gzip_Decompression: start_msg after already writing");
++ throw Decoding_Error("Gzip_Decompression: start_msg after already writing");
+
+ pipe.start_msg();
+ datacount = 0;
+@@ -267,7 +267,7 @@ void Gzip_Decompression::start_msg()
+ /*************************************************
+ * Decompress Input with Gzip *
+ *************************************************/
+-void Gzip_Decompression::write(const byte input[], u32bit length)
++void Gzip_Decompression::write(const byte input[], filter_length_t length)
+ {
+ if(length) no_writes = false;
+
+@@ -277,15 +277,16 @@ void Gzip_Decompression::write(const byt
+ u32bit eat_len = eat_footer(input, length);
+ input += eat_len;
+ length -= eat_len;
+- if (length == 0)
+- return;
+ }
+
++ if (length == 0)
++ return;
++
+ // Check the gzip header
+ if (pos < sizeof(GZIP::GZIP_HEADER))
+ {
+- u32bit len = std::min((u32bit)sizeof(GZIP::GZIP_HEADER)-pos, length);
+- u32bit cmplen = len;
++ filter_length_t len = std::min((filter_length_t)sizeof(GZIP::GZIP_HEADER)-pos, length);
++ filter_length_t cmplen = len;
+ // The last byte is the OS flag - we don't care about that
+ if (pos + len - 1 >= GZIP::HEADER_POS_OS)
+ cmplen--;
+@@ -317,8 +318,8 @@ void Gzip_Decompression::write(const byt
+ if(rc == Z_NEED_DICT)
+ throw Decoding_Error("Gzip_Decompression: Need preset dictionary");
+ if(rc == Z_MEM_ERROR)
+- throw Exception("Gzip_Decompression: Memory allocation error");
+- throw Exception("Gzip_Decompression: Unknown decompress error");
++ throw Memory_Exhaustion();
++ throw Decoding_Error("Gzip_Decompression: Unknown decompress error");
+ }
+ send(buffer.begin(), buffer.size() - zlib->stream.avail_out);
+ pipe.write(buffer.begin(), buffer.size() - zlib->stream.avail_out);
+@@ -346,8 +347,14 @@ u32bit Gzip_Decompression::eat_footer(co
+ if (footer.size() >= GZIP::FOOTER_LENGTH)
+ throw Decoding_Error("Gzip_Decompression: Data integrity error in footer");
+
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
++ size_t eat_len = std::min(GZIP::FOOTER_LENGTH-footer.size(),
++ static_cast<size_t>(length));
++ footer += std::make_pair(input, eat_len);
++#else
+ u32bit eat_len = std::min(GZIP::FOOTER_LENGTH-footer.size(), length);
+ footer.append(input, eat_len);
++#endif
+
+ if (footer.size() == GZIP::FOOTER_LENGTH)
+ {
+@@ -364,7 +371,7 @@ void Gzip_Decompression::check_footer()
+ void Gzip_Decompression::check_footer()
+ {
+ if (footer.size() != GZIP::FOOTER_LENGTH)
+- throw Exception("Gzip_Decompression: Error finalizing decompression");
++ throw Decoding_Error("Gzip_Decompression: Error finalizing decompression");
+
+ pipe.end_msg();
+
+@@ -377,7 +384,12 @@ void Gzip_Decompression::check_footer()
+ for (int i = 0; i < 4; i++)
+ buf[3-i] = tmpbuf[i];
+
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
++ tmpbuf.resize(4);
++ tmpbuf.copy(footer.begin(), 4);
++#else
+ tmpbuf.set(footer.begin(), 4);
++#endif
+ if (buf != tmpbuf)
+ throw Decoding_Error("Gzip_Decompression: Data integrity error - CRC32 error");
+
+@@ -400,7 +412,7 @@ void Gzip_Decompression::end_msg()
+ // read, clear() will reset no_writes
+ if(no_writes) return;
+
+- throw Exception("Gzip_Decompression: didn't find footer");
++ throw Decoding_Error("Gzip_Decompression: didn't find footer");
+
+ }
+
+@@ -412,7 +424,11 @@ void Gzip_Decompression::clear()
+ no_writes = true;
+ inflateReset(&(zlib->stream));
+
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
++ footer.clear();
++#else
+ footer.destroy();
++#endif
+ pos = 0;
+ datacount = 0;
+ }
+============================================================
+--- src/gzip.hh 649dfc0b250954f39c0f73870f8bec3f32f7fa43
++++ src/gzip.hh aff9da63bb22366bccf69c2d75ee7790406d2455
+@@ -7,11 +7,18 @@
+ #ifndef BOTAN_EXT_GZIP_H__
+ #define BOTAN_EXT_GZIP_H__
+
++#include <botan/version.h>
+ #include <botan/filter.h>
+ #include <botan/pipe.h>
+
+ namespace Botan {
+
++#if BOTAN_VERSION_CODE < BOTAN_VERSION_CODE_FOR(1,9,4)
++// Only 1.9.4 and newer export the Memory_Exception. Give this gzip
++// implementation something compatible to work with.
++typedef std::bad_alloc Memory_Exhaustion;
++#endif
++
+ namespace GZIP {
+
+ /* A basic header - we only need to set the IDs and compression method */
+@@ -30,13 +37,19 @@ namespace GZIP {
+
+ }
+
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
++typedef size_t filter_length_t;
++#else
++typedef u32bit filter_length_t;
++#endif
++
+ /*************************************************
+ * Gzip Compression Filter *
+ *************************************************/
+ class Gzip_Compression : public Filter
+ {
+ public:
+- void write(const byte input[], u32bit length);
++ void write(const byte input[], filter_length_t length);
+ void start_msg();
+ void end_msg();
+ std::string name() const { return "Gzip_Compression"; }
+@@ -60,7 +73,7 @@ class Gzip_Decompression : public Filter
+ class Gzip_Decompression : public Filter
+ {
+ public:
+- void write(const byte input[], u32bit length);
++ void write(const byte input[], filter_length_t length);
+ void start_msg();
+ void end_msg();
+ std::string name() const { return "Gzip_Decompression"; }
+============================================================
+--- src/key_packet.cc d1306df89dd684badac02c03744cd446381c07d3
++++ src/key_packet.cc c97262d161b23c9640972188979669b3e95afe7b
+@@ -106,8 +106,8 @@ namespace
+ void validate_public_key_data(string const & name, string const & keydata) const
+ {
+ string decoded = decode_base64_as<string>(keydata, origin::user);
+- Botan::SecureVector<Botan::byte> key_block;
+- key_block.set(reinterpret_cast<Botan::byte const *>(decoded.c_str()), decoded.size());
++ Botan::SecureVector<Botan::byte> key_block
++ (reinterpret_cast<Botan::byte const *>(decoded.c_str()), decoded.size());
+ try
+ {
+ Botan::X509::load_key(key_block);
+============================================================
+--- src/key_store.cc 64c4c4bed1fadc26b51207b9f61343f9dd7d3c6e
++++ src/key_store.cc b7859345f7c665914d16357409bdff24a48b7996
+@@ -572,13 +572,21 @@ key_store_state::decrypt_private_key(key
+ try // with empty passphrase
+ {
+ Botan::DataSource_Memory ds(kp.priv());
+-#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,7,7)
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
++ pkcs8_key.reset(Botan::PKCS8::load_key(ds, lazy_rng::get(), Dummy_UI()));
++#elif BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,7,7)
+ pkcs8_key.reset(Botan::PKCS8::load_key(ds, lazy_rng::get(), ""));
+ #else
+ pkcs8_key.reset(Botan::PKCS8::load_key(ds, ""));
+ #endif
+ }
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
++ catch (Passphrase_Required & e)
++#elif BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,4)
++ catch (Botan::Invalid_Argument & e)
++#else
+ catch (Botan::Exception & e)
++#endif
+ {
+ L(FL("failed to load key with no passphrase: %s") % e.what());
+
+@@ -605,13 +613,18 @@ key_store_state::decrypt_private_key(key
+ {
+ Botan::DataSource_Memory ds(kp.priv());
+ #if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,7,7)
+- pkcs8_key.reset(Botan::PKCS8::load_key(ds, lazy_rng::get(), phrase()));
++ pkcs8_key.reset(Botan::PKCS8::load_key(ds, lazy_rng::get(),
++ phrase()));
+ #else
+ pkcs8_key.reset(Botan::PKCS8::load_key(ds, phrase()));
+ #endif
+ break;
+ }
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,4)
++ catch (Botan::Invalid_Argument)
++#else
+ catch (Botan::Exception & e)
++#endif
+ {
+ cycles++;
+ L(FL("decrypt_private_key: failure %d to load encrypted key: %s")
+@@ -822,10 +835,14 @@ key_store::decrypt_rsa(key_id const & id
+ plaintext = string(reinterpret_cast<char const*>(plain.begin()),
+ plain.size());
+ }
+- catch (Botan::Exception & ex)
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,4)
++ catch (std::exception & e)
++#else
++ catch (Botan::Exception & e)
++#endif
+ {
+ E(false, ciphertext.made_from,
+- F("Botan error decrypting data: '%s'") % ex.what());
++ F("Botan error decrypting data: '%s'") % e.what());
+ }
+ }
+
+@@ -856,9 +873,9 @@ key_store::make_signature(database & db,
+ {
+ if (agent.connected()) {
+ //grab the monotone public key as an RSA_PublicKey
+- SecureVector<Botan::byte> pub_block;
+- pub_block.set(reinterpret_cast<Botan::byte const *>(key.pub().data()),
+- key.pub().size());
++ SecureVector<Botan::byte> pub_block
++ (reinterpret_cast<Botan::byte const *>(key.pub().data()),
++ key.pub().size());
+ L(FL("make_signature: building %d-byte pub key") % pub_block.size());
+ shared_ptr<X509_PublicKey> x509_key =
+ shared_ptr<X509_PublicKey>(Botan::X509::load_key(pub_block));
+@@ -1031,8 +1048,14 @@ key_store_state::migrate_old_key_pair
+ for (;;)
+ try
+ {
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
++ arc4_key.resize(phrase().size());
++ arc4_key.copy(reinterpret_cast<Botan::byte const *>(phrase().data()),
++ phrase().size());
++#else
+ arc4_key.set(reinterpret_cast<Botan::byte const *>(phrase().data()),
+ phrase().size());
++#endif
+
+ Pipe arc4_decryptor(get_cipher("ARC4", arc4_key, Botan::DECRYPTION));
+
+@@ -1051,7 +1074,11 @@ key_store_state::migrate_old_key_pair
+ #endif
+ break;
+ }
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,4)
++ catch (Botan::Invalid_Argument & e)
++#else
+ catch (Botan::Exception & e)
++#endif
+ {
+ L(FL("migrate_old_key_pair: failure %d to load old private key: %s")
+ % cycles % e.what());
+============================================================
+--- src/monotone.cc a25ecdd170a601db798b63a60add7681609a34c4
++++ src/monotone.cc 764bc9ca406b41d21efd552a0d810bc2849e0588
+@@ -156,27 +156,53 @@ cpp_main(int argc, char ** argv)
+ E(linked_botan_version != BOTAN_VERSION_CODE_FOR(1,7,14), origin::system,
+ F("monotone does not support Botan 1.7.14"));
+
+-#if BOTAN_VERSION_CODE <= BOTAN_VERSION_CODE_FOR(1,7,6)
++ // In Botan 1.9.9, the DataSink_Stream cannot be instantiated per
++ // se. As 1.10.1 is already out, let's simply disable support for
++ // that specific (testing) version of botan.
++ E(linked_botan_version != BOTAN_VERSION_CODE_FOR(1,9,9), origin::system,
++ F("monotone does not support Botan 1.9.9"));
++
++#if BOTAN_VERSION_CODE < BOTAN_VERSION_CODE_FOR(1,7,7)
++ // motonote binary compiled against botan younger than 1.7.7
+ E(linked_botan_version >= BOTAN_VERSION_CODE_FOR(1,6,3), origin::system,
+ F("this monotone binary requires Botan 1.6.3 or newer"));
+- E(linked_botan_version <= BOTAN_VERSION_CODE_FOR(1,7,6), origin::system,
+- F("this monotone binary does not work with Botan newer than 1.7.6"));
+-#elif BOTAN_VERSION_CODE <= BOTAN_VERSION_CODE_FOR(1,7,22)
+- E(linked_botan_version > BOTAN_VERSION_CODE_FOR(1,7,6), origin::system,
++ E(linked_botan_version < BOTAN_VERSION_CODE_FOR(1,7,7), origin::system,
++ F("this monotone binary does not work with Botan 1.7.7 or newer"));
++
++#elif BOTAN_VERSION_CODE < BOTAN_VERSION_CODE_FOR(1,7,22)
++ // motonote binary compiled against botan 1.7.7 - 1.7.21
++ E(linked_botan_version >= BOTAN_VERSION_CODE_FOR(1,7,7), origin::system,
+ F("this monotone binary requires Botan 1.7.7 or newer"));
+- // While compiling against 1.7.22 or newer is recommended, because
+- // it enables new features of Botan, the monotone binary compiled
+- // against Botan 1.7.21 and before should still work with newer Botan
+- // versions, including all of the stable branch 1.8.x.
+- E(linked_botan_version < BOTAN_VERSION_CODE_FOR(1,9,0), origin::system,
+- F("this monotone binary does not work with Botan 1.9.x"));
+-#else
+- E(linked_botan_version > BOTAN_VERSION_CODE_FOR(1,7,22), origin::system,
++ // While compiling against 1.7.22 or newer is recommended, because it
++ // enables new features of Botan, the monotone binary compiled against
++ // Botan 1.7.21 and before should still work with newer Botan version,
++ // including all of the stable branch 1.8.x, up to and including
++ // 1.9.3.
++ E(linked_botan_version < BOTAN_VERSION_CODE_FOR(1,9,4), origin::system,
++ F("this monotone binary does not work with Botan 1.9.4 or newer"));
++
++#elif BOTAN_VERSION_CODE < BOTAN_VERSION_CODE_FOR(1,9,4)
++ // motonote binary compiled against botan 1.7.22 - 1.9.3
++ E(linked_botan_version >= BOTAN_VERSION_CODE_FOR(1,7,22), origin::system,
+ F("this monotone binary requires Botan 1.7.22 or newer"));
+- E(linked_botan_version < BOTAN_VERSION_CODE_FOR(1,9,0), origin::system,
+- F("this monotone binary does not work with Botan 1.9.x"));
++ E(linked_botan_version < BOTAN_VERSION_CODE_FOR(1,9,4), origin::system,
++ F("this monotone binary does not work with Botan 1.9.4 or newer"));
++
++#elif BOTAN_VERSION_CODE < BOTAN_VERSION_CODE_FOR(1,9,11)
++ // motonote binary compiled against botan 1.9.4 - 1.9.10
++#pragma message ( "The resulting monotone binary won't be able to run with any stable release of botan." )
++ E(linked_botan_version >= BOTAN_VERSION_CODE_FOR(1,9,4), origin::system,
++ F("this monotone binary requires Botan 1.9.4 or newer"));
++ E(linked_botan_version < BOTAN_VERSION_CODE_FOR(1,9,11), origin::system,
++ F("this monotone binary does not work with Botan 1.9.11 or newer"));
++
++#else
++ // motonote binary compiled against botan 1.9.11 and newer
++ E(linked_botan_version >= BOTAN_VERSION_CODE_FOR(1,9,11), origin::system,
++ F("this monotone binary requires Botan 1.9.11 or newer"));
+ #endif
+
++
+ app_state app;
+ try
+ {
+============================================================
+--- src/packet.cc f61360ed2524fdf53411bd24d022a2a3c9e6e9c7
++++ src/packet.cc 571ff6eae1d269a146da74f2730b70376957d3bb
+@@ -156,8 +156,8 @@ namespace
+ void validate_public_key_data(string const & name, string const & keydata) const
+ {
+ string decoded = decode_base64_as<string>(keydata, origin::user);
+- Botan::SecureVector<Botan::byte> key_block;
+- key_block.set(reinterpret_cast<Botan::byte const *>(decoded.c_str()), decoded.size());
++ Botan::SecureVector<Botan::byte> key_block
++ (reinterpret_cast<Botan::byte const *>(decoded.c_str()), decoded.size());
+ try
+ {
+ Botan::X509::load_key(key_block);
+@@ -175,7 +175,9 @@ namespace
+ Botan::DataSource_Memory ds(decoded);
+ try
+ {
+-#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,7,7)
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
++ Botan::PKCS8::load_key(ds, lazy_rng::get(), Dummy_UI());
++#elif BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,7,7)
+ Botan::PKCS8::load_key(ds, lazy_rng::get(), string());
+ #else
+ Botan::PKCS8::load_key(ds, string());
+@@ -189,7 +191,11 @@ namespace
+ }
+ // since we do not want to prompt for a password to decode it finally,
+ // we ignore all other exceptions
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
++ catch (Passphrase_Required) {}
++#else
+ catch (Botan::Invalid_Argument) {}
++#endif
+ }
+ void validate_certname(string const & cn) const
+ {
+@@ -460,8 +466,16 @@ read_packets(istream & in, packet_consum
+ return count;
+ }
+
++// Dummy User_Interface implementation for Botan
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
++std::string
++Dummy_UI::get_passphrase(const std::string &, const std::string &,
++ Botan::User_Interface::UI_Result&) const
++{
++ throw Passphrase_Required("Passphrase required");
++}
++#endif
+
+-
+ // Local Variables:
+ // mode: C++
+ // fill-column: 76
+============================================================
+--- src/packet.hh 0a224e6e92f244e2c3e9a5cdb935eb8613d7e85b
++++ src/packet.hh 9c43d30145f0292d6ceda5e717e366fdead5a4d6
+@@ -10,6 +10,10 @@
+ #ifndef __PACKET_HH__
+ #define __PACKET_HH__
+
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
++#include <botan/ui.h>
++#endif
++
+ #include "vocab.hh"
+
+ struct cert;
+@@ -84,8 +88,23 @@ size_t read_packets(std::istream & in, p
+
+ size_t read_packets(std::istream & in, packet_consumer & cons);
+
++#if BOTAN_VERSION_CODE >= BOTAN_VERSION_CODE_FOR(1,9,11)
++// A helper class implementing Botan::User_Interface - which doesn't really
++// interface with the user, but provides the necessary plumbing for Botan.
++//
++// See Botan commit 2d09d7d0cd4bd0e7155d001dd65a4f29103b158c
++typedef std::runtime_error Passphrase_Required;
++
++class Dummy_UI : public Botan::User_Interface
++{
++public:
++ virtual std::string get_passphrase(const std::string &, const std::string &,
++ Botan::User_Interface::UI_Result &) const;
++};
+ #endif
+
++#endif
++
+ // Local Variables:
+ // mode: C++
+ // fill-column: 76
+============================================================
+--- src/sha1.cc 5e1aa972d7c7d66e06320b039989652b830dcd75
++++ src/sha1.cc 42e48b22fd88b25e0d38d4f91e1f13f8a83c7120
+@@ -50,9 +50,12 @@ CMD_HIDDEN(benchmark_sha1, "benchmark_sh
+ Botan::Default_Benchmark_Timer timer;
+ std::map<std::string, double> results =
+ Botan::algorithm_benchmark("SHA-1", milliseconds, timer, rng, af);
++#elif BOTAN_VERSION_CODE < BOTAN_VERSION_CODE_FOR(1,9,11)
++ std::map<std::string, double> results =
++ Botan::algorithm_benchmark("SHA-1", milliseconds, rng, af);
+ #else
+ std::map<std::string, double> results =
+- Botan::algorithm_benchmark("SHA-1", milliseconds, rng, af);
++ Botan::algorithm_benchmark("SHA-1", af, rng, milliseconds, 16);
+ #endif
+
+ for(std::map<std::string, double>::const_iterator i = results.begin();
+============================================================
+--- src/ssh_agent.cc 6d188e7012a0b82f782563b09bbd7adf3f70cf75
++++ src/ssh_agent.cc 4a0dcab873559e934e41c5f220b5434d35600d9b
+@@ -385,9 +385,9 @@ ssh_agent::has_key(const keypair & key)
+ ssh_agent::has_key(const keypair & key)
+ {
+ //grab the monotone public key as an RSA_PublicKey
+- SecureVector<Botan::byte> pub_block;
+- pub_block.set(reinterpret_cast<Botan::byte const *>((key.pub)().data()),
+- (key.pub)().size());
++ SecureVector<Botan::byte> pub_block
++ (reinterpret_cast<Botan::byte const *>((key.pub)().data()),
++ (key.pub)().size());
+ L(FL("has_key: building %d-byte pub key") % pub_block.size());
+ shared_ptr<X509_PublicKey> x509_key =
+ shared_ptr<X509_PublicKey>(Botan::X509::load_key(pub_block));
+============================================================
+--- src/transforms.cc cdfb6854ef4992faba21074145f3c8269b845b11
++++ src/transforms.cc b99278ffe95c0081bf4986bc74d3699c37a52948
+@@ -53,15 +53,16 @@ using Botan::Hash_Filter;
+ // paradigm "must" be used. this program is intended for source code
+ // control and I make no bones about it.
+
+-NORETURN(static inline void error_in_transform(Botan::Exception & e));
++NORETURN(static inline void error_in_transform(std::exception & e));
+
+ static inline void
+-error_in_transform(Botan::Exception & e, origin::type caused_by)
++error_in_transform(std::exception & e, origin::type caused_by)
+ {
+ // these classes can all indicate data corruption
+ if (typeid(e) == typeid(Botan::Encoding_Error)
+ || typeid(e) == typeid(Botan::Decoding_Error)
+ || typeid(e) == typeid(Botan::Stream_IO_Error)
++ || typeid(e) == typeid(Botan::Invalid_Argument)
+ || typeid(e) == typeid(Botan::Integrity_Failure))
+ {
+ // clean up the what() string a little: throw away the
+@@ -107,7 +108,7 @@ error_in_transform(Botan::Exception & e,
+ pipe->process_msg(in); \
+ out = pipe->read_all_as_string(Pipe::LAST_MESSAGE); \
+ } \
+- catch (Botan::Exception & e) \
++ catch (std::exception & e) \
+ { \
+ pipe.reset(new Pipe(new T(carg))); \
+ error_in_transform(e, made_from); \
+@@ -173,7 +174,7 @@ template<> string xform<Botan::Hex_Decod
+ {
+ throw Botan::Decoding_Error(string("invalid hex character '") + (char)c + "'");
+ }
+- catch(Botan::Exception & e)
++ catch(std::exception & e)
+ {
+ error_in_transform(e, made_from);
+ }
+@@ -219,7 +220,7 @@ void pack(T const & in, base64< gzip<T>
+ tmp = pipe->read_all_as_string(Pipe::LAST_MESSAGE);
+ out = base64< gzip<T> >(tmp, in.made_from);
+ }
+- catch (Botan::Exception & e)
++ catch (std::exception & e)
+ {
+ pipe.reset(new Pipe(new Gzip_Compression,
+ new Base64_Encoder));
+@@ -237,7 +238,7 @@ void unpack(base64< gzip<T> > const & in
+ pipe->process_msg(in());
+ out = T(pipe->read_all_as_string(Pipe::LAST_MESSAGE), in.made_from);
+ }
+- catch (Botan::Exception & e)
++ catch (std::exception & e)
+ {
+ pipe.reset(new Pipe(new Base64_Decoder,
+ new Gzip_Decompression));
+@@ -264,7 +265,7 @@ calculate_ident(data const & dat,
+ p->process_msg(dat());
+ ident = id(p->read_all_as_string(Pipe::LAST_MESSAGE), dat.made_from);
+ }
+- catch (Botan::Exception & e)
++ catch (std::exception & e)
+ {
+ p.reset(new Pipe(new Hash_Filter("SHA-160")));
+ error_in_transform(e, dat.made_from);
diff --git a/dev-vcs/monotone/files/monotone-1.0-gcc6.patch b/dev-vcs/monotone/files/monotone-1.0-gcc6.patch
new file mode 100644
index 000000000000..f9e1751e09b9
--- /dev/null
+++ b/dev-vcs/monotone/files/monotone-1.0-gcc6.patch
@@ -0,0 +1,64 @@
+Bug: https://bugs.gentoo.org/594538
+
+--- a/src/cache_logger.hh
++++ b/src/cache_logger.hh
+@@ -23,7 +23,7 @@
+ // if given the empty filename, do nothing
+ explicit cache_logger(std::string const & filename, int max_size);
+
+- bool logging() const { return _impl; }
++ bool logging() const { return static_cast<bool>(_impl); }
+
+ void log_exists(bool exists, int position, int item_count, int est_size) const;
+ void log_touch(bool exists, int position, int item_count, int est_size) const;
+--- a/src/cmd_ws_commit.cc
++++ b/src/cmd_ws_commit.cc
+@@ -1170,7 +1170,7 @@
+ {
+ for (attr_map_t::iterator i = node->attrs.begin();
+ i != node->attrs.end(); ++i)
+- i->second = make_pair(false, "");
++ i->second = make_pair(false, attr_value(""));
+ }
+ else
+ {
+@@ -1179,7 +1179,7 @@
+ E(node->attrs.find(a_key) != node->attrs.end(), origin::user,
+ F("path '%s' does not have attribute '%s'")
+ % path % a_key);
+- node->attrs[a_key] = make_pair(false, "");
++ node->attrs[a_key] = make_pair(false, attr_value(""));
+ }
+
+ cset cs;
+--- a/src/roster.cc
++++ b/src/roster.cc
+@@ -223,7 +223,7 @@
+
+ bool marking_map::contains(node_id nid) const
+ {
+- return _store.get_if_present(nid);
++ return static_cast<bool>(_store.get_if_present(nid));
+ }
+
+ void marking_map::remove_marking(node_id nid)
+@@ -727,7 +727,7 @@
+ bool
+ roster_t::has_node(node_id n) const
+ {
+- return nodes.get_if_present(n);
++ return static_cast<bool>(nodes.get_if_present(n));
+ }
+
+ bool
+@@ -1898,8 +1898,8 @@
+ node_t const &left_node = left_roster.all_nodes().get_if_present(i->first);
+ node_t const &right_node = right_roster.all_nodes().get_if_present(i->first);
+
+- bool exists_in_left = (left_node);
+- bool exists_in_right = (right_node);
++ bool exists_in_left = static_cast<bool>(left_node);
++ bool exists_in_right = static_cast<bool>(right_node);
+
+ if (!exists_in_left && !exists_in_right)
+ mark_new_node(new_rid, n, new_markings);
diff --git a/dev-vcs/monotone/files/monotone-1.0-glibc-2.14-file-handle.patch b/dev-vcs/monotone/files/monotone-1.0-glibc-2.14-file-handle.patch
new file mode 100644
index 000000000000..a6e282232223
--- /dev/null
+++ b/dev-vcs/monotone/files/monotone-1.0-glibc-2.14-file-handle.patch
@@ -0,0 +1,166 @@
+Revision: da62cad10eda55aa233ac124273f3db4f541137a
+Parent: 65bcb8cf8b32f68a5b48629b328f6d65979e58df
+Author: Thomas Moschny <thomas.moschny@gmx.de>
+Date: 07.05.2011 13:32:06
+Branch: net.venge.monotone
+
+Changelog:
+
+* src/rcs_file.cc: Rename struct "file_handle" to "rcs_file_handle"
+ to avoid a name clash with a struct of same name defined by newer
+ glibc's "fcntl.h". For aesthetic reasons, also rename struct
+ "file_source".
+
+References:
+https://code.monotone.ca/p/monotone/source/commit/da62cad10eda55aa233ac124273f3db4f541137a/
+https://bugs.gentoo.org/396651
+
+============================================================
+--- src/rcs_file.cc 885b3fbe7b6cfed78816f0e57cd71d44616213c6
++++ src/rcs_file.cc 03cf68912a4a708545ebce3d415c0e970ddead0b
+@@ -42,12 +42,12 @@ struct
+
+ #ifdef HAVE_MMAP
+ struct
+-file_handle
++rcs_file_handle
+ {
+ string const & filename;
+ off_t length;
+ int fd;
+- file_handle(string const & fn) :
++ rcs_file_handle(string const & fn) :
+ filename(fn),
+ length(0),
+ fd(-1)
+@@ -60,13 +60,13 @@ file_handle
+ if (fd == -1)
+ throw oops("open of " + filename + " failed");
+ }
+- ~file_handle()
++ ~rcs_file_handle()
+ {
+ if (close(fd) == -1)
+ throw oops("close of " + filename + " failed");
+ }
+ };
+-struct file_source
++struct rcs_file_source
+ {
+ string const & filename;
+ int fd;
+@@ -91,7 +91,7 @@ struct file_source
+ ++pos;
+ return good();
+ }
+- file_source(string const & fn,
++ rcs_file_source(string const & fn,
+ int f,
+ off_t len) :
+ filename(fn),
+@@ -104,7 +104,7 @@ struct file_source
+ if (mapping == MAP_FAILED)
+ throw oops("mmap of " + filename + " failed");
+ }
+- ~file_source()
++ ~rcs_file_source()
+ {
+ if (munmap(mapping, length) == -1)
+ throw oops("munmapping " + filename + " failed, after reading RCS file");
+@@ -112,12 +112,12 @@ struct
+ };
+ #elif defined(WIN32)
+ struct
+-file_handle
++rcs_file_handle
+ {
+ string const & filename;
+ off_t length;
+ HANDLE fd;
+- file_handle(string const & fn) :
++ rcs_file_handle(string const & fn) :
+ filename(fn),
+ length(0),
+ fd(NULL)
+@@ -134,7 +134,7 @@ file_handle
+ if (fd == NULL)
+ throw oops("open of " + filename + " failed");
+ }
+- ~file_handle()
++ ~rcs_file_handle()
+ {
+ if (CloseHandle(fd)==0)
+ throw oops("close of " + filename + " failed");
+@@ -142,7 +142,7 @@ struct
+ };
+
+ struct
+-file_source
++rcs_file_source
+ {
+ string const & filename;
+ HANDLE fd,map;
+@@ -167,7 +167,7 @@ file_source
+ ++pos;
+ return good();
+ }
+- file_source(string const & fn,
++ rcs_file_source(string const & fn,
+ HANDLE f,
+ off_t len) :
+ filename(fn),
+@@ -183,7 +183,7 @@ file_source
+ if (mapping==NULL)
+ throw oops("MapViewOfFile of " + filename + " failed");
+ }
+- ~file_source()
++ ~rcs_file_source()
+ {
+ if (UnmapViewOfFile(mapping)==0)
+ throw oops("UnmapViewOfFile of " + filename + " failed");
+@@ -193,7 +193,7 @@ file_source
+ };
+ #else
+ // no mmap at all
+-typedef istream file_source;
++typedef istream rcs_file_source;
+ #endif
+
+ typedef enum
+@@ -220,7 +220,7 @@ static token_type
+ }
+
+ static token_type
+-get_token(file_source & ist,
++get_token(rcs_file_source & ist,
+ string & str,
+ size_t & line,
+ size_t & col)
+@@ -303,14 +303,14 @@ struct parser
+
+ struct parser
+ {
+- file_source & ist;
++ rcs_file_source & ist;
+ rcs_file & r;
+ string token;
+ token_type ttype;
+
+ size_t line, col;
+
+- parser(file_source & s,
++ parser(rcs_file_source & s,
+ rcs_file & r)
+ : ist(s), r(r), line(1), col(1)
+ {}
+@@ -489,8 +489,8 @@ parse_rcs_file(string const & filename,
+ parse_rcs_file(string const & filename, rcs_file & r)
+ {
+ #if defined(HAVE_MMAP) || defined(WIN32)
+- file_handle handle(filename);
+- file_source ifs(filename, handle.fd, handle.length);
++ rcs_file_handle handle(filename);
++ rcs_file_source ifs(filename, handle.fd, handle.length);
+ #else
+ ifstream ifs(filename.c_str());
+ ifs.unsetf(ios_base::skipws);
diff --git a/dev-vcs/monotone/files/monotone-1.0-pcre3.patch b/dev-vcs/monotone/files/monotone-1.0-pcre3.patch
new file mode 100644
index 000000000000..932538e38a4b
--- /dev/null
+++ b/dev-vcs/monotone/files/monotone-1.0-pcre3.patch
@@ -0,0 +1,26 @@
+Author: Francis Russell
+Bug-Debian: http://bugs.debian.org/665448
+Description: The test 'syntax_errors_in_.mtn-ignore' from the monotone
+ test suite contains a .mtn-ignore file which contains a number of
+ regular expressions. Some of these are intended to match and fail to
+ match the names of files created by the test harness. The rest have
+ invalid syntax and should be ignored.
+ .
+ One regex, '(?<=\C)' is presumably intended to be invalid, but with
+ the most recent version of pcre3 matches most files and therefore
+ causes the test to fail. In fact, it appears to be a valid regex that
+ performs a positive look behind to match a single data unit (usually a
+ byte, even in UTF mode). This patch removes the problematic regex until
+ the issue can be addressed upstream.
+Index: monotone-1.0/test/func/syntax_errors_in_.mtn-ignore/mtn-ignore
+===================================================================
+--- monotone-1.0.orig/test/func/syntax_errors_in_.mtn-ignore/mtn-ignore 2011-03-26 06:41:05.000000000 +0000
++++ monotone-1.0/test/func/syntax_errors_in_.mtn-ignore/mtn-ignore 2012-03-25 20:02:37.695875219 +0100
+@@ -21,7 +21,6 @@
+ [[:fnord:]]
+ \\x{123456}
+ (?(0))
+-(?<=\C)
+ \l
+ (?C256)
+ (?C1
diff --git a/dev-vcs/monotone/files/monotone-1.0-texinfo-5.1.patch b/dev-vcs/monotone/files/monotone-1.0-texinfo-5.1.patch
new file mode 100644
index 000000000000..cb457b547d19
--- /dev/null
+++ b/dev-vcs/monotone/files/monotone-1.0-texinfo-5.1.patch
@@ -0,0 +1,625 @@
+Fixes build issue with texinfo-5.1
+https://bugs.gentoo.org/show_bug.cgi?id=483122
+
+============================================================
+--- doc/monotone.texi fcc02ef992214968bfbdd4a1f968846535de22f7
++++ doc/monotone.texi 4feaab5a3c304a6a465402d6069d214137d63198
+@@ -4845,7 +4845,7 @@ @subsection Global Options
+ Cancel all previous @option{--rcfile} options (standard rcfiles are
+ still loaded). See @ref{rcfiles}.
+
+-@itemx --root <arg>
++@item --root <arg>
+ Limit the search for a workspace to the specified root directory
+
+ @item --ssh-sign <arg>
+@@ -6247,7 +6247,7 @@ @section Informative
+ the root directory of the specified path (or the workspace, if no path
+ is given).
+
+-@itemx mtn list vars [@var{domain}]
++@item mtn list vars [@var{domain}]
+ @itemx mtn ls vars
+ @command{ls vars} is an alias for @command{list vars}.
+
+============================================================
+--- doc/pcrepattern.texi 43ef52850c1fd113b8a21d63634bafe61b3aec45
++++ doc/pcrepattern.texi 7ae6fb9367a2410c588230742d63ff4f83daa909
+@@ -74,32 +74,32 @@ @subsubheading Characters and Metacharac
+ brackets, the metacharacters are as follows:
+
+ @table @code
+-@itemx \
++@item \
+ general escape character with several uses
+-@itemx ^
++@item ^
+ assert start of string (or line, in multiline mode)
+-@itemx $
++@item $
+ assert end of string (or line, in multiline mode)
+-@itemx .
++@item .
+ match any character except newline (by default)
+-@itemx [
++@item [
+ start character class definition
+-@itemx |
++@item |
+ start of alternative branch
+-@itemx (
++@item (
+ start subpattern
+-@itemx )
++@item )
+ end subpattern
+-@itemx ?
++@item ?
+ extends the meaning of @samp{(}
+ also 0 or 1 quantifier
+ also quantifier minimizer
+-@itemx *
++@item *
+ 0 or more quantifier
+-@itemx +
++@item +
+ 1 or more quantifier
+ also ``possessive quantifier''
+-@itemx @{
++@item @{
+ start min/max quantifier
+ @end table
+
+@@ -108,16 +108,16 @@ @subsubheading Characters and Metacharac
+ class". In a character class the only metacharacters are:
+
+ @table @code
+-@itemx \
++@item \
+ general escape character
+-@itemx ^
++@item ^
+ negate the class, but only if the first character
+-@itemx -
++@item -
+ indicates character range
+-@itemx [
++@item [
+ POSIX character class (only if followed by POSIX
+ syntax)
+-@itemx ]
++@item ]
+ terminates the character class
+ @end table
+
+@@ -159,25 +159,25 @@ @subsubheading Non-printing Characters
+ represents:
+
+ @table @code
+-@itemx \a
++@item \a
+ alarm, that is, the BEL character (hex 07)
+-@itemx \c@var{x}
++@item \c@var{x}
+ "control-@var{x}", where @var{x} is any character
+-@itemx \e
++@item \e
+ escape (hex 1B)
+-@itemx \f
++@item \f
+ formfeed (hex 0C)
+-@itemx \n
++@item \n
+ linefeed (hex 0A)
+-@itemx \r
++@item \r
+ carriage return (hex 0D)
+-@itemx \t
++@item \t
+ tab (hex 09)
+-@itemx \@var{ddd}
++@item \@var{ddd}
+ character with octal code @var{ddd}, or backreference
+-@itemx \x@var{hh}
++@item \x@var{hh}
+ character with hex code @var{hh}
+-@itemx \x@{@var{hhh...}@}
++@item \x@{@var{hhh...}@}
+ character with hex code @var{hhh...}
+ @end table
+
+@@ -244,27 +244,27 @@ @subsubheading Non-printing Characters
+ @samp{\777} are permitted. For example:
+
+ @table @code
+-@itemx \040
++@item \040
+ is another way of writing a space
+-@itemx \40
++@item \40
+ is the same, provided there are fewer than 40
+ previous capturing subpatterns
+-@itemx \7
++@item \7
+ is always a back reference
+-@itemx \11
++@item \11
+ might be a back reference, or another way of
+ writing a tab
+-@itemx \011
++@item \011
+ is always a tab
+-@itemx \0113
++@item \0113
+ is a tab followed by the character @samp{3}
+-@itemx \113
++@item \113
+ might be a back reference, otherwise the
+ character with octal code 113
+-@itemx \377
++@item \377
+ might be a back reference, otherwise
+ the byte consisting entirely of 1 bits
+-@itemx \81
++@item \81
+ is either a back reference, or a binary zero
+ followed by the two characters @samp{8} and @samp{1}
+ @end table
+@@ -294,25 +294,25 @@ @subsubheading Generic character types
+ following are always recognized:
+
+ @table @code
+-@itemx \d
++@item \d
+ any decimal digit
+-@itemx \D
++@item \D
+ any character that is not a decimal digit
+-@itemx \h
++@item \h
+ any horizontal whitespace character
+-@itemx \H
++@item \H
+ any character that is not a horizontal whitespace character
+-@itemx \s
++@item \s
+ any whitespace character
+-@itemx \S
++@item \S
+ any character that is not a whitespace character
+-@itemx \v
++@item \v
+ any vertical whitespace character
+-@itemx \V
++@item \V
+ any character that is not a vertical whitespace character
+-@itemx \w
++@item \w
+ any ``word'' character
+-@itemx \W
++@item \W
+ any ``non-word'' character
+ @end table
+
+@@ -342,43 +342,43 @@ @subsubheading Generic character types
+ characters are:
+
+ @table @code
+-@itemx U+0009
++@item U+0009
+ Horizontal tab
+-@itemx U+0020
++@item U+0020
+ Space
+-@itemx U+00A0
++@item U+00A0
+ Non-break space
+-@itemx U+1680
++@item U+1680
+ Ogham space mark
+-@itemx U+180E
++@item U+180E
+ Mongolian vowel separator
+ @item U+2000
+ En quad
+-@itemx U+2001
++@item U+2001
+ Em quad
+-@itemx U+2002
++@item U+2002
+ En space
+-@itemx U+2003
++@item U+2003
+ Em space
+-@itemx U+2004
++@item U+2004
+ Three-per-em space
+-@itemx U+2005
++@item U+2005
+ Four-per-em space
+-@itemx U+2006
++@item U+2006
+ Six-per-em space
+ @item U+2007
+ Figure space
+-@itemx U+2008
++@item U+2008
+ Punctuation space
+-@itemx U+2009
++@item U+2009
+ Thin space
+-@itemx U+200A
++@item U+200A
+ Hair space
+-@itemx U+202F
++@item U+202F
+ Narrow no-break space
+-@itemx U+205F
++@item U+205F
+ Medium mathematical space
+-@itemx U+3000
++@item U+3000
+ Ideographic space
+ @end table
+
+@@ -386,19 +386,19 @@ @subsubheading Generic character types
+ The vertical space characters are:
+
+ @table @code
+-@itemx U+000A
++@item U+000A
+ Linefeed
+-@itemx U+000B
++@item U+000B
+ Vertical tab
+-@itemx U+000C
++@item U+000C
+ Formfeed
+-@itemx U+000D
++@item U+000D
+ Carriage return
+-@itemx U+0085
++@item U+0085
+ Next line
+-@itemx U+2028
++@item U+2028
+ Line separator
+-@itemx U+2029
++@item U+2029
+ Paragraph separator
+ @end table
+
+@@ -418,15 +418,15 @@ @subsubheading Newline Conventions
+ the following five sequences:
+
+ @table @code
+-@itemx (*CR)
++@item (*CR)
+ carriage return
+-@itemx (*LF)
++@item (*LF)
+ linefeed
+-@itemx (*CRLF)
++@item (*CRLF)
+ carriage return, followed by linefeed
+-@itemx (*ANYCRLF)
++@item (*ANYCRLF)
+ any of the three above
+-@itemx (*ANY)
++@item (*ANY)
+ all Unicode newline sequences
+ @end table
+
+@@ -474,9 +474,9 @@ @subsubheading Newline Sequences
+ pattern string with one of the following sequences:
+
+ @table @code
+-@itemx (*BSR_ANYCRLF)
++@item (*BSR_ANYCRLF)
+ @key{CR}, @key{LF}, or @key{CR}@key{LF} only
+-@itemx (*BSR_UNICODE)
++@item (*BSR_UNICODE)
+ any Unicode newline sequence (the default)
+ @end table
+
+@@ -501,11 +501,11 @@ @subsubheading Unicode Character Propert
+ 256, but they do work in this mode. The extra escape sequences are:
+
+ @table @code
+-@itemx \p@{@var{xx}@}
++@item \p@{@var{xx}@}
+ a character with the @var{xx} property
+-@itemx \P@{@var{xx}@}
++@item \P@{@var{xx}@}
+ a character without the @var{xx} property
+-@itemx \X
++@item \X
+ an extended Unicode sequence
+ @end table
+
+@@ -618,83 +618,83 @@ @subsubheading Unicode Character Propert
+ @table @code
+ @item C
+ Other
+-@itemx Cc
++@item Cc
+ Control
+-@itemx Cf
++@item Cf
+ Format
+-@itemx Cn
++@item Cn
+ Unassigned
+-@itemx Co
++@item Co
+ Private use
+-@itemx Cs
++@item Cs
+ Surrogate
+
+ @item L
+ Letter
+-@itemx Ll
++@item Ll
+ Lower case letter
+-@itemx Lm
++@item Lm
+ Modifier letter
+-@itemx Lo
++@item Lo
+ Other letter
+-@itemx Lt
++@item Lt
+ Title case letter
+-@itemx Lu
++@item Lu
+ Upper case letter
+
+ @item M
+ Mark
+-@itemx Mc
++@item Mc
+ Spacing mark
+-@itemx Me
++@item Me
+ Enclosing mark
+-@itemx Mn
++@item Mn
+ Non-spacing mark
+
+ @item N
+ Number
+-@itemx Nd
++@item Nd
+ Decimal number
+-@itemx Nl
++@item Nl
+ Letter number
+-@itemx No
++@item No
+ Other number
+
+ @item P
+ Punctuation
+-@itemx Pc
++@item Pc
+ Connector punctuation
+-@itemx Pd
++@item Pd
+ Dash punctuation
+-@itemx Pe
++@item Pe
+ Close punctuation
+-@itemx Pf
++@item Pf
+ Final punctuation
+-@itemx Pi
++@item Pi
+ Initial punctuation
+-@itemx Po
++@item Po
+ Other punctuation
+-@itemx Ps
++@item Ps
+ Open punctuation
+
+ @item S
+ Symbol
+-@itemx Sc
++@item Sc
+ Currency symbol
+-@itemx Sk
++@item Sk
+ Modifier symbol
+-@itemx Sm
++@item Sm
+ Mathematical symbol
+-@itemx So
++@item So
+ Other symbol
+
+ @item Z
+ Separator
+-@itemx Zl
++@item Zl
+ Line separator
+-@itemx Zp
++@item Zp
+ Paragraph separator
+-@itemx Zs
++@item Zs
+ Space separator
+ @end table
+
+@@ -771,18 +771,18 @@ @subsubheading Simple assertions
+ described below. The backslashed assertions are:
+
+ @table @code
+-@itemx \b
++@item \b
+ matches at a word boundary
+-@itemx \B
++@item \B
+ matches when not at a word boundary
+-@itemx \A
++@item \A
+ matches at the start of the subject
+-@itemx \Z
++@item \Z
+ matches at the end of the subject
+ also matches before a newline at the end of the subject
+-@itemx \z
++@item \z
+ matches only at the end of the subject
+-@itemx \G
++@item \G
+ matches at the first matching position in the subject
+ @end table
+
+@@ -993,33 +993,33 @@ @subsubheading POSIX Character Classes
+ supported class names are
+
+ @table @code
+-@itemx alnum
++@item alnum
+ letters and digits
+-@itemx alpha
++@item alpha
+ letters
+-@itemx ascii
++@item ascii
+ character codes 0 -- 127
+-@itemx blank
++@item blank
+ space or tab only
+-@itemx cntrl
++@item cntrl
+ control characters
+-@itemx digit
++@item digit
+ decimal digits (same as @samp{\d})
+-@itemx graph
++@item graph
+ printing characters, excluding space
+-@itemx lower
++@item lower
+ lower case letters
+-@itemx print
++@item print
+ printing characters, including space
+-@itemx punct
++@item punct
+ printing characters, excluding letters and digits
+-@itemx space
++@item space
+ white space (not quite the same as @samp{\s})
+-@itemx upper
++@item upper
+ upper case letters
+-@itemx word
++@item word
+ ``word'' characters (same as @samp{\w})
+-@itemx xdigit
++@item xdigit
+ hexadecimal digits
+ @end table
+
+@@ -1071,22 +1071,22 @@ @subsubheading Internal Option Setting
+ @samp{)}. The option letters are
+
+ @table @code
+-@itemx i
++@item i
+ Caseless: characters in one case match the corresponding
+ characters in other cases as well.
+-@itemx m
++@item m
+ Multiline: @samp{^} and @samp{$} match at newlines
+ as well as at beginning and end of string.
+-@itemx s
++@item s
+ Dotall: dot matches any character, including newline characters.
+-@itemx x
++@item x
+ Extended syntax: unescaped white space is ignored and embedded
+ comments are possible.
+-@itemx J
++@item J
+ Dupnames: names for capturing subpattern need not be unique.
+-@itemx U
++@item U
+ Ungreedy: quantifiers match as few times as possible by default.
+-@itemx X
++@item X
+ Extra: for forward compatibility, give an error if any escape sequence
+ with no defined meaning appears.
+ @end table
+@@ -1358,11 +1358,11 @@ @subsubheading Repetition
+ single-character abbreviations:
+
+ @table @code
+-@itemx *
++@item *
+ is equivalent to @{0,@}
+-@itemx +
++@item +
+ is equivalent to @{1,@}
+-@itemx ?
++@item ?
+ is equivalent to @{0,1@}
+ @end table
+
+@@ -2302,7 +2302,7 @@ @subsubheading Verbs that act immediatel
+ The following verbs act as soon as they are encountered:
+
+ @table @code
+-@itemx (*ACCEPT)
++@item (*ACCEPT)
+
+ This verb causes the match to end successfully, skipping the remainder
+ of the pattern. When inside a recursion, only the innermost pattern is
+@@ -2317,7 +2317,7 @@ @subsubheading Verbs that act immediatel
+ This matches @samp{AB}, @samp{AAD}, or @samp{ACD}, but when it matches
+ @samp{AB}, no data is captured.
+
+-@itemx (*FAIL) @r{or} (*F)
++@item (*FAIL) @r{or} (*F)
+
+ This verb causes the match to fail, forcing backtracking to occur. It
+ is equivalent to @samp{(?!)} but easier to read. It is not clear
+@@ -2334,7 +2334,7 @@ @subsubheading Verbs that act after back
+ occurs.
+
+ @table @code
+-@itemx (*COMMIT)
++@item (*COMMIT)
+
+ This verb causes the whole match to fail outright if the rest of the
+ pattern does not match. Even if the pattern is unanchored, no further
+@@ -2350,7 +2350,7 @@ @subsubheading Verbs that act after back
+ This matches @samp{xxaab} but not @samp{aacaab}. It can be thought of
+ as a kind of dynamic anchor, or ``I've started, so I must finish.''
+
+-@itemx (*PRUNE)
++@item (*PRUNE)
+
+ This verb causes the match to fail at the current position if the rest
+ of the pattern does not match. If the pattern is unanchored, the
+@@ -2363,7 +2363,7 @@ @subsubheading Verbs that act after back
+ are some uses of @code{(*PRUNE)} that cannot be expressed in any other
+ way.
+
+-@itemx (*SKIP)
++@item (*SKIP)
+
+ This verb is like @code{(*PRUNE)}, except that if the pattern is
+ unanchored, the "bumpalong" advance is not to the next character, but
+@@ -2383,7 +2383,7 @@ @subsubheading Verbs that act after back
+ attempt would start at the second character instead of skipping on to
+ @samp{c}.
+
+-@itemx (*THEN)
++@item (*THEN)
+
+ This verb causes a skip to the next alternation if the rest of the
+ pattern does not match. That is, it cancels pending backtracking, but
diff --git a/dev-vcs/monotone/files/monotone.confd b/dev-vcs/monotone/files/monotone.confd
new file mode 100644
index 000000000000..717725431717
--- /dev/null
+++ b/dev-vcs/monotone/files/monotone.confd
@@ -0,0 +1,25 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# The commented variables in this file are the defaults that are used
+
+# in the init-script. You don't need to uncomment them except to
+# customize them to different values.
+
+# Location of the served database
+#MTN_DB="/var/lib/monotone/default.mtn"
+
+# Server identification
+#MTN_KEY="monotone@`hostname --fqdn`"
+#MTN_PWD=""
+
+# User and group as which to run monotone
+#MTN_USER="monotone"
+#MTN_GROUP="monotone"
+
+# The address and or port (ADDRESS[:PORT]) monotone should listen on
+#MTN_ADDRESS=0.0.0.0
+
+# Advanced options
+#MTN_CONFDIR=/etc/monotone
+#MTN_KEYDIR=/var/lib/monotone/keys
diff --git a/dev-vcs/monotone/files/read-permissions b/dev-vcs/monotone/files/read-permissions
new file mode 100644
index 000000000000..d08200aa0059
--- /dev/null
+++ b/dev-vcs/monotone/files/read-permissions
@@ -0,0 +1,7 @@
+pattern "net.example.project.{private,security}*"
+allow "joe@example.net"
+allow "jim@example.net"
+
+comment "everyone can read these branches"
+pattern "net.example.{public,project}*"
+allow "*"
diff --git a/dev-vcs/monotone/files/write-permissions b/dev-vcs/monotone/files/write-permissions
new file mode 100644
index 000000000000..1b138c7fc6c0
--- /dev/null
+++ b/dev-vcs/monotone/files/write-permissions
@@ -0,0 +1,2 @@
+joe@example.net
+jim@example.net
diff --git a/dev-vcs/monotone/metadata.xml b/dev-vcs/monotone/metadata.xml
new file mode 100644
index 000000000000..fd524bde49c9
--- /dev/null
+++ b/dev-vcs/monotone/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <longdescription>A free distributed version control system. It provides a simple,
+single-file transactional version store, with fully disconnected
+operation and an efficient peer-to-peer synchronization
+protocol. It understands history-sensitive merging, lightweight
+branches, integrated code review and 3rd party testing. It uses
+cryptographic version naming and client-side RSA certificates. It
+has good internationalization support, has no external
+dependencies, runs on linux, solaris, OSX, windows, and other
+unixes, and is licensed under the GNU GPL.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-vcs/monotone/monotone-1.0-r4.ebuild b/dev-vcs/monotone/monotone-1.0-r4.ebuild
new file mode 100644
index 000000000000..16d77a02eb42
--- /dev/null
+++ b/dev-vcs/monotone/monotone-1.0-r4.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# QA failiures reported in https://code.monotone.ca/p/monotone/issues/181/
+EAPI="4"
+inherit bash-completion-r1 elisp-common eutils toolchain-funcs user
+
+DESCRIPTION="Monotone Distributed Version Control System"
+HOMEPAGE="http://monotone.ca"
+SRC_URI="http://monotone.ca/downloads/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="1"
+KEYWORDS="amd64 ~ia64 x86"
+IUSE="doc ipv6 nls test"
+
+RDEPEND="sys-libs/zlib
+ >=dev-libs/libpcre-7.6
+ >=dev-libs/botan-1.8.0:0
+ >=dev-db/sqlite-3.3.8
+ >=dev-lang/lua-5.1
+ net-dns/libidn"
+DEPEND="${RDEPEND}
+ >=dev-libs/boost-1.33.1
+ nls? ( >=sys-devel/gettext-0.11.5 )
+ doc? ( sys-apps/texinfo )
+ test? ( dev-tcltk/expect
+ app-shells/bash-completion )"
+
+pkg_setup() {
+ enewgroup monotone
+ enewuser monotone -1 -1 /var/lib/monotone monotone
+}
+
+src_prepare() {
+ if [[ $(gcc-major-version) -lt "3" ||
+ ( $(gcc-major-version) -eq "3" && $(gcc-minor-version) -le 3 ) ]]; then
+ die 'requires >=gcc-3.4'
+ fi
+ epatch "${FILESDIR}/monotone-1.0-bash-completion-tests.patch"
+ epatch "${FILESDIR}/monotone-1.0-botan-1.10-v2.patch"
+ epatch "${FILESDIR}/monotone-1.0-glibc-2.14-file-handle.patch"
+ epatch "${FILESDIR}/monotone-1.0-boost-1.53.patch"
+ epatch "${FILESDIR}/monotone-1.0-pcre3.patch"
+ epatch "${FILESDIR}/monotone-1.0-texinfo-5.1.patch"
+ epatch "${FILESDIR}/monotone-1.0-gcc6.patch"
+}
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ $(use_enable ipv6)
+}
+
+src_compile() {
+ emake
+ use doc && emake html
+}
+
+src_test() {
+ # Disables netsync_bind_opt test
+ # https://code.monotone.ca/p/monotone/issues/179/
+ export DISABLE_NETWORK_TESTS=true
+ if [[ ${UID} != 0 ]]; then
+ emake check
+ else
+ ewarn "Tests will fail if ran as root, skipping."
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ mv "${ED}"/usr/share/doc/${PN} "${ED}"/usr/share/doc/${PF} || die
+
+ rm "${ED}"/etc/bash_completion.d/monotone.bash_completion || die
+ newbashcomp extra/shell/monotone.bash_completion ${PN}
+
+ if use doc; then
+ dohtml -r doc/html/*
+ dohtml -r doc/figures
+ fi
+
+ dodoc AUTHORS NEWS README* UPGRADE
+ docinto contrib
+ docompress -x /usr/share/doc/${PF}/contrib
+ dodoc -r contrib
+ newconfd "${FILESDIR}"/monotone.confd monotone
+ newinitd "${FILESDIR}"/${PN}-0.36.initd monotone
+
+ insinto /etc/monotone
+ newins "${FILESDIR}"/hooks.lua hooks.lua
+ newins "${FILESDIR}"/read-permissions read-permissions
+ newins "${FILESDIR}"/write-permissions write-permissions
+
+ keepdir /var/lib/monotone/keys/ /var/{log,run}/monotone
+ fowners monotone:monotone /var/lib/monotone{,/keys} /var/{log,run}/monotone
+}
+
+pkg_postinst() {
+ elog
+ elog "For details and instructions to upgrade from previous versions,"
+ elog "please read /usr/share/doc/${PF}/UPGRADE.bz2"
+ elog
+ elog " 1. edit /etc/conf.d/monotone"
+ elog " 2. import the first keys to enable access with"
+ elog " env HOME=\${homedir} mtn pubkey me@example.net | /etc/init.d/monotone import"
+ elog " Thereafter, those with write permission can add other keys via"
+ elog " netsync with 'monotone push --key-to-push=IDENT' and then IDENT"
+ elog " can be used in the read-permission and write-permission files."
+ elog " 3. adjust permisions in /etc/monotone/read-permissions"
+ elog " and /etc/monotone/write-permissions"
+ elog " 4. start the daemon: /etc/init.d/monotone start"
+ elog " 5. make persistent: rc-update add monotone default"
+ elog
+}
diff --git a/dev-vcs/mr/Manifest b/dev-vcs/mr/Manifest
new file mode 100644
index 000000000000..9f976eb2bbaa
--- /dev/null
+++ b/dev-vcs/mr/Manifest
@@ -0,0 +1,6 @@
+DIST mr-1.20170129.tar.gz 56344 SHA256 1a00a2839240c73f0ad47fe434ff02a50fbfb63ce2d27d2ac1adc46709fb910f SHA512 bb0c79d6cf94b5bc0dfbddde599dc26610df12ed3178ba854a0695b06aad48bda6eb30e31f3a7e5f7d1706081bdc46dbe3f4d8f1bca933adf264f935dc2b3674 WHIRLPOOL e84f0a717e824d34dc8d16a1830a5d9b337888362d137d68e73534a7fae5b817c8300df6b762145236251475298e752fc8fd8e635232ffc6f61e09c742113837
+EBUILD mr-1.20170129.ebuild 582 SHA256 a7b46dd02d94b1f99936458e665e5cfe15c5f37776809fe743fb443382bf0245 SHA512 4a1ceca4e4ed0c33e8b440101d827f0f4ff0edaaf2b51307b09032df3d4184711f1a4480200d9a99d41255086cc864082aae838de231eff2647dfd7e7559264e WHIRLPOOL cef2b2675355ac762f1b4339ac598fb6d107a7eb45f2e6a03e82903eaa8976b32397071b059ba198f7da12bbb69dc50696b74ac853e9f2a1318282d10864e085
+EBUILD mr-1.99999999.ebuild 583 SHA256 c6719b33129f59363263cab441e6aa82a1ded77170fcc2b6aa64b0c880f8e96c SHA512 d823aaf42d687cbfe30f6e8f671d6f3f831c5678dba172de9687211ba88cd75ab41cc40c966fd3655667ce876a97148c16ceb08010766c5607c9995a45a53888 WHIRLPOOL ae50ad02ae10cd440e6449031fdc98d1fe8285bfdf57170de1ab1fcfe8fb936160a222ab53604e1ccbbc30a0c1136fc63b531facfaec55adb0a68987add7238c
+MISC ChangeLog 3090 SHA256 18ef7fd7092c626ef92eaf11d4ce7f099e59e530ad19f58b15e119546083ad5b SHA512 e7881fc8186cc354a32889f7c0f2a79f463cd41d5b4a82c3d94c0c1a4c4cf0641ebc7d6858840078a66f338e02e84bbcb5d09906c1f3020d97aed4c99bd85d7a WHIRLPOOL cb015c2af822a103c37f99eb547cacd42a22cedabe18c475033e7466beb447ca899732d3d92acf52f59c361d8abee515887b4424f52374834ed94558e107454d
+MISC ChangeLog-2015 3666 SHA256 426659c9adb3fa2e3ed31a8c0de7fb250848ef8a50be40eb1325f4347185b8a5 SHA512 b9099c5bd2174014421440179aba40fef0e54ab566338acc00a70b65e1141f31a09388a0fbddfbb752b6d66d05c4f0037482ee1eccfdb8a634a3310ee0678e65 WHIRLPOOL 25c18b6816dcc0b272fe0ed1c215eafac774f9d0ef806930358464d50097b9c055167b8451fca4b710c6d3d27e2426b1629dc8918f3e382444bb4d6ff1477620
+MISC metadata.xml 1289 SHA256 a62584fcd5debd7cce770b1d6ce255dad134207eaf6b4559a47b7435c4a476ea SHA512 7596c462fad4ea6839fafd613cd3fcba078ab4de1ca114360414dbb82075fe4cc03e7ad4f7cbed49fedcd49e76d80c1bd13290746f988d7abb5c248cb6a5ad36 WHIRLPOOL 371b23fce21f87ad74380aed6b4bea2bcf3764320e31e236d9a1738c716914c9fde27997ba27b9880bb06495f360e3c0b0a292596d0d63d8fbf3888c4e939d37
diff --git a/dev-vcs/mr/metadata.xml b/dev-vcs/mr/metadata.xml
new file mode 100644
index 000000000000..816a43e4d8f0
--- /dev/null
+++ b/dev-vcs/mr/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <longdescription lang="en">
+ The mr(1) command can checkout, update, or perform other actions on a
+ set of repositories as if they were one combined respository. It
+ supports any combination of git, svn, mercurial, bzr, darcs, cvs, vcsh,
+ fossil, and veracity repositories, and support for other version control
+ systems can easily be added. (There are extensions adding support for unison
+ and git-svn.)
+
+ It is extremely configurable via simple shell scripting. Some examples
+ of things it can do include:
+
+ * Update a repository no more frequently than once every twelve hours.
+ * Run an arbitrary command before committing to a repository.
+ * When updating a git repository, pull from two different upstreams
+ and merge the two together.
+ * Run several repository updates in parallel, greatly speeding up
+ the update process.
+ * Remember actions that failed due to a laptop being offline,
+ so they can be retried when it comes back online.
+
+ This package also includes the webcheckout command.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-vcs/mr/mr-1.20170129.ebuild b/dev-vcs/mr/mr-1.20170129.ebuild
new file mode 100644
index 000000000000..3abb2b7eddb4
--- /dev/null
+++ b/dev-vcs/mr/mr-1.20170129.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Multiple Repository management tool"
+HOMEPAGE="https://myrepos.branchable.com/"
+SRC_URI="https://dev.gentoo.org/~tamiko/distfiles/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-lang/perl"
+RDEPEND="${DEPEND}
+ dev-perl/libwww-perl
+ dev-perl/HTML-Parser"
+
+src_install() {
+ dobin mr webcheckout
+ doman mr.1 webcheckout.1
+ dodoc README debian/changelog \
+ mrconfig mrconfig.complex
+ insinto /usr/share/${PN}
+ doins lib/*
+}
diff --git a/dev-vcs/mr/mr-1.99999999.ebuild b/dev-vcs/mr/mr-1.99999999.ebuild
new file mode 100644
index 000000000000..b366a34e942e
--- /dev/null
+++ b/dev-vcs/mr/mr-1.99999999.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit git-r3
+
+DESCRIPTION="Multiple Repository management tool"
+HOMEPAGE="https://myrepos.branchable.com/"
+SRC_URI=""
+EGIT_REPO_URI="git://myrepos.branchable.com/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND="dev-lang/perl"
+RDEPEND="${DEPEND}
+ dev-perl/libwww-perl
+ dev-perl/HTML-Parser"
+
+src_install() {
+ dobin mr webcheckout
+ doman mr.1 webcheckout.1
+ dodoc README debian/changelog \
+ mrconfig mrconfig.complex
+ insinto /usr/share/${PN}
+ doins lib/*
+}
diff --git a/dev-vcs/notify-webhook/Manifest b/dev-vcs/notify-webhook/Manifest
new file mode 100644
index 000000000000..431d978bb4e4
--- /dev/null
+++ b/dev-vcs/notify-webhook/Manifest
@@ -0,0 +1,5 @@
+DIST notify-webhook-0.1.0.tar.gz 17525 SHA256 3782f588e75872e7dd25656279bab154102c476dd3b1fa24fb3af66475960d55 SHA512 1694f32b1263baecac473ffa49e6e7f9cbfdb73d1abaa88e228771e28a5ed915d9f5f21ab26b05934bdcd8694b4c4f1506763dd2f0c89c35ffa51e1d1b7d03b4 WHIRLPOOL 908e3b7e61ac8893c064d95566ee504bea1689f227ca900c27e3189e4e5be0fbe1409b24c3002feb1ee05aa85364cd2fcb620f0c4a7cdcbb1ce3c53d81bf412f
+EBUILD notify-webhook-0.1.0.ebuild 655 SHA256 6eb5b3bfb7eafa35d8dec67652d8a31079780c31fe2285234e9a9a3b959c4899 SHA512 16ba094c3d211d3551a6296fe9788ccb2f7d61b1d7e1dcd7efba8115da3082e734d75ec706f0801b6c3983b5854b7d2e8babbb58bec1ff4ffd5e00ae4441ea13 WHIRLPOOL c1136937dc225b4ab30ce68eb92d3043d7cecc35dc3069befefab76e8968c182f6ccdfb44a7afa8c7f16dab6c6e580cb7fc82471644cdb9bb7fc37d27e997337
+MISC ChangeLog 2539 SHA256 0ec14376352a33d8345f99274dfeda8a0f8e7777bdcf43bb403d6b43ba52e94e SHA512 c16bf1888fc6730286d2f9f712fdab036a02d47b3eae83a1dab6d4a71f217ffab647d4dca0842ca7b799d76f548916440f44c5e87ca747082dba60b976c96a17 WHIRLPOOL 3fcd969ef3c33fe116dc538714403772602109a5b8e7a15edad705620be91ccbd00941eeb28c2c8811f12a17d7ed7c2109372019c82935248fc28532083ab125
+MISC ChangeLog-2015 598 SHA256 6a038251bbfc41b5a1e86c13a1dc3984386606ee8baef541afc285a6500afd09 SHA512 3719c33fecbf69fdaf22e97a2bae6bdf04753388b0ace7c6b6514e89e51d72c656637b215134f6b653b3c3649e3eef004954f240d3ce36b344cf5bea73c0bea1 WHIRLPOOL d3e8ad4247c1861362f25f51ba62f57c7c8fc604b8929a13f21fcca5e1a990a0a25dd550d234015a17084a139dbf8025d954ebe43eda9c4ca8bcb423a503076e
+MISC metadata.xml 604 SHA256 d77239ce5671e439366a8adff16c92b8e7f54b3fb8e5fdd88e7e7d2821e63ae1 SHA512 6f7c5737772f1d4511d6809f91892b34b2c3153bf06a94ebac1fdc02d0a59623655624d5dd15a8b5b5919cec63bb100f8aa28e3cb75ee8550e9bb4f95269e0b0 WHIRLPOOL 340ed58317379967f62bc9f7e307c34abead0d0f9c69548acc488dbddfbb83cc07406f6010a2a06c1e2f015a53e02341fb7667d708560b3d97afc1021c1ed1bb
diff --git a/dev-vcs/notify-webhook/metadata.xml b/dev-vcs/notify-webhook/metadata.xml
new file mode 100644
index 000000000000..2ac5d4996908
--- /dev/null
+++ b/dev-vcs/notify-webhook/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ notify-webhook is a git post-receive hook script that posts JSON data to a
+ webhook capable server.
+
+ This implements the GitHub Web hooks API as closely as possible. It allows
+ arbitrary git repositories to use webhook capable services.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">metajack/notify-webhook</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/notify-webhook/notify-webhook-0.1.0.ebuild b/dev-vcs/notify-webhook/notify-webhook-0.1.0.ebuild
new file mode 100644
index 000000000000..5b121749659c
--- /dev/null
+++ b/dev-vcs/notify-webhook/notify-webhook-0.1.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_{4,5} pypy3 )
+
+DESCRIPTION="Git post-receive web hook notifier in Python."
+HOMEPAGE="https://github.com/metajack/notify-webhook"
+#COMMIT='c571160f155122446e97bb01c1150b4d14ea69d6'
+SRC_URI="https://github.com/metajack/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/simplejson"
+RDEPEND="${DEPEND}"
+
+#MY_P="${PN}-${COMMIT}"
+#S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ dodoc *markdown
+ exeinto /usr/libexec/githook/$PN/
+ doexe notify-webhook.py
+}
diff --git a/dev-vcs/pwclient/Manifest b/dev-vcs/pwclient/Manifest
new file mode 100644
index 000000000000..889ddce3e02c
--- /dev/null
+++ b/dev-vcs/pwclient/Manifest
@@ -0,0 +1,10 @@
+AUX pwclient-20141110122616-0001-pwclient-handle-missing-.pwclientrc-better.patch 1812 SHA256 a2129f1981f5800639d03e9422427a9f598137242b68816c23c0ccb6df9d6e7f SHA512 8d712a184d8dceb5eeb69596a65072f6b23ec998f78878b795574464aed1811764d7cb35ea50a36f0f1d8cb0cddb4ed2fb0fe9532b55a4d4992df648fbf2b974 WHIRLPOOL b85967c75410b31a0efc23b51563c510e02a3740c46a5dbb6dbf2d308a76f50e98f2ea5ada5c6718d77845852545fca335c45f64b99985da5fb275c06b09ab51
+AUX pwclient-20141110122616-0002-pwclient-use-print_function-for-better-py3-compatibi.patch 4005 SHA256 86fe8e27157010ef5671bb732fe701aaeaf82b02272a38f0a83064884d83d0da SHA512 6bd87392b99a6339f71ab0ed47115a63a5ed43c0d3c1b8b56e2fdfd77ebb8f8692ae3074c6e858f44b1de5d9bd439042b9d50fa38c90712b62d524e4cfcb8ba3 WHIRLPOOL 5d622757836d1696f14f10e47465f167606d56fdc443e84804e02e06a916db85bf9acbb7551ee5483abe49c84edf4956b3ca283d8644904699b7fa08b083eb75
+AUX pwclient-20141110122616-0003-pwclient-basic-python3-support.patch 4223 SHA256 8e9137c5c59c062a7b34f4cb35eed1ac47fcbfa1d01eb9b2c08e8c04ce419723 SHA512 be178e4f303ff777ed870a029561802e2294a53feed1e9bbf546b0947cc1ae0ca5ede44c6e73018c1a3370e3df388f5dc921459d9f0730f1152078ff439acaab WHIRLPOOL bd410d422a555906f03d454ee6ed73bf644f56dff2319fe4f51b15d365e210d0c85c62f08ee955b640720bda7532a593f49a6f181288b0546bf94e63641cc42d
+DIST pwclient-20121105131501 15497 SHA256 4818caef545d24ee4f17e28f2297c0317321a3acc892fb38b304e28b64342cc2 SHA512 07e70ec8ba2bd3a048cd9c5d5c8f8e142358608f462befc10388651c658d46660ce71cbc24eec09c908112dd38761febc8dfbee0c5a56f325eca8129e190ed1c WHIRLPOOL e97f88498774d13a2d21a38fb2a6cd63903f350870eb6d577a4e7383f9b58044307fae837d53b6946337ff5ef53815d12613830da0b6d241d06685056b53ac6d
+DIST pwclient-20141110122616 23527 SHA256 5b13aad2cba051d38a3f80f50480e903c001f737302ec371b29247e3ec6fb396 SHA512 4933b7c5b4129d5fa1e47fa09dd8a75e5e5aac3254d8ed4bb65f8e7363d082217deecf8fc99f53092b607c49eebf9144e335079472a790a0193d0c6cddcf433f WHIRLPOOL 2689190853cb37f2be3c6db9fb67d4cdb4b2e927c388b2f916d2a0d26ea2156466ebdef4b9fbb57f928050026dccaff0686ab9c258b497374c2a3eaccd1249cb
+EBUILD pwclient-20121105131501.ebuild 912 SHA256 26c1cd2e1a9d64856815121d147a254ff5944e82003a7e4a5d7ef0219ff98871 SHA512 aeaeb3c64f16983e47c891cc2a1635923097126e406dd4d8373316af8b29622f6cc2968d540c4561394dde06cb07d21157944194d2f6234821f8a420727c2841 WHIRLPOOL f895e8de052951934cb23b9430e8bf3b65286fdb693ca2e2b767f3068a26ba833b0098f2bd111802c14a216c252595f042d0f22da43e9b654eb370f384d89f55
+EBUILD pwclient-20141110122616.ebuild 1053 SHA256 7bbfa0814ae58cfa7cbb51e69b956c9db996cb02f542a29130478337872b0270 SHA512 84d3287c8dfc3bd0c408b09a0cce78db126fd123dad760e6cd7f7837ab282367d1635a7d447f1d18ecb49676181e213f15c96a4acb1912f6f82d84ec1a3e975e WHIRLPOOL 20b05cef70bed061b8d7add3245c0076bc59cb1385181ab450ded630dc4bdd9d7492d871fbdab9a40926d1cb6e83d76f9f7e91a16082d62bf22a729b15626671
+MISC ChangeLog 2677 SHA256 b5df91c938dfdbae87afaa0b9555f3716ae3aac46c6cbb1599a087abacec26fb SHA512 16c3419daf94899ff776fbf57d75feadef4b707f7431fca6a4c3ad05a55883ad5d6e6bdb063ed02d622541d4d50fd15e0e9bfaf7543cabed3a1981f8dea5d25e WHIRLPOOL a115bc1af7b06651bc6fa3bec2bb19b5928226c54d0ffac93128c856228ea77b4b49303993ce4d1974453bc23357a2dc8e91ec7f0d72e01d9dcb543947917cd1
+MISC ChangeLog-2015 928 SHA256 9b2f18f0a25c1a1b18eee70af27460c465b2046a496c67e925710d402f219b08 SHA512 3045bf0c4977a1c7023ec7c576ae683b18ea33747e8e271f1c185ad653b71a11f3199a8409a1d187cfbe0cad8eaab4f8cb97bb56b70687713b6880492f750678 WHIRLPOOL 6b061d1bde230258afb3d9e643aafee1be2518fe8806a0287ed3c3cb6f60c54d4486f09dbb328c900fc7ba6072786d4ed855eb07a283f855f13e5dfbe2f3632c
+MISC metadata.xml 214 SHA256 d6339a92715ade5f609951c445c03024adbfecbca53a9cb232c6838c8ded201e SHA512 ac8342ba1f8eaf027f23e677b348b4da59f5d6b0d9ddf434def5413c6f7c9b3d803fe2c8141fd7aaf8c8d9ac2a0fe800e3d0c41017c28dbd9104e34f83ca24f7 WHIRLPOOL 5c05dce3362f17da9c9478ea9ad10b392d6fb5ec493b4904abff61ebc4e4b838fd5f77abfbea0f9ccd334027105ada679f392cd1a0940d3a28f0c6af1c99e375
diff --git a/dev-vcs/pwclient/files/pwclient-20141110122616-0001-pwclient-handle-missing-.pwclientrc-better.patch b/dev-vcs/pwclient/files/pwclient-20141110122616-0001-pwclient-handle-missing-.pwclientrc-better.patch
new file mode 100644
index 000000000000..43e2606efa67
--- /dev/null
+++ b/dev-vcs/pwclient/files/pwclient-20141110122616-0001-pwclient-handle-missing-.pwclientrc-better.patch
@@ -0,0 +1,45 @@
+From 601e1362d63293ca567295f63cb52bcfeb5d9959 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@chromium.org>
+Date: Tue, 5 May 2015 23:19:57 -0400
+Subject: [PATCH 1/3] pwclient: handle missing ~/.pwclientrc better
+
+The upgrade path will crash if ~/.pwclientrc doesn't exist, so add an
+explicit check for the file before we try to "upgrade" it.
+
+The default error messages don't mention the config file, so it can be
+a bit confusing what pwclient is complaining about when running.
+
+Signed-off-by: Mike Frysinger <vapier@chromium.org>
+---
+ apps/patchwork/bin/pwclient | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/apps/patchwork/bin/pwclient b/apps/patchwork/bin/pwclient
+index 2a80981..56aa909 100755
+--- a/apps/patchwork/bin/pwclient
++++ b/apps/patchwork/bin/pwclient
+@@ -552,7 +552,7 @@ def main():
+ config = ConfigParser.ConfigParser()
+ config.read([CONFIG_FILE])
+
+- if not config.has_section('options'):
++ if not config.has_section('options') and os.path.exists(CONFIG_FILE):
+ sys.stderr.write('~/.pwclientrc is in the old format. Migrating it...')
+
+ old_project = config.get('base','project')
+@@ -590,10 +590,10 @@ def main():
+ sys.exit(1)
+
+ if not config.has_section(project_str):
+- sys.stderr.write("No section for project %s\n" % project_str)
++ sys.stderr.write('No section for project %s in ~/.pwclientrc\n' % project_str)
+ sys.exit(1)
+ if not config.has_option(project_str, 'url'):
+- sys.stderr.write("No URL for project %s\n" % project_str)
++ sys.stderr.write('No URL for project %s in ~/.pwclientrc\n' % project_str)
+ sys.exit(1)
+ if not do_signoff and config.has_option('options', 'signoff'):
+ do_signoff = config.getboolean('options', 'signoff')
+--
+2.4.0
+
diff --git a/dev-vcs/pwclient/files/pwclient-20141110122616-0002-pwclient-use-print_function-for-better-py3-compatibi.patch b/dev-vcs/pwclient/files/pwclient-20141110122616-0002-pwclient-use-print_function-for-better-py3-compatibi.patch
new file mode 100644
index 000000000000..70f54a7aed3a
--- /dev/null
+++ b/dev-vcs/pwclient/files/pwclient-20141110122616-0002-pwclient-use-print_function-for-better-py3-compatibi.patch
@@ -0,0 +1,101 @@
+From 0991ccb0e7c0be66e087839f88a7120394c2f052 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@chromium.org>
+Date: Tue, 5 May 2015 23:54:16 -0400
+Subject: [PATCH 2/3] pwclient: use print_function for better py3 compatibility
+
+The script already tries to use print like a function in many places but
+is really passing a parenthesized string. Import the print_function from
+the future module so that it actually works as intended.
+
+We also need to fix up a few latent print statements to make it work.
+
+Signed-off-by: Mike Frysinger <vapier@chromium.org>
+---
+ apps/patchwork/bin/pwclient | 26 ++++++++++++++------------
+ 1 file changed, 14 insertions(+), 12 deletions(-)
+
+diff --git a/apps/patchwork/bin/pwclient b/apps/patchwork/bin/pwclient
+index 56aa909..2e6daa5 100755
+--- a/apps/patchwork/bin/pwclient
++++ b/apps/patchwork/bin/pwclient
+@@ -19,6 +19,8 @@
+ # along with Patchwork; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
++from __future__ import print_function
++
+ import os
+ import sys
+ import xmlrpclib
+@@ -170,9 +172,9 @@ def action_list(rpc, filter, submitter_str, delegate_str, format_str=None):
+ else:
+ for id in ids:
+ person = rpc.person_get(id)
+- print "Patches submitted by %s <%s>:" % \
+- (unicode(person['name']).encode("utf-8"), \
+- unicode(person['email']).encode("utf-8"))
++ print('Patches submitted by %s <%s>:' %
++ (unicode(person['name']).encode('utf-8'),
++ unicode(person['email']).encode('utf-8')))
+ f = filter
+ f.add("submitter_id", id)
+ patches = rpc.patch_list(f.d)
+@@ -187,8 +189,8 @@ def action_list(rpc, filter, submitter_str, delegate_str, format_str=None):
+ else:
+ for id in ids:
+ person = rpc.person_get(id)
+- print "Patches delegated to %s <%s>:" % \
+- (person['name'], person['email'])
++ print('Patches delegated to %s <%s>:' %
++ (person['name'], person['email']))
+ f = filter
+ f.add("delegate_id", id)
+ patches = rpc.patch_list(f.d)
+@@ -245,7 +247,7 @@ def action_get(rpc, patch_id):
+ try:
+ f.write(unicode(s).encode("utf-8"))
+ f.close()
+- print "Saved patch to %s" % fname
++ print('Saved patch to %s' % fname)
+ except:
+ sys.stderr.write("Failed to write to %s\n" % fname)
+ sys.exit(1)
+@@ -258,13 +260,13 @@ def action_apply(rpc, patch_id, apply_cmd=None):
+ sys.exit(1)
+
+ if apply_cmd is None:
+- print "Applying patch #%d to current directory" % patch_id
++ print('Applying patch #%d to current directory' % patch_id)
+ apply_cmd = ['patch', '-p1']
+ else:
+- print "Applying patch #%d using %s" % (
+- patch_id, repr(' '.join(apply_cmd)))
++ print('Applying patch #%d using %s' %
++ (patch_id, repr(' '.join(apply_cmd))))
+
+- print "Description: %s" % patch['name']
++ print('Description: %s' % patch['name'])
+ s = rpc.patch_get_mbox(patch_id)
+ if len(s) > 0:
+ proc = subprocess.Popen(apply_cmd, stdin = subprocess.PIPE)
+@@ -295,7 +297,7 @@ def action_update_patch(rpc, patch_id, state = None, commit = None):
+ success = False
+ try:
+ success = rpc.patch_set(patch_id, params)
+- except xmlrpclib.Fault, f:
++ except xmlrpclib.Fault as f:
+ sys.stderr.write("Error updating patch: %s\n" % f.faultString)
+
+ if not success:
+@@ -668,7 +670,7 @@ def main():
+ for patch_id in non_empty(h, patch_ids):
+ s = rpc.patch_get_mbox(patch_id)
+ if len(s) > 0:
+- print unicode(s).encode("utf-8")
++ print(unicode(s).encode('utf-8'))
+
+ elif action == 'info':
+ for patch_id in non_empty(h, patch_ids):
+--
+2.4.0
+
diff --git a/dev-vcs/pwclient/files/pwclient-20141110122616-0003-pwclient-basic-python3-support.patch b/dev-vcs/pwclient/files/pwclient-20141110122616-0003-pwclient-basic-python3-support.patch
new file mode 100644
index 000000000000..da75ac1d3e1a
--- /dev/null
+++ b/dev-vcs/pwclient/files/pwclient-20141110122616-0003-pwclient-basic-python3-support.patch
@@ -0,0 +1,125 @@
+From fcbd40fe7fa3fbdc5ffb386c5c7b72a8704e7136 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@chromium.org>
+Date: Wed, 6 May 2015 00:12:02 -0400
+Subject: [PATCH 3/3] pwclient: basic python3 support
+
+This fixes a few random issues to make the script work at least somewhat
+under python 3:
+- set the default encoding to utf-8
+- handle xmlrpclib/xmlrpc.client module renames
+- handle ConfigParser/configparser module renames
+- add a unicode() stub for python 3
+- fix old style class definition w/Filter
+- use list comprehension instead of map()
+- drop the unused version= keyword w/argparse
+
+The code still runs under python 2 the same as before, and now works for
+the most part under python 3 -- the handling of encoded content still needs
+some work, but that'll require more surgery, and is best left to another
+commit after this.
+
+Signed-off-by: Mike Frysinger <vapier@chromium.org>
+---
+ apps/patchwork/bin/pwclient | 31 +++++++++++++++++++++++--------
+ 1 file changed, 23 insertions(+), 8 deletions(-)
+
+diff --git a/apps/patchwork/bin/pwclient b/apps/patchwork/bin/pwclient
+index 2e6daa5..5080a17 100755
+--- a/apps/patchwork/bin/pwclient
++++ b/apps/patchwork/bin/pwclient
+@@ -1,4 +1,5 @@
+ #!/usr/bin/env python
++# -*- coding: utf-8 -*-
+ #
+ # Patchwork command line client
+ # Copyright (C) 2008 Nate Case <ncase@xes-inc.com>
+@@ -23,16 +24,31 @@ from __future__ import print_function
+
+ import os
+ import sys
+-import xmlrpclib
++try:
++ import xmlrpclib
++except ImportError:
++ # Python 3 has merged/renamed things.
++ import xmlrpc.client as xmlrpclib
+ import argparse
+ import string
+ import tempfile
+ import subprocess
+ import base64
+-import ConfigParser
++try:
++ import ConfigParser
++except ImportError:
++ # Python 3 has renamed things.
++ import configparser as ConfigParser
+ import shutil
+ import re
+
++# Add a shim for Python 2's unicode() helper.
++try:
++ unicode
++except NameError:
++ # Python 3 does everything by unicode now.
++ unicode = str
++
+ # Default Patchwork remote XML-RPC server URL
+ # This script will check the PW_XMLRPC_URL environment variable
+ # for the URL to access. If that is unspecified, it will fallback to
+@@ -40,7 +56,7 @@ import re
+ DEFAULT_URL = "http://patchwork/xmlrpc/"
+ CONFIG_FILE = os.path.expanduser('~/.pwclientrc')
+
+-class Filter:
++class Filter(object):
+ """Filter for selecting patches."""
+ def __init__(self):
+ # These fields refer to specific objects, so they are special
+@@ -135,7 +151,7 @@ def person_ids_by_name(rpc, name):
+ if len(name) == 0:
+ return []
+ people = rpc.person_list(name, 0)
+- return map(lambda x: x['id'], people)
++ return [x['id'] for x in people]
+
+ def list_patches(patches, format_str=None):
+ """Dump a list of patches to stdout."""
+@@ -352,7 +368,7 @@ class _RecursiveHelpAction(argparse._HelpAction):
+ parser.exit()
+
+ def main():
+- hash_parser = argparse.ArgumentParser(add_help=False, version=False)
++ hash_parser = argparse.ArgumentParser(add_help=False)
+ hash_parser.add_argument(
+ '-h', metavar='HASH', dest='hash', action='store',
+ help='''Lookup by patch hash'''
+@@ -362,7 +378,7 @@ def main():
+ help='Patch ID',
+ )
+
+- filter_parser = argparse.ArgumentParser(add_help=False, version=False)
++ filter_parser = argparse.ArgumentParser(add_help=False)
+ filter_parser.add_argument(
+ '-s', metavar='STATE',
+ help='''Filter by patch state (e.g., 'New', 'Accepted', etc.)'''
+@@ -397,7 +413,7 @@ def main():
+ 'patch_name', metavar='STR', nargs='?',
+ help='substring to search for patches by name',
+ )
+- help_parser = argparse.ArgumentParser(add_help=False, version=False)
++ help_parser = argparse.ArgumentParser(add_help=False)
+ help_parser.add_argument(
+ '--help', action='help', help=argparse.SUPPRESS,
+ #help='''show this help message and exit'''
+@@ -406,7 +422,6 @@ def main():
+ action_parser = argparse.ArgumentParser(
+ prog='pwclient',
+ add_help=False,
+- version=False,
+ formatter_class=argparse.RawDescriptionHelpFormatter,
+ epilog='''(apply | get | info | view | update) (-h HASH | ID [ID ...])''',
+ )
+--
+2.4.0
+
diff --git a/dev-vcs/pwclient/metadata.xml b/dev-vcs/pwclient/metadata.xml
new file mode 100644
index 000000000000..1021f53d6e8c
--- /dev/null
+++ b/dev-vcs/pwclient/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>vapier@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/pwclient/pwclient-20121105131501.ebuild b/dev-vcs/pwclient/pwclient-20121105131501.ebuild
new file mode 100644
index 000000000000..446896a4d4e5
--- /dev/null
+++ b/dev-vcs/pwclient/pwclient-20121105131501.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+# The PV comes from:
+# git clone ${EGIT_REPO_URI}
+# cd patchwork
+# EGIT_COMMIT=$(git log -n1 --format=%H apps/patchwork/bin/pwclient)
+# date --date="$(git log -n1 --format=%ci ${EGIT_COMMIT})" -u +%Y%m%d%H%M%S
+EGIT_REPO_URI="git://ozlabs.org/home/jk/git/patchwork"
+EGIT_COMMIT="bc695f5a7e0a2dd184dc0eae7a923be24b1b1723"
+
+DESCRIPTION="command line utility for interacting with patchwork repos"
+HOMEPAGE="http://jk.ozlabs.org/projects/patchwork/"
+SRC_URI="http://repo.or.cz/w/patchwork.git/blob_plain/${EGIT_COMMIT}:/apps/patchwork/bin/pwclient -> ${P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+RDEPEND="dev-lang/python"
+
+S=${WORKDIR}
+
+src_unpack() { :; }
+
+src_install() {
+ newbin "${DISTDIR}"/${P} ${PN}
+}
diff --git a/dev-vcs/pwclient/pwclient-20141110122616.ebuild b/dev-vcs/pwclient/pwclient-20141110122616.ebuild
new file mode 100644
index 000000000000..327b429fd3e1
--- /dev/null
+++ b/dev-vcs/pwclient/pwclient-20141110122616.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit eutils python-r1
+
+# The PV comes from:
+# git clone ${EGIT_REPO_URI}
+# cd patchwork
+# EGIT_COMMIT=$(git log -n1 --format=%H apps/patchwork/bin/pwclient)
+# date --date="$(git log -n1 --format=%ci ${EGIT_COMMIT})" -u +%Y%m%d%H%M%S
+EGIT_REPO_URI="git://ozlabs.org/home/jk/git/patchwork"
+EGIT_COMMIT="8904a7dcaf959da8db4a9a5d92b91a61eed05201"
+
+DESCRIPTION="command line utility for interacting with patchwork repos"
+HOMEPAGE="http://jk.ozlabs.org/projects/patchwork/"
+SRC_URI="mirror://gentoo/${P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}
+
+src_unpack() {
+ cp "${DISTDIR}"/${P} ${PN} || die
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-*.patch
+}
+
+src_install() {
+ python_setup
+ python_doscript ${PN}
+}
diff --git a/dev-vcs/qbzr/Manifest b/dev-vcs/qbzr/Manifest
new file mode 100644
index 000000000000..824608511698
--- /dev/null
+++ b/dev-vcs/qbzr/Manifest
@@ -0,0 +1,5 @@
+DIST qbzr-0.23.1.tar.gz 817769 SHA256 3211adef11c975dfbb6c80285651e2e6f3bfa99f1baa1a95371e8490ea8ff441 SHA512 05d05c2cf5e94d4a58d88d04bd3dd4ff13d977126d728683273990801733bc0dfb07388838e466117961a83c6e08454b7a8bdaca975ca19f7ecff729d97b4bd2 WHIRLPOOL 359f23ccaee972652c535ca238e7ee1a6781b5bc348aa291105bc1bb1211c98b2ebdf78d81d89659d6ff8c523ee3fcea9102a3a83f18c3e0a5b677b304a739b2
+EBUILD qbzr-0.23.1.ebuild 1134 SHA256 992842d9ad10337a0c11183c16f32eb09942a416b2e16dc4178b2e5d523bf530 SHA512 cb1570e39061ca4e1aec5d9170e1df8bac3fb91ca0d76801ce771a01e558a8b0e8a359fd79326de2668ec12afe59843a02dc77b241cd48190759483892b5fb18 WHIRLPOOL 6dd83dbaef8b4920190cadc3af484a50f16e4d48e9c4da928776d6808f0710c9bb38529d1abed7a6083d2243caa39c68cfd02e7c6fea15921a424f0fd8a45d65
+MISC ChangeLog 2653 SHA256 568d2268e33d496150254e6499e4ad70f1acd66ef9127dabd02568e6fc059bfd SHA512 f4657ce0bfc5a8dba077a2587c1e034899e6514b209748867c8aeeea1945f56770681a5eaa0266f99d4cafdedfb97f7d7e93171857fed1ac0a2986e8421d70a9 WHIRLPOOL 15eed3b480133057a6e7ed10dd31fe7d73f20ba8e6d1a43a24064e85adbafd5c16d9fa71ccb8b4eda3fa36c5cd686d33d4d651af0db6899fa1890646a37b8650
+MISC ChangeLog-2015 8490 SHA256 5759727d15b55dd2a20398939b1259d7ee229f17bf6669462a5b860e832f1a70 SHA512 21c147d7384b88e77c76cdf8eab0fcd6be33870e49d23dc780914ddb968ac794ed9a44a6c3301e6014d4c243421a8ac5112ca2636d576c5b7d21ca72290d2cf2 WHIRLPOOL edabb84f5c96588af858051e8dd35a70dea2f7a186e8f54140bce024f0fda6ef299ac68ff66ea72cbcba2868dd920b503bdad2a47006737a63ee7e2f5d89e582
+MISC metadata.xml 239 SHA256 8b6512c0fc7d18c17eb5557e6e64c97bd139ced950e7ba48a3496fbb6fd75fd3 SHA512 a625b90890f182201fb6cef6afa9305161966e774e7ffae231415b4594ad57110363856b9a1204af24726c49a3792a2a38122d44f58cab3b5e085e9d74f7a14d WHIRLPOOL 78105ad088076ea8f753d737b28d4e531dc45fa299d5dda06e876667397870015f7d4d30d53a303777f5faa1621fb04194b0f0f471ba3ddfbde4db31c95a00f9
diff --git a/dev-vcs/qbzr/metadata.xml b/dev-vcs/qbzr/metadata.xml
new file mode 100644
index 000000000000..59bc1c728c67
--- /dev/null
+++ b/dev-vcs/qbzr/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="launchpad">qbzr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/qbzr/qbzr-0.23.1.ebuild b/dev-vcs/qbzr/qbzr-0.23.1.ebuild
new file mode 100644
index 000000000000..e8d20da1bc6b
--- /dev/null
+++ b/dev-vcs/qbzr/qbzr-0.23.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 versionator
+
+DESCRIPTION="Qt frontend for Bazaar"
+HOMEPAGE="https://launchpad.net/qbzr"
+SRC_URI="https://edge.launchpad.net/qbzr/$(get_version_component_range 1-2)/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ppc x86"
+IUSE=""
+
+# bzr version comes from NEWS file. It's lowest version required for some
+# features to work.
+DEPEND=">=dev-vcs/bzr-2.5
+ >=dev-python/PyQt4-4.1[X]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+DOCS=( AUTHORS.txt NEWS.txt README.txt TODO.txt )
+
+src_test() {
+ elog "It's impossible to run tests at this point. If you wish to run tests"
+ elog "after installation of ${PN} execute:"
+ elog " $ bzr selftest -s bzrlib.plugins.qbzr"
+}
+
+pkg_postinst() {
+ elog
+ elog "To enable spellchecking in qcommit, please, install >=dev-python/pyenchant-1.5.0"
+ elog " # emerge -a >=dev-python/pyenchant-1.5.0"
+ elog "To enable syntax highlighting, please, install dev-python/pygments"
+ elog " # emerge -a dev-python/pygments"
+}
diff --git a/dev-vcs/qct/Manifest b/dev-vcs/qct/Manifest
new file mode 100644
index 000000000000..52babd588c26
--- /dev/null
+++ b/dev-vcs/qct/Manifest
@@ -0,0 +1,6 @@
+AUX qct.rc 25 SHA256 bd57baa16b844bacc1b191cf055c2bbd412e4dffeaab14d597651bb669910d0f SHA512 61bda2332e9a9400ecbcd134a65b3a286291690afed67b91ac6773d16b23e6c3ea1615601b6a1bf79bed76b681455941ae2260167d3844c197db83bafa1a8e09 WHIRLPOOL 6d63e5594648408042aa2c1fbb703c4df40a7cf80c673f594f49be23be9fbb8f87c22a39c3b169868cda876e802ac8b400cc54b37e9385ad515665e2081dae36
+DIST qct-1.7.tar.gz 56658 SHA256 06e9969f6c8a08b67f289bc0e95b4f4469d6adbf1aa0bed0f0cc8c5bdea222d0 SHA512 85f8b6bcd5c4081ba17da1bc7e17d0036ec10d9133ed5383adbca16f81b8550d6f137e34636c20f3d03b7cedca75467daa057022374866b4e2ab18aaf7d4b6d2 WHIRLPOOL 1b806fdf090e8465e0c36e5ce6d6879d9cdc43f8906b1a13c72c6f1806c40fff6a1a77b0db59a60b9566e4ac785192a8ab498103bef249ee560899b0c05b0e2a
+EBUILD qct-1.7-r2.ebuild 1575 SHA256 ab37659ba02b630e0ceaee291a0b249b4747873c9c8897438906625d8bbe3c46 SHA512 0e71028620a7aef2e13514f9b24c3b5376bf019bf845a5d0c07e1400a0d854bccb10f2e7b8d8b194a6d3436cc69ba55dc5923d3f937a8dbb8acc80824187e891 WHIRLPOOL 5b4a657de77f58ff66cb0c7d6f7d51018dcc6125122fe36e6845ca76cf2e1d15910f2836b34b84ad721dcbd46b237c8b1f877eb10499a3f61c8d153649d2fa10
+MISC ChangeLog 2977 SHA256 1853327c0ba9f82737980cfb209bef6f40c0038c1375a3644badd9c8a01a849d SHA512 4e6b78e1e2f98c271ff9f189aecac6e7677f8874a7ea09fd9598a4da087e04892517504fb84803b58de988e49fd656c3f4028fed9fc6600fa52c79ac0786032a WHIRLPOOL bff07c40769636aada478e50e77032a2dbeeba6ab06aa2b948b42d6574a8ba09ca7d17a8084f484386e5431ea1c4153f789c28cf84676ce1beee38ae8570478a
+MISC ChangeLog-2015 1711 SHA256 a28e1499b5112885ec25dd6e00d308cff88ab12574b67feba94131d4d2bfdbbd SHA512 d502707b80b8efd6393386fb69d24ef9a6ebabb86c7eb60d3f9592956c308aceba1bee546fd2b1d8ae22f0745f1f9a526eb34469a1c931ff4705fd71fa88dd0c WHIRLPOOL ac0b4c0bd05342d4ba21005ad6a786a02446fdb9b2e7b43cdc1db053edc9046c25538410095adc9cf83878c0be93362e729a11264e41db127813b9eb9bfc84da
+MISC metadata.xml 597 SHA256 05dbdfc90796e3785670cf06f805b8c1291da1937c41dc5e1b14e9594e4d02d4 SHA512 a56e77e545176d386731a8ce14936505a62208d58a4210d50a01379181fc24a6b853e5f698ef6a4824038f475668cba7b83184cbe0cc13acd0fcbb4668fe42f3 WHIRLPOOL 24a77e362adca6eca0b43f8d967dff7090c046e238ff02f3a77fa1fa6b1978c2d9e5211c0860637dbbacc90260a444c1f9be865f184b1687adabfd4d4fe8bfc6
diff --git a/dev-vcs/qct/files/qct.rc b/dev-vcs/qct/files/qct.rc
new file mode 100644
index 000000000000..3ab69befa3c5
--- /dev/null
+++ b/dev-vcs/qct/files/qct.rc
@@ -0,0 +1,3 @@
+[extensions]
+hgext.qct=
+
diff --git a/dev-vcs/qct/metadata.xml b/dev-vcs/qct/metadata.xml
new file mode 100644
index 000000000000..d821bbf0b013
--- /dev/null
+++ b/dev-vcs/qct/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <use>
+ <flag name="bazaar">
+ Support for <pkg>dev-vcs/bzr</pkg>
+ </flag>
+ <flag name="mercurial">
+ Support for <pkg>dev-vcs/mercurial</pkg>
+ </flag>
+ <flag name="monotone">
+ Support for <pkg>dev-vcs/monotone</pkg>
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">qct</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/qct/qct-1.7-r2.ebuild b/dev-vcs/qct/qct-1.7-r2.ebuild
new file mode 100644
index 000000000000..0093c1bb1ff4
--- /dev/null
+++ b/dev-vcs/qct/qct-1.7-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+DESCRIPTION="PyQt based commit tool for many VCSs"
+HOMEPAGE="http://qct.sourceforge.net/"
+SRC_URI="http://qct.sourceforge.net/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="bazaar cvs mercurial monotone subversion"
+
+DEPEND="
+ app-text/asciidoc
+ app-text/xmlto
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ bazaar? ( dev-vcs/bzr[${PYTHON_USEDEP}] )
+ cvs? ( dev-vcs/cvs )
+ mercurial? ( dev-vcs/mercurial[${PYTHON_USEDEP}] )
+ monotone? ( dev-vcs/monotone )
+ subversion? ( dev-vcs/subversion[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+python_prepare_all() {
+ # support for git requires cogito which isn't in portage
+ rm qctlib/vcs/{p4,git,cg}.py || die
+
+ declare -A delfiles=([bazaar]=bzr [cvs]=cvs [mercurial]=hg [monotone]=mtn [subversion]=svn)
+ local i
+ for i in "${!delfiles[@]}"; do
+ if ! use $i; then
+ rm qctlib/vcs/${delfiles[$i]}.py || die
+ fi
+ done
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # manpage and html docs are built using asciidoc
+ emake -C doc man html
+ HTML_DOCS=( doc/qct.1.html )
+}
+
+python_install_all() {
+ doman doc/qct.1
+
+ if use bazaar; then
+ python_moduleinto bzrlib/plugins
+ python_domodule plugins/qctBzrPlugin.py
+ fi
+
+ if use mercurial; then
+ python_moduleinto hgext
+ python_domodule hgext/qct.py
+
+ insinto /etc/mercurial/hgrc.d
+ doins "${FILESDIR}/qct.rc"
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-vcs/qgit/Manifest b/dev-vcs/qgit/Manifest
new file mode 100644
index 000000000000..0b5468e0461d
--- /dev/null
+++ b/dev-vcs/qgit/Manifest
@@ -0,0 +1,5 @@
+DIST qgit-2.7.tar.gz 259624 SHA256 183d116b2fb38c6a76c99577f6cc86f0241f8b6bdc74042be4cb8631567f5e9e SHA512 024fd825aaec64301f0bcbe0ca1d02eb8da0d754d79d09075b1cd87a507d44c97092b824949f2637b37f0e71b36723cad6963cd00dcb2f7597832aba3a5ab842 WHIRLPOOL cbe9f3c241b0f8fc01351a92e3a4b31bc49de61e3486abb427b81ef129e6b90670b809bfaf4bbd9caa46b8a18143f3b4ae7b19f621978e9c1b1b5bf15626c037
+EBUILD qgit-2.7.ebuild 514 SHA256 d7ddf38d579874d0b1a76bddcc8c36fd239a838159362256d258b11fe35594a7 SHA512 333220a77d749fb3ee5f32a845acebf30a69247c7605237e8a5f27d21fc6ea9fe611f5ff5107f44c3585cc9fb540d5ee8d18f4a16b8ca87472a61f00669222a2 WHIRLPOOL 9d0b0521abec32587f45c361461a0bf434376a079f0decf27ba517800ee0e4cdf916c7f9cd2985279e944b3f42ef448e2dc18af0d28c9450f2d5eb1ff15d7e0f
+MISC ChangeLog 3255 SHA256 f1ab984c97bea74fc8c6a6131e85a574e62b5e3b3e76cc84b1fe5a24a4a280da SHA512 dfda0271e537e08de3d564b0ca21a6d9c9fd5caecf8adeadae90cfd73dd758f25f7b77817983ff21f759a1f9bcd3eac88aa4d243f468a0c49428ed34a3dcd77f WHIRLPOOL 8d7bfe5c32e7972aef87cfb8a02fc7b39fdcb32c54c9f2b89de9a828df70f0d428d1790fc053b59905f474e9423e8a315c752978153c496234bcd080bae84e32
+MISC ChangeLog-2015 8772 SHA256 c57530a2dd08fc1fe32c6bb14ecceec7f1eac8423157691a82193177b24e8798 SHA512 4e915155f8a02422743c124095f8a13c5a0ef431a240c192302bcadfe0e7cd1c534c58f29e46a62ac11d3c730370ec5ef219a6e7b743a0edf269911c8bd7b4a2 WHIRLPOOL 4245de6efae5c8d079d6a382c3b3e806b31b2d382c61a04527c203dcb74ac25069d63d140b247d64ebfee9edf34edb2e096392ecebbb40454ab87b844b884da3
+MISC metadata.xml 324 SHA256 15aa148131d737ffbc993c6c2c64cc5b0f189f634a91a8c17e23d7ab4204ac16 SHA512 e4e0bbc60b8af9512584b93e60d29ac47a4150691ea46bb3281c6d99acf119d0c6717497286c324a9ccc91624bbd56211a513c1fd675ec89603d431b9b052248 WHIRLPOOL 840892eade480fdc7c9bdb428dc5fc5c792f4fad1efebfe95f4c81d7826cf0e7c1c8ab281073ac5042d230693f0250e29f26ee22389da80227c8881edb66b972
diff --git a/dev-vcs/qgit/metadata.xml b/dev-vcs/qgit/metadata.xml
new file mode 100644
index 000000000000..241d7194c1ea
--- /dev/null
+++ b/dev-vcs/qgit/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tibirna/qgit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/qgit/qgit-2.7.ebuild b/dev-vcs/qgit/qgit-2.7.ebuild
new file mode 100644
index 000000000000..9ac66aa17552
--- /dev/null
+++ b/dev-vcs/qgit/qgit-2.7.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="Qt GUI for git repositories"
+HOMEPAGE="http://libre.tibirna.org/projects/qgit/wiki/QGit"
+SRC_URI="https://github.com/tibirna/qgit/archive/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86"
+IUSE=""
+
+DEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+"
+RDEPEND="${DEPEND}
+ dev-vcs/git
+ !dev-vcs/qgit:2
+"
+
+S=${WORKDIR}/${PN}-${P}
diff --git a/dev-vcs/qsvn/Manifest b/dev-vcs/qsvn/Manifest
new file mode 100644
index 000000000000..397d7cd02c7f
--- /dev/null
+++ b/dev-vcs/qsvn/Manifest
@@ -0,0 +1,8 @@
+AUX qsvn-0.8.3-gcc6.patch 453 SHA256 edd6e1f80540bde4bb860657241dd7a319e2dd44ca29b72d0d43904868f6b749 SHA512 54d6d5fca93e472387c8ac224eafdb6691e001c1045ae9b16517176eb72e4082d493b237357d6cb7e21395a0359f5473b99b8ff8348e9471bca7a73387cd2a8e WHIRLPOOL 3b5ff98b8dd0e31828b02ad17022375911a9ffb290e4fafd4d615a38f9e533634b69dace88525ec85d82472a4c3626b6e175b3392f6b93eeb2f236b06f8621ec
+AUX qsvn-0.8.3-static-lib.patch 850 SHA256 990606b06ea1c8951e6b61b77b9a85fdf418d2d19d2cb52358aa6eb70d1a31a9 SHA512 f726b70d554d0a9e40856f778acea052af9c108e50f3e308b6f4825fe831541795eeed2f521d957f88012b044e361c0d124dba87517536ea8baad1028e040380 WHIRLPOOL dbbc8de11e42899cc0a262debe1b686650c1524d626ee46a5d97f690e71ce430ce50a794dab018584e8eda952b84df90c4c4143f0204e95a2a1abf2342c3421f
+AUX qsvn-0.8.3-tests.patch 322 SHA256 1eb17673f5eb60bda77753487794eb7c03db4b54ae552da216ead3f365862e74 SHA512 72b9373511d56191a864e7a1af6a6fffb9210d5b1435e57a1aa05dfa58a2909ca5d63a926bac826950f0435c610cf56403430ed25c0002a883b1c09797549a31 WHIRLPOOL 3ff5ff8fc7bee1dc3698a6edbf47642f85f0b92b665b62d402442d7d6974b001ddd80fafacf2d1026be22111694bb6150e62ba5f3ace737838937b1d1eda4f5f
+DIST qsvn-0.8.3-src.tar.gz 782750 SHA256 8396f667dc7f09de2eead056608e90febb089fc26529b7fcebe157797c320f73 SHA512 65a636ad5d24302dde30046955f71e5ce494069f268abfbe8e35707ebc6d0454e5727394cf9476d9208bb8a55cbf08d2a131376a8bb900a5c9b316b7012f70e1 WHIRLPOOL a282bfee8b034bbb6ab801262ee1390773914be5dbc582448fa32dab541103be4dc5e2d98c3e6002b98b0e9bae6de7cd9e4dbcb53d2b5846b0d04c267114db0c
+EBUILD qsvn-0.8.3.ebuild 716 SHA256 21ded70f69c9c3784937d27b47c0cd5c60f3c25cff53ec74fe51876517a600a6 SHA512 17cba1e2c1c004158a322766caa6b9608084d7a321ed02b94e6fd4d2659b89ba19cb13aa5aae3d4d777a80c8d14f93917cc8fee10812551e04a5d8540b02151d WHIRLPOOL a2d60041f266db5db52683df2dbba89bb2502d1e37e5a3ea736e84e26de91fbafdfb2d9a63875388a0b4720f8bbd94f23affbde8a96e661d70091263d9d00c21
+MISC ChangeLog 2879 SHA256 a8499b541761108ecc661c7e834110e28e59fc6d3a5b6e6136dbc8a8542cb0a9 SHA512 3bef259ae673f789dc94959acb8d74f486bea8f19f0b2627a2a628133df8dd43c0a93d5073399f111ac26feb014268dfa56de57c787cf0e94a08f00d51858e94 WHIRLPOOL 43f833a36edaa5b222c2e1b091cbbd539a4a0902873e1c2a8c3f7c9a1c1d585c8f3487c0e003436f2315da7809887ff9da48249366903c7c9d937263bf17cbe6
+MISC ChangeLog-2015 1873 SHA256 a752786e4bfa5dd9bff3ae63f6bd15122aec46274347cc464885daa520da8178 SHA512 bccef83d58abd4f3a16fe06c80bb7c0b5401d58f5846704420e9e5227e24bc9adae44bce3c128c497d5b33908aafe2cc5793ce8d11ea72989dbbe17a3ec85eac WHIRLPOOL 4b1ba3a7e7ce4443d516e0133a41685170d41d37b84aae36dce54a75e1afef5b8fe8b2a90fb52288636503c585166e2d216e3ab6d878449bf98af642ece0cf05
+MISC metadata.xml 247 SHA256 690d3e08cdd71b405f5361dfa3f33007ce9ec9d0ae7628e9271891da9e2bda92 SHA512 b43c8e84c3c753b49b203921a5aca792639a36d6efdbe16c069ff9abfbce0585718bb3824c03abdd7bd19ada13fb0a98a378c85ed369ac5fdc53ad3b3d5465d2 WHIRLPOOL dffc398d6bdbe8a8afc8863675a819a7bd69ae4d098ffbddad4c21ab8f1a850ab8ede71f98e34999b0605ad01ea93c8864cd681b50d3e153aa3d0901ddb10743
diff --git a/dev-vcs/qsvn/files/qsvn-0.8.3-gcc6.patch b/dev-vcs/qsvn/files/qsvn-0.8.3-gcc6.patch
new file mode 100644
index 000000000000..d4f75fb1e48e
--- /dev/null
+++ b/dev-vcs/qsvn/files/qsvn-0.8.3-gcc6.patch
@@ -0,0 +1,11 @@
+--- a/svnqt/contextdata.cpp
++++ b/svnqt/contextdata.cpp
+@@ -748,7 +748,7 @@
+
+ svn_config_get(cfg, &mimetypes_file,
+ SVN_CONFIG_SECTION_MISCELLANY,
+- SVN_CONFIG_OPTION_MIMETYPES_FILE, false);
++ SVN_CONFIG_OPTION_MIMETYPES_FILE, NULL);
+ if (mimetypes_file && *mimetypes_file) {
+ if ((err = svn_io_parse_mimetypes_file(&(m_ctx->mimetypes_map),
+ mimetypes_file, pool))) {
diff --git a/dev-vcs/qsvn/files/qsvn-0.8.3-static-lib.patch b/dev-vcs/qsvn/files/qsvn-0.8.3-static-lib.patch
new file mode 100644
index 000000000000..a0e50aadf223
--- /dev/null
+++ b/dev-vcs/qsvn/files/qsvn-0.8.3-static-lib.patch
@@ -0,0 +1,23 @@
+--- a/svnqt/CMakeLists.txt 2009-07-05 04:56:34.000000000 -0500
++++ b/svnqt/CMakeLists.txt 2009-08-25 00:56:52.432416800 -0500
+@@ -131,7 +131,7 @@ CONFIGURE_FILE(
+ SET(INST_HEADERS ${INST_HEADERS} ${CMAKE_CURRENT_BINARY_DIR}/svnqt_defines.hpp)
+ INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
+
+-ADD_LIBRARY(${svnqt-name} SHARED ${SOURCES} ${svnhdr})
++ADD_LIBRARY(${svnqt-name} STATIC ${SOURCES} ${svnhdr})
+ IF(WIN32)
+ ADD_DEFINITIONS(-D_USE_32BIT_TIME_T)
+ ELSE(WIN32)
+@@ -175,9 +175,11 @@ ENDIF (BUILD_TESTS)
+ # install rules
+ # in win32 we don't install it
+ IF(NOT WIN32)
++IF(FALSE)
+ INSTALL(TARGETS ${svnqt-name} DESTINATION ${LIB_INSTALL_DIR})
+ INSTALL(FILES ${INST_HEADERS} DESTINATION include/svnqt)
+ INSTALL(FILES ${CACHEINST_HEADERS} DESTINATION include/svnqt/cache)
++ENDIF(FALSE)
+ ENDIF(NOT WIN32)
+
+ IF (BUILD_TESTS)
diff --git a/dev-vcs/qsvn/files/qsvn-0.8.3-tests.patch b/dev-vcs/qsvn/files/qsvn-0.8.3-tests.patch
new file mode 100644
index 000000000000..e61f116c84f3
--- /dev/null
+++ b/dev-vcs/qsvn/files/qsvn-0.8.3-tests.patch
@@ -0,0 +1,12 @@
+The included tests are simple, "hello world" style tests
+that do not actually test this package.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -187,7 +187,3 @@
+ /dVcInstallDir=$ENV{VCINSTALLDIR}
+ )
+ ENDIF (WIN32)
+-
+-# Unit-Tests
+-ENABLE_TESTING()
+-ADD_SUBDIRECTORY(tests)
diff --git a/dev-vcs/qsvn/metadata.xml b/dev-vcs/qsvn/metadata.xml
new file mode 100644
index 000000000000..17237689dcfd
--- /dev/null
+++ b/dev-vcs/qsvn/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/qsvn/qsvn-0.8.3.ebuild b/dev-vcs/qsvn/qsvn-0.8.3.ebuild
new file mode 100644
index 000000000000..1dd61f2c2338
--- /dev/null
+++ b/dev-vcs/qsvn/qsvn-0.8.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="GUI frontend to the Subversion revision system"
+HOMEPAGE="http://www.anrichter.net/projects/qsvn/"
+SRC_URI="http://www.anrichter.net/projects/${PN}/chrome/site/${P}-src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-libs/apr
+ dev-libs/apr-util
+ dev-qt/qtcore:4[qt3support]
+ dev-qt/qtgui:4[qt3support]
+ dev-qt/qtsql:4[sqlite]
+ dev-vcs/subversion"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${P}/src
+
+PATCHES=(
+ "${FILESDIR}/${P}-static-lib.patch"
+ "${FILESDIR}/${P}-tests.patch"
+ "${FILESDIR}/${P}-gcc6.patch"
+)
+
+DOCS=( ../ChangeLog ../README )
diff --git a/dev-vcs/rabbitvcs/Manifest b/dev-vcs/rabbitvcs/Manifest
new file mode 100644
index 000000000000..b0c372c8666c
--- /dev/null
+++ b/dev-vcs/rabbitvcs/Manifest
@@ -0,0 +1,5 @@
+DIST rabbitvcs-0.16.tar.gz 1670167 SHA256 2227482e5a965917eb404455ef243443c670f610e9843b6481607da3020873da SHA512 dac3b98acb5b7ef1147105aa0f735bb964c098f764c62d0e2e601a2ce34b315a5c83b3bac8929cbac898f674c86266a200f28042aad0340c1c5273bec4a6279c WHIRLPOOL f5c89e38e66a2ea7b5a98ca9d55e839dcdde94c156d25b25949213bae9d9edca0b9c87f9a8d953695f4f7c5b7499311291ed14bf7702da5c765a1a4e778af2b5
+EBUILD rabbitvcs-0.16-r1.ebuild 3116 SHA256 00d68c00c2b5f127924df985a67628b971bfe325a95c52f86f3195f497180891 SHA512 ba042954748dc63ab64bae55241363d726126033f51e51a0c055c5a7c67a7b702d4831603d5c37613ad658c4d85708af78905fe9d2437645756f1b46027173f2 WHIRLPOOL 73fee212141b6662f00fab131910e6f2097afad9547266271934dc8a01fb84f4d11951233ded073ae87540d6bb90cdb4974902bfb8b8e63909cf6fdfcb0ed63a
+MISC ChangeLog 2632 SHA256 1b3bb23a89cb3ea2667b556ddae371db2f30d692ca258458089ac8e01ce761a9 SHA512 512b096765121f926a9a88e933125546b652dce65a0a1afa24b00adef04cfe591c504ad55a4345cccf63ca8e9f6c54b10bbe8a97b74c080a9a04ccd2d74f1ed3 WHIRLPOOL 821a73a0088f5aafc3b03f45fb9801996bb9bdb9fe7f281e1abd877c31d74b6212957b7f2e15cc50c33eba6fcc5347e6cb9574892087e675f49fb09ab1f7a467
+MISC ChangeLog-2015 3044 SHA256 cc9f11ed57b25874f4e97876e8f3808c027f174a3fe48d0e93adee0885dd303d SHA512 ab9e32f4e815fa3a62a93a16d5499154dada6767aae3445e8d35bc64f6f16c4023f37d65e181931125821f3dfa25e8f215d6167d08e17daecc89d067516f38de WHIRLPOOL bc174896ae61823a4ae0d36b29d9c7169bce15e51b77d25afae1ddb1cfd875e943b95d059a4005acf05665b82ffd98347e53fbc6dc195caf9f6e135b2e9ae7d9
+MISC metadata.xml 999 SHA256 4d2d8d8df18cd3fcad3cdbb822d63597ccb8af0ac72d0865f02cd46831620b0e SHA512 59d9aa5ba5faae6d0529dcc0ce1c89b9ab41b16b2ef2b03d74fecfeeb9a1b3a835d1124524b5791dcf37de3ea3245e131606755aa3db1940a2d801fe7a742f86 WHIRLPOOL 024e1fed2e1a58e5ed79902d1241480bd23ffefbf132ea432405653b8494a2fd6d244535f34eaed5ccdec3e1e092638c30426ffa598988c03e1d2103305aa3e9
diff --git a/dev-vcs/rabbitvcs/metadata.xml b/dev-vcs/rabbitvcs/metadata.xml
new file mode 100644
index 000000000000..27128113e29f
--- /dev/null
+++ b/dev-vcs/rabbitvcs/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <longdescription>RabbitVCS is a set of graphical tools written to provide
+ simple and straightforward access to the version control systems you use.
+ RabbitVCS is inspired by TortoiseSVN and others.</longdescription>
+ <use>
+ <flag name="caja">Enable extension for <pkg>mate-base/caja</pkg></flag>
+ <flag name="cli">Eanble console based frontend</flag>
+ <flag name="diff">Use for diff command <pkg>dev-util/meld</pkg></flag>
+ <flag name="gedit">Enable plugin for <pkg>app-editors/gedit</pkg></flag>
+ <flag name="nautilus">Enable extension for <pkg>gnome-base/nautilus</pkg></flag>
+ <flag name="thunar">Enable extension for <pkg>xfce-base/thunar</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">rabbitvcs/rabbitvcs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/rabbitvcs/rabbitvcs-0.16-r1.ebuild b/dev-vcs/rabbitvcs/rabbitvcs-0.16-r1.ebuild
new file mode 100644
index 000000000000..f9e95ffff779
--- /dev/null
+++ b/dev-vcs/rabbitvcs/rabbitvcs-0.16-r1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome2-utils distutils-r1 vcs-snapshot
+
+DESCRIPTION="Integrated version control support for your desktop"
+HOMEPAGE="http://rabbitvcs.org"
+SRC_URI="https://github.com/rabbitvcs/${PN}/tarball/v${PV} -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="caja cli diff gedit git nautilus spell thunar"
+
+RDEPEND="dev-python/configobj[${PYTHON_USEDEP}]
+ dev-python/pygobject:2[${PYTHON_USEDEP}]
+ dev-python/pygtk[${PYTHON_USEDEP}]
+ dev-python/pysvn[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ caja? ( dev-python/python-caja[${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/gnome-vfs-python[${PYTHON_USEDEP}] )
+ diff? ( dev-util/meld )
+ gedit? ( app-editors/gedit[${PYTHON_USEDEP}] )
+ git? ( dev-python/dulwich[${PYTHON_USEDEP}] )
+ nautilus? ( >=dev-python/nautilus-python-0.7.0[${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/gnome-vfs-python[${PYTHON_USEDEP}] )
+ spell? ( dev-python/gtkspell-python[${PYTHON_USEDEP}] )
+ thunar? ( dev-python/thunarx-python[${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+# python_convert_shebangs -r 2 .
+
+# distutils_src_prepare
+
+ # we should not do gtk-update-icon-cache from setup script
+ # we prefer portage for that
+ sed -e 's/"install"/"fakeinstall"/' -i "${S}/setup.py" || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ if use caja ; then
+ python_moduleinto /usr/share/caja-python/extensions
+ python_domodule clients/caja/RabbitVCS.py
+ fi
+ if use cli ; then
+ python_doscript clients/cli/rabbitvcs
+ fi
+ if use gedit ; then
+ python_moduleinto /usr/$(get_libdir)/gedit-2/plugins
+ python_domodule clients/gedit/rabbitvcs-plugin.py
+ insinto /usr/$(get_libdir)/gedit-2/plugins
+ doins clients/gedit/rabbitvcs-gedit2.gedit-plugin
+ python_moduleinto /usr/$(get_libdir)/gedit-2/plugins
+ python_domodule clients/gedit/rabbitvcs-plugin.py
+ insinto /usr/$(get_libdir)/gedit/plugins
+ doins clients/gedit/rabbitvcs-gedit3.plugin
+ fi
+ if use nautilus ; then
+ python_moduleinto /usr/$(get_libdir)/nautilus/extensions-2.0/python
+ python_domodule clients/nautilus/RabbitVCS.py
+ python_moduleinto /usr/share/nautilus-python/extensions
+ python_domodule clients/nautilus-3.0/RabbitVCS.py
+ fi
+ if use thunar ; then
+ python_moduleinto "/usr/$(get_libdir)/thunarx-2/python"
+ python_domodule clients/thunar/RabbitVCS.py
+ python_moduleinto "/usr/$(get_libdir)/thunarx-1/python"
+ python_domodule clients/thunar/RabbitVCS.py
+ fi
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+
+ elog "You should restart file manager to changes take effect:"
+ use caja && elog "\$ caja -q"
+ use nautilus && elog "\$ nautilus -q"
+ use thunar && elog "\$ thunar -q && thunar &"
+ elog ""
+ elog "Also you should really look at known issues page:"
+ elog "http://wiki.rabbitvcs.org/wiki/support/known-issues"
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/dev-vcs/rapidsvn/Manifest b/dev-vcs/rapidsvn/Manifest
new file mode 100644
index 000000000000..80116e310f75
--- /dev/null
+++ b/dev-vcs/rapidsvn/Manifest
@@ -0,0 +1,10 @@
+AUX rapidsvn-0.12.1-locale.patch 834 SHA256 3cb9dd7e95d4d8dc5fd8fa7c36961225b0a5e1f146fc529130eb2e15fc5e3279 SHA512 0901b3242edffb128152b9db9982ad446098cc1f21a3b9e41aa8db3217353e8e691091637e609ddf32f23cedbc9007856d900eb53152d34010b1f1b01afbf508 WHIRLPOOL 206b0177d632cea34b3c435fd60e2dd901d58738ebcd4a090d7b46817b850cb2ed21bd32836bc9dda6c0d4f23b1ad21438cc6d620f2f9f90ce94096c50ac6ad7
+AUX rapidsvn-0.12.1-subversion1.9-private-api.patch 3602 SHA256 e61b01bfdecbd8e643c0e968fc41ecb65bccf20437561685ef248c7a9c2428a5 SHA512 90f4f16cfb44d0d7291fdd340be8ca2a86f6fa33353a8af4503abb35e9d91219b9f60319b62f1bbffffde1f6251754b68c120b9fe27939c90543b09955dfac8b WHIRLPOOL 2a1c2fa63d90a19473ae23a4893568e6dbdea82f0062f56f57188db814a41310052ff36c9ed53fca42edb6120570f3a5cdb4a12b89207feddb3e9ad03a7ad19f
+AUX rapidsvn-0.12.1-svncpp_link.patch 336 SHA256 bd58b3c32eaacb245cc0be5a28f4cdc9606766eed52308d3fdaacd0228bb2200 SHA512 abcce45777c2c28b08df772ea69305600b0ee18dbb4cc7aa1bc13ec81c962410a2f9fe8685428115e3c9547e5bf21d2323f2712e6566100e7cbfe2271a95efd4 WHIRLPOOL 35315b7714f41626df2bfdb0568eafb80f67e58c04e4e9a3dcb7bb00d8721431e0a4b3de30ac4c8560d6e2ab212b5e49705452943a9ff6fd6a527b67310fe523
+AUX rapidsvn-0.12.1-wx3.0.patch 5121 SHA256 f2738c6361b8fcdb176b870ec0f8edee8cc3ae0b5efacf33ad3ba78bd85e0981 SHA512 90719ee6f3b7cc9f3446afcca1f5ba27496cb3f1bd8311328b4bc01a02f81de769691825f5cba906183fd060a89a118c776a7cf549569505f0a18c12eb6fc6b9 WHIRLPOOL 0ada08d51c49032a8dcba103eaeb87051830b6a973e893741c725fd05dca0bebeb5d7ccbb0c32458993b6c95c91dcce1a491cbd44106d86cb78ba784fe556b1b
+DIST rapidsvn-0.12.1.tar.gz 1087511 SHA256 9744d2481b7e4db52adb0fa03806776463ed239ad39d09c807bc4c1198c4acae SHA512 892dab56e8ec19c5f26a0ddfab378187bc0325275f9fcf759c12beead70aab17876f7e5920bcf214fc86354faef58244ce25926ba010158f7354cd144e1c4c07 WHIRLPOOL c59205df79ef202bb448458afe7fd887d361a0fc33eb462cf4d92a3ec675ddda793b980201f89f415226053e89329cd081b2112fab2b6724d51e4697e5afe5ea
+DIST svncpp.dox.xz 1684 SHA256 d07a9f7fef3383d42d1f3f0a504a274942e080956dcb0233aa40a6564b23e530 SHA512 6314632b2f6a0f21bdd4644f856c8d60951c30135a82e509a7f929908dacb56462a2fa768c2e45cd7baf99face50fa5d4592a0691cfa1f16335bf64892933589 WHIRLPOOL ff55131f97d909eefedd5535885523c0ad70ea8263802c3fef187b62130fcfe4dd5c4bab3e8330ff83df3ba63e2d1bb1d5745244c56597805a6a8f748df18912
+EBUILD rapidsvn-0.12.1-r3.ebuild 2648 SHA256 97877525059a2a40f96c7e7aba312bfb3b890c41b3dfa2f6883634a6fa91a01c SHA512 0d062ca454d71b7cb5c8c78dd9b76f41ba6d26760a64257704627ba86df9218b71f03e21b6607cc229d0f709ed693ea51dbd9c4060e95666046c9c07523139fb WHIRLPOOL dcdabee86f5cf449a891a61984829acfcb084480b352ea86d64c823e83d116676c1074b2aafbc672d252c7afc8ef7b5b0958c34682af2140ab49285b334da2a8
+MISC ChangeLog 5233 SHA256 b2e8c6f921c744385a9f4ddf8666f1b48ef71fbdbf569b33cba422f43b2fa733 SHA512 19d5535b4af367cd417b5dfb9e50255d823fe796a8477a2bfabb42bebb7c80563b15c2602a50ad8a9be9e63f07cf7c2b087ffa3ff4c0ff60d2acea7f834cc51c WHIRLPOOL 9521fd2a0d9a47d35158274839f78ba3461f25ac4bb7c8fa3bbfd7dc807691d22308d9e41e5d98ce38ee860c5341a24f3cf6e510825fb745a27bc1b6a28971cd
+MISC ChangeLog-2015 16551 SHA256 620453cbbc2d4d03330b89b9f9c6c4bad1b59bf44a135dc977a79e8384dab7b6 SHA512 60ae17d1acc7eb5b2e5ce4cefe98c946372df320742080fe9e05a4ef41e829d955f831a19fd03c6353921bba8a1bc3d33d0fe4eb14ef173129e4905f09eb8c53 WHIRLPOOL c2bbb3b80fb142b3d97d5db713969d3c3883eb553c31f49c3f4c22f7d41be4193b452522d5e5d82c13f389e9b0425819c86be998523305cc429905eba24285fe
+MISC metadata.xml 389 SHA256 253c3d07a33499b91dde4f3e12fb160315c4ea1d25c2dc97ebb728480ffb402b SHA512 4f5598218e1d473e47a831b414cfe40edb305a903ff5a021b587ebf3687c5f2e2d775ccbbb4db04ff5d67c1533b59952c59652f9e783e6b16812e4afa0611042 WHIRLPOOL 6db301088dcb005e1d6386b90642511798f8b18fed181202ab2b9b25a7e14c4516bdca9e8ec30a2cae16163e067218905433d6306ecac4909949db4afd55d049
diff --git a/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-locale.patch b/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-locale.patch
new file mode 100644
index 000000000000..e1712df85b19
--- /dev/null
+++ b/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-locale.patch
@@ -0,0 +1,23 @@
+--- rapidsvn-0.12.0dfsg.orig/src/locale/Makefile.in
++++ rapidsvn-0.12.0dfsg/src/locale/Makefile.in
+@@ -369,8 +369,7 @@ all: all-mo
+ distclean: clean
+ clean:
+ for i in $(RAPIDSVN_LANGUAGES) ; do \
+- test -f $(srcdir)/$$i/rapidsvn.mo && rm $(srcdir)/$$i/rapidsvn.mo ; \
+- fi ; \
++ test -f $(srcdir)/$$i/rapidsvn.mo && rm $(srcdir)/$$i/rapidsvn.mo || true; \
+ done
+ .PHONY: all-mo
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+--- rapidsvn-0.12.0dfsg.orig/src/locale/Makefile.am
++++ rapidsvn-0.12.0dfsg/src/locale/Makefile.am
+@@ -38,7 +38,6 @@ all: all-mo
+ distclean: clean
+ clean:
+ for i in $(RAPIDSVN_LANGUAGES) ; do \
+- test -f $(srcdir)/$$i/rapidsvn.mo && rm $(srcdir)/$$i/rapidsvn.mo ; \
+- fi ; \
++ test -f $(srcdir)/$$i/rapidsvn.mo && rm $(srcdir)/$$i/rapidsvn.mo || true; \
+ done
+ .PHONY: all-mo
diff --git a/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-subversion1.9-private-api.patch b/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-subversion1.9-private-api.patch
new file mode 100644
index 000000000000..7c84c8d481fd
--- /dev/null
+++ b/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-subversion1.9-private-api.patch
@@ -0,0 +1,129 @@
+Fix compile errors due to hiding of private API in subversion 1.9.
+See also:
+ https://bugs.gentoo.org/show_bug.cgi?id=558572
+ https://slackbuilds.org/cgit/slackbuilds/commit/?id=c2df77021b476ca9484772361003df04fa03038a
+ https://github.com/RapidSVN/RapidSVN/issues/6
+
+--- rapidsvn-0.12.1/src/svncpp/client_ls.cpp
++++ rapidsvn-0.12.1/src/svncpp/client_ls.cpp
+@@ -29,6 +29,7 @@
+ #include "svn_client.h"
+ #include "svn_path.h"
+ #include "svn_sorts.h"
++#include "svn_version.h"
+ //#include "svn_utf.h"
+
+ // svncpp
+@@ -37,6 +38,8 @@
+ #include "svncpp/exception.hpp"
+
+
++#if SVN_VER_MAJOR == 1 && SVN_VER_MINOR < 8
++
+ static int
+ compare_items_as_paths(const svn_sort__item_t *a, const svn_sort__item_t *b)
+ {
+@@ -90,6 +93,72 @@
+ }
+ }
+
++#else
++
++#include <algorithm>
++
++static svn_error_t* store_entry(
++ void *baton,
++ const char *path,
++ const svn_dirent_t *dirent,
++ const svn_lock_t *,
++ const char *abs_path,
++ const char *,
++ const char *,
++ apr_pool_t *scratch_pool)
++{
++ svn::DirEntries *entries = reinterpret_cast<svn::DirEntries*>(baton);
++ if (path[0] == '\0') {
++ if (dirent->kind == svn_node_file) {
++ // for compatibility with svn_client_ls behaviour, listing a file
++ // stores that file name
++ entries->push_back(svn::DirEntry(svn_path_basename(abs_path, scratch_pool), dirent));
++ }
++ } else {
++ entries->push_back(svn::DirEntry(path, dirent));
++ }
++ return SVN_NO_ERROR;
++}
++
++static bool sort_by_path(svn::DirEntry const& a, svn::DirEntry const& b)
++{
++ return svn_path_compare_paths(a.name(), b.name()) < 0;
++}
++
++namespace svn
++{
++ DirEntries
++ Client::list(const char * pathOrUrl,
++ svn_opt_revision_t * revision,
++ bool recurse) throw(ClientException)
++ {
++ Pool pool;
++ DirEntries entries;
++
++ svn_error_t * error =
++ svn_client_list3(pathOrUrl,
++ revision,
++ revision,
++ SVN_DEPTH_INFINITY_OR_IMMEDIATES(recurse),
++ SVN_DIRENT_ALL,
++ FALSE, // fetch locks
++ FALSE, // include externals
++ &store_entry,
++ &entries,
++ *m_context,
++ pool);
++
++ if (error != SVN_NO_ERROR)
++ throw ClientException(error);
++
++ std::sort(entries.begin(), entries.end(), &sort_by_path);
++
++ return entries;
++ }
++}
++
++#endif
++
+ /* -----------------------------------------------------------------
+ * local variables:
+ * eval: (load-file "../../rapidsvn-dev.el")
+--- rapidsvn-0.12.1/include/svncpp/dirent.hpp
++++ rapidsvn-0.12.1/include/svncpp/dirent.hpp
+@@ -41,7 +41,7 @@
+ /**
+ * constructor for existing @a svn_dirent_t entries
+ */
+- DirEntry(const char * name, svn_dirent_t * dirEntry);
++ DirEntry(const char * name, const svn_dirent_t * dirEntry);
+
+ /**
+ * copy constructor
+--- rapidsvn-0.12.1/src/svncpp/dirent.cpp
++++ rapidsvn-0.12.1/src/svncpp/dirent.cpp
+@@ -47,7 +47,7 @@
+ {
+ }
+
+- Data(const char * _name, svn_dirent_t * dirEntry)
++ Data(const char * _name, const svn_dirent_t * dirEntry)
+ : name(_name), kind(dirEntry->kind), size(dirEntry->size),
+ hasProps(dirEntry->has_props != 0),
+ createdRev(dirEntry->created_rev), time(dirEntry->time)
+@@ -78,7 +78,7 @@
+ {
+ }
+
+- DirEntry::DirEntry(const char * name, svn_dirent_t * DirEntry)
++ DirEntry::DirEntry(const char * name, const svn_dirent_t * DirEntry)
+ : m(new Data(name, DirEntry))
+ {
+ }
diff --git a/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-svncpp_link.patch b/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-svncpp_link.patch
new file mode 100644
index 000000000000..e26ecda15d9b
--- /dev/null
+++ b/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-svncpp_link.patch
@@ -0,0 +1,12 @@
+Index: src/svncpp/Makefile.am
+===================================================================
+--- rapidsvn-0.12.1/src/svncpp/Makefile.am (revision 7100)
++++ rapidsvn-0.12.1/src/svncpp/Makefile.am (working copy)
+@@ -27,3 +27,7 @@
+ url.cpp \
+ wc.cpp
+
++libsvncpp_la_LIBADD= $(SVN_LIBS) \
++ $(NEON_LIBS) \
++ $(APR_LIBS) \
++ -lstdc++
diff --git a/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-wx3.0.patch b/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-wx3.0.patch
new file mode 100644
index 000000000000..2862e30b21fd
--- /dev/null
+++ b/dev-vcs/rapidsvn/files/rapidsvn-0.12.1-wx3.0.patch
@@ -0,0 +1,192 @@
+Description: Update for wx 3.0.0
+ Update configure to recognise that wx 3.0.0 >= 2.4.2.
+ Fix code for wx API changes.
+Author: Olly Betts <olly@survex.com>
+Origin: debian
+Forwarded: no
+Last-Update: 2014-04-10
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -171,6 +171,8 @@
+ ;;
+ [2.[5-9].*])
+ ;;
++ 3.*)
++ ;;
+ *)
+ AC_MSG_ERROR([wxWidgets >= 2.4.2 required, found version $WX_VERSION])
+ AC_MSG_ERROR([Try --with-wx-config.])
+--- a/src/filelist_ctrl.cpp
++++ b/src/filelist_ctrl.cpp
+@@ -1029,7 +1029,7 @@
+
+ // Workaround for issue 324 (only local+non-flat+update):
+ // we chdir to the requested dir and pass "." to svn
+- if (!pathUtf8.isUrl() && m->WithUpdate && !m->FlatMode)
++ if (!pathUtf8.isUrl() && m->WithUpdate && !m->FlatMode && !m->Path.empty())
+ {
+ m->IsRelative = true;
+ ::wxSetWorkingDirectory(m->Path);
+@@ -1606,7 +1606,7 @@
+ }
+ }
+
+-inline void
++bool
+ FileListCtrl::SetColumnWidth(const int col, const int width)
+ {
+ m->ColumnWidth[col] = width;
+@@ -1614,8 +1614,9 @@
+ int index = m->ColumnIndex[col];
+ if (index != -1)
+ {
+- wxListCtrl::SetColumnWidth(index, width);
++ return wxListCtrl::SetColumnWidth(index, width);
+ }
++ return false;
+ }
+
+ int
+--- a/src/filelist_ctrl.hpp
++++ b/src/filelist_ctrl.hpp
+@@ -118,7 +118,7 @@
+ * @param col column number
+ * @param width
+ */
+- void
++ bool
+ SetColumnWidth(const int col, const int width);
+
+ /**
+--- a/src/hist_val.cpp
++++ b/src/hist_val.cpp
+@@ -113,7 +113,7 @@
+ }
+
+ // if we have an entry, select it
+- if (!comboBox->IsEmpty())
++ if (!comboBox->IsListEmpty())
+ comboBox->SetSelection(0, 0);
+ }
+
+--- a/src/listener.cpp
++++ b/src/listener.cpp
+@@ -167,7 +167,7 @@
+ wxMutexLocker lock(mutex);
+ wxString localCertFile = wxFileSelector(
+ _("Select Certificate File"), wxT(""), wxT(""), wxT(""),
+- wxT("*.*"), wxOPEN | wxFILE_MUST_EXIST, parent);
++ wxT("*.*"), wxFD_OPEN | wxFD_FILE_MUST_EXIST, parent);
+ LocalToUtf8(localCertFile, certFile);
+
+ dataReceived = !localCertFile.empty();
+--- a/src/log_dlg.cpp
++++ b/src/log_dlg.cpp
+@@ -211,7 +211,7 @@
+
+ for (size_t idx = 0; idx < str.Length(); idx++)
+ {
+- switch (str[idx])
++ switch ((wchar_t)str[idx])
+ {
+ case wxT('\r'):
+ case wxT('\n'):
+--- a/src/preferences_dlg.cpp
++++ b/src/preferences_dlg.cpp
+@@ -126,7 +126,7 @@
+ PreferencesDlg::SelectExecutable(const wxString & title, wxTextCtrl * textCtrl)
+ {
+ wxFileDialog dlg(this, title, wxEmptyString, wxEmptyString,
+- EXECUTABLE_WILDCARD, wxOPEN);
++ EXECUTABLE_WILDCARD, wxFD_OPEN);
+ dlg.SetPath(textCtrl->GetValue());
+
+ if (dlg.ShowModal() != wxID_OK)
+--- a/src/verblist.cpp
++++ b/src/verblist.cpp
+@@ -71,7 +71,7 @@
+ const wxString &
+ VerbList::GetName(size_t /*index*/) const
+ {
+- return wxT("");
++ return wxEmptyString;
+ }
+
+
+--- a/src/checkout_action.cpp
++++ b/src/checkout_action.cpp
+@@ -120,7 +120,8 @@
+ pegRevision = svn::Revision(revnum);
+ }
+
+- wxSetWorkingDirectory(m_data.DestFolder);
++ if (!m_data.DestFolder.empty())
++ wxSetWorkingDirectory(m_data.DestFolder);
+
+ svn::Path repUrlUtf8(PathUtf8(m_data.RepUrl));
+ svn::Path destFolderUtf8(PathUtf8(dest_folder));
+--- a/src/action.cpp
++++ b/src/action.cpp
+@@ -218,7 +218,9 @@
+ bool
+ Action::Prepare()
+ {
+- wxSetWorkingDirectory(Utf8ToLocal(m->path.c_str()));
++ const wxString & dir = Utf8ToLocal(m->path.c_str());
++ if (!dir.empty())
++ wxSetWorkingDirectory(dir);
+
+ return true;
+ }
+--- a/src/cleanup_action.cpp
++++ b/src/cleanup_action.cpp
+@@ -52,7 +52,9 @@
+ svn::Client client(GetContext());
+ const svn::Path & path = GetPath();
+
+- wxSetWorkingDirectory(Utf8ToLocal(path.c_str()));
++ const wxString & dir = Utf8ToLocal(path.c_str());
++ if (!dir.empty())
++ wxSetWorkingDirectory(dir);
+ client.cleanup(path.c_str());
+
+ return true;
+--- a/src/export_action.cpp
++++ b/src/export_action.cpp
+@@ -111,7 +111,8 @@
+ pegRevision = svn::Revision(revnum);
+ }
+
+- wxSetWorkingDirectory(m_data.DestPath);
++ if (!m_data.DestPath.empty())
++ wxSetWorkingDirectory(m_data.DestPath);
+
+ svn::Path srcPathUtf8(PathUtf8(m_data.SrcPath));
+ svn::Path destPathUtf8(PathUtf8(m_data.DestPath));
+--- a/src/get_action.cpp
++++ b/src/get_action.cpp
+@@ -56,7 +56,9 @@
+ m_data.revision.revnum());
+ Trace(msg);
+
+- wxSetWorkingDirectory(Utf8ToLocal(GetPath().c_str()));
++ const wxString & dir = Utf8ToLocal(GetPath().c_str());
++ if (!dir.empty())
++ wxSetWorkingDirectory(dir);
+ client.update(svn::Path(LocalToUtf8(m_data.path)),
+ m_data.revision,
+ true, false);
+--- a/src/update_action.cpp
++++ b/src/update_action.cpp
+@@ -75,7 +75,9 @@
+ }
+ }
+
+- wxSetWorkingDirectory(Utf8ToLocal(GetPath().c_str()));
++ const wxString & dir = Utf8ToLocal(GetPath().c_str());
++ if (!dir.empty())
++ wxSetWorkingDirectory(dir);
+ svn::Client client(GetContext());
+
+ client.update(GetTargets(), revision, m_data.recursive,
diff --git a/dev-vcs/rapidsvn/metadata.xml b/dev-vcs/rapidsvn/metadata.xml
new file mode 100644
index 000000000000..0302c7d43632
--- /dev/null
+++ b/dev-vcs/rapidsvn/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription>
+RapidSVN is a cross-platform GUI front-end for the Subversion revision
+system written in C++ using the wxWidgets framework. This project also
+includes a Subversion client C++ API.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-vcs/rapidsvn/rapidsvn-0.12.1-r3.ebuild b/dev-vcs/rapidsvn/rapidsvn-0.12.1-r3.ebuild
new file mode 100644
index 000000000000..b9d42abac214
--- /dev/null
+++ b/dev-vcs/rapidsvn/rapidsvn-0.12.1-r3.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+WX_GTK_VER=3.0
+
+inherit autotools eutils fdo-mime flag-o-matic python-single-r1 versionator wxwidgets
+
+MY_PV=$(get_version_component_range 1-2)
+MY_REL="1"
+
+DESCRIPTION="Cross-platform GUI front-end for the Subversion revision system"
+HOMEPAGE="http://rapidsvn.tigris.org/"
+SRC_URI="
+ http://www.rapidsvn.org/download/release/${PV}/${P}.tar.gz
+ doc? ( https://dev.gentoo.org/~jlec/distfiles/svncpp.dox.xz )"
+
+LICENSE="GPL-2 LGPL-2.1 FDL-1.2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEP="
+ ${PYTHON_DEPS}
+ dev-libs/apr
+ dev-libs/apr-util
+ dev-vcs/subversion
+ x11-libs/wxGTK:${WX_GTK_VER}[X]"
+DEPEND="${COMMON_DEP}
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-sgml-utils
+ app-doc/doxygen
+ app-text/docbook-xsl-stylesheets
+ media-gfx/graphviz
+ )"
+RDEPEND="${COMMON_DEP}"
+
+DOCS=( HACKING.txt TRANSLATIONS )
+
+src_prepare() {
+ need-wxwidgets unicode
+ if use doc; then
+ mv "${WORKDIR}"/svncpp.dox doc/svncpp/ || die
+ fi
+ strip-linguas $(grep ^RAPIDSVN_LANGUAGES src/locale/Makefile.am | sed 's:RAPIDSVN_LANGUAGES=::g')
+ sed \
+ -e "/^RAPIDSVN_LANGUAGES/s:=.*:=${LINGUAS}:g" \
+ -i src/locale/Makefile.am || die
+
+ mv configure.in configure.ac || die
+ epatch "${FILESDIR}/${P}-svncpp_link.patch"
+ epatch "${FILESDIR}/${P}-locale.patch"
+ epatch "${FILESDIR}/${P}-wx3.0.patch"
+ epatch "${FILESDIR}/${P}-subversion1.9-private-api.patch"
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cppflags $( apr-1-config --cppflags )
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with doc manpage) \
+ $(use_with doc xsltproc) \
+ $(use_with doc doxygen) \
+ $(use_with doc dot) \
+ --with-wx-config="${WX_CONFIG}" \
+ --with-svn-lib="${EPREFIX}/usr/$(get_libdir)" \
+ --with-svn-include="${EPREFIX}/usr/include" \
+ --with-apr-config="${EPREFIX}/usr/bin/apr-1-config" \
+ --with-apu-config="${EPREFIX}/usr/bin/apu-1-config"
+}
+
+src_compile() {
+ default
+ use doc && emake -C doc/manpage manpage
+}
+
+src_install() {
+ default
+
+ doicon src/res/rapidsvn.ico src/res/bitmaps/${PN}*.png
+ make_desktop_entry rapidsvn "RapidSVN ${PV}" \
+ "${EPREFIX}/usr/share/pixmaps/rapidsvn_32x32.png" \
+ "RevisionControl;Development"
+
+ if use doc ; then
+ doman doc/manpage/${PN}.1
+ dodoc doc/svncpp/html/*
+ fi
+
+ prune_libtool_files
+}
+
+src_test() {
+ pushd src/tests/svncpp > /dev/null || die
+ default
+ ./svncpptest | grep OK || die
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/dev-vcs/rcs/Manifest b/dev-vcs/rcs/Manifest
new file mode 100644
index 000000000000..f61572072524
--- /dev/null
+++ b/dev-vcs/rcs/Manifest
@@ -0,0 +1,9 @@
+DIST rcs-5.8.2.tar.gz 1209822 SHA256 ea00bd5e0d0317d3388dd78c9b3a9381d7d1cce59d686aec60f41eb633c693dc SHA512 59bfdb57d1e361f01b6682aae99115e5b181ee429e4d49bf1eadd7c7d24abf8547f7368a608d5aac480ca2b8a095ca3d1b56723ba308c15aa5c612676088c374 WHIRLPOOL fd4a3bca5b0a745ec8cea219878585cfc57a963dac3f4a73fab5ee7b5651e0405e4f29a9bb22605c9e6285f881b9a7a75079b20ed14ad2ec56ad19bd36dc38f8
+DIST rcs-5.9.3.tar.xz 800736 SHA256 68b0d1c1b8657766cd7dc78e10564ce4836220e64665fb35fbe74dbc1dff5b47 SHA512 99b124a94f285d8c675a2a51397ca4a97468f053d42aecf543e9266f16aea6b2667613f565c3462ffd2350c28e22baa4d01d598e2cc7e1e940625086f6de0ba6 WHIRLPOOL e9cd1d14a0c00da42b464104032ee201d40a33d1601428c8483474474f86e8a3d0634e2ec6d92ada6d3a9af5f0463bd3690665a06133e8ddc65e676d69076976
+DIST rcs-5.9.4.tar.xz 801360 SHA256 063d5a0d7da1821754b80c639cdae2c82b535c8ff4131f75dc7bbf0cd63a5dff SHA512 c501a46b8d2e166ec0b54301d72687d9b38b31d84517fcc8dd560a296e7ad250962a92f019e53b2921af9045755e2e7f2f2acc9542dbe0d19ee110ef36861cd4 WHIRLPOOL 69f21d2f324422f549127e07f2147d9f01022b20893c1be53e9e06085647c59b18a44b91c2178654bfd6db01e6b451e848d095c299b87eaf0315dd9efdce6af7
+EBUILD rcs-5.8.2.ebuild 777 SHA256 784aa2b7b5d7d821a67b37fe1586e290939bf4ac4f89d59f79ed1609d7463c01 SHA512 510ce2c4dc570a4cefbb1a5caee03699c70caab09ee8c06da56fdf63a03867c6885d066378ccdd729542f1087a6f3ecc4426ed0a65a37d6fa6f482f1ed142763 WHIRLPOOL f50e10a107a9d2416214e37dff7a019d9453cb761451001ddbe4d87b02c6d0da88d935030f0050d86dfb643a04c17a550fb3d162514c848df1f98803747ab96f
+EBUILD rcs-5.9.3.ebuild 904 SHA256 c6ca46bb8777611873db9d23161303248eb307e3df782c6668a89e008c333a87 SHA512 e1f17eb43ee1efcc6a7b674111ff5e3cee43354628ce819fd20f3f8feaf16cd3693666e9f99ec468066fb0e8b273b87f80a48711411562cf1dad141f58c4a11e WHIRLPOOL f13685f084a4d933b69811305a14452b9ec1f10078c4d63c9a5bf7fa0620ca2f288c30f81b9ee2a5a8178ae64bd6782f747e4ef52ef924ae07a405e89894826d
+EBUILD rcs-5.9.4.ebuild 913 SHA256 9f4ffdaff9044e79e1af236e88e2d5bbd6c30e576bdc9ddc5667578dc1af630b SHA512 c4c4ff4041dc3fa30fc5866d308b1bc324415a891e159b91b3389e134f16652f3d4b9840b57b8f23d452ca83be73e43d05b41e4044e05517ea2b9c631fc6f0d0 WHIRLPOOL ebc44c336120c16f75ee5496f76296d4532d1459e0d73511158fa0d0cbc1d2ee0945d8707d423801691a254da2bf6147721650c2ea9625b5aa36eeebcffb4cd3
+MISC ChangeLog 3190 SHA256 e7aeb5b7893a089ad38863407b5e55f3500e18ed4177ff778e0567a133458dc3 SHA512 6e8031d5619564901de227777080fef526239a98d0333e3ec3c27b7c3e7a7a69eb2aa43b892f8f6a612971591baf4e6314ea095818c70eb3769b01b58be07106 WHIRLPOOL ed733ab64f107efad51235838a99c1b437340c6ab3d37b223b9aca5885a1ca5354fefe0a94a8a62c1443d040f99e11b48f487557c05322ca1498dec409fbe1cf
+MISC ChangeLog-2015 8768 SHA256 61316489eea80315349056bfda3910527dd16ba3eca41695e5b3610f27d7222f SHA512 63bc14ca6037262e7a3eeff3c5645726368ddc5b503d734847f3f88300bd08658e3006c7bbdcfa57dbf32cc109ebf08a306576596ea0c4268910e78985de06d0 WHIRLPOOL 89a2ad45d94c95607404d6c1d2bd93700d678bc38fbda6303429e814746273b110d8fff06d23373ccb3f3a4d972a0d1db9037bbb754f4143006e26a7a367093a
+MISC metadata.xml 611 SHA256 936ae377603e8c94dff4a7c6a5a263e2ee66bdd1bfcf68aa8a30393aadff7a1f SHA512 b6c98f9d50b76f67606e410a63360862014e1ebfe7218ecde84acdfa7d3fb4507c5480b083095204535489c36396c58f31c2610a80f684b49ceff66ca949fd2e WHIRLPOOL b64799b8984a11756ddd084c427354a22ebc7e20696f73622804bacb6dc3b94efdcdd2e349174e829211df2483ee85d390dcdd0b919222d7025ce7c55299e999
diff --git a/dev-vcs/rcs/metadata.xml b/dev-vcs/rcs/metadata.xml
new file mode 100644
index 000000000000..521535ab1877
--- /dev/null
+++ b/dev-vcs/rcs/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>titanofold@gentoo.org</email>
+ <name>Aaron W. Swenson</name>
+ </maintainer>
+ <longdescription>
+ The Revision Control System (RCS) is a system for managing
+ multiple versions of files. RCS automates the storage, retrieval,
+ logging, identification and merging of file revisions. RCS is useful
+ for text files that are revised frequently (for example, programs,
+ documentation, graphics, papers and form letters).
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-vcs/rcs/rcs-5.8.2.ebuild b/dev-vcs/rcs/rcs-5.8.2.ebuild
new file mode 100644
index 000000000000..ba609ed52b45
--- /dev/null
+++ b/dev-vcs/rcs/rcs-5.8.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils
+
+DESCRIPTION="Revision Control System"
+HOMEPAGE="https://www.gnu.org/software/rcs/"
+SRC_URI="mirror://gnu/rcs/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="doc"
+
+RDEPEND="sys-apps/diffutils"
+
+src_prepare() {
+ sed -i \
+ -e '/gets is a security hole/d' \
+ lib/stdio.in.h || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS ChangeLog NEWS README
+
+ if use doc; then
+ emake DESTDIR="${D}" install-html
+ rm -R "${ED}/usr/share/doc/rcs"
+ dohtml -r doc/rcs.html/
+ fi
+}
diff --git a/dev-vcs/rcs/rcs-5.9.3.ebuild b/dev-vcs/rcs/rcs-5.9.3.ebuild
new file mode 100644
index 000000000000..62e25445b0c0
--- /dev/null
+++ b/dev-vcs/rcs/rcs-5.9.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="Revision Control System"
+HOMEPAGE="https://www.gnu.org/software/rcs/"
+SRC_URI="mirror://gnu/rcs/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="doc"
+
+RDEPEND="
+ sys-apps/diffutils
+ sys-apps/ed"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ sed -i -e '/gets is a security hole/d' \
+ lib/stdio.in.h || die
+}
+
+src_configure() {
+ append-flags -std=gnu99
+ econf
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc ChangeLog NEWS README
+
+ if use doc; then
+ emake -C doc html
+ rm -R "${ED}/usr/share/doc/rcs"
+ mv doc/rcs.html doc/html
+ dodoc -r doc/html/
+ fi
+}
diff --git a/dev-vcs/rcs/rcs-5.9.4.ebuild b/dev-vcs/rcs/rcs-5.9.4.ebuild
new file mode 100644
index 000000000000..7740f1422be6
--- /dev/null
+++ b/dev-vcs/rcs/rcs-5.9.4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="Revision Control System"
+HOMEPAGE="https://www.gnu.org/software/rcs/"
+SRC_URI="mirror://gnu/rcs/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="doc"
+
+RDEPEND="
+ sys-apps/diffutils
+ sys-apps/ed"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ sed -i -e '/gets is a security hole/d' \
+ lib/stdio.in.h || die
+}
+
+src_configure() {
+ append-flags -std=gnu99
+ econf
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc ChangeLog NEWS README
+
+ if use doc; then
+ emake -C doc html
+ rm -R "${ED}/usr/share/doc/rcs"
+ mv doc/rcs.html doc/html
+ dodoc -r doc/html/
+ fi
+}
diff --git a/dev-vcs/rcsi/Manifest b/dev-vcs/rcsi/Manifest
new file mode 100644
index 000000000000..00d4dfd0d4d6
--- /dev/null
+++ b/dev-vcs/rcsi/Manifest
@@ -0,0 +1,5 @@
+DIST rcsi-0.5.tar.gz 68705 SHA256 b7b398addd2a329b1e737b21030e533c24611f1052d09135fddac6afbcd491b1 SHA512 4b9cf2bc9232fdad45461de1f2eca06958a26f2cfd1bb823be465102a152f31405aa611da922be5ebd9c83ff6efa62784fe9954563dee980befe1acd9c032f72 WHIRLPOOL 85be746f9fafd15e6d9d31afbdb7d7666786ee949c010e28586b891af30e156fa8620d42d579d4123259b8d5a295c0c6770071802379e14df07d1bd84816b622
+EBUILD rcsi-0.5.ebuild 658 SHA256 a8e690045bfa27dfcae5ffec4b65c1c409c987b567700be6913f7a16b787d0e1 SHA512 041bd1d29a1e40d436c80f2cf9b8faa463014e4937eb172f568972b7f70a1566605b25ea79d6c8455ea22371beeece64ccaba02ab7ce1a311ecd345c7026ec47 WHIRLPOOL 1e21c0ae124fd82e0477d4e830874509388ce899b70cb38840839a43ad3b34151785a36a43d1fc0ec0741de77ca7fe086cf7705a09a6c2b0007df4bf3c6b9079
+MISC ChangeLog 2413 SHA256 aebe6724a471d1db7198592e8a960d09a02817a0118de1473cd634baec89752b SHA512 fc27d91930aba2a7a008eb312e3c0a9eff4698098125f58b9caa15a9841fb332917fa4a0ede25d51d718ca63c4f7be70b438403313659e085c120d4cdf360075 WHIRLPOOL 171567f4a5c0ae2ee23ba29c0857b040e5daad3dfde094dca395dfeaa84488dbb29f81a094ab24fd1a9b054da2ffddf9878a1e2b45106aeb8f28cf77aa71412e
+MISC ChangeLog-2015 1168 SHA256 88375544cc334e5b1426d123f5b827fd8b64b51db4f01a486be4fb3eb3a747dc SHA512 2228946f25a1a37092d095ee5b95a551b89c9b4ddaac1319ff8e5a3566ee0c6fe22c9d13a442e07e8d67de092bd20ad50d921bea611785e3f02bfac5a13935d8 WHIRLPOOL 2cfb81c80f07cf2c525c502f6ee934bbb7bfca85881e3f69dcbe2f335ae8b5eaf648f8dc97288218990b79f7223cc33eac3d5408287f13a9cf52b03f2bbbf77c
+MISC metadata.xml 216 SHA256 f7475919f28a8a93ec8bd025c8f8bbab918f66d0d1737420c876f0480308fe6a SHA512 e881b59fe49746eb25ad66c258b41aba501e4eb563129093a3898ea970a20506e7898f7c355cfcf99605234962bf2c77c1309c258b9a2b84ee4302ccb71c9dbd WHIRLPOOL 163285b60aa93e00993af659dc1e29a9eb245bd3415dd5ec75b284250596165f469028102b72fa0c344834443a44c1bbcf6272fe6a3f5211f721fc96e1c6ec16
diff --git a/dev-vcs/rcsi/metadata.xml b/dev-vcs/rcsi/metadata.xml
new file mode 100644
index 000000000000..79d462e85571
--- /dev/null
+++ b/dev-vcs/rcsi/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/rcsi/rcsi-0.5.ebuild b/dev-vcs/rcsi/rcsi-0.5.ebuild
new file mode 100644
index 000000000000..cd4a10ad87e1
--- /dev/null
+++ b/dev-vcs/rcsi/rcsi-0.5.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit toolchain-funcs
+
+DESCRIPTION="A program to give information about RCS files"
+HOMEPAGE="http://www.colinbrough.pwp.blueyonder.co.uk/rcsi.README.html"
+SRC_URI="http://www.colinbrough.pwp.blueyonder.co.uk/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="sys-apps/sed"
+RDEPEND=">=dev-vcs/rcs-5.7-r2"
+
+S=${WORKDIR}/${PN}
+
+src_compile() {
+ $(tc-getCC) $CFLAGS $LDFLAGS rcsi.c -o rcsi || die "Compile failed"
+}
+
+src_install() {
+ dobin rcsi
+ doman rcsi.1
+ dodoc README
+ dohtml README.html example{1,2}.png
+}
diff --git a/dev-vcs/rsvndump/Manifest b/dev-vcs/rsvndump/Manifest
new file mode 100644
index 000000000000..1508bbe1511c
--- /dev/null
+++ b/dev-vcs/rsvndump/Manifest
@@ -0,0 +1,5 @@
+DIST rsvndump-0.6.tar.bz2 220891 SHA256 06512e1fb7bc847d6607cf1ab0339723ef2aa03836c1968eee3440a289327263 SHA512 cadb10b48e66be1ea562fa6b96460b5c864e2f16a1e0d5fbb4be4d31023b6d5dfa978634900b1649530a12335eb712032d9d9cc82f663737581521121d3b2120 WHIRLPOOL 3f2ce2e5ec482d286a4208deed769e910c859fea741678cb5e882d12608b4801e317dc024bbe39c05f1db547341e53bd815025561ace9b90a40f2e2f1b0ec53a
+EBUILD rsvndump-0.6.ebuild 764 SHA256 0b03dee7bbbc8be5d32454112e66a6c3adeab23d2301765de58776f10bb495b1 SHA512 990871b0bdfc71d85324e5f1d3292687fbf3317d70edbc70abb156f2c7ce5af4703e681e86cb9f8bea09169e1d252ab2a3c7314b368f021b78daa7efd00c054e WHIRLPOOL 36abc31c57b6891e0c5928456da5e4b32c19d72ce041fff27d96fe4dc3ba3039fb1d670a3e8b24ff5a802f3808ef0cec1538e64e19644425763df21cdce63106
+MISC ChangeLog 2413 SHA256 6567be4d43963438203ae68843d15a8014fa28293265e1b43b0f265df5fe2c14 SHA512 02c3304f1cd71840378b5de61e7b5e859625000bf1cb10c633ae71bb1baefa46e23a1d97ff0fe1f4fad06ce0f7886f7582f932b82149db3b13a1661526192238 WHIRLPOOL d7ffdfd0f3d0005d26695634054a9c1dca39e50792c70852c51375e6bd07dcb566b6c96df01f72199d6179872bf090021d04469e7674031ae314d8652f7dab68
+MISC ChangeLog-2015 2610 SHA256 3525b497ebf7cc39a89d53f67e184f09b18cf108b7f5bfd8c8a5feb1213de45c SHA512 1109006768962de7beaf33e7edf116f9b0338f05b110b65f73732c98a1992a3f86b2abb4498e7cc16666e1917a877883b2d8037966f2c31508e88f7549458087 WHIRLPOOL 46ebe0f279abcbeab8181b60caafe035027924c58e146493b77c44b6edaa8299ddd3776c93e518fbf7b167ef52e6aa634c6e92ac74aa825bba233c56e487938c
+MISC metadata.xml 327 SHA256 4284de33ea1c4e4cf15d900daf7653e3527842915c13e056e64301c901b59d8e SHA512 e2369924ca25cbb5c415f5aaabc86420e0a7d051a9409b9031a16bc489c3146b63d9e119b6128bb3cd82843bce740b32e9b4138a407330fc5059b4f5fe59aba2 WHIRLPOOL 1212ecb6209d85059628c7ff99f1581449495528e58a4bfd3bb60b662077e89ce217e8ea4a1e2d6ab2a904c68c63085dba591aa87a020f8f8cf4b826d456f021
diff --git a/dev-vcs/rsvndump/metadata.xml b/dev-vcs/rsvndump/metadata.xml
new file mode 100644
index 000000000000..47d01a8e9fa1
--- /dev/null
+++ b/dev-vcs/rsvndump/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sping@gentoo.org</email>
+ <name>Sebastian Pipping</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">rsvndump</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/rsvndump/rsvndump-0.6.ebuild b/dev-vcs/rsvndump/rsvndump-0.6.ebuild
new file mode 100644
index 000000000000..20ade2fa9657
--- /dev/null
+++ b/dev-vcs/rsvndump/rsvndump-0.6.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit eutils
+
+DESCRIPTION="Dump a remote Subversion repository"
+HOMEPAGE="http://rsvndump.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3+ BSD public-domain" # rsvndump, snappy-c, critbit89
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc"
+
+RDEPEND="dev-vcs/subversion
+ dev-libs/apr
+ dev-libs/apr-util
+ sys-devel/gettext"
+DEPEND="${RDEPEND}
+ doc? ( app-text/xmlto
+ >=app-text/asciidoc-8.4 )"
+
+src_configure() {
+ econf \
+ $(use_enable doc man) \
+ $(use_enable debug)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake failed"
+
+ dodoc AUTHORS ChangeLog NEWS README THANKS || die "dodoc failed"
+}
diff --git a/dev-vcs/stgit/Manifest b/dev-vcs/stgit/Manifest
new file mode 100644
index 000000000000..7b59c00c6130
--- /dev/null
+++ b/dev-vcs/stgit/Manifest
@@ -0,0 +1,11 @@
+AUX stgit-0.16-asciidoc-compat.patch 561 SHA256 3d2e1f78c9857d5e54e3c8de6ae4bf047c9271d44b41408ee2b770316746a637 SHA512 f5a4a260b5b732332a4157a82d7bd153971d0a41c55ce8c38beb58f85a989d7636ec3ff15dc3161d4c5775a392840d4970437abf4fd8c741cdcdf509fd826329 WHIRLPOOL 6dee03e89a11eeeee4a4af9304119f7a0bc9d655651cc4ae4807869fd5ac05fca423d768a5bb74b2e2399a0439058e51fc188afc40883503ae96ace9ff1d4f73
+AUX stgit-0.16-man-linkfix.patch 429 SHA256 456ec1faeea9f9a6c937e1afc3f3ee5dda63dc11ca6abd6e7b06cafe03bb6f97 SHA512 a4e240d804646f002089d428ee92e9a8cde5a7d7447ebd5d635514dc5777cf3d56fc59cef9f406f7313daf09775810b553a65685e419846691bbc2fc51afc2f5 WHIRLPOOL db1d2fd61e9b4826e3fd9804d3ae5ef27ec62866e5ac041650316a6e0703db5e2bcc40c5c95988fb3a0e067de8dd0980773d1e06558a87c113aa0ef8d0053413
+DIST stgit-0.16-missing-patches.tar.gz 1667 SHA256 f105bb417592be3c68d830ad1cf2e212e6e5cb809bf64cdffb516a0f7badd4f4 SHA512 29d4c3e68121654153b4e5142dd70d818737b09bbc8371d644a36dd9d18afaf78fdda91bc16f953c330bcbae19084384d8bcd216cdfe674df784e33165186db1 WHIRLPOOL c7628853e6c1eff498a95ff22ec3eb3bb69b60dfb0c6dcd5895a650b8d3aba966166dfd426a0c728e3d292f0a2ed197325b0af5ccd63fc99011b5b2e841e7194
+DIST stgit-0.16.tar.gz 362687 SHA256 02f1a19350ccf4a26abac1421df8c2d021e78f995c913f9562718a1700318a42 SHA512 782de3d5855aad4f5d040478745990517ebe2b26dc315a3ed41db95399bb46e075d63a70baa0e3aa2ab1012b59e6ad1f5940a904f296ef09d6bca60f66e417dd WHIRLPOOL e2334c041cb260455d549d33b6628fd4f6e1e7da850f2987ba86922504e07aed8177d092550348b52cad8894b0335d20ee1608b855fa1cb6545bdd301a9d38f1
+DIST stgit-0.17.1-upstream-patches-1.tar.xz 15324 SHA256 4ec973ee6a16daee616c5f675294e9351e4953b4d171059cddb504d286939cd3 SHA512 2d756d960b5bd803258afe0bb89cb29a960bc2745adf37f2b574fd114579a867ec51628f2267744ec2eec70090376274bfd720a612093a36f4bb8e4ecb8f6d30 WHIRLPOOL 538a060e8628b9d43af56568a267c2026a9088156af188d5a745adfbb11807dcf948f216e6492d51069c85e80985f156196df6b28eb2664b3e5e27a09b169c57
+DIST stgit-0.17.1.tar.gz 398466 SHA256 d43365a0c22e41a6fb9ba1a86de164d6475e79054e7f33805d6a829eb4056ade SHA512 3efdfb9bc024c3a7c0d74d49e85f157d5d5209c9a2ad0ce63a07138c02fb1580e92ac4a91796e79bbd221e6884317e975f9f44e35db0b484fd916bc67cd61abe WHIRLPOOL a7c4c83cfeace12ced60e846ed9daaffadea3ed201a90e72239e3f8df310164e00ce5a89174df177f89df4a609a66ac35e905f31419ed654081c3ab0c2cba859
+EBUILD stgit-0.16-r2.ebuild 1732 SHA256 f4186d6abc1596c7d61ba543a9fdac81ca7929bafae73cc9312d5ebd9abcdf93 SHA512 015a83ab10571d9000f0394c2173a56feac071ca6680ec9b4ee6b6e7c4be3a6e098a231be71bac87ddec9dfc415808f0a86dd30c4bb142493358d8558810cc0a WHIRLPOOL 653f79446ca4e0823109a144710ae64e737a2751e7f5319398dac88eb2d9d45720eb27f5121c20eb3af72112e85b931dda138391502a605be840603ef2ee0044
+EBUILD stgit-0.17.1-r2.ebuild 1942 SHA256 6a3cbe09716b84c0e32e9ad3408447a9ffa4e7151316afe7b886fba8c14364fa SHA512 ee18797389b9c2fa08534ca52af8ebe23d809f799bc929870073baba734c4cbcdcd88de73efc85410b7bad131b39275065c7b713630d86d663467b6c7592d030 WHIRLPOOL 7834ca56d216ea311ef94a1f0e429ea7e01a8cb222b5fae9c8ba8e3e4d25ec736d4825073b8e09921e2af230c7bf63d114ee3959625b7c93c01877f55e54d87e
+MISC ChangeLog 2897 SHA256 743f0c43d222fee585d1c3e48f5c7e9a535751f75e8ba0d7191914c936ef273f SHA512 2c86401c114db55c19fe26c3c1459afb3c43f36175e77bedc280a641b564771fd69532f7f68468ad4e9e9a3e495887287fc27582e38de501f7593d2d6a3ae258 WHIRLPOOL 8bad435f911194d3b8481d2e6c215a8222515777aff83b46ee0366e88addd8477055850122d83ba41c73aa9c9e06ceb6a09cff17723647c18fc03230837eb021
+MISC ChangeLog-2015 9103 SHA256 eafed372849816e41a7b359a434cf0223405cb1eab7345c740a6f087d18d7a15 SHA512 7d90f53d0510f3d5c9d5d65450fd38ca1a43f64cc4208a858597b5de3c18f0f75ff6f75e671289e49cb948319c5909358f6d798f9b53132a3b25bf6a161c47c8 WHIRLPOOL 1498950b6c15ee7a43e0f85f6125a1781c1215d628edd5c5108f079f00dab680112dd4ae747be1cad3b9280decdf108a93f6c5ed3038393de50ce9bf16b17137
+MISC metadata.xml 552 SHA256 358b2ba694fadd96c8c554301a2c6886f3aded5c2ed571772afedbcb55e993a4 SHA512 34e9dfa2342d0d899cdd8be4a9b24d16d7de6c026c0a7a167caeeb7d5155b9eb39c4de3e706fb2f6f5145a9f0920d35798eb986b2882a7409af1590109335d0e WHIRLPOOL 70154e752b3f11aed17ee781a0a9d819568e3f4ae74daebad2a0cc0ca49f0772509b5725953f9676c6dd18e4c982f3de32a1e9ee8f9605992a562833be949b10
diff --git a/dev-vcs/stgit/files/stgit-0.16-asciidoc-compat.patch b/dev-vcs/stgit/files/stgit-0.16-asciidoc-compat.patch
new file mode 100644
index 000000000000..4386953a3ef6
--- /dev/null
+++ b/dev-vcs/stgit/files/stgit-0.16-asciidoc-compat.patch
@@ -0,0 +1,13 @@
+diff -urN stgit-0.16.orig/Documentation/asciidoc.conf stgit-0.16/Documentation/asciidoc.conf
+--- stgit-0.16.orig/Documentation/asciidoc.conf 2012-01-09 13:12:42.000000000 -0800
++++ stgit-0.16/Documentation/asciidoc.conf 2012-07-06 04:31:38.279051055 -0700
+@@ -100,3 +100,9 @@
+ [linkstgsub-inlinemacro]
+ <a href="stg-{target}.html">{target}</a>
+ endif::backend-xhtml11[]
++
++[macros]
++# regexen to match macro templates above
++(?P<name>linkman):(?P<target>\w+)\[(?P<attrlist>\d+)]=
++(?P<name>linkstgsub):(?P<target>\w+)\[]=
++(?P<name>linkstg):(?P<target>\w+)\[]=
diff --git a/dev-vcs/stgit/files/stgit-0.16-man-linkfix.patch b/dev-vcs/stgit/files/stgit-0.16-man-linkfix.patch
new file mode 100644
index 000000000000..83fdb5457879
--- /dev/null
+++ b/dev-vcs/stgit/files/stgit-0.16-man-linkfix.patch
@@ -0,0 +1,11 @@
+--- Documentation/Makefile.old 2012-07-08 23:55:38.958779174 +0200
++++ Documentation/Makefile 2012-07-08 23:56:42.638010483 +0200
+@@ -72,7 +72,7 @@
+ $(ASCIIDOC) -b xhtml11 -d manpage -f asciidoc.conf $(ASCIIDOC_EXTRA) $<
+
+ %.1 : %.xml
+- xmlto -m callouts.xsl man $<
++ xmlto -m callouts.xsl --stringparam man.base.url.for.relative.links=$(htmldir) man $<
+
+ %.xml : %.txt
+ $(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf $<
diff --git a/dev-vcs/stgit/metadata.xml b/dev-vcs/stgit/metadata.xml
new file mode 100644
index 000000000000..01bb8987a0e8
--- /dev/null
+++ b/dev-vcs/stgit/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>gentoo@necoro.eu</email>
+ <name>René 'Necoro' Neumann</name>
+ <description>Proxy maintainer, assign bugs</description>
+</maintainer>
+<maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <description>Co maintainer, CC bugs</description>
+</maintainer>
+<maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/stgit/stgit-0.16-r2.ebuild b/dev-vcs/stgit/stgit-0.16-r2.ebuild
new file mode 100644
index 000000000000..07c880d7990f
--- /dev/null
+++ b/dev-vcs/stgit/stgit-0.16-r2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Manage a stack of patches using GIT as a backend"
+HOMEPAGE="http://www.procode.org/stgit/"
+SRC_URI="http://download.gna.org/${PN}/${P}.tar.gz
+ mirror://gentoo/${P}-missing-patches.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND=">=dev-vcs/git-1.6.3.3"
+
+# NOTE: It seems to be quite important which asciidoc version to use.
+# So keep an eye on it for the future.
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/asciidoc
+ app-text/xmlto
+ dev-lang/perl
+ )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-asciidoc-compat.patch"
+ "${FILESDIR}/${P}-man-linkfix.patch"
+)
+
+pkg_setup() {
+ if ! use doc; then
+ echo
+ ewarn "Manpages will not be built and installed."
+ ewarn "Enable the 'doc' useflag, if you want them."
+ echo
+ fi
+}
+
+python_prepare_all() {
+ # this will be a noop, as we are working with a tarball,
+ # but throws git errors --> just get rid of it
+ sed -i -e 's/version\.write_builtin_version()//' setup.py || die
+
+ # Workaround hardcoded prefix
+ sed -i -e "/prefix/s|/usr|${EPREFIX}/usr|" setup.cfg || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ emake DESTDIR="${D}" \
+ htmldir="${EPREFIX}/usr/share/doc/${PF}/html/" \
+ mandir="${EPREFIX}/usr/share/man/" \
+ doc
+ fi
+}
+
+python_install_all() {
+ if use doc; then
+ emake DESTDIR="${D}" \
+ htmldir="${EPREFIX}/usr/share/doc/${PF}/html/" \
+ mandir="${EPREFIX}/usr/share/man/" \
+ install-doc install-html
+ fi
+
+ distutils-r1_python_install_all
+
+ newbashcomp stgit-completion.bash 'stg'
+}
diff --git a/dev-vcs/stgit/stgit-0.17.1-r2.ebuild b/dev-vcs/stgit/stgit-0.17.1-r2.ebuild
new file mode 100644
index 000000000000..0fff41ef0534
--- /dev/null
+++ b/dev-vcs/stgit/stgit-0.17.1-r2.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Manage a stack of patches using GIT as a backend"
+HOMEPAGE="https://stgit.org https://gna.org/projects/stgit"
+UPSTREAM_VER=1
+[[ -n ${UPSTREAM_VER} ]] && \
+ UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
+
+SRC_URI="http://download.gna.org/${PN}/${P}.tar.gz
+ ${UPSTREAM_PATCHSET_URI}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND=">=dev-vcs/git-1.6.3.3"
+
+# NOTE: It seems to be quite important which asciidoc version to use.
+# So keep an eye on it for the future.
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/asciidoc
+ app-text/xmlto
+ dev-lang/perl
+ )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.16-man-linkfix.patch"
+)
+
+pkg_setup() {
+ if ! use doc; then
+ echo
+ ewarn "Manpages will not be built and installed."
+ ewarn "Enable the 'doc' useflag, if you want them."
+ echo
+ fi
+}
+
+python_prepare_all() {
+ # Upstream's patchset
+ if [[ -n ${UPSTREAM_VER} ]]; then
+ EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}"/patches-upstream
+ fi
+
+ # this will be a noop, as we are working with a tarball,
+ # but throws git errors --> just get rid of it
+ sed -i -e 's/version\.write_builtin_version()//' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_compile() {
+ distutils-r1_src_compile
+
+ # bug 526468
+ if use doc; then
+ emake DESTDIR="${D}" \
+ htmldir="${EPREFIX}/usr/share/doc/${PF}/html/" \
+ mandir="${EPREFIX}/usr/share/man/" \
+ doc
+ fi
+}
+
+src_install() {
+ if use doc; then
+ emake DESTDIR="${D}" \
+ htmldir="${EPREFIX}/usr/share/doc/${PF}/html/" \
+ mandir="${EPREFIX}/usr/share/man/" \
+ install-doc install-html
+ fi
+
+ distutils-r1_src_install
+
+ newbashcomp stgit-completion.bash 'stg'
+}
diff --git a/dev-vcs/subversion/Manifest b/dev-vcs/subversion/Manifest
new file mode 100644
index 000000000000..e4ceefed7e2a
--- /dev/null
+++ b/dev-vcs/subversion/Manifest
@@ -0,0 +1,20 @@
+AUX 47_mod_dav_svn.conf 422 SHA256 bdb10203ae3154da723655b07118f630ef1e83ec38a79e31a53e436e0c071d27 SHA512 05608aa7abca0ec55015232077db928453c92ccf8b595dd843ba13ed39703e01dcbe298c4ff57c638376679be9fea4b409e98953915b86dc6954e3e0de31b23d WHIRLPOOL 05f1048e41c9c59718fc794ae53de532565447186a2cef45a222bee3d45071976037cc2aa3d90b27df1c02c01ce262c7b8030c4ad021cd597f277b8b48c7d976
+AUX 70svn-gentoo.el 443 SHA256 23aa9effa5aea7ae73d14ae4df1a9269135137a5e483b4ff2a501dc130d7d1be SHA512 ab105533569ec81631491da4cd29488e77ae5713b5a2190afe1576e6434202a0c36fce7674cdf17a3e1e58650efba8915fb7e31c686def3701ef82803ecf8bea WHIRLPOOL 4f699ca38a1659ac2129f36de37ddd830d026520c1bf34562181ceb4763a38362cc3df516c3077ddbd66f36973d0c82f2d51d3a4657ba0af3722e61b29b4a53f
+AUX subversion-1.5.4-interix.patch 4375 SHA256 1cb7dec795921a89e90f792d0176c52239aa3d87064bafbd5af9ded4df981dbe SHA512 e63c49ae3935be14437702136175d38fac1a820ccc641eb9d94e51d89986847a408b49995c01dcfa4d45c3bf04c94134def117ff27802b3eb02a6268d6032b75 WHIRLPOOL 77d60f127f2132c6e5a8a00f4f6603dfeec8708b36dbbac8d806dc0bedcfd36426661adff6c49895c73dfb16883e18e0cdbc81f3a43d3f1ecace744a25a394a7
+AUX subversion-1.5.6-aix-dso.patch 734 SHA256 c22101230e0890daf006746ff7e447ffd4818bf6ce836a02fda5e721409f6d5e SHA512 fdc7f58519ae0b68458600472352fde8dd24cc32c3563ecd74da256fc6ad32dedfda78926aa60aa72a12b68a2a9e5dd43241bc501c707bb1f0b40c9e30d1b992 WHIRLPOOL 7cef41bb2d8e5b016ba1c4291dbb715cfd1ed57e5a4059bc70c20805b9c309063d4015033a05161d50737c7dde01b34700c0b130ea2c9bb306ec87a22c0bbf8b
+AUX subversion-1.8.0-hpux-dso.patch 615 SHA256 1ef3e8ae4d881ae9eec6c6e40ddff2e326357e39069c53b84e51b138f05d409a SHA512 02286f248caccc7ed2b834d8b648b9229fbbaabb69535f2d63b64f6e8711e96420f368917ada5d46f8882c085d68be5acf1ddadf6b7033c9fab70ade1348b2b1 WHIRLPOOL d9050799234d2af014d054ab4a9e13e3f6cd24981e1a4ae6f3313216cc744450e6bfe5aa0bb95ef777e7253b2c1f2609cb678a32a0d3e9ada77b20569b6f5a6c
+AUX subversion-1.8.1-revert_bdb6check.patch 3160 SHA256 4b42624c83c87a19c9e1f60fb08b1875e2de696bc6b92835e1404d689d078954 SHA512 9845582e974bad914608f9fa24fe8bb980ce525e94ddac0a9238953e3902879c492aff9388f11727e400c7ccf6a1aa9f2030d58e7b268e44363b53c312a39ec3 WHIRLPOOL 168f53408a1d9ab6f60dd1b5413b2187da832bec960a52d68757edf3ffd187e44672f15b08ac26fb6f966b91ea888da7525020d6d1a6148736f15e713efd3f62
+AUX subversion-1.8.16-javadoc-nolint.patch 688 SHA256 fae042dfb36474fad994a9de8fddced01a9df0dd2bc521e9a6e61c16f5d1d512 SHA512 0c34c6834ddcc7a9b263a84f21792a4e05c3dc71f122e43f0f5b3415fd45517f38df1c32dcae774af3d1e7776ac88241ff2fce0d974101ad3a8499c3798d8ce5 WHIRLPOOL 3309e79219bdb7d5f7a0552952cb70c0f03b5de11b97b9b90ccc23f65d3b3203f5c7c6d6989d6a3925b64b7a286d9ebb172f900776dfda541f0628fbf6ba6e13
+AUX subversion-1.8.5-swig-python-no-gnome-keyring.patch 39439 SHA256 0e0e8364ef4ba9835968a68329020f0ae1047c9d06c440a4bca21fa0f5effe19 SHA512 ecb8a11ae3fe8904d2381b85f841eedaf4d1f303baf079aab9a83a70c4b34212c7399f86276fb3e5b34557b2dde911f7abb246fe14cbc0a6b8c5fa15357d01a0 WHIRLPOOL e95ffc62e915814e359e9f603c8c2688395d45ef7a04aab107df46ed001c6741c0a74b8c02091af8eb84b294bd74b73f1adbb202965827d6647926e2292d3e50
+AUX subversion-fix-parallel-build-support-for-perl-bindings.patch 443 SHA256 658eb33490c2843aa0177dd09f5c48b50830dac01edd86569ffa35caad82175f SHA512 6c2d6f1a663a512999be992bad729b1034e1ea332c27721a336c62de97b44fd961e0d4c2ecb8d5cefe3761727dcaf1b3da238f308f3d31fdc55cf432608c0b2a WHIRLPOOL ae648916455f0413c0d72cc7baf520c9cfd89c4b08430f82f674ee5712a0022c53e411a9ea83df1f926101d42eceffa1e682b85e43e5300bd5126da805afd8ea
+AUX svnserve.confd 322 SHA256 45f2dc1a718aed885559e71d98112e670c92bd6b4f19c5cf593eced6cd2bbd97 SHA512 c84d96dad0deb40a04963654c5d0874697f2b270751b3ec41bec64847d61d9e88e336e2ee5da438a527b9d8b8b24d7ddbeacdd4bd4ce02db3629fc0972e0c289 WHIRLPOOL c91f8454f4a6d7fc9823bfbded1432993da14574693cfb4ffd6902fce136b2a14dc23616b523cf89e06493f96317ed0520a586af022d2cb1bea025ec99e53ed8
+AUX svnserve.initd3 575 SHA256 3cba218e648f7722e6e5541deb9e8ca0f53188195e33b17ca19efb8a300651cb SHA512 3efca4e5065cbe37f5137f3f67a0a654195e50ce0b00468f5edb1e5d476daa82422b1e833281d8edba111360b20d001a5991731e9f32bf3c88ffba75042e2b10 WHIRLPOOL 6fd459050d830c56e426679f4a4643a96e8fecb98bbe4e5f2e9927d1d34aa8e5b194806266133bddb409ea0e04b64f1b35d901d10afc80c06e03681ee29e3b56
+AUX svnserve.xinetd 332 SHA256 267f30c78ef6428aeeb97d3c64c06b9acfba4bc624766fc3c6a6d2c4133799a2 SHA512 80b486507d03f430e189ef65901ed185f487651400bada5709f544954eb6175d20a11cf98893f80ec963e434c5db5642bf9d1603d698ad8bbf96b88fa45ddbae WHIRLPOOL 0c5ed79630859706f18b56fbb910b4b2dc6b480cdf72a929f7d33232f23ee1eb7110b98c4a8e06cd06c620b9f4ff081bfae23edd1f6a65fade2ac5081dbf3962
+DIST subversion-1.8.18.tar.bz2 6884906 SHA256 e56b00ad3e927183bb6568781b85fe66dd3a7372c342af6e73b21a4473c397a6 SHA512 48d596c442da34fa3eb4f0f8b10cc3d5d27841b2fc4e7a493cac8e6f4c722f63fcd67fe99dfac5bbe31ac405055072a304d9a6771974c9990927cb21c5eb31d0 WHIRLPOOL a4e44512406bdadf8d80df4d888c0a6992affc04cd1de1a59482d031039ab9a485a85ab297b26f2f5c91c7883b14e00a7300b26413c28a5868f10424ff8c1c82
+DIST subversion-1.9.7.tar.bz2 7881909 SHA256 c3b118333ce12e501d509e66bb0a47bcc34d053990acab45559431ac3e491623 SHA512 a55efd3edaddbc099450d849fcc6fe5a8d20b85ece966d8ac2fd73ee9cb4255a0349bbcfceb4e9fca6daf054ce7c648eff8d273c6873f5dade6e62dcea7eeb2b WHIRLPOOL ec2491100ebc94fe9bb82b50daf349564ba7bf1ec7b404bf5a31aec0e1e0932843b41d96813a2659220e139c34aa996ddcbb2999528c49cea3dede2f2af43bf2
+EBUILD subversion-1.8.18.ebuild 15660 SHA256 88cf7cb692fbf25cf3439422d16abdfd910c1cdf422f31a14b08d9617f9436ed SHA512 935727b59ec36bfe4e4d88d9ea856a8d25fe5008bed094bf3f7e5ea6e04055291232a69df52673257becd9f01a5e35373aabc6d18fa90237556356656ec1452a WHIRLPOOL 8832cb6db3bc3087e981ac91baa35f4f2a5abe9831bdbbc97a2cead81e0e92414c2ebb86842e64c4d209d2749314c9656ac85da6f706e0ff8cc92ac3577ff2af
+EBUILD subversion-1.9.7.ebuild 15494 SHA256 807f92a9a33594ef7885ffb5a8be3fb08560517ef27dbf480a2da94ab1800395 SHA512 48e6636758c56d52614299204ad68a365b9ecdc2b93a34d7fa2abb4fcae9c4a1c18a00e635b0b1af663c7fd12ff9ce26bb5610f5ff2d339c3f658709d02969be WHIRLPOOL c5ea32a80e34752e8c8b947f42564e58bc9ff92a3ca0feef68cb66a13a89c266bae098e1e082f398ecbc399b67ab0658642f978793d119011330251a72f3fa81
+MISC ChangeLog 14490 SHA256 0c13176dd7232a1868cb334045f0131c9275578fec67ee8cfe60992ef07f322b SHA512 2ceb4527f821e7b77b36e47fd839c2ce3275e1059877364577b7a7a76f74c3abf07e8488a13bddd6460af99f1d5fd6ed1a1ebd81601314522144b343dafa933a WHIRLPOOL 24ad69676f7d826fcdf96af64839dac483063d7fecf7c1f4f58bfe8ff9de9691ff4539230ce4e4b8654b105109e7d1d8aa8b525188940f7b6024227227150cbd
+MISC ChangeLog-2014 104501 SHA256 896e4b8534542aeb582ae3a2e1fcbabd0dacf246fb1f5090161d690164d4ee05 SHA512 6e188d0437e11b908983a6093afa19d17e4c7dce7763fb26ea9a94a70c520ab31ad78829f03443347db0d199c3d30d5a92d73d1e32827e82a1e58535b1808644 WHIRLPOOL 6ecb4ed382b6466e6fa2143b8e9133fce01fcbd57485533637b4cc13663a216c853dbd3c2b3af0d5fcfce0dd1aece589b5c5d9f3275caf89fd0200e64fcad947
+MISC ChangeLog-2015 4610 SHA256 83a6d8ac2483ba6d7ed7b1b13cee328bc41c864d5d623d26b8ef50006acea549 SHA512 808dd5009e632291e9a5ea3d1f3cf3ecfc8edee4b477b4e275f46d7153f87db7302956594cfc54ca6787fff53af6943d15afde53b0d8ba6ebfa242e2395b8ce3 WHIRLPOOL c554427923da6dfc6764505122b777413b9d23901356cc93dbe49760a603ab08c24d0ff3a11e417e3b42445467c2ba6e6498121afc60ba20542b6d7ce8c54dd0
+MISC metadata.xml 659 SHA256 8905086e7ebf1b4e468db9967d2c6734398e92b637fa5a2492f0b649e9eda2be SHA512 2a2f10c5500540ae1bdd49d80d9689c14a79772d93b689db01e0cd1d63a729b86a7b28974492ee08d6433495c61d5a493590c4c60d843afc881c54d574369313 WHIRLPOOL db8d3f2124721bf1a4563a766131b93ee29326f64b154e862db0784993186f1b4b667cf5a6064ba3c1f18f75609d84d77061ca5447e4f6cd99d67c379f9338ce
diff --git a/dev-vcs/subversion/files/47_mod_dav_svn.conf b/dev-vcs/subversion/files/47_mod_dav_svn.conf
new file mode 100644
index 000000000000..52d08b7ab558
--- /dev/null
+++ b/dev-vcs/subversion/files/47_mod_dav_svn.conf
@@ -0,0 +1,16 @@
+<IfDefine SVN>
+LoadModule dav_svn_module modules/mod_dav_svn.so
+<IfDefine SVN_AUTHZ>
+LoadModule authz_svn_module modules/mod_authz_svn.so
+</IfDefine>
+
+# Example configuration:
+#<Location /svn/repos>
+# DAV svn
+# SVNPath ${SVN_REPOS_LOC}/repos
+# AuthType Basic
+# AuthName "Subversion repository"
+# AuthUserFile ${SVN_REPOS_LOC}/conf/svnusers
+# Require valid-user
+#</Location>
+</IfDefine>
diff --git a/dev-vcs/subversion/files/70svn-gentoo.el b/dev-vcs/subversion/files/70svn-gentoo.el
new file mode 100644
index 000000000000..e5721e2480c1
--- /dev/null
+++ b/dev-vcs/subversion/files/70svn-gentoo.el
@@ -0,0 +1,13 @@
+
+;;; subversion site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+(and (< emacs-major-version 22)
+ (add-to-list 'load-path "@SITELISP@/compat"))
+(add-to-list 'vc-handled-backends 'SVN)
+
+(defalias 'svn-examine 'svn-status)
+(autoload 'svn-status "dsvn" "Run `svn status'." t)
+(autoload 'svn-update "dsvn" "Run `svn update'." t)
+(autoload 'svn-status "psvn"
+ "Examine the status of Subversion working copy in directory DIR." t)
diff --git a/dev-vcs/subversion/files/subversion-1.5.4-interix.patch b/dev-vcs/subversion/files/subversion-1.5.4-interix.patch
new file mode 100644
index 000000000000..53ef6960c9f3
--- /dev/null
+++ b/dev-vcs/subversion/files/subversion-1.5.4-interix.patch
@@ -0,0 +1,114 @@
+diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h subversion-1.5.4/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h
+--- subversion-1.5.4.orig/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h 2008-10-29 08:22:36 +0100
++++ subversion-1.5.4/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h 2008-10-29 08:52:31 +0100
+@@ -49,6 +49,11 @@
+ # endif
+ #endif
+
++// This is bad, but better than nothing ;)
++#if defined(__INTERIX)
++# define strtoll strtol
++#endif
++
+
+
+ #if defined(SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK)
+diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/core.c subversion-1.5.4/subversion/bindings/swig/perl/native/core.c
+--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/core.c 2008-10-29 08:22:37 +0100
++++ subversion-1.5.4/subversion/bindings/swig/perl/native/core.c 2008-10-29 08:53:40 +0100
+@@ -1733,7 +1733,10 @@
+ # endif
+ #endif
+
+-
++#ifdef __INTERIX
++# define strtoull strtoul
++# define strtoll strtol
++#endif
+
+ SWIGINTERN int
+ SWIG_AsVal_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, long long *val)
+diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_client.c subversion-1.5.4/subversion/bindings/swig/perl/native/svn_client.c
+--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_client.c 2008-10-29 08:22:37 +0100
++++ subversion-1.5.4/subversion/bindings/swig/perl/native/svn_client.c 2008-10-29 08:54:17 +0100
+@@ -1872,6 +1872,10 @@
+ #endif
+
+
++#ifdef __INTERIX
++# define strtoull strtoul
++# define strtoll strtol
++#endif
+
+ SWIGINTERN int
+ SWIG_AsVal_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, long long *val)
+diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_delta.c subversion-1.5.4/subversion/bindings/swig/perl/native/svn_delta.c
+--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_delta.c 2008-10-29 08:22:37 +0100
++++ subversion-1.5.4/subversion/bindings/swig/perl/native/svn_delta.c 2008-10-29 08:54:28 +0100
+@@ -1745,6 +1745,10 @@
+ #endif
+
+
++#ifdef __INTERIX
++# define strtoull strtoul
++# define strtoll strtol
++#endif
+
+ SWIGINTERN int
+ SWIG_AsVal_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, long long *val)
+diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_fs.c subversion-1.5.4/subversion/bindings/swig/perl/native/svn_fs.c
+--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_fs.c 2008-10-29 08:22:37 +0100
++++ subversion-1.5.4/subversion/bindings/swig/perl/native/svn_fs.c 2008-10-29 08:54:41 +0100
+@@ -1818,6 +1818,10 @@
+ #endif
+
+
++#ifdef __INTERIX
++# define strtoull strtoul
++# define strtoll strtol
++#endif
+
+ SWIGINTERN int
+ SWIG_AsVal_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, long long *val)
+diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_ra.c subversion-1.5.4/subversion/bindings/swig/perl/native/svn_ra.c
+--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_ra.c 2008-10-29 08:22:37 +0100
++++ subversion-1.5.4/subversion/bindings/swig/perl/native/svn_ra.c 2008-10-29 08:54:52 +0100
+@@ -1661,6 +1661,10 @@
+ # endif
+ #endif
+
++#ifdef __INTERIX
++# define strtoull strtoul
++# define strtoll strtol
++#endif
+
+ SWIGINTERN int
+ SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(SV *obj, double *val)
+diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_repos.c subversion-1.5.4/subversion/bindings/swig/perl/native/svn_repos.c
+--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_repos.c 2008-10-29 08:22:37 +0100
++++ subversion-1.5.4/subversion/bindings/swig/perl/native/svn_repos.c 2008-10-29 08:55:05 +0100
+@@ -1792,6 +1792,10 @@
+ #endif
+
+
++#ifdef __INTERIX
++# define strtoull strtoul
++# define strtoll strtol
++#endif
+
+ SWIGINTERN int
+ SWIG_AsVal_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, long long *val)
+diff -ru subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_wc.c subversion-1.5.4/subversion/bindings/swig/perl/native/svn_wc.c
+--- subversion-1.5.4.orig/subversion/bindings/swig/perl/native/svn_wc.c 2008-10-29 08:22:37 +0100
++++ subversion-1.5.4/subversion/bindings/swig/perl/native/svn_wc.c 2008-10-29 08:55:17 +0100
+@@ -1816,6 +1816,10 @@
+ #endif
+
+
++#ifdef __INTERIX
++# define strtoull strtoul
++# define strtoll strtol
++#endif
+
+ SWIGINTERN int
+ SWIG_AsVal_long_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, long long *val)
diff --git a/dev-vcs/subversion/files/subversion-1.5.6-aix-dso.patch b/dev-vcs/subversion/files/subversion-1.5.6-aix-dso.patch
new file mode 100644
index 000000000000..69a4355f17af
--- /dev/null
+++ b/dev-vcs/subversion/files/subversion-1.5.6-aix-dso.patch
@@ -0,0 +1,21 @@
+On AIX, load shared libraries even when created with full aix-soname support:
+http://lists.gnu.org/archive/html/libtool/2011-01/msg00023.html
+http://lists.gnu.org/archive/html/libtool/2011-02/msg00000.html
+Once there is an agreement on that, this patch eventually is for upstream too.
+
+--- a/subversion/libsvn_ra/ra_loader.c
++++ b/subversion/libsvn_ra/ra_loader.c
+@@ -164,6 +164,13 @@
+
+ /* find/load the specified library */
+ SVN_ERR(svn_dso_load(&dso, libname));
++#ifdef _AIX
++ if (! dso) {
++ libname = apr_psprintf(pool, "libsvn_ra_%s-%d.so.0(shr.o)",
++ ra_name, SVN_VER_MAJOR);
++ SVN_ERR(svn_dso_load(&dso, libname));
++ }
++#endif
+ if (! dso)
+ return SVN_NO_ERROR;
+
diff --git a/dev-vcs/subversion/files/subversion-1.8.0-hpux-dso.patch b/dev-vcs/subversion/files/subversion-1.8.0-hpux-dso.patch
new file mode 100644
index 000000000000..80e5563672c7
--- /dev/null
+++ b/dev-vcs/subversion/files/subversion-1.8.0-hpux-dso.patch
@@ -0,0 +1,16 @@
+--- subversion-1.8.0/subversion/libsvn_ra/ra_loader.c
++++ subversion-1.8.0/subversion/libsvn_ra/ra_loader.c
+@@ -141,8 +141,13 @@
+ const char *compat_funcname;
+ apr_status_t status;
+
++#if defined(__hpux) && defined(__hppa)
++ libname = apr_psprintf(pool, "libsvn_ra_%s-%d.sl.%d",
++ ra_name, SVN_VER_MAJOR, SVN_SOVERSION);
++#else
+ libname = apr_psprintf(pool, "libsvn_ra_%s-%d.so.%d",
+ ra_name, SVN_VER_MAJOR, SVN_SOVERSION);
++#endif
+ funcname = apr_psprintf(pool, "svn_ra_%s__init", ra_name);
+ compat_funcname = apr_psprintf(pool, "svn_ra_%s_init", ra_name);
+
diff --git a/dev-vcs/subversion/files/subversion-1.8.1-revert_bdb6check.patch b/dev-vcs/subversion/files/subversion-1.8.1-revert_bdb6check.patch
new file mode 100644
index 000000000000..158c08233165
--- /dev/null
+++ b/dev-vcs/subversion/files/subversion-1.8.1-revert_bdb6check.patch
@@ -0,0 +1,85 @@
+--- subversion-1.8.1/build/ac-macros/berkeley-db.m4
++++ subversion-1.8.1/build/ac-macros/berkeley-db.m4
+@@ -48,7 +48,7 @@
+ AC_ARG_WITH(berkeley-db, [AS_HELP_STRING(
+ [[--with-berkeley-db[=HEADER:INCLUDES:LIB_SEARCH_DIRS:LIBS]]], [
+ The Subversion Berkeley DB based filesystem library
+- requires Berkeley DB $db_version or $db_alt_version. If you
++ requires Berkeley DB $db_version or newer. If you
+ specify `--without-berkeley-db', that library will
+ not be built. If you omit the argument of this option
+ completely, the configure script will use Berkeley DB
+@@ -126,35 +126,22 @@
+ svn_lib_berkeley_db=no
+ else
+ AC_MSG_CHECKING([for availability of Berkeley DB])
+- AC_ARG_ENABLE(bdb6,
+- AS_HELP_STRING([--enable-bdb6],
+- [Allow building against BDB 6+.
+- See --with-berkeley-db for specifying the location of
+- the Berkeley DB installation. Using BDB 6 will fail if
+- this option is not used.]),
+- [enable_bdb6=$enableval],[enable_bdb6=unspecified])
+-
+- SVN_LIB_BERKELEY_DB_TRY($1, $2, $3, $enable_bdb6)
++ SVN_LIB_BERKELEY_DB_TRY($1, $2, $3)
+ if test "$svn_have_berkeley_db" = "yes"; then
+ AC_MSG_RESULT([yes])
+ svn_lib_berkeley_db=yes
+ else
+- if test "$svn_have_berkeley_db" = "no6"; then
+- AC_MSG_RESULT([no (found version 6, but --enable-bdb6 not specified)])
+- # A warning will be printed at the end of configure.ac.
+- else
+- AC_MSG_RESULT([no])
+- fi
++ AC_MSG_RESULT([no])
+ svn_lib_berkeley_db=no
+ if test "$bdb_status" = "required"; then
+- AC_MSG_ERROR([Berkeley DB $db_version or $db_alt_version wasn't found.])
++ AC_MSG_ERROR([Berkeley DB $db_version or newer't found.])
+ fi
+ fi
+ fi
+ ])
+
+
+-dnl SVN_LIB_BERKELEY_DB_TRY(major, minor, patch, enable_bdb6)
++dnl SVN_LIB_BERKELEY_DB_TRY(major, minor, patch)
+ dnl
+ dnl A subroutine of SVN_LIB_BERKELEY_DB.
+ dnl
+@@ -187,7 +174,6 @@
+ svn_check_berkeley_db_major=$1
+ svn_check_berkeley_db_minor=$2
+ svn_check_berkeley_db_patch=$3
+- enable_bdb6=$4
+
+ if test -z "$SVN_DB_LIBS"; then
+ # We pass --dbm-libs here since Debian has modified apu-config not
+@@ -245,12 +231,6 @@
+ || patch != DB_VERSION_PATCH)
+ exit (1);
+
+- /* Block Berkeley DB 6, because (a) we haven't tested with it, (b) 6.0.20
+- and newer are under the AGPL, and we want use of AGPL dependencies to be
+- opt-in. */
+- if (major >= 6 && strcmp("$enable_bdb6", "yes"))
+- exit(2);
+-
+ /* Run-time check: ensure the library claims to be the correct version. */
+
+ if (major < $svn_check_berkeley_db_major)
+@@ -270,11 +250,7 @@
+ }
+ ]])],
+ [svn_have_berkeley_db=yes],
+- [rc=$?
+- svn_have_berkeley_db=no
+- if test $rc = 2; then
+- svn_have_berkeley_db=no6
+- fi],
++ [svn_have_berkeley_db=no],
+ [svn_have_berkeley_db=yes]
+ )
+
diff --git a/dev-vcs/subversion/files/subversion-1.8.16-javadoc-nolint.patch b/dev-vcs/subversion/files/subversion-1.8.16-javadoc-nolint.patch
new file mode 100644
index 000000000000..8b07d22ca3f4
--- /dev/null
+++ b/dev-vcs/subversion/files/subversion-1.8.16-javadoc-nolint.patch
@@ -0,0 +1,19 @@
+With newer versions of javadoc (since JDK-1.8), "make doc-javahl"
+reports many errors, causing build failures. Add "-Xdoclint:none"
+option to restore old, sloppy behavior.
+
+Patch created for subversion-1.8.16, should work for other other
+versions, too.
+See <https://bugs.gentoo.org/show_bug.cgi?id=551094>
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -650,7 +650,7 @@
+
+ # Generate API documentation for the JavaHL package.
+ doc-javahl:
+- $(JAVADOC) -d $(abs_builddir)/doc/javadoc \
++ $(JAVADOC) -Xdoclint:none -d $(abs_builddir)/doc/javadoc \
+ -sourcepath $(top_srcdir)/subversion/bindings/javahl/src \
+ -link http://java.sun.com/javase/6/docs/api/ \
+ org.tigris.subversion.javahl \
diff --git a/dev-vcs/subversion/files/subversion-1.8.5-swig-python-no-gnome-keyring.patch b/dev-vcs/subversion/files/subversion-1.8.5-swig-python-no-gnome-keyring.patch
new file mode 100644
index 000000000000..9feccfbe0481
--- /dev/null
+++ b/dev-vcs/subversion/files/subversion-1.8.5-swig-python-no-gnome-keyring.patch
@@ -0,0 +1,495 @@
+https://trac.macports.org/browser/trunk/dports/devel/subversion-python27bindings/files/patch-swig-python-core.diff
+
+diff -u -d -b -w -r subversion-1.8.0-orig/subversion/bindings/swig/python/core.c subversion-1.8.0-python/subversion/bindings/swig/python/core.c
+--- subversion/bindings/swig/python/core.c 2013-06-13 05:07:20.000000000 -0400
++++ subversion/bindings/swig/python/core.c 2013-07-12 16:11:05.000000000 -0400
+@@ -2958,140 +2958,139 @@
+ #define SWIGTYPE_p_apr_size_t swig_types[15]
+ #define SWIGTYPE_p_char swig_types[16]
+ #define SWIGTYPE_p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[17]
+-#define SWIGTYPE_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t swig_types[18]
+-#define SWIGTYPE_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void swig_types[19]
+-#define SWIGTYPE_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[20]
+-#define SWIGTYPE_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[21]
+-#define SWIGTYPE_p_f_p_p_svn_auth_cred_ssl_client_cert_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[22]
+-#define SWIGTYPE_p_f_p_p_svn_auth_cred_ssl_server_trust_t_p_void_p_q_const__char_apr_uint32_t_p_q_const__svn_auth_ssl_server_cert_info_t_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[23]
+-#define SWIGTYPE_p_f_p_p_svn_auth_cred_username_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[24]
+-#define SWIGTYPE_p_f_p_p_svn_stream_t_p_void_p_apr_pool_t_p_apr_pool_t__p_svn_error_t swig_types[25]
+-#define SWIGTYPE_p_f_p_p_void_p_p_void_p_void_p_apr_hash_t_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[26]
+-#define SWIGTYPE_p_f_p_p_void_p_void_p_void_p_apr_hash_t_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[27]
+-#define SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__int swig_types[28]
+-#define SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void_p_apr_pool_t__int swig_types[29]
+-#define SWIGTYPE_p_f_p_q_const__char_p_void__int swig_types[30]
+-#define SWIGTYPE_p_f_p_q_const__char_p_void_p_apr_pool_t__int swig_types[31]
+-#define SWIGTYPE_p_f_p_q_const__svn_commit_info_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[32]
+-#define SWIGTYPE_p_f_p_svn_boolean_t_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t swig_types[33]
+-#define SWIGTYPE_p_f_p_svn_boolean_t_p_void_p_q_const__char_p_q_const__char_p_apr_hash_t_p_apr_pool_t__p_svn_error_t swig_types[34]
+-#define SWIGTYPE_p_f_p_svn_boolean_t_p_void_p_void_p_apr_hash_t_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[35]
+-#define SWIGTYPE_p_f_p_svn_location_segment_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[36]
+-#define SWIGTYPE_p_f_p_void__p_svn_error_t swig_types[37]
+-#define SWIGTYPE_p_f_p_void_apr_size_t__p_svn_error_t swig_types[38]
+-#define SWIGTYPE_p_f_p_void_p_apr_hash_t_svn_revnum_t_p_q_const__char_p_q_const__char_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[39]
+-#define SWIGTYPE_p_f_p_void_p_char_p_apr_size_t__p_svn_error_t swig_types[40]
+-#define SWIGTYPE_p_f_p_void_p_p_svn_stream_mark_t_p_apr_pool_t__p_svn_error_t swig_types[41]
+-#define SWIGTYPE_p_f_p_void_p_q_const__char_p_apr_size_t__p_svn_error_t swig_types[42]
+-#define SWIGTYPE_p_f_p_void_p_q_const__char_p_q_const__apr_finfo_t_p_apr_pool_t__p_svn_error_t swig_types[43]
+-#define SWIGTYPE_p_f_p_void_p_q_const__svn_stream_mark_t__p_svn_error_t swig_types[44]
+-#define SWIGTYPE_p_f_p_void_p_svn_log_entry_t_p_apr_pool_t__p_svn_error_t swig_types[45]
+-#define SWIGTYPE_p_f_svn_revnum_t_p_q_const__char_p_q_const__char_p_void__p_svn_error_t swig_types[46]
+-#define SWIGTYPE_p_f_void__p_svn_version_t swig_types[47]
+-#define SWIGTYPE_p_int swig_types[48]
+-#define SWIGTYPE_p_long swig_types[49]
+-#define SWIGTYPE_p_p_apr_array_header_t swig_types[50]
+-#define SWIGTYPE_p_p_apr_file_t swig_types[51]
+-#define SWIGTYPE_p_p_apr_hash_t swig_types[52]
+-#define SWIGTYPE_p_p_char swig_types[53]
+-#define SWIGTYPE_p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t swig_types[54]
+-#define SWIGTYPE_p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void swig_types[55]
+-#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[56]
+-#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[57]
+-#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_ssl_client_cert_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[58]
+-#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_ssl_server_trust_t_p_void_p_q_const__char_apr_uint32_t_p_q_const__svn_auth_ssl_server_cert_info_t_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[59]
+-#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_username_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[60]
+-#define SWIGTYPE_p_p_f_p_p_svn_stream_t_p_void_p_apr_pool_t_p_apr_pool_t__p_svn_error_t swig_types[61]
+-#define SWIGTYPE_p_p_f_p_q_const__char_p_q_const__char_p_void__int swig_types[62]
+-#define SWIGTYPE_p_p_f_p_q_const__char_p_q_const__char_p_void_p_apr_pool_t__int swig_types[63]
+-#define SWIGTYPE_p_p_f_p_q_const__char_p_void__int swig_types[64]
+-#define SWIGTYPE_p_p_f_p_q_const__char_p_void_p_apr_pool_t__int swig_types[65]
+-#define SWIGTYPE_p_p_f_p_q_const__svn_commit_info_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[66]
+-#define SWIGTYPE_p_p_f_p_svn_boolean_t_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t swig_types[67]
+-#define SWIGTYPE_p_p_f_p_svn_boolean_t_p_void_p_q_const__char_p_q_const__char_p_apr_hash_t_p_apr_pool_t__p_svn_error_t swig_types[68]
+-#define SWIGTYPE_p_p_f_p_svn_location_segment_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[69]
+-#define SWIGTYPE_p_p_f_p_void__p_svn_error_t swig_types[70]
+-#define SWIGTYPE_p_p_f_p_void_apr_size_t__p_svn_error_t swig_types[71]
+-#define SWIGTYPE_p_p_f_p_void_p_apr_hash_t_svn_revnum_t_p_q_const__char_p_q_const__char_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[72]
+-#define SWIGTYPE_p_p_f_p_void_p_char_p_apr_size_t__p_svn_error_t swig_types[73]
+-#define SWIGTYPE_p_p_f_p_void_p_p_svn_stream_mark_t_p_apr_pool_t__p_svn_error_t swig_types[74]
+-#define SWIGTYPE_p_p_f_p_void_p_q_const__char_p_apr_size_t__p_svn_error_t swig_types[75]
+-#define SWIGTYPE_p_p_f_p_void_p_q_const__char_p_q_const__apr_finfo_t_p_apr_pool_t__p_svn_error_t swig_types[76]
+-#define SWIGTYPE_p_p_f_p_void_p_q_const__svn_stream_mark_t__p_svn_error_t swig_types[77]
+-#define SWIGTYPE_p_p_f_p_void_p_svn_log_entry_t_p_apr_pool_t__p_svn_error_t swig_types[78]
+-#define SWIGTYPE_p_p_f_svn_revnum_t_p_q_const__char_p_q_const__char_p_void__p_svn_error_t swig_types[79]
+-#define SWIGTYPE_p_p_f_void__p_svn_version_t swig_types[80]
+-#define SWIGTYPE_p_p_svn_auth_baton_t swig_types[81]
+-#define SWIGTYPE_p_p_svn_auth_cred_simple_t swig_types[82]
+-#define SWIGTYPE_p_p_svn_auth_cred_ssl_client_cert_pw_t swig_types[83]
+-#define SWIGTYPE_p_p_svn_auth_cred_ssl_client_cert_t swig_types[84]
+-#define SWIGTYPE_p_p_svn_auth_cred_ssl_server_trust_t swig_types[85]
+-#define SWIGTYPE_p_p_svn_auth_cred_username_t swig_types[86]
+-#define SWIGTYPE_p_p_svn_auth_iterstate_t swig_types[87]
+-#define SWIGTYPE_p_p_svn_auth_provider_object_t swig_types[88]
+-#define SWIGTYPE_p_p_svn_checksum_t swig_types[89]
+-#define SWIGTYPE_p_p_svn_config_t swig_types[90]
+-#define SWIGTYPE_p_p_svn_io_dirent2_t swig_types[91]
+-#define SWIGTYPE_p_p_svn_stream_mark_t swig_types[92]
+-#define SWIGTYPE_p_p_svn_stream_t swig_types[93]
+-#define SWIGTYPE_p_p_svn_string_t swig_types[94]
+-#define SWIGTYPE_p_p_svn_stringbuf_t swig_types[95]
+-#define SWIGTYPE_p_p_void swig_types[96]
+-#define SWIGTYPE_p_svn_auth_baton_t swig_types[97]
+-#define SWIGTYPE_p_svn_auth_cred_simple_t swig_types[98]
+-#define SWIGTYPE_p_svn_auth_cred_ssl_client_cert_pw_t swig_types[99]
+-#define SWIGTYPE_p_svn_auth_cred_ssl_client_cert_t swig_types[100]
+-#define SWIGTYPE_p_svn_auth_cred_ssl_server_trust_t swig_types[101]
+-#define SWIGTYPE_p_svn_auth_cred_username_t swig_types[102]
+-#define SWIGTYPE_p_svn_auth_iterstate_t swig_types[103]
+-#define SWIGTYPE_p_svn_auth_provider_object_t swig_types[104]
+-#define SWIGTYPE_p_svn_auth_provider_t swig_types[105]
+-#define SWIGTYPE_p_svn_auth_ssl_server_cert_info_t swig_types[106]
+-#define SWIGTYPE_p_svn_checksum_ctx_t swig_types[107]
+-#define SWIGTYPE_p_svn_checksum_kind_t swig_types[108]
+-#define SWIGTYPE_p_svn_checksum_t swig_types[109]
+-#define SWIGTYPE_p_svn_commit_info_t swig_types[110]
+-#define SWIGTYPE_p_svn_config_t swig_types[111]
+-#define SWIGTYPE_p_svn_depth_t swig_types[112]
+-#define SWIGTYPE_p_svn_dirent_t swig_types[113]
+-#define SWIGTYPE_p_svn_errno_t swig_types[114]
+-#define SWIGTYPE_p_svn_error_t swig_types[115]
+-#define SWIGTYPE_p_svn_io_dirent2_t swig_types[116]
+-#define SWIGTYPE_p_svn_io_dirent_t swig_types[117]
+-#define SWIGTYPE_p_svn_io_file_del_t swig_types[118]
+-#define SWIGTYPE_p_svn_location_segment_t swig_types[119]
+-#define SWIGTYPE_p_svn_lock_t swig_types[120]
+-#define SWIGTYPE_p_svn_log_changed_path2_t swig_types[121]
+-#define SWIGTYPE_p_svn_log_changed_path_t swig_types[122]
+-#define SWIGTYPE_p_svn_log_entry_t swig_types[123]
+-#define SWIGTYPE_p_svn_merge_range_t swig_types[124]
+-#define SWIGTYPE_p_svn_mergeinfo_inheritance_t swig_types[125]
+-#define SWIGTYPE_p_svn_node_kind_t swig_types[126]
+-#define SWIGTYPE_p_svn_opt_revision_range_t swig_types[127]
+-#define SWIGTYPE_p_svn_opt_revision_t swig_types[128]
+-#define SWIGTYPE_p_svn_opt_revision_value_t swig_types[129]
+-#define SWIGTYPE_p_svn_opt_subcommand_desc2_t swig_types[130]
+-#define SWIGTYPE_p_svn_opt_subcommand_desc2_t_desc_overrides swig_types[131]
+-#define SWIGTYPE_p_svn_opt_subcommand_desc_t swig_types[132]
+-#define SWIGTYPE_p_svn_prop_inherited_item_t swig_types[133]
+-#define SWIGTYPE_p_svn_prop_kind swig_types[134]
+-#define SWIGTYPE_p_svn_prop_t swig_types[135]
+-#define SWIGTYPE_p_svn_stream_mark_t swig_types[136]
+-#define SWIGTYPE_p_svn_stream_t swig_types[137]
+-#define SWIGTYPE_p_svn_string_t swig_types[138]
+-#define SWIGTYPE_p_svn_stringbuf_t swig_types[139]
+-#define SWIGTYPE_p_svn_tristate_t swig_types[140]
+-#define SWIGTYPE_p_svn_version_checklist_t swig_types[141]
+-#define SWIGTYPE_p_svn_version_ext_linked_lib_t swig_types[142]
+-#define SWIGTYPE_p_svn_version_ext_loaded_lib_t swig_types[143]
+-#define SWIGTYPE_p_svn_version_extended_t swig_types[144]
+-#define SWIGTYPE_p_svn_version_t swig_types[145]
+-#define SWIGTYPE_p_svn_wc_external_item2_t swig_types[146]
+-#define SWIGTYPE_p_unsigned_char swig_types[147]
+-#define SWIGTYPE_p_unsigned_long swig_types[148]
+-#define SWIGTYPE_p_void swig_types[149]
+-static swig_type_info *swig_types[151];
+-static swig_module_info swig_module = {swig_types, 150, 0, 0, 0, 0};
++#define SWIGTYPE_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void swig_types[18]
++#define SWIGTYPE_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[19]
++#define SWIGTYPE_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[20]
++#define SWIGTYPE_p_f_p_p_svn_auth_cred_ssl_client_cert_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[21]
++#define SWIGTYPE_p_f_p_p_svn_auth_cred_ssl_server_trust_t_p_void_p_q_const__char_apr_uint32_t_p_q_const__svn_auth_ssl_server_cert_info_t_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[22]
++#define SWIGTYPE_p_f_p_p_svn_auth_cred_username_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[23]
++#define SWIGTYPE_p_f_p_p_svn_stream_t_p_void_p_apr_pool_t_p_apr_pool_t__p_svn_error_t swig_types[24]
++#define SWIGTYPE_p_f_p_p_void_p_p_void_p_void_p_apr_hash_t_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[25]
++#define SWIGTYPE_p_f_p_p_void_p_void_p_void_p_apr_hash_t_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[26]
++#define SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__int swig_types[27]
++#define SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void_p_apr_pool_t__int swig_types[28]
++#define SWIGTYPE_p_f_p_q_const__char_p_void__int swig_types[29]
++#define SWIGTYPE_p_f_p_q_const__char_p_void_p_apr_pool_t__int swig_types[30]
++#define SWIGTYPE_p_f_p_q_const__svn_commit_info_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[31]
++#define SWIGTYPE_p_f_p_svn_boolean_t_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t swig_types[32]
++#define SWIGTYPE_p_f_p_svn_boolean_t_p_void_p_q_const__char_p_q_const__char_p_apr_hash_t_p_apr_pool_t__p_svn_error_t swig_types[33]
++#define SWIGTYPE_p_f_p_svn_boolean_t_p_void_p_void_p_apr_hash_t_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[34]
++#define SWIGTYPE_p_f_p_svn_location_segment_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[35]
++#define SWIGTYPE_p_f_p_void__p_svn_error_t swig_types[36]
++#define SWIGTYPE_p_f_p_void_apr_size_t__p_svn_error_t swig_types[37]
++#define SWIGTYPE_p_f_p_void_p_apr_hash_t_svn_revnum_t_p_q_const__char_p_q_const__char_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[38]
++#define SWIGTYPE_p_f_p_void_p_char_p_apr_size_t__p_svn_error_t swig_types[39]
++#define SWIGTYPE_p_f_p_void_p_p_svn_stream_mark_t_p_apr_pool_t__p_svn_error_t swig_types[40]
++#define SWIGTYPE_p_f_p_void_p_q_const__char_p_apr_size_t__p_svn_error_t swig_types[41]
++#define SWIGTYPE_p_f_p_void_p_q_const__char_p_q_const__apr_finfo_t_p_apr_pool_t__p_svn_error_t swig_types[42]
++#define SWIGTYPE_p_f_p_void_p_q_const__svn_stream_mark_t__p_svn_error_t swig_types[43]
++#define SWIGTYPE_p_f_p_void_p_svn_log_entry_t_p_apr_pool_t__p_svn_error_t swig_types[44]
++#define SWIGTYPE_p_f_svn_revnum_t_p_q_const__char_p_q_const__char_p_void__p_svn_error_t swig_types[45]
++#define SWIGTYPE_p_f_void__p_svn_version_t swig_types[46]
++#define SWIGTYPE_p_int swig_types[47]
++#define SWIGTYPE_p_long swig_types[48]
++#define SWIGTYPE_p_p_apr_array_header_t swig_types[49]
++#define SWIGTYPE_p_p_apr_file_t swig_types[50]
++#define SWIGTYPE_p_p_apr_hash_t swig_types[51]
++#define SWIGTYPE_p_p_char swig_types[52]
++#define SWIGTYPE_p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void swig_types[53]
++#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[54]
++#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[55]
++#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_ssl_client_cert_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[56]
++#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_ssl_server_trust_t_p_void_p_q_const__char_apr_uint32_t_p_q_const__svn_auth_ssl_server_cert_info_t_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[57]
++#define SWIGTYPE_p_p_f_p_p_svn_auth_cred_username_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t swig_types[58]
++#define SWIGTYPE_p_p_f_p_p_svn_stream_t_p_void_p_apr_pool_t_p_apr_pool_t__p_svn_error_t swig_types[59]
++#define SWIGTYPE_p_p_f_p_q_const__char_p_q_const__char_p_void__int swig_types[60]
++#define SWIGTYPE_p_p_f_p_q_const__char_p_q_const__char_p_void_p_apr_pool_t__int swig_types[61]
++#define SWIGTYPE_p_p_f_p_q_const__char_p_void__int swig_types[62]
++#define SWIGTYPE_p_p_f_p_q_const__char_p_void_p_apr_pool_t__int swig_types[63]
++#define SWIGTYPE_p_p_f_p_q_const__svn_commit_info_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[64]
++#define SWIGTYPE_p_p_f_p_svn_boolean_t_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t swig_types[65]
++#define SWIGTYPE_p_p_f_p_svn_boolean_t_p_void_p_q_const__char_p_q_const__char_p_apr_hash_t_p_apr_pool_t__p_svn_error_t swig_types[66]
++#define SWIGTYPE_p_p_f_p_svn_location_segment_t_p_void_p_apr_pool_t__p_svn_error_t swig_types[67]
++#define SWIGTYPE_p_p_f_p_void__p_svn_error_t swig_types[68]
++#define SWIGTYPE_p_p_f_p_void_apr_size_t__p_svn_error_t swig_types[69]
++#define SWIGTYPE_p_p_f_p_void_p_apr_hash_t_svn_revnum_t_p_q_const__char_p_q_const__char_p_q_const__char_p_apr_pool_t__p_svn_error_t swig_types[70]
++#define SWIGTYPE_p_p_f_p_void_p_char_p_apr_size_t__p_svn_error_t swig_types[71]
++#define SWIGTYPE_p_p_f_p_void_p_p_svn_stream_mark_t_p_apr_pool_t__p_svn_error_t swig_types[72]
++#define SWIGTYPE_p_p_f_p_void_p_q_const__char_p_apr_size_t__p_svn_error_t swig_types[73]
++#define SWIGTYPE_p_p_f_p_void_p_q_const__char_p_q_const__apr_finfo_t_p_apr_pool_t__p_svn_error_t swig_types[74]
++#define SWIGTYPE_p_p_f_p_void_p_q_const__svn_stream_mark_t__p_svn_error_t swig_types[75]
++#define SWIGTYPE_p_p_f_p_void_p_svn_log_entry_t_p_apr_pool_t__p_svn_error_t swig_types[76]
++#define SWIGTYPE_p_p_f_svn_revnum_t_p_q_const__char_p_q_const__char_p_void__p_svn_error_t swig_types[77]
++#define SWIGTYPE_p_p_f_void__p_svn_version_t swig_types[78]
++#define SWIGTYPE_p_p_svn_auth_baton_t swig_types[79]
++#define SWIGTYPE_p_p_svn_auth_cred_simple_t swig_types[80]
++#define SWIGTYPE_p_p_svn_auth_cred_ssl_client_cert_pw_t swig_types[81]
++#define SWIGTYPE_p_p_svn_auth_cred_ssl_client_cert_t swig_types[82]
++#define SWIGTYPE_p_p_svn_auth_cred_ssl_server_trust_t swig_types[83]
++#define SWIGTYPE_p_p_svn_auth_cred_username_t swig_types[84]
++#define SWIGTYPE_p_p_svn_auth_iterstate_t swig_types[85]
++#define SWIGTYPE_p_p_svn_auth_provider_object_t swig_types[86]
++#define SWIGTYPE_p_p_svn_checksum_t swig_types[87]
++#define SWIGTYPE_p_p_svn_config_t swig_types[88]
++#define SWIGTYPE_p_p_svn_io_dirent2_t swig_types[89]
++#define SWIGTYPE_p_p_svn_stream_mark_t swig_types[90]
++#define SWIGTYPE_p_p_svn_stream_t swig_types[91]
++#define SWIGTYPE_p_p_svn_string_t swig_types[92]
++#define SWIGTYPE_p_p_svn_stringbuf_t swig_types[93]
++#define SWIGTYPE_p_p_void swig_types[94]
++#define SWIGTYPE_p_svn_auth_baton_t swig_types[95]
++#define SWIGTYPE_p_svn_auth_cred_simple_t swig_types[96]
++#define SWIGTYPE_p_svn_auth_cred_ssl_client_cert_pw_t swig_types[97]
++#define SWIGTYPE_p_svn_auth_cred_ssl_client_cert_t swig_types[98]
++#define SWIGTYPE_p_svn_auth_cred_ssl_server_trust_t swig_types[99]
++#define SWIGTYPE_p_svn_auth_cred_username_t swig_types[100]
++#define SWIGTYPE_p_svn_auth_gnome_keyring_unlock_prompt_func_t swig_types[101]
++#define SWIGTYPE_p_svn_auth_iterstate_t swig_types[102]
++#define SWIGTYPE_p_svn_auth_provider_object_t swig_types[103]
++#define SWIGTYPE_p_svn_auth_provider_t swig_types[104]
++#define SWIGTYPE_p_svn_auth_ssl_server_cert_info_t swig_types[105]
++#define SWIGTYPE_p_svn_checksum_ctx_t swig_types[106]
++#define SWIGTYPE_p_svn_checksum_kind_t swig_types[107]
++#define SWIGTYPE_p_svn_checksum_t swig_types[108]
++#define SWIGTYPE_p_svn_commit_info_t swig_types[109]
++#define SWIGTYPE_p_svn_config_t swig_types[110]
++#define SWIGTYPE_p_svn_depth_t swig_types[111]
++#define SWIGTYPE_p_svn_dirent_t swig_types[112]
++#define SWIGTYPE_p_svn_errno_t swig_types[113]
++#define SWIGTYPE_p_svn_error_t swig_types[114]
++#define SWIGTYPE_p_svn_io_dirent2_t swig_types[115]
++#define SWIGTYPE_p_svn_io_dirent_t swig_types[116]
++#define SWIGTYPE_p_svn_io_file_del_t swig_types[117]
++#define SWIGTYPE_p_svn_location_segment_t swig_types[118]
++#define SWIGTYPE_p_svn_lock_t swig_types[119]
++#define SWIGTYPE_p_svn_log_changed_path2_t swig_types[120]
++#define SWIGTYPE_p_svn_log_changed_path_t swig_types[121]
++#define SWIGTYPE_p_svn_log_entry_t swig_types[122]
++#define SWIGTYPE_p_svn_merge_range_t swig_types[123]
++#define SWIGTYPE_p_svn_mergeinfo_inheritance_t swig_types[124]
++#define SWIGTYPE_p_svn_node_kind_t swig_types[125]
++#define SWIGTYPE_p_svn_opt_revision_range_t swig_types[126]
++#define SWIGTYPE_p_svn_opt_revision_t swig_types[127]
++#define SWIGTYPE_p_svn_opt_revision_value_t swig_types[128]
++#define SWIGTYPE_p_svn_opt_subcommand_desc2_t swig_types[129]
++#define SWIGTYPE_p_svn_opt_subcommand_desc2_t_desc_overrides swig_types[130]
++#define SWIGTYPE_p_svn_opt_subcommand_desc_t swig_types[131]
++#define SWIGTYPE_p_svn_prop_inherited_item_t swig_types[132]
++#define SWIGTYPE_p_svn_prop_kind swig_types[133]
++#define SWIGTYPE_p_svn_prop_t swig_types[134]
++#define SWIGTYPE_p_svn_stream_mark_t swig_types[135]
++#define SWIGTYPE_p_svn_stream_t swig_types[136]
++#define SWIGTYPE_p_svn_string_t swig_types[137]
++#define SWIGTYPE_p_svn_stringbuf_t swig_types[138]
++#define SWIGTYPE_p_svn_tristate_t swig_types[139]
++#define SWIGTYPE_p_svn_version_checklist_t swig_types[140]
++#define SWIGTYPE_p_svn_version_ext_linked_lib_t swig_types[141]
++#define SWIGTYPE_p_svn_version_ext_loaded_lib_t swig_types[142]
++#define SWIGTYPE_p_svn_version_extended_t swig_types[143]
++#define SWIGTYPE_p_svn_version_t swig_types[144]
++#define SWIGTYPE_p_svn_wc_external_item2_t swig_types[145]
++#define SWIGTYPE_p_unsigned_char swig_types[146]
++#define SWIGTYPE_p_unsigned_long swig_types[147]
++#define SWIGTYPE_p_void swig_types[148]
++static swig_type_info *swig_types[150];
++static swig_module_info swig_module = {swig_types, 149, 0, 0, 0, 0};
+ #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
+ #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
+
+@@ -3834,29 +3833,6 @@
+
+
+
+-/* Helper function to set the gnome-keyring unlock prompt function. This
+- * C function accepts an auth baton, a function and a prompt baton, but
+- * the below callback_typemap uses both the function and the prompt
+- * baton, so the resulting binding has just two arguments: The auth
+- * baton and the prompt function.
+- * The prompt function should again have two arguments: The keyring name
+- * (string) and a pool (except for the ruby version, which doesn't have
+- * the pool argument). It should return the entered password (string).
+- * This binding generated for this function generates a reference to the
+- * prompt function that was passed into this. The caller should store
+- * that reference somewhere, to prevent the function from being garbage
+- * collected...
+- */
+-static void svn_auth_set_gnome_keyring_unlock_prompt_func(svn_auth_baton_t *ab,
+- svn_auth_gnome_keyring_unlock_prompt_func_t prompt_func,
+- void *prompt_baton) {
+- svn_auth_set_parameter(ab, SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC,
+- prompt_func);
+- svn_auth_set_parameter(ab, SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_BATON,
+- prompt_baton);
+-}
+-
+-
+ static svn_error_t *
+ svn_swig_mergeinfo_merge(apr_hash_t **mergeinfo_inout,
+ apr_hash_t *changes,
+@@ -17674,7 +17650,7 @@
+ SWIGINTERN PyObject *svn_auth_gnome_keyring_unlock_prompt_func_t_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+- SWIG_TypeNewClientData(SWIGTYPE_p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t, SWIG_NewClientData(obj));
++ SWIG_TypeNewClientData(SWIGTYPE_p_svn_auth_gnome_keyring_unlock_prompt_func_t, SWIG_NewClientData(obj));
+ return SWIG_Py_Void();
+ }
+
+@@ -32562,40 +32538,6 @@
+ return SWIG_Py_Void();
+ }
+
+-SWIGINTERN PyObject *_wrap_svn_auth_set_gnome_keyring_unlock_prompt_func(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+- PyObject *resultobj = 0;
+- svn_auth_baton_t *arg1 = (svn_auth_baton_t *) 0 ;
+- svn_auth_gnome_keyring_unlock_prompt_func_t arg2 = (svn_auth_gnome_keyring_unlock_prompt_func_t) 0 ;
+- void *arg3 = (void *) 0 ;
+- PyObject * obj0 = 0 ;
+- PyObject * obj1 = 0 ;
+-
+- if (!PyArg_ParseTuple(args,(char *)"OO:svn_auth_set_gnome_keyring_unlock_prompt_func",&obj0,&obj1)) SWIG_fail;
+- {
+- arg1 = (svn_auth_baton_t *)svn_swig_MustGetPtr(obj0, SWIGTYPE_p_svn_auth_baton_t, svn_argnum_obj0);
+- if (PyErr_Occurred()) {
+- SWIG_fail;
+- }
+- }
+- {
+- arg2 = svn_swig_py_auth_gnome_keyring_unlock_prompt_func;
+- arg3 = obj1;
+- }
+- {
+- svn_swig_py_release_py_lock();
+-
+- svn_auth_set_gnome_keyring_unlock_prompt_func(arg1,arg2,arg3);
+-
+- svn_swig_py_acquire_py_lock();
+-
+- }
+- resultobj = SWIG_Py_Void();
+- return resultobj;
+-fail:
+- return NULL;
+-}
+-
+-
+ SWIGINTERN PyObject *_wrap_svn_swig_py_set_application_pool(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+ PyObject *resultobj = 0;
+ PyObject *arg1 = (PyObject *) 0 ;
+@@ -33902,7 +33844,6 @@
+ { (char *)"svn_checksum_is_empty_checksum", _wrap_svn_checksum_is_empty_checksum, METH_VARARGS, (char *)"svn_checksum_is_empty_checksum(svn_checksum_t checksum) -> svn_boolean_t"},
+ { (char *)"svn_checksum_mismatch_err", _wrap_svn_checksum_mismatch_err, METH_VARARGS, (char *)"svn_checksum_mismatch_err(svn_checksum_t expected, svn_checksum_t actual, apr_pool_t scratch_pool, char const * fmt) -> svn_error_t"},
+ { (char *)"svn_checksum_ctx_t_swigregister", svn_checksum_ctx_t_swigregister, METH_VARARGS, NULL},
+- { (char *)"svn_auth_set_gnome_keyring_unlock_prompt_func", _wrap_svn_auth_set_gnome_keyring_unlock_prompt_func, METH_VARARGS, (char *)"svn_auth_set_gnome_keyring_unlock_prompt_func(svn_auth_baton_t * ab, svn_auth_gnome_keyring_unlock_prompt_func_t prompt_func)"},
+ { (char *)"svn_swig_py_set_application_pool", _wrap_svn_swig_py_set_application_pool, METH_VARARGS, (char *)"svn_swig_py_set_application_pool(PyObject * py_pool, apr_pool_t pool)"},
+ { (char *)"svn_swig_py_clear_application_pool", _wrap_svn_swig_py_clear_application_pool, METH_VARARGS, (char *)"svn_swig_py_clear_application_pool()"},
+ { (char *)"apr_array_header_t_swigregister", apr_array_header_t_swigregister, METH_VARARGS, NULL},
+@@ -33937,7 +33878,6 @@
+ static swig_type_info _swigt__p_apr_size_t = {"_p_apr_size_t", "apr_size_t *", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t = {"_p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t", "svn_opt_subcommand_t *|struct svn_error_t *(*)(apr_getopt_t *,void *,apr_pool_t *)", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t = {"_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t", "svn_auth_gnome_keyring_unlock_prompt_func_t|struct svn_error_t *(*)(char **,char const *,void *,apr_pool_t *)", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void = {"_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void", "svn_auth_simple_provider_func_t|svn_auth_ssl_client_cert_pw_provider_func_t|void (*)(struct svn_auth_provider_object_t **,apr_pool_t *)", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t = {"_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t", "svn_auth_simple_prompt_func_t|struct svn_error_t *(*)(svn_auth_cred_simple_t **,void *,char const *,char const *,svn_boolean_t,apr_pool_t *)", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t = {"_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t", "svn_auth_ssl_client_cert_pw_prompt_func_t|struct svn_error_t *(*)(svn_auth_cred_ssl_client_cert_pw_t **,void *,char const *,svn_boolean_t,apr_pool_t *)", 0, 0, (void*)0, 0};
+@@ -33973,7 +33913,6 @@
+ static swig_type_info _swigt__p_p_apr_file_t = {"_p_p_apr_file_t", "apr_file_t **", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_p_apr_hash_t = {"_p_p_apr_hash_t", "apr_hash_t **|svn_mergeinfo_t *", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_p_char = {"_p_p_char", "char **", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t = {"_p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t", "struct svn_error_t *(**)(char **,char const *,void *,apr_pool_t *)|svn_auth_gnome_keyring_unlock_prompt_func_t *", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void = {"_p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void", "void (**)(struct svn_auth_provider_object_t **,apr_pool_t *)|svn_auth_simple_provider_func_t *|svn_auth_ssl_client_cert_pw_provider_func_t *", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t = {"_p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t", "struct svn_error_t *(**)(svn_auth_cred_simple_t **,void *,char const *,char const *,svn_boolean_t,apr_pool_t *)|svn_auth_simple_prompt_func_t *", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t = {"_p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t", "struct svn_error_t *(**)(svn_auth_cred_ssl_client_cert_pw_t **,void *,char const *,svn_boolean_t,apr_pool_t *)|svn_auth_ssl_client_cert_pw_prompt_func_t *", 0, 0, (void*)0, 0};
+@@ -34022,6 +33961,7 @@
+ static swig_type_info _swigt__p_svn_auth_cred_ssl_client_cert_t = {"_p_svn_auth_cred_ssl_client_cert_t", "struct svn_auth_cred_ssl_client_cert_t *|svn_auth_cred_ssl_client_cert_t *", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_svn_auth_cred_ssl_server_trust_t = {"_p_svn_auth_cred_ssl_server_trust_t", "struct svn_auth_cred_ssl_server_trust_t *|svn_auth_cred_ssl_server_trust_t *", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_svn_auth_cred_username_t = {"_p_svn_auth_cred_username_t", "struct svn_auth_cred_username_t *|svn_auth_cred_username_t *", 0, 0, (void*)0, 0};
++static swig_type_info _swigt__p_svn_auth_gnome_keyring_unlock_prompt_func_t = {"_p_svn_auth_gnome_keyring_unlock_prompt_func_t", "svn_auth_gnome_keyring_unlock_prompt_func_t *", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_svn_auth_iterstate_t = {"_p_svn_auth_iterstate_t", "struct svn_auth_iterstate_t *|svn_auth_iterstate_t *", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_svn_auth_provider_object_t = {"_p_svn_auth_provider_object_t", "struct svn_auth_provider_object_t *|svn_auth_provider_object_t *", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_svn_auth_provider_t = {"_p_svn_auth_provider_t", "struct svn_auth_provider_t *|svn_auth_provider_t *", 0, 0, (void*)0, 0};
+@@ -34089,7 +34029,6 @@
+ &_swigt__p_apr_size_t,
+ &_swigt__p_char,
+ &_swigt__p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t,
+- &_swigt__p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t,
+ &_swigt__p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void,
+ &_swigt__p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t,
+ &_swigt__p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t,
+@@ -34125,7 +34064,6 @@
+ &_swigt__p_p_apr_file_t,
+ &_swigt__p_p_apr_hash_t,
+ &_swigt__p_p_char,
+- &_swigt__p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t,
+ &_swigt__p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void,
+ &_swigt__p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t,
+ &_swigt__p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t,
+@@ -34174,6 +34112,7 @@
+ &_swigt__p_svn_auth_cred_ssl_client_cert_t,
+ &_swigt__p_svn_auth_cred_ssl_server_trust_t,
+ &_swigt__p_svn_auth_cred_username_t,
++ &_swigt__p_svn_auth_gnome_keyring_unlock_prompt_func_t,
+ &_swigt__p_svn_auth_iterstate_t,
+ &_swigt__p_svn_auth_provider_object_t,
+ &_swigt__p_svn_auth_provider_t,
+@@ -34241,7 +34180,6 @@
+ static swig_cast_info _swigc__p_apr_size_t[] = { {&_swigt__p_apr_size_t, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void[] = { {&_swigt__p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}};
+@@ -34277,7 +34215,6 @@
+ static swig_cast_info _swigc__p_p_apr_file_t[] = { {&_swigt__p_p_apr_file_t, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_p_apr_hash_t[] = { {&_swigt__p_p_apr_hash_t, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_p_char[] = { {&_swigt__p_p_char, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void[] = { {&_swigt__p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t[] = { {&_swigt__p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t, 0, 0, 0},{0, 0, 0, 0}};
+@@ -34326,6 +34263,7 @@
+ static swig_cast_info _swigc__p_svn_auth_cred_ssl_client_cert_t[] = { {&_swigt__p_svn_auth_cred_ssl_client_cert_t, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_svn_auth_cred_ssl_server_trust_t[] = { {&_swigt__p_svn_auth_cred_ssl_server_trust_t, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_svn_auth_cred_username_t[] = { {&_swigt__p_svn_auth_cred_username_t, 0, 0, 0},{0, 0, 0, 0}};
++static swig_cast_info _swigc__p_svn_auth_gnome_keyring_unlock_prompt_func_t[] = { {&_swigt__p_svn_auth_gnome_keyring_unlock_prompt_func_t, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_svn_auth_iterstate_t[] = { {&_swigt__p_svn_auth_iterstate_t, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_svn_auth_provider_object_t[] = { {&_swigt__p_svn_auth_provider_object_t, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_svn_auth_provider_t[] = { {&_swigt__p_svn_auth_provider_t, 0, 0, 0},{0, 0, 0, 0}};
+@@ -34393,7 +34331,6 @@
+ _swigc__p_apr_size_t,
+ _swigc__p_char,
+ _swigc__p_f_p_apr_getopt_t_p_void_p_apr_pool_t__p_svn_error_t,
+- _swigc__p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t,
+ _swigc__p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void,
+ _swigc__p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t,
+ _swigc__p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t,
+@@ -34429,7 +34366,6 @@
+ _swigc__p_p_apr_file_t,
+ _swigc__p_p_apr_hash_t,
+ _swigc__p_p_char,
+- _swigc__p_p_f_p_p_char_p_q_const__char_p_void_p_apr_pool_t__p_svn_error_t,
+ _swigc__p_p_f_p_p_struct_svn_auth_provider_object_t_p_apr_pool_t__void,
+ _swigc__p_p_f_p_p_svn_auth_cred_simple_t_p_void_p_q_const__char_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t,
+ _swigc__p_p_f_p_p_svn_auth_cred_ssl_client_cert_pw_t_p_void_p_q_const__char_svn_boolean_t_p_apr_pool_t__p_svn_error_t,
+@@ -34478,6 +34414,7 @@
+ _swigc__p_svn_auth_cred_ssl_client_cert_t,
+ _swigc__p_svn_auth_cred_ssl_server_trust_t,
+ _swigc__p_svn_auth_cred_username_t,
++ _swigc__p_svn_auth_gnome_keyring_unlock_prompt_func_t,
+ _swigc__p_svn_auth_iterstate_t,
+ _swigc__p_svn_auth_provider_object_t,
+ _swigc__p_svn_auth_provider_t,
+@@ -35638,8 +35575,6 @@
+ SWIG_Python_SetConstant(d, "SVN_AUTH_PARAM_CONFIG",SWIG_FromCharPtr("svn:auth:config-category-servers"));
+ SWIG_Python_SetConstant(d, "SVN_AUTH_PARAM_SERVER_GROUP",SWIG_FromCharPtr("svn:auth:server-group"));
+ SWIG_Python_SetConstant(d, "SVN_AUTH_PARAM_CONFIG_DIR",SWIG_FromCharPtr("svn:auth:config-dir"));
+- SWIG_Python_SetConstant(d, "SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC",SWIG_FromCharPtr("gnome-keyring-unlock-prompt-func"));
+- SWIG_Python_SetConstant(d, "SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_BATON",SWIG_FromCharPtr("gnome-keyring-unlock-prompt-baton"));
+ SWIG_Python_SetConstant(d, "SVN_CONFIG_CATEGORY_SERVERS",SWIG_FromCharPtr("servers"));
+ SWIG_Python_SetConstant(d, "SVN_CONFIG_SECTION_GROUPS",SWIG_FromCharPtr("groups"));
+ SWIG_Python_SetConstant(d, "SVN_CONFIG_SECTION_GLOBAL",SWIG_FromCharPtr("global"));
+diff -u -d -b -w -r subversion-1.8.0-orig/subversion/bindings/swig/python/core.py subversion-1.8.0-python/subversion/bindings/swig/python/core.py
+--- subversion/bindings/swig/python/core.py 2013-06-13 05:07:20.000000000 -0400
++++ subversion/bindings/swig/python/core.py 2013-07-12 16:11:04.000000000 -0400
+@@ -3316,8 +3316,6 @@
+ def svn_auth_get_platform_specific_client_providers(*args):
+ """svn_auth_get_platform_specific_client_providers(svn_config_t * config, apr_pool_t pool) -> svn_error_t"""
+ return _core.svn_auth_get_platform_specific_client_providers(*args)
+-SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC = _core.SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC
+-SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_BATON = _core.SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_BATON
+
+ def svn_auth_get_username_provider(*args):
+ """svn_auth_get_username_provider(apr_pool_t pool)"""
+@@ -6336,10 +6334,6 @@
+ svn_checksum_ctx_t_swigregister(svn_checksum_ctx_t)
+
+
+-def svn_auth_set_gnome_keyring_unlock_prompt_func(*args):
+- """svn_auth_set_gnome_keyring_unlock_prompt_func(svn_auth_baton_t * ab, svn_auth_gnome_keyring_unlock_prompt_func_t prompt_func)"""
+- return _core.svn_auth_set_gnome_keyring_unlock_prompt_func(*args)
+-
+ def svn_swig_py_set_application_pool(*args):
+ """svn_swig_py_set_application_pool(PyObject * py_pool, apr_pool_t pool)"""
+ return _core.svn_swig_py_set_application_pool(*args)
diff --git a/dev-vcs/subversion/files/subversion-fix-parallel-build-support-for-perl-bindings.patch b/dev-vcs/subversion/files/subversion-fix-parallel-build-support-for-perl-bindings.patch
new file mode 100644
index 000000000000..bffb43117b27
--- /dev/null
+++ b/dev-vcs/subversion/files/subversion-fix-parallel-build-support-for-perl-bindings.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -732,7 +732,7 @@
+ extraclean-swig-headers: clean-swig-headers
+ $(EXTRACLEAN_SWIG_HEADERS)
+
+-$(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in
++$(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in libsvn_swig_perl
+ ./config.status subversion/bindings/swig/perl/native/Makefile.PL
+
+ $(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL
diff --git a/dev-vcs/subversion/files/svnserve.confd b/dev-vcs/subversion/files/svnserve.confd
new file mode 100644
index 000000000000..83997ce92719
--- /dev/null
+++ b/dev-vcs/subversion/files/svnserve.confd
@@ -0,0 +1,10 @@
+# The commented variables in this file are the defaults that are used
+# in the init-script. You don't need to uncomment them except to
+# customize them to different values.
+
+# Options for svnserve
+#SVNSERVE_OPTS="--root=/var/svn"
+
+# User and group as which to run svnserve
+#SVNSERVE_USER="svn"
+#SVNSERVE_GROUP="svnusers"
diff --git a/dev-vcs/subversion/files/svnserve.initd3 b/dev-vcs/subversion/files/svnserve.initd3
new file mode 100644
index 000000000000..a28ce0b478a6
--- /dev/null
+++ b/dev-vcs/subversion/files/svnserve.initd3
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+description="svn server"
+pidfile="/var/run/svnserve.pid"
+command="/usr/bin/svnserve"
+command_args="--foreground --daemon ${SVNSERVE_OPTS:---root=/var/svn}"
+command_background="true"
+start_stop_daemon_args="-u ${SVNSERVE_USER:-apache} -g ${SVNSERVE_GROUP:-apache}"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ # Ensure that we run from a readable working dir, and that we do not
+ # lock filesystems when being run from such a location.
+ cd /
+}
diff --git a/dev-vcs/subversion/files/svnserve.xinetd b/dev-vcs/subversion/files/svnserve.xinetd
new file mode 100644
index 000000000000..e29f906b5096
--- /dev/null
+++ b/dev-vcs/subversion/files/svnserve.xinetd
@@ -0,0 +1,14 @@
+service svn
+{
+ socket_type = stream
+ wait = no
+ user = apache
+ group = apache
+ umask = 002
+ protocol = tcp
+ log_on_failure += USERID HOST
+ port = 3690
+ server = /usr/bin/svnserve
+ server_args = -i
+ disable = yes
+}
diff --git a/dev-vcs/subversion/metadata.xml b/dev-vcs/subversion/metadata.xml
new file mode 100644
index 000000000000..a8dc2a284ccc
--- /dev/null
+++ b/dev-vcs/subversion/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <use>
+ <flag name="ctypes-python">Build and install Ctypes Python bindings</flag>
+ <flag name="dso">Enable runtime module search</flag>
+ <flag name="extras">Install extra scripts (examples, tools, hooks)</flag>
+ <flag name="http">Enable http support using <pkg>net-libs/serf</pkg></flag>
+ <flag name="kwallet">Enable encrypted storage of passwords with <pkg>kde-frameworks/kwallet</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-vcs/subversion/subversion-1.8.18.ebuild b/dev-vcs/subversion/subversion-1.8.18.ebuild
new file mode 100644
index 000000000000..11446afe5dcf
--- /dev/null
+++ b/dev-vcs/subversion/subversion-1.8.18.ebuild
@@ -0,0 +1,509 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+USE_RUBY="ruby22 ruby21 ruby20"
+DISTUTILS_OPTIONAL=1
+WANT_AUTOMAKE="none"
+GENTOO_DEPEND_ON_PERL="no"
+
+inherit autotools bash-completion-r1 db-use depend.apache distutils-r1 elisp-common eutils flag-o-matic java-pkg-opt-2 libtool multilib perl-module ruby-single
+
+MY_P="${P/_/-}"
+DESCRIPTION="Advanced version control system"
+HOMEPAGE="http://subversion.apache.org/"
+SRC_URI="mirror://apache/${PN}/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Subversion GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="apache2 berkdb ctypes-python debug doc +dso extras gnome-keyring +http java kwallet nls perl python ruby sasl test vim-syntax"
+
+COMMON_DEPEND="
+ app-arch/bzip2
+ >=dev-db/sqlite-3.7.12
+ >=dev-libs/apr-1.3:1
+ >=dev-libs/apr-util-1.3:1
+ dev-libs/expat
+ sys-apps/file
+ sys-libs/zlib
+ berkdb? ( >=sys-libs/db-4.0.14:= )
+ ctypes-python? ( ${PYTHON_DEPS} )
+ gnome-keyring? ( dev-libs/glib:2 sys-apps/dbus gnome-base/libgnome-keyring )
+ http? ( >=net-libs/serf-1.2.1 )
+ kwallet? ( sys-apps/dbus dev-qt/qtcore:4 dev-qt/qtdbus:4 dev-qt/qtgui:4 kde-frameworks/kdelibs:4 )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( ${RUBY_DEPS} )
+ sasl? ( dev-libs/cyrus-sasl )"
+RDEPEND="${COMMON_DEPEND}
+ apache2? ( www-servers/apache[apache2_modules_dav] )
+ java? ( >=virtual/jre-1.5 )
+ kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1 )
+ nls? ( virtual/libintl )
+ perl? ( dev-perl/URI )"
+# Note: ctypesgen doesn't need PYTHON_USEDEP, it's used once
+DEPEND="${COMMON_DEPEND}
+ !!<sys-apps/sandbox-1.6
+ ctypes-python? ( dev-python/ctypesgen )
+ doc? ( app-doc/doxygen )
+ gnome-keyring? ( virtual/pkgconfig )
+ http? ( virtual/pkgconfig )
+ java? ( >=virtual/jdk-1.5 )
+ kwallet? ( virtual/pkgconfig )
+ nls? ( sys-devel/gettext )
+ test? ( ${PYTHON_DEPS} )"
+
+REQUIRED_USE="
+ ctypes-python? ( ${PYTHON_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ test? (
+ ${PYTHON_REQUIRED_USE}
+ !dso
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.4-interix.patch
+ "${FILESDIR}"/${PN}-1.5.6-aix-dso.patch
+ "${FILESDIR}"/${PN}-1.8.0-hpux-dso.patch
+ "${FILESDIR}"/${PN}-fix-parallel-build-support-for-perl-bindings.patch
+ "${FILESDIR}"/${PN}-1.8.1-revert_bdb6check.patch
+ "${FILESDIR}"/${PN}-1.8.16-javadoc-nolint.patch
+)
+
+want_apache
+
+pkg_setup() {
+ if use berkdb ; then
+ local apu_bdb_version="$(${EPREFIX}/usr/bin/apu-1-config --includes \
+ | grep -Eoe '-I${EPREFIX}/usr/include/db[[:digit:]]\.[[:digit:]]' \
+ | sed 's:.*b::')"
+ einfo
+ if [[ -z "${SVN_BDB_VERSION}" ]] ; then
+ if [[ -n "${apu_bdb_version}" ]] ; then
+ SVN_BDB_VERSION="${apu_bdb_version}"
+ einfo "Matching db version to apr-util"
+ else
+ SVN_BDB_VERSION="$(db_ver_to_slot "$(db_findver sys-libs/db 2>/dev/null)")"
+ einfo "SVN_BDB_VERSION variable isn't set. You can set it to enforce using of specific version of Berkeley DB."
+ fi
+ fi
+ einfo "Using: Berkeley DB ${SVN_BDB_VERSION}"
+ einfo
+
+ if [[ -n "${apu_bdb_version}" && "${SVN_BDB_VERSION}" != "${apu_bdb_version}" ]]; then
+ eerror "APR-Util is linked against Berkeley DB ${apu_bdb_version}, but you are trying"
+ eerror "to build Subversion with support for Berkeley DB ${SVN_BDB_VERSION}."
+ eerror "Rebuild dev-libs/apr-util or set SVN_BDB_VERSION=\"${apu_bdb_version}\"."
+ eerror "Aborting to avoid possible run-time crashes."
+ die "Berkeley DB version mismatch"
+ fi
+ fi
+
+ depend.apache_pkg_setup
+
+ java-pkg-opt-2_pkg_setup
+
+ if ! use http ; then
+ ewarn "WebDAV support is disabled. You need WebDAV to"
+ ewarn "access repositories through the HTTP protocol."
+ ewarn "Consider enabling \"http\" USE flag"
+ echo -ne "\a"
+ fi
+
+ if use debug ; then
+ append-cppflags -DSVN_DEBUG -DAP_DEBUG
+ fi
+
+ # http://mail-archives.apache.org/mod_mbox/subversion-dev/201306.mbox/%3C51C42014.3060700@wandisco.com%3E
+ [[ ${CHOST} == *-solaris2* ]] && append-cppflags -D__EXTENSIONS__
+
+ # Allow for custom repository locations.
+ SVN_REPOS_LOC="${SVN_REPOS_LOC:-${EPREFIX}/var/svn}"
+
+ if use ruby ; then
+ local rbslot
+ RB_VER=""
+ for rbslot in $(sed 's@\([[:digit:]]\+\)\([[:digit:]]\)@\1.\2@g' <<< ${USE_RUBY//ruby}) ; do
+ if has_version dev-lang/ruby:${rbslot} ; then
+ RB_VER="${rbslot/.}"
+ break
+ fi
+ done
+ [[ -z "${RB_VER}" ]] && die "No useable ruby version found"
+ fi
+}
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+
+ fperms +x build/transform_libtool_scripts.sh
+
+ sed -i \
+ -e "s/\(BUILD_RULES=.*\) bdb-test\(.*\)/\1\2/g" \
+ -e "s/\(BUILD_RULES=.*\) test\(.*\)/\1\2/g" configure.ac
+
+ # this bites us in particular on Solaris
+ sed -i -e '1c\#!/usr/bin/env sh' build/transform_libtool_scripts.sh || \
+ die "/bin/sh is not POSIX shell!"
+
+ eautoconf
+ elibtoolize
+
+ sed -e 's/\(libsvn_swig_py\)-\(1\.la\)/\1-$(EPYTHON)-\2/g' \
+ -i build-outputs.mk || die "sed failed"
+
+ if use python ; then
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # http://mail-archives.apache.org/mod_mbox/subversion-dev/201306.mbox/%3C20130614113003.GA19257@tarsus.local2%3E
+ # in short, we don't have gnome-keyring stuff here, patch
+ # borrowed from MacPorts
+ epatch "${FILESDIR}"/${PN}-1.8.5-swig-python-no-gnome-keyring.patch
+ fi
+
+ # XXX: make python_copy_sources accept path
+ S=${S}/subversion/bindings/swig/python python_copy_sources
+ rm -r "${S}"/subversion/bindings/swig/python || die
+ fi
+}
+
+src_configure() {
+ local myconf=()
+
+ if use python || use perl || use ruby; then
+ myconf+=( --with-swig )
+ else
+ myconf+=( --without-swig )
+ fi
+
+ if use java ; then
+ myconf+=( --without-junit )
+ fi
+
+ case ${CHOST} in
+ *-aix*)
+ # avoid recording immediate path to sharedlibs into executables
+ append-ldflags -Wl,-bnoipath
+ ;;
+ *-interix*)
+ # loader crashes on the LD_PRELOADs...
+ myconf+=( --disable-local-library-preloading )
+ ;;
+ *-solaris*)
+ # need -lintl to link
+ use nls && append-libs intl
+ # this breaks installation, on x64 echo replacement is 32-bits
+ myconf+=( --disable-local-library-preloading )
+ ;;
+ *-mint*)
+ myconf+=( --enable-all-static --disable-local-library-preloading )
+ ;;
+ *)
+ # inject LD_PRELOAD entries for easy in-tree development
+ myconf+=( --enable-local-library-preloading )
+ ;;
+ esac
+
+ #version 1.7.7 again tries to link against the older installed version and fails, when trying to
+ #compile for x86 on amd64, so workaround this issue again
+ #check newer versions, if this is still/again needed
+ myconf+=( --disable-disallowing-of-undefined-references )
+
+ # for build-time scripts
+ if use ctypes-python || use python || use test; then
+ python_setup
+ fi
+
+ if use python && [[ ${CHOST} == *-darwin* ]] ; then
+ export ac_cv_python_link="$(tc-getCC) "'$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)'
+ export ac_cv_python_libs='$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)'
+ export ac_cv_python_compile="$(tc-getCC)"
+ fi
+
+ # allow overriding Python include directory
+ ac_cv_path_RUBY=$(usex ruby "${EPREFIX}/usr/bin/ruby${RB_VER}" "none") \
+ ac_cv_path_RDOC=$(usex ruby "${EPREFIX}/usr/bin/rdoc${RB_VER}" "none") \
+ ac_cv_python_includes='-I$(PYTHON_INCLUDEDIR)' \
+ econf --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ $(use_with apache2 apache-libexecdir) \
+ $(use_with apache2 apxs "${APXS}") \
+ $(use_with berkdb berkeley-db "db.h:${EPREFIX}/usr/include/db${SVN_BDB_VERSION}::db-${SVN_BDB_VERSION}") \
+ $(use_with ctypes-python ctypesgen "${EPREFIX}/usr") \
+ $(use_enable dso runtime-module-search) \
+ $(use_with gnome-keyring) \
+ $(use_enable java javahl) \
+ $(use_with java jdk "${JAVA_HOME}") \
+ $(use_with kwallet) \
+ $(use_enable nls) \
+ $(use_with sasl) \
+ $(use_with http serf) \
+ ${myconf[@]} \
+ --with-apr="${EPREFIX}/usr/bin/apr-1-config" \
+ --with-apr-util="${EPREFIX}/usr/bin/apu-1-config" \
+ --disable-experimental-libtool \
+ --without-jikes \
+ --disable-mod-activation \
+ --disable-static
+}
+
+src_compile() {
+ emake local-all
+
+ if use ctypes-python ; then
+ # pre-generate .py files
+ use ctypes-python && emake ctypes-python
+
+ pushd subversion/bindings/ctypes-python >/dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+
+ if use python ; then
+ swig_py_compile() {
+ local p=subversion/bindings/swig/python
+ rm -f ${p} || die
+ ln -s "${BUILD_DIR}" ${p} || die
+
+ python_export PYTHON_INCLUDEDIR
+ emake swig-py \
+ swig_pydir="$(python_get_sitedir)/libsvn" \
+ swig_pydir_extra="$(python_get_sitedir)/svn"
+ }
+
+ # this will give us proper BUILD_DIR for symlinking
+ BUILD_DIR=python \
+ python_foreach_impl swig_py_compile
+ fi
+
+ if use perl ; then
+ emake swig-pl
+ fi
+
+ if use ruby ; then
+ emake swig-rb
+ fi
+
+ if use java ; then
+ emake -j1 JAVAC_FLAGS="$(java-pkg_javac-args) -encoding iso8859-1" javahl
+ fi
+
+ if use extras ; then
+ emake tools
+ fi
+
+ if use doc ; then
+ doxygen doc/doxygen.conf || die "Building of Subversion HTML documentation failed"
+
+ if use java; then
+ emake doc-javahl
+ fi
+ fi
+}
+
+src_test() {
+ if has_version ~${CATEGORY}/${P} ; then
+ default
+
+ if use ctypes-python ; then
+ python_test() {
+ "${PYTHON}" subversion/bindings/ctypes-python/test/run_all.py \
+ || die "ctypes-python tests fail with ${EPYTHON}"
+ }
+
+ distutils-r1_src_test
+ fi
+
+ if use python ; then
+ swig_py_test() {
+ pushd "${BUILD_DIR}" >/dev/null || die
+ "${PYTHON}" tests/run_all.py || die "swig-py tests fail with ${EPYTHON}"
+ popd >/dev/null || die
+ }
+
+ BUILD_DIR=subversion/bindings/swig/python \
+ python_foreach_impl swig_py_test
+ fi
+ else
+ ewarn "The test suite shows errors when there is an older version of"
+ ewarn "${CATEGORY}/${PN} installed. Please install =${CATEGORY}/${P}*"
+ ewarn "before running the test suite."
+ ewarn "Test suite skipped."
+ fi
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" local-install
+
+ if use ctypes-python ; then
+ pushd subversion/bindings/ctypes-python >/dev/null || die
+ distutils-r1_src_install
+ popd >/dev/null || die
+ fi
+
+ if use python ; then
+ swig_py_install() {
+ local p=subversion/bindings/swig/python
+ rm -f ${p} || die
+ ln -s "${BUILD_DIR}" ${p} || die
+
+ emake \
+ DESTDIR="${D}" \
+ swig_pydir="$(python_get_sitedir)/libsvn" \
+ swig_pydir_extra="$(python_get_sitedir)/svn" \
+ install-swig-py
+ }
+
+ BUILD_DIR=python \
+ python_foreach_impl swig_py_install
+ fi
+
+ if use perl ; then
+ emake DESTDIR="${D}" INSTALLDIRS="vendor" install-swig-pl
+ perl_delete_localpod
+ find "${ED}" "(" -name .packlist -o -name "*.bs" ")" -delete
+ fi
+
+ if use ruby ; then
+ emake DESTDIR="${D}" install-swig-rb
+ fi
+
+ if use java ; then
+ emake DESTDIR="${D}" install-javahl
+ java-pkg_regso "${ED}"usr/$(get_libdir)/libsvnjavahl*$(get_libname)
+ java-pkg_dojar "${ED}"usr/$(get_libdir)/svn-javahl/svn-javahl.jar
+ rm -fr "${ED}"usr/$(get_libdir)/svn-javahl/*.jar
+ fi
+
+ # Install Apache module configuration.
+ if use apache2 ; then
+ keepdir "${APACHE_MODULES_CONFDIR}"
+ insinto "${APACHE_MODULES_CONFDIR}"
+ doins "${FILESDIR}/47_mod_dav_svn.conf"
+ fi
+
+ # Install Bash Completion, bug 43179.
+ newbashcomp tools/client-side/bash_completion svn
+ bashcomp_alias svn svn{admin,dumpfilter,look,sync,version}
+ rm -f tools/client-side/bash_completion
+
+ # Install hot backup script, bug 54304.
+ newbin tools/backup/hot-backup.py svn-hot-backup
+ rm -fr tools/backup
+
+ # Install svnserve init-script and xinet.d snippet, bug 43245.
+ newinitd "${FILESDIR}"/svnserve.initd3 svnserve
+ newconfd "${FILESDIR}"/svnserve.confd svnserve
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/svnserve.xinetd svnserve
+
+ #adjust default user and group with disabled apache2 USE flag, bug 381385
+ use apache2 || sed -e "s\USER:-apache\USER:-svn\g" \
+ -e "s\GROUP:-apache\GROUP:-svnusers\g" \
+ -i "${ED}"etc/init.d/svnserve || die
+ use apache2 || sed -e "0,/apache/s//svn/" \
+ -e "s:apache:svnusers:" \
+ -i "${ED}"etc/xinetd.d/svnserve || die
+
+ # Install documentation.
+ dodoc CHANGES COMMITTERS README
+ dodoc tools/xslt/svnindex.{css,xsl}
+ rm -fr tools/xslt
+
+ # Install extra files.
+ if use extras ; then
+ cat << EOF > 80subversion-extras
+PATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin"
+ROOTPATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin"
+EOF
+ doenvd 80subversion-extras
+
+ emake DESTDIR="${D}" toolsdir="/usr/$(get_libdir)/subversion/bin" install-tools
+
+ find tools "(" -name "*.bat" -o -name "*.in" -o -name ".libs" ")" -print0 | xargs -0 rm -fr
+ rm -fr tools/client-side/svnmucc
+ rm -fr tools/server-side/{svn-populate-node-origins-index,svnauthz-validate}*
+ rm -fr tools/{buildbot,dev,diff,po}
+
+ insinto /usr/share/${PN}
+ find tools -name '*.py' -exec sed -i -e '1s:python:&2:' {} + || die
+ doins -r tools
+ fi
+
+ if use doc ; then
+ docinto html
+ dodoc -r doc/doxygen/html/*
+
+ if use java ; then
+ java-pkg_dojavadoc doc/javadoc
+ fi
+ fi
+
+ prune_libtool_files --all
+
+ cd "${ED}"usr/share/locale
+ for i in * ; do
+ [[ ${i} == *$LINGUAS* ]] || { rm -r ${i} || die ; }
+ done
+}
+
+pkg_preinst() {
+ # Compare versions of Berkeley DB, bug 122877.
+ if use berkdb && [[ -f "${EROOT}usr/bin/svn" ]] ; then
+ OLD_BDB_VERSION="$(scanelf -nq "${EROOT}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")"
+ NEW_BDB_VERSION="$(scanelf -nq "${ED}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")"
+ if [[ "${OLD_BDB_VERSION}" != "${NEW_BDB_VERSION}" ]] ; then
+ CHANGED_BDB_VERSION="1"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ if [[ -n "${CHANGED_BDB_VERSION}" ]] ; then
+ ewarn "You upgraded from an older version of Berkeley DB and may experience"
+ ewarn "problems with your repository. Run the following commands as root to fix it:"
+ ewarn " db4_recover -h ${SVN_REPOS_LOC}/repos"
+ ewarn " chown -Rf apache:apache ${SVN_REPOS_LOC}/repos"
+ fi
+
+ ewarn "If you run subversion as a daemon, you will need to restart it to avoid module mismatches."
+}
+
+pkg_postrm() {
+ :
+}
+
+pkg_config() {
+ # Remember: Don't use ${EROOT}${SVN_REPOS_LOC} since ${SVN_REPOS_LOC}
+ # already has EPREFIX in it
+ einfo "Initializing the database in ${SVN_REPOS_LOC}..."
+ if [[ -e "${SVN_REPOS_LOC}/repos" ]] ; then
+ echo "A Subversion repository already exists and I will not overwrite it."
+ echo "Delete \"${SVN_REPOS_LOC}/repos\" first if you're sure you want to have a clean version."
+ else
+ mkdir -p "${SVN_REPOS_LOC}/conf"
+
+ einfo "Populating repository directory..."
+ # Create initial repository.
+ "${EROOT}usr/bin/svnadmin" create "${SVN_REPOS_LOC}/repos"
+
+ einfo "Setting repository permissions..."
+ SVNSERVE_USER="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_USER}")"
+ SVNSERVE_GROUP="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_GROUP}")"
+ if use apache2 ; then
+ [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache"
+ [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache"
+ else
+ [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn"
+ [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers"
+ fi
+ chmod -Rf go-rwx "${SVN_REPOS_LOC}/conf"
+ chmod -Rf o-rwx "${SVN_REPOS_LOC}/repos"
+ echo "Please create \"${SVNSERVE_GROUP}\" group if it does not exist yet."
+ echo "Afterwards please create \"${SVNSERVE_USER}\" user with homedir \"${SVN_REPOS_LOC}\""
+ echo "and as part of the \"${SVNSERVE_GROUP}\" group if it does not exist yet."
+ echo "Finally, execute \"chown -Rf ${SVNSERVE_USER}:${SVNSERVE_GROUP} ${SVN_REPOS_LOC}/repos\""
+ echo "to finish the configuration."
+ fi
+}
diff --git a/dev-vcs/subversion/subversion-1.9.7.ebuild b/dev-vcs/subversion/subversion-1.9.7.ebuild
new file mode 100644
index 000000000000..f3c2697e04c9
--- /dev/null
+++ b/dev-vcs/subversion/subversion-1.9.7.ebuild
@@ -0,0 +1,507 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+USE_RUBY="ruby23 ruby22 ruby21"
+DISTUTILS_OPTIONAL=1
+WANT_AUTOMAKE="none"
+GENTOO_DEPEND_ON_PERL="no"
+
+inherit autotools bash-completion-r1 db-use depend.apache distutils-r1 elisp-common eutils flag-o-matic java-pkg-opt-2 libtool multilib perl-module ruby-single
+
+MY_P="${P/_/-}"
+DESCRIPTION="Advanced version control system"
+HOMEPAGE="http://subversion.apache.org/"
+SRC_URI="mirror://apache/${PN}/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Subversion GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="apache2 berkdb ctypes-python debug doc +dso extras gnome-keyring +http java kwallet nls perl python ruby sasl test vim-syntax"
+
+COMMON_DEPEND="
+ app-arch/bzip2
+ >=dev-db/sqlite-3.7.12
+ >=dev-libs/apr-1.3:1
+ >=dev-libs/apr-util-1.3:1
+ dev-libs/expat
+ sys-apps/file
+ sys-libs/zlib
+ berkdb? ( >=sys-libs/db-4.0.14:= )
+ ctypes-python? ( ${PYTHON_DEPS} )
+ gnome-keyring? ( dev-libs/glib:2 sys-apps/dbus gnome-base/libgnome-keyring )
+ http? ( >=net-libs/serf-1.3.4 )
+ kwallet? ( sys-apps/dbus dev-qt/qtcore:4 dev-qt/qtdbus:4 dev-qt/qtgui:4 kde-frameworks/kdelibs:4 )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( ${RUBY_DEPS} )
+ sasl? ( dev-libs/cyrus-sasl )"
+RDEPEND="${COMMON_DEPEND}
+ apache2? ( www-servers/apache[apache2_modules_dav] )
+ java? ( >=virtual/jre-1.5 )
+ kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1 )
+ nls? ( virtual/libintl )
+ perl? ( dev-perl/URI )"
+# Note: ctypesgen doesn't need PYTHON_USEDEP, it's used once
+DEPEND="${COMMON_DEPEND}
+ !!<sys-apps/sandbox-1.6
+ ctypes-python? ( dev-python/ctypesgen )
+ doc? ( app-doc/doxygen )
+ gnome-keyring? ( virtual/pkgconfig )
+ http? ( virtual/pkgconfig )
+ java? ( >=virtual/jdk-1.5 )
+ kwallet? ( virtual/pkgconfig )
+ nls? ( sys-devel/gettext )
+ test? ( ${PYTHON_DEPS} )"
+
+REQUIRED_USE="
+ ctypes-python? ( ${PYTHON_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ test? (
+ ${PYTHON_REQUIRED_USE}
+ !dso
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.4-interix.patch
+ "${FILESDIR}"/${PN}-1.5.6-aix-dso.patch
+ "${FILESDIR}"/${PN}-1.8.0-hpux-dso.patch
+ "${FILESDIR}"/${PN}-fix-parallel-build-support-for-perl-bindings.patch
+ "${FILESDIR}"/${PN}-1.8.1-revert_bdb6check.patch
+ "${FILESDIR}"/${PN}-1.8.16-javadoc-nolint.patch
+)
+
+want_apache
+
+pkg_setup() {
+ if use berkdb ; then
+ local apu_bdb_version="$(${EPREFIX}/usr/bin/apu-1-config --includes \
+ | grep -Eoe '-I${EPREFIX}/usr/include/db[[:digit:]]\.[[:digit:]]' \
+ | sed 's:.*b::')"
+ einfo
+ if [[ -z "${SVN_BDB_VERSION}" ]] ; then
+ if [[ -n "${apu_bdb_version}" ]] ; then
+ SVN_BDB_VERSION="${apu_bdb_version}"
+ einfo "Matching db version to apr-util"
+ else
+ SVN_BDB_VERSION="$(db_ver_to_slot "$(db_findver sys-libs/db 2>/dev/null)")"
+ einfo "SVN_BDB_VERSION variable isn't set. You can set it to enforce using of specific version of Berkeley DB."
+ fi
+ fi
+ einfo "Using: Berkeley DB ${SVN_BDB_VERSION}"
+ einfo
+
+ if [[ -n "${apu_bdb_version}" && "${SVN_BDB_VERSION}" != "${apu_bdb_version}" ]]; then
+ eerror "APR-Util is linked against Berkeley DB ${apu_bdb_version}, but you are trying"
+ eerror "to build Subversion with support for Berkeley DB ${SVN_BDB_VERSION}."
+ eerror "Rebuild dev-libs/apr-util or set SVN_BDB_VERSION=\"${apu_bdb_version}\"."
+ eerror "Aborting to avoid possible run-time crashes."
+ die "Berkeley DB version mismatch"
+ fi
+ fi
+
+ depend.apache_pkg_setup
+
+ java-pkg-opt-2_pkg_setup
+
+ if ! use http ; then
+ ewarn "WebDAV support is disabled. You need WebDAV to"
+ ewarn "access repositories through the HTTP protocol."
+ ewarn "Consider enabling \"http\" USE flag"
+ echo -ne "\a"
+ fi
+
+ if use debug ; then
+ append-cppflags -DSVN_DEBUG -DAP_DEBUG
+ fi
+
+ # http://mail-archives.apache.org/mod_mbox/subversion-dev/201306.mbox/%3C51C42014.3060700@wandisco.com%3E
+ [[ ${CHOST} == *-solaris2* ]] && append-cppflags -D__EXTENSIONS__
+
+ # Allow for custom repository locations.
+ SVN_REPOS_LOC="${SVN_REPOS_LOC:-${EPREFIX}/var/svn}"
+
+ if use ruby ; then
+ local rbslot
+ RB_VER=""
+ for rbslot in $(sed 's@\([[:digit:]]\+\)\([[:digit:]]\)@\1.\2@g' <<< ${USE_RUBY//ruby}) ; do
+ if has_version dev-lang/ruby:${rbslot} ; then
+ RB_VER="${rbslot/.}"
+ break
+ fi
+ done
+ [[ -z "${RB_VER}" ]] && die "No useable ruby version found"
+ fi
+}
+
+src_prepare() {
+ default
+
+ fperms +x build/transform_libtool_scripts.sh
+
+ sed -i \
+ -e "s/\(BUILD_RULES=.*\) bdb-test\(.*\)/\1\2/g" \
+ -e "s/\(BUILD_RULES=.*\) test\(.*\)/\1\2/g" configure.ac
+
+ # this bites us in particular on Solaris
+ sed -i -e '1c\#!/usr/bin/env sh' build/transform_libtool_scripts.sh || \
+ die "/bin/sh is not POSIX shell!"
+
+ eautoconf
+ elibtoolize
+
+ sed -e 's/\(libsvn_swig_py\)-\(1\.la\)/\1-$(EPYTHON)-\2/g' \
+ -i build-outputs.mk || die "sed failed"
+
+ if use python ; then
+ # XXX: make python_copy_sources accept path
+ S=${S}/subversion/bindings/swig/python python_copy_sources
+ rm -r "${S}"/subversion/bindings/swig/python || die
+ fi
+}
+
+src_configure() {
+ local myconf=(
+ --libdir="${EPREFIX%/}/usr/$(get_libdir)"
+ $(use_with apache2 apache-libexecdir)
+ $(use_with apache2 apxs "${APXS}")
+ $(use_with berkdb berkeley-db "db.h:${EPREFIX%/}/usr/include/db${SVN_BDB_VERSION}::db-${SVN_BDB_VERSION}")
+ $(use_with ctypes-python ctypesgen "${EPREFIX%/}/usr")
+ $(use_enable dso runtime-module-search)
+ $(use_with gnome-keyring)
+ $(use_enable java javahl)
+ $(use_with java jdk "${JAVA_HOME}")
+ $(use_with kwallet)
+ $(use_enable nls)
+ $(use_with sasl)
+ $(use_with http serf)
+ --with-apr="${EPREFIX%/}/usr/bin/apr-1-config"
+ --with-apr-util="${EPREFIX%/}/usr/bin/apu-1-config"
+ --disable-experimental-libtool
+ --without-jikes
+ --disable-mod-activation
+ --disable-static
+ )
+
+ if use python || use perl || use ruby; then
+ myconf+=( --with-swig )
+ else
+ myconf+=( --without-swig )
+ fi
+
+ if use java ; then
+ myconf+=( --without-junit )
+ fi
+
+ case ${CHOST} in
+ *-aix*)
+ # avoid recording immediate path to sharedlibs into executables
+ append-ldflags -Wl,-bnoipath
+ ;;
+ *-cygwin*)
+ # no LD_PRELOAD support, no undefined symbols
+ myconf+=( --disable-local-library-preloading LT_LDFLAGS=-no-undefined )
+ ;;
+ *-interix*)
+ # loader crashes on the LD_PRELOADs...
+ myconf+=( --disable-local-library-preloading )
+ ;;
+ *-solaris*)
+ # need -lintl to link
+ use nls && append-libs intl
+ # this breaks installation, on x64 echo replacement is 32-bits
+ myconf+=( --disable-local-library-preloading )
+ ;;
+ *-mint*)
+ myconf+=( --enable-all-static --disable-local-library-preloading )
+ ;;
+ *)
+ # inject LD_PRELOAD entries for easy in-tree development
+ myconf+=( --enable-local-library-preloading )
+ ;;
+ esac
+
+ #version 1.7.7 again tries to link against the older installed version and fails, when trying to
+ #compile for x86 on amd64, so workaround this issue again
+ #check newer versions, if this is still/again needed
+ myconf+=( --disable-disallowing-of-undefined-references )
+
+ # for build-time scripts
+ if use ctypes-python || use python || use test; then
+ python_setup
+ fi
+
+ if use python && [[ ${CHOST} == *-darwin* ]] ; then
+ export ac_cv_python_link="$(tc-getCC) "'$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)'
+ export ac_cv_python_libs='$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)'
+ export ac_cv_python_compile="$(tc-getCC)"
+ fi
+
+ # allow overriding Python include directory
+ ac_cv_path_RUBY=$(usex ruby "${EPREFIX%/}/usr/bin/ruby${RB_VER}" "none") \
+ ac_cv_path_RDOC=$(usex ruby "${EPREFIX%/}/usr/bin/rdoc${RB_VER}" "none") \
+ ac_cv_python_includes='-I$(PYTHON_INCLUDEDIR)' \
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake local-all
+
+ if use ctypes-python ; then
+ # pre-generate .py files
+ use ctypes-python && emake ctypes-python
+
+ pushd subversion/bindings/ctypes-python >/dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+
+ if use python ; then
+ swig_py_compile() {
+ local p=subversion/bindings/swig/python
+ rm -f ${p} || die
+ ln -s "${BUILD_DIR}" ${p} || die
+
+ python_export PYTHON_INCLUDEDIR
+ emake swig-py \
+ swig_pydir="$(python_get_sitedir)/libsvn" \
+ swig_pydir_extra="$(python_get_sitedir)/svn"
+ }
+
+ # this will give us proper BUILD_DIR for symlinking
+ BUILD_DIR=python \
+ python_foreach_impl swig_py_compile
+ fi
+
+ if use perl ; then
+ emake swig-pl
+ fi
+
+ if use ruby ; then
+ emake swig-rb
+ fi
+
+ if use java ; then
+ emake -j1 JAVAC_FLAGS="$(java-pkg_javac-args) -encoding iso8859-1" javahl
+ fi
+
+ if use extras ; then
+ emake tools
+ fi
+
+ if use doc ; then
+ doxygen doc/doxygen.conf || die "Building of Subversion HTML documentation failed"
+
+ if use java; then
+ emake doc-javahl
+ fi
+ fi
+}
+
+src_test() {
+ if has_version ~${CATEGORY}/${P} ; then
+ default
+
+ if use ctypes-python ; then
+ python_test() {
+ "${PYTHON}" subversion/bindings/ctypes-python/test/run_all.py \
+ || die "ctypes-python tests fail with ${EPYTHON}"
+ }
+
+ distutils-r1_src_test
+ fi
+
+ if use python ; then
+ swig_py_test() {
+ pushd "${BUILD_DIR}" >/dev/null || die
+ "${PYTHON}" tests/run_all.py || die "swig-py tests fail with ${EPYTHON}"
+ popd >/dev/null || die
+ }
+
+ BUILD_DIR=subversion/bindings/swig/python \
+ python_foreach_impl swig_py_test
+ fi
+ else
+ ewarn "The test suite shows errors when there is an older version of"
+ ewarn "${CATEGORY}/${PN} installed. Please install =${CATEGORY}/${P}*"
+ ewarn "before running the test suite."
+ ewarn "Test suite skipped."
+ fi
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" local-install
+
+ if use ctypes-python ; then
+ pushd subversion/bindings/ctypes-python >/dev/null || die
+ distutils-r1_src_install
+ popd >/dev/null || die
+ fi
+
+ if use python ; then
+ swig_py_install() {
+ local p=subversion/bindings/swig/python
+ rm -f ${p} || die
+ ln -s "${BUILD_DIR}" ${p} || die
+
+ emake \
+ DESTDIR="${D}" \
+ swig_pydir="$(python_get_sitedir)/libsvn" \
+ swig_pydir_extra="$(python_get_sitedir)/svn" \
+ install-swig-py
+ }
+
+ BUILD_DIR=python \
+ python_foreach_impl swig_py_install
+ fi
+
+ if use perl ; then
+ emake DESTDIR="${D}" INSTALLDIRS="vendor" install-swig-pl
+ perl_delete_localpod
+ find "${ED}" "(" -name .packlist -o -name "*.bs" ")" -delete
+ fi
+
+ if use ruby ; then
+ emake DESTDIR="${D}" install-swig-rb
+ fi
+
+ if use java ; then
+ emake DESTDIR="${D}" install-javahl
+ java-pkg_regso "${ED%/}"/usr/$(get_libdir)/libsvnjavahl*$(get_libname)
+ java-pkg_dojar "${ED%/}"/usr/$(get_libdir)/svn-javahl/svn-javahl.jar
+ rm -fr "${ED%/}"/usr/$(get_libdir)/svn-javahl/*.jar
+ fi
+
+ # Install Apache module configuration.
+ if use apache2 ; then
+ keepdir "${APACHE_MODULES_CONFDIR}"
+ insinto "${APACHE_MODULES_CONFDIR}"
+ doins "${FILESDIR}/47_mod_dav_svn.conf"
+ fi
+
+ # Install Bash Completion, bug 43179.
+ newbashcomp tools/client-side/bash_completion svn
+ bashcomp_alias svn svn{admin,dumpfilter,look,sync,version}
+ rm -f tools/client-side/bash_completion
+
+ # Install hot backup script, bug 54304.
+ newbin tools/backup/hot-backup.py svn-hot-backup
+ rm -fr tools/backup
+
+ # Install svnserve init-script and xinet.d snippet, bug 43245.
+ newinitd "${FILESDIR}"/svnserve.initd3 svnserve
+ newconfd "${FILESDIR}"/svnserve.confd svnserve
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/svnserve.xinetd svnserve
+
+ #adjust default user and group with disabled apache2 USE flag, bug 381385
+ use apache2 || sed -e "s\USER:-apache\USER:-svn\g" \
+ -e "s\GROUP:-apache\GROUP:-svnusers\g" \
+ -i "${ED%/}"/etc/init.d/svnserve || die
+ use apache2 || sed -e "0,/apache/s//svn/" \
+ -e "s:apache:svnusers:" \
+ -i "${ED%/}"/etc/xinetd.d/svnserve || die
+
+ # Install documentation.
+ dodoc CHANGES COMMITTERS README
+ dodoc tools/xslt/svnindex.{css,xsl}
+ rm -fr tools/xslt
+
+ # Install extra files.
+ if use extras ; then
+ cat <<- EOF > 80subversion-extras
+ PATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin"
+ ROOTPATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin"
+ EOF
+ doenvd 80subversion-extras
+
+ emake DESTDIR="${D}" toolsdir="/usr/$(get_libdir)/subversion/bin" install-tools
+
+ find tools "(" -name "*.bat" -o -name "*.in" -o -name ".libs" ")" -print0 | xargs -0 rm -fr
+ rm -fr tools/client-side/svnmucc
+ rm -fr tools/server-side/{svn-populate-node-origins-index,svnauthz-validate}*
+ rm -fr tools/{buildbot,dev,diff,po}
+
+ insinto /usr/share/${PN}
+ find tools -name '*.py' -exec sed -i -e '1s:python:&2:' {} + || die
+ doins -r tools
+ fi
+
+ if use doc ; then
+ docinto html
+ dodoc -r doc/doxygen/html/*
+
+ if use java ; then
+ java-pkg_dojavadoc doc/javadoc
+ fi
+ fi
+
+ prune_libtool_files --all
+
+ cd "${ED%/}"/usr/share/locale
+ for i in * ; do
+ [[ ${i} == *$LINGUAS* ]] || { rm -r ${i} || die ; }
+ done
+}
+
+pkg_preinst() {
+ # Compare versions of Berkeley DB, bug 122877.
+ if use berkdb && [[ -f "${EROOT%/}/usr/bin/svn" ]] ; then
+ OLD_BDB_VERSION="$(scanelf -nq "${EROOT%/}/usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")"
+ NEW_BDB_VERSION="$(scanelf -nq "${ED%/}/usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")"
+ if [[ "${OLD_BDB_VERSION}" != "${NEW_BDB_VERSION}" ]] ; then
+ CHANGED_BDB_VERSION="1"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ if [[ -n "${CHANGED_BDB_VERSION}" ]] ; then
+ ewarn "You upgraded from an older version of Berkeley DB and may experience"
+ ewarn "problems with your repository. Run the following commands as root to fix it:"
+ ewarn " db4_recover -h ${SVN_REPOS_LOC}/repos"
+ ewarn " chown -Rf apache:apache ${SVN_REPOS_LOC}/repos"
+ fi
+
+ ewarn "If you run subversion as a daemon, you will need to restart it to avoid module mismatches."
+}
+
+pkg_postrm() {
+ :
+}
+
+pkg_config() {
+ # Remember: Don't use ${EROOT}${SVN_REPOS_LOC} since ${SVN_REPOS_LOC}
+ # already has EPREFIX in it
+ einfo "Initializing the database in ${SVN_REPOS_LOC}..."
+ if [[ -e "${SVN_REPOS_LOC}/repos" ]] ; then
+ echo "A Subversion repository already exists and I will not overwrite it."
+ echo "Delete \"${SVN_REPOS_LOC}/repos\" first if you're sure you want to have a clean version."
+ else
+ mkdir -p "${SVN_REPOS_LOC}/conf"
+
+ einfo "Populating repository directory..."
+ # Create initial repository.
+ "${EROOT}usr/bin/svnadmin" create "${SVN_REPOS_LOC}/repos"
+
+ einfo "Setting repository permissions..."
+ SVNSERVE_USER="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_USER}")"
+ SVNSERVE_GROUP="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_GROUP}")"
+ if use apache2 ; then
+ [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache"
+ [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache"
+ else
+ [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn"
+ [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers"
+ fi
+ chmod -Rf go-rwx "${SVN_REPOS_LOC}/conf"
+ chmod -Rf o-rwx "${SVN_REPOS_LOC}/repos"
+ echo "Please create \"${SVNSERVE_GROUP}\" group if it does not exist yet."
+ echo "Afterwards please create \"${SVNSERVE_USER}\" user with homedir \"${SVN_REPOS_LOC}\""
+ echo "and as part of the \"${SVNSERVE_GROUP}\" group if it does not exist yet."
+ echo "Finally, execute \"chown -Rf ${SVNSERVE_USER}:${SVNSERVE_GROUP} ${SVN_REPOS_LOC}/repos\""
+ echo "to finish the configuration."
+ fi
+}
diff --git a/dev-vcs/svn2cl/Manifest b/dev-vcs/svn2cl/Manifest
new file mode 100644
index 000000000000..20f7069d28fe
--- /dev/null
+++ b/dev-vcs/svn2cl/Manifest
@@ -0,0 +1,6 @@
+AUX 0.9-wrapper.patch 531 SHA256 e32078bb132572ecf410a1599aadcaff3a271ccb6076020c8db22c7b406c32da SHA512 8e36433178d68e6e1c0f7d1259c8aecb1ee70f04fc47033f5e7c58b0aa273fcdf20aa425bce673bea3c36d8374da8ef35f4e0854fc6f62a3c0f36b414ff21610 WHIRLPOOL c1871eedd133de7cd10ba1eb47cceb1a8270e8969b749f28e0fd810ef1b350270a4fe62b26f667b885f4acf64fc63c9402919de60573f87087f3f37169c4838e
+DIST svn2cl-0.12.tar.gz 18171 SHA256 abb8976a7862d267eebe98deb1082a9e5a236a63db9dd304794f969ccd777c74 SHA512 c84f0f67b34d615b1732cd03ecbdb6d3bb082677145acf2f32f74518306347eb984d65d4837f2463b369cd7a8a7443d2cfba589c531b46f423870c55b0b48aa2 WHIRLPOOL 9b5b4e7315d6537e0f3a1fbc11f1e7f9e6cff37f4c2d598df853adeab718f7c1f92de81a8c40cd7331544afe1af5fef5b6c60032e7f8818e153455b2e6716883
+EBUILD svn2cl-0.12.ebuild 960 SHA256 982b10f0baf55e0601d5394b54441145297a9249960793a3a9a01bf0fb77ce14 SHA512 def3975a975a2713c02834b6e8e6c4a24e2b65d3f6e95c123d15482fdc1f43a4d1a54fa234485eda663b3821326fef0af8609c41adf24c8d05d28e96dfa5490f WHIRLPOOL 928cfb0a060c2ded6be23ef164a45402efecb52030ae1582d184dc8f2d1ea1659521844079f0d390853fe5deebe8cba57ee579170b7854674b00b8bb4a435db7
+MISC ChangeLog 2476 SHA256 a88d17044f6dc3f10b50ee6a32a891f13c233a0d5499674c2657ae091311f105 SHA512 236d3c3efeea71be1a06aecbd87c40304135e18822ebfcedef91612d0337b8659211f8e7f1bc0c78db8a8d7a47cd593f0f3289c4fc714300f9c8f28c2f07d4cc WHIRLPOOL 812b960ecd66d4e0df0447793c85578c3d38f794b4357943ea2cfc34ce6b9d45cb8c884e64068b29550f87c7e5a92147e0d82fe10736635cf34ba2a004ef97b0
+MISC ChangeLog-2015 2114 SHA256 c8cf1919a4aab27ea5c6d6061191413f7cfd82c513b4c6cb377d7b8b1a38110f SHA512 d3e9be99d1103371965ef6eaf52b94657c18a93e99401864c4ba66fde3acfe52cd53ff208c6a01c48aaa3589350da4b226a92877f5d380a6022281b300916892 WHIRLPOOL b0af9668a7cffd42f673436bb8cb850074c84d5d0112c95aaff2346468525842a228db7458d0c82960e5213469a72c365e6d7c107631957ebd9bb0920c31f4eb
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/dev-vcs/svn2cl/files/0.9-wrapper.patch b/dev-vcs/svn2cl/files/0.9-wrapper.patch
new file mode 100644
index 000000000000..478b2a032d2a
--- /dev/null
+++ b/dev-vcs/svn2cl/files/0.9-wrapper.patch
@@ -0,0 +1,20 @@
+--- svn2cl.sh 2006-10-18 23:38:06.000000000 +0200
++++ svn2cl.sh.1 2006-11-12 01:41:05.000000000 +0100
+@@ -234,16 +234,7 @@
+ esac
+ done
+
+-# find the directory that this script resides in
+-prog="$0"
+-while [ -h "$prog" ]
+-do
+- dir=`dirname "$prog"`
+- prog=`ls -ld "$prog" | sed "s/^.*-> \(.*\)/\1/;/^[^/]/s,^,$dir/,"`
+-done
+-dir=`dirname "$prog"`
+-dir=`cd "$dir" && pwd`
+-XSL="$dir/svn2${OUTSTYLE}.xsl"
++XSL="/usr/share/svn2cl/svn2${OUTSTYLE}.xsl"
+
+ # check if the authors file is formatted as a legacy
+ # colon separated file
diff --git a/dev-vcs/svn2cl/metadata.xml b/dev-vcs/svn2cl/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/dev-vcs/svn2cl/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-vcs/svn2cl/svn2cl-0.12.ebuild b/dev-vcs/svn2cl/svn2cl-0.12.ebuild
new file mode 100644
index 000000000000..d7a60b4d0f3f
--- /dev/null
+++ b/dev-vcs/svn2cl/svn2cl-0.12.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils
+
+DESCRIPTION="Create a GNU-style ChangeLog from subversion's svn log --xml output"
+HOMEPAGE="http://ch.tudelft.nl/~arthur/svn2cl/"
+SRC_URI="${HOMEPAGE}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~mips ~ppc x86"
+IUSE=""
+
+RDEPEND="dev-libs/libxslt
+ dev-vcs/subversion"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ # the wrapper script looks for the xsl files in the
+ # same directory as the script.
+ epatch "${FILESDIR}"/0.9-wrapper.patch
+}
+
+src_install() {
+ newbin svn2cl.sh svn2cl || die "failed to install wrapper script"
+ insinto /usr/share/svn2cl
+ doins svn2cl.xsl svn2html.xsl || die
+ dodoc README NEWS TODO ChangeLog authors.xml svn2html.css || die
+ doman svn2cl.1 || die
+}
+
+pkg_postinst() {
+ einfo "You can find samples of svn2html.css and authors.xml in"
+ einfo "/usr/share/doc/${PF}/"
+ einfo "Read man page for details."
+}
diff --git a/dev-vcs/svn2git/Manifest b/dev-vcs/svn2git/Manifest
new file mode 100644
index 000000000000..eee6f3e8fa02
--- /dev/null
+++ b/dev-vcs/svn2git/Manifest
@@ -0,0 +1,10 @@
+AUX svn2git-1.0.10-version.patch 900 SHA256 00d0711b57e4d95080297300d0519b3f6b201ce1325ac5b79b3dd34e3667b111 SHA512 51d69b34c5d2a481b04d3ef43368815a406fd709aeaa358e60e41c75b776895e79a11b402d87cb4d0c4b0b70776dd31f34809fbece9b069bc834510872af4b03 WHIRLPOOL dff29ea7f6cbe965cc7e63887e006ccb7968658b6111aab6fdf899c11d0e268cc180086486c28bf36a2a9b3e4127bf91d042efea47be3e412df8ab20971cf40c
+AUX svn2git-1.0.2.1-include-path.patch 637 SHA256 69edb7f9008abaef4603f03c467df47f6ce21505ee235d5f23a9e9b59dc479d8 SHA512 1711a6281622bfe781fdf05df3644073ff6d2240cba1744540bf28b9f8732482002cc4769e040db93f08b0f8378e4cd9b4288f8bf7db4ee759d5c5c1770b3fe3 WHIRLPOOL 8d01a8b36aff11c8bdc42a4cb4edd821e5acea6e8a45dc53ca8f17a11794cae969a4c939986a0be54c46f5808e0fe491c1af85746d36364ce5feecc60b2e40f0
+DIST svn2git-1.0.10.tar.gz 26667 SHA256 1b1300144e8a0f82485f4046c4585d53deff839a274f70f7cb32d5a5a76ffe61 SHA512 7148721a5470be2537494349a63e02abf2a0a115c1cea51dae7c407c4480b4576ed3f572b4d1cfa2d5af6df37d3941dda3b174d298b6bf5530de68b5b504ed49 WHIRLPOOL c3b1ada8ffc925aef666f095c1b3a8a2323980a777a6e1751cfc02e5510d3d18fc95e68d8e3a275a5061ed0e073cc1eee538279f5a01039e698af135a4b38df1
+DIST svn2git-1.0.11.tar.gz 30986 SHA256 1103d1747af7c18ca18a6a89637e3e3ab87518710ee8eecee4d402b8f445b010 SHA512 8fa082d8da2dfc9687ebb4269b3861a053f83afb71a5c0666155bdb179d7799de3f37f3d58cabe02069bda8e8fd306bb729ba04709c0654ba8a5c24952142de9 WHIRLPOOL 98c8a11dda0c6fab63f5792b95ca2fb6087b4d5e04f0aeaa14061f2d84a4632913515fa6dfaa3d9a1b94940dcee61eeae00d24b8f12fe110138e548232456965
+EBUILD svn2git-1.0.10.ebuild 1136 SHA256 e93c631f6dfede6892028b201442e9bf0e7ffabdb1f962a1026c6788b46d4787 SHA512 41533788c0db01aabe51384f3b3744f96053b26fea2a1e2d163f21211684f3c24c2ecef5b407637e53689ddc649093184e03bd88f5edb67649046ea5106a832c WHIRLPOOL 83065506b4d23323fbfece1957799e35d3b779fb5cac96c1e235b735597fa2ce35691cd2786910b475565ba7979e92613c52ed536ec4056e04d947b46ecf81d9
+EBUILD svn2git-1.0.11.ebuild 1169 SHA256 5e7ee4ce67b407f3d37a37fe7feb7bf7d129fed6e22861e7853a741e5a2a2aac SHA512 9e1a3300a721e032b7b6ec7fda1602ea7c5ad921acd7d7e74228796915b250172a8a0f001e544f9c1d2ebb928c0101540e98ed843dbcaa62ee05a1b04b9d4e6d WHIRLPOOL 5c2f70b025278f77115e0bf726fe285a3a1a92b76f5d7a1ea6a3e9c4fc6ec47feb0e3a6c1157a36679e9446ea4e2b34340ca4f4a19885916dcc179f39300c8c8
+EBUILD svn2git-9999.ebuild 1169 SHA256 5e7ee4ce67b407f3d37a37fe7feb7bf7d129fed6e22861e7853a741e5a2a2aac SHA512 9e1a3300a721e032b7b6ec7fda1602ea7c5ad921acd7d7e74228796915b250172a8a0f001e544f9c1d2ebb928c0101540e98ed843dbcaa62ee05a1b04b9d4e6d WHIRLPOOL 5c2f70b025278f77115e0bf726fe285a3a1a92b76f5d7a1ea6a3e9c4fc6ec47feb0e3a6c1157a36679e9446ea4e2b34340ca4f4a19885916dcc179f39300c8c8
+MISC ChangeLog 4111 SHA256 618ac97e53f2ea22328b710a23aed77c13b4715df345b350218011c52308e09f SHA512 0527dc23f0bf3d28876fff038d41d1c16f00a95aae6386f39124c139184837e27d46ceaecb647bd322577b965a23ef51d8a603ed977c982903223b2803766d18 WHIRLPOOL 74d06571765533286a13f5e06f1f8a3d6002ee422fb5bb1b463553cfed457510dee671170fdba473eea860ca9dd5923026c9e7a6c2c6a59484393dd8ea8330c4
+MISC ChangeLog-2015 5872 SHA256 b59c7e95bfe8f30d1f119b0b07f508c2ddbea697a116323c5845352467ad56b9 SHA512 0201c269f1bdf6df2a0999c605f1186a140fd16eea5e9a842b07f0fbcf02e8324415073649ebfd188c1832240287a1716092b660a6c580ea21ff7efa0bf6658a WHIRLPOOL 3b4e2fc2824fd71687dcc788988243b62351d45cadfe0dcd7af2a98accab6c0c67031b7370722935b1dd90c1717cc1c95a39ce2d0cfddd0d631f2152185b681e
+MISC metadata.xml 341 SHA256 d826214bf1d52b8d460cfcde8553a0c454ae4869f9ade8c3feeec2e1858cd513 SHA512 9026002122daf2c35d3c407ca605e353c8b6b39514572207bf3642ad98b8265965e2b56244ebfa1f864670426e98dbe21fec948e17cf97fdafce8bafb27bf590 WHIRLPOOL aa85e11d0a0d722ff467982a726f6ae378c5f17f94d31c5467c87c13bed435b74d8030ed5aa3a74f5511efe215fa5de1171d21b9068d1a26b60adf5b20009052
diff --git a/dev-vcs/svn2git/files/svn2git-1.0.10-version.patch b/dev-vcs/svn2git/files/svn2git-1.0.10-version.patch
new file mode 100644
index 000000000000..894cf2c2a10e
--- /dev/null
+++ b/dev-vcs/svn2git/files/svn2git-1.0.10-version.patch
@@ -0,0 +1,23 @@
+From d8b1c8c774a61666e7c62bf5beb8f0f1b4a3e01a Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Tue, 21 May 2013 23:11:25 +0200
+Subject: [PATCH] Stop using Git SHA1 version string
+
+diff --git a/src/src.pro b/src/src.pro
+index da6d40d..2626a6f 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -6,10 +6,7 @@ SVN_INCLUDE = /usr/include/subversion-1 /usr/local/include/subversion-1
+ APR_INCLUDE = /usr/include/apr-1.0 /usr/include/apr-1 /usr/local/include/apr-1
+ exists(local-config.pri):include(local-config.pri)
+
+-VERSION = $$system(git --no-pager show --pretty=oneline --no-notes | head -1 | cut -b-40)
+- !isEmpty(VERSION){
+- VERSION = $${VERSION}
+- }
++VERSION = $$(SVN_ALL_FAST_EXPORT_VERSION)
+
+ VERSTR = '\\"$${VERSION}\\"' # place quotes around the version string
+ DEFINES += VER=\"$${VERSTR}\" # create a VER macro containing the version string
+--
+1.8.2.1
diff --git a/dev-vcs/svn2git/files/svn2git-1.0.2.1-include-path.patch b/dev-vcs/svn2git/files/svn2git-1.0.2.1-include-path.patch
new file mode 100644
index 000000000000..2349b3080835
--- /dev/null
+++ b/dev-vcs/svn2git/files/svn2git-1.0.2.1-include-path.patch
@@ -0,0 +1,13 @@
+--- src/src.pro 2011-01-11 09:02:15.696463807 +0100
++++ src/src.pro 2011-01-11 09:03:59.793959849 +0100
+@@ -3,8 +3,8 @@
+ # Automatically generated by qmake (2.01a) dim. dc. 23 13:49:28 2007
+ ######################################################################
+
+-SVN_INCLUDE = /usr/include/subversion-1 /usr/local/include/subversion-1
+-APR_INCLUDE = /usr/include/apr-1.0 /usr/include/apr-1 /usr/local/include/apr-1
++SVN_INCLUDE = /usr/include/subversion-1
++APR_INCLUDE = /usr/include/apr-1
+ exists(local-config.pri):include(local-config.pri)
+
+ VERSION = $$system(git --no-pager show --pretty=oneline --no-notes | head -1 | cut -b-40)
diff --git a/dev-vcs/svn2git/metadata.xml b/dev-vcs/svn2git/metadata.xml
new file mode 100644
index 000000000000..53b9b59c3902
--- /dev/null
+++ b/dev-vcs/svn2git/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sping@gentoo.org</email>
+ <name>Sebastian Pipping</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">svn-all-fast-export/svn2git</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/svn2git/svn2git-1.0.10.ebuild b/dev-vcs/svn2git/svn2git-1.0.10.ebuild
new file mode 100644
index 000000000000..d23b946dd204
--- /dev/null
+++ b/dev-vcs/svn2git/svn2git-1.0.10.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit eutils qt4-r2
+[ "$PV" == "9999" ] && inherit git
+
+DESCRIPTION="Tool for one-time conversion from svn to git"
+HOMEPAGE="https://github.com/svn-all-fast-export/svn2git"
+if [ "$PV" == "9999" ]; then
+ EGIT_REPO_URI="https://github.com/svn-all-fast-export/svn2git.git"
+ KEYWORDS=""
+else
+ SRC_URI="https://www.hartwork.org/public/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE=""
+# KEYWORDS way up
+
+DEPEND="dev-vcs/subversion
+ dev-qt/qtcore:4"
+RDEPEND="${DEPEND}
+ dev-vcs/git"
+
+S=${WORKDIR}/${PN}-${PN}
+
+src_prepare() {
+ # Note: patching order matters
+ epatch "${FILESDIR}"/${PN}-1.0.2.1-include-path.patch
+ if [[ "$PV" != "9999" ]]; then
+ epatch "${FILESDIR}"/${PN}-1.0.10-version.patch
+ export SVN_ALL_FAST_EXPORT_VERSION=${PVR} # for src_compile
+ fi
+
+ qt4-r2_src_prepare
+}
+
+src_install() {
+ insinto /usr/share/${PN}/samples
+ doins samples/*.rules || die 'doins failed'
+ dobin svn-all-fast-export || die 'dobin failed'
+ dosym svn-all-fast-export /usr/bin/svn2git || die 'dosym failed'
+}
diff --git a/dev-vcs/svn2git/svn2git-1.0.11.ebuild b/dev-vcs/svn2git/svn2git-1.0.11.ebuild
new file mode 100644
index 000000000000..c9fa2d784940
--- /dev/null
+++ b/dev-vcs/svn2git/svn2git-1.0.11.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils qt4-r2
+[ "$PV" == "9999" ] && inherit git-r3
+
+DESCRIPTION="Tool for one-time conversion from svn to git"
+HOMEPAGE="https://github.com/svn-all-fast-export/svn2git"
+if [ "$PV" == "9999" ]; then
+ EGIT_REPO_URI="https://github.com/svn-all-fast-export/svn2git.git"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/svn-all-fast-export/svn2git/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE=""
+# KEYWORDS way up
+
+DEPEND="dev-vcs/subversion
+ dev-qt/qtcore:4"
+RDEPEND="${DEPEND}
+ dev-vcs/git"
+
+src_prepare() {
+ # Note: patching order matters
+ epatch "${FILESDIR}"/${PN}-1.0.2.1-include-path.patch
+ if [[ "$PV" != "9999" ]]; then
+ epatch "${FILESDIR}"/${PN}-1.0.10-version.patch
+ export SVN_ALL_FAST_EXPORT_VERSION=${PVR} # for src_compile
+ fi
+
+ qt4-r2_src_prepare
+}
+
+src_install() {
+ dodoc README.md
+ insinto /usr/share/${PN}/samples
+ doins samples/*.rules || die 'doins failed'
+ dobin svn-all-fast-export || die 'dobin failed'
+ dosym svn-all-fast-export /usr/bin/svn2git || die 'dosym failed'
+}
diff --git a/dev-vcs/svn2git/svn2git-9999.ebuild b/dev-vcs/svn2git/svn2git-9999.ebuild
new file mode 100644
index 000000000000..c9fa2d784940
--- /dev/null
+++ b/dev-vcs/svn2git/svn2git-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils qt4-r2
+[ "$PV" == "9999" ] && inherit git-r3
+
+DESCRIPTION="Tool for one-time conversion from svn to git"
+HOMEPAGE="https://github.com/svn-all-fast-export/svn2git"
+if [ "$PV" == "9999" ]; then
+ EGIT_REPO_URI="https://github.com/svn-all-fast-export/svn2git.git"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/svn-all-fast-export/svn2git/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE=""
+# KEYWORDS way up
+
+DEPEND="dev-vcs/subversion
+ dev-qt/qtcore:4"
+RDEPEND="${DEPEND}
+ dev-vcs/git"
+
+src_prepare() {
+ # Note: patching order matters
+ epatch "${FILESDIR}"/${PN}-1.0.2.1-include-path.patch
+ if [[ "$PV" != "9999" ]]; then
+ epatch "${FILESDIR}"/${PN}-1.0.10-version.patch
+ export SVN_ALL_FAST_EXPORT_VERSION=${PVR} # for src_compile
+ fi
+
+ qt4-r2_src_prepare
+}
+
+src_install() {
+ dodoc README.md
+ insinto /usr/share/${PN}/samples
+ doins samples/*.rules || die 'doins failed'
+ dobin svn-all-fast-export || die 'dobin failed'
+ dosym svn-all-fast-export /usr/bin/svn2git || die 'dosym failed'
+}
diff --git a/dev-vcs/svneverever/Manifest b/dev-vcs/svneverever/Manifest
new file mode 100644
index 000000000000..997e122b0fa7
--- /dev/null
+++ b/dev-vcs/svneverever/Manifest
@@ -0,0 +1,7 @@
+DIST svneverever-1.2.2.tar.gz 3920 SHA256 a0c9904f7f53c17192e3ee34c5b23f79eb940670d13e22301fe2452668ed2bdb SHA512 b77c258b2846663cd108bd7a7f3b763693e40b15210ba0908138b039702accab22c2575c7dbe330451043488b2ad69ca0230ccf39716055d1d0fc93cfa1cc6f3 WHIRLPOOL 558f3f2f7734c16ce25ec0ec1646fd8cf54d19ece2994e7e3f972b5c32bb14b2569fb5644e8858e61ace629ac70b7b9914b02cb470e93d1f3fbd46f1f27ff695
+DIST svneverever-1.3.0.tar.gz 6006 SHA256 3542d4ca06fb80e3927e3cb0719ea86eef64d4fa637cd3350a610462a30617d4 SHA512 dfc5f8e96808d95ce387b2c0d2ea34c4cae81851dc5813b05eeec719ae7cbfb69ff33f38a88429b1caab2873af676072ce3d76592d8fac5dd186f18454bade10 WHIRLPOOL 075baecc430890b5802849f30980dd80a7311305023be341e83710fd7dbd3f1c56db8467ebbd586add6eff350b63912921044d8827371b0cfe0cf5cf13c9d571
+EBUILD svneverever-1.2.2-r1.ebuild 453 SHA256 ab39c3a692eb290473b54c33f3c0b6b5abb2727576bec7a3497784c313c6135e SHA512 01b9fe073ed832e1721376793720d52d7ae4c2b7fe33883f0079747ef466776db34498e59ff6769a1a6223ef5014f336c5153c5bfad42a5e639d2ece88bdb528 WHIRLPOOL d047450bb65435556c957512e4cda14cd2fc1e90c07700f74fd01d49cf36d1138785a588c3a0b56ead1db119fa42c60076830405ccd636e101cbc709e55300df
+EBUILD svneverever-1.3.0.ebuild 496 SHA256 a97b2f1a472cebee5f66f6f7cbfe9421fb1e7e8f7adfbd106e5696d1ab9a8990 SHA512 0bfb481d6c80408a792861c027c132742682f8b6afee3b710cc7dafaf827701c3ef1552e0d9dc1827542557f72b2f3271add4139e8773370dd29d7af8f833f5b WHIRLPOOL 50a8e41b7f8aaf52661f6a46360d6bf3fc38115b6d98acc5d6c2ede43fd940285b365b52084fcb5a0d0e02a6dfb088e3b1726b1cba7ba537ebd9a6a8e7f2f703
+MISC ChangeLog 2416 SHA256 afc1b90c50417c43f0705f1e9c918611030a79383b4247ae1fc6eae2e0d685da SHA512 8487acdacdc15ed4d7691145297f10ea2f7cefd286efaf3f4b5dda7729811d604d665495d089e64d7304e928142698fbeac04b0386d64c5d10d6e4e3ed7ca60c WHIRLPOOL 423e4cc93ab9202d6fc3520248473b06ff18773e53a6edf9aa3dae50aa1c83b0c1f4f421c9c5aea9ca349aea10657cfd0d2ee0f8b115514e29c02a7aba5c9897
+MISC ChangeLog-2015 2570 SHA256 38590be29a6557d72160a0652093b6be168845545aba9fa09e6ee9d23095c4f1 SHA512 2f533b66fede1d51e1f587fc20d789b22e3ba0d9f3d0919600133cd9eb0d83cb197aa51e90cb6988b4424c0dd3795103b5e92c9db40dc62bf634bb71397c9404 WHIRLPOOL 19a8bd717044e68a9e2f0bcf318bd09969fcc1ab361e1da13d03e00954c896e37d33e22bc8cf8e7ac366c55694126e6d383fbcf6c479fd55eead8b467c03e0b1
+MISC metadata.xml 334 SHA256 ae71230ca0692cb431341d2e7ba6dbdf25c7b85a9cdee0544906ee001b3bb3fb SHA512 d50e4630b891664dd365e38a57ed146acdcca6d645994d010b58b46b70adb77c3bad5f0ab5088302dd8f21adb33e8b478ac31426dd8bfcf94b1f82fe2613b446 WHIRLPOOL f44064d9c79ff2cab3e9fc289c2c8c701f2b64ea52bf8cd8debd56971ab5466e7f97d9b9bc0e9810557317bffb5a75d650741253137dafdf81ebeef5615b00e0
diff --git a/dev-vcs/svneverever/metadata.xml b/dev-vcs/svneverever/metadata.xml
new file mode 100644
index 000000000000..7e285c826651
--- /dev/null
+++ b/dev-vcs/svneverever/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sping@gentoo.org</email>
+ <name>Sebastian Pipping</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">hartwork/svneverever</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/svneverever/svneverever-1.2.2-r1.ebuild b/dev-vcs/svneverever/svneverever-1.2.2-r1.ebuild
new file mode 100644
index 000000000000..c2df2f3714cb
--- /dev/null
+++ b/dev-vcs/svneverever/svneverever-1.2.2-r1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Tool collecting path entries across SVN history"
+HOMEPAGE="https://github.com/hartwork/svneverever"
+SRC_URI="http://www.hartwork.org/public/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="dev-python/pysvn[${PYTHON_USEDEP}]"
diff --git a/dev-vcs/svneverever/svneverever-1.3.0.ebuild b/dev-vcs/svneverever/svneverever-1.3.0.ebuild
new file mode 100644
index 000000000000..d6506788667c
--- /dev/null
+++ b/dev-vcs/svneverever/svneverever-1.3.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+inherit distutils-r1
+
+DESCRIPTION="Tool collecting path entries across SVN history"
+HOMEPAGE="https://github.com/hartwork/svneverever"
+SRC_URI="https://github.com/hartwork/svneverever/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="dev-python/pysvn[${PYTHON_USEDEP}]"
diff --git a/dev-vcs/svnmailer/Manifest b/dev-vcs/svnmailer/Manifest
new file mode 100644
index 000000000000..aa4d2fb02125
--- /dev/null
+++ b/dev-vcs/svnmailer/Manifest
@@ -0,0 +1,5 @@
+DIST svnmailer-1.0.9.tar.bz2 354935 SHA256 bb4cc681a8486bfb80a29f4f1470ccfe6eb804a12ea53c231decd96c2c003217 SHA512 2dae9b123e3f511f022cf4d0db75b30b7fad33719382a7ab57897726ababc73bf24bb838cd92258ee5573996e1fef9805f8afbe958694e7cb4682433dba9a6e0 WHIRLPOOL 31d871a2deda48f56ea8c55b9095cf6b62547385358d5b03687a4e7b4c223a88019bfa67dfed0f67129c649b6222b765e02059f6df201eb816034575c5d440d8
+EBUILD svnmailer-1.0.9-r1.ebuild 760 SHA256 117593a15259729e24d306f00ea78b3eb523f923fb9f07bf830a04974a2f6385 SHA512 d7bcc686bb9dfedee4e7992215e69df72f53a83552fbda0efa5e02963b25be22fb2f32898c66460119378128985668a286183a47b7065d8c7326b336779af25d WHIRLPOOL c99a000264d1ace3690caa406601c5c9961a3d03b5317b3befd75643666132431283eb1ca710f0f1cfe1401450c70c8549eebf7fd5f31568dd85aaff7bc3aa73
+MISC ChangeLog 2533 SHA256 18bec08c5ba04ec9bd8e5b064c9b4a3f3f9c82dce9472249f01340f43aed0546 SHA512 777d264051f0971d5c8f4307bc603bc8af6573dafc8923b33e19940877924a008ff7c0ebc601c3cdf0cdcbed927d0aea1f80fa255167206699d15c4a78aa2e71 WHIRLPOOL adbfae6ebabb8de3ff19c08134337d1ed69851ae68031587e8871c8e1a21f12c412ce43cf19d38a4d13dbf5944ada6b21676655fa984c561f2579fe95d877777
+MISC ChangeLog-2015 2541 SHA256 5ea2979090a72d8494b5a69a769b56782c3b0b88e9a90ed893296b4a14f67622 SHA512 c64e7ffdc08ab72168968fb54c8e84983b9a5b5a1771d4baa501a0830730d4531547313e851c83f38338711c0fb0dffbe3115dfae3c3516289fab5df54c7f34b WHIRLPOOL 36a5a3123e3600e06187fed3bc99155e32b1340ad25ad91e6eb636e36ebd8e9688142bad0472ad328eeae8c3c3f09b1ecb0ac85c0b62d034fcbb51b72ae56dac
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/dev-vcs/svnmailer/metadata.xml b/dev-vcs/svnmailer/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/dev-vcs/svnmailer/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-vcs/svnmailer/svnmailer-1.0.9-r1.ebuild b/dev-vcs/svnmailer/svnmailer-1.0.9-r1.ebuild
new file mode 100644
index 000000000000..27d43db65303
--- /dev/null
+++ b/dev-vcs/svnmailer/svnmailer-1.0.9-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+DESCRIPTION="A subversion commit notifier written in Python"
+HOMEPAGE="http://opensource.perlig.de/svnmailer/"
+SRC_URI="http://storage.perlig.de/svnmailer/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="${DEPEND}
+ dev-vcs/subversion[python,${PYTHON_USEDEP}]
+ virtual/mta"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+python_prepare_all() {
+ sed -i -e "s:man/man1:share/&:" setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-vcs/tig/Manifest b/dev-vcs/tig/Manifest
new file mode 100644
index 000000000000..df1eb12d6196
--- /dev/null
+++ b/dev-vcs/tig/Manifest
@@ -0,0 +1,6 @@
+DIST tig-2.2.2.tar.gz 1046910 SHA256 316214d87f7693abc0cbe8ebbb85decdf5e1b49d7ad760ac801af3dd73385e35 SHA512 e43cf8b4e7938342b581a1238222d5cbf62e242208cd65fc9b3261c4076b7c60c182f9a80613538fcf8b50187cc2844c22f6d1aeaaa8b23864670667a91dbfcd WHIRLPOOL c4f569d969bacdea8f7a765acfced6c45b04f36c5eca915702c369de1ab11dbe4d8c01934852d40ffdd641dcbf5ed699803c67ea3deccf539721dba46ca23716
+EBUILD tig-2.2.2.ebuild 1242 SHA256 a48ba3a6290ac81c3695bbe650136f5c82c1518cf1c631c776e909ddc50a2936 SHA512 a42a3cf7b2c4b77f7ab8079092b093d1ba83434263a2cf35278466b2bd50edd3165514ac87f6928ea0356e233880bd6ee38d0e6213c70e45090e293a406094cc WHIRLPOOL 99935479005702a6842e1a64c57a0bfdc43da739000fc22632aea2ca06dfea5392356c83bbf6a37dea23536cd9685c70ce8621ff8dc5c0716668dcb553c9e0e0
+EBUILD tig-9999.ebuild 1245 SHA256 d78ddbdf7baeb6f2f098babc976c80392d0d6a084778c4ba13c2ca07403ecc83 SHA512 6fc626f7ff9ebc0bbc83872b75cf9d4d8ad808d3930467de76ff23ac71cb454defc9393ddfd855daa5c7955baad38b4f30c36fe69109532d18e5fa6d3a8d24a8 WHIRLPOOL 60513db09e3e6449949b57be59dfeee8f89ed08214aa9afe466c9860f0b7b2fb5ec89b3158c2bd96a32822e72b455fa4e53998da132193d2d55e078cb8425ba8
+MISC ChangeLog 3990 SHA256 6eda30a714e4317bed8e5befca3e20509bba7364abd8f5ba3ab19278b8c7359e SHA512 848a546d8dd9d34f5e2d43817aaaae77d86962ab960473763590dbd639c143a082506d0bed03abb810a6c61576d3835c5449d145405a3c19a74ffbafcdfa28d7 WHIRLPOOL a7961cb917c6545b0d738d6173200b7e1aaf47d7f3631d71e5ba4d4305f399d015d004c27fb9fef30a4e4c129a35a193338d72effde6ea322f34f39e5dd3a5be
+MISC ChangeLog-2015 7850 SHA256 b3b23d2442d6656fe7ce5de46b613292b1694d624e5bfaa38575dfe4d3bdd8b5 SHA512 bd897a05bca8e679e7bd46ac252a5cd866540b0f18cbc62d2084a3c42c3abfbc95542da3229e03478232bd548331f7ca1316f1615c988b1a81c7a93f1a9f52aa WHIRLPOOL 3bc6d2115518ca5e2ede55be2dcdd1f11a83c45bc03648481e548377ebc3aed1487614c06b9c29184f69a4b9b09589c2595ef7806a56ee48c1ebcf4b5dad8bff
+MISC metadata.xml 330 SHA256 d9d24987e8c8471c3e7fede9a22ecc334a72db606e0563b1bb47dd2c6558e3c6 SHA512 bc921303a62d48f0b1b9792df22bf54c1555545c17a2c44a4f946b800c012067cc122011f7735b0f44d0275279450d6290970f127132dc6947ebe09fcba83e98 WHIRLPOOL a1e96d78128cdc6218377007a06ad6d72412d6e56d8ef34c62b2c8f894a4a0b40956aeedf611c08c15f31befcdc05a11fc26f5bb5ebf33dacf27cdfbf10f1aaa
diff --git a/dev-vcs/tig/metadata.xml b/dev-vcs/tig/metadata.xml
new file mode 100644
index 000000000000..beb9c6e702ff
--- /dev/null
+++ b/dev-vcs/tig/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jonas/tig</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/tig/tig-2.2.2.ebuild b/dev-vcs/tig/tig-2.2.2.ebuild
new file mode 100644
index 000000000000..04cf7cfbec0e
--- /dev/null
+++ b/dev-vcs/tig/tig-2.2.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/jonas/tig.git"
+ inherit git-r3 autotools
+else
+ SRC_URI="https://github.com/jonas/tig/releases/download/${P}/${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+fi
+
+DESCRIPTION="text mode interface for git"
+HOMEPAGE="https://jonas.github.io/tig/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="unicode"
+
+DEPEND="
+ sys-libs/ncurses:0=[unicode?]
+ sys-libs/readline:0="
+RDEPEND="${DEPEND}
+ dev-vcs/git"
+[[ ${PV} == "9999" ]] && DEPEND+=" app-text/asciidoc app-text/xmlto"
+
+src_prepare() {
+ default
+ [[ ${PV} == "9999" ]] && eautoreconf
+}
+
+src_configure() {
+ econf $(use_with unicode ncursesw)
+}
+
+src_compile() {
+ emake V=1
+ [[ ${PV} == "9999" ]] && emake V=1 doc-man doc-html
+}
+
+src_test() {
+ # workaround parallel test failures
+ emake -j1 test
+}
+
+src_install() {
+ emake DESTDIR="${D}" install install-doc-man
+ dodoc doc/manual.html README.html NEWS.html
+ newbashcomp contrib/tig-completion.bash ${PN}
+
+ docinto examples
+ dodoc contrib/*.tigrc
+}
diff --git a/dev-vcs/tig/tig-9999.ebuild b/dev-vcs/tig/tig-9999.ebuild
new file mode 100644
index 000000000000..6e50ecf1bf1c
--- /dev/null
+++ b/dev-vcs/tig/tig-9999.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/jonas/tig.git"
+ inherit git-r3 autotools
+else
+ SRC_URI="https://github.com/jonas/tig/releases/download/${P}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+fi
+
+DESCRIPTION="text mode interface for git"
+HOMEPAGE="https://jonas.github.io/tig/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="unicode"
+
+DEPEND="
+ sys-libs/ncurses:0=[unicode?]
+ sys-libs/readline:0="
+RDEPEND="${DEPEND}
+ dev-vcs/git"
+[[ ${PV} == "9999" ]] && DEPEND+=" app-text/asciidoc app-text/xmlto"
+
+src_prepare() {
+ default
+ [[ ${PV} == "9999" ]] && eautoreconf
+}
+
+src_configure() {
+ econf $(use_with unicode ncursesw)
+}
+
+src_compile() {
+ emake V=1
+ [[ ${PV} == "9999" ]] && emake V=1 doc-man doc-html
+}
+
+src_test() {
+ # workaround parallel test failures
+ emake -j1 test
+}
+
+src_install() {
+ emake DESTDIR="${D}" install install-doc-man
+ dodoc doc/manual.html README.html NEWS.html
+ newbashcomp contrib/tig-completion.bash ${PN}
+
+ docinto examples
+ dodoc contrib/*.tigrc
+}
diff --git a/dev-vcs/tkcvs/Manifest b/dev-vcs/tkcvs/Manifest
new file mode 100644
index 000000000000..b45566ff34ac
--- /dev/null
+++ b/dev-vcs/tkcvs/Manifest
@@ -0,0 +1,7 @@
+DIST tkcvs-8.2.3.tar.gz 570910 SHA256 4bfb29dd9ffbbbc1e6e611e1c772af745d742d336e797bf056dbf70116b8e32a SHA512 42fb03acf6367e02f6f7b3e1ad66232be4825f152b3e4d123080e0ce7d2f53b5eacb71ac95fbc15224fb4c4c2cae979b612dbb11d0cd0b8fc4a0222a8cd40c8a WHIRLPOOL b5c8edb97099c094e1e3c1a04f76dc48dcca12ac036cf3236576dc00ba6ad9ddd696f38e74c715352199884fc7a17ddb3cb909be74a1fdb8509c053c8b9e2140
+DIST tkcvs_8_2_2.tar.gz 1183853 SHA256 d03cfa701ba4c3e360c6590ea546f9eb1ef8dbff037e62d82f750535b142385c SHA512 7a3f76f8157601a9359382597746e7ee4ed491f94d4ba5992848d48b8c5de1c81c91e8245a88b17c68af6898f269fcd3bf6ba9c920bb083190c849ec13e7bf9f WHIRLPOOL 75b8fe05628b353c01effaf64d20a58f45365c4616300313bad56016e408b2f473186d9cce0b00e3dcd78f7a2292a1e4024840a6a6dfe6bb9b1a3989a96ad35f
+EBUILD tkcvs-8.2.2.ebuild 874 SHA256 32a3dadeab77fb97e9ec71090e2e9ac36f147b02db32188d7e8342a2d89ddbcd SHA512 2d917259d7c55f750eb900115b669016c5087a5d0222f8f14694023a0b364e44b6a1178cf2a07b8902a5fb266bc323840ac54702446d0aa06ade42272f228363 WHIRLPOOL 5e79f1b580535be47a09f58a4ded029a7430ec50e03c8f0b3a24591a5d2b50de2b7ab656a9b3d41f6aeda221daadf2edd3d3f94ba6f615a1c359a566110fba43
+EBUILD tkcvs-8.2.3.ebuild 927 SHA256 9b287cc0f8eee954fd9e7fb3fd645c5dba4eba5f9e190eac878073f27158344b SHA512 a9d20f59ff32cfaac97caa531a2239b111d6df93ac929401f66347c2f109a24d6f72bfd57ff47345dd7ebb0a1eba1890d8277be779a7ec42a53d709ab328a6e6 WHIRLPOOL 8deeb797dc9e368feb60807faf821eb0c66ce640cc443aefe4d76f1b54304e018576d0074533436de0d0e6fd95b40cafb0a86db573d904a14b95dbe7593df5b9
+MISC ChangeLog 2468 SHA256 71b78edcf4c2e1c3146cb4dbab5461448cb484c3cd4810faf3f7939f6f05ea7e SHA512 5c911e14ded584e9d57164aefed1274e1d70845e29b9a84c2d783a72a854d43603cd90034d31206dc54206a26d9249dba0f00c692fbeb955e6c17b74d9cf0d90 WHIRLPOOL 5ff1d90f3fdcef07de8b1c64384c555be360243e9f0f87a8386da4beae7002e5456cd10d82ec377c75f9e8f7a2c9eb74e60b0c19273ab5a816de717fc2a14583
+MISC ChangeLog-2015 5825 SHA256 af70eb5b0e2e20c6f885ecae35a7c0ec64903ab17b54500858f52b2c792f3a8c SHA512 9fa1f24d44ac2ab813f495d81f180816642511014e88313902d91cbf67f6fe2d4c7488be8a68f3709a931d1010f05236fa82a3ec94b2eed808edadd186dc9918 WHIRLPOOL 0b02fb7ccc6494950547f3921c9938511452578923c739d20c32c7bb509f9af0777bf631815c4e3b6000aab564d33fa76815a6089ca42404438986bba6e89cd7
+MISC metadata.xml 253 SHA256 3bfd2f0bf3aef29f2fd477fbdd61be0a9f473004f344cb2a8b6ffa5458630b93 SHA512 9881e4487c9512c1b72ff2fa72a45b82ef3bf4ade0ec982aea1222f629367ac784ef922b839224add5829cba1717a25d49c31c1481610a02658d0bb265d4eaf6 WHIRLPOOL 357d70105adee9f81d45ebe78ec0eee8407d606e9385b656ad4ce0b6c158d6fc70a17046fd8ad67cce641887ff4d6cb754d66ce70d3b48a772754af88871e5cb
diff --git a/dev-vcs/tkcvs/metadata.xml b/dev-vcs/tkcvs/metadata.xml
new file mode 100644
index 000000000000..2b168a2f48c6
--- /dev/null
+++ b/dev-vcs/tkcvs/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>tcltk@gentoo.org</email>
+ <name>Gentoo Tcltk Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/tkcvs/tkcvs-8.2.2.ebuild b/dev-vcs/tkcvs/tkcvs-8.2.2.ebuild
new file mode 100644
index 000000000000..c8898cdbe2ec
--- /dev/null
+++ b/dev-vcs/tkcvs/tkcvs-8.2.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils multilib
+
+MY_P=${PN}_${PV//./_}
+
+DESCRIPTION="Tcl/Tk-based graphical interface to CVS with Subversion support"
+HOMEPAGE="http://www.twobarleycorns.net/tkcvs.html"
+SRC_URI="http://www.twobarleycorns.net/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="dev-lang/tk"
+RDEPEND="${DEPEND}
+ dev-vcs/cvs
+ dev-vcs/subversion
+ sys-apps/diffutils
+ dev-util/tkdiff"
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+ sed \
+ -e "/set MANDIR/s/man man1/share man man1/" \
+ -e "/set LIBDIR/s/lib/$(get_libdir)/" \
+ -i doinstall.tcl || die
+}
+
+src_install() {
+ # bug 66030
+ unset DISPLAY
+ ./doinstall.tcl -nox "${D}"/usr || die
+
+ # dev-tcktk/tkdiff
+ rm "${D}"/usr/bin/tkdiff
+
+ # Add docs...this is important
+ dodoc CHANGELOG FAQ
+}
diff --git a/dev-vcs/tkcvs/tkcvs-8.2.3.ebuild b/dev-vcs/tkcvs/tkcvs-8.2.3.ebuild
new file mode 100644
index 000000000000..8038509e10e9
--- /dev/null
+++ b/dev-vcs/tkcvs/tkcvs-8.2.3.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils multilib
+
+DESCRIPTION="Tcl/Tk-based graphical interface to CVS with Subversion support"
+HOMEPAGE="http://www.twobarleycorns.net/tkcvs.html"
+SRC_URI="http://www.twobarleycorns.net/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="dev-lang/tk"
+RDEPEND="${DEPEND}
+ dev-vcs/cvs
+ dev-vcs/subversion
+ sys-apps/diffutils
+ dev-util/tkdiff"
+
+src_prepare() {
+ sed \
+ -e "/set MANDIR/s/man man1/share man man1/" \
+ -e "/set LIBDIR/s/lib/$(get_libdir)/" \
+ -i doinstall.tcl || die
+}
+
+src_install() {
+ # bug 66030
+ unset DISPLAY
+ ./doinstall.tcl -nox "${D}"/usr || die
+
+ # dev-tcktk/tkdiff
+ rm "${D}"/usr/bin/tkdiff
+
+ # Add docs...this is important
+ dodoc {CHANGELOG,FAQ}.txt
+
+ make_desktop_entry ${PN} TkCVS "${EPREFIX}"/usr/$(get_libdir)/tkcvs/bitmaps/ticklefish_med.gif
+}
diff --git a/dev-vcs/topgit/Manifest b/dev-vcs/topgit/Manifest
new file mode 100644
index 000000000000..82d55663c3cb
--- /dev/null
+++ b/dev-vcs/topgit/Manifest
@@ -0,0 +1,6 @@
+DIST topgit-0.9.tar.gz 37025 SHA256 24b55f666e8d88ebf092a1df365492a659210a750c0793acb0c8560694203dfd SHA512 15b4ec44fb1711273155350924806f9ddce330251d3f300f5d2ecf445f4822c40b5c7309429876746ed8226c00f74292956f51f9126c8c359c3f4d589c73791c WHIRLPOOL 4a281723d518d5ea7326703187401870dc05a8fb84d23ab5cebf9b1edc70f0bf5770a9d032f5df67ff55c645750d848763aab503eec6dd9cd6d4c23f1cc8ec69
+EBUILD topgit-0.9-r1.ebuild 697 SHA256 51f19218eeefa43f54151a83126f50d8a715ca704b01b76a005113b263b7b306 SHA512 171f8e2c67a2ab9605385c8f6241c192f78bc571451a99994cd53e1817eb58e91e2fd4a5a15774286b60c9e761e4ec68ce42cfeb5bbea38244d1e9dd46b2c015 WHIRLPOOL 557d7bff2f88113fdc0a508e66e6583e9c19bd8770b918b6374543624b51d3097475fa2a14f6b4d2d219224f9b6b9eed59a52078fa022a13c5aaffc86d473703
+EBUILD topgit-0.9.ebuild 695 SHA256 fb65ccc0566d2add840581b5a2d2f26146e7a395465de14a526e0f49753c3bf1 SHA512 7fc7ce4938c1b881d4a8724901b93789c05e21c78b1729d5db68eccae6d06284ff79769fb0b4755b81154acc1f6410f256a4cf73d1be57029aa48db89e6760de WHIRLPOOL 9599d5c6139d08d4352dc75ffb1c3a99c9db50a298a8f91a77b13b57a51bdd6061351892dacc37291e53449617c838674f3c2d7326e32ef31cfaf7a1d26a008e
+MISC ChangeLog 2537 SHA256 56c4f5114df4ecfd64c40f58ea3070b38849b8065f51207246fb15f07db10b79 SHA512 bde275524a86589c37574bc30d37f0a02abee9d260e344693689ce4c62d695fec0a9d9f13404d9ffaeddbb605eb2116c5e8bf42d4fcbc736ea5c56a70b8a116f WHIRLPOOL d7e719d66880ae4875f1d463760ad5ca37a5487be28f807221faa9f019fd6e2b104f089159364b94aa92ae6a4e2732477c6bcacbe49071f80ce267034ba345be
+MISC ChangeLog-2015 1405 SHA256 7f41e743125657ce105776146f4d8f7778863ef6d052d47dd79a7a783b31709b SHA512 317934046d265bb4351953fbb3ae15ff934928fb2f0293b0f5163b8297465b5d591fe8923d2298ca93d5b2e365c5000ed7f49e830829f6d5443b555fdb5d7f09 WHIRLPOOL c2f5afa2d25de6745c5bd82def9c54fdd0ae35699212b63c086b4d75b007ba40b58ad53f134dd4c81e41b04d9b2fc5d498495ecf9da6fee1c58e93f123dbedf6
+MISC metadata.xml 246 SHA256 e7417215d6f36df18b1b431b9968ebb29403a05d56557c6fdbde75cce2242f89 SHA512 453ca444336afd5e9a05f704cb9228b1415a4440aeb43847b80bfbdfacc3a21bf4706efc408acbb692b5a9130051c802d23b04791cfa0d84f499a8b359c393ce WHIRLPOOL 2218432d8d9c23d32ab154a7eebf32c558ee93115dcc92ae7469eb2c39a3b6bbbb4528e601ce38f8f3af43c5d9a394f725e988c48698427a5c88a1f7c5b082de
diff --git a/dev-vcs/topgit/metadata.xml b/dev-vcs/topgit/metadata.xml
new file mode 100644
index 000000000000..a4bff25eb375
--- /dev/null
+++ b/dev-vcs/topgit/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">greenrd/topgit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/topgit/topgit-0.9-r1.ebuild b/dev-vcs/topgit/topgit-0.9-r1.ebuild
new file mode 100644
index 000000000000..85d51d45244a
--- /dev/null
+++ b/dev-vcs/topgit/topgit-0.9-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit bash-completion-r1
+
+DESCRIPTION="A different patch queue manager"
+HOMEPAGE="https://github.com/greenrd/topgit"
+SRC_URI="https://github.com/greenrd/${PN}/archive/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="sys-apps/sed
+ virtual/awk"
+RDEPEND="dev-vcs/git"
+
+S="${WORKDIR}/${PN}-${P}"
+
+src_compile() {
+ # Needed because of "hardcoded" paths
+ emake prefix="/usr" sharedir="/usr/share/doc/${PF}"
+}
+
+src_install() {
+ emake prefix="${D}/usr" sharedir="${D}/usr/share/doc/${PF}" install
+
+ newbashcomp contrib/tg-completion.bash tg
+ dodoc README
+}
diff --git a/dev-vcs/topgit/topgit-0.9.ebuild b/dev-vcs/topgit/topgit-0.9.ebuild
new file mode 100644
index 000000000000..e7df0c5baa14
--- /dev/null
+++ b/dev-vcs/topgit/topgit-0.9.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit bash-completion-r1
+
+DESCRIPTION="A different patch queue manager"
+HOMEPAGE="https://github.com/greenrd/topgit"
+SRC_URI="https://github.com/greenrd/${PN}/archive/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="sys-apps/sed
+ virtual/awk"
+RDEPEND="dev-vcs/git"
+
+S="${WORKDIR}/${PN}-${P}"
+
+src_compile() {
+ # Needed because of "hardcoded" paths
+ emake prefix="/usr" sharedir="/usr/share/doc/${PF}"
+}
+
+src_install() {
+ emake prefix="${D}/usr" sharedir="${D}/usr/share/doc/${PF}" install
+
+ newbashcomp contrib/tg-completion.bash tg
+ dodoc README
+}
diff --git a/dev-vcs/tortoisehg/Manifest b/dev-vcs/tortoisehg/Manifest
new file mode 100644
index 000000000000..c92cdd5cae61
--- /dev/null
+++ b/dev-vcs/tortoisehg/Manifest
@@ -0,0 +1,6 @@
+DIST tortoisehg-4.3.1.tar.gz 7930491 SHA256 5698db60320574769c73e4f910909e75a8e32ba84adcea902f9457899bbcb753 SHA512 dc43f2acd780a7868b642d6ce8a8dbf8f32be94134ddbb72178d7f1eab1e9f58c8e9bcfc75ad589ec9404cabefd9ccfc697af9ccd037c20bd933ee862e812f99 WHIRLPOOL 0275b5d2d76483559d829a6c32b8888af2134fc58367407ff670da21a8d0ae5d98815410520955f41e227af1eb55dd37052af19534756f49d9cb09a91b441de1
+EBUILD tortoisehg-4.3.1.ebuild 1954 SHA256 acc4212a37154f558b4510722b2e7f35d769c20bbb0e5fec24e3aab34b7785ef SHA512 8116b2589804b468821532503bc8c710236b4ebcabe7ca9c314f2106d95fa2b706197776026c3524929fb647f97ffd278f178e31edeb139209c7041db1bbc6db WHIRLPOOL 2fb0242421c78be37d1d521dcd71bef9da297a535c4d8dea5e7996c6e4683a6620903700fbc7c166c8e7b3aa244e5708daf9325411e06041047ad7a785b62d78
+EBUILD tortoisehg-9999.ebuild 1789 SHA256 15920e095fe180f45944a6c2269b4c97cb1ef0d1c48801b9bb937dfb9135487e SHA512 88ef9206038a2bccc1e2deb28749ac203ed616d4c89be29a33041ec6b08a75cfecb4e7731994446314293fc048777e9dda6b116f0687438d2b997530c59cdbd6 WHIRLPOOL c8e470ef9347457367070758d19ffa09493d7a5b8f45e067e89ac6a6be4dd662358ca667a62367a4fc69ecfedf32c58d5d5e9d103e8ca7efff0a795aed88282f
+MISC ChangeLog 10073 SHA256 200d983f43ee118755ae3384fae47fda659ad4bd799407db923dac060e03a45d SHA512 b5323c8af58261de14c9ecbbd8b1839805aac9fe41b9ecc794dfa155237d0f9872f767b19f15052599c5dbcdc4cb08f838be595e96b35630bfebe82a9b084355 WHIRLPOOL 4bb9c92cbdb4f3fa83156616166d4bf4c6fe2dd9859a6122f5c8609ce857b30a1f48fe5219f4bc72837c4685cd978a387547b541d05b77586030b4f349cdab7d
+MISC ChangeLog-2015 13266 SHA256 25756cfe6cdb0f3c74d5b9f07048246cfa6938debe009a4fc100c030c3e13641 SHA512 847ee89320314e193b8ccb607b5c400ac612053488410049d64469d029151af9d92a6322e5fb7ba09961bd9d017cad5be6f381fffdea249ed36b6ce0726dc3ee WHIRLPOOL 919c3a8d8bd43dc465bb132cdb1a83fa967b23b93157f2ea911da8ee253102df6e4d8080ea75686be5150d46aa059a80141db6b2441423c0c822309a323a7184
+MISC metadata.xml 251 SHA256 59d4a6753275d4f64e51844f8c61bf78d104e103e42c551df15ba14c8e65e9ea SHA512 0ccc4891c6c5de39cbe83d8391b0345611be252a2b1fedea6644ba1cfb283140a8250f32cd26b701db9c60d42782b214d03574592ef3b585bb15d2ffcb5f016e WHIRLPOOL 26dafe883e7e85115f4a9a758c911c206f37f2239544b74a4beb392815efc8f35b230528845def4a7032851e037ecfc595280bfa119035dd07ccaba3a8360927
diff --git a/dev-vcs/tortoisehg/metadata.xml b/dev-vcs/tortoisehg/metadata.xml
new file mode 100644
index 000000000000..95aa13f6c5ef
--- /dev/null
+++ b/dev-vcs/tortoisehg/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/tortoisehg/tortoisehg-4.3.1.ebuild b/dev-vcs/tortoisehg/tortoisehg-4.3.1.ebuild
new file mode 100644
index 000000000000..a293c12f975c
--- /dev/null
+++ b/dev-vcs/tortoisehg/tortoisehg-4.3.1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils
+
+if [[ ${PV} != *9999* ]]; then
+ KEYWORDS="amd64 x86"
+ SRC_URI="https://www.bitbucket.org/${PN}/targz/downloads/${P}.tar.gz"
+ HG_DEPEND=">=dev-vcs/mercurial-4.2 <dev-vcs/mercurial-4.4"
+else
+ inherit mercurial
+ EHG_REPO_URI="https://bitbucket.org/tortoisehg/thg"
+ EHG_REVISION="stable"
+ HG_DEPEND="dev-vcs/mercurial"
+fi
+
+DESCRIPTION="Set of graphical tools for Mercurial"
+HOMEPAGE="https://tortoisehg.bitbucket.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="doc"
+
+RDEPEND="${HG_DEPEND}
+ dev-python/iniparse[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/PyQt4[svg,${PYTHON_USEDEP}]
+ dev-python/qscintilla-python[qt4(+),${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( >=dev-python/sphinx-1.0.3 )"
+
+# Workaround race condition in build_qt
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ if [[ ${LINGUAS+set} ]]; then
+ cd i18n/tortoisehg || die
+ local x y keep
+ for x in *.po; do
+ keep=false
+ for y in ${LINGUAS}; do
+ if [[ ${y} == ${x%.po}* ]]; then
+ keep=true
+ break
+ fi
+ done
+ ${keep} || rm "${x}" || die
+ done
+ cd "${S}" || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ dodoc doc/ReadMe*.txt doc/TODO contrib/mergetools.rc
+ if use doc ; then
+ docinto html
+ dodoc -r doc/build/html/
+ fi
+ newicon -s scalable icons/scalable/apps/thg.svg thg_logo.svg
+ domenu contrib/thg.desktop
+
+ # Remove file that collides with >=mercurial-4.0 (bug #599266).
+ rm "${ED}"/usr/$(get_libdir)/${EPYTHON}/site-packages/hgext3rd/__init__.py \
+ || die
+}
+
+pkg_postinst() {
+ elog "When startup of ${PN} fails with an API version mismatch error"
+ elog "between dev-python/sip and dev-python/PyQt4 please rebuild"
+ elog "dev-python/qscintilla-python."
+}
diff --git a/dev-vcs/tortoisehg/tortoisehg-9999.ebuild b/dev-vcs/tortoisehg/tortoisehg-9999.ebuild
new file mode 100644
index 000000000000..11d30fb43625
--- /dev/null
+++ b/dev-vcs/tortoisehg/tortoisehg-9999.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils
+
+if [[ ${PV} != *9999* ]]; then
+ KEYWORDS="~amd64 ~x86"
+ SRC_URI="https://www.bitbucket.org/${PN}/targz/downloads/${P}.tar.gz"
+ HG_DEPEND=">=dev-vcs/mercurial-3.6 <dev-vcs/mercurial-3.8"
+else
+ inherit mercurial
+ EHG_REPO_URI="https://bitbucket.org/tortoisehg/thg"
+ EHG_REVISION="stable"
+ HG_DEPEND="dev-vcs/mercurial"
+fi
+
+DESCRIPTION="Set of graphical tools for Mercurial"
+HOMEPAGE="https://tortoisehg.bitbucket.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="doc"
+
+RDEPEND="${HG_DEPEND}
+ dev-python/iniparse[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/PyQt4[svg,${PYTHON_USEDEP}]
+ dev-python/qscintilla-python[qt4(+),${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( >=dev-python/sphinx-1.0.3 )"
+
+# Workaround race condition in build_qt
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ if [[ ${LINGUAS+set} ]]; then
+ cd i18n/tortoisehg || die
+ local x y keep
+ for x in *.po; do
+ keep=false
+ for y in ${LINGUAS}; do
+ if [[ ${y} == ${x%.po}* ]]; then
+ keep=true
+ break
+ fi
+ done
+ ${keep} || rm "${x}" || die
+ done
+ cd "${S}" || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ dodoc doc/ReadMe*.txt doc/TODO contrib/mergetools.rc
+ if use doc ; then
+ dohtml -r doc/build/html/
+ fi
+ newicon -s scalable icons/scalable/apps/thg.svg thg_logo.svg
+ domenu contrib/thg.desktop
+}
+
+pkg_postinst() {
+ elog "When startup of ${PN} fails with an API version mismatch error"
+ elog "between dev-python/sip and dev-python/PyQt4 please rebuild"
+ elog "dev-python/qscintilla-python."
+}
diff --git a/dev-vcs/vcsh/Manifest b/dev-vcs/vcsh/Manifest
new file mode 100644
index 000000000000..fb4df2f41b46
--- /dev/null
+++ b/dev-vcs/vcsh/Manifest
@@ -0,0 +1,5 @@
+DIST vcsh-1.20151229.1.tar.gz 38309 SHA256 7682a517eaf88a86ea5e38ad81707800e965375eaff8b5cfd882e210fe2fef71 SHA512 da26044aa9bf884c178b1a2493f6bb4bea978d39d97f0dd31aef0130bac375ef2e519a3f7a14087467a3fccfd815f11c0718ca0f668d61dd91c97ac74af8afeb WHIRLPOOL 7c8620ee10589be46798332159458a2d958cc2b69cb4bf627c4be48a8514dd56edec3eb65ad9bb7c7a00b8ab4cd4519d33e67a673dd918beebac6cf6b93c6f76
+EBUILD vcsh-1.20151229.1.ebuild 917 SHA256 71569fa3e60c651487a89fc2ecf4e70f581da535e156db36e3032af3d94f7afe SHA512 e79025a27a3a5aca7af1d6905033ced9779262735ed1d665068858cd65ed548069a164896cf6a5d9815c49b9b6543f98e41f5320504c2a9e4f3bb061f2ae5450 WHIRLPOOL de971ed7f6a87a2bd4f64aa60d726e0a36f93da063b633032ef4e511f15eb42230e10b7d6913715bcb1f16c68e0919f04052ff53a1a399ba6ae314aac59d8d6d
+MISC ChangeLog 3112 SHA256 16753085695bf076aa93794dc0a9bc28323e6ec49fc2b58bd653ac238e611f43 SHA512 fad780726beffccb42d98af1be833582e8ceaed17074e462d4edb28c4dc8b4ef877c3cd83cbc3ac4099a1f7765a2ef9630c78c9a292a3ec398c33403c4547e5b WHIRLPOOL ea6b2c07a9f9e37fc991257192045cad2060d37239399211f4af938edf9bfc8a6ffc14ea0ebed10e07386903e651b01df387dbf424414b8a4731c58508b503c9
+MISC ChangeLog-2015 1869 SHA256 f9f14ad11147f9c8638926a9b71ae262d67ecfd9384e327592904460094e3dae SHA512 279ec36acf8dba45af993e4615107079637b76a567f3f035c7ac2f35083a3d22374a81f0f1450d6dd6a0a3dd115423cc268c66bf91cb4d1f74a4900c79ca5375 WHIRLPOOL 7e5dc75ab2e79fe48d127c413ab3f628d42408436fff7085097773950430e5408dda4f95c322c279ee631bea0f0c2c5c1e182d2f30d2f0d04388997265145178
+MISC metadata.xml 323 SHA256 604abe8507bb840f3aadfa48e3cd55147c52c858216cb4db44510ec7b854f08f SHA512 53f63accf14a80139fd3d951f4916bd3bce437e445c6ed603d7fceb90cce3acaecb376024a1fc4633ba7db840754d10e83e1332352faeac33e5ede792bab310a WHIRLPOOL bbb05d26604264121f45876b36d01a18c74b62c57afbdd7de3656c21547c53a67f01d89ebee6de4dee7da16068f5f65964907088734175513697915b6e6b49c6
diff --git a/dev-vcs/vcsh/metadata.xml b/dev-vcs/vcsh/metadata.xml
new file mode 100644
index 000000000000..a876f3b7ae3a
--- /dev/null
+++ b/dev-vcs/vcsh/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">RichiH/vcsh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/vcsh/vcsh-1.20151229.1.ebuild b/dev-vcs/vcsh/vcsh-1.20151229.1.ebuild
new file mode 100644
index 000000000000..dd891d7529e8
--- /dev/null
+++ b/dev-vcs/vcsh/vcsh-1.20151229.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit versionator
+
+DESCRIPTION='Manage config files in $HOME via fake bare git repositories'
+HOMEPAGE="https://github.com/RichiH/vcsh/"
+
+MY_PV="$(replace_version_separator 2 '-')"
+SRC_URI="https://github.com/RichiH/vcsh/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( GPL-3 GPL-2 )"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RESTRICT="test"
+
+RDEPEND="dev-vcs/git"
+DEPEND=""
+
+DOCS=( changelog README.md CONTRIBUTORS )
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_prepare() {
+ default
+ sed -i \
+ -e 's,vendor-completions,site-functions,' \
+ -e "s,\(\$(DOCDIR_PREFIX)\)/\$(self),\1/${PF}," \
+ Makefile || die "sed failed"
+
+ # remove dysfunctional tests
+ sed -i -e 's,install: all,install:,' \
+ Makefile || die "sed failed"
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ default
+ dodoc -r doc/sample_hooks
+}