summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-vcs')
-rw-r--r--dev-vcs/archway/Manifest1
-rw-r--r--dev-vcs/archway/archway-0.2.1.ebuild30
-rw-r--r--dev-vcs/archway/metadata.xml8
-rw-r--r--dev-vcs/bfg/Manifest6
-rw-r--r--dev-vcs/bfg/bfg-1.11.10.ebuild27
-rw-r--r--dev-vcs/bfg/bfg-1.11.7.ebuild27
-rw-r--r--dev-vcs/bfg/bfg-1.11.8.ebuild27
-rw-r--r--dev-vcs/bfg/bfg-1.12.0.ebuild27
-rw-r--r--dev-vcs/bfg/bfg-1.12.1.ebuild27
-rw-r--r--dev-vcs/bfg/bfg-1.12.3.ebuild27
-rw-r--r--dev-vcs/bfg/metadata.xml8
-rw-r--r--dev-vcs/bzr-explorer/Manifest1
-rw-r--r--dev-vcs/bzr-explorer/bzr-explorer-1.3.0-r1.ebuild34
-rw-r--r--dev-vcs/bzr-explorer/bzr-explorer-1.3.0.ebuild31
-rw-r--r--dev-vcs/bzr-explorer/metadata.xml15
-rw-r--r--dev-vcs/bzr-fastimport/Manifest1
-rw-r--r--dev-vcs/bzr-fastimport/bzr-fastimport-0.13.0.ebuild34
-rw-r--r--dev-vcs/bzr-fastimport/metadata.xml12
-rw-r--r--dev-vcs/bzr-git/Manifest1
-rw-r--r--dev-vcs/bzr-git/bzr-git-0.6.8-r1.ebuild41
-rw-r--r--dev-vcs/bzr-git/bzr-git-0.6.8.ebuild37
-rw-r--r--dev-vcs/bzr-git/metadata.xml5
-rw-r--r--dev-vcs/bzr-gtk/Manifest2
-rw-r--r--dev-vcs/bzr-gtk/bzr-gtk-0.103.0.ebuild50
-rw-r--r--dev-vcs/bzr-gtk/bzr-gtk-0.104.0-r1.ebuild62
-rw-r--r--dev-vcs/bzr-gtk/bzr-gtk-0.104.0.ebuild50
-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/Manifest1
-rw-r--r--dev-vcs/bzr-rewrite/bzr-rewrite-0.6.3.ebuild22
-rw-r--r--dev-vcs/bzr-rewrite/metadata.xml8
-rw-r--r--dev-vcs/bzr-xmloutput/Manifest1
-rw-r--r--dev-vcs/bzr-xmloutput/bzr-xmloutput-0.8.8-r1.ebuild27
-rw-r--r--dev-vcs/bzr-xmloutput/bzr-xmloutput-0.8.8-r2.ebuild28
-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/Manifest3
-rw-r--r--dev-vcs/bzr/bzr-2.4.2.ebuild88
-rw-r--r--dev-vcs/bzr/bzr-2.5.1-r1.ebuild97
-rw-r--r--dev-vcs/bzr/bzr-2.5.1.ebuild88
-rw-r--r--dev-vcs/bzr/bzr-2.6.0.ebuild95
-rw-r--r--dev-vcs/bzr/files/71bzr-gentoo.el5
-rw-r--r--dev-vcs/bzr/files/bzr-2.4.0-no-pyrex-citon.patch33
-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/Manifest2
-rw-r--r--dev-vcs/bzrtools/bzrtools-2.4.1.ebuild53
-rw-r--r--dev-vcs/bzrtools/bzrtools-2.5.ebuild28
-rw-r--r--dev-vcs/bzrtools/metadata.xml8
-rw-r--r--dev-vcs/colorcvs/Manifest1
-rw-r--r--dev-vcs/colorcvs/colorcvs-1.4-r1.ebuild44
-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.xml5
-rw-r--r--dev-vcs/colorsvn/Manifest1
-rw-r--r--dev-vcs/colorsvn/colorsvn-0.3.2-r2.ebuild54
-rw-r--r--dev-vcs/colorsvn/files/0001-Don-t-colorize-svn-mkdir-bug-321451.-Use-IPC-open2-i.patch43
-rw-r--r--dev-vcs/colorsvn/metadata.xml12
-rw-r--r--dev-vcs/cssc/Manifest1
-rw-r--r--dev-vcs/cssc/cssc-1.4.0.ebuild47
-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/Manifest1
-rw-r--r--dev-vcs/cvs-fast-export/cvs-fast-export-1.26.ebuild40
-rw-r--r--dev-vcs/cvs-fast-export/metadata.xml12
-rw-r--r--dev-vcs/cvs/Manifest13
-rw-r--r--dev-vcs/cvs/cvs-1.11.23.ebuild62
-rw-r--r--dev-vcs/cvs/cvs-1.12.12-r10.ebuild90
-rw-r--r--dev-vcs/cvs/cvs-1.12.12-r6.ebuild82
-rw-r--r--dev-vcs/cvs/cvs-1.12.12-r7.ebuild83
-rw-r--r--dev-vcs/cvs/cvs-1.12.12-r8.ebuild84
-rw-r--r--dev-vcs/cvs/cvs-1.12.12-r9.ebuild89
-rw-r--r--dev-vcs/cvs/cvs-1.12.13-r1.ebuild131
-rw-r--r--dev-vcs/cvs/cvs-1.12.13-r2.ebuild132
-rw-r--r--dev-vcs/cvs/cvs-1.12.13.1-r1.ebuild154
-rw-r--r--dev-vcs/cvs/cvs-1.12.13.1-r2.ebuild155
-rw-r--r--dev-vcs/cvs/cvs-1.12.13.1.ebuild151
-rw-r--r--dev-vcs/cvs/files/01-cvs-env.d1
-rw-r--r--dev-vcs/cvs/files/cvs-1.11.23-CVE-2010-3846.patch167
-rw-r--r--dev-vcs/cvs/files/cvs-1.11.23-getline64.patch36
-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-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-x32.patch29
-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-1.12.13-openat.patch21
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.13-zlib.patch31
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.13.1-block-requests.patch101
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.13.1-fix-gnulib-SEGV-vasnprintf.patch42
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.13.1-gl-mempcpy.patch24
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.13.1-hash-nameclash.patch43
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.13.1-use-include_next.patch30
-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/Manifest1
-rw-r--r--dev-vcs/cvs2cl/cvs2cl-2.71.ebuild30
-rw-r--r--dev-vcs/cvs2cl/metadata.xml5
-rw-r--r--dev-vcs/cvs2svn/Manifest8
-rw-r--r--dev-vcs/cvs2svn/cvs2svn-1.5.0.ebuild55
-rw-r--r--dev-vcs/cvs2svn/cvs2svn-1.5.1.ebuild55
-rw-r--r--dev-vcs/cvs2svn/cvs2svn-2.0.1.ebuild55
-rw-r--r--dev-vcs/cvs2svn/cvs2svn-2.1.0.ebuild55
-rw-r--r--dev-vcs/cvs2svn/cvs2svn-2.1.1.ebuild55
-rw-r--r--dev-vcs/cvs2svn/cvs2svn-2.2.0.ebuild60
-rw-r--r--dev-vcs/cvs2svn/cvs2svn-2.3.0.ebuild64
-rw-r--r--dev-vcs/cvs2svn/cvs2svn-2.4.0.ebuild64
-rw-r--r--dev-vcs/cvs2svn/files/2.2.0-deprecated-modules.patch54
-rw-r--r--dev-vcs/cvs2svn/metadata.xml10
-rw-r--r--dev-vcs/cvsd/Manifest2
-rw-r--r--dev-vcs/cvsd/cvsd-1.0.17.ebuild44
-rw-r--r--dev-vcs/cvsd/cvsd-1.0.7.ebuild44
-rw-r--r--dev-vcs/cvsd/files/cvsd.rc620
-rw-r--r--dev-vcs/cvsd/metadata.xml5
-rw-r--r--dev-vcs/cvsgraph/Manifest2
-rw-r--r--dev-vcs/cvsgraph/cvsgraph-1.6.1.ebuild41
-rw-r--r--dev-vcs/cvsgraph/cvsgraph-1.7.0.ebuild41
-rw-r--r--dev-vcs/cvsgraph/metadata.xml12
-rw-r--r--dev-vcs/cvsps/Manifest3
-rw-r--r--dev-vcs/cvsps/cvsps-2.1-r1.ebuild38
-rw-r--r--dev-vcs/cvsps/cvsps-2.2_beta1.ebuild38
-rw-r--r--dev-vcs/cvsps/cvsps-3.13-r1.ebuild39
-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.xml12
-rw-r--r--dev-vcs/cvsq/Manifest1
-rw-r--r--dev-vcs/cvsq/cvsq-0.4.4.ebuild24
-rw-r--r--dev-vcs/cvsq/metadata.xml5
-rw-r--r--dev-vcs/cvsspam/Manifest1
-rw-r--r--dev-vcs/cvsspam/cvsspam-0.2.12.ebuild35
-rw-r--r--dev-vcs/cvsspam/files/cvsspam-0.2.12-svn.patch30
-rw-r--r--dev-vcs/cvsspam/metadata.xml7
-rw-r--r--dev-vcs/cvsutils/Manifest1
-rw-r--r--dev-vcs/cvsutils/cvsutils-0.2.5.ebuild20
-rw-r--r--dev-vcs/cvsutils/metadata.xml11
-rw-r--r--dev-vcs/darcs/Manifest4
-rw-r--r--dev-vcs/darcs/darcs-2.10.0-r1.ebuild107
-rw-r--r--dev-vcs/darcs/darcs-2.10.1.ebuild100
-rw-r--r--dev-vcs/darcs/darcs-2.8.4-r3.ebuild128
-rw-r--r--dev-vcs/darcs/darcs-2.8.4-r6.ebuild134
-rw-r--r--dev-vcs/darcs/darcs-2.8.4.ebuild117
-rw-r--r--dev-vcs/darcs/darcs-2.8.5-r3.ebuild94
-rw-r--r--dev-vcs/darcs/darcs-2.8.5-r4.ebuild96
-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/files/darcs-2.8.5-ghc-7.10.patch142
-rw-r--r--dev-vcs/darcs/metadata.xml17
-rw-r--r--dev-vcs/easygit/Manifest1
-rw-r--r--dev-vcs/easygit/easygit-1.6.5.5.ebuild23
-rw-r--r--dev-vcs/easygit/metadata.xml7
-rw-r--r--dev-vcs/fossil/Manifest1
-rw-r--r--dev-vcs/fossil/fossil-20150119112900.ebuild48
-rw-r--r--dev-vcs/fossil/metadata.xml20
-rw-r--r--dev-vcs/giggle/Manifest1
-rw-r--r--dev-vcs/giggle/files/giggle-0.6.2-gtksourceview-3.8.0.patch24
-rw-r--r--dev-vcs/giggle/giggle-0.7-r1.ebuild46
-rw-r--r--dev-vcs/giggle/metadata.xml12
-rw-r--r--dev-vcs/git-annex/Manifest8
-rw-r--r--dev-vcs/git-annex/files/git-annex.xpm47
-rw-r--r--dev-vcs/git-annex/git-annex-5.20140927.ebuild162
-rw-r--r--dev-vcs/git-annex/git-annex-5.20141125.ebuild162
-rw-r--r--dev-vcs/git-annex/git-annex-5.20141203.ebuild165
-rw-r--r--dev-vcs/git-annex/git-annex-5.20141231.ebuild173
-rw-r--r--dev-vcs/git-annex/git-annex-5.20150219.ebuild172
-rw-r--r--dev-vcs/git-annex/git-annex-5.20150327.ebuild172
-rw-r--r--dev-vcs/git-annex/git-annex-5.20150617.ebuild178
-rw-r--r--dev-vcs/git-annex/git-annex-5.20150710.ebuild178
-rw-r--r--dev-vcs/git-annex/metadata.xml41
-rw-r--r--dev-vcs/git-bz/Manifest2
-rw-r--r--dev-vcs/git-bz/git-bz-0.12.04.26.ebuild29
-rw-r--r--dev-vcs/git-bz/git-bz-0.12.12.15.ebuild25
-rw-r--r--dev-vcs/git-bz/git-bz-9999.ebuild49
-rw-r--r--dev-vcs/git-bz/metadata.xml8
-rw-r--r--dev-vcs/git-bzr-ng/Manifest2
-rw-r--r--dev-vcs/git-bzr-ng/git-bzr-ng-0_pre20120130.ebuild39
-rw-r--r--dev-vcs/git-bzr-ng/git-bzr-ng-0_pre20120822.ebuild39
-rw-r--r--dev-vcs/git-bzr-ng/metadata.xml12
-rw-r--r--dev-vcs/git-cola/Manifest2
-rw-r--r--dev-vcs/git-cola/files/README.gentoo3
-rw-r--r--dev-vcs/git-cola/files/git-cola-1.9.1-system-ssh-askpass.patch16
-rw-r--r--dev-vcs/git-cola/files/git-cola-1.9.3-disable-tests.patch21
-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.1.2.ebuild111
-rw-r--r--dev-vcs/git-cola/git-cola-2.2.1.ebuild98
-rw-r--r--dev-vcs/git-cola/metadata.xml15
-rw-r--r--dev-vcs/git-crypt/Manifest3
-rw-r--r--dev-vcs/git-crypt/git-crypt-0.3.ebuild21
-rw-r--r--dev-vcs/git-crypt/git-crypt-0.4.ebuild21
-rw-r--r--dev-vcs/git-crypt/git-crypt-0.5.0.ebuild21
-rw-r--r--dev-vcs/git-crypt/metadata.xml11
-rw-r--r--dev-vcs/git-deploy/Manifest1
-rw-r--r--dev-vcs/git-deploy/git-deploy-6.0.1_p20131024.ebuild68
-rw-r--r--dev-vcs/git-deploy/metadata.xml11
-rw-r--r--dev-vcs/git-flow/Manifest4
-rw-r--r--dev-vcs/git-flow/files/git-flow-0.4.1-unbundle-shflags.patch32
-rw-r--r--dev-vcs/git-flow/files/git-flow-1.8.0-unbundle-shflags.patch25
-rw-r--r--dev-vcs/git-flow/git-flow-0.4.1.ebuild51
-rw-r--r--dev-vcs/git-flow/git-flow-1.8.0.ebuild51
-rw-r--r--dev-vcs/git-flow/metadata.xml11
-rw-r--r--dev-vcs/git-mailz/Manifest2
-rw-r--r--dev-vcs/git-mailz/git-mailz-0.12.ebuild29
-rw-r--r--dev-vcs/git-mailz/git-mailz-0.14.ebuild29
-rw-r--r--dev-vcs/git-mailz/metadata.xml13
-rw-r--r--dev-vcs/git-mantle/Manifest1
-rw-r--r--dev-vcs/git-mantle/git-mantle-0.6.ebuild27
-rw-r--r--dev-vcs/git-mantle/metadata.xml13
-rw-r--r--dev-vcs/git-merge-changelog/Manifest2
-rw-r--r--dev-vcs/git-merge-changelog/git-merge-changelog-20140103.ebuild23
-rw-r--r--dev-vcs/git-merge-changelog/git-merge-changelog-20140223.ebuild25
-rw-r--r--dev-vcs/git-merge-changelog/metadata.xml7
-rw-r--r--dev-vcs/git-pimp/Manifest1
-rw-r--r--dev-vcs/git-pimp/git-pimp-0.8.ebuild29
-rw-r--r--dev-vcs/git-pimp/metadata.xml13
-rw-r--r--dev-vcs/git-sh/Manifest2
-rw-r--r--dev-vcs/git-sh/git-sh-1.1.ebuild32
-rw-r--r--dev-vcs/git-sh/git-sh-1.3.ebuild32
-rw-r--r--dev-vcs/git-sh/metadata.xml12
-rw-r--r--dev-vcs/git/Manifest33
-rw-r--r--dev-vcs/git/files/50git-gentoo.el13
-rw-r--r--dev-vcs/git/files/git-1.8.5-mw-destdir.patch37
-rw-r--r--dev-vcs/git/files/git-1.8.5-mw-vendor.patch39
-rw-r--r--dev-vcs/git/files/git-1.8.5-optional-cvs.patch362
-rw-r--r--dev-vcs/git/files/git-1.9.0_rc3-optional-cvs.patch372
-rw-r--r--dev-vcs/git/files/git-2.0.0-r2-optional-cvs.patch375
-rw-r--r--dev-vcs/git/files/git-2.2.0-svn-fe-linking.patch11
-rw-r--r--dev-vcs/git/files/git-2.2.2-optional-cvs.patch454
-rw-r--r--dev-vcs/git/files/git-daemon-r1.initd13
-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.service13
-rw-r--r--dev-vcs/git/git-1.8.5.6.ebuild641
-rw-r--r--dev-vcs/git/git-1.9.5.ebuild640
-rw-r--r--dev-vcs/git/git-2.0.5.ebuild639
-rw-r--r--dev-vcs/git/git-2.1.4.ebuild635
-rw-r--r--dev-vcs/git/git-2.2.2.ebuild637
-rw-r--r--dev-vcs/git/git-2.3.6.ebuild636
-rw-r--r--dev-vcs/git/git-2.3.8.ebuild636
-rw-r--r--dev-vcs/git/git-2.4.6.ebuild636
-rw-r--r--dev-vcs/git/git-2.4.7.ebuild636
-rw-r--r--dev-vcs/git/git-2.4.8.ebuild636
-rw-r--r--dev-vcs/git/git-2.5.0.ebuild636
-rw-r--r--dev-vcs/git/git-9999-r1.ebuild637
-rw-r--r--dev-vcs/git/git-9999-r2.ebuild637
-rw-r--r--dev-vcs/git/git-9999-r3.ebuild637
-rw-r--r--dev-vcs/git/git-9999.ebuild637
-rw-r--r--dev-vcs/git/metadata.xml38
-rw-r--r--dev-vcs/gitg/Manifest5
-rw-r--r--dev-vcs/gitg/files/gitg-0.1.2-fix-disable-debug.patch58
-rw-r--r--dev-vcs/gitg/files/gitg-0.2.6-fix-libreoffice.patch371
-rw-r--r--dev-vcs/gitg/files/gitg-3.14.1-libgit2-glib-0.22.0.patch123
-rw-r--r--dev-vcs/gitg/gitg-0.2.7.ebuild59
-rw-r--r--dev-vcs/gitg/gitg-0.3.2.ebuild80
-rw-r--r--dev-vcs/gitg/gitg-3.14.0.ebuild84
-rw-r--r--dev-vcs/gitg/gitg-3.14.1.ebuild88
-rw-r--r--dev-vcs/gitg/gitg-3.16.1.ebuild82
-rw-r--r--dev-vcs/gitg/metadata.xml15
-rw-r--r--dev-vcs/github-pages-publish/Manifest1
-rw-r--r--dev-vcs/github-pages-publish/github-pages-publish-0.1.2.ebuild35
-rw-r--r--dev-vcs/github-pages-publish/metadata.xml20
-rw-r--r--dev-vcs/gitinspector/Manifest2
-rw-r--r--dev-vcs/gitinspector/gitinspector-0.3.1.ebuild22
-rw-r--r--dev-vcs/gitinspector/gitinspector-0.3.2.ebuild27
-rw-r--r--dev-vcs/gitinspector/metadata.xml7
-rw-r--r--dev-vcs/gitolite-gentoo/Manifest10
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-2.3.1-r1.ebuild77
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-2.3.3-r1.ebuild77
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.5.3.1.ebuild91
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.1-r1.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.1.ebuild91
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.1.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.2.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.3.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.2.4.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.3.2.ebuild106
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-3.6.3.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/gitolite-gentoo-9999.ebuild105
-rw-r--r--dev-vcs/gitolite-gentoo/metadata.xml14
-rw-r--r--dev-vcs/gitolite/Manifest5
-rw-r--r--dev-vcs/gitolite/gitolite-2.3.1-r1.ebuild73
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.1.ebuild83
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.2-r1.ebuild96
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.2.ebuild83
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.3.ebuild97
-rw-r--r--dev-vcs/gitolite/gitolite-3.6.ebuild83
-rw-r--r--dev-vcs/gitolite/gitolite-9999.ebuild96
-rw-r--r--dev-vcs/gitolite/metadata.xml21
-rw-r--r--dev-vcs/gitsh/Manifest1
-rw-r--r--dev-vcs/gitsh/gitsh-0.8.ebuild50
-rw-r--r--dev-vcs/gitsh/metadata.xml10
-rw-r--r--dev-vcs/gitstats/Manifest1
-rw-r--r--dev-vcs/gitstats/gitstats-0_pre131024.ebuild39
-rw-r--r--dev-vcs/gitstats/gitstats-9999.ebuild42
-rw-r--r--dev-vcs/gitstats/metadata.xml7
-rw-r--r--dev-vcs/gti/gti-9999.ebuild35
-rw-r--r--dev-vcs/gti/metadata.xml8
-rw-r--r--dev-vcs/guilt/Manifest4
-rw-r--r--dev-vcs/guilt/guilt-0.32.ebuild48
-rw-r--r--dev-vcs/guilt/guilt-0.34.ebuild49
-rw-r--r--dev-vcs/guilt/metadata.xml7
-rw-r--r--dev-vcs/hg-fast-export/Manifest2
-rw-r--r--dev-vcs/hg-fast-export/hg-fast-export-20140328.ebuild37
-rw-r--r--dev-vcs/hg-fast-export/hg-fast-export-20140706.ebuild39
-rw-r--r--dev-vcs/hg-fast-export/metadata.xml11
-rw-r--r--dev-vcs/hg-git/Manifest3
-rw-r--r--dev-vcs/hg-git/files/hg-git-0.3.4-git_handler-bookmarks-hg25.patch31
-rw-r--r--dev-vcs/hg-git/hg-git-0.7.0.ebuild26
-rw-r--r--dev-vcs/hg-git/hg-git-0.8.0.ebuild26
-rw-r--r--dev-vcs/hg-git/hg-git-0.8.1.ebuild25
-rw-r--r--dev-vcs/hg-git/metadata.xml15
-rw-r--r--dev-vcs/hgsubversion/Manifest5
-rw-r--r--dev-vcs/hgsubversion/hgsubversion-1.4.ebuild42
-rw-r--r--dev-vcs/hgsubversion/hgsubversion-1.6.1.ebuild32
-rw-r--r--dev-vcs/hgsubversion/hgsubversion-1.6.3.ebuild32
-rw-r--r--dev-vcs/hgsubversion/hgsubversion-1.7.ebuild32
-rw-r--r--dev-vcs/hgsubversion/hgsubversion-1.8.ebuild32
-rw-r--r--dev-vcs/hgsubversion/hgsubversion-9999.ebuild43
-rw-r--r--dev-vcs/hgsubversion/metadata.xml12
-rw-r--r--dev-vcs/hgsvn/Manifest1
-rw-r--r--dev-vcs/hgsvn/hgsvn-0.2.3-r1.ebuild38
-rw-r--r--dev-vcs/hgsvn/metadata.xml11
-rw-r--r--dev-vcs/hgview/Manifest4
-rw-r--r--dev-vcs/hgview/hgview-1.7.1-r1.ebuild52
-rw-r--r--dev-vcs/hgview/hgview-1.8.0.ebuild61
-rw-r--r--dev-vcs/hgview/hgview-1.8.1.ebuild61
-rw-r--r--dev-vcs/hgview/hgview-1.8.2.ebuild61
-rw-r--r--dev-vcs/hgview/metadata.xml12
-rw-r--r--dev-vcs/hub/Manifest2
-rw-r--r--dev-vcs/hub/hub-1.12.4.ebuild53
-rw-r--r--dev-vcs/hub/hub-2.2.0-r1.ebuild41
-rw-r--r--dev-vcs/hub/metadata.xml15
-rw-r--r--dev-vcs/kdesvn/Manifest1
-rw-r--r--dev-vcs/kdesvn/files/kdesvn-1.6.0-bug-address.patch20
-rw-r--r--dev-vcs/kdesvn/kdesvn-1.6.0-r1.ebuild42
-rw-r--r--dev-vcs/kdesvn/metadata.xml10
-rw-r--r--dev-vcs/mercurial-server/Manifest2
-rw-r--r--dev-vcs/mercurial-server/files/mercurial-server-1.1_documentation.patch18
-rw-r--r--dev-vcs/mercurial-server/mercurial-server-1.1.ebuild82
-rw-r--r--dev-vcs/mercurial-server/mercurial-server-1.2.ebuild82
-rw-r--r--dev-vcs/mercurial-server/mercurial-server-9999.ebuild82
-rw-r--r--dev-vcs/mercurial-server/metadata.xml14
-rw-r--r--dev-vcs/mercurial/Manifest5
-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.3.2.ebuild140
-rw-r--r--dev-vcs/mercurial/mercurial-3.3.3.ebuild140
-rw-r--r--dev-vcs/mercurial/mercurial-3.4.1.ebuild140
-rw-r--r--dev-vcs/mercurial/mercurial-3.4.2.ebuild140
-rw-r--r--dev-vcs/mercurial/mercurial-3.5.ebuild140
-rw-r--r--dev-vcs/mercurial/mercurial-9999.ebuild155
-rw-r--r--dev-vcs/mercurial/metadata.xml22
-rw-r--r--dev-vcs/metadata.xml13
-rw-r--r--dev-vcs/monotone/Manifest1
-rw-r--r--dev-vcs/monotone/files/50monotone-gentoo.el28
-rw-r--r--dev-vcs/monotone/files/hooks.lua4
-rw-r--r--dev-vcs/monotone/files/monotone-0.36.initd85
-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-botan-1.10.patch412
-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.confd26
-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.xml25
-rw-r--r--dev-vcs/monotone/monotone-1.0-r4.ebuild116
-rw-r--r--dev-vcs/mr/Manifest2
-rw-r--r--dev-vcs/mr/metadata.xml33
-rw-r--r--dev-vcs/mr/mr-1.20140831.1.ebuild32
-rw-r--r--dev-vcs/mr/mr-1.20141024.ebuild32
-rw-r--r--dev-vcs/notify-webhook/Manifest3
-rw-r--r--dev-vcs/notify-webhook/metadata.xml17
-rw-r--r--dev-vcs/notify-webhook/notify-webhook-20140805.ebuild27
-rw-r--r--dev-vcs/notify-webhook/notify-webhook-20150308.ebuild57
-rw-r--r--dev-vcs/pwclient/Manifest2
-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.ebuild32
-rw-r--r--dev-vcs/pwclient/pwclient-20141110122616.ebuild43
-rw-r--r--dev-vcs/qbzr/Manifest2
-rw-r--r--dev-vcs/qbzr/metadata.xml8
-rw-r--r--dev-vcs/qbzr/qbzr-0.23.0.ebuild46
-rw-r--r--dev-vcs/qbzr/qbzr-0.23.1.ebuild43
-rw-r--r--dev-vcs/qct/Manifest1
-rw-r--r--dev-vcs/qct/files/qct.rc3
-rw-r--r--dev-vcs/qct/metadata.xml16
-rw-r--r--dev-vcs/qct/qct-1.7-r1.ebuild72
-rw-r--r--dev-vcs/qgit/Manifest1
-rw-r--r--dev-vcs/qgit/metadata.xml8
-rw-r--r--dev-vcs/qgit/qgit-2.5.ebuild30
-rw-r--r--dev-vcs/qsvn/Manifest1
-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.xml6
-rw-r--r--dev-vcs/qsvn/qsvn-0.8.3.ebuild34
-rw-r--r--dev-vcs/rabbitvcs/Manifest3
-rw-r--r--dev-vcs/rabbitvcs/metadata.xml22
-rw-r--r--dev-vcs/rabbitvcs/rabbitvcs-0.15.2.ebuild94
-rw-r--r--dev-vcs/rabbitvcs/rabbitvcs-0.15.3.ebuild94
-rw-r--r--dev-vcs/rabbitvcs/rabbitvcs-0.16.ebuild102
-rw-r--r--dev-vcs/rapidsvn/Manifest2
-rw-r--r--dev-vcs/rapidsvn/files/rapidsvn-0.12.1-locale.patch23
-rw-r--r--dev-vcs/rapidsvn/files/rapidsvn-0.12.1-svncpp_link.patch12
-rw-r--r--dev-vcs/rapidsvn/files/rapidsvn-svncpp_link.patch12
-rw-r--r--dev-vcs/rapidsvn/metadata.xml12
-rw-r--r--dev-vcs/rapidsvn/rapidsvn-0.12.1-r1.ebuild121
-rw-r--r--dev-vcs/rcs/Manifest3
-rw-r--r--dev-vcs/rcs/metadata.xml19
-rw-r--r--dev-vcs/rcs/rcs-5.8.2.ebuild36
-rw-r--r--dev-vcs/rcs/rcs-5.9.3.ebuild48
-rw-r--r--dev-vcs/rcs/rcs-5.9.4.ebuild48
-rw-r--r--dev-vcs/rcsi/Manifest1
-rw-r--r--dev-vcs/rcsi/metadata.xml8
-rw-r--r--dev-vcs/rcsi/rcsi-0.5.ebuild31
-rw-r--r--dev-vcs/rsvndump/Manifest1
-rw-r--r--dev-vcs/rsvndump/files/rsvndump-0.5.6-compile-flags.patch18
-rw-r--r--dev-vcs/rsvndump/files/rsvndump-disable-man.patch12
-rw-r--r--dev-vcs/rsvndump/metadata.xml11
-rw-r--r--dev-vcs/rsvndump/rsvndump-0.6.ebuild36
-rw-r--r--dev-vcs/statcvs/Manifest1
-rw-r--r--dev-vcs/statcvs/files/statcvs-0.4.0-build.xml.patch16
-rw-r--r--dev-vcs/statcvs/files/statcvs-0.4.0-external-jtreemap.patch40
-rw-r--r--dev-vcs/statcvs/files/statcvs-0.4.0-r1-build.xml.patch24
-rw-r--r--dev-vcs/statcvs/files/statcvs-0.5.0-build.xml.patch24
-rw-r--r--dev-vcs/statcvs/metadata.xml11
-rw-r--r--dev-vcs/statcvs/statcvs-0.5.0.ebuild68
-rw-r--r--dev-vcs/statsvn/Manifest1
-rw-r--r--dev-vcs/statsvn/files/statsvn-0.4.1-build.xml.patch19
-rw-r--r--dev-vcs/statsvn/metadata.xml11
-rw-r--r--dev-vcs/statsvn/statsvn-0.5.0.ebuild73
-rw-r--r--dev-vcs/stgit/Manifest4
-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.xml18
-rw-r--r--dev-vcs/stgit/stgit-0.16-r2.ebuild77
-rw-r--r--dev-vcs/stgit/stgit-0.17.1-r1.ebuild87
-rw-r--r--dev-vcs/subversion/Manifest5
-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.6.3-hpux-dso.patch16
-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.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.initd226
-rw-r--r--dev-vcs/subversion/files/svnserve.initd321
-rw-r--r--dev-vcs/subversion/files/svnserve.xinetd14
-rw-r--r--dev-vcs/subversion/metadata.xml20
-rw-r--r--dev-vcs/subversion/subversion-1.7.20.ebuild473
-rw-r--r--dev-vcs/subversion/subversion-1.7.21.ebuild473
-rw-r--r--dev-vcs/subversion/subversion-1.8.13-r1.ebuild493
-rw-r--r--dev-vcs/subversion/subversion-1.8.14-r1.ebuild493
-rw-r--r--dev-vcs/subversion/subversion-1.8.14.ebuild493
-rw-r--r--dev-vcs/subversion/subversion-1.9.0.ebuild493
-rw-r--r--dev-vcs/svn2cl/Manifest1
-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.ebuild39
-rw-r--r--dev-vcs/svn2git/Manifest12
-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/files/svn2git-1.0.2.1-version.patch14
-rw-r--r--dev-vcs/svn2git/files/svn2git-1.0.3-backup-refs.patch45
-rw-r--r--dev-vcs/svn2git/files/svn2git-1.0.3_p1-version.patch14
-rw-r--r--dev-vcs/svn2git/files/svn2git-1.0.4-version.patch14
-rw-r--r--dev-vcs/svn2git/files/svn2git-1.0.5-version.patch14
-rw-r--r--dev-vcs/svn2git/files/svn2git-1.0.6-version.patch14
-rw-r--r--dev-vcs/svn2git/files/svn2git-1.0.8-compile.patch26
-rw-r--r--dev-vcs/svn2git/files/svn2git-1.0.8-utf8-author-names.patch51
-rw-r--r--dev-vcs/svn2git/files/svn2git-1.0.8-version.patch14
-rw-r--r--dev-vcs/svn2git/metadata.xml11
-rw-r--r--dev-vcs/svn2git/svn2git-0_pre20100303.ebuild40
-rw-r--r--dev-vcs/svn2git/svn2git-0_pre20100324.ebuild40
-rw-r--r--dev-vcs/svn2git/svn2git-0_pre20100327.ebuild40
-rw-r--r--dev-vcs/svn2git/svn2git-0_pre20101008.ebuild40
-rw-r--r--dev-vcs/svn2git/svn2git-0_pre20101101.ebuild40
-rw-r--r--dev-vcs/svn2git/svn2git-1.0.10.ebuild48
-rw-r--r--dev-vcs/svn2git/svn2git-1.0.2.1.ebuild47
-rw-r--r--dev-vcs/svn2git/svn2git-1.0.3_p1.ebuild50
-rw-r--r--dev-vcs/svn2git/svn2git-1.0.4.ebuild47
-rw-r--r--dev-vcs/svn2git/svn2git-1.0.5.ebuild47
-rw-r--r--dev-vcs/svn2git/svn2git-1.0.6.ebuild47
-rw-r--r--dev-vcs/svn2git/svn2git-1.0.8-r1.ebuild49
-rw-r--r--dev-vcs/svn2git/svn2git-9999.ebuild47
-rw-r--r--dev-vcs/svneverever/Manifest2
-rw-r--r--dev-vcs/svneverever/metadata.xml11
-rw-r--r--dev-vcs/svneverever/svneverever-1.2.2-r1.ebuild20
-rw-r--r--dev-vcs/svneverever/svneverever-1.3.0.ebuild20
-rw-r--r--dev-vcs/svnmailer/Manifest1
-rw-r--r--dev-vcs/svnmailer/metadata.xml7
-rw-r--r--dev-vcs/svnmailer/svnmailer-1.0.9-r1.ebuild38
-rw-r--r--dev-vcs/tig/Manifest2
-rw-r--r--dev-vcs/tig/metadata.xml12
-rw-r--r--dev-vcs/tig/tig-2.0.3.ebuild45
-rw-r--r--dev-vcs/tig/tig-2.1.ebuild48
-rw-r--r--dev-vcs/tkcvs/Manifest2
-rw-r--r--dev-vcs/tkcvs/metadata.xml5
-rw-r--r--dev-vcs/tkcvs/tkcvs-8.2.2.ebuild46
-rw-r--r--dev-vcs/tkcvs/tkcvs-8.2.3.ebuild44
-rw-r--r--dev-vcs/topgit/Manifest1
-rw-r--r--dev-vcs/topgit/metadata.xml11
-rw-r--r--dev-vcs/topgit/topgit-0.9.ebuild34
-rw-r--r--dev-vcs/tortoisehg/Manifest4
-rw-r--r--dev-vcs/tortoisehg/metadata.xml8
-rw-r--r--dev-vcs/tortoisehg/tortoisehg-3.3.2.ebuild78
-rw-r--r--dev-vcs/tortoisehg/tortoisehg-3.3.3.ebuild78
-rw-r--r--dev-vcs/tortoisehg/tortoisehg-3.4.1.ebuild78
-rw-r--r--dev-vcs/tortoisehg/tortoisehg-3.4.2.ebuild78
-rw-r--r--dev-vcs/tortoisehg/tortoisehg-9999.ebuild78
-rw-r--r--dev-vcs/vcsh/Manifest3
-rw-r--r--dev-vcs/vcsh/metadata.xml11
-rw-r--r--dev-vcs/vcsh/vcsh-1.20140508-r2.ebuild34
-rw-r--r--dev-vcs/vcsh/vcsh-1.20141026.ebuild34
-rw-r--r--dev-vcs/vcsh/vcsh-1.20150502.ebuild40
-rw-r--r--dev-vcs/veracity/Manifest3
-rw-r--r--dev-vcs/veracity/files/veracity-1.0.0.10517-spidermonkey-as-needed.patch32
-rw-r--r--dev-vcs/veracity/files/veracity-1.0.0.10517-system-sqlite.patch45
-rw-r--r--dev-vcs/veracity/files/veracity-1.0.0.10517-werror.patch19
-rw-r--r--dev-vcs/veracity/metadata.xml8
-rw-r--r--dev-vcs/veracity/veracity-1.0.0.10517.ebuild87
-rw-r--r--dev-vcs/veracity/veracity-1.1.0.10565.ebuild94
546 files changed, 36630 insertions, 0 deletions
diff --git a/dev-vcs/archway/Manifest b/dev-vcs/archway/Manifest
new file mode 100644
index 000000000000..8bcee1195af0
--- /dev/null
+++ b/dev-vcs/archway/Manifest
@@ -0,0 +1 @@
+DIST archway-0.2.1.tar.gz 384389 SHA256 66ce7be2bb5697aac1d060834fcc0419718d99473cbcd472272e98ce8125775b SHA512 52a9a5c3ced55dd50e996c75b7973c0d8e57a1b4f2094c8be598f8cb6f4b291c7d6c8ad79b447a32aa0a4f73263d65409d9b0c8ea8ef505e71e73d03fbb92a7d WHIRLPOOL a1a6c330ef15854ee1728ec90270bf10455181fa11c3a48440c681b6c910a8d493d9b7c30e12959d4a2b3f71900d62041937932d73aa4fecf6e0a1ed6e9abfd5
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..82c895fe2978
--- /dev/null
+++ b/dev-vcs/archway/archway-0.2.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit eutils
+
+DESCRIPTION="A GUI for GNU Arch"
+HOMEPAGE="http://www.nongnu.org/archway/"
+SRC_URI="http://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-perl-1.040
+# >=dev-perl/glib-perl-1.040
+# >=x11-libs/gtk+-2.4.0"
+
+DEPEND=""
+RDEPEND="x11-libs/gtk+:2
+ >=dev-perl/gtk2-perl-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..59e2b8f78cb5
--- /dev/null
+++ b/dev-vcs/archway/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>
+ <email>maintainer-needed@gentoo.org</email>
+ <name>Default assignee for orphaned packages</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/bfg/Manifest b/dev-vcs/bfg/Manifest
new file mode 100644
index 000000000000..30d30a109e36
--- /dev/null
+++ b/dev-vcs/bfg/Manifest
@@ -0,0 +1,6 @@
+DIST bfg-1.11.10.jar 13415363 SHA256 8605400d3357cd8bd13a2cef457a3a0b8f7d914ea5159354bc73f72b4dc5b295 SHA512 a960d699e445997897cb0c264a642bb637b8747c6474957c94796c6531c4d7d112f2412fd138bb78185455f8e09e4d3a0135ff53c558d535a6195c00a5698d87 WHIRLPOOL 2caebc6f1c1f14feea069a7d0ee6011570e3a6e58291527918d8bed4a863361af777d399c701a84df63e3e6076fccdc3c4b019e05587245f8069298ad23cf7f2
+DIST bfg-1.11.7.jar 13410526 SHA256 4b5f8eb6f1a28dddcd4cf11589e07e1c4fc9e76fc431baecf2b3a94439d7cf10 SHA512 0c05db6dc87e8da003206ec854d4a5b2c51643033db23bf3ed069f4184f6beed89e8d677584dada97d35819cea47788003bc29614d336fb3b7f9c9fdfa2a1aaa WHIRLPOOL b44ecbe4c877848f618e890e9068ea55da2f7f86a6a80cff2a9303496037cc127d5eeb318566ca46cfa89765fe43a6669e7e8a3e729a2645b8b70ff17a64c184
+DIST bfg-1.11.8.jar 13421588 SHA256 32b83c9bc660af2460d03672bd7febf07b5d5c7ffd915423bd63407e668b00a2 SHA512 947bbb49001c6dcec66fdeeb4fa8ee9b25b983ab1a9e13c32ff7a3b6455e54d4a98660ed42f96c8ba9adb3ac0d4833a541cde01703e097c8d652172a096a246c WHIRLPOOL da383e2a39c759ce239abcccd78a7d516070b43540a4babd0f4b6f895450297e3025193b251ec26a803e554f8e018408b95e2512f8c02bbd9e18b53a688d6bfe
+DIST bfg-1.12.0.jar 13517642 SHA256 e65277640a6836bb6c3723230e2f655d0a1ce82566a6da998f2033c540dc900b SHA512 7b6144793cd2c12661b37fdeb0391331fd423b2c37028cb319ec647dd6b38487397c167dcd70fdf9d67ef983f76a5d516e08351f3f494742f228fae6d93e6fb8 WHIRLPOOL 8bfaf061203c8770deb63c2c0bbe718a810fd72adc0365e604c3fc15e709d4ffd536e273001e114809ac65d6fc86a26da0496ed3650014b07baea3385c8f836d
+DIST bfg-1.12.1.jar 13566555 SHA256 de7eef7cc2fccb622c992d1fd20c7f3368321737dbe01ea8ef1e9c910df83c4c SHA512 6fcbd662f15aabd373b19cc0f9ba4bec81a424cb839bf60e3d524eefed7e7d6245d6bf6fc975e6bf9ec07b9e5b61730c9fe3e3f02242d9893e8588bfc0111b89 WHIRLPOOL e951a92aa0f3e735be60e6508ea2946a241f4af6e9cdd92261749add4ee7e426db7de07b6cba00df397a6030306a83774e83f0670686180fe5c6902459f0c179
+DIST bfg-1.12.3.jar 13569036 SHA256 2e237631235cfb8cc2d49dabb986389851dca8a28a07083345274b443dfa4911 SHA512 c55aaf76004f92fe13294bd54221646b3c7ccd9aaab46b7418fbcb417dfa632de1011608cf7ab9ff85c6c34b4cef1885327ad40e45beb26b27e97753990a0737 WHIRLPOOL d70f4ed866a24a7fe88c93170d8fcfd112ca7fc9e59a0f5a5cb6d78b6c46f6cedd89ee1a534d9a1f84741ee0bfa1b599c2cc3534e6faa2d6d54b21d397fabdf3
diff --git a/dev-vcs/bfg/bfg-1.11.10.ebuild b/dev-vcs/bfg/bfg-1.11.10.ebuild
new file mode 100644
index 000000000000..565ecf289292
--- /dev/null
+++ b/dev-vcs/bfg/bfg-1.11.10.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit java-pkg-2
+
+DESCRIPTION="a simpler, faster alternative to git-filter-branch for removing bad data from git repos"
+HOMEPAGE="http://rtyley.github.io/bfg-repo-cleaner/"
+SRC_URI="http://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_unpack() { :; }
+src_compile() { :; }
+
+src_install() {
+ java-pkg_newjar "${DISTDIR}"/${P}.jar
+ java-pkg_dolauncher ${PN}
+}
diff --git a/dev-vcs/bfg/bfg-1.11.7.ebuild b/dev-vcs/bfg/bfg-1.11.7.ebuild
new file mode 100644
index 000000000000..565ecf289292
--- /dev/null
+++ b/dev-vcs/bfg/bfg-1.11.7.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit java-pkg-2
+
+DESCRIPTION="a simpler, faster alternative to git-filter-branch for removing bad data from git repos"
+HOMEPAGE="http://rtyley.github.io/bfg-repo-cleaner/"
+SRC_URI="http://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_unpack() { :; }
+src_compile() { :; }
+
+src_install() {
+ java-pkg_newjar "${DISTDIR}"/${P}.jar
+ java-pkg_dolauncher ${PN}
+}
diff --git a/dev-vcs/bfg/bfg-1.11.8.ebuild b/dev-vcs/bfg/bfg-1.11.8.ebuild
new file mode 100644
index 000000000000..565ecf289292
--- /dev/null
+++ b/dev-vcs/bfg/bfg-1.11.8.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit java-pkg-2
+
+DESCRIPTION="a simpler, faster alternative to git-filter-branch for removing bad data from git repos"
+HOMEPAGE="http://rtyley.github.io/bfg-repo-cleaner/"
+SRC_URI="http://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_unpack() { :; }
+src_compile() { :; }
+
+src_install() {
+ java-pkg_newjar "${DISTDIR}"/${P}.jar
+ java-pkg_dolauncher ${PN}
+}
diff --git a/dev-vcs/bfg/bfg-1.12.0.ebuild b/dev-vcs/bfg/bfg-1.12.0.ebuild
new file mode 100644
index 000000000000..85b19cade09c
--- /dev/null
+++ b/dev-vcs/bfg/bfg-1.12.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit java-pkg-2
+
+DESCRIPTION="a simpler, faster alternative to git-filter-branch for removing bad data from git repos"
+HOMEPAGE="http://rtyley.github.io/bfg-repo-cleaner/"
+SRC_URI="http://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_unpack() { :; }
+src_compile() { :; }
+
+src_install() {
+ java-pkg_newjar "${DISTDIR}"/${P}.jar
+ java-pkg_dolauncher ${PN}
+}
diff --git a/dev-vcs/bfg/bfg-1.12.1.ebuild b/dev-vcs/bfg/bfg-1.12.1.ebuild
new file mode 100644
index 000000000000..85b19cade09c
--- /dev/null
+++ b/dev-vcs/bfg/bfg-1.12.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit java-pkg-2
+
+DESCRIPTION="a simpler, faster alternative to git-filter-branch for removing bad data from git repos"
+HOMEPAGE="http://rtyley.github.io/bfg-repo-cleaner/"
+SRC_URI="http://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_unpack() { :; }
+src_compile() { :; }
+
+src_install() {
+ java-pkg_newjar "${DISTDIR}"/${P}.jar
+ java-pkg_dolauncher ${PN}
+}
diff --git a/dev-vcs/bfg/bfg-1.12.3.ebuild b/dev-vcs/bfg/bfg-1.12.3.ebuild
new file mode 100644
index 000000000000..85b19cade09c
--- /dev/null
+++ b/dev-vcs/bfg/bfg-1.12.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit java-pkg-2
+
+DESCRIPTION="a simpler, faster alternative to git-filter-branch for removing bad data from git repos"
+HOMEPAGE="http://rtyley.github.io/bfg-repo-cleaner/"
+SRC_URI="http://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_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..157326a7e891
--- /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>
+ <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..1209172cb63d
--- /dev/null
+++ b/dev-vcs/bzr-explorer/Manifest
@@ -0,0 +1 @@
+DIST bzr-explorer-1.3.0.tar.gz 1469939 SHA256 e3584df263a5004765a224cc38d00449e0ad47495070edae59ecbcc4dac94086 SHA512 60cf3e70e5a4e19de3816619646ac0445a7847bc48c640712bd1042fce0cce5964de13e6ad5e1e65b85c9d596f073571ec918c8132c77d7348bc34e1e318b156 WHIRLPOOL b64dada7af2bf7502c7ce7d4d16174ffdb97596789b50b3026631da52d595f491cff930da034aaffa6dab938606f3a8a8312fef30f3070f1a6d59541d56ebc32
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..507f7030d41a
--- /dev/null
+++ b/dev-vcs/bzr-explorer/bzr-explorer-1.3.0-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="http://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/bzr-explorer-1.3.0.ebuild b/dev-vcs/bzr-explorer/bzr-explorer-1.3.0.ebuild
new file mode 100644
index 000000000000..82665ca76b23
--- /dev/null
+++ b/dev-vcs/bzr-explorer/bzr-explorer-1.3.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils
+
+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="http://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
+ >=dev-vcs/qbzr-0.23
+ gtk? ( dev-vcs/bzr-gtk )"
diff --git a/dev-vcs/bzr-explorer/metadata.xml b/dev-vcs/bzr-explorer/metadata.xml
new file mode 100644
index 000000000000..764351126d2d
--- /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>
+ <herd>bazaar</herd>
+ <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..65d590f70cb0
--- /dev/null
+++ b/dev-vcs/bzr-fastimport/Manifest
@@ -0,0 +1 @@
+DIST bzr-fastimport-0.13.0.tar.gz 80255 SHA256 5e296dc4ff8e9bf1b6447e81fef41e1217656b43368ee4056a1f024221e009eb SHA512 3677a6ebb9d5d36d7d29198f239289a9670ac4f1fcbf74a1f219f8a0a5a9cd4301dbdc969c4bce2da18e3c4f7f9a3752919b662473071a7b3f1d84c2de27d821 WHIRLPOOL be69b7541b2d2bdf7a85278997096a4113ef97aee59d6c25deddd89e8b5e406590f033eb1457946c3aa9f3f2aca16df6c2bf590b7d67f9ba6cf4ed33c72f2c56
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..713b659c47bd
--- /dev/null
+++ b/dev-vcs/bzr-fastimport/bzr-fastimport-0.13.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="http://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..e8dc124c31fa
--- /dev/null
+++ b/dev-vcs/bzr-fastimport/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>
+ <email>tetromino@gentoo.org</email>
+ <name>Alexandre Rostovtsev</name>
+ </maintainer>
+ <herd>bazaar</herd>
+ <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..d70782568a0c
--- /dev/null
+++ b/dev-vcs/bzr-git/Manifest
@@ -0,0 +1 @@
+DIST bzr-git-0.6.8.tar.gz 117453 SHA256 b157db228717900d109990df349c656d2297803a20f88edb8280f2e9d73bfc27 SHA512 23bd236bdd8bed53a691be03ae0e22bef804e164d4d0ec3760e2ee49d2b83d9cdff64207f33b6e7f088b7d94f7b14249948befb653f3391096210056ebe613cf WHIRLPOOL 9c0d21707a5f556abc685adc987f6777abc21f5339ec0120fa339e60c905ac579c84817b80f4dc7f5170242088c26ca4b6f9eefcfaa7dfbd2252d2efac0927aa
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..d14b550aeebe
--- /dev/null
+++ b/dev-vcs/bzr-git/bzr-git-0.6.8-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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=""
+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/bzr-git-0.6.8.ebuild b/dev-vcs/bzr-git/bzr-git-0.6.8.ebuild
new file mode 100644
index 000000000000..87cb700ecdf2
--- /dev/null
+++ b/dev-vcs/bzr-git/bzr-git-0.6.8.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils
+
+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=""
+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
+ >=dev-vcs/bzr-2.5.0"
diff --git a/dev-vcs/bzr-git/metadata.xml b/dev-vcs/bzr-git/metadata.xml
new file mode 100644
index 000000000000..e74a92d1562c
--- /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>
+ <herd>bazaar</herd>
+</pkgmetadata>
diff --git a/dev-vcs/bzr-gtk/Manifest b/dev-vcs/bzr-gtk/Manifest
new file mode 100644
index 000000000000..7d5a9568e584
--- /dev/null
+++ b/dev-vcs/bzr-gtk/Manifest
@@ -0,0 +1,2 @@
+DIST bzr-gtk-0.103.0.tar.gz 210971 SHA256 5dc8b222d36f1a1d5d9a4c5048b9c5c2febb653e70a9a752dae941f58d34e2fe SHA512 b95496e514b2144ffc70f516360c4f59f885ad2105a8b989ac469313dada9d5ebf05fa5b11f4e6cb16f41f0b5380159ff974f867391387f702dd35ca6dd4fe27 WHIRLPOOL 7d9a2ea8d27ed25e6f2f3a83e0eed292b758dd25942c3f26b99cf2f267b9242c77d4be814dce6d86e226fc710752ff5e1664554fe5c151fd2da051eb69c6a21b
+DIST bzr-gtk-0.104.0.tar.gz 218863 SHA256 c6d378d5111ca3483de7c54ffd9f6c7264407f567c9556e76e802b9c55ff419b SHA512 d39a1303570dd7504cad9211f3b1c86d3e6f022535c262b7b5f7b19899b362ff7b01d9f19e557cb4391d7ccf1470635ebc5d5380d2d5216b6610c4e8e1b7b6a3 WHIRLPOOL 26f611122ba3a08cc281a9d8490ed53dedad5a64d13567518ea1697285fe6f1eaa331847f928b5ac91cb35e7deef0c7bef0f9f38eddb5f3abc8dec67a3f9772d
diff --git a/dev-vcs/bzr-gtk/bzr-gtk-0.103.0.ebuild b/dev-vcs/bzr-gtk/bzr-gtk-0.103.0.ebuild
new file mode 100644
index 000000000000..ba18350706e5
--- /dev/null
+++ b/dev-vcs/bzr-gtk/bzr-gtk-0.103.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils
+
+MY_P="/${P/_rc/rc}"
+
+DESCRIPTION="A GTK+ interfaces to most Bazaar operations"
+HOMEPAGE="http://bazaar-vcs.org/bzr-gtk"
+SRC_URI="http://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
+ dev-python/pygobject
+ dev-python/notify-python
+ >=dev-python/pycairo-1.0"
+RDEPEND="${DEPEND}
+ nautilus? ( >=dev-python/nautilus-python-1.0 )
+ dev-python/notify-python
+ gnome-keyring? ( dev-python/gnome-keyring-python )
+ gpg? ( app-crypt/seahorse )"
+
+S="${WORKDIR}/${MY_P}"
+
+#TODO: src_test
+
+src_prepare() {
+ cp "${FILESDIR}"/credits.pickle "${S}"/credits.pickle
+}
+
+src_install() {
+ distutils_src_install
+ insinto /etc/xdg/autostart
+ doins bzr-notify.desktop
+ if ! use nautilus
+ then
+ rm -rf "${D}"/usr/$(get_libdir)/nautilus/
+ rm -rf "${D}"$(python_get_libdir --final-ABI)/site-packages/bzrlib/plugins/gtk/nautilus-bzr.py
+ fi
+}
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..f6339bf98872
--- /dev/null
+++ b/dev-vcs/bzr-gtk/bzr-gtk-0.104.0-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="http://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/bzr-gtk-0.104.0.ebuild b/dev-vcs/bzr-gtk/bzr-gtk-0.104.0.ebuild
new file mode 100644
index 000000000000..f0a9f29feddc
--- /dev/null
+++ b/dev-vcs/bzr-gtk/bzr-gtk-0.104.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils
+
+MY_P="/${P/_rc/rc}"
+
+DESCRIPTION="A GTK+ interfaces to most Bazaar operations"
+HOMEPAGE="http://bazaar-vcs.org/bzr-gtk"
+SRC_URI="http://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
+ dev-python/pygobject
+ dev-python/notify-python
+ >=dev-python/pycairo-1.0"
+RDEPEND="${DEPEND}
+ nautilus? ( >=dev-python/nautilus-python-1.0 )
+ dev-python/notify-python
+ gnome-keyring? ( dev-python/gnome-keyring-python )
+ gpg? ( app-crypt/seahorse )"
+
+S="${WORKDIR}/${MY_P}"
+
+#TODO: src_test
+
+src_prepare() {
+ cp "${FILESDIR}"/credits.pickle "${S}"/credits.pickle
+}
+
+src_install() {
+ distutils_src_install
+ insinto /etc/xdg/autostart
+ doins bzr-notify.desktop
+ if ! use nautilus
+ then
+ rm -rf "${D}"/usr/$(get_libdir)/nautilus/
+ rm -rf "${D}"$(python_get_libdir --final-ABI)/site-packages/bzrlib/plugins/gtk/nautilus-bzr.py
+ fi
+}
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..a41036fb8275
--- /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>
+ <herd>bazaar</herd>
+ <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..d2199fa74c91
--- /dev/null
+++ b/dev-vcs/bzr-rewrite/Manifest
@@ -0,0 +1 @@
+DIST bzr-rewrite-0.6.3.tar.gz 33045 SHA256 f4d0032a41a549a0bc3ac4248cd4599da859174ea33e56befcb095dd2c930794 SHA512 f1a55307e80090dcc3739e4b111e08b02e4c4ec07ed479a5ac28d2d40535a699492eba785c142d8f6396032ed9db143d86dc68dac5280c071b79a9818ac69250 WHIRLPOOL 7c27030e94ae0f57449fc77d226c385d8956965c693e2e24e1b431043021b30a519857ca9db3d0018ac93081cafd3908221b0dcd526753dee2d7d79922927115
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..8fb2c28f807a
--- /dev/null
+++ b/dev-vcs/bzr-rewrite/bzr-rewrite-0.6.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="http://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..49b47809416d
--- /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>
+ <herd>bazaar</herd>
+ <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..01afeda0df0d
--- /dev/null
+++ b/dev-vcs/bzr-xmloutput/Manifest
@@ -0,0 +1 @@
+DIST bzr-xmloutput-0.8.8.tar.gz 49969 SHA256 73b9b2f6ce4d9910031df7fd153d56d14f833c20a106f099bee5a33463f73b36 SHA512 9eb87ba86dd45b7132eca69ef6e52726d7ee2d9211cc3052655e40f5cee2b99e160336c347ddce7ad912c0027e8b6a05ca542f70733d2e3493922cfa311b38ef WHIRLPOOL e07a08cd0738524207e7ab8d6c645b86d087391fb06d1e0ecf08cfbe78e6f6a1e730af41f4e2dea9e197e7c7f0de69cf6494ab1f906919febb86e06b490fe4e2
diff --git a/dev-vcs/bzr-xmloutput/bzr-xmloutput-0.8.8-r1.ebuild b/dev-vcs/bzr-xmloutput/bzr-xmloutput-0.8.8-r1.ebuild
new file mode 100644
index 000000000000..ce4302f8d888
--- /dev/null
+++ b/dev-vcs/bzr-xmloutput/bzr-xmloutput-0.8.8-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils eutils
+
+DESCRIPTION="A Bazaar plugin that provides a option to generate XML output for
+builtin commands."
+HOMEPAGE="http://bazaar-vcs.org/XMLOutput"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="dev-vcs/bzr"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}_remove-relative-imports.patch
+}
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..5fd210f25a21
--- /dev/null
+++ b/dev-vcs/bzr-xmloutput/bzr-xmloutput-0.8.8-r2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="http://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..db982428e047
--- /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>
+ <herd>bazaar</herd>
+ <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..b4c3b64c73c2
--- /dev/null
+++ b/dev-vcs/bzr/Manifest
@@ -0,0 +1,3 @@
+DIST bzr-2.4.2.tar.gz 7528721 SHA256 a5b8db77c61e54450680befdbb4795f8a972fa5a167123786360d898b752656f SHA512 7a54f242618adafea989d904cc4c5c0b8c53c40b4d5548cf393109a134b8319f19a57e72927e7c1b6872feacea8a17ed92df3cd0e36ca22dd1ad8959ad0c4294 WHIRLPOOL 3bf6f2db16dae3466d76537fc6cc8c37cb7872fa94dd6f0d6a6c2a2b3a4b76fce00b5fd673eeb6656a4d277b03b3647e76b208b06834e1dbacd5f7a9041653f9
+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
diff --git a/dev-vcs/bzr/bzr-2.4.2.ebuild b/dev-vcs/bzr/bzr-2.4.2.ebuild
new file mode 100644
index 000000000000..9478eda0d0e1
--- /dev/null
+++ b/dev-vcs/bzr/bzr-2.4.2.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2:2.6"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="2.[45] 3.* 2.7-pypy-*"
+
+inherit bash-completion-r1 distutils eutils 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="http://launchpad.net/bzr/${SERIES}/${PV}/+download/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="curl doc +sftp test"
+
+RDEPEND="|| ( dev-lang/python:2.7[xml] dev-lang/python:2.6[xml] dev-python/celementtree )
+ curl? ( dev-python/pycurl )
+ sftp? ( dev-python/paramiko )"
+
+DEPEND="test? (
+ ${RDEPEND}
+ || ( dev-python/pyftpdlib dev-python/medusa )
+ dev-python/subunit
+ >=dev-python/testtools-0.9.5
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
+
+DOCS="doc/*.txt"
+PYTHON_MODNAME="bzrlib"
+
+src_prepare() {
+ distutils_src_prepare
+
+ # Don't regenerate .c files from .pyx when pyrex is found.
+ epatch "${FILESDIR}/${PN}-2.4.2-no-pyrex-citon.patch"
+}
+
+src_test() {
+ # Some tests expect the usual pyc compiling behaviour.
+ python_enable_pyc
+
+ # 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.*|"
+ # libcurl cannot verify SSL certs
+ # https://bugs.launchpad.net/bzr/+bug/82086
+ skip_tests+="per_transport.TransportTests.test_clone|per_transport.TransportTests.test_connection_sharing|per_transport.TransportTests.test_copy_to|per_transport.TransportTests.test_get|per_transport.TransportTests.test_get_bytes|per_transport.TransportTests.test_get_bytes_unknown_file|per_transport.TransportTests.test_get_directory_read_gives_ReadError|per_transport.TransportTests.test_get_unknown_file|per_transport.TransportTests.test_has|per_transport.TransportTests.test_has_root_works|per_transport.TransportTests.test_readv|per_transport.TransportTests.test_readv_out_of_order|per_transport.TransportTests.test_readv_short_read|per_transport.TransportTests.test_readv_with_adjust_for_latency|per_transport.TransportTests.test_readv_with_adjust_for_latency_with_big_file|per_transport.TransportTests.test_reuse_connection_for_various_paths|test_read_bundle.TestReadMergeableBundleFromURL.test_read_mergeable_respects_possible_transports|test_read_bundle.TestReadMergeableBundleFromURL.test_read_mergeable_from_url|test_read_bundle.TestReadMergeableBundleFromURL.test_read_fail|test_http.TestActivity.test_readv|test_http.TestActivity.test_post|test_http.TestActivity.test_has|test_http.TestActivity.test_get"
+ skip_tests+=")"
+ if [[ -n ${skip_tests} ]]; then
+ einfo "Skipping tests known to fail: ${skip_tests}"
+ fi
+
+ testing() {
+ LC_ALL="C" "$(PYTHON)" bzr --no-plugins selftest ${skip_tests:+-x} ${skip_tests}
+ }
+ python_execute_function testing
+
+ # Just to make sure we don't hit any errors on later stages.
+ python_disable_pyc
+}
+
+src_install() {
+ distutils_src_install --install-data "${EPREFIX}/usr/share"
+
+ if use doc; then
+ docinto developers
+ dodoc doc/developers/* || die
+ for doc in mini-tutorial tutorials user-{guide,reference}; do
+ docinto $doc
+ dodoc doc/en/$doc/* || die
+ done
+ fi
+
+ dobashcomp contrib/bash/bzr || die
+}
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..bff18fd5605a
--- /dev/null
+++ b/dev-vcs/bzr/bzr-2.5.1-r1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="http://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 ~x86-interix ~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
+}
+
+src_test() {
+ # Race due to conflicting ports in
+ # blackbox.test_serve.TestBzrServe.test_bzr_serve*.
+ DISTUTILS_NO_PARALLEL_BUILD=1 distutils-r1_src_test
+}
+
+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.5.1.ebuild b/dev-vcs/bzr/bzr-2.5.1.ebuild
new file mode 100644
index 000000000000..4bc774d19125
--- /dev/null
+++ b/dev-vcs/bzr/bzr-2.5.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+PYTHON_DEPEND="2:2.6"
+PYTHON_USE_WITH="threads ssl"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="2.[45] 3.* 2.7-pypy-*"
+
+inherit bash-completion-r1 distutils eutils 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="http://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 ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="curl doc +sftp test"
+
+RDEPEND="|| ( dev-lang/python:2.7[xml] dev-lang/python:2.6[xml] dev-python/celementtree )
+ curl? ( dev-python/pycurl )
+ sftp? ( dev-python/paramiko )"
+
+DEPEND="test? (
+ ${RDEPEND}
+ >=dev-python/pyftpdlib-0.7.0
+ dev-python/subunit
+ >=dev-python/testtools-0.9.5
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
+
+DOCS="doc/*.txt"
+PYTHON_MODNAME="bzrlib"
+
+src_prepare() {
+ distutils_src_prepare
+
+ # Don't regenerate .c files from .pyx when pyrex is found.
+ epatch "${FILESDIR}/${PN}-2.4.2-no-pyrex-citon.patch"
+
+ epatch "${FILESDIR}/${P}-sphinx-test-failures.patch"
+}
+
+src_test() {
+ # Some tests expect the usual pyc compiling behaviour.
+ python_enable_pyc
+
+ # 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
+
+ testing() {
+ LC_ALL="C" "$(PYTHON)" bzr --no-plugins selftest ${skip_tests:+-x} ${skip_tests}
+ }
+ python_execute_function testing
+
+ # Just to make sure we don't hit any errors on later stages.
+ python_disable_pyc
+}
+
+src_install() {
+ distutils_src_install --install-data "${EPREFIX}/usr/share"
+
+ 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..632a97fb53af
--- /dev/null
+++ b/dev-vcs/bzr/bzr-2.6.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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://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 ~x86-interix ~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}"
+
+# Fails tests bug#487216
+# Upstream is not exactly keen on fixing it
+RESTRICT="test"
+
+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
+}
+
+src_test() {
+ # Race due to conflicting ports in
+ # blackbox.test_serve.TestBzrServe.test_bzr_serve*.
+ DISTUTILS_NO_PARALLEL_BUILD=1 distutils-r1_src_test
+}
+
+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/71bzr-gentoo.el b/dev-vcs/bzr/files/71bzr-gentoo.el
new file mode 100644
index 000000000000..e8af05fb6ed6
--- /dev/null
+++ b/dev-vcs/bzr/files/71bzr-gentoo.el
@@ -0,0 +1,5 @@
+
+;;; dev-util/bzr site-lisp configuration
+
+(unless (fboundp 'vc-bzr-registered)
+ (add-to-list 'load-path "@SITELISP@"))
diff --git a/dev-vcs/bzr/files/bzr-2.4.0-no-pyrex-citon.patch b/dev-vcs/bzr/files/bzr-2.4.0-no-pyrex-citon.patch
new file mode 100644
index 000000000000..da5b3c881076
--- /dev/null
+++ b/dev-vcs/bzr/files/bzr-2.4.0-no-pyrex-citon.patch
@@ -0,0 +1,33 @@
+--- setup.py.orig 2011-08-16 17:18:11.280853205 +0200
++++ setup.py 2011-08-16 17:20:12.597637778 +0200
+@@ -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.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.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..3950aca74bad
--- /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>
+ <herd>bazaar</herd>
+ <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..4b42a425307b
--- /dev/null
+++ b/dev-vcs/bzrtools/Manifest
@@ -0,0 +1,2 @@
+DIST bzrtools-2.4.1.tar.gz 77725 SHA256 f62771dd221ad820e0363386608985e282cb88b52b5a6f0ed7b7fb2e99804def SHA512 da403e8564857a8f0b2eee58d6e27d6e86ae7b2e67ec13c7ef93d8180f49164dbf274510fbea5b8426d397a3546b449b1fc950f487ff86f8b67658e2401044d5 WHIRLPOOL afb588fd98850edfd2f748f27bab51bf51d2dcc2117ec54f37da1156dae95baee41270500606595d41cb3912256c89f12bcb5ebc17ba19d5cd5934cf6905fe4d
+DIST bzrtools-2.5.tar.gz 74508 SHA256 bccff6fba6129013f92a7bf16e73efad159cabd7957f4de765068044f730f03f SHA512 5bc07715a3ed525a9bed5b789ea7a4079c9a56a8ce798b2eff56b27e6eae574fac23b8cc96529a5ea44b8d4ce02c512a7e22d21f046801461ba38a8d2050aa16 WHIRLPOOL 8e03d00f988617ce5dfb015cd6b19caf980d48023952b7329fafc157faa69657d9e40fa6d90864c1db3f707f2f3ca1579679f20faaf309b0d6aaf8833747f4bb
diff --git a/dev-vcs/bzrtools/bzrtools-2.4.1.ebuild b/dev-vcs/bzrtools/bzrtools-2.4.1.ebuild
new file mode 100644
index 000000000000..32149a69ebe2
--- /dev/null
+++ b/dev-vcs/bzrtools/bzrtools-2.4.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils 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 ~x86-interix ~amd64-linux ~x86-linux ~x86-macos"
+IUSE=""
+#IUSE="test"
+
+RDEPEND="|| ( =dev-vcs/bzr-2.4*
+ =dev-vcs/bzr-2.5* )"
+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"
+PYTHON_MODNAME="bzrlib/plugins/bzrtools"
+
+src_test() {
+ testing() {
+ local return_status="0"
+
+ # put a linked copy of the bzr core into the build directory to properly
+ # test the "built" version of bzrtools
+ find "$(python_get_libdir)/site-packages/bzrlib/" \
+ -mindepth 1 -maxdepth 1 \
+ \( \( -type d -and -not -name "plugins" \) -or -name "*.py" \) \
+ -exec ln -s '{}' "${S}/build-${PYTHON_ABI}/lib/bzrlib/" \;
+ touch "${S}/build-${PYTHON_ABI}/lib/bzrlib/plugins/__init__.py"
+ "${S}/test.py" "${S}/build-${PYTHON_ABI}/lib" || return_status="1"
+ # remove the "shadow" copy so it doesn't get installed
+ rm "${S}/build-${PYTHON_ABI}/lib/bzrlib/plugins/__init__.py"
+ find "${S}/build-${PYTHON_ABI}/lib/bzrlib/" -mindepth 1 -maxdepth 1 -type l -exec rm '{}' \;
+
+ return "${return_status}"
+ }
+ python_execute_function testing
+}
diff --git a/dev-vcs/bzrtools/bzrtools-2.5.ebuild b/dev-vcs/bzrtools/bzrtools-2.5.ebuild
new file mode 100644
index 000000000000..f9adeef3c5ad
--- /dev/null
+++ b/dev-vcs/bzrtools/bzrtools-2.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 ~x86-interix ~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..5277693b7c63
--- /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>
+ <herd>bazaar</herd>
+ <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..18d30698a541
--- /dev/null
+++ b/dev-vcs/colorcvs/Manifest
@@ -0,0 +1 @@
+DIST colorcvs-1.4.tar.bz2 8376 SHA256 8e4b94ee1f6ee3dd4d545182da0f3b38cc52765e447975f64c70397d800ffa2f SHA512 b8c9f3241318599da40614392045a0bba3952314001f6b411207307e79e20b7dea1a9741d5a84dc91b652319ee434c2c14f03435ce4adbd22160d66181da6e44 WHIRLPOOL 83f59360652e4fccb311e47804dd4a3c5bcad07db45287c429e391a7ed00ca6ea5671114a89fe99d5be8d3c02e3a4ab840153b3048aaa635b9580d29ae30717d
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..65ec5d3a5d6c
--- /dev/null
+++ b/dev-vcs/colorcvs/colorcvs-1.4-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils prefix
+
+DESCRIPTION="A tool based on colorgcc to beautify cvs output"
+HOMEPAGE="http://packages.gentoo.org/package/dev-vcs/colorcvs"
+SRC_URI="http://dev.gentoo.org/~jlec/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~x86-fbsd ~x86-freebsd ~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..f23b9cae1593
--- /dev/null
+++ b/dev-vcs/colorcvs/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>shell-tools</herd>
+</pkgmetadata>
diff --git a/dev-vcs/colorsvn/Manifest b/dev-vcs/colorsvn/Manifest
new file mode 100644
index 000000000000..15c497f37ef7
--- /dev/null
+++ b/dev-vcs/colorsvn/Manifest
@@ -0,0 +1 @@
+DIST colorsvn-0.3.2.tar.gz 98460 SHA256 ee3bff9b897b268a8a62cee8f6162b562127a4c2becba3f20152f6cde83cdbe4 SHA512 1918d3609a871d8fa9e43cab5d32c5314505204deb9e7e0e8321c69c2f345b577a4572574fd7da7e428b8fca9228b2a48a81c8f1dc27c0aceca7e2596e13804f WHIRLPOOL 1b88225f871eca25a5cf82fcd6ad6a518fdf02cccebbb875d44df868033c721e17bade916014d0a71a4948e86430306db811edbb62e24f9b6b28e60577bedc9a
diff --git a/dev-vcs/colorsvn/colorsvn-0.3.2-r2.ebuild b/dev-vcs/colorsvn/colorsvn-0.3.2-r2.ebuild
new file mode 100644
index 000000000000..a3506f4e0292
--- /dev/null
+++ b/dev-vcs/colorsvn/colorsvn-0.3.2-r2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils
+
+DESCRIPTION="Subversion output colorizer"
+HOMEPAGE="http://colorsvn.tigris.org"
+SRC_URI="http://www.console-colors.de/downloads/${PN}/${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}"
+
+src_prepare() {
+ # rxvt-unicode isn't listed by default :)
+ sed -i -e 's:rxvt:rxvt rxvt-unicode:' colorsvnrc-original || die
+ # Fix confdir location for Prefix, #435434
+ sed -i \
+ -e '/^confdir/d' \
+ -e 's/$(confdir)/$(sysconfdir)/g' \
+ Makefile.in || die
+
+ epatch "${FILESDIR}/0001-Don-t-colorize-svn-mkdir-bug-321451.-Use-IPC-open2-i.patch"
+}
+
+src_compile() {
+ # bug 335134
+ emake -j1 || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc CREDITS || die "dodoc failed"
+}
+
+pkg_postinst() {
+ einfo
+ einfo "The default settings are stored in /etc/colorsvnrc."
+ einfo "They can be locally overridden by ~/.colorsvnrc."
+ einfo "An alias to colorsvn was installed for the svn command."
+ einfo "In order to immediately activate it do:"
+ einfo "\tsource /etc/profile"
+ einfo "NOTE: If you don't see colors,"
+ einfo "append the output of 'echo \$TERM' to 'colortty' in your colorsvnrc."
+ einfo
+}
diff --git a/dev-vcs/colorsvn/files/0001-Don-t-colorize-svn-mkdir-bug-321451.-Use-IPC-open2-i.patch b/dev-vcs/colorsvn/files/0001-Don-t-colorize-svn-mkdir-bug-321451.-Use-IPC-open2-i.patch
new file mode 100644
index 000000000000..6fb1e4b0313b
--- /dev/null
+++ b/dev-vcs/colorsvn/files/0001-Don-t-colorize-svn-mkdir-bug-321451.-Use-IPC-open2-i.patch
@@ -0,0 +1,43 @@
+From 869595b958e80f8c05b823c0df514d3decbe6686 Mon Sep 17 00:00:00 2001
+From: Christian Ruppert <idl0r@gentoo.org>
+Date: Thu, 16 Sep 2010 13:04:25 +0200
+Subject: [PATCH] Don't colorize 'svn mkdir', bug 321451. Use IPC::open2 instead of open3 to avoid using STDERR, bug 326279.
+
+---
+ colorsvn-original | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/colorsvn-original b/colorsvn-original
+index 01d7be3..46f105b 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;
+@@ -115,7 +115,7 @@ our %commandmap = ( "add" => ["add"],
+ );
+
+ # never colorize this commands
+-our @preventcolor = ("commit", "help", "import", "lock", "switch", "propedit", "resolved", "revert", "unlock");
++our @preventcolor = ("commit", "help", "import", "lock", "switch", "propedit", "resolved", "revert", "unlock", "mkdir");
+
+ #
+ # set default values
+@@ -331,7 +331,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,;
+
+--
+1.7.2.2
+
diff --git a/dev-vcs/colorsvn/metadata.xml b/dev-vcs/colorsvn/metadata.xml
new file mode 100644
index 000000000000..bb5e42d12c69
--- /dev/null
+++ b/dev-vcs/colorsvn/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>
+ <email>idl0r@gentoo.org</email>
+ <name>Christian Ruppert</name>
+ </maintainer>
+ <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..d4dc69fb292e
--- /dev/null
+++ b/dev-vcs/cssc/Manifest
@@ -0,0 +1 @@
+DIST CSSC-1.4.0.tar.gz 2012122 SHA256 30146f96c26c2a4c6b742bc8a498993ec6ea9f289becaaf566866488600b2994 SHA512 7abb38ecfb5120e807d1f09d16ce81306b3eb16746e44da5029f626feba67dfb46db20bd2b89daffb2e3cdc51ffadc51cd666eef7d1b94e56b4c7dc24f93ea76 WHIRLPOOL 725702d94cf5e0d2b393e98ab3b2d552d59d562626d4778dfe6a0ff1b4211577123c3fa3689a14738499780413ab73e7e1c10897793a89190c0bcd5b36a65829
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..65aee2636fe5
--- /dev/null
+++ b/dev-vcs/cssc/cssc-1.4.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="The GNU Project's replacement for SCCS"
+SRC_URI="mirror://gnu/${PN}/${P^^}.tar.gz"
+HOMEPAGE="http://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}/${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..ab89925c26ad
--- /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>
+<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..716ca1ee7c59
--- /dev/null
+++ b/dev-vcs/cvs-fast-export/Manifest
@@ -0,0 +1 @@
+DIST cvs-fast-export-1.26.tar.gz 668913 SHA256 ebca4b19ba9045bc1b733f729042d7a98dd6675dac3030239f718b13a99949ed SHA512 81d240ae387b4231415335b4a0d294ae81f6ecbc97077d92a1738aca17642b9a7e7ee3f7806890ceafc5c65c50d4370c39c36ee21c927a4fcd30ebfa3bbe472e WHIRLPOOL 1a59b9e5e0b30d935f463a58873c3554315d0d512b4d9482d5fc2341bdb194b16bd017a444f9e21f8ce2181a3bcf6e85aa09584467b1a9e6845ed92b8a75c4f8
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..e8943ec2b493
--- /dev/null
+++ b/dev-vcs/cvs-fast-export/cvs-fast-export-1.26.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..d22bbde28e2d
--- /dev/null
+++ b/dev-vcs/cvs-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>
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ </maintainer>
+ <herd>cvs-utils</herd>
+ <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..bda243d8d414
--- /dev/null
+++ b/dev-vcs/cvs/Manifest
@@ -0,0 +1,13 @@
+DIST cederqvist-1.11.23.html.bz2 112336 SHA256 7b44791e77d3cc56e2ce970303f4003a8a759e432cfa97de93fa45c4d78f80d9 SHA512 671d9d0d364c7ec21c8b5ae357bf7be097447342053b6eb442d6b367ff1b79e17b8494cac21a08c7a897c039ede7e08992d4af158fb2a68847506f7841f98789 WHIRLPOOL c58dba2bf0ca96a17099f5488f34b1343385e67a22a20697a0de4c9affb30f21fbd790b5fd874487e5f40ce2978ee961e8b876910ac520da35ec7ceb07edf139
+DIST cederqvist-1.11.23.pdf 1134081 SHA256 0ef6dc37510e43be1bcae50c635dedcbb2d56f16968946ff0a304a43f87a7d59 SHA512 6b5f7603ff38eaf0747d364f74960c5bb3ba172fd93436440644396ba9e94538cc3c258c8c44d5fc3437c73eacc8727381f0caa94651227a74353bb46029d490 WHIRLPOOL 31d5e9ff2abe0bf93f9be6f8657690a24c55037d621bc54e735d078a7ac1b089d55d0ea57b8450c47611d6ea7aff54aeed7f7bfbe1ff02188b25abcea164bcd0
+DIST cederqvist-1.11.23.ps 1129600 SHA256 6b35cbeecd6fa069e59743716f2766f5bfffe3013a59cf72d833e5837b20abc0 SHA512 0a0e14bb611a210d4fbacd187a8fd2d8ce2746df1487ec0272cb4abe9027194109adfa7ffe97fada1457203eac7428605e3b3def11a6fece4140e08b66ded17e WHIRLPOOL c24b5dea728a9a317fdbdf212351bb04525daebccc94a68fee8bc717f68ce8f1a9de7446422bffc07e9a27a005bf4a8d6bffcee31a2e83cb3cac34ee993f8cbb
+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 cederqvist-1.12.13.html.tar.bz2 140382 SHA256 1a9a34e07c00de5102224b48cbc53384992aea197c91c20b6140dd6885b5ae87 SHA512 4305b5b5d6ec75288e8be0f818815898523de465bd2dc1f55dc277a423815608e619e6fb50d47d29c378249db53f7dba2cc6b4e996f8cd2c1eecf5b9db5957c3 WHIRLPOOL 8b72d282e466b85ad2e898c52a934df55af530a458c39171e4de31a71e1d7c0dbf85674387021f0bc4d87b480a3ff32084574294425923b64c10998e0716abdc
+DIST cederqvist-1.12.13.pdf 1297631 SHA256 4f24b2ac3b81c97798cad42cba8ffe6cc65405f13e5a58a4b063aa9fffc4a7bc SHA512 56ff658265a4e08df6bcd59b1bcb046cbcb92d4107fd4fc54a35601e379af048fdab720500207a4ea6b757058bb52973c7723a02f43b5de8c9fee7f09379ba1f WHIRLPOOL 5ca68dbc70dfbf98a61700f696c4b197a8943f3122d419e2ae2a1f085c589b02c3e90bdadfa657351e51dfbf4a40781babcc47319e157aede3f67be8edf08493
+DIST cederqvist-1.12.13.ps 1280573 SHA256 a955722b89155e390635b1220fa67a096c97141d83ac53a7840323c01d13aa91 SHA512 7a6e9605c82b4d105d37663b12ce9fc89eb8e9153897ceeb6d4fd18da07947180b96167f67cd04df0ec2682d431bbb6840c8c87ccd97ddb596dd2efd31bbf1e4 WHIRLPOOL 2b6249d9cba0d08b76e9d8ae24828cfbfae71c2f109e35ca425c0122a79dc3a66a52ec9506971eab031d730743ed3bc5c01b583e3e9a538f067e22e6d78a6c0f
+DIST cvs-1.11.23.tar.bz2 2942652 SHA256 400f51b59d85116e79b844f2d5dbbad4759442a789b401a94aa5052c3d7a4aa9 SHA512 d84360b51b966f19ac3f1728265ff25e46d3a3ce6d9e7e30b154f0975bb10ce4f82f5ca3f308d2ff169c2b5dd97b0243e910d2e8ad59a5857aef7a70b9026b19 WHIRLPOOL 0f4a14989c29ee76a911edcbcb9b946f3710d1015391e7a219c841bf3cd03678994d572f23a66975030e9ca2eb64abc7f7665a535203bc81653d754491039252
+DIST cvs-1.12.12.tar.bz2 3197171 SHA256 9fb9176d268b9019768fc57dedc2920c28fbeda5ba224c2348550d4f25043edc SHA512 31c679b77b887e02d9c8c381b0dfb42f1207ef4ca806cd92843638eb2126ed032e99bda70a3e20ea2a029670ff39c40088a43435632e381739e6c2f978e6f4bb WHIRLPOOL 74257976cdb957e86fb9fb7e54fc8c0b7210f72136ce05327203d935195e7a3bdda0c1d616dc04cb1d6495cb038ca7275e88488eddb5d936c1cfceb94583278c
+DIST cvs-1.12.13.1.tar.bz2 4075630 SHA256 de7f374d8c4ac414c04e8d44ce9a5d3da919825a6a332d747e299dc7a80c2218 SHA512 db318c0c70b47283bd469d792bdfe5335e5375e3b25beb79a7aea8435209b944cfa7ba51bdef9935f708e3a26a06b72defdb698974f2951cc9afd615f970986b WHIRLPOOL 3369e59e9f598cf6de28577302d62d3f6b00f705a0a5729c7ebf7b956d899e85afaaa160be2c4f7a4c710c1dd8860301ad1855c874229e39dbe60a5acc91a884
+DIST cvs-1.12.13.tar.bz2 3911104 SHA256 78853613b9a6873a30e1cc2417f738c330e75f887afdaf7b3d0800cb19ca515e SHA512 7d10f808de62190b18d4f706d2d03ab218a508bfb52047ff3e830e293ec40c5e8bf6cc743ef72a5c24be5aa867c9e4892d7d475a026a98b296a3764b4bd0f4d8 WHIRLPOOL 0662c898e05dfe9e45ee1615cfc86bdf664dfc74ddcbea8833e0f98b22e5ea65920d401d3f9a674d5e567eb10f94a29631487a2f8e43a49685888ca94f98ab62
diff --git a/dev-vcs/cvs/cvs-1.11.23.ebuild b/dev-vcs/cvs/cvs-1.11.23.ebuild
new file mode 100644
index 000000000000..b85ae1d530f7
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.11.23.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+SRC_URI="mirror://gnu/non-gnu/cvs/source/stable/${PV}/${P}.tar.bz2
+ doc? ( mirror://gnu/non-gnu/cvs/source/stable/${PV}/cederqvist-${PV}.html.bz2
+ mirror://gnu/non-gnu/cvs/source/stable/${PV}/cederqvist-${PV}.pdf
+ mirror://gnu/non-gnu/cvs/source/stable/${PV}/cederqvist-${PV}.ps )"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+#KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+KEYWORDS="~arm64 ~ppc-aix ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc emacs"
+RESTRICT='test'
+
+DEPEND=">=sys-libs/zlib-1.1.4"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-CVE-2010-3846.patch
+ epatch "${FILESDIR}"/${P}-getline64.patch
+
+ # remove a useless binary
+ einfo "Removing a compiled binary"
+ find "${S}" -type f -name getdate -exec rm \{\} \;
+}
+
+src_configure() {
+ [[ ${CHOST} == *-interix* ]] && export ac_cv_header_inttypes_h=no
+
+ econf --with-tmpdir=/tmp --without-gssapi || die
+}
+
+src_install() {
+ einstall || die
+
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ if use emacs; then
+ insinto /usr/share/emacs/site-lisp
+ doins cvs-format.el || die "doins failed"
+ fi
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${PV}.ps
+ tar xjf "${DISTDIR}"/cederqvist-${PV}.html.tar.bz2
+ dohtml -r cederqvist-${PV}.html/*
+ cd "${ED}"/usr/share/doc/${PF}/html/
+ ln -s cvs.html index.html
+ fi
+}
diff --git a/dev-vcs/cvs/cvs-1.12.12-r10.ebuild b/dev-vcs/cvs/cvs-1.12.12-r10.ebuild
new file mode 100644
index 000000000000..5198af42911b
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.12-r10.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils pam toolchain-funcs
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+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 )"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${PV}.html.tar.bz2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${P}-openat.patch
+ epatch "${FILESDIR}"/${P}-block-requests.patch
+ epatch "${FILESDIR}"/${P}-cvs-gnulib-vasnprintf.patch
+ epatch "${FILESDIR}"/${P}-install-sh.patch
+ epatch "${FILESDIR}"/${P}-hash-nameclash.patch # for AIX
+ epatch "${FILESDIR}"/${P}-getdelim.patch # 314791
+ epatch "${FILESDIR}"/${PN}-1.12.12-rcs2log-coreutils.patch # 144114
+ epatch "${FILESDIR}"/${P}-mktime-x32.patch # 395641
+ epatch "${FILESDIR}"/${P}-fix-massive-leak.patch
+ use server || elog "If you want any CVS server functionality, you MUST emerge with USE=server!"
+}
+
+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=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+
+ insinto /etc/xinetd.d
+ if use server; then
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+ fi
+ newenvd "${FILESDIR}"/01-cvs-env.d 01cvs
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ # Not installed into emacs site-lisp because it clobbers the normal C
+ # indentations.
+ dodoc cvs-format.el || die "dodoc failed"
+
+ use server && newdoc "${FILESDIR}"/cvs-1.12.12-cvs-custom.c cvs-custom.c
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${PV}.ps
+ tar xjf "${DISTDIR}"/cederqvist-${PV}.html.tar.bz2
+ dohtml -r cederqvist-${PV}.html/*
+ dosym cvs.html /usr/share/doc/${PF}/html/index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
diff --git a/dev-vcs/cvs/cvs-1.12.12-r6.ebuild b/dev-vcs/cvs/cvs-1.12.12-r6.ebuild
new file mode 100644
index 000000000000..4f5a3539155b
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.12-r6.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils pam toolchain-funcs
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+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 ~sparc-fbsd ~x86-fbsd"
+
+IUSE="crypt doc kerberos nls pam server"
+RESTRICT='test'
+
+DEPEND=">=sys-libs/zlib-1.1.4
+ kerberos? ( virtual/krb5 )
+ pam? ( virtual/pam )"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${PV}.html.tar.bz2
+ EPATCH_OPTS="-p1 -d ${S}" epatch "${FILESDIR}"/${P}-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${P}-openat.patch
+ EPATCH_OPTS="-p1 -d ${S}" epatch "${FILESDIR}"/${P}-block-requests.patch
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-cvs-gnulib-vasnprintf.patch
+ epatch "${FILESDIR}"/${P}-install-sh.patch
+ epatch "${FILESDIR}"/${P}-mktime-x32.patch # 395641
+ use server || elog "If you want any CVS server functionality, you MUST emerge with USE=server!"
+}
+
+src_compile() {
+ 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=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server) \
+ || die
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ # Not installed into emacs site-lisp because it clobbers the normal C
+ # indentations.
+ dodoc cvs-format.el || die "dodoc failed"
+
+ use server && newdoc "${FILESDIR}"/cvs-1.12.12-cvs-custom.c cvs-custom.c
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${PV}.ps
+ tar xjf "${DISTDIR}"/cederqvist-${PV}.html.tar.bz2
+ dohtml -r cederqvist-${PV}.html/*
+ cd "${D}"/usr/share/doc/${PF}/html/
+ ln -s cvs.html index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
diff --git a/dev-vcs/cvs/cvs-1.12.12-r7.ebuild b/dev-vcs/cvs/cvs-1.12.12-r7.ebuild
new file mode 100644
index 000000000000..754e0c143554
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.12-r7.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils pam toolchain-funcs
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+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 ~sparc-fbsd ~x86-fbsd ~amd64-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 )"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${PV}.html.tar.bz2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${P}-openat.patch
+ epatch "${FILESDIR}"/${P}-block-requests.patch
+ epatch "${FILESDIR}"/${P}-cvs-gnulib-vasnprintf.patch
+ epatch "${FILESDIR}"/${P}-install-sh.patch
+ epatch "${FILESDIR}"/${P}-hash-nameclash.patch # for AIX
+ elog "If you want any CVS server functionality, you MUST emerge with USE=server!"
+}
+
+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=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ # Not installed into emacs site-lisp because it clobbers the normal C
+ # indentations.
+ dodoc cvs-format.el || die "dodoc failed"
+
+ use server && newdoc "${FILESDIR}"/cvs-1.12.12-cvs-custom.c cvs-custom.c
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${PV}.ps
+ tar xjf "${DISTDIR}"/cederqvist-${PV}.html.tar.bz2
+ dohtml -r cederqvist-${PV}.html/*
+ dosym cvs.html /usr/share/doc/${PF}/html/index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
diff --git a/dev-vcs/cvs/cvs-1.12.12-r8.ebuild b/dev-vcs/cvs/cvs-1.12.12-r8.ebuild
new file mode 100644
index 000000000000..18e0e6c1f374
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.12-r8.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils pam toolchain-funcs
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+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 ~sparc-fbsd ~x86-fbsd ~amd64-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 )"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${PV}.html.tar.bz2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${P}-openat.patch
+ epatch "${FILESDIR}"/${P}-block-requests.patch
+ epatch "${FILESDIR}"/${P}-cvs-gnulib-vasnprintf.patch
+ epatch "${FILESDIR}"/${P}-install-sh.patch
+ epatch "${FILESDIR}"/${P}-hash-nameclash.patch # for AIX
+ epatch "${FILESDIR}"/${P}-getdelim.patch # 314791
+ elog "If you want any CVS server functionality, you MUST emerge with USE=server!"
+}
+
+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=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ # Not installed into emacs site-lisp because it clobbers the normal C
+ # indentations.
+ dodoc cvs-format.el || die "dodoc failed"
+
+ use server && newdoc "${FILESDIR}"/cvs-1.12.12-cvs-custom.c cvs-custom.c
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${PV}.ps
+ tar xjf "${DISTDIR}"/cederqvist-${PV}.html.tar.bz2
+ dohtml -r cederqvist-${PV}.html/*
+ dosym cvs.html /usr/share/doc/${PF}/html/index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
diff --git a/dev-vcs/cvs/cvs-1.12.12-r9.ebuild b/dev-vcs/cvs/cvs-1.12.12-r9.ebuild
new file mode 100644
index 000000000000..4531ce4b4e77
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.12-r9.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils pam toolchain-funcs
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+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 ~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 )"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${PV}.html.tar.bz2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${P}-openat.patch
+ epatch "${FILESDIR}"/${P}-block-requests.patch
+ epatch "${FILESDIR}"/${P}-cvs-gnulib-vasnprintf.patch
+ epatch "${FILESDIR}"/${P}-install-sh.patch
+ epatch "${FILESDIR}"/${P}-hash-nameclash.patch # for AIX
+ epatch "${FILESDIR}"/${P}-getdelim.patch # 314791
+ epatch "${FILESDIR}"/${PN}-1.12.12-rcs2log-coreutils.patch # 144114
+ epatch "${FILESDIR}"/${P}-mktime-x32.patch # 395641
+ use server || elog "If you want any CVS server functionality, you MUST emerge with USE=server!"
+}
+
+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=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+
+ insinto /etc/xinetd.d
+ if use server; then
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+ fi
+ newenvd "${FILESDIR}"/01-cvs-env.d 01cvs
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ # Not installed into emacs site-lisp because it clobbers the normal C
+ # indentations.
+ dodoc cvs-format.el || die "dodoc failed"
+
+ use server && newdoc "${FILESDIR}"/cvs-1.12.12-cvs-custom.c cvs-custom.c
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${PV}.ps
+ tar xjf "${DISTDIR}"/cederqvist-${PV}.html.tar.bz2
+ dohtml -r cederqvist-${PV}.html/*
+ dosym cvs.html /usr/share/doc/${PF}/html/index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
diff --git a/dev-vcs/cvs/cvs-1.12.13-r1.ebuild b/dev-vcs/cvs/cvs-1.12.13-r1.ebuild
new file mode 100644
index 000000000000..a96af961bc85
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.13-r1.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils pam toolchain-funcs
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt doc emacs kerberos nls pam server"
+
+DEPEND=">=sys-libs/zlib-1.1.4
+ kerberos? ( virtual/krb5 )
+ pam? ( virtual/pam )"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${PV}.html.tar.bz2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.12.12-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${P}-openat.patch
+ epatch "${FILESDIR}"/${P}-zlib.patch
+ epatch "${FILESDIR}"/${PN}-1.12.12-install-sh.patch
+ # this testcase was not updated
+ #sed -i.orig -e '/unrecognized keyword.*BogusOption/s,98,73,g' \
+ # ${S}/src/sanity.sh
+ # this one fails when the testpath path contains '.'
+ sed -i.orig -e '/newfile config3/s,a-z,a-z.,g' \
+ "${S}"/src/sanity.sh
+}
+
+src_configure() {
+ local myconf
+ # the tests need the server and proxy
+ if use test; then
+ use server || \
+ ewarn "The server and proxy code are enabled as they are required for tests."
+ myconf="--enable-server --enable-proxy"
+ fi
+ 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=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server) \
+ $(use_enable server proxy)
+}
+
+src_install() {
+ einstall || die
+
+ if use server; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+ fi
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ if use emacs; then
+ insinto /usr/share/emacs/site-lisp
+ doins cvs-format.el || die "doins failed"
+ fi
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${PV}.ps
+ tar xjf "${DISTDIR}"/cederqvist-${PV}.html.tar.bz2
+ dohtml -r cederqvist-${PV}.html/*
+ dosym cvs.html /usr/share/doc/${PF}/html/index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
+
+src_test() {
+ einfo "If you want to see realtime status, or check out a failure,"
+ einfo "please look at ${S}/src/check.log*"
+ if [ -n "$TEST_REMOTE_AND_PROXY" ]; then
+ einfo "local, remote, and proxy tests enabled."
+ else
+ einfo "Only testing local mode. Please see ebuild for other modes."
+ fi
+
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-local"
+ mkdir -p "$TESTDIR"
+ # we only do the local tests by default
+ make localcheck || die "Some local test failed."
+ mv -f check.log check.log-local
+
+ # if you want to test the remote and proxy modes, things get a little bit
+ # complicated. You need to set up a SSH config file at ~portage/.ssh/config
+ # that allows the portage user to login without any authentication, and also
+ # set up the ~portage/.ssh/known_hosts file for your machine.
+ # We do not do this by default, as it is unsafe from a security point of
+ # view, and requires root level ssh changes.
+ if [ -n "$TEST_REMOTE_AND_PROXY" ]; then
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-remote"
+ mkdir -p "$TESTDIR"
+ make remotecheck || die "Some remote test failed."
+ mv -f check.log check.log-remote
+
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-proxy"
+ mkdir -p "$TESTDIR"
+ make proxycheck || die "Some proxy test failed."
+ mv -f check.log check.log-proxy
+ fi
+}
diff --git a/dev-vcs/cvs/cvs-1.12.13-r2.ebuild b/dev-vcs/cvs/cvs-1.12.13-r2.ebuild
new file mode 100644
index 000000000000..de3d18dfe28c
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.13-r2.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils pam toolchain-funcs
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt doc emacs kerberos nls pam server"
+
+DEPEND=">=sys-libs/zlib-1.1.4
+ kerberos? ( virtual/krb5 )
+ pam? ( virtual/pam )"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${PV}.html.tar.bz2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.12.12-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${P}-openat.patch
+ epatch "${FILESDIR}"/${P}-zlib.patch
+ epatch "${FILESDIR}"/${PN}-1.12.12-install-sh.patch
+ epatch "${FILESDIR}"/${PN}-1.12.12-fix-massive-leak.patch
+ # this testcase was not updated
+ #sed -i.orig -e '/unrecognized keyword.*BogusOption/s,98,73,g' \
+ # ${S}/src/sanity.sh
+ # this one fails when the testpath path contains '.'
+ sed -i.orig -e '/newfile config3/s,a-z,a-z.,g' \
+ "${S}"/src/sanity.sh
+}
+
+src_configure() {
+ local myconf
+ # the tests need the server and proxy
+ if use test; then
+ use server || \
+ ewarn "The server and proxy code are enabled as they are required for tests."
+ myconf="--enable-server --enable-proxy"
+ fi
+ 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=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server) \
+ $(use_enable server proxy)
+}
+
+src_install() {
+ einstall || die
+
+ if use server; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+ fi
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ if use emacs; then
+ insinto /usr/share/emacs/site-lisp
+ doins cvs-format.el || die "doins failed"
+ fi
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${PV}.ps
+ tar xjf "${DISTDIR}"/cederqvist-${PV}.html.tar.bz2
+ dohtml -r cederqvist-${PV}.html/*
+ dosym cvs.html /usr/share/doc/${PF}/html/index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
+
+src_test() {
+ einfo "If you want to see realtime status, or check out a failure,"
+ einfo "please look at ${S}/src/check.log*"
+ if [ -n "$TEST_REMOTE_AND_PROXY" ]; then
+ einfo "local, remote, and proxy tests enabled."
+ else
+ einfo "Only testing local mode. Please see ebuild for other modes."
+ fi
+
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-local"
+ mkdir -p "$TESTDIR"
+ # we only do the local tests by default
+ make localcheck || die "Some local test failed."
+ mv -f check.log check.log-local
+
+ # if you want to test the remote and proxy modes, things get a little bit
+ # complicated. You need to set up a SSH config file at ~portage/.ssh/config
+ # that allows the portage user to login without any authentication, and also
+ # set up the ~portage/.ssh/known_hosts file for your machine.
+ # We do not do this by default, as it is unsafe from a security point of
+ # view, and requires root level ssh changes.
+ if [ -n "$TEST_REMOTE_AND_PROXY" ]; then
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-remote"
+ mkdir -p "$TESTDIR"
+ make remotecheck || die "Some remote test failed."
+ mv -f check.log check.log-remote
+
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-proxy"
+ mkdir -p "$TESTDIR"
+ make proxycheck || die "Some proxy test failed."
+ mv -f check.log check.log-proxy
+ fi
+}
diff --git a/dev-vcs/cvs/cvs-1.12.13.1-r1.ebuild b/dev-vcs/cvs/cvs-1.12.13.1-r1.ebuild
new file mode 100644
index 000000000000..8c06d888a320
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.13.1-r1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils pam toolchain-funcs versionator
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+DOC_PV="$(get_version_component_range 1-3)"
+FEAT_URIBASE="mirror://gnu/non-gnu/cvs/source/feature/${PV}/"
+DOC_URIBASE="mirror://gnu/non-gnu/cvs/source/feature/${DOC_PV}/"
+SNAP_URIBASE="mirror://gnu/non-gnu/cvs/source/nightly-snapshots/feature/"
+SRC_URI="
+ ${FEAT_URIBASE}/${P}.tar.bz2
+ ${SNAP_URIBASE}/${P}.tar.bz2
+ doc? (
+ ${DOC_URIBASE}/cederqvist-${DOC_PV}.html.tar.bz2
+ ${DOC_URIBASE}/cederqvist-${DOC_PV}.pdf
+ ${DOC_URIBASE}/cederqvist-${DOC_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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt doc kerberos nls pam server"
+
+RDEPEND=">=sys-libs/zlib-1.1.4
+ kerberos? ( virtual/krb5 )
+ pam? ( virtual/pam )"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${DOC_PV}.html.tar.bz2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.12.12-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${PN}-1.12.12-install-sh.patch
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-block-requests.patch
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-hash-nameclash.patch # for AIX
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-gl-mempcpy.patch # for AIX
+ epatch "${FILESDIR}"/${PN}-1.12.12-fix-massive-leak.patch
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-use-include_next.patch
+ # Applied by upstream:
+ #epatch "${FILESDIR}"/${PN}-1.12.13-openat.patch
+ #epatch "${FILESDIR}"/${PN}-1.12.13-zlib.patch
+
+ # this testcase was not updated
+ #sed -i.orig -e '/unrecognized keyword.*BogusOption/s,98,73,g' \
+ # ${S}/src/sanity.sh
+ # this one fails when the testpath path contains '.'
+ sed -i.orig \
+ -e '/newfile config3/s,a-z,a-z.,g' \
+ "${S}"/src/sanity.sh
+
+ elog "If you want any CVS server functionality, you MUST emerge with USE=server!"
+}
+
+src_configure() {
+ local myconf
+ # the tests need the server and proxy
+ if use test; then
+ use server || \
+ ewarn "The server and proxy code are enabled as they are required for tests."
+ myconf="--enable-server --enable-proxy"
+ fi
+ 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=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server) \
+ $(use_enable server proxy) \
+ ${myconf}
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+
+ if use server; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+ fi
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ # Not installed into emacs site-lisp because it clobbers the normal C
+ # indentations.
+ dodoc cvs-format.el || die "dodoc failed"
+
+ use server && newdoc "${FILESDIR}"/${PN}-1.12.12-cvs-custom.c cvs-custom.c
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${DOC_PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${DOC_PV}.ps
+ dohtml -r "${WORKDIR}"/cederqvist-${DOC_PV}.html/
+ dosym cvs.html /usr/share/doc/${PF}/html/index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
+
+_run_one_test() {
+ mode="$1" ; shift
+ einfo "Starting ${mode} test"
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-${mode}"
+ rm -rf "$TESTDIR" # Clean up from any previous test passes
+ mkdir -p "$TESTDIR"
+ emake -j1 ${mode}check || die "Some ${mode} test failed."
+ mv -f check.log check.log-${mode}
+ einfo "${mode} test completed successfully, log is check.log-${mode}"
+}
+
+src_test() {
+ einfo "If you want to see realtime status, or check out a failure,"
+ einfo "please look at ${S}/src/check.log*"
+
+ if [ "$TEST_REMOTE_AND_PROXY" == "1" ]; then
+ einfo "local, remote, and proxy tests enabled."
+ else
+ einfo "Only testing local mode. Please see ebuild for other modes."
+ fi
+
+ # we only do the local tests by default
+ _run_one_test local
+
+ # if you want to test the remote and proxy modes, things get a little bit
+ # complicated. You need to set up a SSH config file at ~portage/.ssh/config
+ # that allows the portage user to login without any authentication, and also
+ # set up the ~portage/.ssh/known_hosts file for your machine.
+ # We do not do this by default, as it is unsafe from a security point of
+ # view, and requires root level ssh changes.
+ # Note that this also requires having a real shell for the portage user, so make
+ # sure that su -c 'ssh portage@mybox' portage works first!
+ # (It uses the local ip, not loopback)
+ if [ "$TEST_REMOTE_AND_PROXY" == "1" ]; then
+ _run_one_test remote
+ _run_one_test proxy
+ fi
+}
diff --git a/dev-vcs/cvs/cvs-1.12.13.1-r2.ebuild b/dev-vcs/cvs/cvs-1.12.13.1-r2.ebuild
new file mode 100644
index 000000000000..912f17e31f14
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.13.1-r2.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils pam toolchain-funcs versionator
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+DOC_PV="$(get_version_component_range 1-3)"
+FEAT_URIBASE="mirror://gnu/non-gnu/cvs/source/feature/${PV}/"
+DOC_URIBASE="mirror://gnu/non-gnu/cvs/source/feature/${DOC_PV}/"
+SNAP_URIBASE="mirror://gnu/non-gnu/cvs/source/nightly-snapshots/feature/"
+SRC_URI="
+ ${FEAT_URIBASE}/${P}.tar.bz2
+ ${SNAP_URIBASE}/${P}.tar.bz2
+ doc? (
+ ${DOC_URIBASE}/cederqvist-${DOC_PV}.html.tar.bz2
+ ${DOC_URIBASE}/cederqvist-${DOC_PV}.pdf
+ ${DOC_URIBASE}/cederqvist-${DOC_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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt doc kerberos nls pam server"
+
+RDEPEND=">=sys-libs/zlib-1.1.4
+ kerberos? ( virtual/krb5 )
+ pam? ( virtual/pam )"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${DOC_PV}.html.tar.bz2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.12.12-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${PN}-1.12.12-install-sh.patch
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-block-requests.patch
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-hash-nameclash.patch # for AIX
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-gl-mempcpy.patch # for AIX
+ epatch "${FILESDIR}"/${PN}-1.12.12-fix-massive-leak.patch
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-use-include_next.patch
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-fix-gnulib-SEGV-vasnprintf.patch
+ # Applied by upstream:
+ #epatch "${FILESDIR}"/${PN}-1.12.13-openat.patch
+ #epatch "${FILESDIR}"/${PN}-1.12.13-zlib.patch
+
+ # this testcase was not updated
+ #sed -i.orig -e '/unrecognized keyword.*BogusOption/s,98,73,g' \
+ # ${S}/src/sanity.sh
+ # this one fails when the testpath path contains '.'
+ sed -i.orig \
+ -e '/newfile config3/s,a-z,a-z.,g' \
+ "${S}"/src/sanity.sh
+
+ elog "If you want any CVS server functionality, you MUST emerge with USE=server!"
+}
+
+src_configure() {
+ local myconf
+ # the tests need the server and proxy
+ if use test; then
+ use server || \
+ ewarn "The server and proxy code are enabled as they are required for tests."
+ myconf="--enable-server --enable-proxy"
+ fi
+ 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=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server) \
+ $(use_enable server proxy) \
+ ${myconf}
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+
+ if use server; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+ fi
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ # Not installed into emacs site-lisp because it clobbers the normal C
+ # indentations.
+ dodoc cvs-format.el || die "dodoc failed"
+
+ use server && newdoc "${FILESDIR}"/${PN}-1.12.12-cvs-custom.c cvs-custom.c
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${DOC_PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${DOC_PV}.ps
+ dohtml -r "${WORKDIR}"/cederqvist-${DOC_PV}.html/
+ dosym cvs.html /usr/share/doc/${PF}/html/index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
+
+_run_one_test() {
+ mode="$1" ; shift
+ einfo "Starting ${mode} test"
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-${mode}"
+ rm -rf "$TESTDIR" # Clean up from any previous test passes
+ mkdir -p "$TESTDIR"
+ emake -j1 ${mode}check || die "Some ${mode} test failed."
+ mv -f check.log check.log-${mode}
+ einfo "${mode} test completed successfully, log is check.log-${mode}"
+}
+
+src_test() {
+ einfo "If you want to see realtime status, or check out a failure,"
+ einfo "please look at ${S}/src/check.log*"
+
+ if [ "$TEST_REMOTE_AND_PROXY" == "1" ]; then
+ einfo "local, remote, and proxy tests enabled."
+ else
+ einfo "Only testing local mode. Please see ebuild for other modes."
+ fi
+
+ # we only do the local tests by default
+ _run_one_test local
+
+ # if you want to test the remote and proxy modes, things get a little bit
+ # complicated. You need to set up a SSH config file at ~portage/.ssh/config
+ # that allows the portage user to login without any authentication, and also
+ # set up the ~portage/.ssh/known_hosts file for your machine.
+ # We do not do this by default, as it is unsafe from a security point of
+ # view, and requires root level ssh changes.
+ # Note that this also requires having a real shell for the portage user, so make
+ # sure that su -c 'ssh portage@mybox' portage works first!
+ # (It uses the local ip, not loopback)
+ if [ "$TEST_REMOTE_AND_PROXY" == "1" ]; then
+ _run_one_test remote
+ _run_one_test proxy
+ fi
+}
diff --git a/dev-vcs/cvs/cvs-1.12.13.1.ebuild b/dev-vcs/cvs/cvs-1.12.13.1.ebuild
new file mode 100644
index 000000000000..2422d3a225d9
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.13.1.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils pam toolchain-funcs versionator
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+DOC_PV="$(get_version_component_range 1-3)"
+FEAT_URIBASE="mirror://gnu/non-gnu/cvs/source/feature/${PV}/"
+DOC_URIBASE="mirror://gnu/non-gnu/cvs/source/feature/${DOC_PV}/"
+SNAP_URIBASE="mirror://gnu/non-gnu/cvs/source/nightly-snapshots/feature/"
+SRC_URI="
+ ${FEAT_URIBASE}/${P}.tar.bz2
+ ${SNAP_URIBASE}/${P}.tar.bz2
+ doc? (
+ ${DOC_URIBASE}/cederqvist-${DOC_PV}.html.tar.bz2
+ ${DOC_URIBASE}/cederqvist-${DOC_PV}.pdf
+ ${DOC_URIBASE}/cederqvist-${DOC_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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt doc kerberos nls pam server"
+
+DEPEND=">=sys-libs/zlib-1.1.4
+ kerberos? ( virtual/krb5 )
+ pam? ( virtual/pam )"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${DOC_PV}.html.tar.bz2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.12.12-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${PN}-1.12.12-install-sh.patch
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-block-requests.patch
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-hash-nameclash.patch # for AIX
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-gl-mempcpy.patch # for AIX
+ # Applied by upstream:
+ #epatch "${FILESDIR}"/${PN}-1.12.13-openat.patch
+ #epatch "${FILESDIR}"/${PN}-1.12.13-zlib.patch
+
+ # this testcase was not updated
+ #sed -i.orig -e '/unrecognized keyword.*BogusOption/s,98,73,g' \
+ # ${S}/src/sanity.sh
+ # this one fails when the testpath path contains '.'
+ sed -i.orig \
+ -e '/newfile config3/s,a-z,a-z.,g' \
+ "${S}"/src/sanity.sh
+
+ elog "If you want any CVS server functionality, you MUST emerge with USE=server!"
+}
+
+src_configure() {
+ local myconf
+ # the tests need the server and proxy
+ if use test; then
+ use server || \
+ ewarn "The server and proxy code are enabled as they are required for tests."
+ myconf="--enable-server --enable-proxy"
+ fi
+ 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=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server) \
+ $(use_enable server proxy) \
+ ${myconf}
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+
+ if use server; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+ fi
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ # Not installed into emacs site-lisp because it clobbers the normal C
+ # indentations.
+ dodoc cvs-format.el || die "dodoc failed"
+
+ use server && newdoc "${FILESDIR}"/${PN}-1.12.12-cvs-custom.c cvs-custom.c
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${DOC_PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${DOC_PV}.ps
+ dohtml -r "${WORKDIR}"/cederqvist-${DOC_PV}.html/
+ dosym cvs.html /usr/share/doc/${PF}/html/index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
+
+_run_one_test() {
+ mode="$1" ; shift
+ einfo "Starting ${mode} test"
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-${mode}"
+ rm -rf "$TESTDIR" # Clean up from any previous test passes
+ mkdir -p "$TESTDIR"
+ emake -j1 ${mode}check || die "Some ${mode} test failed."
+ mv -f check.log check.log-${mode}
+ einfo "${mode} test completed successfully, log is check.log-${mode}"
+}
+
+src_test() {
+ einfo "If you want to see realtime status, or check out a failure,"
+ einfo "please look at ${S}/src/check.log*"
+
+ if [ "$TEST_REMOTE_AND_PROXY" == "1" ]; then
+ einfo "local, remote, and proxy tests enabled."
+ else
+ einfo "Only testing local mode. Please see ebuild for other modes."
+ fi
+
+ # we only do the local tests by default
+ _run_one_test local
+
+ # if you want to test the remote and proxy modes, things get a little bit
+ # complicated. You need to set up a SSH config file at ~portage/.ssh/config
+ # that allows the portage user to login without any authentication, and also
+ # set up the ~portage/.ssh/known_hosts file for your machine.
+ # We do not do this by default, as it is unsafe from a security point of
+ # view, and requires root level ssh changes.
+ # Note that this also requires having a real shell for the portage user, so make
+ # sure that su -c 'ssh portage@mybox' portage works first!
+ # (It uses the local ip, not loopback)
+ if [ "$TEST_REMOTE_AND_PROXY" == "1" ]; then
+ _run_one_test remote
+ _run_one_test proxy
+ fi
+}
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.11.23-CVE-2010-3846.patch b/dev-vcs/cvs/files/cvs-1.11.23-CVE-2010-3846.patch
new file mode 100644
index 000000000000..e1560cef82e7
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.11.23-CVE-2010-3846.patch
@@ -0,0 +1,167 @@
+From b122edcb68ff05bb6eb22f6e50423e7f1050841b Mon Sep 17 00:00:00 2001
+From: Larry Jones <lawrence.jones@siemens.com>
+Date: Thu, 21 Oct 2010 10:08:16 +0200
+Subject: [PATCH] Fix for CVE-2010-3846
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Mallformed RCS revision (delete after the end of input file, or overlayed
+deleted regions) screws output file image size computation. This leads to
+write attempt after the allocated memory opening hiden memory corruption
+driven by CVS server.
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+---
+ src/rcs.c | 52 +++++++++++++++++++++++++++++-----------------------
+ 1 files changed, 29 insertions(+), 23 deletions(-)
+
+diff --git a/src/rcs.c b/src/rcs.c
+index 7d0d078..2f88f85 100644
+--- a/src/rcs.c
++++ b/src/rcs.c
+@@ -7128,7 +7128,7 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers)
+ struct deltafrag *dfhead;
+ struct deltafrag **dftail;
+ struct deltafrag *df;
+- unsigned long numlines, lastmodline, offset;
++ unsigned long numlines, offset;
+ struct linevector lines;
+ int err;
+
+@@ -7202,12 +7202,12 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers)
+
+ /* New temp data structure to hold new org before
+ copy back into original structure. */
+- lines.nlines = lines.lines_alloced = numlines;
++ lines.lines_alloced = numlines;
+ lines.vector = xmalloc (numlines * sizeof *lines.vector);
+
+ /* We changed the list order to first to last -- so the
+ list never gets larger than the size numlines. */
+- lastmodline = 0;
++ lines.nlines = 0;
+
+ /* offset created when adding/removing lines
+ between new and original structure */
+@@ -7216,25 +7216,24 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers)
+ for (df = dfhead; df != NULL; )
+ {
+ unsigned int ln;
+- unsigned long deltaend;
++ unsigned long newpos = df->pos - offset;
+
+- if (df->pos > orig_lines->nlines)
++ if (newpos < lines.nlines || newpos > numlines)
+ err = 1;
+
+ /* On error, just free the rest of the list. */
+ if (!err)
+ {
+- /* Here we need to get to the line where the next insert will
++ /* Here we need to get to the line where the next change will
+ begin, which is DF->pos in ORIG_LINES. We will fill up to
+ DF->pos - OFFSET in LINES with original items. */
+- for (deltaend = df->pos - offset;
+- lastmodline < deltaend;
+- lastmodline++)
++ while (lines.nlines < newpos)
+ {
+ /* we need to copy from the orig structure into new one */
+- lines.vector[lastmodline] =
+- orig_lines->vector[lastmodline + offset];
+- lines.vector[lastmodline]->refcount++;
++ lines.vector[lines.nlines] =
++ orig_lines->vector[lines.nlines + offset];
++ lines.vector[lines.nlines]->refcount++;
++ lines.nlines++;
+ }
+
+ switch (df->type)
+@@ -7246,7 +7245,12 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers)
+ struct line *q;
+ int nextline_newline;
+ size_t nextline_len;
+-
++
++ if (newpos + df->nlines > numlines)
++ {
++ err = 1;
++ break;
++ }
+ textend = df->new_lines + df->len;
+ nextline_newline = 0;
+ nextline_text = df->new_lines;
+@@ -7271,8 +7275,7 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers)
+ q->has_newline = nextline_newline;
+ q->refcount = 1;
+ memcpy (q->text, nextline_text, nextline_len);
+- lines.vector[lastmodline++] = q;
+- offset--;
++ lines.vector[lines.nlines++] = q;
+
+ nextline_text = (char *)p + 1;
+ nextline_newline = 0;
+@@ -7286,11 +7289,11 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers)
+ q->has_newline = nextline_newline;
+ q->refcount = 1;
+ memcpy (q->text, nextline_text, nextline_len);
+- lines.vector[lastmodline++] = q;
++ lines.vector[lines.nlines++] = q;
+
+ /* For each line we add the offset between the #'s
+ decreases. */
+- offset--;
++ offset -= df->nlines;
+ break;
+ }
+
+@@ -7301,7 +7304,9 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers)
+ if (df->pos + df->nlines > orig_lines->nlines)
+ err = 1;
+ else if (delvers)
++ {
+ for (ln = df->pos; ln < df->pos + df->nlines; ++ln)
++ {
+ if (orig_lines->vector[ln]->refcount > 1)
+ /* Annotate needs this but, since the original
+ * vector is disposed of before returning from
+@@ -7309,6 +7314,8 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers)
+ * there are multiple references.
+ */
+ orig_lines->vector[ln]->vers = delvers;
++ }
++ }
+ break;
+ }
+ }
+@@ -7328,21 +7335,20 @@ apply_rcs_changes (orig_lines, diffbuf, difflen, name, addvers, delvers)
+ else
+ {
+ /* add the rest of the remaining lines to the data vector */
+- for (; lastmodline < numlines; lastmodline++)
++ while (lines.nlines < numlines)
+ {
+ /* we need to copy from the orig structure into new one */
+- lines.vector[lastmodline] = orig_lines->vector[lastmodline
++ lines.vector[lines.nlines] = orig_lines->vector[lines.nlines
+ + offset];
+- lines.vector[lastmodline]->refcount++;
++ lines.vector[lines.nlines]->refcount++;
++ lines.nlines++;
+ }
+
+ /* Move the lines vector to the original structure for output,
+ * first deleting the old.
+ */
+ linevector_free (orig_lines);
+- orig_lines->vector = lines.vector;
+- orig_lines->lines_alloced = numlines;
+- orig_lines->nlines = lines.nlines;
++ *orig_lines = lines;
+ }
+
+ return !err;
+--
+1.7.2.3
+
diff --git a/dev-vcs/cvs/files/cvs-1.11.23-getline64.patch b/dev-vcs/cvs/files/cvs-1.11.23-getline64.patch
new file mode 100644
index 000000000000..f93fca465444
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.11.23-getline64.patch
@@ -0,0 +1,36 @@
+http://pkgs.fedoraproject.org/gitweb/?p=cvs.git;a=blob;f=cvs-1.11.23-getline64.patch;h=99942e0589e4ff26e87a927c1a54662954876e64;hb=HEAD
+
+--- cvs-1.11.23/lib/getline.c
++++ cvs-1.11.23/lib/getline.c
+@@ -154,7 +154,7 @@
+ return ret;
+ }
+
+-int
++ssize_t
+ getline (lineptr, n, stream)
+ char **lineptr;
+ size_t *n;
+@@ -163,7 +163,7 @@
+ return getstr (lineptr, n, stream, '\n', 0, GETLINE_NO_LIMIT);
+ }
+
+-int
++ssize_t
+ getline_safe (lineptr, n, stream, limit)
+ char **lineptr;
+ size_t *n;
+--- cvs-1.11.23/lib/getline.h
++++ cvs-1.11.23/lib/getline.h
+@@ -11,9 +11,9 @@
+
+ #define GETLINE_NO_LIMIT -1
+
+-int
++ssize_t
+ getline __PROTO ((char **_lineptr, size_t *_n, FILE *_stream));
+-int
++ssize_t
+ getline_safe __PROTO ((char **_lineptr, size_t *_n, FILE *_stream,
+ int limit));
+ int
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-getdelim.patch b/dev-vcs/cvs/files/cvs-1.12.12-getdelim.patch
new file mode 100644
index 000000000000..d27bcc04a681
--- /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:
+http://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
+
+--- src/myndbm.c.orig
++++ 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..0a33eea873ff
--- /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
+
+--- src/hash.h.orig 2005-02-01 22:56:48 +0100
++++ 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-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-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..0fb4c6c6d73d
--- /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-1.12.13-openat.patch b/dev-vcs/cvs/files/cvs-1.12.13-openat.patch
new file mode 100644
index 000000000000..762924a8c1d5
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.13-openat.patch
@@ -0,0 +1,21 @@
+Index: cvs-1.12.13/lib/openat.c
+===================================================================
+--- cvs-1.12.13.orig/lib/openat.c
++++ cvs-1.12.13/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.13-zlib.patch b/dev-vcs/cvs/files/cvs-1.12.13-zlib.patch
new file mode 100644
index 000000000000..a4b4b1e2afeb
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.13-zlib.patch
@@ -0,0 +1,31 @@
+Index: src/zlib.c
+===================================================================
+RCS file: /sources/cvs/ccvs/src/zlib.c,v
+retrieving revision 1.31
+retrieving revision 1.32
+diff -u -r1.31 -r1.32
+--- src/zlib.c 3 Jun 2005 18:26:09 -0000 1.31
++++ src/zlib.c 28 Oct 2005 14:10:59 -0000 1.32
+@@ -221,15 +221,14 @@
+ point. */
+ assert (bd->size == 0);
+
+- /* This will work well in the server, because this call will
+- do an unblocked read and fetch all the available data. In
+- the client, this will read a single byte from the stdio
+- stream, which will cause us to call inflate once per byte.
+- It would be more efficient if we could make a call which
+- would fetch all the available bytes, and at least one byte. */
+-
++ /* On the server, this will do an unblocking read of as much data as is
++ * available. On the client, with a blocking input descriptor and the
++ * current fd_buffer implementation, this should read as much data as
++ * is currently available, and at least 1 byte (or EOF), from the
++ * underlying buffer.
++ */
+ status = (*cb->buf->input) (cb->buf->closure, bd->text,
+- need, BUFFER_DATA_SIZE, &nread);
++ need ? 1 : 0, BUFFER_DATA_SIZE, &nread);
+
+ if (status == -2)
+ /* Don't try to recover from memory allcoation errors. */
diff --git a/dev-vcs/cvs/files/cvs-1.12.13.1-block-requests.patch b/dev-vcs/cvs/files/cvs-1.12.13.1-block-requests.patch
new file mode 100644
index 000000000000..216336f34941
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.13.1-block-requests.patch
@@ -0,0 +1,101 @@
+Author: Robin H. Johnson <robbat2@gentoo.org>
+Original-Date: 2006-08-09
+Forward-Port-Date: 2007-12-06
+
+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 cvs-1.12.13.1.orig/src/server.c cvs-1.12.13.1/src/server.c
+--- cvs-1.12.13.1.orig/src/server.c 2006-06-21 11:55:21.000000000 -0700
++++ cvs-1.12.13.1/src/server.c 2007-12-06 16:25:38.109309990 -0800
+@@ -6244,6 +6244,49 @@
+ /*
+ * 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)
+ {
+@@ -6262,11 +6305,15 @@
+ )
+ 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);
+ }
+@@ -6706,6 +6753,9 @@
+ * "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)
diff --git a/dev-vcs/cvs/files/cvs-1.12.13.1-fix-gnulib-SEGV-vasnprintf.patch b/dev-vcs/cvs/files/cvs-1.12.13.1-fix-gnulib-SEGV-vasnprintf.patch
new file mode 100644
index 000000000000..4554b9ac912a
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.13.1-fix-gnulib-SEGV-vasnprintf.patch
@@ -0,0 +1,42 @@
+Attemt to use CVS leads to glibc crash:
+$ cvs up
+ *** %n in writable segment detected ***
+
+Fixes: http://savannah.nongnu.org/bugs/?35432
+Upstream gnulib commit:
+
+From 913c09becd9df89dbd9b9f386e7f35c240d5efe8 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Thu, 18 Oct 2007 23:50:42 +0000
+Subject: Don't use %n on glibc >= 2.3 systems.
+
+---
+(limited to 'lib/vasnprintf.c')
+
+diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c
+index f563823..5d818aa 100644
+--- a/lib/vasnprintf.c
++++ b/lib/vasnprintf.c
+@@ -3386,8 +3386,20 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
+ *fbp = 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
+--
+cgit v0.9.0.2
diff --git a/dev-vcs/cvs/files/cvs-1.12.13.1-gl-mempcpy.patch b/dev-vcs/cvs/files/cvs-1.12.13.1-gl-mempcpy.patch
new file mode 100644
index 000000000000..7ad7533b0a57
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.13.1-gl-mempcpy.patch
@@ -0,0 +1,24 @@
+http://cvs.savannah.gnu.org/viewvc/cvs/ccvs/lib/mempcpy.c?r1=1.2&r2=1.3&pathrev=MAIN
+fixed in cvs-HEAD after cvs-1.12.13a
+
+--- lib/mempcpy.c 2005/05/23 17:44:31 1.2
++++ lib/mempcpy.c 2007/08/22 12:48:42 1.3
+@@ -1,5 +1,5 @@
+ /* Copy memory area and return pointer after last written byte.
+- Copyright (C) 2003 Free Software Foundation, Inc.
++ Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -15,9 +15,9 @@
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+-/* Specification. */
+-#include "mempcpy.h"
++#include <config.h>
+
++/* Specification. */
+ #include <string.h>
+
+ /* Copy N bytes of SRC to DEST, return pointer to bytes after the
diff --git a/dev-vcs/cvs/files/cvs-1.12.13.1-hash-nameclash.patch b/dev-vcs/cvs/files/cvs-1.12.13.1-hash-nameclash.patch
new file mode 100644
index 000000000000..d9c3358faf46
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.13.1-hash-nameclash.patch
@@ -0,0 +1,43 @@
+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
+
+--- src/hash.h.orig 2010-03-11 10:12:19 +0100
++++ src/hash.h 2010-03-11 10:12:40 +0100
+@@ -32,27 +32,27 @@
+ };
+ 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;
+ size_t len; /* Length of 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.13.1-use-include_next.patch b/dev-vcs/cvs/files/cvs-1.12.13.1-use-include_next.patch
new file mode 100644
index 000000000000..adaff55ebb16
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.13.1-use-include_next.patch
@@ -0,0 +1,30 @@
+Fix build failure on gentoo's gcc:
+
+In file included from ./inttypes.h:34:0,
+ from ./stdint.h:65,
+ from /usr/include/netinet/in.h:23,
+ from /usr/include/netdb.h:27,
+ from getaddrinfo.h:30,
+ from canon-host.c:27:
+ /usr/include/inttypes.h:297:1: error: unknown type name 'intmax_t'
+ /usr/include/inttypes.h:297:26: error: unknown type name 'intmax_t'
+ /usr/include/inttypes.h:300:27: error: unknown type name 'intmax_t'
+ /usr/include/inttypes.h:300:45: error: unknown type name 'intmax_t'
+diff --git a/lib/stdint_.h b/lib/stdint_.h
+index adab4d7..3a8db19 100644
+--- a/lib/stdint_.h
++++ b/lib/stdint_.h
+@@ -43,7 +43,12 @@
+ Include it before <inttypes.h>, since any "#include <stdint.h>"
+ in <inttypes.h> would reinclude us, skipping our contents because
+ _GL_STDINT_H is defined. */
+-# include @ABSOLUTE_STDINT_H@
++# include "config.h"
++# if HAVE_INCLUDE_NEXT
++# include_next <stdint.h>
++# else
++# include @ABSOLUTE_STDINT_H@
++# endif
+ #endif
+
+ /* <sys/types.h> defines some of the stdint.h types as well, on glibc,
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..443275017827
--- /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>
+ <herd>cvs-utils</herd>
+ <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..e2b2eae157f0
--- /dev/null
+++ b/dev-vcs/cvs2cl/Manifest
@@ -0,0 +1 @@
+DIST cvs2cl-2.71.pl.bz2 25347 SHA256 f7a86512f30b73cf2fe63e5e7e68fa3fc9607ab498dafbec704b3f02132f67d9 SHA512 de9e8465da56bec5b541a588e0d2a73f49e060fcadbde33ca63a7c4f93edf37cc50aa3271c4ad466430d3315b95c27d642325bd885ec7afdd6a75586d15d9dbe WHIRLPOOL 2deef9614c0a2061c9663762bbdc46dfc303883d92630d48d54c4dec5f6b4c3516cf34581cbe6d56344b639718f01ce868a3a62951b1509d8c3a01532b53aa7a
diff --git a/dev-vcs/cvs2cl/cvs2cl-2.71.ebuild b/dev-vcs/cvs2cl/cvs2cl-2.71.ebuild
new file mode 100644
index 000000000000..f58512d522b0
--- /dev/null
+++ b/dev-vcs/cvs2cl/cvs2cl-2.71.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..45023270b146
--- /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>
+ <herd>cvs-utils</herd>
+</pkgmetadata>
diff --git a/dev-vcs/cvs2svn/Manifest b/dev-vcs/cvs2svn/Manifest
new file mode 100644
index 000000000000..99a17eb32c74
--- /dev/null
+++ b/dev-vcs/cvs2svn/Manifest
@@ -0,0 +1,8 @@
+DIST cvs2svn-1.5.0.tar.gz 266057 SHA256 12c282757043b8ffc98443175cbac218119e92ccc73e942da447659efaf23274 SHA512 e6cbfcb541e8277091892e9ed26a35ce6fedfbf9d91659ba318bd10643ffae998a5a95d58056c56d4bdbd763f7de78e3592589a23c9ee04b6e43a6d617a09443 WHIRLPOOL 6f30dbdc6f084dfbe3e4c76a54a72dc073767ebc659d1815c672e0f6e84e4b3a0e0d89605da86d6d975c4d08b0c85c7ba956c623181a2a22ab7f568050b3d932
+DIST cvs2svn-1.5.1.tar.gz 266476 SHA256 75e97351af93ee9e4803b5285e7f18f280e0f258d7e9139a1a1bf84e34146179 SHA512 afe245ec913372bda27d4a5eb8fe41d8fff8b6f72dc9c57686c8d6144a10a0af9da7196136e1f3ed96fdb459f9e31cf6f226385ff47c0e3a63f7a0df9c0ea951 WHIRLPOOL 1ac7a61fcf5396257a06dbd5f70cab9778da673da9ac8281d77998c5ab6c1e38167a84e80313d548318128a3858f030500875e20531ff259f7b4eea54937be1c
+DIST cvs2svn-2.0.1.tar.gz 344924 SHA256 323c16ba865106856f82cf8d278741735e433e6a56b00207b75408fb7ef7ebdd SHA512 e754e3fc3e960643b8fb89c6d2aa97d741a1439e59d0e6e272fa5a18d099e3be9b713ec0b41c604844f6056582e917c7d11f30b2760a9d3dc2f98080757ea034 WHIRLPOOL e731f594a5ee100c86a51d9953a3b812af76038437d82c0a76ac41c5cfb8a74b123d50ecd538714956d6d48e7d44f32e742aa8c034c4512f8dd6d0eec9d1cab6
+DIST cvs2svn-2.1.0.tar.gz 389401 SHA256 b698b8aa138d3d8af07067f47068e9279871f4edbe2864ed056cf8a5a274ed54 SHA512 d78365dc194064e9f108a2d316185acfb1d61eac75c331008f81ba76b4c4b7c329789acafa8b593eddfe97dd3a503e2dbd63d9b684d91c485a89e4b4b417602c WHIRLPOOL 3e4dd3ad7eaaaa50d6d8505e817a9a44db9f44eb81b5291547ebc0c836091050297452939b59711e861e10a18e0d359f4eb2d5228a289c87984560bc777d3a28
+DIST cvs2svn-2.1.1.tar.gz 389645 SHA256 bd724fb615a5ac1ea1f7aaa62cafad3404d82b9fd1922a1028b81ad0672f9f10 SHA512 32b901ad618b42c9d58324c8c1b933a97477cad2af886bd88e1ab9742728d9986367abf9f559f7f3e7757958c32e519eb4eb08e620522d51d3961a74911efb86 WHIRLPOOL 76d04fb94b12b098a9cf5cd8466982e7cb913db9043a76bfdc593e03c984c017f1999bf49296d8b733ad3653be37738694a7c4cfb54c8f9cb5d3a6234396c436
+DIST cvs2svn-2.2.0.tar.gz 411531 SHA256 372c57cfea369637cd49fd9d685d1ebaa2e84a9cf4ad301fcc63f9cb42161bea SHA512 25a496b8ef46ecddfe94285f37fc8f0cf44a8775c6d8040c9748f21b93763416aa8831bfed7719708f4f897f455b884b59e4d1a8f766b7adf5a3195ab13b03e1 WHIRLPOOL e17fcac8d77a5a75361dba7548eed04c2079c83ea9b4066146dc8290980b5cc1d9f6a57871c492ca6add0f803090df833ab93ce1b0dec3b1cb47d1172c498acd
+DIST cvs2svn-2.3.0.tar.gz 479373 SHA256 d9d835e0c7df48966fbadf51527c25ebf1343b25179e3802f4637d4b96ba363e SHA512 709a41f407fc58c939ab9cad9a06e4abcc1161cba37353a871bc0e2621a6045600a7ba76016383df57cb7f534a433148b1ce4138d5f219ee3801c8db3780df51 WHIRLPOOL 8f8605a235e430f34eb06fd1791fdc0c04aa95d15d95fbf176da6e8ecafe492debc2fd2be3c10071fc989387d8699b0bce233bb298e31630f5f636f818232c50
+DIST cvs2svn-2.4.0.tar.gz 514891 SHA256 a6677fc3e7b4374020185c61c998209d691de0c1b01b53e59341057459f6f116 SHA512 726fb8a3b3261eeb6d8097973f2741aa7a433f847bcef6701a6c0b7dc3d8fb5da1726e40f008d1dffac71791b953ddb9ade5db5809c98731d78e94da6465506a WHIRLPOOL b1040b65c6d55ad3144e9ca8d358c7da6833f7990d766d32d7df3bec0949fd6fb66a1f4ccca6ec48bd4a39072deb9eb5f444e3efaee7ab299e086ee0edc72b02
diff --git a/dev-vcs/cvs2svn/cvs2svn-1.5.0.ebuild b/dev-vcs/cvs2svn/cvs2svn-1.5.0.ebuild
new file mode 100644
index 000000000000..830bed79bcd4
--- /dev/null
+++ b/dev-vcs/cvs2svn/cvs2svn-1.5.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+FILEVER="34574"
+
+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"
+IUSE=""
+
+DEPEND=">=dev-vcs/subversion-1.0.9"
+RDEPEND="${DEPEND}
+ dev-vcs/rcs"
+
+PYTHON_MODNAME="cvs2svn_lib cvs2svn_rcsparse"
+
+src_prepare() {
+ distutils_src_prepare
+ python_convert_shebangs -r 2 .
+}
+
+src_install() {
+ distutils_src_install
+ insinto "/usr/share/${PN}"
+ doins -r contrib cvs2svn-example.options {profile-repos,show-db,verify-cvs2svn}.py
+ doman cvs2svn.1
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ elog "Additional scripts and examples have been installed to:"
+ elog " ${ROOT}usr/share/${PN}/"
+}
+
+src_test() {
+ # Need this because subversion is localized, but the tests aren't
+ export LC_ALL=C
+
+ testing() {
+ "$(PYTHON)" run-tests.py
+ }
+ python_execute_function testing
+}
diff --git a/dev-vcs/cvs2svn/cvs2svn-1.5.1.ebuild b/dev-vcs/cvs2svn/cvs2svn-1.5.1.ebuild
new file mode 100644
index 000000000000..b78960dbeced
--- /dev/null
+++ b/dev-vcs/cvs2svn/cvs2svn-1.5.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+FILEVER="36129"
+
+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"
+IUSE=""
+
+DEPEND=">=dev-vcs/subversion-1.0.9"
+RDEPEND="${DEPEND}
+ dev-vcs/rcs"
+
+PYTHON_MODNAME="cvs2svn_lib cvs2svn_rcsparse"
+
+src_prepare() {
+ distutils_src_prepare
+ python_convert_shebangs -r 2 .
+}
+
+src_install() {
+ distutils_src_install
+ insinto "/usr/share/${PN}"
+ doins -r contrib cvs2svn-example.options {profile-repos,show-db,verify-cvs2svn}.py
+ doman cvs2svn.1
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ elog "Additional scripts and examples have been installed to:"
+ elog " ${ROOT}usr/share/${PN}/"
+}
+
+src_test() {
+ # Need this because subversion is localized, but the tests aren't
+ export LC_ALL=C
+
+ testing() {
+ "$(PYTHON)" run-tests.py
+ }
+ python_execute_function testing
+}
diff --git a/dev-vcs/cvs2svn/cvs2svn-2.0.1.ebuild b/dev-vcs/cvs2svn/cvs2svn-2.0.1.ebuild
new file mode 100644
index 000000000000..b6eabcad848b
--- /dev/null
+++ b/dev-vcs/cvs2svn/cvs2svn-2.0.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+FILEVER="39919"
+
+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"
+IUSE=""
+
+DEPEND=">=dev-vcs/subversion-1.0.9"
+RDEPEND="${DEPEND}
+ dev-vcs/rcs"
+
+PYTHON_MODNAME="cvs2svn_lib cvs2svn_rcsparse"
+
+src_prepare() {
+ distutils_src_prepare
+ python_convert_shebangs -r 2 .
+}
+
+src_install() {
+ distutils_src_install
+ insinto "/usr/share/${PN}"
+ doins -r contrib cvs2svn-example.options {profile-repos,show-db,verify-cvs2svn}.py
+ doman cvs2svn.1
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ elog "Additional scripts and examples have been installed to:"
+ elog " ${ROOT}usr/share/${PN}/"
+}
+
+src_test() {
+ # Need this because subversion is localized, but the tests aren't
+ export LC_ALL=C
+
+ testing() {
+ "$(PYTHON)" run-tests.py
+ }
+ python_execute_function testing
+}
diff --git a/dev-vcs/cvs2svn/cvs2svn-2.1.0.ebuild b/dev-vcs/cvs2svn/cvs2svn-2.1.0.ebuild
new file mode 100644
index 000000000000..81f107b6873b
--- /dev/null
+++ b/dev-vcs/cvs2svn/cvs2svn-2.1.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+FILEVER="41596"
+
+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"
+IUSE=""
+
+DEPEND=">=dev-vcs/subversion-1.0.9"
+RDEPEND="${DEPEND}
+ dev-vcs/rcs"
+
+PYTHON_MODNAME="cvs2svn_lib cvs2svn_rcsparse"
+
+src_prepare() {
+ distutils_src_prepare
+ python_convert_shebangs -r 2 .
+}
+
+src_install() {
+ distutils_src_install
+ insinto "/usr/share/${PN}"
+ doins -r contrib cvs2svn-example.options
+ doman cvs2svn.1
+}
+
+src_test() {
+ # Need this because subversion is localized, but the tests aren't
+ export LC_ALL=C
+
+ testing() {
+ "$(PYTHON)" run-tests.py
+ }
+ python_execute_function testing
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ elog "Additional scripts and examples have been installed to:"
+ elog " /usr/share/${PN}/"
+}
diff --git a/dev-vcs/cvs2svn/cvs2svn-2.1.1.ebuild b/dev-vcs/cvs2svn/cvs2svn-2.1.1.ebuild
new file mode 100644
index 000000000000..5f0268079847
--- /dev/null
+++ b/dev-vcs/cvs2svn/cvs2svn-2.1.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+FILEVER="42521"
+
+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"
+IUSE=""
+
+DEPEND=">=dev-vcs/subversion-1.0.9"
+RDEPEND="${DEPEND}
+ dev-vcs/rcs"
+
+PYTHON_MODNAME="cvs2svn_lib cvs2svn_rcsparse"
+
+src_prepare() {
+ distutils_src_prepare
+ python_convert_shebangs -r 2 .
+}
+
+src_install() {
+ distutils_src_install
+ insinto "/usr/share/${PN}"
+ doins -r contrib cvs2svn-example.options {profile-repos,show-db,verify-cvs2svn}.py
+ doman cvs2svn.1
+}
+
+src_test() {
+ # Need this because subversion is localized, but the tests aren't
+ export LC_ALL=C
+
+ testing() {
+ "$(PYTHON)" run-tests.py
+ }
+ python_execute_function testing
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ elog "Additional scripts and examples have been installed to:"
+ elog " /usr/share/${PN}/"
+}
diff --git a/dev-vcs/cvs2svn/cvs2svn-2.2.0.ebuild b/dev-vcs/cvs2svn/cvs2svn-2.2.0.ebuild
new file mode 100644
index 000000000000..a3c9c5b5072a
--- /dev/null
+++ b/dev-vcs/cvs2svn/cvs2svn-2.2.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+PYTHON_DEPEND="2"
+PYTHON_USE_WITH_OR="berkdb gdbm"
+PYTHON_USE_WITH_OPT="test"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit eutils distutils
+
+FILEVER="44372"
+
+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 )
+ git? ( >=dev-vcs/git-1.5.4.4 )
+ dev-vcs/rcs"
+
+PYTHON_MODNAME="cvs2svn_lib cvs2svn_rcsparse"
+
+src_prepare() {
+ epatch "${FILESDIR}/2.2.0-deprecated-modules.patch"
+ distutils_src_prepare
+ python_convert_shebangs -r 2 .
+}
+
+src_install() {
+ distutils_src_install
+ insinto "/usr/share/${PN}"
+ doins -r contrib cvs2svn-example.options
+ doman cvs2svn.1
+}
+
+src_test() {
+ # Need this because subversion is localized, but the tests aren't
+ export LC_ALL=C
+
+ testing() {
+ "$(PYTHON)" -W ignore run-tests.py
+ }
+ python_execute_function testing
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ elog "Additional scripts and examples have been installed to:"
+ elog " /usr/share/${PN}/"
+}
diff --git a/dev-vcs/cvs2svn/cvs2svn-2.3.0.ebuild b/dev-vcs/cvs2svn/cvs2svn-2.3.0.ebuild
new file mode 100644
index 000000000000..ffa6e7f0c52b
--- /dev/null
+++ b/dev-vcs/cvs2svn/cvs2svn-2.3.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+PYTHON_DEPEND="2"
+PYTHON_USE_WITH_OR="berkdb gdbm"
+PYTHON_USE_WITH_OPT="test"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+FILEVER="46528"
+
+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 )
+ git? ( >=dev-vcs/git-1.5.4.4 )
+ dev-vcs/rcs"
+
+PYTHON_MODNAME="cvs2svn_lib cvs2svn_rcsparse"
+
+src_prepare() {
+ distutils_src_prepare
+ python_convert_shebangs -r 2 .
+}
+
+src_compile() {
+ distutils_src_compile
+ emake man
+}
+
+src_install() {
+ distutils_src_install
+ insinto "/usr/share/${PN}"
+ doins -r contrib cvs2{svn,git,bzr}-example.options
+ doman *.1
+}
+
+src_test() {
+ # Need this because subversion is localized, but the tests aren't
+ export LC_ALL=C
+
+ testing() {
+ "$(PYTHON)" -W ignore run-tests.py
+ }
+ python_execute_function testing
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ elog "Additional scripts and examples have been installed to:"
+ elog " /usr/share/${PN}/"
+}
diff --git a/dev-vcs/cvs2svn/cvs2svn-2.4.0.ebuild b/dev-vcs/cvs2svn/cvs2svn-2.4.0.ebuild
new file mode 100644
index 000000000000..d91533a82fe9
--- /dev/null
+++ b/dev-vcs/cvs2svn/cvs2svn-2.4.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+PYTHON_DEPEND="2"
+PYTHON_USE_WITH_OR="berkdb gdbm"
+PYTHON_USE_WITH_OPT="test"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+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 )
+ git? ( >=dev-vcs/git-1.5.4.4 )
+ dev-vcs/rcs"
+
+PYTHON_MODNAME="cvs2svn_lib cvs2svn_rcsparse"
+
+src_prepare() {
+ distutils_src_prepare
+ python_convert_shebangs -r 2 .
+}
+
+src_compile() {
+ distutils_src_compile
+ emake man
+}
+
+src_install() {
+ distutils_src_install
+ insinto "/usr/share/${PN}"
+ doins -r contrib cvs2{svn,git,bzr}-example.options
+ doman *.1
+}
+
+src_test() {
+ # Need this because subversion is localized, but the tests aren't
+ export LC_ALL=C
+
+ testing() {
+ "$(PYTHON)" -W ignore run-tests.py
+ }
+ python_execute_function testing
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ elog "Additional scripts and examples have been installed to:"
+ elog " /usr/share/${PN}/"
+}
diff --git a/dev-vcs/cvs2svn/files/2.2.0-deprecated-modules.patch b/dev-vcs/cvs2svn/files/2.2.0-deprecated-modules.patch
new file mode 100644
index 000000000000..94ceaa2b2fa2
--- /dev/null
+++ b/dev-vcs/cvs2svn/files/2.2.0-deprecated-modules.patch
@@ -0,0 +1,54 @@
+Index: cvs2svn_lib/dumpfile_delegate.py
+===================================================================
+--- cvs2svn_lib/dumpfile_delegate.py (revision 4808)
++++ cvs2svn_lib/dumpfile_delegate.py (working copy)
+@@ -16,9 +16,11 @@
+
+ """This module contains database facilities used by cvs2svn."""
+
++try:
++ from hashlib import md5
++except ImportError:
++ from md5 import new as md5
+
+-import md5
+-
+ from cvs2svn_lib import config
+ from cvs2svn_lib.common import FatalError
+ from cvs2svn_lib.common import InternalError
+@@ -320,7 +322,7 @@
+ self.dumpfile.write(prop_contents)
+
+ # Insert the rev contents, calculating length and checksum as we go.
+- checksum = md5.new()
++ checksum = md5()
+ length = 0
+ if buf is None:
+ buf = stream.read(config.PIPE_READ_SIZE)
+Index: cvs2svn_lib/metadata_database.py
+===================================================================
+--- cvs2svn_lib/metadata_database.py (revision 4808)
++++ cvs2svn_lib/metadata_database.py (working copy)
+@@ -16,9 +16,11 @@
+
+ """This module contains classes to manage CVSRevision metadata."""
+
++try:
++ from hashlib import sha1
++except ImportError:
++ from sha import new as sha1
+
+-import sha
+-
+ from cvs2svn_lib.context import Ctx
+ from cvs2svn_lib.database import IndexedDatabase
+ from cvs2svn_lib.key_generator import KeyGenerator
+@@ -86,7 +88,7 @@
+ if not Ctx().cross_branch_commits:
+ key.append(branch_name or '')
+
+- digest = sha.new('\0'.join(key)).digest()
++ digest = sha1('\0'.join(key)).digest()
+ try:
+ # See if it is already known:
+ return self._digest_to_id[digest]
diff --git a/dev-vcs/cvs2svn/metadata.xml b/dev-vcs/cvs2svn/metadata.xml
new file mode 100644
index 000000000000..a5f294680254
--- /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>
+ <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..9da8110e311b
--- /dev/null
+++ b/dev-vcs/cvsd/Manifest
@@ -0,0 +1,2 @@
+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
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..aa563dd298ee
--- /dev/null
+++ b/dev-vcs/cvsd/cvsd-1.0.17.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..dcf467848d75
--- /dev/null
+++ b/dev-vcs/cvsd/cvsd-1.0.7.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..b300b3562904
--- /dev/null
+++ b/dev-vcs/cvsd/files/cvsd.rc6
@@ -0,0 +1,20 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..45023270b146
--- /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>
+ <herd>cvs-utils</herd>
+</pkgmetadata>
diff --git a/dev-vcs/cvsgraph/Manifest b/dev-vcs/cvsgraph/Manifest
new file mode 100644
index 000000000000..decffd2b5db4
--- /dev/null
+++ b/dev-vcs/cvsgraph/Manifest
@@ -0,0 +1,2 @@
+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
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..f98ae29b596d
--- /dev/null
+++ b/dev-vcs/cvsgraph/cvsgraph-1.6.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..dbaf49b05e55
--- /dev/null
+++ b/dev-vcs/cvsgraph/cvsgraph-1.7.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..1f00c0c93be5
--- /dev/null
+++ b/dev-vcs/cvsgraph/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cvs-utils</herd>
+ <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..fc18c66818d5
--- /dev/null
+++ b/dev-vcs/cvsps/Manifest
@@ -0,0 +1,3 @@
+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
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..844e834defa7
--- /dev/null
+++ b/dev-vcs/cvsps/cvsps-2.1-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 ~x86-freebsd ~x86-interix ~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..0713161c1613
--- /dev/null
+++ b/dev-vcs/cvsps/cvsps-2.2_beta1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 ~x86-freebsd ~x86-interix ~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..60f8ea17d5d0
--- /dev/null
+++ b/dev-vcs/cvsps/cvsps-3.13-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 ~x86-freebsd ~x86-interix ~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..e9a271ce1876
--- /dev/null
+++ b/dev-vcs/cvsps/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>
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ </maintainer>
+ <herd>cvs-utils</herd>
+ <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..12d35f8942e9
--- /dev/null
+++ b/dev-vcs/cvsq/Manifest
@@ -0,0 +1 @@
+DIST cvsq-0.4.4.tar.gz 3717 SHA256 9759fa87c4f81db187989ffa6ef2d9f610a2cc8fc74b2466849ca0b069c72eae SHA512 137f09f42f5213853b327f23c3d23914116851b2d8d7f17752257f6ab0b2f62e4526f95b7d005fbf49746ea17591fbb38cfc58ccbe55a976b36339df13e44f8f WHIRLPOOL b53286475eccc0e327cd937f6aaf09ead73145585f5cb0a6dd6ba76115b60119fcfab02ef03cfb64d07e46b15e2d2b17cb66d2787a96b23d3c4e9c81844c91ad
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..f63b4e3657ce
--- /dev/null
+++ b/dev-vcs/cvsq/cvsq-0.4.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..45023270b146
--- /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>
+ <herd>cvs-utils</herd>
+</pkgmetadata>
diff --git a/dev-vcs/cvsspam/Manifest b/dev-vcs/cvsspam/Manifest
new file mode 100644
index 000000000000..fa998c728188
--- /dev/null
+++ b/dev-vcs/cvsspam/Manifest
@@ -0,0 +1 @@
+DIST cvsspam-0.2.12.tar.gz 83714 SHA256 217c53ceebcc7fcbb8949304648b48c7c0805e0c4531d0c85473e8dd685b3e16 SHA512 80786f980fe5070fff90de8e7a470cdf91ee8ddbd4c37fb1d98d0ddc042d157f2f74998962eaab1a24503b9147fae2129db35f1d505b557a8c75325d1e101bec WHIRLPOOL f59677098ab67d7b558e1de0eb6f6e361dad0505873c96701bc8ab4da3b93871dc80405764d2083ab7d346cbbf058b136dacea8081413a7ec8fb12bc1e88843f
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..fda4d9005d1d
--- /dev/null
+++ b/dev-vcs/cvsspam/cvsspam-0.2.12.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..ff62877c67ae
--- /dev/null
+++ b/dev-vcs/cvsspam/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>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/cvsutils/Manifest b/dev-vcs/cvsutils/Manifest
new file mode 100644
index 000000000000..d0fa89355cbb
--- /dev/null
+++ b/dev-vcs/cvsutils/Manifest
@@ -0,0 +1 @@
+DIST cvsutils-0.2.5.tar.gz 79596 RMD160 98b8af82f1ab61b8fcfe5973af703a25cb992936 SHA1 294599ce431be50ad1da7295e8b6a65a17fbf531 SHA256 ac5f6faf250fd317655d79782e6f7cecaa5ab836659d8a31c28faa51160a4681
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..aa2ef30f800c
--- /dev/null
+++ b/dev-vcs/cvsutils/cvsutils-0.2.5.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..78866efc2780
--- /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>
+ <herd>cvs-utils</herd>
+ <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/darcs/Manifest b/dev-vcs/darcs/Manifest
new file mode 100644
index 000000000000..873e747e10d0
--- /dev/null
+++ b/dev-vcs/darcs/Manifest
@@ -0,0 +1,4 @@
+DIST darcs-2.10.0.tar.gz 1502347 SHA256 52b3db3f7b64a4306585b96af7b5887f62ba54f6e9c3bdbed9b6a18d97f16b36 SHA512 216fb69aeed03c56cc7773eb92b8de3ec60be0526826a15a05230b7a66f9804e492be230c82c6475faa46e49ffed1531a9b03ea0d9c60e8de802cb9cdd421dcb WHIRLPOOL 3c62966ee5ab933471f8c42ff8be622ed8d6d0f8c392528906288f0da8a0d8dacb512c8645b82fba4ca4a03f628fc361630079b0bd6d6d09bce640cf03fd322c
+DIST darcs-2.10.1.tar.gz 1509208 SHA256 f1ef65b43780e7593ca1afdae5ecf44ed91d62cc1be360693a52c5ff7b57ee94 SHA512 b8c3971da3d635a7d90e35226c2ffa6d6ca8e78ba18793c632b7509bc4d52c1bda2490d147cdaea5842fbe5d8826b0025de61e2fb4f58c441875c5858d910e47 WHIRLPOOL a44550b9e44125ee468b10da723742c992c215a42411c074e8c2547643694ce572db7f59b5ba4209cef5aac26bd1ddcef1c54f592e8b73fd0da941d0e9e77d93
+DIST darcs-2.8.4.tar.gz 1301464 SHA256 3fab4dbb2d5dd9f381d49f4730c12e1534b5c484b0dde9712614a7151f659f98 SHA512 c60531bacea43bdd5a18ae461dd390fe64682cac56fa4e6b5153a5da3c003b59d8fb24827bd42b4b30f0d2c61877d36b58eb98317644f9f8a200ab7c5961c48e WHIRLPOOL 128e8e58e219d427928eb8725d9566c1b6b3bb478b3cda69b30ded8798fa104eb8dec0fda8a32701f5d074babf9f11f1b3036388cd15a82118853a566c832430
+DIST darcs-2.8.5.tar.gz 1306525 SHA256 064310ed589c89500e224ad5254ab88de815c349f14f9aef9513720eb857e399 SHA512 810fd8d2df2f8703891e85dc512b0185257dc84a35590aecb2077e14a78096b4fac57dbd7f89218987d04df846992d51c5d5c4deb8cc9f441ce9195ab202223b WHIRLPOOL 78cb6d20d8bd0af5eea71e3e737c12ef7063eb71f1788c2eb173abd5813930862b2e8f078243f2f650e4a65a4405b2d1d1539aef05a193e85521f367ec3ddd80
diff --git a/dev-vcs/darcs/darcs-2.10.0-r1.ebuild b/dev-vcs/darcs/darcs-2.10.0-r1.ebuild
new file mode 100644
index 000000000000..25b457429995
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.10.0-r1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.5.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error,+pkgconfig,-rts,-static,-optimize
+
+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 +terminfo +threaded"
+
+RESTRICT=test # some files are missing
+
+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.6.0.0:=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ virtual/libiconv
+ || ( ( >=dev-haskell/transformers-0.3:=[profile?] <dev-haskell/transformers-0.4.0.0:=[profile?] )
+ ( >dev-haskell/transformers-0.4.0.0:=[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?]
+ >=dev-haskell/network-2.6:=[profile?]
+ dev-haskell/network-uri:=[profile?]
+ )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[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.8
+ >=dev-haskell/shelly-1.6 <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 \
+ 'terminfo == 0.3.*' 'terminfo >= 0.3' \
+ 'network >= 2.3 && < 2.5' 'network >= 2.6, network-uri' \
+ 'QuickCheck >= 2.3 && < 2.8' 'QuickCheck >= 2.3' \
+ 'attoparsec >= 0.11 && < 0.13' 'attoparsec >= 0.11 && < 0.14'
+}
+
+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 \
+ --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.1.ebuild b/dev-vcs/darcs/darcs-2.10.1.ebuild
new file mode 100644
index 000000000000..b23bab985e36
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.10.1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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.4.0.0:=[profile?] )
+ ( >dev-haskell/transformers-0.4.0.0:=[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.8.4-r3.ebuild b/dev-vcs/darcs/darcs-2.8.4-r3.ebuild
new file mode 100644
index 000000000000..b21ee9339264
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.8.4-r3.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 ~x86-freebsd ~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.2:=[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/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
+
+ 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 && < 7.9'
+}
+
+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/darcs-2.8.4-r6.ebuild b/dev-vcs/darcs/darcs-2.8.4-r6.ebuild
new file mode 100644
index 000000000000..7ea5b9fe71ee
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.8.4-r6.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 ~x86-freebsd ~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/darcs-2.8.4.ebuild b/dev-vcs/darcs/darcs-2.8.4.ebuild
new file mode 100644
index 000000000000..7c2fae5540d2
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.8.4.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.9999
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour"
+inherit 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 ~x86-freebsd ~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.2:=[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/text-0.11.0.6:=[profile?]
+ <dev-haskell/text-0.12.0.0:=[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"
+}
+
+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 \
+ $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/darcs-2.8.5-r3.ebuild b/dev-vcs/darcs/darcs-2.8.5-r3.ebuild
new file mode 100644
index 000000000000..06cb957839ca
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.8.5-r3.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.4.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour"
+inherit base 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="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="+color +curl +http +mmap +network-uri +optimize static +terminfo test +threaded"
+
+RDEPEND=">=dev-haskell/extensible-exceptions-0.1:=[profile?] <dev-haskell/extensible-exceptions-0.2:=[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/html-1.1:=[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/random-1.2:=[profile?]
+ >=dev-haskell/regex-compat-0.95.1:=[profile?]
+ >=dev-haskell/tar-0.3:=[profile?] <dev-haskell/tar-0.5:=[profile?]
+ >=dev-haskell/text-0.11.0.6:=[profile?] <dev-haskell/text-1.3:=[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-7.4.1:=
+ virtual/libiconv
+ curl? ( net-misc/curl )
+ http? ( >=dev-haskell/http-4000.0.8:=[profile?] <dev-haskell/http-4000.3:=[profile?]
+ network-uri? ( >=dev-haskell/network-2.6:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] )
+ !network-uri? ( >=dev-haskell/network-2.2:=[profile?] <dev-haskell/network-2.6:=[profile?] ) )
+ mmap? ( >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?] )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.8
+ dev-lang/ghc
+ test? ( >=dev-haskell/cmdlib-0.2.1:=[profile?] <dev-haskell/cmdlib-0.4:=[profile?]
+ >=dev-haskell/findbin-0.0:=[profile?] <dev-haskell/findbin-0.1:=[profile?]
+ >=dev-haskell/hunit-1.0:=[profile?]
+ >=dev-haskell/quickcheck-2.3:2=[profile?]
+ >=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?] )
+"
+
+PATCHES=("${FILESDIR}/${P}-ghc-7.10.patch")
+
+src_prepare() {
+ base_src_prepare
+ cabal_chdeps \
+ 'terminfo == 0.3.*' 'terminfo >= 0.3 && < 0.5' \
+ 'text >= 0.11.0.6 && < 1.2' 'text >= 0.11.0.6 && < 1.3' \
+ 'random == 1.0.*' 'random >= 1.0 && < 1.2' \
+ 'base >= 4.5 && < 4.8' 'base >= 4.5 && < 4.9' \
+ 'ghc >= 6.10 && < 7.10' 'ghc >= 6.10 && < 7.12'
+}
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag color color) \
+ $(cabal_flag curl curl) \
+ --flag=executable \
+ --flag=-hpc \
+ $(cabal_flag http http) \
+ --flag=library \
+ $(cabal_flag mmap mmap) \
+ $(cabal_flag network-uri network-uri) \
+ $(cabal_flag optimize optimize) \
+ $(cabal_flag static static) \
+ $(cabal_flag terminfo terminfo) \
+ $(cabal_flag test test) \
+ $(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.8.5-r4.ebuild b/dev-vcs/darcs/darcs-2.8.5-r4.ebuild
new file mode 100644
index 000000000000..ab45bdd2461a
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.8.5-r4.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.4.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour"
+inherit base 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="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="+color +curl +http +mmap +network-uri +optimize static +terminfo test +threaded"
+
+RDEPEND=">=dev-haskell/extensible-exceptions-0.1:=[profile?] <dev-haskell/extensible-exceptions-0.2:=[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/html-1.1:=[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/random-1.2:=[profile?]
+ >=dev-haskell/regex-compat-0.95.1:=[profile?]
+ >=dev-haskell/tar-0.3:=[profile?] <dev-haskell/tar-0.5:=[profile?]
+ >=dev-haskell/text-0.11.0.6:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[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-7.4.1:=
+ virtual/libiconv
+ curl? ( net-misc/curl )
+ http? ( >=dev-haskell/http-4000.0.8:=[profile?] <dev-haskell/http-4000.3:=[profile?]
+ network-uri? ( >=dev-haskell/network-2.6:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] )
+ !network-uri? ( >=dev-haskell/network-2.2:=[profile?] <dev-haskell/network-2.6:=[profile?] ) )
+ mmap? ( >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?] )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.8
+ dev-lang/ghc
+ test? ( >=dev-haskell/cmdlib-0.2.1:=[profile?] <dev-haskell/cmdlib-0.4:=[profile?]
+ >=dev-haskell/findbin-0.0:=[profile?] <dev-haskell/findbin-0.1:=[profile?]
+ >=dev-haskell/hunit-1.0:=[profile?]
+ >=dev-haskell/quickcheck-2.3:2=[profile?]
+ >=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?] )
+"
+
+PATCHES=("${FILESDIR}/${P}-ghc-7.10.patch")
+
+src_prepare() {
+ base_src_prepare
+ cabal_chdeps \
+ 'terminfo == 0.3.*' 'terminfo >= 0.3 && < 0.5' \
+ 'text >= 0.11.0.6 && < 1.2' 'text >= 0.11.0.6 && < 1.3' \
+ 'random == 1.0.*' 'random >= 1.0 && < 1.2' \
+ 'base >= 4.5 && < 4.8' 'base >= 4.5 && < 4.9' \
+ 'ghc >= 6.10 && < 7.10' 'ghc >= 6.10 && < 7.12' \
+ 'utf8-string >= 0.3.6 && < 0.4' 'utf8-string >= 0.3.6 && < 1.1'
+
+}
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag color color) \
+ $(cabal_flag curl curl) \
+ --flag=executable \
+ --flag=-hpc \
+ $(cabal_flag http http) \
+ --flag=library \
+ $(cabal_flag mmap mmap) \
+ $(cabal_flag network-uri network-uri) \
+ $(cabal_flag optimize optimize) \
+ $(cabal_flag static static) \
+ $(cabal_flag terminfo terminfo) \
+ $(cabal_flag test test) \
+ $(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/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/files/darcs-2.8.5-ghc-7.10.patch b/dev-vcs/darcs/files/darcs-2.8.5-ghc-7.10.patch
new file mode 100644
index 000000000000..138c0848b9b8
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.5-ghc-7.10.patch
@@ -0,0 +1,142 @@
+--- darcs-2.8.5-orig/src/Darcs/Repository/Internal.hs 2014-08-26 06:27:34.000000000 +1000
++++ darcs-2.8.5/src/Darcs/Repository/Internal.hs 2015-01-03 12:18:03.576529408 +1100
+@@ -71,8 +71,8 @@
+ writeProblem, readProblem, readfromAndWritetoProblem )
+ import System.Directory ( doesDirectoryExist, setCurrentDirectory,
+ createDirectoryIfMissing, doesFileExist )
+-import Control.Monad ( when, unless, filterM )
+-import Control.Applicative ( (<$>) )
++import Control.Monad ( when, unless, filterM, ap )
++import Control.Applicative ( Applicative(..), (<$>) )
+ import Control.Exception ( catch, IOException )
+
+ import Workaround ( getCurrentDirectory, renameFile, setExecutable )
+@@ -184,6 +184,10 @@
+ instance Functor (RIO p C(r u t t)) where
+ fmap f m = RIO $ \r -> fmap f (unsafeUnRIO m r)
+
++instance Applicative (RIO p C(r u t t)) where
++ pure = return
++ (<*>) = ap
++
+ -- | We have an instance of Monad so that IO actions that do not
+ -- change the tentative recorded state are convenient in the IO monad.
+ instance Monad (RIO p C(r u t t)) where
+--- darcs-2.8.5-orig/src/Darcs/Patch/Prim/V1/Commute.hs 2014-08-26 06:27:34.000000000 +1000
++++ darcs-2.8.5/src/Darcs/Patch/Prim/V1/Commute.hs 2015-01-03 12:11:31.281425244 +1100
+@@ -6,7 +6,8 @@
+ where
+
+ import Prelude hiding ( pi )
+-import Control.Monad ( MonadPlus, msum, mzero, mplus )
++import Control.Applicative ( Applicative(..), Alternative(..) )
++import Control.Monad ( MonadPlus, msum, mzero, mplus, liftM, ap )
+
+ import qualified Data.ByteString as B (ByteString, concat)
+ import qualified Data.ByteString.Char8 as BC (pack)
+@@ -35,6 +36,17 @@
+
+ data Perhaps a = Unknown | Failed | Succeeded a
+
++instance Functor Perhaps where
++ fmap = liftM
++
++instance Applicative Perhaps where
++ pure = return
++ (<*>) = ap
++
++instance Alternative Perhaps where
++ (<|>) = mplus
++ empty = mzero
++
+ instance Monad Perhaps where
+ (Succeeded x) >>= k = k x
+ Failed >>= _ = Failed
+--- darcs-2.8.5-orig/src/Darcs/IO.hs 2014-08-26 06:27:34.000000000 +1000
++++ darcs-2.8.5/src/Darcs/IO.hs 2015-01-03 12:06:40.423103022 +1100
+@@ -23,6 +23,7 @@
+ import Data.Char ( toLower )
+ import Data.List ( isSuffixOf )
+ import System.IO.Error ( isDoesNotExistError, isPermissionError )
++import Control.Applicative ( Applicative(..) )
+ import Control.Exception.Extensible ( catch, SomeException, IOException )
+ import Control.Monad.Error
+ import System.Directory ( createDirectory,
+@@ -97,6 +98,10 @@
+ instance Functor TolerantIO where
+ fmap f m = m >>= return . f
+
++instance Applicative TolerantIO where
++ pure = return
++ (<*>) = ap
++
+ instance Monad TolerantIO where
+ f >>= g = runTM $ runIO f >>= runIO . g
+ f >> g = runTM $ runIO f >> runIO g
+@@ -106,6 +111,10 @@
+ instance Functor SilentIO where
+ fmap f m = m >>= return . f
+
++instance Applicative SilentIO where
++ pure = return
++ (<*>) = ap
++
+ instance Monad SilentIO where
+ f >>= g = runTM $ runIO f >>= runIO . g
+ f >> g = runTM $ runIO f >> runIO g
+--- darcs-2.8.5-orig/src/Darcs/Patch/V2/Real.hs 2014-08-26 06:27:34.000000000 +1000
++++ darcs-2.8.5/src/Darcs/Patch/V2/Real.hs 2015-01-03 11:14:40.109221505 +1100
+@@ -29,6 +29,9 @@
+ , mergeUnravelled
+ ) where
+
++#if MIN_VERSION_base(4,8,0)
++import Prelude hiding ( (*>) )
++#endif
+ import Control.Monad ( mplus, liftM )
+ import qualified Data.ByteString.Char8 as BC ( ByteString, pack )
+ import Data.Maybe ( fromMaybe )
+--- darcs-2.8.5-orig/src/Darcs/Patch/V2/Non.hs 2014-08-26 06:27:34.000000000 +1000
++++ darcs-2.8.5/src/Darcs/Patch/V2/Non.hs 2015-01-03 11:14:08.073788136 +1100
+@@ -40,7 +40,11 @@
+ , (>>*)
+ ) where
+
++#if MIN_VERSION_base(4,8,0)
++import Prelude hiding ( rem, (*>) )
++#else
+ import Prelude hiding ( rem )
++#endif
+ import Data.List ( delete )
+ import Control.Monad ( liftM, mzero )
+ import Darcs.Patch.Commute ( commuteFL )
+--- darcs-2.8.5-orig/src/Darcs/Patch/V1/Commute.hs 2014-08-26 06:27:34.000000000 +1000
++++ darcs-2.8.5/src/Darcs/Patch/V1/Commute.hs 2015-01-03 12:11:47.084707544 +1100
+@@ -28,7 +28,8 @@
+ )
+ where
+
+-import Control.Monad ( MonadPlus, mplus, msum, mzero, guard )
++import Control.Applicative ( Applicative(..), Alternative(..) )
++import Control.Monad ( MonadPlus, mplus, msum, mzero, guard, liftM, ap )
+
+ import Darcs.Patch.Commute ( toFwdCommute )
+ import Darcs.Patch.ConflictMarking ( mangleUnravelled )
+@@ -69,6 +70,17 @@
+
+ data Perhaps a = Unknown | Failed | Succeeded a
+
++instance Functor Perhaps where
++ fmap = liftM
++
++instance Applicative Perhaps where
++ pure = return
++ (<*>) = ap
++
++instance Alternative Perhaps where
++ (<|>) = mplus
++ empty = mzero
++
+ instance Monad Perhaps where
+ (Succeeded x) >>= k = k x
+ Failed >>= _ = Failed
diff --git a/dev-vcs/darcs/metadata.xml b/dev-vcs/darcs/metadata.xml
new file mode 100644
index 000000000000..91743df1aec2
--- /dev/null
+++ b/dev-vcs/darcs/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>haskell</herd>
+<maintainer>
+ <email>haskell@gentoo.org</email>
+</maintainer>
+<use>
+ <flag name="color">Use ansi color escapes.</flag>
+ <flag name="diff">Use 'lcs' for diff building.</flag>
+ <flag name="http">Use the pure Haskell HTTP package for HTTP support.</flag>
+ <flag name="optimize">Build with optimizations (-O2).</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..8acfcbc03474
--- /dev/null
+++ b/dev-vcs/easygit/Manifest
@@ -0,0 +1 @@
+DIST easygit-1.6.5.5 283019 SHA256 ef6a96825d6f9606c23957cd8e1cb5a5d46b226392c8101d3883094a4a2b54ad SHA512 2e639ffa40ac6ea8619abf5d8aced57a9fb203aaf96e259b2d3905b1d6d040d3d64adf14dad0552bd710808e3c23b63e859f1b5b02bd13aca1ad232fe05c2bbd WHIRLPOOL d170f10a13ec20f6c26d92a7f45331b2955cd9f0251c3486ab2da619385dca826c86f2d1faac00a1660a5d406a7f3ee3beaede68ff73f3bed58878c700b715b5
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..0b0916f7fb21
--- /dev/null
+++ b/dev-vcs/easygit/easygit-1.6.5.5.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+MY_PN="eg"
+
+DESCRIPTION="Easy GIT is a wrapper for git, designed to make git easy to learn and use"
+HOMEPAGE="http://www.gnome.org/~newren/eg/"
+SRC_URI="http://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..ff62877c67ae
--- /dev/null
+++ b/dev-vcs/easygit/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>
+ <email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/fossil/Manifest b/dev-vcs/fossil/Manifest
new file mode 100644
index 000000000000..6c1db4998cef
--- /dev/null
+++ b/dev-vcs/fossil/Manifest
@@ -0,0 +1 @@
+DIST fossil-src-20150119112900.tar.gz 3973184 SHA256 37969e5a09c1611199921e3518a4ed736fd637a02f2d5810cd45897a4ceb92dc SHA512 9bee82916d98b5d7d81e200ec6616c1e463540de254464a559254ee117a99492a0080003645a99ef93cc551395e38b93dfb12728abbbdbf468f5c2743f67718e WHIRLPOOL 19175692472913bc94bf993956c1e0b8510ff33d6df2c168acf700e64b6f4e62eed34a4888c38e093eabfe582224edf5b7e03dc652b5f1e8824b9e8e5608d492
diff --git a/dev-vcs/fossil/fossil-20150119112900.ebuild b/dev-vcs/fossil/fossil-20150119112900.ebuild
new file mode 100644
index 000000000000..1bb7ba485d5d
--- /dev/null
+++ b/dev-vcs/fossil/fossil-20150119112900.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+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="json +lineedit sqlite +ssl tcl"
+
+DEPEND="
+ sys-libs/zlib
+ lineedit? ( || ( sys-libs/readline:0 dev-libs/libedit ) )
+ ssl? ( dev-libs/openssl:0 )
+ sqlite? ( dev-db/sqlite:3 )
+ 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-zlib'
+
+ myconf+=" --lineedit=$(usex lineedit 1 0)"
+ myconf+=" --with-openssl=$(usex ssl auto none)"
+ use json && myconf+=' --json'
+ use sqlite && myconf+=' --disable-internal-sqlite'
+ use tcl && myconf+=' --with-tcl --with-tcl-stubs'
+ 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..af4a9e3be69d
--- /dev/null
+++ b/dev-vcs/fossil/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>
+ <email>rafaelmartins@gentoo.org</email>
+ <name>Rafael G. Martins</name>
+ </maintainer>
+ <maintainer>
+ <email>titanofold@gentoo.org</email>
+ <name>Aaron W. Swenson</name>
+ <description>Co-Maintainer</description>
+ </maintainer>
+ <use>
+ <flag name="json">Enable the JSON API of Fossil's wiki</flag>
+ <flag name="lineedit">Enable line-editing with libedit or readline</flag>
+ <flag name="sqlite">
+ Use the system SQLite instead of the bundled one
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-vcs/giggle/Manifest b/dev-vcs/giggle/Manifest
new file mode 100644
index 000000000000..9ebfaf0745fd
--- /dev/null
+++ b/dev-vcs/giggle/Manifest
@@ -0,0 +1 @@
+DIST giggle-0.7.tar.xz 2042304 SHA256 ae2e2237fa0d0999d99d0a0ee9b7ec147e80bd2472d59a045b2b01eb02261f59 SHA512 01d3cc0adc610706a97b89487624fe3d09c1347c0b07920e71d2e33761fab4894ebb304113ac7df6cdd03ed6116d09dcce85b35d6169df5a3f3973faaa151cfb WHIRLPOOL 54f721249b1e2bdaafcfd42c800ce4eb80e9b9e1ed312e853a2c30b650db25b98a14af2088849930a7be4ca36628c45021f276f04af13f7e76276a965cfc4c7b
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/giggle-0.7-r1.ebuild b/dev-vcs/giggle/giggle-0.7-r1.ebuild
new file mode 100644
index 000000000000..1b5cd5bc37c0
--- /dev/null
+++ b/dev-vcs/giggle/giggle-0.7-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit gnome2 eutils
+
+DESCRIPTION="GTK+ Frontend for GIT"
+HOMEPAGE="https://wiki.gnome.org/Apps/giggle"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x86-interix ~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.90
+"
+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() {
+ epatch "${FILESDIR}/${PN}-0.6.2-gtksourceview-3.8.0.patch"
+ 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..ff688617b208
--- /dev/null
+++ b/dev-vcs/giggle/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>
+ <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..b2a8cb7edc31
--- /dev/null
+++ b/dev-vcs/git-annex/Manifest
@@ -0,0 +1,8 @@
+DIST git-annex-5.20140927.tar.gz 4547006 SHA256 532b36a4a33909b9835a19888b1678251a0b99b1a1f82e94755bb5cc2e7af50b SHA512 7851b773a296efc3c4d3ae36ce240ca466b42d87d32f8635ae1dc8457064c20b2521c0fe3c123554e0d2e2e35346f03a3c25ae94f47f2a2d902a73629f0c6535 WHIRLPOOL bc30b2b7833f46a5633012f072a901142c2a6bc5fbca198c3d391fe336c2c88d3ae2491a439692fe32eb1b217d8a9c6b8baad931f462660b0c4a3cccb1ba44b0
+DIST git-annex-5.20141125.tar.gz 4580886 SHA256 ba26d0459d74d818b7ecc8153856ffccfcd7068dbea344334438a698dd689a66 SHA512 44feb1ecfe6c0f08c8c69b11efa9b81b5e420019321f27b825ae831c04e0e8ad307cea73e6c52ab1f73f2bebdd6476012e5eab1e823a9ded7d6c865e7fd24350 WHIRLPOOL 57ed46a1a8bd43fd12c05c2eee9da2bad529cde7ba424e7607858637e9394b280789edba5ae5c9e0547ad6d6a4ee48fd920c29cab87aacfebf4cf3b527aa58ce
+DIST git-annex-5.20141203.tar.gz 4611768 SHA256 d36d07fe592b27e7e4e363de3ddccb5cc4a8f189c30c58cfdb4524837473f105 SHA512 a16cc0d000cde3cc7ebad1a8eac17ba2d3efed2ac11090c1d8247a30c341fcb38bc32dccf6a8f6fe05c31fd22dc50ea2a292711a2edb43ab96275fd157030481 WHIRLPOOL a4c393e29d441b36ca56c88f1690235fc1939af0ad1834239d2a80896ae8e8cb0dc1586d87b4493803d0984dc5666550a69f1d03f44488cadcb1430f7e003225
+DIST git-annex-5.20141231.tar.gz 4635173 SHA256 ce7f8e1a6f9049e9864a125a10672d577605ecbb45bb83401af6d6c128533c67 SHA512 d9b0db8084f08a8a2408ea1af1bc95c20591e573cddef866a9eed84319a7fff774d482d464a390c10468436dabb69fdd2cf177afb4600ef2300ae0f08b284e6e WHIRLPOOL 053b76ee765cc5b01900a7c3c115a736dff67e50b4847e552e6e1adae10344219698f59969509f2248e589ea7a6eb32991d2e4646c02b2b1a703c8269fdc1352
+DIST git-annex-5.20150219.tar.gz 4688334 SHA256 46c1d2a338a4f54774060b39fe5e864551d047b0d04eee158b3c2cb947085d5f SHA512 006ef74ba687bd97f93fb91f3ee675551abecfe019e45696bdc783523e8559ffeb9a8e521b488b695518b2fb001b2db2826ad53c5af2199d487cd664f2a9ee13 WHIRLPOOL 1e2f16af86915ec433c38eedad994538b13f56d7f0e3b35d648bc2872abef78acdac4b19b4983101f697dd138a3deaa60451196ad13a8b083dd0c6dc1c712de1
+DIST git-annex-5.20150327.tar.gz 4764485 SHA256 1e309466627eb634816805004391c5407dd9eee280e2f21a48de9617a35918fa SHA512 638ed0c97d0f67cd26699826c9ff5192fd2d089932e06fe8305c536fcbad06239f8d745c350938089827ae4b7058f1e2c3156ab7f5f133e7b4a38a2e6cd69544 WHIRLPOOL a03f2d28b36eff595ba2780ed70fee8204dceb8aef087871f650dd3482865e30d2644e29b9c7d5763cc79ffe8357e81b5b1b7fb1091fa3cb1d171634af37ac77
+DIST git-annex-5.20150617.tar.gz 5047577 SHA256 2d37c49866880803886fe77be17ac154c84acc0c344e4fefea577a59e55f8d54 SHA512 25f42ab403d3fd39a689af74cd8a26dc5de761d5a8a79c8d7050194c2094f65de9681b4189076c484fb5c644408918140cf1fcb0109a6a2195f1d547e307abfc WHIRLPOOL 89410f048f5773256cac6525f1a42e3845a5106a1d0b82e031d1f70136375479efc180b21907036e191243f55aee7d94b041cc1d994dea403a1640e7310f6f4d
+DIST git-annex-5.20150710.tar.gz 5080419 SHA256 970f953a278401863fb1006679d216891ae556f80434b587deb08dfd6644f860 SHA512 35240f1d78561dab02ae014e4d00b8645c33c526b0d36a28253b9129198ea53b784949c7b47fd3b97f056842430a5e8b0d312b8ba6985bbb3228c73a4dfa21ea WHIRLPOOL 06b824031aeef38468e17ef239aa1501a2236a084a9c54e4c81001247c62b8621cdc6bc090f2b1a516df000823951acee784000aa6dc5b4de5dc4bcd5a2bda59
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-5.20140927.ebuild b/dev-vcs/git-annex/git-annex-5.20140927.ebuild
new file mode 100644
index 000000000000..b5e0a877353c
--- /dev/null
+++ b/dev-vcs/git-annex/git-annex-5.20140927.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.5
+
+CABAL_FEATURES="bin"
+inherit haskell-cabal
+
+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="android androidsplice +assistant +cryptohash +dbus +dns doc +desktop-notify ekg +feed +inotify +pairing +production +quvi +s3 +tahoe +tdfa +testsuite +webapp +webapp-secure +webdav +xmpp"
+
+RDEPEND="dev-vcs/git
+"
+DEPEND="${RDEPEND}
+ dev-haskell/async
+ dev-haskell/bloomfilter
+ >=dev-haskell/cabal-1.8
+ dev-haskell/case-insensitive
+ dev-haskell/dataenc
+ dev-haskell/data-default
+ dev-haskell/dlist
+ dev-haskell/edit-distance
+ >=dev-haskell/exceptions-0.6
+ dev-haskell/hslogger
+ dev-haskell/http-conduit
+ dev-haskell/http-types
+ dev-haskell/ifelse
+ dev-haskell/json[generic]
+ dev-haskell/missingh
+ dev-haskell/monad-control
+ >=dev-haskell/mtl-2
+ >=dev-haskell/network-2.0
+ >=dev-haskell/quickcheck-2.1:2
+ dev-haskell/random
+ dev-haskell/safesemaphore
+ dev-haskell/sha
+ >=dev-haskell/stm-2.3
+ dev-haskell/text
+ dev-haskell/transformers
+ dev-haskell/unix-compat
+ dev-haskell/utf8-string
+ dev-haskell/uuid
+ >=dev-lang/ghc-7.4.1
+ android? ( dev-haskell/data-endian )
+ assistant? ( >=dev-haskell/stm-2.3
+ inotify? ( dev-haskell/hinotify ) )
+ cryptohash? ( >=dev-haskell/cryptohash-0.10.0 )
+ dbus? ( >=dev-haskell/dbus-0.10.3 )
+ dns? ( dev-haskell/dns )
+ ekg? ( dev-haskell/aeson
+ dev-haskell/ekg
+ dev-haskell/http-types )
+ feed? ( dev-haskell/feed )
+ pairing? ( dev-haskell/network-info
+ dev-haskell/network-multicast )
+ quvi? ( dev-haskell/aeson )
+ s3? ( dev-haskell/hs3 )
+ tdfa? ( dev-haskell/regex-tdfa )
+ tahoe? ( dev-haskell/aeson )
+ testsuite? (
+ dev-haskell/crypto-api
+ >=dev-haskell/tasty-0.7
+ dev-haskell/tasty-hunit
+ dev-haskell/tasty-quickcheck
+ dev-haskell/tasty-rerun
+ >=dev-haskell/optparse-applicative-0.9.1
+ )
+ webapp? ( dev-haskell/blaze-builder
+ dev-haskell/aeson
+ dev-haskell/clientsession
+ dev-haskell/crypto-api
+ dev-haskell/hamlet
+ dev-haskell/http-types
+ dev-haskell/path-pieces
+ dev-haskell/transformers
+ dev-haskell/shakespeare
+ dev-haskell/wai
+ dev-haskell/wai-extra
+ dev-haskell/warp
+ dev-haskell/warp-tls
+ dev-haskell/yesod
+ dev-haskell/yesod-core
+ dev-haskell/yesod-default
+ dev-haskell/yesod-form
+ dev-haskell/yesod-static
+ webapp-secure? ( dev-haskell/warp-tls
+ dev-haskell/securemem
+ dev-haskell/byteable ) )
+ webdav? ( >=dev-haskell/dav-1.0
+ dev-haskell/http-client
+ dev-haskell/xml-conduit )
+ xmpp? ( >=dev-haskell/gnutls-0.1.4
+ dev-haskell/network-protocol-xmpp
+ dev-haskell/xml-types )
+ dev-lang/perl
+ doc? ( www-apps/ikiwiki net-misc/rsync )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag android android) \
+ $(cabal_flag androidsplice androidsplice) \
+ $(cabal_flag assistant assistant) \
+ $(cabal_flag cryptohash cryptohash) \
+ $(cabal_flag dbus dbus) \
+ $(cabal_flag desktop-notify desktop-notify) \
+ $(cabal_flag dns dns) \
+ $(cabal_flag ekg ekg) \
+ $(cabal_flag feed feed) \
+ $(cabal_flag inotify inotify) \
+ $(cabal_flag pairing pairing) \
+ $(cabal_flag production production) \
+ $(cabal_flag quvi quvi) \
+ $(cabal_flag s3 s3) \
+ $(cabal_flag tahoe tahoe) \
+ $(cabal_flag tdfa tdfa) \
+ $(cabal_flag testsuite testsuite) \
+ $(cabal_flag webapp webapp) \
+ $(cabal_flag webapp-secure webapp-secure) \
+ $(cabal_flag webdav webdav) \
+ $(cabal_flag xmpp xmpp)
+}
+
+src_compile() {
+ haskell-cabal_src_compile
+ use doc && emake docs
+}
+
+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
+ dosym git-annex /usr/bin/git-annex-shell # standard make install does more, than needed
+
+ # install-mans wants ikiwiki. It returns 0 and builds the man pages without ikiwiki.
+ emake install-mans DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ use doc && emake install-docs DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ mv "${ED}"/usr/share/doc/{${PN},${PF}}
+ 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/git-annex-5.20141125.ebuild b/dev-vcs/git-annex/git-annex-5.20141125.ebuild
new file mode 100644
index 000000000000..b5e0a877353c
--- /dev/null
+++ b/dev-vcs/git-annex/git-annex-5.20141125.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.5
+
+CABAL_FEATURES="bin"
+inherit haskell-cabal
+
+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="android androidsplice +assistant +cryptohash +dbus +dns doc +desktop-notify ekg +feed +inotify +pairing +production +quvi +s3 +tahoe +tdfa +testsuite +webapp +webapp-secure +webdav +xmpp"
+
+RDEPEND="dev-vcs/git
+"
+DEPEND="${RDEPEND}
+ dev-haskell/async
+ dev-haskell/bloomfilter
+ >=dev-haskell/cabal-1.8
+ dev-haskell/case-insensitive
+ dev-haskell/dataenc
+ dev-haskell/data-default
+ dev-haskell/dlist
+ dev-haskell/edit-distance
+ >=dev-haskell/exceptions-0.6
+ dev-haskell/hslogger
+ dev-haskell/http-conduit
+ dev-haskell/http-types
+ dev-haskell/ifelse
+ dev-haskell/json[generic]
+ dev-haskell/missingh
+ dev-haskell/monad-control
+ >=dev-haskell/mtl-2
+ >=dev-haskell/network-2.0
+ >=dev-haskell/quickcheck-2.1:2
+ dev-haskell/random
+ dev-haskell/safesemaphore
+ dev-haskell/sha
+ >=dev-haskell/stm-2.3
+ dev-haskell/text
+ dev-haskell/transformers
+ dev-haskell/unix-compat
+ dev-haskell/utf8-string
+ dev-haskell/uuid
+ >=dev-lang/ghc-7.4.1
+ android? ( dev-haskell/data-endian )
+ assistant? ( >=dev-haskell/stm-2.3
+ inotify? ( dev-haskell/hinotify ) )
+ cryptohash? ( >=dev-haskell/cryptohash-0.10.0 )
+ dbus? ( >=dev-haskell/dbus-0.10.3 )
+ dns? ( dev-haskell/dns )
+ ekg? ( dev-haskell/aeson
+ dev-haskell/ekg
+ dev-haskell/http-types )
+ feed? ( dev-haskell/feed )
+ pairing? ( dev-haskell/network-info
+ dev-haskell/network-multicast )
+ quvi? ( dev-haskell/aeson )
+ s3? ( dev-haskell/hs3 )
+ tdfa? ( dev-haskell/regex-tdfa )
+ tahoe? ( dev-haskell/aeson )
+ testsuite? (
+ dev-haskell/crypto-api
+ >=dev-haskell/tasty-0.7
+ dev-haskell/tasty-hunit
+ dev-haskell/tasty-quickcheck
+ dev-haskell/tasty-rerun
+ >=dev-haskell/optparse-applicative-0.9.1
+ )
+ webapp? ( dev-haskell/blaze-builder
+ dev-haskell/aeson
+ dev-haskell/clientsession
+ dev-haskell/crypto-api
+ dev-haskell/hamlet
+ dev-haskell/http-types
+ dev-haskell/path-pieces
+ dev-haskell/transformers
+ dev-haskell/shakespeare
+ dev-haskell/wai
+ dev-haskell/wai-extra
+ dev-haskell/warp
+ dev-haskell/warp-tls
+ dev-haskell/yesod
+ dev-haskell/yesod-core
+ dev-haskell/yesod-default
+ dev-haskell/yesod-form
+ dev-haskell/yesod-static
+ webapp-secure? ( dev-haskell/warp-tls
+ dev-haskell/securemem
+ dev-haskell/byteable ) )
+ webdav? ( >=dev-haskell/dav-1.0
+ dev-haskell/http-client
+ dev-haskell/xml-conduit )
+ xmpp? ( >=dev-haskell/gnutls-0.1.4
+ dev-haskell/network-protocol-xmpp
+ dev-haskell/xml-types )
+ dev-lang/perl
+ doc? ( www-apps/ikiwiki net-misc/rsync )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag android android) \
+ $(cabal_flag androidsplice androidsplice) \
+ $(cabal_flag assistant assistant) \
+ $(cabal_flag cryptohash cryptohash) \
+ $(cabal_flag dbus dbus) \
+ $(cabal_flag desktop-notify desktop-notify) \
+ $(cabal_flag dns dns) \
+ $(cabal_flag ekg ekg) \
+ $(cabal_flag feed feed) \
+ $(cabal_flag inotify inotify) \
+ $(cabal_flag pairing pairing) \
+ $(cabal_flag production production) \
+ $(cabal_flag quvi quvi) \
+ $(cabal_flag s3 s3) \
+ $(cabal_flag tahoe tahoe) \
+ $(cabal_flag tdfa tdfa) \
+ $(cabal_flag testsuite testsuite) \
+ $(cabal_flag webapp webapp) \
+ $(cabal_flag webapp-secure webapp-secure) \
+ $(cabal_flag webdav webdav) \
+ $(cabal_flag xmpp xmpp)
+}
+
+src_compile() {
+ haskell-cabal_src_compile
+ use doc && emake docs
+}
+
+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
+ dosym git-annex /usr/bin/git-annex-shell # standard make install does more, than needed
+
+ # install-mans wants ikiwiki. It returns 0 and builds the man pages without ikiwiki.
+ emake install-mans DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ use doc && emake install-docs DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ mv "${ED}"/usr/share/doc/{${PN},${PF}}
+ 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/git-annex-5.20141203.ebuild b/dev-vcs/git-annex/git-annex-5.20141203.ebuild
new file mode 100644
index 000000000000..8fc0419ce801
--- /dev/null
+++ b/dev-vcs/git-annex/git-annex-5.20141203.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.5
+
+CABAL_FEATURES="bin"
+inherit haskell-cabal
+
+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="android androidsplice +assistant +cryptohash +dbus +dns doc +desktop-notify ekg +feed +inotify +pairing +production +quvi +s3 +tahoe +tdfa +testsuite +webapp +webapp-secure +webdav +xmpp"
+
+RDEPEND="dev-vcs/git
+"
+DEPEND="${RDEPEND}
+ dev-haskell/async
+ dev-haskell/bloomfilter
+ >=dev-haskell/cabal-1.8
+ dev-haskell/case-insensitive
+ dev-haskell/dataenc
+ dev-haskell/data-default
+ dev-haskell/dlist
+ dev-haskell/edit-distance
+ >=dev-haskell/exceptions-0.6
+ dev-haskell/hslogger
+ dev-haskell/http-conduit
+ dev-haskell/http-types
+ dev-haskell/ifelse
+ dev-haskell/json[generic]
+ dev-haskell/missingh
+ dev-haskell/monad-control
+ >=dev-haskell/mtl-2
+ >=dev-haskell/network-2.0
+ >=dev-haskell/quickcheck-2.1:2
+ dev-haskell/random
+ dev-haskell/safesemaphore
+ dev-haskell/sha
+ >=dev-haskell/stm-2.3
+ dev-haskell/text
+ dev-haskell/transformers
+ dev-haskell/unix-compat
+ dev-haskell/utf8-string
+ dev-haskell/uuid
+ >=dev-lang/ghc-7.4.1
+ android? ( dev-haskell/data-endian )
+ assistant? ( >=dev-haskell/stm-2.3
+ inotify? ( dev-haskell/hinotify ) )
+ cryptohash? ( >=dev-haskell/cryptohash-0.10.0 )
+ dbus? ( >=dev-haskell/dbus-0.10.3 )
+ dns? ( dev-haskell/dns )
+ ekg? ( dev-haskell/aeson
+ dev-haskell/ekg
+ dev-haskell/http-types )
+ feed? ( dev-haskell/feed )
+ pairing? ( dev-haskell/network-info
+ dev-haskell/network-multicast )
+ quvi? ( dev-haskell/aeson )
+ s3? ( >=dev-haskell/aws-0.9.2
+ dev-haskell/conduit
+ dev-haskell/conduit-extra
+ dev-haskell/resourcet )
+ tdfa? ( dev-haskell/regex-tdfa )
+ tahoe? ( dev-haskell/aeson )
+ testsuite? (
+ dev-haskell/crypto-api
+ >=dev-haskell/tasty-0.7
+ dev-haskell/tasty-hunit
+ dev-haskell/tasty-quickcheck
+ dev-haskell/tasty-rerun
+ >=dev-haskell/optparse-applicative-0.9.1
+ )
+ webapp? ( dev-haskell/blaze-builder
+ dev-haskell/aeson
+ dev-haskell/clientsession
+ dev-haskell/crypto-api
+ dev-haskell/hamlet
+ dev-haskell/http-types
+ dev-haskell/path-pieces
+ dev-haskell/transformers
+ dev-haskell/shakespeare
+ dev-haskell/wai
+ dev-haskell/wai-extra
+ dev-haskell/warp
+ dev-haskell/warp-tls
+ dev-haskell/yesod
+ dev-haskell/yesod-core
+ dev-haskell/yesod-default
+ dev-haskell/yesod-form
+ dev-haskell/yesod-static
+ webapp-secure? ( dev-haskell/warp-tls
+ dev-haskell/securemem
+ dev-haskell/byteable ) )
+ webdav? ( >=dev-haskell/dav-1.0
+ dev-haskell/http-client
+ dev-haskell/xml-conduit )
+ xmpp? ( >=dev-haskell/gnutls-0.1.4
+ dev-haskell/network-protocol-xmpp
+ dev-haskell/xml-types )
+ dev-lang/perl
+ doc? ( www-apps/ikiwiki net-misc/rsync )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag android android) \
+ $(cabal_flag androidsplice androidsplice) \
+ $(cabal_flag assistant assistant) \
+ $(cabal_flag cryptohash cryptohash) \
+ $(cabal_flag dbus dbus) \
+ $(cabal_flag desktop-notify desktop-notify) \
+ $(cabal_flag dns dns) \
+ $(cabal_flag ekg ekg) \
+ $(cabal_flag feed feed) \
+ $(cabal_flag inotify inotify) \
+ $(cabal_flag pairing pairing) \
+ $(cabal_flag production production) \
+ $(cabal_flag quvi quvi) \
+ $(cabal_flag s3 s3) \
+ $(cabal_flag tahoe tahoe) \
+ $(cabal_flag tdfa tdfa) \
+ $(cabal_flag testsuite testsuite) \
+ $(cabal_flag webapp webapp) \
+ $(cabal_flag webapp-secure webapp-secure) \
+ $(cabal_flag webdav webdav) \
+ $(cabal_flag xmpp xmpp)
+}
+
+src_compile() {
+ haskell-cabal_src_compile
+ use doc && emake docs
+}
+
+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
+ dosym git-annex /usr/bin/git-annex-shell # standard make install does more, than needed
+
+ # install-mans wants ikiwiki. It returns 0 and builds the man pages without ikiwiki.
+ emake install-mans DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ use doc && emake install-docs DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ mv "${ED}"/usr/share/doc/{${PN},${PF}}
+ 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/git-annex-5.20141231.ebuild b/dev-vcs/git-annex/git-annex-5.20141231.ebuild
new file mode 100644
index 000000000000..914cf061ba30
--- /dev/null
+++ b/dev-vcs/git-annex/git-annex-5.20141231.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.5
+
+CABAL_FEATURES="bin"
+inherit haskell-cabal
+
+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="android androidsplice +assistant +cryptohash +dbus +dns doc +desktop-notify ekg +feed +inotify +pairing +production +quvi +s3 +tahoe +tdfa +testsuite torrentparser +webapp +webapp-secure +webdav +xmpp"
+
+RDEPEND="dev-vcs/git
+"
+DEPEND="${RDEPEND}
+ dev-haskell/async
+ dev-haskell/bloomfilter
+ >=dev-haskell/cabal-1.8
+ dev-haskell/case-insensitive
+ dev-haskell/dataenc
+ dev-haskell/data-default
+ dev-haskell/dlist
+ dev-haskell/edit-distance
+ >=dev-haskell/exceptions-0.6
+ dev-haskell/hslogger
+ dev-haskell/http-conduit
+ dev-haskell/http-types
+ dev-haskell/ifelse
+ dev-haskell/json[generic]
+ dev-haskell/missingh
+ dev-haskell/monad-control
+ >=dev-haskell/mtl-2
+ >=dev-haskell/network-2.0
+ dev-haskell/network-uri
+ >=dev-haskell/quickcheck-2.1:2
+ dev-haskell/random
+ dev-haskell/safesemaphore
+ dev-haskell/sha
+ >=dev-haskell/stm-2.3
+ dev-haskell/text
+ dev-haskell/transformers
+ dev-haskell/unix-compat
+ dev-haskell/utf8-string
+ dev-haskell/uuid
+ >=dev-lang/ghc-7.4.1
+ android? ( dev-haskell/data-endian )
+ assistant? ( >=dev-haskell/stm-2.3
+ inotify? ( dev-haskell/hinotify ) )
+ cryptohash? ( >=dev-haskell/cryptohash-0.10.0 )
+ dbus? ( >=dev-haskell/dbus-0.10.3 )
+ dns? ( dev-haskell/dns )
+ ekg? ( dev-haskell/aeson
+ dev-haskell/ekg
+ dev-haskell/http-types )
+ feed? ( dev-haskell/feed )
+ pairing? ( dev-haskell/network-info
+ dev-haskell/network-multicast )
+ quvi? ( dev-haskell/aeson )
+ s3? ( >=dev-haskell/aws-0.9.2
+ dev-haskell/conduit
+ dev-haskell/conduit-extra
+ dev-haskell/http-client
+ dev-haskell/resourcet )
+ tdfa? ( dev-haskell/regex-tdfa )
+ tahoe? ( dev-haskell/aeson )
+ testsuite? (
+ dev-haskell/crypto-api
+ >=dev-haskell/tasty-0.7
+ dev-haskell/tasty-hunit
+ dev-haskell/tasty-quickcheck
+ dev-haskell/tasty-rerun
+ >=dev-haskell/optparse-applicative-0.9.1
+ )
+ torrentparser? ( >=dev-haskell/torrent-10000.0.0 )
+ webapp? ( dev-haskell/blaze-builder
+ dev-haskell/aeson
+ dev-haskell/clientsession
+ dev-haskell/crypto-api
+ dev-haskell/hamlet
+ dev-haskell/http-types
+ dev-haskell/path-pieces
+ dev-haskell/transformers
+ dev-haskell/shakespeare
+ dev-haskell/wai
+ dev-haskell/wai-extra
+ dev-haskell/warp
+ dev-haskell/warp-tls
+ dev-haskell/yesod
+ dev-haskell/yesod-core
+ dev-haskell/yesod-default
+ dev-haskell/yesod-form
+ dev-haskell/yesod-static
+ webapp-secure? ( dev-haskell/warp-tls
+ dev-haskell/securemem
+ dev-haskell/byteable ) )
+ webdav? ( >=dev-haskell/dav-1.0
+ dev-haskell/http-client
+ dev-haskell/xml-conduit )
+ xmpp? ( >=dev-haskell/gnutls-0.1.4
+ dev-haskell/network-protocol-xmpp
+ dev-haskell/xml-types )
+ dev-lang/perl
+ doc? ( www-apps/ikiwiki net-misc/rsync )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag android android) \
+ $(cabal_flag androidsplice androidsplice) \
+ $(cabal_flag assistant assistant) \
+ $(cabal_flag cryptohash cryptohash) \
+ $(cabal_flag dbus dbus) \
+ $(cabal_flag desktop-notify desktop-notify) \
+ $(cabal_flag dns dns) \
+ $(cabal_flag ekg ekg) \
+ $(cabal_flag feed feed) \
+ $(cabal_flag inotify inotify) \
+ $(cabal_flag pairing pairing) \
+ $(cabal_flag production production) \
+ $(cabal_flag quvi quvi) \
+ $(cabal_flag s3 s3) \
+ $(cabal_flag tahoe tahoe) \
+ $(cabal_flag tdfa tdfa) \
+ $(cabal_flag testsuite testsuite) \
+ $(cabal_flag webapp webapp) \
+ $(cabal_flag webapp-secure webapp-secure) \
+ $(cabal_flag webdav webdav) \
+ $(cabal_flag xmpp xmpp)
+}
+
+src_prepare() {
+ cabal_chdeps \
+ ', aws (>= 0.9.2)' ', aws (>= 0.9.2), http-client'
+}
+
+src_compile() {
+ haskell-cabal_src_compile
+ use doc && emake docs
+}
+
+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
+ dosym git-annex /usr/bin/git-annex-shell # standard make install does more, than needed
+
+ # install-mans wants ikiwiki. It returns 0 and builds the man pages without ikiwiki.
+ emake install-mans DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ use doc && emake install-docs DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ mv "${ED}"/usr/share/doc/{${PN},${PF}}
+ 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/git-annex-5.20150219.ebuild b/dev-vcs/git-annex/git-annex-5.20150219.ebuild
new file mode 100644
index 000000000000..54c050fdb27e
--- /dev/null
+++ b/dev-vcs/git-annex/git-annex-5.20150219.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.5
+
+CABAL_FEATURES="bin"
+inherit haskell-cabal
+
+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="android androidsplice +assistant +dbus +dns doc +desktop-notify ekg +feed +inotify +pairing +production +quvi +s3 +tahoe +tdfa +testsuite torrentparser +webapp +webapp-secure +webdav +xmpp"
+
+RDEPEND="dev-vcs/git
+"
+DEPEND="${RDEPEND}
+ dev-haskell/async
+ dev-haskell/bloomfilter
+ >=dev-haskell/cabal-1.8
+ dev-haskell/case-insensitive
+ >=dev-haskell/cryptohash-0.10.0
+ dev-haskell/dataenc
+ dev-haskell/data-default
+ dev-haskell/dlist
+ dev-haskell/edit-distance
+ >=dev-haskell/exceptions-0.6
+ dev-haskell/hslogger
+ dev-haskell/http-conduit
+ dev-haskell/http-types
+ dev-haskell/ifelse
+ dev-haskell/json[generic]
+ dev-haskell/missingh
+ dev-haskell/monad-control
+ >=dev-haskell/mtl-2
+ >=dev-haskell/network-2.0
+ dev-haskell/network-uri
+ >=dev-haskell/quickcheck-2.1:2
+ dev-haskell/random
+ dev-haskell/safesemaphore
+ dev-haskell/sha
+ >=dev-haskell/stm-2.3
+ dev-haskell/text
+ dev-haskell/transformers
+ dev-haskell/unix-compat
+ dev-haskell/utf8-string
+ dev-haskell/uuid
+ >=dev-lang/ghc-7.4.1
+ android? ( dev-haskell/data-endian )
+ assistant? ( >=dev-haskell/stm-2.3
+ inotify? ( dev-haskell/hinotify ) )
+ dbus? ( >=dev-haskell/dbus-0.10.3 )
+ dns? ( dev-haskell/dns )
+ ekg? ( dev-haskell/aeson
+ dev-haskell/ekg
+ dev-haskell/http-types )
+ feed? ( dev-haskell/feed )
+ pairing? ( dev-haskell/network-info
+ dev-haskell/network-multicast )
+ quvi? ( dev-haskell/aeson )
+ s3? ( >=dev-haskell/aws-0.9.2
+ dev-haskell/conduit
+ dev-haskell/conduit-extra
+ dev-haskell/http-client
+ dev-haskell/resourcet )
+ tdfa? ( dev-haskell/regex-tdfa )
+ tahoe? ( dev-haskell/aeson )
+ testsuite? (
+ dev-haskell/crypto-api
+ >=dev-haskell/tasty-0.7
+ dev-haskell/tasty-hunit
+ dev-haskell/tasty-quickcheck
+ dev-haskell/tasty-rerun
+ >=dev-haskell/optparse-applicative-0.9.1
+ )
+ torrentparser? ( >=dev-haskell/torrent-10000.0.0 )
+ webapp? ( dev-haskell/blaze-builder
+ dev-haskell/aeson
+ dev-haskell/clientsession
+ dev-haskell/crypto-api
+ dev-haskell/hamlet
+ dev-haskell/http-types
+ dev-haskell/path-pieces
+ dev-haskell/transformers
+ dev-haskell/shakespeare
+ dev-haskell/wai
+ dev-haskell/wai-extra
+ dev-haskell/warp
+ dev-haskell/warp-tls
+ dev-haskell/yesod
+ dev-haskell/yesod-core
+ dev-haskell/yesod-default
+ dev-haskell/yesod-form
+ dev-haskell/yesod-static
+ webapp-secure? ( dev-haskell/warp-tls
+ dev-haskell/securemem
+ dev-haskell/byteable ) )
+ webdav? ( >=dev-haskell/dav-1.0
+ dev-haskell/http-client
+ dev-haskell/xml-conduit )
+ xmpp? ( >=dev-haskell/gnutls-0.1.4
+ dev-haskell/network-protocol-xmpp
+ dev-haskell/xml-types )
+ dev-lang/perl
+ doc? ( www-apps/ikiwiki net-misc/rsync )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag android android) \
+ $(cabal_flag androidsplice androidsplice) \
+ $(cabal_flag assistant assistant) \
+ $(cabal_flag dbus dbus) \
+ $(cabal_flag desktop-notify desktop-notify) \
+ $(cabal_flag dns dns) \
+ $(cabal_flag ekg ekg) \
+ $(cabal_flag feed feed) \
+ $(cabal_flag inotify inotify) \
+ $(cabal_flag pairing pairing) \
+ $(cabal_flag production production) \
+ $(cabal_flag quvi quvi) \
+ $(cabal_flag s3 s3) \
+ $(cabal_flag tahoe tahoe) \
+ $(cabal_flag tdfa tdfa) \
+ $(cabal_flag testsuite testsuite) \
+ $(cabal_flag webapp webapp) \
+ $(cabal_flag webapp-secure webapp-secure) \
+ $(cabal_flag webdav webdav) \
+ $(cabal_flag xmpp xmpp)
+}
+
+src_prepare() {
+ cabal_chdeps \
+ ', aws (>= 0.9.2)' ', aws (>= 0.9.2), http-client'
+}
+
+src_compile() {
+ haskell-cabal_src_compile
+ use doc && emake docs
+}
+
+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
+ dosym git-annex /usr/bin/git-annex-shell # standard make install does more, than needed
+
+ # install-mans wants ikiwiki. It returns 0 and builds the man pages without ikiwiki.
+ emake install-mans DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ use doc && emake install-docs DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ mv "${ED}"/usr/share/doc/{${PN},${PF}}
+ 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/git-annex-5.20150327.ebuild b/dev-vcs/git-annex/git-annex-5.20150327.ebuild
new file mode 100644
index 000000000000..8a8fe431782c
--- /dev/null
+++ b/dev-vcs/git-annex/git-annex-5.20150327.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.5
+
+CABAL_FEATURES="bin"
+inherit haskell-cabal
+
+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="android androidsplice +assistant +dbus +dns doc +desktop-notify ekg +feed +inotify +pairing +production +quvi +s3 +tahoe +tdfa +testsuite torrentparser +webapp +webapp-secure +webdav +xmpp"
+
+RDEPEND="dev-vcs/git
+"
+DEPEND="${RDEPEND}
+ dev-haskell/async
+ dev-haskell/bloomfilter
+ >=dev-haskell/cabal-1.8
+ dev-haskell/case-insensitive
+ >=dev-haskell/cryptohash-0.10.0
+ dev-haskell/dataenc
+ dev-haskell/data-default
+ dev-haskell/dlist
+ dev-haskell/edit-distance
+ dev-haskell/esqueleto
+ >=dev-haskell/exceptions-0.6
+ dev-haskell/hslogger
+ dev-haskell/http-conduit
+ dev-haskell/http-types
+ dev-haskell/ifelse
+ dev-haskell/json[generic]
+ dev-haskell/missingh
+ dev-haskell/monad-control
+ dev-haskell/monad-logger
+ >=dev-haskell/mtl-2
+ >=dev-haskell/network-2.0
+ dev-haskell/network-uri
+ dev-haskell/persistent
+ dev-haskell/persistent-sqlite
+ dev-haskell/persistent-template
+ >=dev-haskell/quickcheck-2.1:2
+ dev-haskell/random
+ dev-haskell/resourcet
+ dev-haskell/safesemaphore
+ dev-haskell/sha
+ >=dev-haskell/stm-2.3
+ dev-haskell/text
+ dev-haskell/transformers
+ dev-haskell/unix-compat
+ dev-haskell/utf8-string
+ dev-haskell/uuid
+ >=dev-lang/ghc-7.4.1
+ android? ( dev-haskell/data-endian )
+ assistant? ( >=dev-haskell/stm-2.3
+ inotify? ( dev-haskell/hinotify ) )
+ dbus? ( >=dev-haskell/dbus-0.10.3 )
+ dns? ( dev-haskell/dns )
+ ekg? ( dev-haskell/aeson
+ dev-haskell/ekg
+ dev-haskell/http-types )
+ feed? ( >=dev-haskell/feed-0.3.4 )
+ pairing? ( dev-haskell/network-info
+ dev-haskell/network-multicast )
+ quvi? ( dev-haskell/aeson )
+ s3? ( >=dev-haskell/aws-0.9.2
+ dev-haskell/conduit
+ dev-haskell/conduit-extra
+ dev-haskell/http-client )
+ tdfa? ( dev-haskell/regex-tdfa )
+ tahoe? ( dev-haskell/aeson )
+ testsuite? (
+ dev-haskell/crypto-api
+ >=dev-haskell/tasty-0.7
+ dev-haskell/tasty-hunit
+ dev-haskell/tasty-quickcheck
+ dev-haskell/tasty-rerun
+ >=dev-haskell/optparse-applicative-0.9.1
+ )
+ torrentparser? ( >=dev-haskell/torrent-10000.0.0 )
+ webapp? ( dev-haskell/blaze-builder
+ dev-haskell/aeson
+ dev-haskell/clientsession
+ dev-haskell/crypto-api
+ dev-haskell/hamlet
+ dev-haskell/http-types
+ dev-haskell/path-pieces
+ dev-haskell/transformers
+ dev-haskell/shakespeare
+ dev-haskell/wai
+ dev-haskell/wai-extra
+ dev-haskell/warp
+ dev-haskell/warp-tls
+ dev-haskell/yesod
+ dev-haskell/yesod-core
+ dev-haskell/yesod-default
+ dev-haskell/yesod-form
+ dev-haskell/yesod-static
+ webapp-secure? ( dev-haskell/warp-tls
+ dev-haskell/securemem
+ dev-haskell/byteable ) )
+ webdav? ( >=dev-haskell/dav-1.0
+ dev-haskell/http-client
+ dev-haskell/xml-conduit )
+ xmpp? ( >=dev-haskell/gnutls-0.1.4
+ dev-haskell/network-protocol-xmpp
+ dev-haskell/xml-types )
+ dev-lang/perl
+ doc? ( www-apps/ikiwiki net-misc/rsync )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag android android) \
+ $(cabal_flag androidsplice androidsplice) \
+ $(cabal_flag assistant assistant) \
+ $(cabal_flag dbus dbus) \
+ $(cabal_flag desktop-notify desktop-notify) \
+ $(cabal_flag dns dns) \
+ $(cabal_flag ekg ekg) \
+ $(cabal_flag feed feed) \
+ $(cabal_flag inotify inotify) \
+ $(cabal_flag pairing pairing) \
+ $(cabal_flag production production) \
+ $(cabal_flag quvi quvi) \
+ $(cabal_flag s3 s3) \
+ $(cabal_flag tahoe tahoe) \
+ $(cabal_flag tdfa tdfa) \
+ $(cabal_flag testsuite testsuite) \
+ $(cabal_flag webapp webapp) \
+ $(cabal_flag webapp-secure webapp-secure) \
+ $(cabal_flag webdav webdav) \
+ $(cabal_flag xmpp xmpp)
+}
+
+src_compile() {
+ haskell-cabal_src_compile
+ use doc && emake docs
+}
+
+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
+ dosym git-annex /usr/bin/git-annex-shell # standard make install does more, than needed
+
+ # install-mans wants ikiwiki. It returns 0 and builds the man pages without ikiwiki.
+ emake install-mans DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ use doc && emake install-docs DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ mv "${ED}"/usr/share/doc/{${PN},${PF}}
+ 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/git-annex-5.20150617.ebuild b/dev-vcs/git-annex/git-annex-5.20150617.ebuild
new file mode 100644
index 000000000000..f98fc6ee72ae
--- /dev/null
+++ b/dev-vcs/git-annex/git-annex-5.20150617.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.5
+
+CABAL_FEATURES="bin"
+inherit haskell-cabal
+
+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="android androidsplice asciiprogress +assistant +dbus +dns doc +desktop-notify ekg +feed +inotify +pairing +production +quvi +s3 +tahoe +tdfa +testsuite torrentparser +webapp +webapp-secure +webdav +xmpp"
+
+RDEPEND="dev-vcs/git
+"
+DEPEND="${RDEPEND}
+ dev-haskell/async
+ dev-haskell/bloomfilter
+ >=dev-haskell/cabal-1.8
+ dev-haskell/case-insensitive
+ >=dev-haskell/cryptohash-0.11.0
+ dev-haskell/data-default
+ dev-haskell/dlist
+ dev-haskell/edit-distance
+ dev-haskell/esqueleto
+ >=dev-haskell/exceptions-0.6
+ dev-haskell/hslogger
+ dev-haskell/http-conduit
+ dev-haskell/http-types
+ dev-haskell/ifelse
+ dev-haskell/json[generic]
+ dev-haskell/missingh
+ dev-haskell/monad-control
+ dev-haskell/monad-logger
+ >=dev-haskell/mtl-2
+ >=dev-haskell/network-2.0
+ dev-haskell/network-uri
+ dev-haskell/persistent
+ dev-haskell/persistent-sqlite
+ dev-haskell/persistent-template
+ >=dev-haskell/quickcheck-2.1:2
+ dev-haskell/random
+ dev-haskell/resourcet
+ dev-haskell/safesemaphore
+ dev-haskell/sandi
+ >=dev-haskell/stm-2.3
+ dev-haskell/text
+ dev-haskell/transformers
+ dev-haskell/unix-compat
+ dev-haskell/utf8-string
+ dev-haskell/uuid
+ >=dev-lang/ghc-7.4.1
+ android? ( dev-haskell/data-endian )
+ asciiprogress? ( dev-haskell/ascii-progress
+ dev-haskell/terminal-size )
+ assistant? ( >=dev-haskell/stm-2.3
+ inotify? ( dev-haskell/hinotify ) )
+ dbus? ( >=dev-haskell/dbus-0.10.3 )
+ dns? ( dev-haskell/dns )
+ ekg? ( dev-haskell/aeson
+ dev-haskell/ekg
+ dev-haskell/http-types )
+ feed? ( >=dev-haskell/feed-0.3.4 )
+ dev-haskell/old-locale
+ pairing? ( dev-haskell/network-info
+ dev-haskell/network-multicast )
+ quvi? ( dev-haskell/aeson )
+ s3? ( >=dev-haskell/aws-0.9.2
+ dev-haskell/conduit
+ dev-haskell/conduit-extra
+ dev-haskell/http-client )
+ tdfa? ( dev-haskell/regex-tdfa )
+ tahoe? ( dev-haskell/aeson )
+ testsuite? (
+ dev-haskell/crypto-api
+ >=dev-haskell/tasty-0.7
+ dev-haskell/tasty-hunit
+ dev-haskell/tasty-quickcheck
+ dev-haskell/tasty-rerun
+ >=dev-haskell/optparse-applicative-0.9.1
+ )
+ torrentparser? ( >=dev-haskell/torrent-10000.0.0 )
+ webapp? ( dev-haskell/blaze-builder
+ dev-haskell/aeson
+ dev-haskell/clientsession
+ dev-haskell/crypto-api
+ dev-haskell/http-types
+ >=dev-haskell/path-pieces-0.1.4
+ dev-haskell/transformers
+ >=dev-haskell/shakespeare-2
+ dev-haskell/wai
+ dev-haskell/wai-extra
+ >=dev-haskell/warp-3.0.0.5
+ dev-haskell/warp-tls
+ >=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
+ webapp-secure? ( dev-haskell/warp-tls
+ dev-haskell/securemem
+ dev-haskell/byteable ) )
+ webdav? ( >=dev-haskell/dav-1.0
+ dev-haskell/http-client )
+ xmpp? ( >=dev-haskell/gnutls-0.1.4
+ dev-haskell/network-protocol-xmpp
+ dev-haskell/xml-types )
+ dev-lang/perl
+ doc? ( www-apps/ikiwiki net-misc/rsync )
+"
+
+src_prepare() {
+ cabal_chdeps \
+ 'ascii-progress (<= 0.2.1.2)' 'ascii-progress'
+}
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag android android) \
+ $(cabal_flag androidsplice androidsplice) \
+ $(cabal_flag asciiprogress asciiprogress) \
+ $(cabal_flag assistant assistant) \
+ $(cabal_flag dbus dbus) \
+ $(cabal_flag desktop-notify desktop-notify) \
+ $(cabal_flag dns dns) \
+ $(cabal_flag ekg ekg) \
+ $(cabal_flag feed feed) \
+ $(cabal_flag inotify inotify) \
+ $(cabal_flag pairing pairing) \
+ $(cabal_flag production production) \
+ $(cabal_flag quvi quvi) \
+ $(cabal_flag s3 s3) \
+ $(cabal_flag tahoe tahoe) \
+ $(cabal_flag tdfa tdfa) \
+ $(cabal_flag testsuite testsuite) \
+ $(cabal_flag webapp webapp) \
+ $(cabal_flag webapp-secure webapp-secure) \
+ $(cabal_flag webdav webdav) \
+ $(cabal_flag xmpp xmpp)
+}
+
+src_compile() {
+ haskell-cabal_src_compile
+ use doc && emake docs
+}
+
+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
+ dosym git-annex /usr/bin/git-annex-shell # standard make install does more, than needed
+
+ # install-mans wants ikiwiki. It returns 0 and builds the man pages without ikiwiki.
+ emake install-mans DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ use doc && emake install-docs DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ mv "${ED}"/usr/share/doc/{${PN},${PF}}
+ 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/git-annex-5.20150710.ebuild b/dev-vcs/git-annex/git-annex-5.20150710.ebuild
new file mode 100644
index 000000000000..3f9f33f30372
--- /dev/null
+++ b/dev-vcs/git-annex/git-annex-5.20150710.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.5
+
+CABAL_FEATURES="bin"
+inherit haskell-cabal
+
+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="android androidsplice asciiprogress +assistant +dbus +dns doc +desktop-notify ekg +feed +inotify +pairing +production +quvi +s3 +tahoe +tdfa +testsuite torrentparser +webapp +webapp-secure +webdav +xmpp"
+
+RDEPEND="dev-vcs/git
+"
+DEPEND="${RDEPEND}
+ dev-haskell/async
+ dev-haskell/bloomfilter
+ >=dev-haskell/cabal-1.8
+ dev-haskell/case-insensitive
+ >=dev-haskell/cryptohash-0.11.0
+ dev-haskell/data-default
+ dev-haskell/dlist
+ dev-haskell/edit-distance
+ dev-haskell/esqueleto
+ >=dev-haskell/exceptions-0.6
+ dev-haskell/hslogger
+ dev-haskell/http-conduit
+ dev-haskell/http-types
+ dev-haskell/ifelse
+ dev-haskell/json[generic]
+ dev-haskell/missingh
+ dev-haskell/monad-control
+ dev-haskell/monad-logger
+ >=dev-haskell/mtl-2
+ >=dev-haskell/network-2.0
+ dev-haskell/network-uri
+ dev-haskell/persistent
+ dev-haskell/persistent-sqlite
+ dev-haskell/persistent-template
+ >=dev-haskell/quickcheck-2.1:2
+ dev-haskell/random
+ dev-haskell/resourcet
+ dev-haskell/safesemaphore
+ dev-haskell/sandi
+ >=dev-haskell/stm-2.3
+ dev-haskell/text
+ dev-haskell/transformers
+ dev-haskell/unix-compat
+ dev-haskell/utf8-string
+ dev-haskell/uuid
+ >=dev-lang/ghc-7.4.1
+ android? ( dev-haskell/data-endian )
+ asciiprogress? ( dev-haskell/ascii-progress
+ dev-haskell/terminal-size )
+ assistant? ( >=dev-haskell/stm-2.3
+ inotify? ( dev-haskell/hinotify ) )
+ dbus? ( >=dev-haskell/dbus-0.10.3 )
+ dns? ( dev-haskell/dns )
+ ekg? ( dev-haskell/aeson
+ dev-haskell/ekg
+ dev-haskell/http-types )
+ feed? ( >=dev-haskell/feed-0.3.4 )
+ dev-haskell/old-locale
+ pairing? ( dev-haskell/network-info
+ dev-haskell/network-multicast )
+ quvi? ( dev-haskell/aeson )
+ s3? ( >=dev-haskell/aws-0.9.2
+ dev-haskell/conduit
+ dev-haskell/conduit-extra
+ dev-haskell/http-client )
+ tdfa? ( dev-haskell/regex-tdfa )
+ tahoe? ( dev-haskell/aeson )
+ testsuite? (
+ dev-haskell/crypto-api
+ >=dev-haskell/tasty-0.7
+ dev-haskell/tasty-hunit
+ dev-haskell/tasty-quickcheck
+ dev-haskell/tasty-rerun
+ >=dev-haskell/optparse-applicative-0.10
+ )
+ torrentparser? ( >=dev-haskell/torrent-10000.0.0 )
+ webapp? ( dev-haskell/blaze-builder
+ dev-haskell/aeson
+ dev-haskell/clientsession
+ dev-haskell/crypto-api
+ dev-haskell/http-types
+ >=dev-haskell/path-pieces-0.1.4
+ dev-haskell/transformers
+ >=dev-haskell/shakespeare-2
+ dev-haskell/wai
+ dev-haskell/wai-extra
+ >=dev-haskell/warp-3.0.0.5
+ dev-haskell/warp-tls
+ >=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
+ webapp-secure? ( dev-haskell/warp-tls
+ dev-haskell/securemem
+ dev-haskell/byteable ) )
+ webdav? ( >=dev-haskell/dav-1.0
+ dev-haskell/http-client )
+ xmpp? ( >=dev-haskell/gnutls-0.1.4
+ dev-haskell/network-protocol-xmpp
+ dev-haskell/xml-types )
+ dev-lang/perl
+ doc? ( www-apps/ikiwiki net-misc/rsync )
+"
+
+src_prepare() {
+ cabal_chdeps \
+ 'ascii-progress (<= 0.2.1.2)' 'ascii-progress'
+}
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag android android) \
+ $(cabal_flag androidsplice androidsplice) \
+ $(cabal_flag asciiprogress asciiprogress) \
+ $(cabal_flag assistant assistant) \
+ $(cabal_flag dbus dbus) \
+ $(cabal_flag desktop-notify desktop-notify) \
+ $(cabal_flag dns dns) \
+ $(cabal_flag ekg ekg) \
+ $(cabal_flag feed feed) \
+ $(cabal_flag inotify inotify) \
+ $(cabal_flag pairing pairing) \
+ $(cabal_flag production production) \
+ $(cabal_flag quvi quvi) \
+ $(cabal_flag s3 s3) \
+ $(cabal_flag tahoe tahoe) \
+ $(cabal_flag tdfa tdfa) \
+ $(cabal_flag testsuite testsuite) \
+ $(cabal_flag webapp webapp) \
+ $(cabal_flag webapp-secure webapp-secure) \
+ $(cabal_flag webdav webdav) \
+ $(cabal_flag xmpp xmpp)
+}
+
+src_compile() {
+ haskell-cabal_src_compile
+ use doc && emake docs
+}
+
+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
+ dosym git-annex /usr/bin/git-annex-shell # standard make install does more, than needed
+
+ # install-mans wants ikiwiki. It returns 0 and builds the man pages without ikiwiki.
+ emake install-mans DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ use doc && emake install-docs DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
+ mv "${ED}"/usr/share/doc/{${PN},${PF}}
+ 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..b36e0eee5dd1
--- /dev/null
+++ b/dev-vcs/git-annex/metadata.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>haskell</herd>
+ <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="android">Building for Android</flag>
+ <flag name="androidsplice">Get TH splices for Android.</flag>
+ <flag name="asciiprogress">Use ascii-progress library (experimental)</flag>
+ <flag name="cryptohash">Enable use of cryptohash for checksumming</flag>
+ <flag name="dns">Enable the haskell DNS library for DNS lookup</flag>
+ <flag name="desktop-notify">Enable desktop environment notifications</flag>
+ <flag name="ekg">Enable use of EKG to monitor git-annex as it runs.</flag>
+ <flag name="feed">Enable podcast feed support</flag>
+ <flag name="production">Enable production build (slower build; faster binary)</flag>
+ <flag name="pairing">Enable pairing of git annex repositories</flag>
+ <flag name="quvi">Enable use of quvi to download videos</flag>
+ <flag name="s3">Enable Amazon S3 remote</flag>
+ <flag name="tahoe">Enable the tahoe special remote</flag>
+ <flag name="tdfa">Use regex-tdfa for wildcards</flag>
+ <flag name="testsuite">Embed the test suite into git-annex</flag>
+ <flag name="torrentparser">Use haskell torrent library to parse torrent files</flag>
+ <flag name="webapp">Enable git-annex webapp</flag>
+ <flag name="webapp-secure">Secure 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..50a890a5361b
--- /dev/null
+++ b/dev-vcs/git-bz/Manifest
@@ -0,0 +1,2 @@
+DIST git-bz-0.12.04.26.tar.bz2 35224 SHA256 5b78df3972aace9de508329121861641517058a10f58d08f6ae6820cf32d0918 SHA512 1e216e8c583599c8c9633b6a02a205368aeab8746bc8eeb9a0347025cce689fccd8c157e66e0fafb33536fa52b1a97ed82467ce6ec9cb494bca2ad9ad18a7ed8 WHIRLPOOL df50ea90781b2a39618f40323efda44d259305cfc951bd1c8a133dd19584d869df8ad8e07eae3d97c5b16c36c4ec22041ea0ebba48b3ba6de8d6febdada0ca36
+DIST git-bz-0.12.12.15.tar.bz2 42590 SHA256 cb56dd495528c355f85a889506e98508ede4f41f20c431e4af36746b0b2a6b4f SHA512 b008a35a7d8e3902ade12aed3c8474fdde790cc1881c5e8133142cc438a4335c08a14b082e41d6dd2ac179425a576144d88212ff1ebe3322c27f98ebbac506d1 WHIRLPOOL 32f221dc33d39b054e885c30e721a110a4dfe1995df61982f2204a88cac003a44c8691a3c20d51953267f2f1896051777958607e05128372f7c0da4011738429
diff --git a/dev-vcs/git-bz/git-bz-0.12.04.26.ebuild b/dev-vcs/git-bz/git-bz-0.12.04.26.ebuild
new file mode 100644
index 000000000000..a1d432fb13ec
--- /dev/null
+++ b/dev-vcs/git-bz/git-bz-0.12.04.26.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+PYTHON_DEPEND=2
+
+inherit python
+
+DESCRIPTION="Bugzilla subcommand for git"
+HOMEPAGE="http://www.fishsoup.net/software/git-bz/"
+SRC_URI="https://www.bitbucket.org/mgorny/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-vcs/git"
+
+src_compile() {
+ :
+}
+
+src_install() {
+ dobin ${PN}
+ doman ${PN}.1
+ dodoc TODO
+}
diff --git a/dev-vcs/git-bz/git-bz-0.12.12.15.ebuild b/dev-vcs/git-bz/git-bz-0.12.12.15.ebuild
new file mode 100644
index 000000000000..3721162ed8fe
--- /dev/null
+++ b/dev-vcs/git-bz/git-bz-0.12.12.15.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit python-r1
+
+DESCRIPTION="Bugzilla subcommand for git"
+HOMEPAGE="http://www.fishsoup.net/software/git-bz/"
+SRC_URI="https://www.bitbucket.org/mgorny/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-vcs/git"
+
+src_install() {
+ python_foreach_impl python_doscript ${PN}
+ doman ${PN}.1
+ dodoc TODO
+}
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..77259c0c3146
--- /dev/null
+++ b/dev-vcs/git-bz/git-bz-9999.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit python-single-r1
+
+#if LIVE
+EGIT_REPO_URI="git://git.fishsoup.net/${PN}
+ http://git.fishsoup.net/cgit/${PN}"
+inherit git-r3
+#endif
+
+DESCRIPTION="Bugzilla subcommand for git"
+HOMEPAGE="http://www.fishsoup.net/software/git-bz/"
+SRC_URI="https://www.bitbucket.org/mgorny/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-vcs/git"
+
+#if LIVE
+DEPEND="app-text/asciidoc
+ app-text/xmlto"
+
+KEYWORDS=
+SRC_URI=
+#endif
+
+src_configure() {
+ # custom script
+ ./configure --prefix="${EPREFIX}/usr" || die
+}
+
+#ifdef LIVE
+src_compile() {
+ emake ${PN}.1
+}
+#endif
+
+src_install() {
+ default
+ python_fix_shebang "${ED%/}"/usr/bin/${PN}
+}
diff --git a/dev-vcs/git-bz/metadata.xml b/dev-vcs/git-bz/metadata.xml
new file mode 100644
index 000000000000..5cb9324943ab
--- /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>
+ <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..fe1975188cbc
--- /dev/null
+++ b/dev-vcs/git-bzr-ng/Manifest
@@ -0,0 +1,2 @@
+DIST git-bzr-ng-0_pre20120130.tar.xz 11596 SHA256 cdfee5b8a9d6bb5980123a00933f71de8e38fe36d3a3ce57a2a92eae1b4ba5fc SHA512 2621d60889fdae75d2fd291e4ef628f888524d6c5cd48b3fae8ac793984d3d58b47da2ca38477e1154714de7316992a879cae21103636e68f4ae0cd03de7bcc8 WHIRLPOOL e06dcf9caaa8cc455447d3956b311d7a69f5dc898e526b68abf0589ce371c956c8633935caa5554f1e9b2ec41c449e394b6815bff24452e13913c70456deff79
+DIST git-bzr-ng-0_pre20120822.tar.xz 11592 SHA256 315d7d567ef173d7a8e2f17304bd73a1f6779cd754e6d4ea67f48bd5d75a55ec SHA512 2652b76a1fbdfac7f7387b53167d0c76a0579e232f66be05c28a156eef638e40bd7548154e6c1853872cf6978b474b948396db176976f2ac15e7311fc731ba9b WHIRLPOOL 783da6136a4a4f1fb95ca39b285b58bac2499c23ddec82f11468fba7d4303700ac388c5decb023e61964cda8a06d77420518ffdbef0d6871081ba8be0dd8bf80
diff --git a/dev-vcs/git-bzr-ng/git-bzr-ng-0_pre20120130.ebuild b/dev-vcs/git-bzr-ng/git-bzr-ng-0_pre20120130.ebuild
new file mode 100644
index 000000000000..1891c6aca569
--- /dev/null
+++ b/dev-vcs/git-bzr-ng/git-bzr-ng-0_pre20120130.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+PYTHON_DEPEND="2"
+
+inherit python
+
+DESCRIPTION="Git subcommand providing a bidirectional bridge to Bazaar repositories"
+HOMEPAGE="https://github.com/termie/git-bzr-ng"
+SRC_URI="http://dev.gentoo.org/~tetromino/distfiles/${PN}/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=">=dev-vcs/bzr-2.2
+ dev-vcs/git
+ >=dev-vcs/bzr-fastimport-0.10
+ dev-python/python-fastimport"
+DEPEND="app-arch/xz-utils"
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ python_convert_shebangs 2 git-bzr
+}
+
+src_install() {
+ exeinto /usr/libexec/git-core
+ doexe git-bzr
+ dodoc README.rst
+}
diff --git a/dev-vcs/git-bzr-ng/git-bzr-ng-0_pre20120822.ebuild b/dev-vcs/git-bzr-ng/git-bzr-ng-0_pre20120822.ebuild
new file mode 100644
index 000000000000..1891c6aca569
--- /dev/null
+++ b/dev-vcs/git-bzr-ng/git-bzr-ng-0_pre20120822.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+PYTHON_DEPEND="2"
+
+inherit python
+
+DESCRIPTION="Git subcommand providing a bidirectional bridge to Bazaar repositories"
+HOMEPAGE="https://github.com/termie/git-bzr-ng"
+SRC_URI="http://dev.gentoo.org/~tetromino/distfiles/${PN}/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=">=dev-vcs/bzr-2.2
+ dev-vcs/git
+ >=dev-vcs/bzr-fastimport-0.10
+ dev-python/python-fastimport"
+DEPEND="app-arch/xz-utils"
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ python_convert_shebangs 2 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..42972bdb6b29
--- /dev/null
+++ b/dev-vcs/git-bzr-ng/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>
+ <email>tetromino@gentoo.org</email>
+ <name>Alexandre Rostovtsev</name>
+ </maintainer>
+ <herd>bazaar</herd>
+ <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..25d590c0a2d5
--- /dev/null
+++ b/dev-vcs/git-cola/Manifest
@@ -0,0 +1,2 @@
+DIST git-cola-2.1.2.tar.gz 960514 SHA256 f0465f74858fc78b1b30e06856cdd6b5fa5f0cb9587b5c7e9b489f4d0e4d8f8d SHA512 79eae7937db148cde22b3d5dc1564180c3919965c35c11853270525be4eb19c7f223ddc215ba8122ed8bcb70e0e6ec57948f1e02aeeae1a9c3e7c98efef1e42d WHIRLPOOL 8797f0f0d02eaea1c7e1ef5544fc7e5e2bf6ca738cff721ce56db194de8cd94a3e825bf557f478237d75c5cf782ed43cdafc7a7afdaf1417fa4f3d8b65bcb756
+DIST git-cola-2.2.1.tar.gz 996484 SHA256 df0a3e1d3c49629926f2e30f55d635eca3c8da12e96232196b307613fa4b3aec SHA512 a91fe706ea150d9bd9a05a9d494c63d373cae0154deca8e40e30fc20e70be32d4fd1f021a971c067d46ab24f472965a12c115eeb4bd94e4f62c21e546d89c109 WHIRLPOOL ac68a558775bc5fdf3a168416132dedbeffe554f6f60f50b7e33f0d17d67aa829318b7a0df2607b47e41b8823d60e206e0544e03382eae7651b9ca1c3b9dfc09
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-1.9.1-system-ssh-askpass.patch b/dev-vcs/git-cola/files/git-cola-1.9.1-system-ssh-askpass.patch
new file mode 100644
index 000000000000..0aa476fe83ea
--- /dev/null
+++ b/dev-vcs/git-cola/files/git-cola-1.9.1-system-ssh-askpass.patch
@@ -0,0 +1,16 @@
+diff --git a/cola/app.py b/cola/app.py
+index f9236de..4636c81 100644
+--- a/cola/app.py
++++ b/cola/app.py
+@@ -66,9 +66,9 @@ def setup_environment():
+ elif ssh_askpass:
+ askpass = ssh_askpass
+ elif sys.platform == 'darwin':
+- askpass = resources.share('bin', 'ssh-askpass-darwin')
++ askpass = resources.prefix('bin', 'ssh-askpass-darwin')
+ else:
+- askpass = resources.share('bin', 'ssh-askpass')
++ askpass = resources.prefix('bin', 'ssh-askpass')
+
+ compat.setenv('GIT_ASKPASS', askpass)
+ compat.setenv('SSH_ASKPASS', askpass)
diff --git a/dev-vcs/git-cola/files/git-cola-1.9.3-disable-tests.patch b/dev-vcs/git-cola/files/git-cola-1.9.3-disable-tests.patch
new file mode 100644
index 000000000000..79f1ec2ff8bc
--- /dev/null
+++ b/dev-vcs/git-cola/files/git-cola-1.9.3-disable-tests.patch
@@ -0,0 +1,21 @@
+diff -Naur cola-1.3.7.21.orig/test/git_test.py cola-1.3.7.21/test/git_test.py
+--- cola-1.3.7.21.orig/test/git_test.py 2009-04-30 13:56:22.352319047 +0200
++++ cola-1.3.7.21/test/git_test.py 2009-04-30 13:56:53.123149963 +0200
+@@ -24,17 +24,6 @@
+ 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-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.1.2.ebuild b/dev-vcs/git-cola/git-cola-2.1.2.ebuild
new file mode 100644
index 000000000000..2de6715817e4
--- /dev/null
+++ b/dev-vcs/git-cola/git-cola-2.1.2.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+DISTUTILS_SINGLE_IMPL=true
+
+inherit distutils-r1 readme.gentoo virtualx
+
+DESCRIPTION="The highly caffeinated git GUI"
+HOMEPAGE="http://git-cola.github.com/"
+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"
+
+REQUIRED_USE="doc? ( python_targets_python2_7 )"
+
+RDEPEND="
+ dev-python/jsonpickle[${PYTHON_USEDEP}]
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ dev-vcs/git"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto
+ sys-devel/gettext
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinxtogithub[$(python_gen_usedep 'python2*')]
+ )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ sys-apps/net-tools
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9.3-disable-tests.patch
+ "${FILESDIR}"/${PN}-1.9.1-system-ssh-askpass.patch
+ )
+
+pkg_pretend() {
+ if use test && [[ -z "$(hostname -d)" ]] ; then
+ die "Test will fail if no domain is set"
+ fi
+}
+
+python_prepare_all() {
+ rm share/git-cola/bin/*askpass* || die
+
+ # unfinished translate framework
+ rm test/i18n_test.py || die
+
+ # don't install docs into wrong location
+ sed -i \
+ -e '/doc/d' \
+ setup.py || die "sed failed"
+
+ sed -i \
+ -e "s|'doc', 'git-cola'|'doc', '${PF}'|" \
+ cola/resources.py || die "sed failed"
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ cd share/doc/${PN}/
+ 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"
+
+ if ! use doc ; then
+ HTML_DOCS=( "${FILESDIR}"/index.html )
+ fi
+
+ distutils-r1_python_install_all
+ readme.gentoo_create_doc
+ docompress /usr/share/doc/${PF}/git-cola.txt
+}
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..0990e9db29c9
--- /dev/null
+++ b/dev-vcs/git-cola/git-cola-2.2.1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,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/metadata.xml b/dev-vcs/git-cola/metadata.xml
new file mode 100644
index 000000000000..7ee28e37558e
--- /dev/null
+++ b/dev-vcs/git-cola/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>
+ <email>dev-zero@gentoo.org</email>
+ <name>Tiziano Müller</name>
+ </maintainer>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</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..81dded219cd1
--- /dev/null
+++ b/dev-vcs/git-crypt/Manifest
@@ -0,0 +1,3 @@
+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
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..2f454f18ff74
--- /dev/null
+++ b/dev-vcs/git-crypt/git-crypt-0.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..2f454f18ff74
--- /dev/null
+++ b/dev-vcs/git-crypt/git-crypt-0.4.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..7413d6813ac4
--- /dev/null
+++ b/dev-vcs/git-crypt/git-crypt-0.5.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..6536a3256f44
--- /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>
+ <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..b503b904800a
--- /dev/null
+++ b/dev-vcs/git-deploy/Manifest
@@ -0,0 +1 @@
+DIST git-deploy-6.0.1_p20131024.tar.gz 55394 SHA256 fe5b810ed3a9595f1d2c733d1fd42f83ff8a1f1995f3d4a11f1f9b006d0a94a1 SHA512 cf3504b8f40d86cd8322ed93f2fe43593bcbf2db37685d3337b89501f39b38298dfb6d6cd51dd3f518f6048b680446a1660b85887ef73647829608e77b497634 WHIRLPOOL 0a6a1e8178d771f6d32967ce748fde883c5604da75a9c37fed06291e183dfe5a90321be0d23a593a72e68882ed44b0d7abba3a85264642f057f962b476115c0c
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..8e714ea8e17b
--- /dev/null
+++ b/dev-vcs/git-deploy/git-deploy-6.0.1_p20131024.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..e63c222cb509
--- /dev/null
+++ b/dev-vcs/git-deploy/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>
+ <email>idl0r@gentoo.org</email>
+ <name>Christian Ruppert</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">git-deploy/git-deploy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-flow/Manifest b/dev-vcs/git-flow/Manifest
new file mode 100644
index 000000000000..8e83d604b8bd
--- /dev/null
+++ b/dev-vcs/git-flow/Manifest
@@ -0,0 +1,4 @@
+DIST git-flow-0.4.1.tar.gz 16732 SHA256 c1271b0ba2c6655e4ad4d79562f6a910c3b884f3d4e16985e227e67f8d95c180 SHA512 f86edb2867ed55127a34c711f5e6b11daeb6a738e92005fe27879c9ede40cb4130ff1de35e9f69560c4c845e063a8d2c1a76ad52eb5eacb7312a087f77d2698b WHIRLPOOL 9ad859237cab91209acfa87ddcc70f975af1b5816e202f8b867de903e05a755174803e286a5e8d595edb1612b7b321f7fe21b405fb388b8bef155ece82cb4ccf
+DIST git-flow-1.8.0.tar.gz 56304 SHA256 8239131b8dac160d7e929eab376fa14de44a55cbd5c5545e0ad4464d3a57adef SHA512 677bfb0c379eb91bfaf8ef676593d39a8306ff063251e1e638166c7101c24ce2eac59490bab85d0c76b712c1905f15d3a14a3ecc020df376848d3b1ea5ee7b0a WHIRLPOOL 6bf654329b941989a8b646ab8218c072b7bf455b0ec6a8441d43de10b9b480a5619bca931606acdd743b0f3f86e9b67f119ff07957eaa106fd17f5cddc96a328
+DIST git-flow-completion-0.4.2.2.tar.gz 5421 SHA256 1e82d039596c0e73bfc8c59d945ded34e4fce777d9b9bb45c3586ee539048ab9 SHA512 609653b6eaedabc4f31bb19d93b50bc48746876a2c351f139b79b48599104d49ba281400e8708a83411610cf57ce08a9ae941b0611216c11d80f8c01e0fa8409 WHIRLPOOL 9d2f4ec100932c2e349924620a4dbe3a98e9b6d93fcfbeb0ee065e13873da74af8e059dae5acf158088c541bfdb3aa49446ee789576aab5532e8322ab9530c15
+DIST git-flow-completion-0.5.1.tar.gz 6916 SHA256 5c8547a549dc623a8d57cfc22c3fa88588f5630da9dc6de9638e5b69da9d47d0 SHA512 c1fc0000889faff8189cd985b077cb64b81ae13e17f02c9df27675f428c6edf8f00627effdf6ebdae7a7f0641ec4ac621a9ecd0a53f14be7d95ec7e124ab8c1b WHIRLPOOL fd59f799d944752eab06b35f05c1f1309ef589014a0378f292e4dde206578f0c0aeb3685e16ea8d2f810e93b77abb7a2bc42c3c335ef9057b9c3ee1dd6df9982
diff --git a/dev-vcs/git-flow/files/git-flow-0.4.1-unbundle-shflags.patch b/dev-vcs/git-flow/files/git-flow-0.4.1-unbundle-shflags.patch
new file mode 100644
index 000000000000..93ecb7248c21
--- /dev/null
+++ b/dev-vcs/git-flow/files/git-flow-0.4.1-unbundle-shflags.patch
@@ -0,0 +1,32 @@
+diff --git a/Makefile b/Makefile
+index fbbfd2c..b0e2490 100644
+--- a/Makefile
++++ b/Makefile
+@@ -40,14 +40,12 @@ SCRIPT_FILES+=git-flow-release
+ SCRIPT_FILES+=git-flow-support
+ SCRIPT_FILES+=git-flow-version
+ SCRIPT_FILES+=gitflow-common
+-SCRIPT_FILES+=gitflow-shFlags
+
+ all:
+ @echo "usage: make install"
+ @echo " make uninstall"
+
+ install:
+- @test -f gitflow-shFlags || (echo "Run 'git submodule init && git submodule update' first." ; exit 1 )
+ install -d -m 0755 $(prefix)/bin
+ install -m 0755 $(EXEC_FILES) $(prefix)/bin
+ install -m 0644 $(SCRIPT_FILES) $(prefix)/bin
+diff --git a/git-flow b/git-flow
+index 93e9f0f..7b643d3 100755
+--- a/git-flow
++++ b/git-flow
+@@ -78,7 +78,7 @@ main() {
+ export POSIXLY_CORRECT=1
+
+ # use the shFlags project to parse the command line arguments
+- . "$GITFLOW_DIR/gitflow-shFlags"
++ . /usr/share/misc/shflags
+ FLAGS_PARENT="git flow"
+ FLAGS "$@" || exit $?
+ eval set -- "${FLAGS_ARGV}"
diff --git a/dev-vcs/git-flow/files/git-flow-1.8.0-unbundle-shflags.patch b/dev-vcs/git-flow/files/git-flow-1.8.0-unbundle-shflags.patch
new file mode 100644
index 000000000000..6e96d541d411
--- /dev/null
+++ b/dev-vcs/git-flow/files/git-flow-1.8.0-unbundle-shflags.patch
@@ -0,0 +1,25 @@
+diff --git a/Makefile b/Makefile
+index 0718bbb..f488922 100644
+--- a/Makefile
++++ b/Makefile
+@@ -43,7 +43,6 @@ SCRIPT_FILES+=git-flow-version
+ SCRIPT_FILES+=git-flow-log
+ SCRIPT_FILES+=git-flow-config
+ SCRIPT_FILES+=gitflow-common
+-SCRIPT_FILES+=gitflow-shFlags
+
+ # Hook files
+ HOOK_FILES=$(wildcard hooks/*)
+diff --git a/git-flow b/git-flow
+index 7a962d2..2ba70ba 100755
+--- a/git-flow
++++ b/git-flow
+@@ -111,7 +111,7 @@ main() {
+ fi
+
+ # Use the shFlags project to parse the command line arguments
+- . "$GITFLOW_DIR/gitflow-shFlags"
++ . /usr/share/misc/shflags
+ FLAGS_PARENT="git flow"
+
+ # Load common functionality
diff --git a/dev-vcs/git-flow/git-flow-0.4.1.ebuild b/dev-vcs/git-flow/git-flow-0.4.1.ebuild
new file mode 100644
index 000000000000..e03b7e5b0523
--- /dev/null
+++ b/dev-vcs/git-flow/git-flow-0.4.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_PN="${PN/-/}"
+COMP_PN="${PN}-completion"
+COMP_PV="0.4.2.2"
+COMP_P="${COMP_PN}-${COMP_PV}"
+inherit eutils bash-completion-r1
+
+DESCRIPTION="Git extensions to provide high-level repository operations for Vincent Driessen's branching model"
+HOMEPAGE="https://github.com/nvie/gitflow"
+SRC_URI="https://github.com/nvie/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+https://github.com/bobthecow/${COMP_PN}/archive/${COMP_PV}.tar.gz -> ${COMP_P}.tar.gz"
+
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-util/shflags
+ dev-vcs/git
+"
+
+DOCS=( AUTHORS Changes.mdown README.mdown )
+
+PATCHES=( "${FILESDIR}/${P}-unbundle-shflags.patch" )
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_prepare() {
+ [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
+ debug-print "$FUNCNAME: applying user patches"
+ epatch_user
+}
+
+src_compile() {
+ true
+}
+
+src_install() {
+ emake prefix="${D}/usr" install
+
+ [[ ${DOCS[@]} ]] && dodoc "${DOCS[@]}"
+
+ newbashcomp "${WORKDIR}/${COMP_P}/${COMP_PN}.bash" ${PN}
+}
diff --git a/dev-vcs/git-flow/git-flow-1.8.0.ebuild b/dev-vcs/git-flow/git-flow-1.8.0.ebuild
new file mode 100644
index 000000000000..c852e1ad4ea8
--- /dev/null
+++ b/dev-vcs/git-flow/git-flow-1.8.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_PN="${PN/-/}"
+COMP_PN="${PN}-completion"
+COMP_PV="0.5.1"
+COMP_P="${COMP_PN}-${COMP_PV}"
+inherit eutils bash-completion-r1
+
+DESCRIPTION="Git extensions to provide high-level repository operations for Vincent Driessen's branching model"
+HOMEPAGE="https://github.com/petervanderdoes/gitflow"
+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-util/shflags
+ dev-vcs/git
+"
+
+DOCS=( AUTHORS Changes.mdown README.mdown )
+
+PATCHES=( "${FILESDIR}/${P}-unbundle-shflags.patch" )
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_prepare() {
+ [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
+ debug-print "$FUNCNAME: applying user patches"
+ epatch_user
+}
+
+src_compile() {
+ true
+}
+
+src_install() {
+ emake prefix="${D}/usr" install
+
+ [[ ${DOCS[@]} ]] && dodoc "${DOCS[@]}"
+
+ 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..b0bdac33b655
--- /dev/null
+++ b/dev-vcs/git-flow/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>
+ <email>johu@gentoo.org</email>
+ <name>Johannes Huber</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">petervanderdoes/gitflow</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-mailz/Manifest b/dev-vcs/git-mailz/Manifest
new file mode 100644
index 000000000000..e6c4fd00ef52
--- /dev/null
+++ b/dev-vcs/git-mailz/Manifest
@@ -0,0 +1,2 @@
+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
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..8e2e6b433760
--- /dev/null
+++ b/dev-vcs/git-mailz/git-mailz-0.12.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..8e2e6b433760
--- /dev/null
+++ b/dev-vcs/git-mailz/git-mailz-0.14.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..2edcc4239e88
--- /dev/null
+++ b/dev-vcs/git-mailz/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>
+ <email>yac@gentoo.org</email>
+ <name>Jan Matejka</name>
+ </maintainer>
+ <longdescription lang="en">
+</longdescription>
+ <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..fb7d7ac3160b
--- /dev/null
+++ b/dev-vcs/git-mantle/Manifest
@@ -0,0 +1 @@
+DIST git-mantle-0.6.tar.gz 9896 SHA256 c812a0bb2dbd3a3c14b118fda1e71d8aee803cfe3136bf020137e4ecba516c11 SHA512 2498ed29884a8ac48bfb413c39e5bc9f232d47736ea4c0045404bd5f7268c7009a770c5c58c5449f843d8962bea9f288248a61308c4a71eed1b39d0c4b3375c0 WHIRLPOOL 99aff52c7ff505131e6bbd0478f2fdec1a6994e45229a717f276a2ce0fc233b91312ef7daf68cbea6cafa7e626526a5ccfbe02abb678115ddb2e635c574c7719
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..b085ee6f7e01
--- /dev/null
+++ b/dev-vcs/git-mantle/git-mantle-0.6.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..bc827ed4ac76
--- /dev/null
+++ b/dev-vcs/git-mantle/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>
+ <email>yac@gentoo.org</email>
+ <name>Jan Matejka</name>
+ </maintainer>
+ <longdescription lang="en">
+</longdescription>
+ <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..0c0b8e722927
--- /dev/null
+++ b/dev-vcs/git-merge-changelog/Manifest
@@ -0,0 +1,2 @@
+DIST git-merge-changelog-20140103.tar.xz 299628 SHA256 d3f0694ca65c765a39b5d2381a2c9d735d16d29bef1737fdf38e9d44bcd3ef29 SHA512 cc3287424313f3c3590bbc67ac2615c69154001019915163b59d4600b320abeaf1e72baac7fd53dd2906be16149ce9a325db0b8966bb024db18f4d11b86fd405 WHIRLPOOL 1689456ebc076bbc3e97beb6f63f91bf857a5493ce29b2fd3dea5667891cd6db01f5b30dbdbea510701c153949f1f0287e966af419846be1df06f493523d8fe5
+DIST git-merge-changelog-20140223.tar.xz 298332 SHA256 75a584cee054cafcb1ab7b71dc3beee33b39ea30b50dace48f044ee788560482 SHA512 ea5fcb0a0839e37976e333dc773d0bca43a1fce4821af08c5baba8e5783e129f8b4de4efd4b1b3399a7c1d3796e4094916843ac2d360d81396d67f571e020638 WHIRLPOOL 41182891e268e0ade060cac261d230fda2534fa53aebb40ea2b44e62cef1d5bef69ba9d7a7f6839c4b24135b1012d29f43886b9729fdd801173c2a8c240b3809
diff --git a/dev-vcs/git-merge-changelog/git-merge-changelog-20140103.ebuild b/dev-vcs/git-merge-changelog/git-merge-changelog-20140103.ebuild
new file mode 100644
index 000000000000..042ff976d50f
--- /dev/null
+++ b/dev-vcs/git-merge-changelog/git-merge-changelog-20140103.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Git merge driver for GNU style ChangeLog files"
+HOMEPAGE="http://www.gnu.org/software/gnulib/"
+# 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
+SRC_URI="http://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ sed -n '/README/{h;:x;n;/^#/!{H;bx};g;s/\n*$//;s:/usr/local:/usr:g;p;q}' \
+ gllib/git-merge-changelog.c >README || die
+}
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..af48bbd91497
--- /dev/null
+++ b/dev-vcs/git-merge-changelog/git-merge-changelog-20140223.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# 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="http://www.gnu.org/software/gnulib/"
+SRC_URI="http://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/metadata.xml b/dev-vcs/git-merge-changelog/metadata.xml
new file mode 100644
index 000000000000..e153d85b2356
--- /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>
+ <email>ulm@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-vcs/git-pimp/Manifest b/dev-vcs/git-pimp/Manifest
new file mode 100644
index 000000000000..23b203495822
--- /dev/null
+++ b/dev-vcs/git-pimp/Manifest
@@ -0,0 +1 @@
+DIST git-pimp-0.8.tar.gz 10555 SHA256 fa3778fc3c67906814a31421d5bb7c2889dca6ebaaaaf669ab9e56e744391c08 SHA512 124b61001c088685d5d9d6f848d37ca170413fda08074a273a4c1bccd233fe606028d8de82c66ae7847f42008b82a6030fa47a493ddc47b65d02b69a1acbd7df WHIRLPOOL a880d9e73ef950ec3c76ed25efbf566b5ce2468bded1ae59d3709dc9b2efeef266d7285e9cb0fd0d4db02c8a62fa4d62d3184b740e325e20eeab67f1151c5526
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..189d2f1c897c
--- /dev/null
+++ b/dev-vcs/git-pimp/git-pimp-0.8.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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..2edcc4239e88
--- /dev/null
+++ b/dev-vcs/git-pimp/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>
+ <email>yac@gentoo.org</email>
+ <name>Jan Matejka</name>
+ </maintainer>
+ <longdescription lang="en">
+</longdescription>
+ <upstream>
+ <remote-id type="github">roman-neuhauser/git-mailz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git-sh/Manifest b/dev-vcs/git-sh/Manifest
new file mode 100644
index 000000000000..14811dbd282e
--- /dev/null
+++ b/dev-vcs/git-sh/Manifest
@@ -0,0 +1,2 @@
+DIST git-sh-1.1.tar.gz 26616 SHA256 2947304d328c9db77268840e29eb19abba7252f84b98f1d5ea957c8b906638ab SHA512 c6704b7340b2da5ca1a0484461cbf6f51c2428254f036254aa6bd2577b8e492ab65dbf7b2c7b2e6c944e3f9df9f3fb8bdca768ed7ce7a26554c821bc3f231882 WHIRLPOOL 22b578c631130bf3f951daf20258b356dfed48a69595383dbf0cbe6ecd6861940a721c03763511b45cf3f25d6334df9f4b85f63b989990343f8618c715bbfcb0
+DIST git-sh-1.3.tar.gz 26757 SHA256 461848dfa52ea6dd6cd0a374c52404b632204dc637cde17c0532529107d52358 SHA512 8ab742d0ff86e8387d03e2e190eec8ffd4725b1bfa58940f6673f5eac8c749931e3b3f8f20b898d933db36f56b323f800dba47a35294f865f456512f19a7846c WHIRLPOOL 01cd40187e0fe5930c1f53fba9708bc56ed14db20a5ecda897bdef1fe8a36bcfddda317a6cddef9297deb8956592c5003f15516afe22b9175354d4f0ac9b4aa4
diff --git a/dev-vcs/git-sh/git-sh-1.1.ebuild b/dev-vcs/git-sh/git-sh-1.1.ebuild
new file mode 100644
index 000000000000..8c8bc46bc2f5
--- /dev/null
+++ b/dev-vcs/git-sh/git-sh-1.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit vcs-snapshot
+
+DESCRIPTION="A customized bash environment suitable for git work"
+HOMEPAGE="http://github.com/rtomayko/git-sh"
+SRC_URI="http://github.com/rtomayko/${PN}/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="dev-vcs/git"
+
+src_prepare() {
+ sed \
+ -e 's/git-completion\.bash //' \
+ -e 's:/local::' -i Makefile || die "sed failed"
+}
+
+pkg_postinst() {
+ echo
+ einfo "For bash completion in git commands emerge dev-vcs/git"
+ einfo "with bash-completion USE flag."
+ echo
+}
diff --git a/dev-vcs/git-sh/git-sh-1.3.ebuild b/dev-vcs/git-sh/git-sh-1.3.ebuild
new file mode 100644
index 000000000000..aa5998fb69ab
--- /dev/null
+++ b/dev-vcs/git-sh/git-sh-1.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit vcs-snapshot
+
+DESCRIPTION="A customized bash environment suitable for git work"
+HOMEPAGE="http://github.com/rtomayko/git-sh"
+SRC_URI="https://github.com/rtomayko/git-sh/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="dev-vcs/git"
+
+src_prepare() {
+ sed \
+ -e 's/git-completion\.bash //' \
+ -e 's:/local::' -i Makefile || die "sed failed"
+}
+
+pkg_postinst() {
+ echo
+ einfo "For bash completion in git commands emerge dev-vcs/git"
+ einfo "with bash-completion USE flag."
+ echo
+}
diff --git a/dev-vcs/git-sh/metadata.xml b/dev-vcs/git-sh/metadata.xml
new file mode 100644
index 000000000000..cca713b1b431
--- /dev/null
+++ b/dev-vcs/git-sh/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>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">rtomayko/git-sh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest
new file mode 100644
index 000000000000..2fa775dd0dc3
--- /dev/null
+++ b/dev-vcs/git/Manifest
@@ -0,0 +1,33 @@
+DIST git-1.8.5.6.tar.gz 4765390 SHA256 6a68455cc0cb96aa9cae44ac7afcb5b63a47e9da7c0ff6012bb78d184be41af5 SHA512 fd004a5a99e8ff80556e669ef6e297a4eea9c9f9c58ef9162eef1c66580c4156165c81371ff5832e56ad729d6ed3fb1459a14d682cfd2b8c37c9ceb298be2ef3 WHIRLPOOL 665c9380314abc85cb1e3a114fd60a4f535d7a8aa25437c8c3ff8bc0a3ebedaeef4aa7a6259108ab2f79c3344810b5c2f86f85546fc9015d031c89762bfc4f33
+DIST git-1.9.5.tar.gz 4851532 SHA256 44efbc76edb50103e0d1b549dac006ee6f275fbd62491d7473e21127601f55c1 SHA512 0fa0a1fd636ed29ef54885ecbacc239c2b6edd4820a633fd88a8f62dd7e50ead1676aa0c3cf0df88a49dd5e1364f6b8da3ec9c115d1bc55bba4bf413539bedb0 WHIRLPOOL a860d6b194e27d9a5ba086d665c0b31870d4fc71380a44ec55f0b7f19c6bf973ab0d628e531c175138fce54dfa7d799ed9ab276dffaf9bec66c45cd885e324f2
+DIST git-2.0.5.tar.xz 3437996 SHA256 f5a63f5073c7f10d0676d0dabb46df48f2af77624fe24e1c6047b0e047af8ca1 SHA512 a2de101462cb7cf79ae596a5c7a77746fca430d6ae819731eb025a784b38b48b98964aca3db251e1a598ff17ff26b3711b044bd9c579d01346a8e1e77f7aa6de WHIRLPOOL b317f7b57a8a568b8a63ddbb44d6734dce01034c1b50491e3aedbb8a4ad2dc0f781b9edfad07e73ff050684f05734ee5f8b5483646967cbcd0a3cf7c600394eb
+DIST git-2.1.4.tar.xz 3544804 SHA256 a04968b9b10cbcb31a7054aa3a0d11ac47c83556ecd270ddef1987df5d3d053e SHA512 17333eda9600287be1f366271f314619354f6bc9b7f867d59a9493441e71a963340cedf728b5954ac6311f5426a928a2beacfa7775e1a4d439b58e0dcf310a0b WHIRLPOOL fc20c64e0d494a13834c71ffa5c727018fc3940f4dc65ae4eda6ba14af2faf2864d779e706b503c69a16858ca051878e27bcfe1883c3c206dda6129a1bc5aceb
+DIST git-2.2.2.tar.xz 3592264 SHA256 aa6d2efcc0c7bb9b9edc6d56d90921706b833972f1d2abe70f71be7838f22d05 SHA512 e3ca6f40de04ed940f521fff4c7e92446e40ad1627acc5b4c090ebf114dcf279d4b1f3efe1189ffa43192fce412165621fc12ea90e2f7d02a6a9ccda655dc69b WHIRLPOOL 9e20def83bbb9b11cb5982fc5f19b09767657ff80f02a237dff6ddaddd3209b4cfb9288bec1b6dc80c6a6db1869cfcaa90e2374279012fc8215771c1a58a1fc2
+DIST git-2.3.6.tar.xz 3621716 SHA256 3ce01c54e92b47366756f57742280e052412efde65344e31f51ad8a48a7c60fc SHA512 53ad21db0fa6bb48ee24302c35ee929b1bd1fae3b646845523e7105b8539700cef23e2425170dec0311c7e746c41b743cfd78f192613b586291e44b49c3c284d WHIRLPOOL 12cf33fc19efea4f885a9b5c6d7099893b92742ffaad8e407016abfc5232ddd4763db95fc657a185830e2f904cdb2b04e8ad1c4305f09d77ff8f7db07c139799
+DIST git-2.3.8.tar.xz 3622512 SHA256 cb4d9228f63b7a9500d55383878bb4bbb60b80deb7ae1a5858c7103ba14de5a6 SHA512 bf693fbe7fc16a240470501af2a7736ebfdbf027c0cc8adbd601d2b1c98ec7d968959e06dd8a3d0e206dc351e83a161475191d59d76f9e2da3e13b4de8716fb4 WHIRLPOOL 93aa2d832e57181de25035952a566c9d3330105e277930f088eb10e2073120c296b6dd87375437c9e9b7880c9b56e2c0de0fda5f77f0da9d2f96840c2fe8eda8
+DIST git-2.4.6.tar.xz 3690432 SHA256 bdd944571c03474517b6c9941d6f1fd735eccbb164e59fd133d38644b69453b6 SHA512 2c95a00af81d6fbd8f4984e89d7cb23396caacadd684466aeb5a11f1b3acfbc625f832060cbef5aee0748e36c1fddcd88b3b9c26c4d7aec1d185e5f7311346ef WHIRLPOOL 1ae191666bf27a7e18686b910cbe610f85b5b7a43266232359615fa2a22b80bc659277b71b21394eab53df0c912d9ad911c7793c2a041cd6c7d768a5f0416f5b
+DIST git-2.4.7.tar.xz 3691752 SHA256 6763f5ad1dfe29770aa0c523e08d53a0c7b9d32989bfbf2f39f368c7f61094de SHA512 7772d6e6466b6f835f506def455399fdfc81153975d9b259b1572cd332444187d61a19216f88476300c2030ff7a8baef794b6fe06203776e25f3f702bd31e5de WHIRLPOOL 75e630a448f6a94b179841e072900a68b57d6d9025535ff7a9e31db1591fd3290c4dda3a1a65a4ec91ad8f48fd9ad40b669a67d2d2ce0aff78831e6b41eda93d
+DIST git-2.4.8.tar.xz 3692460 SHA256 c7d2019d3c3b742862b252dcabb3d870b649e1af3fc8a132a0c0149f9e91dfcb SHA512 b1af6bf03dec006ed99601e66dda5b70e576c47d755d8fe5ca3cd974acc33cf2a6b76901549b56f6b4d3d3697f43c84dca35fc21c2cf5e8daad026f1bcc5b263 WHIRLPOOL e00d8e04c86ba611457547c71fb22ebef04b3a7e4316145b29cf073e4e58849bb62963b41660176f6d4e78b492c3b2ac513e80e8db42a91a4dcc31207718f012
+DIST git-2.5.0.tar.xz 3740620 SHA256 cc59b1bac6c1c67a9159872863f6c5bbe0d9404cac2a85c3e9d9fa49923ce45c SHA512 ef7538c9f5ba5b2ac08962401c30e5fd51323b54b9fb5315d259adccec346e8fae9362815832dc2b5ce63a259b315c40e419bb2385dde04d84b992e62f6789b6 WHIRLPOOL 653e7aeb966dec44631bbd257a41935b2e957be9324311a4fd91f3a0ba6f1f674e2e59b4c564d70c4eeaea3788f0af9273a1d0a753b3bc820e687f0d63bddf5d
+DIST git-htmldocs-1.8.5.6.tar.gz 2242475 SHA256 7c8e955d0798686fa030ba7b7b384a2eab2b74d5bd695d82faecac2e247bd211 SHA512 c9b2752bcdd7f8f817b14e99ab2743d153e3e7549bffb2aa98999e46d1e965d045850ec6a3e9f6bc83e6e4820ce20f281c33f946ebd2be16d275b85a5ddaee36 WHIRLPOOL 7db3fb74e6b51618890acfef8fb89ab09adf653d3196e82624671194bdb2b564b903429ffecf68b28faf96ce3ebb83b534459738d48ace048d873c158621d31c
+DIST git-htmldocs-1.9.5.tar.gz 2262251 SHA256 4fa289e259d6b922a51d11a687203612aa1aad5696eb83b4e67c0de8a785700f SHA512 2df975c33d3411a97ab5a684b03998b7cd188d05bae6813c753fe2092b0acf463dec49a7a546d315f520fd9c71281da41998d0f36f64f48d4f95507a034a083b WHIRLPOOL edc252ce58b31f001c0d225f0b40b3689028bd34b1cbbdd889d645d37a2931e9039f76f12e5a0f918579a0b9c5dd1f3171af2bb58ee42972411ca33ec0ebe8f2
+DIST git-htmldocs-2.0.5.tar.xz 944792 SHA256 90eaf745d6ee197718fdde9c98919918ad1e4e3576608e4522b84c612cd9ef2a SHA512 e9b3d92d466762c9c7e164e9c30ff0046b262bf4707ea057e3a682f7b15a4f8149a9aaf2630f117dc3b508744cd688c6c0087cc94ff3477e7f3b85513160d7f3 WHIRLPOOL 35970d099304a5ab174fc93f8496a0c651a259dcaa3d23a2dd0233f8db214ae94a26e28044a87460d4654e61440427d331ceeac290335d6ae3fcf0423175bba9
+DIST git-htmldocs-2.1.4.tar.xz 959144 SHA256 7665daecd77c2f9be8b316eb69a1fda3f383f759e71d346a137c8cf39501d886 SHA512 7734d671ab6ca8374f54546b0987821d0c66d136d50f9cbb1ff7c06da25330e46a10ede41d10a60c80847afa68999298c2f90dfe99d51bd862590f02344e1cbd WHIRLPOOL 97326a00a1f613cf95dbeaf8938842855299d21e6963e2040b3bf9ee02a745c8156ea552e2b87248a98d5f0ecd6560a546a4a49b6635ca034ff2e92504bbb00a
+DIST git-htmldocs-2.2.2.tar.xz 976312 SHA256 41179ff0816189d583f290a227a73788002a319c7ff8c5cada970878c50b901d SHA512 b51b7d619e82d83b4f0b90d31bfccc30291a5beb48b2f5e5e59e75e91e5d772e89b560534a683648cd5480f4bf241f733efc87b30062ef5bb003bf0b5dbeed7f WHIRLPOOL c9dc7ac1a40559e4306d7d97a1619a272faf83d8b05c5a11f5f7b010566cd02fe853fee7eb550c6ccf744db446966a9696f9eb6feeee7ce4f976c6aa88b097d2
+DIST git-htmldocs-2.3.6.tar.xz 987292 SHA256 b37439087ae465534588a65380e3acb66d3e6949904ede720febeed1dc5d8b49 SHA512 ccb836c3df4bfb96174500295c630aa1ac3bea475460434e4d097c3e178bec5a0b5037ff17281fe6a6bc7bb3ae6bcac03ee4009611bb222eccaebc3ae6aac81f WHIRLPOOL 8c58f108d1ea95bf552604b956e727dcf7a8f0eed8979239b0b6ab931aceffc76434137b5f76054563a09985bcaad0a03359da8791469adae71a3a8821084d58
+DIST git-htmldocs-2.3.8.tar.xz 987840 SHA256 54b8d98e34bceeac906ffa8b7c93e8a2cd2cf3c7f4d0c0334e9d5e0c704ca23f SHA512 7aa72d55a6a2687a3ecb26f9db76f69e4003c87864b8239068b029a9d63f99a023bf76ec3ea60952ecf11608d2d684f4ad1b2ac76942cd44ec67bdf8f497330f WHIRLPOOL 60145b5a48a6780b0edb3a7ef50b3649193818e3aa8199de94dd9bf1cca110d7411902c8e7e3df881eec77aa59208780b60b946aeb5f13960de954af6fd88fbe
+DIST git-htmldocs-2.4.6.tar.xz 994712 SHA256 5213e8b882293ec3cda247dabbc75c6ee5243b9d330a8fafec004952fae91a88 SHA512 782fbc38a611380c0af2631bd6123d568b02159fb46159c763d97d75bd84debe43105d83ac3f321cd8383e1334806857bce1a48563fd0c19b43f527fe18615a8 WHIRLPOOL 170e4ecc8255e6d5d562274e6e3fb75c2fc62e415586d61498b680a076c74248664fca35bb7c532009f7f22be4ad14d1fe047e14791991fa32373bd7053e0396
+DIST git-htmldocs-2.4.7.tar.xz 995972 SHA256 ce0d1603f097b89c895613c864a7ac1ed8be36283b98298fff4fcafc2133dbc1 SHA512 1ea356f57299f41cfcb54baac17faf4f12ebb0b992769b0bf36dece800cb07d0b15b5b059d29a7e2469e885da1fa53f899e31e3c9cf58fd7fde4b2168ae19c41 WHIRLPOOL 3ffa7fc366e3a0855ecd6cc3af4577635072082236affc2079caaae2273d0965b0ea2e7fe2fb0d2bbc6b1c44b295325ca19065a4b9ba811bfc95bae94323245d
+DIST git-htmldocs-2.4.8.tar.xz 996004 SHA256 73c9ac3b42da1d3427bfa91c3266c6b7df332137d6ce92217c43db8f479a74ea SHA512 fcd93a76b19bd559ccb28829fa78ae0a2840a70e0c59a2709b2f089f1127b8452ee2f4e8e74128766f50eeeb560d924248d73336f2b5746305823834a9311db2 WHIRLPOOL 249390556106b13e4c02112085bd527720edcb67c85c61e429bea67bc252e7be3b6f4f641534bc342e534d154a9531379e3717d32e5109e48f886174022dce02
+DIST git-htmldocs-2.5.0.tar.xz 1008428 SHA256 0924b290834e2a361a489cbc845a9bf04e56117597dc9c1a40e879cce655e4e2 SHA512 921ae8dd482719912f79f5affb6fa239290a954fb40625ac9fae2edf902989e5126ae7ca5c367b2b55c5387fb3cc3035ddf4e8b360743dbdee0f1b55ec33653c WHIRLPOOL e355781b06fba48d9ada859fe6fb515ddbfbac5a1d5c0918e8570e4566f68d644456606b5b0eb8e3e4cdc7c8b27a96b72cc1907008dff567cae71f0953968843
+DIST git-manpages-1.8.5.6.tar.gz 569061 SHA256 58ef7cb3121639b8d78e2e4c4f7f886bab57af9e9e137b10f372dfad573872c1 SHA512 a524a1c7e8bdc73ffe04bebb5c7050a18c8649b98714bf255c8e3c32a2443d8d5abf33e3ca2eb108d601f01e0bda50fed1e134ffdae87bcf6f551cbbd250c4ba WHIRLPOOL 2db62b96e972dbcbec1ac59d7244bf2c2ff7140c941d1d3c6b9062bd79b80541d7fa3982c5a3bc55a18fc9112ab3fa648966be5c3e1135ab7b5c89080bee82b6
+DIST git-manpages-1.9.5.tar.gz 571625 SHA256 37cc735c4ced6574e8e93349d52d30372fc6f9fe3de3d6b9934a14857d6aade8 SHA512 e3df3e933fed6ff2845989a0146b28789452e9583bc19dd4a9ad335f64b15feffbdc4dd7cdb9d6b5216f7f85837318cf9b10df033f8022777f91c2b0894fb231 WHIRLPOOL e25d77fd8d9cacb92d45fd50640bc65189d02d7e23b276ccaf3b35ba1fe64ab0c49045d1fb8983b7b2b5bd996e767508446ac76506b074ded10feef1f9256918
+DIST git-manpages-2.0.5.tar.xz 359000 SHA256 3cf1581da2a19c0651df445ee5f801e108619befe8965e01d61faa46ca57b642 SHA512 b3981565a34a203283801b86717386971ef53c2f5c47bdde290aa0df4d62045ecbcab1ff1b4d1d8ddf7d489e74d65b0208d87ace7ca8c8be9525be548e445425 WHIRLPOOL e8c78eb38cb3192455ccb991a4ce5cd3988d06f1f06cdf0722e4ce6fb1d4e57f618058cf07d312bcab4f5821a1b1dfc016c03626d4f3429d3e5ef089607a2801
+DIST git-manpages-2.1.4.tar.xz 361252 SHA256 01070bc96e88231f6f279b031fed2919efea8b442fe724f37349ad951d010b04 SHA512 35fe0dd9e0fe9547362abc0e9c5b066abc13a4137b4ea62569fa5b1ae93831da0686e8783be946a9b87274fbc2322ef93425b9d3fc1257023176c772b21b79b2 WHIRLPOOL 9f199eb94657149b51cb20fb55878cb1cf83fa3741906ce37a66b0157df9ca4dae66754fe264019e6bd8e7d286040fec718b89ca4b40b803c059c46521a5cc61
+DIST git-manpages-2.2.2.tar.xz 369876 SHA256 d30688bb62763bf1b87f5eaf4c0a66c68999e479ccd2963108a5f6f82138147c SHA512 5c2220bb09f199ad4fe5c1bc20a813a6c62daab5e6e7fa87bf24861d25b7f7e0fdde215c4f59d8895badd7c361ed202e7837de48d2d54a155d24759db39dd4e1 WHIRLPOOL 45acc45663f13faf5b8197516bb934723bf84cd6db929443e2bd9fc3a915baf258ee93e782741e088a5f799115ea4ee6043225fc9ea9ec954feed21ba54c9be4
+DIST git-manpages-2.3.6.tar.xz 371620 SHA256 b1356f5cb3e7bf53445b08f24ea6950ef1f80031aedd6cd90e3ec60ff1f06b02 SHA512 c7ff2e6aea8c0c12009f29724c899e606b6620e7d408ee3c536fb5239ebcaa0b790a6ee1287dccd88df8776fbc2e72e799124426dbacd82e12f05e3f9f3c909a WHIRLPOOL 7117ba84d888ea448807f3bf51f958b86de011afed1bbad78abf4390c1a77f799f77781f4d9bf1e9287ab903b912b7ca270433c1f4a1f112a4cb4840dde3d400
+DIST git-manpages-2.3.8.tar.xz 371528 SHA256 4d38de9decf80864480fcd5cc58783e3bff4e22383b281193acd82ffa3751fe2 SHA512 8c6aaf60e4b6505ae6789fa658ff15534cf5dfa51c03fdf47a624723b75a8448d71faa9f4ee61c5c243b775c4047dd2ffffc664b37e7f38b60c90fc56252ed93 WHIRLPOOL c6068de21f53e20ec17cd724059d91781e81abf617c2169c1099997afdeac371a59927d9db0b98c1f64c66b3de016b351b08a2f37a43038a924137f6f139a72e
+DIST git-manpages-2.4.6.tar.xz 373408 SHA256 f32d267bdaab75812dbd116d2b329d6dc7287a974e929e380e8cbf96e3822b8e SHA512 fa0562b8cc3e0421f7b45940f8cd4b58a5e58a1eb8571e2de85babf8ffd932fd210baa82aefe3c6090cb7dc51f64f299143be51beaacb37be97832b4a8e2a869 WHIRLPOOL 595beed93c621ffd9b7e0b507fc2941156975190eca8b638826ac32b6ea761bbb08f05e152dc88a7a3dbd168ab083a0128d61e72fae51cd0e94a8c91a1adb3ee
+DIST git-manpages-2.4.7.tar.xz 373568 SHA256 cbf3171d93edea466325809c26c6946716402f7f9ae32e31e97384b2a96377f9 SHA512 e3c59ef02824d553257d5cc78e727ceca75cf1c6ba68375fe6482812ec5ff8684319ada2c38c00574509958bff0f3af732c509726f02e48517c6a8f84ea4f154 WHIRLPOOL 1be4ef465d3446ec8ae4c5ddb25f2fe66ec4b9d116a5789176e83513606cbcd70ecf07038d86903acc93a52a187d99a7c62d3593bc0d7b43a4a7af4ccac6c7ac
+DIST git-manpages-2.4.8.tar.xz 373596 SHA256 47558ec88776e66e6f3e3625b7efdaf2e8ad447cb7af199d60d0788d7f4438c4 SHA512 bb5dc6d7a9af05f2f5a3665f0bac29e5a08919412d69cc756981c88eaa6cf5b8cbe93e04e1aa10d2a48706178eb33a547f416ee191bdb8d25483212aa7e30e5e WHIRLPOOL 0b4ab3099b6604f17a6ff741a9d752c76772ca4f7a02e55db4cbff1e14878c3bdcb25d5e4a71dd2f7a81525475aea35d9ef09d203d949984d95ef02f9865f33c
+DIST git-manpages-2.5.0.tar.xz 377856 SHA256 1a6ea7220b1693eb384af0978a990ea8c0c634a7869d1ef63a2c8e427fc7f6ea SHA512 b3a5f2e8107c529ce81c1570a82472195e205ff1a8ddc75f4f0cbbf25f37a916700156df4418888c8a8a153ab58d5507a31027fb31faadeb5d4ba242847ab28d WHIRLPOOL 09f13622fff6a2b04a8ad584dab54c0b17cbfc6e803ca9e2deadab18071e50b50b37e395bb4746aff2e013f5b0025f8cdb1d439d8e6f3a659fad32646b30f4c7
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-destdir.patch b/dev-vcs/git/files/git-1.8.5-mw-destdir.patch
new file mode 100644
index 000000000000..ea4f1758059f
--- /dev/null
+++ b/dev-vcs/git/files/git-1.8.5-mw-destdir.patch
@@ -0,0 +1,37 @@
+diff --git a/contrib/mw-to-git/Makefile b/contrib/mw-to-git/Makefile
+index f206f96..a4b6f7a 100644
+--- a/contrib/mw-to-git/Makefile
++++ b/contrib/mw-to-git/Makefile
+@@ -18,9 +18,13 @@ SCRIPT_PERL+=git-mw.perl
+ GIT_ROOT_DIR=../..
+ HERE=contrib/mw-to-git/
+
++INSTALL = install
++
+ SCRIPT_PERL_FULL=$(patsubst %,$(HERE)/%,$(SCRIPT_PERL))
+ INSTLIBDIR=$(shell $(MAKE) -C $(GIT_ROOT_DIR)/perl \
+ -s --no-print-directory instlibdir)
++DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
++INSTLIBDIR_SQ = $(subst ','\'',$(INSTLIBDIR))
+
+ all: build
+
+@@ -30,7 +34,9 @@ test: all
+ check: perlcritic test
+
+ install_pm:
+- install $(GIT_MEDIAWIKI_PM) $(INSTLIBDIR)/$(GIT_MEDIAWIKI_PM)
++ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(INSTLIBDIR_SQ)/Git'
++ $(INSTALL) -m 644 $(GIT_MEDIAWIKI_PM) \
++ '$(DESTDIR_SQ)$(INSTLIBDIR_SQ)/$(GIT_MEDIAWIKI_PM)'
+
+ build:
+ $(MAKE) -C $(GIT_ROOT_DIR) SCRIPT_PERL="$(SCRIPT_PERL_FULL)" \
+@@ -43,7 +49,6 @@ install: install_pm
+ clean:
+ $(MAKE) -C $(GIT_ROOT_DIR) SCRIPT_PERL="$(SCRIPT_PERL_FULL)" \
+ clean-perl-script
+- rm $(INSTLIBDIR)/$(GIT_MEDIAWIKI_PM)
+
+ perlcritic:
+ perlcritic -5 $(SCRIPT_PERL)
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-1.8.5-optional-cvs.patch b/dev-vcs/git/files/git-1.8.5-optional-cvs.patch
new file mode 100644
index 000000000000..aef03d842183
--- /dev/null
+++ b/dev-vcs/git/files/git-1.8.5-optional-cvs.patch
@@ -0,0 +1,362 @@
+From eadb20b065c33d46b49c8c95d8cde0c9fe7c62a4 Mon Sep 17 00:00:00 2001
+From: Robin Johnson <robbat2@gentoo.org>
+Date: Wed, 22 Aug 2012 04:25:06 +0000
+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
+
+--- git-1.8.5.1/Makefile
++++ git-1.8.5.1/Makefile
+@@ -263,6 +263,8 @@
+ #
+ # Define NO_TCLTK if you do not want Tcl/Tk GUI.
+ #
++# 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'.
+@@ -437,6 +439,7 @@
+ PROGRAM_OBJS =
+ PROGRAMS =
+ SCRIPT_PERL =
++SCRIPT_PERL_CVS =
+ SCRIPT_PYTHON =
+ SCRIPT_SH =
+ SCRIPT_LIB =
+@@ -477,20 +480,21 @@
+ SCRIPT_PERL += git-add--interactive.perl
+ SCRIPT_PERL += git-difftool.perl
+ SCRIPT_PERL += git-archimport.perl
+-SCRIPT_PERL += git-cvsexportcommit.perl
+-SCRIPT_PERL += git-cvsimport.perl
+-SCRIPT_PERL += git-cvsserver.perl
+ SCRIPT_PERL += git-relink.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
+
+ # Generated files for scripts
+ SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
+-SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
++SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL) $(SCRIPT_PERL_CVS))
+ SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
+
+ SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
+@@ -1779,8 +1783,18 @@
+ $(join -DMAJOR= -DMINOR= -DPATCH=, $(wordlist 1,3,$(subst -, ,$(subst ., ,$(GIT_VERSION))))) \
+ -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" $< -o $@
+
++_SCRIPT_PERL_BUILD =
++_SCRIPT_PERL_NOBUILD =
++
+ ifndef NO_PERL
+-$(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak
++
++_SCRIPT_PERL_BUILD += $(SCRIPT_PERL)
++
++ifndef NO_CVS
++_SCRIPT_PERL_BUILD += $(SCRIPT_PERL_CVS)
++else # NO_CVS
++_SCRIPT_PERL_NOBUILD += $(SCRIPT_PERL_CVS)
++endif # NO_CVS
+
+ perl/perl.mak: perl/PM.stamp
+
+@@ -1792,7 +1806,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)
+
+-$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl GIT-VERSION-FILE
++$(patsubst %.perl,%,$(_SCRIPT_PERL_BUILD)): % : %.perl GIT-VERSION-FILE
+ $(QUIET_GEN)$(RM) $@ $@+ && \
+ INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \
+ sed -e '1{' \
+@@ -1817,14 +1831,17 @@
+ chmod +x $@+ && \
+ mv $@+ $@
+ else # NO_PERL
+-$(patsubst %.perl,%,$(SCRIPT_PERL)) git-instaweb: % : unimplemented.sh
++_SCRIPT_PERL_NOBUILD += $(SCRIPT_PERL) $(SCRIPT_PERL_CVS) git-instaweb
++endif # NO_PERL
++
++# This is any perl scripts that were disabled it might be empty...
++$(patsubst %.perl,%,$(_SCRIPT_PERL_NOBUILD)): % : unimplemented.sh
+ $(QUIET_GEN)$(RM) $@ $@+ && \
+ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+ -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
+ unimplemented.sh >$@+ && \
+ chmod +x $@+ && \
+ mv $@+ $@
+-endif # NO_PERL
+
+ ifndef NO_PYTHON
+ $(SCRIPT_PYTHON_GEN): GIT-CFLAGS GIT-PREFIX GIT-PYTHON-VARS
+--- git-1.8.5.1/t/t9200-git-cvsexportcommit.sh
++++ git-1.8.5.1/t/t9200-git-cvsexportcommit.sh
+@@ -12,6 +12,11 @@
+ 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
+--- git-1.8.5.1/t/t9400-git-cvsserver-server.sh
++++ git-1.8.5.1/t/t9400-git-cvsserver-server.sh
+@@ -11,9 +11,15 @@
+ . ./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
+--- git-1.8.5.1/t/t9401-git-cvsserver-crlf.sh
++++ git-1.8.5.1/t/t9401-git-cvsserver-crlf.sh
+@@ -57,15 +57,20 @@
+ 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 || {
+--- git-1.8.5.1/t/t9600-cvsimport.sh
++++ git-1.8.5.1/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 @@
+ )
+ '
+
+-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 @@
+ )
+ '
+
+-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 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_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 '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 '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_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 '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
+--- git-1.8.5.1/t/t9601-cvsimport-vendor-branch.sh
++++ git-1.8.5.1/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' '
+--- git-1.8.5.1/t/t9602-cvsimport-branches-tags.sh
++++ git-1.8.5.1/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' '
+--- git-1.8.5.1/t/t9603-cvsimport-patchsets.sh
++++ git-1.8.5.1/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 'import with criss cross times on revisions' '
+--- git-1.8.5.1/t/test-lib.sh
++++ git-1.8.5.1/t/test-lib.sh
+@@ -772,6 +772,7 @@
+ 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
diff --git a/dev-vcs/git/files/git-1.9.0_rc3-optional-cvs.patch b/dev-vcs/git/files/git-1.9.0_rc3-optional-cvs.patch
new file mode 100644
index 000000000000..1f0796083230
--- /dev/null
+++ b/dev-vcs/git/files/git-1.9.0_rc3-optional-cvs.patch
@@ -0,0 +1,372 @@
+From eadb20b065c33d46b49c8c95d8cde0c9fe7c62a4 Mon Sep 17 00:00:00 2001
+From: Robin Johnson <robbat2@gentoo.org>
+Date: Wed, 22 Aug 2012 04:25:06 +0000
+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
+
+diff -Nuar git-1.9.0.rc3.orig/Makefile git-1.9.0.rc3/Makefile
+--- git-1.9.0.rc3.orig/Makefile 2014-02-07 12:45:45.000000000 -0800
++++ git-1.9.0.rc3/Makefile 2014-02-08 11:50:21.219488765 -0800
+@@ -263,6 +263,8 @@
+ #
+ # Define NO_TCLTK if you do not want Tcl/Tk GUI.
+ #
++# 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'.
+@@ -437,6 +439,7 @@
+ PROGRAM_OBJS =
+ PROGRAMS =
+ SCRIPT_PERL =
++SCRIPT_PERL_CVS =
+ SCRIPT_PYTHON =
+ SCRIPT_SH =
+ SCRIPT_LIB =
+@@ -476,20 +479,21 @@
+ SCRIPT_PERL += git-add--interactive.perl
+ SCRIPT_PERL += git-difftool.perl
+ SCRIPT_PERL += git-archimport.perl
+-SCRIPT_PERL += git-cvsexportcommit.perl
+-SCRIPT_PERL += git-cvsimport.perl
+-SCRIPT_PERL += git-cvsserver.perl
+ SCRIPT_PERL += git-relink.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
+
+ # Generated files for scripts
+ SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
+-SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
++SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL) $(SCRIPT_PERL_CVS))
+ SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
+
+ SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
+@@ -1776,8 +1780,18 @@
+ $(join -DMAJOR= -DMINOR=, $(wordlist 1,2,$(subst -, ,$(subst ., ,$(GIT_VERSION))))) \
+ -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" $< -o $@
+
++_SCRIPT_PERL_BUILD =
++_SCRIPT_PERL_NOBUILD =
++
+ ifndef NO_PERL
+-$(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak
++
++_SCRIPT_PERL_BUILD += $(SCRIPT_PERL)
++
++ifndef NO_CVS
++_SCRIPT_PERL_BUILD += $(SCRIPT_PERL_CVS)
++else # NO_CVS
++_SCRIPT_PERL_NOBUILD += $(SCRIPT_PERL_CVS)
++endif # NO_CVS
+
+ perl/perl.mak: perl/PM.stamp
+
+@@ -1790,7 +1804,7 @@
+ $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
+
+ PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ)
+-$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
++$(patsubst %.perl,%,$(_SCRIPT_PERL_BUILD)): % : %.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)' && \
+@@ -1824,14 +1838,17 @@
+ chmod +x $@+ && \
+ mv $@+ $@
+ else # NO_PERL
+-$(patsubst %.perl,%,$(SCRIPT_PERL)) git-instaweb: % : unimplemented.sh
++_SCRIPT_PERL_NOBUILD += $(SCRIPT_PERL) $(SCRIPT_PERL_CVS) git-instaweb
++endif # NO_PERL
++
++# This is any perl scripts that were disabled it might be empty...
++$(patsubst %.perl,%,$(_SCRIPT_PERL_NOBUILD)): % : unimplemented.sh
+ $(QUIET_GEN)$(RM) $@ $@+ && \
+ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+ -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
+ unimplemented.sh >$@+ && \
+ chmod +x $@+ && \
+ mv $@+ $@
+-endif # NO_PERL
+
+ ifndef NO_PYTHON
+ $(SCRIPT_PYTHON_GEN): GIT-CFLAGS GIT-PREFIX GIT-PYTHON-VARS
+diff -Nuar git-1.9.0.rc3.orig/t/t9200-git-cvsexportcommit.sh git-1.9.0.rc3/t/t9200-git-cvsexportcommit.sh
+--- git-1.9.0.rc3.orig/t/t9200-git-cvsexportcommit.sh 2014-02-07 12:45:45.000000000 -0800
++++ git-1.9.0.rc3/t/t9200-git-cvsexportcommit.sh 2014-02-08 11:49:12.243179483 -0800
+@@ -11,6 +11,11 @@
+ 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 -Nuar git-1.9.0.rc3.orig/t/t9400-git-cvsserver-server.sh git-1.9.0.rc3/t/t9400-git-cvsserver-server.sh
+--- git-1.9.0.rc3.orig/t/t9400-git-cvsserver-server.sh 2014-02-07 12:45:45.000000000 -0800
++++ git-1.9.0.rc3/t/t9400-git-cvsserver-server.sh 2014-02-08 11:49:12.244179502 -0800
+@@ -11,9 +11,15 @@
+ . ./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 -Nuar git-1.9.0.rc3.orig/t/t9401-git-cvsserver-crlf.sh git-1.9.0.rc3/t/t9401-git-cvsserver-crlf.sh
+--- git-1.9.0.rc3.orig/t/t9401-git-cvsserver-crlf.sh 2014-02-07 12:45:45.000000000 -0800
++++ git-1.9.0.rc3/t/t9401-git-cvsserver-crlf.sh 2014-02-08 11:49:12.244179502 -0800
+@@ -57,15 +57,20 @@
+ 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 -Nuar git-1.9.0.rc3.orig/t/t9600-cvsimport.sh git-1.9.0.rc3/t/t9600-cvsimport.sh
+--- git-1.9.0.rc3.orig/t/t9600-cvsimport.sh 2014-02-07 12:45:45.000000000 -0800
++++ git-1.9.0.rc3/t/t9600-cvsimport.sh 2014-02-08 11:49:12.244179502 -0800
+@@ -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 @@
+ )
+ '
+
+-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 @@
+ )
+ '
+
+-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 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_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 '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 '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_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 '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 -Nuar git-1.9.0.rc3.orig/t/t9601-cvsimport-vendor-branch.sh git-1.9.0.rc3/t/t9601-cvsimport-vendor-branch.sh
+--- git-1.9.0.rc3.orig/t/t9601-cvsimport-vendor-branch.sh 2014-02-07 12:45:45.000000000 -0800
++++ git-1.9.0.rc3/t/t9601-cvsimport-vendor-branch.sh 2014-02-08 11:49:12.244179502 -0800
+@@ -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 -Nuar git-1.9.0.rc3.orig/t/t9602-cvsimport-branches-tags.sh git-1.9.0.rc3/t/t9602-cvsimport-branches-tags.sh
+--- git-1.9.0.rc3.orig/t/t9602-cvsimport-branches-tags.sh 2014-02-07 12:45:45.000000000 -0800
++++ git-1.9.0.rc3/t/t9602-cvsimport-branches-tags.sh 2014-02-08 11:49:12.244179502 -0800
+@@ -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 -Nuar git-1.9.0.rc3.orig/t/t9603-cvsimport-patchsets.sh git-1.9.0.rc3/t/t9603-cvsimport-patchsets.sh
+--- git-1.9.0.rc3.orig/t/t9603-cvsimport-patchsets.sh 2014-02-07 12:45:45.000000000 -0800
++++ git-1.9.0.rc3/t/t9603-cvsimport-patchsets.sh 2014-02-08 11:49:12.244179502 -0800
+@@ -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 'import with criss cross times on revisions' '
+diff -Nuar git-1.9.0.rc3.orig/t/test-lib.sh git-1.9.0.rc3/t/test-lib.sh
+--- git-1.9.0.rc3.orig/t/test-lib.sh 2014-02-07 12:45:45.000000000 -0800
++++ git-1.9.0.rc3/t/test-lib.sh 2014-02-08 11:49:12.244179502 -0800
+@@ -772,6 +772,7 @@
+ 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
diff --git a/dev-vcs/git/files/git-2.0.0-r2-optional-cvs.patch b/dev-vcs/git/files/git-2.0.0-r2-optional-cvs.patch
new file mode 100644
index 000000000000..b2d8e5c01c85
--- /dev/null
+++ b/dev-vcs/git/files/git-2.0.0-r2-optional-cvs.patch
@@ -0,0 +1,375 @@
+From e19ad5a8492d83db79a09b459cb17ccee78e0001 Mon Sep 17 00:00:00 2001
+From: Robin Johnson <robbat2@gentoo.org>
+Date: Fri, 25 Apr 2014 12:30:42 +0200
+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
+
+diff -Nuar --exclude '*.orig' --exclude '*.rej' git-2.0.0.orig/Makefile git-2.0.0/Makefile
+--- git-2.0.0.orig/Makefile 2014-05-28 12:10:36.000000000 -0700
++++ git-2.0.0/Makefile 2014-05-28 16:50:10.148376954 -0700
+@@ -255,6 +255,8 @@
+ #
+ # Define NO_TCLTK if you do not want Tcl/Tk GUI.
+ #
++# 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'.
+@@ -436,6 +438,7 @@
+ PROGRAM_OBJS =
+ PROGRAMS =
+ SCRIPT_PERL =
++SCRIPT_PERL_CVS =
+ SCRIPT_PYTHON =
+ SCRIPT_SH =
+ SCRIPT_LIB =
+@@ -475,20 +478,21 @@
+ SCRIPT_PERL += git-add--interactive.perl
+ SCRIPT_PERL += git-difftool.perl
+ SCRIPT_PERL += git-archimport.perl
+-SCRIPT_PERL += git-cvsexportcommit.perl
+-SCRIPT_PERL += git-cvsimport.perl
+-SCRIPT_PERL += git-cvsserver.perl
+ SCRIPT_PERL += git-relink.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
+
+ # Generated files for scripts
+ SCRIPT_SH_GEN = $(patsubst %.sh,%,$(SCRIPT_SH))
+-SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL))
++SCRIPT_PERL_GEN = $(patsubst %.perl,%,$(SCRIPT_PERL) $(SCRIPT_PERL_CVS))
+ SCRIPT_PYTHON_GEN = $(patsubst %.py,%,$(SCRIPT_PYTHON))
+
+ SCRIPT_SH_INS = $(filter-out $(NO_INSTALL),$(SCRIPT_SH_GEN))
+@@ -1779,8 +1783,18 @@
+ $(join -DMAJOR= -DMINOR=, $(wordlist 1,2,$(subst -, ,$(subst ., ,$(GIT_VERSION))))) \
+ -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" $< -o $@
+
++_SCRIPT_PERL_BUILD =
++_SCRIPT_PERL_NOBUILD =
++
+ ifndef NO_PERL
+-$(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak
++
++_SCRIPT_PERL_BUILD += $(SCRIPT_PERL)
++
++ifndef NO_CVS
++_SCRIPT_PERL_BUILD += $(SCRIPT_PERL_CVS)
++else # NO_CVS
++_SCRIPT_PERL_NOBUILD += $(SCRIPT_PERL_CVS)
++endif # NO_CVS
+
+ perl/perl.mak: perl/PM.stamp
+
+@@ -1793,7 +1807,7 @@
+ $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
+
+ PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ)
+-$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
++$(patsubst %.perl,%,$(_SCRIPT_PERL_BUILD)): % : %.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)' && \
+@@ -1826,15 +1840,18 @@
+ $(QUIET_GEN)$(cmd_munge_script) && \
+ chmod +x $@+ && \
+ mv $@+ $@
+ else # NO_PERL
+-$(patsubst %.perl,%,$(SCRIPT_PERL)) git-instaweb: % : unimplemented.sh
++_SCRIPT_PERL_NOBUILD += $(SCRIPT_PERL) $(SCRIPT_PERL_CVS) git-instaweb
++endif # NO_PERL
++
++# This is any perl scripts that were disabled it might be empty...
++$(patsubst %.perl,%,$(_SCRIPT_PERL_NOBUILD)): % : unimplemented.sh
+ $(QUIET_GEN)$(RM) $@ $@+ && \
+ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+ -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
+ unimplemented.sh >$@+ && \
+ chmod +x $@+ && \
+ mv $@+ $@
+-endif # NO_PERL
+
+ ifndef NO_PYTHON
+ $(SCRIPT_PYTHON_GEN): GIT-CFLAGS GIT-PREFIX GIT-PYTHON-VARS
+diff -Nuar --exclude '*.orig' --exclude '*.rej' git-2.0.0.orig/t/t9200-git-cvsexportcommit.sh git-2.0.0/t/t9200-git-cvsexportcommit.sh
+--- git-2.0.0.orig/t/t9200-git-cvsexportcommit.sh 2014-05-28 12:10:36.000000000 -0700
++++ git-2.0.0/t/t9200-git-cvsexportcommit.sh 2014-05-28 16:47:41.812727825 -0700
+@@ -11,6 +11,11 @@
+ 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 -Nuar --exclude '*.orig' --exclude '*.rej' git-2.0.0.orig/t/t9400-git-cvsserver-server.sh git-2.0.0/t/t9400-git-cvsserver-server.sh
+--- git-2.0.0.orig/t/t9400-git-cvsserver-server.sh 2014-05-28 12:10:36.000000000 -0700
++++ git-2.0.0/t/t9400-git-cvsserver-server.sh 2014-05-28 16:47:41.812727825 -0700
+@@ -11,9 +11,15 @@
+ . ./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 -Nuar --exclude '*.orig' --exclude '*.rej' git-2.0.0.orig/t/t9401-git-cvsserver-crlf.sh git-2.0.0/t/t9401-git-cvsserver-crlf.sh
+--- git-2.0.0.orig/t/t9401-git-cvsserver-crlf.sh 2014-05-28 12:10:36.000000000 -0700
++++ git-2.0.0/t/t9401-git-cvsserver-crlf.sh 2014-05-28 16:47:41.812727825 -0700
+@@ -57,15 +57,20 @@
+ 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 -Nuar --exclude '*.orig' --exclude '*.rej' git-2.0.0.orig/t/t9600-cvsimport.sh git-2.0.0/t/t9600-cvsimport.sh
+--- git-2.0.0.orig/t/t9600-cvsimport.sh 2014-05-28 12:10:36.000000000 -0700
++++ git-2.0.0/t/t9600-cvsimport.sh 2014-05-28 16:47:41.813727843 -0700
+@@ -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 @@
+ )
+ '
+
+-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 @@
+ )
+ '
+
+-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 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_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 '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 '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_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 '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 -Nuar --exclude '*.orig' --exclude '*.rej' git-2.0.0.orig/t/t9601-cvsimport-vendor-branch.sh git-2.0.0/t/t9601-cvsimport-vendor-branch.sh
+--- git-2.0.0.orig/t/t9601-cvsimport-vendor-branch.sh 2014-05-28 12:10:36.000000000 -0700
++++ git-2.0.0/t/t9601-cvsimport-vendor-branch.sh 2014-05-28 16:47:41.813727843 -0700
+@@ -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 -Nuar --exclude '*.orig' --exclude '*.rej' git-2.0.0.orig/t/t9602-cvsimport-branches-tags.sh git-2.0.0/t/t9602-cvsimport-branches-tags.sh
+--- git-2.0.0.orig/t/t9602-cvsimport-branches-tags.sh 2014-05-28 12:10:36.000000000 -0700
++++ git-2.0.0/t/t9602-cvsimport-branches-tags.sh 2014-05-28 16:47:41.813727843 -0700
+@@ -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 -Nuar --exclude '*.orig' --exclude '*.rej' git-2.0.0.orig/t/t9603-cvsimport-patchsets.sh git-2.0.0/t/t9603-cvsimport-patchsets.sh
+--- git-2.0.0.orig/t/t9603-cvsimport-patchsets.sh 2014-05-28 12:10:36.000000000 -0700
++++ git-2.0.0/t/t9603-cvsimport-patchsets.sh 2014-05-28 16:47:41.813727843 -0700
+@@ -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 'import with criss cross times on revisions' '
+diff -Nuar --exclude '*.orig' --exclude '*.rej' git-2.0.0.orig/t/test-lib.sh git-2.0.0/t/test-lib.sh
+--- git-2.0.0.orig/t/test-lib.sh 2014-05-28 12:10:36.000000000 -0700
++++ git-2.0.0/t/test-lib.sh 2014-05-28 16:47:41.813727843 -0700
+@@ -777,6 +777,7 @@
+ 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
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.2.2-optional-cvs.patch b/dev-vcs/git/files/git-2.2.2-optional-cvs.patch
new file mode 100644
index 000000000000..af815e239480
--- /dev/null
+++ b/dev-vcs/git/files/git-2.2.2-optional-cvs.patch
@@ -0,0 +1,454 @@
+From 12b82e03b971da618f19d0194dcf19a77b273766 Mon Sep 17 00:00:00 2001
+From: Robin Johnson <robbat2@gentoo.org>
+Date: Wed, 21 Jan 2015 20:48:03 +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
+
+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 7482a4d..a644c8d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -254,6 +254,8 @@ all::
+ #
+ # Define NO_TCLTK if you do not want Tcl/Tk GUI.
+ #
++# 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'.
+@@ -433,6 +435,7 @@ LIB_OBJS =
+ PROGRAM_OBJS =
+ PROGRAMS =
+ SCRIPT_PERL =
++SCRIPT_PERL_CVS =
+ SCRIPT_PYTHON =
+ SCRIPT_SH =
+ SCRIPT_LIB =
+@@ -472,13 +475,14 @@ SCRIPT_LIB += git-sh-i18n
+ SCRIPT_PERL += git-add--interactive.perl
+ SCRIPT_PERL += git-difftool.perl
+ SCRIPT_PERL += git-archimport.perl
+-SCRIPT_PERL += git-cvsexportcommit.perl
+-SCRIPT_PERL += git-cvsimport.perl
+-SCRIPT_PERL += git-cvsserver.perl
+ SCRIPT_PERL += git-relink.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
+@@ -486,24 +490,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)'
+@@ -512,12 +518,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
+
+@@ -1677,10 +1684,24 @@ git.res: git.rc GIT-VERSION-FILE
+ -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" $< -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
+
+@@ -1693,7 +1714,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)' && \
+@@ -1727,14 +1748,18 @@ git-instaweb: git-instaweb.sh gitweb 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
+@@ -1964,7 +1989,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
+ XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --keyword=__ --language=Perl
+ LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
+ LOCALIZED_SH = $(SCRIPT_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 812c9cd..906532a 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 6146c3f..2a675e3 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 5a4ed28..04814cb 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 4c384ff..d601f32 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 827d39f..d730a41 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 e1db323..68f0974 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 c4c3c49..9b2957d 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 79e8a33..c7c4b48 100644
+--- a/t/test-lib.sh
++++ b/t/test-lib.sh
+@@ -929,6 +929,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.2.1
+
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..b6ecfd9c508c
--- /dev/null
+++ b/dev-vcs/git/files/git-daemon-r1.initd
@@ -0,0 +1,13 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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.service b/dev-vcs/git/files/git-daemon_at.service
new file mode 100644
index 000000000000..2a080d4e7d8f
--- /dev/null
+++ b/dev-vcs/git/files/git-daemon_at.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Git Repositories Server Daemon
+Documentation=man:git-daemon(1)
+
+[Service]
+User=nobody
+Group=nobody
+EnvironmentFile=/etc/conf.d/git-daemon
+# 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 $GITDAEMON_OPTS
+StandardInput=socket
+StandardOutput=inherit
+StandardError=journal
diff --git a/dev-vcs/git/git-1.8.5.6.ebuild b/dev-vcs/git/git-1.8.5.6.ebuild
new file mode 100644
index 000000000000..35cb3cba4fb3
--- /dev/null
+++ b/dev-vcs/git/git-1.8.5.6.ebuild
@@ -0,0 +1,641 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+
+inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
+
+MY_PV="${PV/_rc/.rc}"
+MY_P="${PN}-${MY_PV}"
+
+DOC_VER=${MY_PV}
+
+DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
+HOMEPAGE="http://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI_SUFFIX="gz"
+ SRC_URI_GOOG="http://git-core.googlecode.com/files"
+ SRC_URI_KORG="mirror://kernel/software/scm/git"
+ SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
+ ${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
+ ${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+ ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+ doc? (
+ ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+ ${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+ )"
+ KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+ dev-libs/openssl
+ sys-libs/zlib
+ pcre? ( dev-libs/libpcre )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk )
+ curl? (
+ net-misc/curl
+ webdav? ( dev-libs/expat )
+ )
+ emacs? ( virtual/emacs )
+ gnome-keyring? ( gnome-base/libgnome-keyring )"
+
+RDEPEND="${CDEPEND}
+ gpg? ( app-crypt/gnupg )
+ mediawiki? (
+ dev-perl/HTML-Tree
+ dev-perl/MediaWiki-API
+ )
+ perl? ( dev-perl/Error
+ dev-perl/Net-SMTP-SSL
+ dev-perl/Authen-SASL
+ cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
+ cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
+ subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
+ )
+ python? ( gtk?
+ (
+ >=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
+ >=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
+ )
+ ${PYTHON_DEPS} )"
+
+# This is how info docs are created with Git:
+# .txt/asciidoc --(asciidoc)---------> .xml/docbook
+# .xml/docbook --(docbook2texi.pl)--> .texi
+# .texi --(makeinfo)---------> .info
+DEPEND="${CDEPEND}
+ app-arch/cpio
+ doc? (
+ app-text/asciidoc
+ app-text/docbook2X
+ sys-apps/texinfo
+ app-text/xmlto
+ )
+ nls? ( sys-devel/gettext )
+ test? ( app-crypt/gnupg )"
+
+# Live ebuild builds man pages and HTML docs, additionally
+if [[ ${PV} == *9999 ]]; then
+ DEPEND="${DEPEND}
+ app-text/asciidoc"
+fi
+
+SITEFILE=50${PN}-gentoo.el
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+ cgi? ( perl )
+ cvs? ( perl )
+ mediawiki? ( perl )
+ subversion? ( perl )
+ webdav? ( curl )
+ gtk? ( python )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+pkg_setup() {
+ if use subversion && has_version "dev-vcs/subversion[dso]"; then
+ ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
+ ewarn "with USE=dso, there may be weird crashes in git-svn. You"
+ ewarn "have been warned."
+ fi
+ if use python ; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+# This is needed because for some obscure reasons future calls to make don't
+# pick up these exports if we export them in src_unpack()
+exportmakeopts() {
+ local myopts
+
+ if use blksha1 ; then
+ myopts="${myopts} BLK_SHA1=YesPlease"
+ elif use ppcsha1 ; then
+ myopts="${myopts} PPC_SHA1=YesPlease"
+ fi
+
+ if use curl ; then
+ use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
+ else
+ myopts="${myopts} NO_CURL=YesPlease"
+ fi
+
+ # broken assumptions, because of broken build system ...
+ myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
+ myopts="${myopts} INSTALL=install TAR=tar"
+ myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
+ myopts="${myopts} SANE_TOOL_PATH="
+ myopts="${myopts} OLD_ICONV="
+ myopts="${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="${myopts} NO_ICONV=YesPlease"
+ use nls \
+ || myopts="${myopts} NO_GETTEXT=YesPlease"
+ use tk \
+ || myopts="${myopts} NO_TCLTK=YesPlease"
+ use pcre \
+ && myopts="${myopts} USE_LIBPCRE=yes" \
+ && extlibs="${extlibs} -lpcre"
+ use perl \
+ && myopts="${myopts} INSTALLDIRS=vendor" \
+ || myopts="${myopts} NO_PERL=YesPlease"
+ use python \
+ || myopts="${myopts} NO_PYTHON=YesPlease"
+ use subversion \
+ || myopts="${myopts} NO_SVN_TESTS=YesPlease"
+ use threads \
+ && myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease" \
+ || myopts="${myopts} NO_PTHREADS=YesPlease"
+ use cvs \
+ || myopts="${myopts} NO_CVS=YesPlease"
+# Disabled until ~m68k-mint can be keyworded again
+# if [[ ${CHOST} == *-mint* ]] ; then
+# myopts="${myopts} NO_MMAP=YesPlease"
+# myopts="${myopts} NO_IPV6=YesPlease"
+# myopts="${myopts} NO_STRLCPY=YesPlease"
+# myopts="${myopts} NO_MEMMEM=YesPlease"
+# myopts="${myopts} NO_MKDTEMP=YesPlease"
+# myopts="${myopts} NO_MKSTEMPS=YesPlease"
+# fi
+ if [[ ${CHOST} == ia64-*-hpux* ]]; then
+ myopts="${myopts} NO_NSEC=YesPlease"
+ fi
+ if [[ ${CHOST} == *-*-aix* ]]; then
+ myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
+ fi
+ if [[ ${CHOST} == *-solaris* ]]; then
+ myopts="${myopts} NEEDS_LIBICONV=YesPlease"
+ fi
+
+ has_version '>=app-text/asciidoc-8.0' \
+ && myopts="${myopts} ASCIIDOC8=YesPlease"
+ myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
+
+ # Bug 290465:
+ # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
+ [[ "${CHOST}" == *-uclibc* ]] && \
+ myopts="${myopts} NO_NSEC=YesPlease"
+
+ export MY_MAKEOPTS="${myopts}"
+ export EXTLIBS="${extlibs}"
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+ cd "${S}"
+ unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+ use doc && \
+ cd "${S}"/Documentation && \
+ unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+ cd "${S}"
+ else
+ git-2_src_unpack
+ cd "${S}"
+ #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ fi
+
+}
+
+src_prepare() {
+ # bug #350330 - automagic CVS when we don't want it is bad.
+ epatch "${FILESDIR}"/git-1.8.5-optional-cvs.patch
+
+ # honor and correctly quote DISTDIR (from upstream git master)
+ epatch "${FILESDIR}"/git-1.8.5-mw-destdir.patch
+
+ # install mediawiki perl modules also in vendor_dir
+ # hack, needs better upstream solution
+ epatch "${FILESDIR}"/git-1.8.5-mw-vendor.patch
+
+ epatch_user
+
+ sed -i \
+ -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
+ -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
+ -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
+ -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
+ -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+ -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+ Makefile contrib/svn-fe/Makefile || die "sed failed"
+
+ # Never install the private copy of Error.pm (bug #296310)
+ sed -i \
+ -e '/private-Error.pm/s,^,#,' \
+ perl/Makefile.PL
+
+ # Fix docbook2texi command
+ sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
+ Documentation/Makefile || die "sed failed"
+
+ # Fix git-subtree missing DESTDIR
+ sed -i \
+ -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
+ -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
+ contrib/subtree/Makefile
+}
+
+git_emake() {
+ # bug #326625: PERL_PATH, PERL_MM_OPT
+ # bug #320647: PYTHON_PATH
+ PYTHON_PATH=""
+ use python && PYTHON_PATH="${PYTHON}"
+ emake ${MY_MAKEOPTS} \
+ DESTDIR="${D}" \
+ OPTCFLAGS="${CFLAGS}" \
+ OPTLDFLAGS="${LDFLAGS}" \
+ OPTCC="$(tc-getCC)" \
+ OPTAR="$(tc-getAR)" \
+ prefix="${EPREFIX}"/usr \
+ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ sysconfdir="${EPREFIX}"/etc \
+ PYTHON_PATH="${PYTHON_PATH}" \
+ PERL_MM_OPT="" \
+ GIT_TEST_OPTS="--no-color" \
+ V=1 \
+ "$@"
+ # This is the fix for bug #326625, but it also causes breakage, see bug
+ # #352693.
+ # PERL_PATH="${EPREFIX}/usr/bin/env perl" \
+}
+
+src_configure() {
+ exportmakeopts
+}
+
+src_compile() {
+ if use perl ; then
+ git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
+ git_emake perl/perl.mak || die "emake perl/perl.mak failed"
+ fi
+ git_emake || die "emake failed"
+
+ if use emacs ; then
+ elisp-compile contrib/emacs/git{,-blame}.el
+ fi
+
+ if use perl && use cgi ; then
+ git_emake \
+ gitweb/gitweb.cgi \
+ || die "emake gitweb/gitweb.cgi failed"
+ fi
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
+ git_emake || die "emake credential-osxkeychain"
+ fi
+
+ cd "${S}"/Documentation
+ if [[ ${PV} == *9999 ]] ; then
+ git_emake man \
+ || die "emake man failed"
+ if use doc ; then
+ git_emake info html \
+ || die "emake info html failed"
+ fi
+ else
+ if use doc ; then
+ git_emake info \
+ || die "emake info html failed"
+ fi
+ fi
+
+ if use subversion ; then
+ cd "${S}"/contrib/svn-fe
+ git_emake EXTLIBS="${EXTLIBS}" || die "emake svn-fe failed"
+ if use doc ; then
+ git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
+ fi
+ cd "${S}"
+ fi
+
+ if use gnome-keyring ; then
+ cd "${S}"/contrib/credential/gnome-keyring
+ git_emake || die "emake git-credential-gnome-keyring failed"
+ fi
+
+ cd "${S}"/contrib/subtree
+ git_emake
+ use doc && git_emake doc
+
+ if use mediawiki ; then
+ cd "${S}"/contrib/mw-to-git
+ git_emake
+ fi
+}
+
+src_install() {
+ git_emake \
+ install || \
+ die "make install failed"
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ dobin contrib/credential/osxkeychain/git-credential-osxkeychain
+ fi
+
+ # Depending on the tarball and manual rebuild of the documentation, the
+ # manpages may exist in either OR both of these directories.
+ find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
+ find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
+
+ dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
+ use doc && dodir /usr/share/doc/${PF}/html
+ for d in / /howto/ /technical/ ; do
+ docinto ${d}
+ dodoc Documentation${d}*.txt
+ use doc && dohtml -p ${d} Documentation${d}*.html
+ done
+ docinto /
+ # Upstream does not ship this pre-built :-(
+ use doc && doinfo Documentation/{git,gitman}.info
+
+ newbashcomp contrib/completion/git-completion.bash ${PN}
+ # Not really a bash-completion file (bug #477920)
+ dodoc contrib/completion/git-prompt.sh
+
+ if use emacs ; then
+ elisp-install ${PN} contrib/emacs/git.{el,elc}
+ elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
+ #elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
+ # don't add automatically to the load-path, so the sitefile
+ # can do a conditional loading
+ touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+ fi
+
+ if use python && use gtk ; then
+ python_doscript "${S}"/contrib/gitview/gitview
+ dodoc "${S}"/contrib/gitview/gitview.txt
+ fi
+
+ #dobin contrib/fast-import/git-p4 # Moved upstream
+ #dodoc contrib/fast-import/git-p4.txt # Moved upstream
+ newbin contrib/fast-import/import-tars.perl import-tars
+ exeinto /usr/libexec/git-core/
+ newexe contrib/git-resurrect.sh git-resurrect
+
+ # git-subtree
+ cd "${S}"/contrib/subtree
+ git_emake install || die "Failed to emake install git-subtree"
+ if use doc ; then
+ git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
+ fi
+ newdoc README README.git-subtree
+ dodoc git-subtree.txt
+ cd "${S}"
+
+ if use mediawiki ; then
+ cd "${S}"/contrib/mw-to-git
+ git_emake install
+ cd "${S}"
+ fi
+
+ # git-diffall
+ dobin contrib/diffall/git-diffall
+ newdoc contrib/diffall/README git-diffall.txt
+
+ # diff-highlight
+ dobin contrib/diff-highlight/diff-highlight
+ newdoc contrib/diff-highlight/README README.diff-highlight
+
+ # git-jump
+ exeinto /usr/libexec/git-core/
+ doexe contrib/git-jump/git-jump
+ newdoc contrib/git-jump/README git-jump.txt
+
+ # git-contacts
+ exeinto /usr/libexec/git-core/
+ doexe contrib/contacts/git-contacts
+ dodoc contrib/contacts/git-contacts.txt
+
+ if use gnome-keyring ; then
+ cd "${S}"/contrib/credential/gnome-keyring
+ dobin git-credential-gnome-keyring
+ fi
+
+ if use subversion ; then
+ cd "${S}"/contrib/svn-fe
+ dobin svn-fe
+ dodoc svn-fe.txt
+ use doc && doman svn-fe.1 && dohtml svn-fe.html
+ cd "${S}"
+ fi
+
+ # remote-helpers
+ if use python ; then
+ python_scriptinto /usr/libexec/git-core/
+ python_doscript "${S}"/contrib/remote-helpers/git-remote-{bzr,hg}
+ python_optimize
+ fi
+
+ dodir /usr/share/${PN}/contrib
+ # The following are excluded:
+ # completion - installed above
+ # credential/gnome-keyring TODO
+ # diff-highlight - done above
+ # diffall - done above
+ # emacs - installed above
+ # examples - these are stuff that is not used in Git anymore actually
+ # git-jump - done above
+ # gitview - installed above
+ # p4import - excluded because fast-import has a better one
+ # patches - stuff the Git guys made to go upstream to other places
+ # persistent-https - TODO
+ # mw-to-git - TODO
+ # subtree - build seperately
+ # svnimport - use git-svn
+ # thunderbird-patch-inline - fixes thunderbird
+ for i in \
+ buildsystems convert-objects fast-import \
+ hg-to-git hooks remotes2config.sh rerere-train.sh \
+ stats vim workdir \
+ ; do
+ cp -rf \
+ "${S}"/contrib/${i} \
+ "${ED}"/usr/share/${PN}/contrib \
+ || die "Failed contrib ${i}"
+ done
+
+ if use perl && use cgi ; then
+ # We used to install in /usr/share/${PN}/gitweb
+ # but upstream installs in /usr/share/gitweb
+ # so we will install a symlink and use their location for compat with other
+ # distros
+ dosym /usr/share/gitweb /usr/share/${PN}/gitweb
+
+ # INSTALL discusses configuration issues, not just installation
+ docinto /
+ newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
+ newdoc "${S}"/gitweb/README README.gitweb
+
+ find "${ED}"/usr/lib64/perl5/ \
+ -name .packlist \
+ -exec rm \{\} \;
+ else
+ rm -rf "${ED}"/usr/share/gitweb
+ fi
+
+ if ! use subversion ; then
+ rm -f "${ED}"/usr/libexec/git-core/git-svn \
+ "${ED}"/usr/share/man/man1/git-svn.1*
+ fi
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/git-daemon.xinetd git-daemon
+ fi
+
+ if use !prefix ; then
+ newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
+ newconfd "${FILESDIR}"/git-daemon.confd git-daemon
+ systemd_newunit "${FILESDIR}/git-daemon_at.service" "git-daemon@.service"
+ systemd_dounit "${FILESDIR}/git-daemon.socket"
+ fi
+
+ perl_delete_localpod
+}
+
+src_test() {
+ local disabled=""
+ 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/bash-completion/git-prompt for Git bash prompt"
+ einfo "Note that the prompt bash code is now in the seperate script"
+ elog "These additional scripts need some dependencies:"
+ echo
+ showpkgdeps git-quiltimport "dev-util/quilt"
+ showpkgdeps git-instaweb \
+ "|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
+ echo
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-vcs/git/git-1.9.5.ebuild b/dev-vcs/git/git-1.9.5.ebuild
new file mode 100644
index 000000000000..a6dbd35c558c
--- /dev/null
+++ b/dev-vcs/git/git-1.9.5.ebuild
@@ -0,0 +1,640 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+GENTOO_DEPEND_ON_PERL=no
+
+# bug #329479: git-remote-testgit is not multiple-version aware
+PYTHON_COMPAT=( python2_7 )
+[[ ${PV} == *9999 ]] && SCM="git-2"
+EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
+
+inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python-single-r1 systemd ${SCM}
+
+MY_PV="${PV/_rc/.rc}"
+MY_P="${PN}-${MY_PV}"
+
+DOC_VER=${MY_PV}
+
+DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
+HOMEPAGE="http://www.git-scm.com/"
+if [[ ${PV} != *9999 ]]; then
+ SRC_URI_SUFFIX="gz"
+ SRC_URI_GOOG="http://git-core.googlecode.com/files"
+ SRC_URI_KORG="mirror://kernel/software/scm/git"
+ SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
+ ${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
+ ${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+ ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+ doc? (
+ ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+ ${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+ )"
+ KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv mediawiki +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
+
+# Common to both DEPEND and RDEPEND
+CDEPEND="
+ dev-libs/openssl
+ sys-libs/zlib
+ pcre? ( dev-libs/libpcre )
+ perl? ( dev-lang/perl:=[-build(-)] )
+ tk? ( dev-lang/tk )
+ curl? (
+ net-misc/curl
+ webdav? ( dev-libs/expat )
+ )
+ emacs? ( virtual/emacs )
+ gnome-keyring? ( gnome-base/libgnome-keyring )"
+
+RDEPEND="${CDEPEND}
+ gpg? ( app-crypt/gnupg )
+ mediawiki? (
+ dev-perl/HTML-Tree
+ dev-perl/MediaWiki-API
+ )
+ perl? ( dev-perl/Error
+ dev-perl/Net-SMTP-SSL
+ dev-perl/Authen-SASL
+ cgi? ( dev-perl/CGI highlight? ( app-text/highlight ) )
+ cvs? ( >=dev-vcs/cvsps-2.1:0 dev-perl/DBI dev-perl/DBD-SQLite )
+ subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
+ )
+ python? ( gtk?
+ (
+ >=dev-python/pygtk-2.8[${PYTHON_USEDEP}]
+ >=dev-python/pygtksourceview-2.10.1-r1:2[${PYTHON_USEDEP}]
+ )
+ ${PYTHON_DEPS} )"
+
+# This is how info docs are created with Git:
+# .txt/asciidoc --(asciidoc)---------> .xml/docbook
+# .xml/docbook --(docbook2texi.pl)--> .texi
+# .texi --(makeinfo)---------> .info
+DEPEND="${CDEPEND}
+ app-arch/cpio
+ doc? (
+ app-text/asciidoc
+ app-text/docbook2X
+ sys-apps/texinfo
+ app-text/xmlto
+ )
+ nls? ( sys-devel/gettext )
+ test? ( app-crypt/gnupg )"
+
+# Live ebuild builds man pages and HTML docs, additionally
+if [[ ${PV} == *9999 ]]; then
+ DEPEND="${DEPEND}
+ app-text/asciidoc"
+fi
+
+SITEFILE=50${PN}-gentoo.el
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+ cgi? ( perl )
+ cvs? ( perl )
+ mediawiki? ( perl )
+ subversion? ( perl )
+ webdav? ( curl )
+ gtk? ( python )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+pkg_setup() {
+ if use subversion && has_version "dev-vcs/subversion[dso]"; then
+ ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
+ ewarn "with USE=dso, there may be weird crashes in git-svn. You"
+ ewarn "have been warned."
+ fi
+ if use python ; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+# This is needed because for some obscure reasons future calls to make don't
+# pick up these exports if we export them in src_unpack()
+exportmakeopts() {
+ local myopts
+
+ if use blksha1 ; then
+ myopts="${myopts} BLK_SHA1=YesPlease"
+ elif use ppcsha1 ; then
+ myopts="${myopts} PPC_SHA1=YesPlease"
+ fi
+
+ if use curl ; then
+ use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
+ else
+ myopts="${myopts} NO_CURL=YesPlease"
+ fi
+
+ # broken assumptions, because of broken build system ...
+ myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
+ myopts="${myopts} INSTALL=install TAR=tar"
+ myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
+ myopts="${myopts} SANE_TOOL_PATH="
+ myopts="${myopts} OLD_ICONV="
+ myopts="${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="${myopts} NO_ICONV=YesPlease"
+ use nls \
+ || myopts="${myopts} NO_GETTEXT=YesPlease"
+ use tk \
+ || myopts="${myopts} NO_TCLTK=YesPlease"
+ use pcre \
+ && myopts="${myopts} USE_LIBPCRE=yes" \
+ && extlibs="${extlibs} -lpcre"
+ use perl \
+ && myopts="${myopts} INSTALLDIRS=vendor" \
+ || myopts="${myopts} NO_PERL=YesPlease"
+ use python \
+ || myopts="${myopts} NO_PYTHON=YesPlease"
+ use subversion \
+ || myopts="${myopts} NO_SVN_TESTS=YesPlease"
+ use threads \
+ && myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease" \
+ || myopts="${myopts} NO_PTHREADS=YesPlease"
+ use cvs \
+ || myopts="${myopts} NO_CVS=YesPlease"
+# Disabled until ~m68k-mint can be keyworded again
+# if [[ ${CHOST} == *-mint* ]] ; then
+# myopts="${myopts} NO_MMAP=YesPlease"
+# myopts="${myopts} NO_IPV6=YesPlease"
+# myopts="${myopts} NO_STRLCPY=YesPlease"
+# myopts="${myopts} NO_MEMMEM=YesPlease"
+# myopts="${myopts} NO_MKDTEMP=YesPlease"
+# myopts="${myopts} NO_MKSTEMPS=YesPlease"
+# fi
+ if [[ ${CHOST} == ia64-*-hpux* ]]; then
+ myopts="${myopts} NO_NSEC=YesPlease"
+ fi
+ if [[ ${CHOST} == *-*-aix* ]]; then
+ myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
+ fi
+ if [[ ${CHOST} == *-solaris* ]]; then
+ myopts="${myopts} NEEDS_LIBICONV=YesPlease"
+ fi
+
+ has_version '>=app-text/asciidoc-8.0' \
+ && myopts="${myopts} ASCIIDOC8=YesPlease"
+ myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
+
+ # Bug 290465:
+ # builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
+ [[ "${CHOST}" == *-uclibc* ]] && \
+ myopts="${myopts} NO_NSEC=YesPlease"
+
+ export MY_MAKEOPTS="${myopts}"
+ export EXTLIBS="${extlibs}"
+}
+
+src_unpack() {
+ if [[ ${PV} != *9999 ]]; then
+ unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
+ cd "${S}"
+ unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+ use doc && \
+ cd "${S}"/Documentation && \
+ unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
+ cd "${S}"
+ else
+ git-2_src_unpack
+ cd "${S}"
+ #cp "${FILESDIR}"/GIT-VERSION-GEN .
+ fi
+
+}
+
+src_prepare() {
+ # bug #350330 - automagic CVS when we don't want it is bad.
+ epatch "${FILESDIR}"/git-1.9.0_rc3-optional-cvs.patch
+
+ # install mediawiki perl modules also in vendor_dir
+ # hack, needs better upstream solution
+ epatch "${FILESDIR}"/git-1.8.5-mw-vendor.patch
+
+ epatch_user
+
+ sed -i \
+ -e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
+ -e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
+ -e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
+ -e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
+ -e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+ -e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
+ Makefile contrib/svn-fe/Makefile || die "sed failed"
+
+ # Never install the private copy of Error.pm (bug #296310)
+ sed -i \
+ -e '/private-Error.pm/s,^,#,' \
+ perl/Makefile.PL
+
+ # Fix docbook2texi command
+ sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
+ Documentation/Makefile || die "sed failed"
+
+ # Fix git-subtree missing DESTDIR
+ sed -i \
+ -e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
+ -e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
+ contrib/subtree/Makefile
+}
+
+git_emake() {
+ # bug #326625: PERL_PATH, PERL_MM_OPT
+ # bug #320647: PYTHON_PATH
+ PYTHON_PATH=""
+ use python && PYTHON_PATH="${PYTHON}"
+ emake ${MY_MAKEOPTS} \
+ DESTDIR="${D}" \
+ OPTCFLAGS="${CFLAGS}" \
+ OPTLDFLAGS="${LDFLAGS}" \
+ OPTCC="$(tc-getCC)" \
+ OPTAR="$(tc-getAR)" \
+ prefix="${EPREFIX}"/usr \
+ htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ sysconfdir="${EPREFIX}"/etc \
+ PYTHON_PATH="${PYTHON_PATH}" \
+ PERL_MM_OPT="" \
+ GIT_TEST_OPTS="--no-color" \
+ V=1 \
+ "$@"
+ # This is the fix for bug #326625, but it also causes breakage, see bug
+ # #352693.
+ # PERL_PATH="${EPREFIX}/usr/bin/env perl" \
+}
+
+src_configure() {
+ exportmakeopts
+}
+
+src_compile() {
+ if use perl ; then
+ git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
+ git_emake perl/perl.mak || die "emake perl/perl.mak failed"
+ fi
+ git_emake || die "emake failed"
+
+ if use emacs ; then
+ elisp-compile contrib/emacs/git{,-blame}.el
+ fi
+
+ if use perl && use cgi ; then
+ git_emake \
+ gitweb/gitweb.cgi \
+ || die "emake gitweb/gitweb.cgi failed"
+ fi
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
+ git_emake || die "emake credential-osxkeychain"
+ fi
+
+ cd "${S}"/Documentation
+ if [[ ${PV} == *9999 ]] ; then
+ git_emake man \
+ || die "emake man failed"
+ if use doc ; then
+ git_emake info html \
+ || die "emake info html failed"
+ fi
+ else
+ if use doc ; then
+ git_emake info \
+ || die "emake info html failed"
+ fi
+ fi
+
+ if use subversion ; then
+ cd "${S}"/contrib/svn-fe
+ git_emake EXTLIBS="${EXTLIBS}" || die "emake svn-fe failed"
+ if use doc ; then
+ git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
+ fi
+ cd "${S}"
+ fi
+
+ if use gnome-keyring ; then
+ cd "${S}"/contrib/credential/gnome-keyring
+ git_emake || die "emake git-credential-gnome-keyring failed"
+ fi
+
+ cd "${S}"/contrib/subtree
+ git_emake
+ use doc && git_emake doc
+
+ if use mediawiki ; then
+ cd "${S}"/contrib/mw-to-git
+ git_emake
+ fi
+}
+
+src_install() {