Index: devel/git-cvs/Makefile =================================================================== --- /dev/null +++ devel/git-cvs/Makefile @@ -0,0 +1,8 @@ +COMMENT= CVS emulation and import/export for git + +SLAVEPORT= cvs + +MASTERDIR= ${.CURDIR}/../git +DESCR= ${.CURDIR}/pkg-descr + +.include "${MASTERDIR}/Makefile" Index: devel/git-cvs/pkg-descr =================================================================== --- /dev/null +++ devel/git-cvs/pkg-descr @@ -0,0 +1,5 @@ +Various commands to support CVS in git: +- git-cvsexportcommit - Export a single commit to a CVS checkout +- git-cvsimport - Salvage your data out of another SCM people + love to hate +- git-cvsserver - A CVS server emulator for Git Index: devel/git-p4/Makefile =================================================================== --- /dev/null +++ devel/git-p4/Makefile @@ -0,0 +1,8 @@ +COMMENT= Import from and submit to Perforce repositories using git + +SLAVEPORT= p4 + +MASTERDIR= ${.CURDIR}/../git +DESCR= ${.CURDIR}/pkg-descr + +.include "${MASTERDIR}/Makefile" Index: devel/git-p4/pkg-descr =================================================================== --- /dev/null +++ devel/git-p4/pkg-descr @@ -0,0 +1,3 @@ +Import from and submit to Perforce repositories + +This command provides a way to interact with p4 repositories using Git. Index: devel/git-svn/Makefile =================================================================== --- /dev/null +++ devel/git-svn/Makefile @@ -0,0 +1,8 @@ +COMMENT= Bidirectional operation between a Subversion repository and Git + +SLAVEPORT= svn + +MASTERDIR= ${.CURDIR}/../git +DESCR= ${.CURDIR}/pkg-descr + +.include "${MASTERDIR}/Makefile" Index: devel/git-svn/pkg-descr =================================================================== --- /dev/null +++ devel/git-svn/pkg-descr @@ -0,0 +1,5 @@ +Bidirectional operation between a Subversion repository and Git + +git svn is a simple conduit for changesets between Subversion and Git. It +provides a bidirectional flow of changes between a Subversion and a Git +repository. Index: devel/git/Makefile =================================================================== --- devel/git/Makefile +++ devel/git/Makefile @@ -2,7 +2,7 @@ PORTNAME= git DISTVERSION= 2.31.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel MASTER_SITES= KERNEL_ORG/software/scm/git DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ @@ -14,33 +14,40 @@ MAINTAINER= garga@FreeBSD.org COMMENT= Distributed source code management tool ${COMMENT_${FLAVOR}} +SLAVEPORT?= core + +.if ${SLAVEPORT} != core +PKGNAMESUFFIX= -${SLAVEPORT} +.endif + LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING -FLAVORS= default gui lite svn tiny -default_CONFLICTS_INSTALL= git-gui git-lite git-svn git-tiny -gui_CONFLICTS_INSTALL= git git-lite git-svn git-tiny +.if ${SLAVEPORT} == core +FLAVORS= default gui lite tiny +default_CONFLICTS_INSTALL= git-gui git-lite git-tiny +gui_CONFLICTS_INSTALL= git git-lite git-tiny gui_DESCR= ${.CURDIR}/pkg-descr-gui gui_PKGNAMESUFFIX= -gui -lite_CONFLICTS_INSTALL= git git-gui git-svn git-tiny +lite_CONFLICTS_INSTALL= git git-gui git-tiny lite_DESCR= ${.CURDIR}/pkg-descr-lite lite_PKGNAMESUFFIX= -lite -svn_CONFLICTS_INSTALL= git git-gui git-lite git-tiny -svn_DESCR= ${.CURDIR}/pkg-descr-svn -svn_PKGNAMESUFFIX= -svn -tiny_CONFLICTS_INSTALL= git git-gui git-svn git-lite +tiny_CONFLICTS_INSTALL= git git-gui git-lite tiny_DESCR= ${.CURDIR}/pkg-descr-tiny tiny_PKGNAMESUFFIX= -tiny +.endif -USES= autoreconf gmake iconv shebangfix ssl tar:xz +USES= autoreconf gmake iconv shebangfix tar:xz +.if ${SLAVEPORT} == core +USES+= ssl COMMENT_gui= (GUI enabled flavor) COMMENT_lite= (lite flavor) -COMMENT_svn= (SVN enabled flavor) COMMENT_tiny= (tiny flavor) USERS= git_daemon GROUPS= git_daemon +.endif SUB_FILES= pkg-message gitweb.conf @@ -49,7 +56,9 @@ LDFLAGS+= -L${LOCALBASE}/lib MAKE_ARGS+= DEVELOPER= MAKE_ENV+= V=1 +.if ${SLAVEPORT} == core USE_RC_SUBR= git_daemon +.endif SHEBANG_FILES= *.perl */*.perl */*/*.perl */*.pl */*/*.pl */*/*/*.pl \ t/*/*/pre t/*/*/post t/Git-SVN/Utils/*.t \ git-p4.py \ @@ -70,19 +79,32 @@ OPTIONS_DEFINE= CONTRIB CURL CVS GITWEB GUI HTMLDOCS ICONV NLS P4 PCRE2 PERL \ SEND_EMAIL SUBTREE SVN -OPTIONS_DEFAULT=CONTRIB CURL CVS GITWEB ICONV P4 PCRE2 PERL SEND_EMAIL \ +OPTIONS_DEFAULT=CONTRIB CURL CVS GITWEB ICONV PCRE2 PERL SEND_EMAIL \ SUBTREE +OPTIONS_EXCLUDE=CVS P4 SVN + +.if ${SLAVEPORT} == core + .if ${FLAVOR:U} == gui OPTIONS_SLAVE+= GUI .elif ${FLAVOR:U} == lite -OPTIONS_EXCLUDE= GUI SVN GITWEB CONTRIB P4 CVS PERL -.elif ${FLAVOR:U} == svn -OPTIONS_SLAVE+= SVN +OPTIONS_EXCLUDE+= GUI GITWEB CONTRIB PERL .elif ${FLAVOR:U} == tiny OPTIONS_EXCLUDE:= ${OPTIONS_DEFINE:NCURL} OPTIONS_SLAVE= CURL .endif +.elif ${SLAVEPORT} == cvs +OPTIONS_DEFINE= CVS +OPTIONS_SLAVE+= CVS +.elif ${SLAVEPORT} == p4 +OPTIONS_DEFINE= P4 +OPTIONS_SLAVE+= P4 +.elif ${SLAVEPORT} == svn +OPTIONS_DEFINE= SVN +OPTIONS_SLAVE+= SVN +.endif + OPTIONS_SUB= yes .if !empty(FLAVOR) && ${FLAVOR:U} != default @@ -94,7 +116,6 @@ CVS_DESC= Enable CVS support GITWEB_DESC= Install gitweb HTMLDOCS_DESC= Install additional documentation -P4_DESC= Enable Perforce support PCRE2_DESC= Use Perl Compatible Regular Expressions (v2) SEND_EMAIL_DESC=Enable the git-send-email(1) script SUBTREE_DESC= Install git-subtree @@ -132,7 +153,8 @@ GUI_MAKE_ARGS= TCL_PATH=${TCLSH} TCLTK_PATH=${WISH} GUI_MAKE_ARGS_OFF= NO_TCLTK=yes -SVN_RUN_DEPENDS= p5-Term-ReadKey>=0:devel/p5-Term-ReadKey +SVN_RUN_DEPENDS= git=${PKGVERSION}:devel/git \ + p5-Term-ReadKey>=0:devel/p5-Term-ReadKey .if ${WITH_SUBVERSION_VER:U} == LTS SVN_RUN_DEPENDS+= p5-subversion-lts>=0:devel/p5-subversion .else @@ -164,6 +186,10 @@ gitk.1 .endif +.if empty(PORT_OPTIONS:MP4) +RMMAN1+= git-p4.1 +.endif + .if empty(PORT_OPTIONS:MSVN) RMMAN1+= git-svn.1 .endif @@ -217,6 +243,7 @@ @${FIND} ${WRKSRC} -name "*.bak" -delete .endif +.if ${SLAVEPORT} == core post-build-CONTRIB-on: ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC}/contrib/diff-highlight ${RM} ${WRKSRC}/contrib/diff-highlight/shebang.perl @@ -261,4 +288,49 @@ ${INSTALL_DATA} ${WRKDIR}/gitweb.conf \ ${STAGEDIR}${ETCDIR}/gitweb.conf.sample +.elif ${SLAVEPORT} == cvs + +PLIST= ${MASTERDIR}/pkg-plist.cvs + +do-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/git-core + ${INSTALL_SCRIPT} ${WRKSRC}/git-cvsserver ${STAGEDIR}${PREFIX}/bin + ${INSTALL_SCRIPT} ${WRKSRC}/git-cvsexportcommit \ + ${STAGEDIR}${PREFIX}/libexec/git-core/ + ${INSTALL_SCRIPT} ${WRKSRC}/git-cvsimport \ + ${STAGEDIR}${PREFIX}/libexec/git-core/ + ${INSTALL_SCRIPT} ${WRKSRC}/git-cvsserver \ + ${STAGEDIR}${PREFIX}/libexec/git-core/ + ${INSTALL_DATA} ${WRKDIR}/man1/git-cvsimport.1 \ + ${STAGEDIR}${MANPREFIX}/man/man1/ + ${INSTALL_DATA} ${WRKDIR}/man1/git-cvsexportcommit.1 \ + ${STAGEDIR}${MANPREFIX}/man/man1/ + ${INSTALL_DATA} ${WRKDIR}/man1/git-cvsserver.1 \ + ${STAGEDIR}${MANPREFIX}/man/man1/ + ${INSTALL_DATA} ${WRKDIR}/man7/gitcvs-migration.7 \ + ${STAGEDIR}${MANPREFIX}/man/man7/ + +.elif ${SLAVEPORT} == p4 + +PLIST= ${MASTERDIR}/pkg-plist.p4 + +do-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/git-core + ${INSTALL_SCRIPT} ${WRKSRC}/git-p4.py \ + ${STAGEDIR}${PREFIX}/libexec/git-core/git-p4 + ${INSTALL_DATA} ${WRKDIR}/man1/git-p4.1 \ + ${STAGEDIR}${MANPREFIX}/man/man1/ + +.elif ${SLAVEPORT} == svn + +PLIST= ${MASTERDIR}/pkg-plist.svn + +do-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/git-core + ${INSTALL_SCRIPT} ${WRKSRC}/git-svn \ + ${STAGEDIR}${PREFIX}/libexec/git-core/ + ${INSTALL_DATA} ${WRKDIR}/man1/git-svn.1 \ + ${STAGEDIR}${MANPREFIX}/man/man1/ +.endif + .include Index: devel/git/pkg-descr-svn =================================================================== --- devel/git/pkg-descr-svn +++ /dev/null @@ -1,6 +0,0 @@ -Git is a free and open source distributed version control system designed to -handle everything from small to very large projects with speed and efficiency. - -This version provides a package with SVN option enabled. - -WWW: https://git-scm.com/ Index: devel/git/pkg-plist =================================================================== --- devel/git/pkg-plist +++ devel/git/pkg-plist @@ -1,6 +1,4 @@ bin/git -%%CVS%%bin/git-cvsserver -%%P4%%bin/git-p4.py bin/git-receive-pack bin/git-shell bin/git-upload-archive @@ -62,9 +60,6 @@ libexec/git-core/git-credential-cache libexec/git-core/git-credential-cache--daemon libexec/git-core/git-credential-store -%%CVS%%libexec/git-core/git-cvsexportcommit -%%CVS%%libexec/git-core/git-cvsimport -%%CVS%%libexec/git-core/git-cvsserver libexec/git-core/git-daemon libexec/git-core/git-describe libexec/git-core/git-diff @@ -127,7 +122,6 @@ libexec/git-core/git-multi-pack-index libexec/git-core/git-name-rev libexec/git-core/git-notes -%%P4%%libexec/git-core/git-p4 libexec/git-core/git-pack-objects libexec/git-core/git-pack-redundant libexec/git-core/git-pack-refs @@ -179,7 +173,6 @@ libexec/git-core/git-submodule libexec/git-core/git-submodule--helper %%SUBTREE%%libexec/git-core/git-subtree -%%SVN%%libexec/git-core/git-svn libexec/git-core/git-switch libexec/git-core/git-symbolic-ref libexec/git-core/git-tag @@ -254,9 +247,6 @@ man/man1/git-credential-cache.1.gz man/man1/git-credential-store.1.gz man/man1/git-credential.1.gz -%%CVS%%man/man1/git-cvsexportcommit.1.gz -%%CVS%%man/man1/git-cvsimport.1.gz -%%CVS%%man/man1/git-cvsserver.1.gz man/man1/git-daemon.1.gz man/man1/git-describe.1.gz man/man1/git-diff-files.1.gz @@ -311,7 +301,6 @@ man/man1/git-multi-pack-index.1.gz man/man1/git-name-rev.1.gz man/man1/git-notes.1.gz -man/man1/git-p4.1.gz man/man1/git-pack-objects.1.gz man/man1/git-pack-redundant.1.gz man/man1/git-pack-refs.1.gz @@ -357,7 +346,6 @@ man/man1/git-stripspace.1.gz man/man1/git-submodule.1.gz %%SUBTREE%%man/man1/git-subtree.1.gz -%%SVN%%man/man1/git-svn.1.gz man/man1/git-switch.1.gz man/man1/git-symbolic-ref.1.gz man/man1/git-tag.1.gz @@ -389,7 +377,6 @@ man/man7/gitcli.7.gz man/man7/gitcore-tutorial.7.gz man/man7/gitcredentials.7.gz -%%CVS%%man/man7/gitcvs-migration.7.gz man/man7/gitdiffcore.7.gz man/man7/giteveryday.7.gz man/man7/gitfaq.7.gz Index: devel/git/pkg-plist.cvs =================================================================== --- /dev/null +++ devel/git/pkg-plist.cvs @@ -0,0 +1,8 @@ +bin/git-cvsserver +libexec/git-core/git-cvsexportcommit +libexec/git-core/git-cvsimport +libexec/git-core/git-cvsserver +man/man1/git-cvsexportcommit.1.gz +man/man1/git-cvsimport.1.gz +man/man1/git-cvsserver.1.gz +man/man7/gitcvs-migration.7.gz Index: devel/git/pkg-plist.p4 =================================================================== --- /dev/null +++ devel/git/pkg-plist.p4 @@ -0,0 +1,2 @@ +libexec/git-core/git-p4 +man/man1/git-p4.1.gz Index: devel/git/pkg-plist.svn =================================================================== --- /dev/null +++ devel/git/pkg-plist.svn @@ -0,0 +1,2 @@ +libexec/git-core/git-svn +man/man1/git-svn.1.gz