Page MenuHomeFreeBSD

D30238.id89175.diff
No OneTemporary

D30238.id89175.diff

Index: devel/git-cvs/Makefile
===================================================================
--- /dev/null
+++ devel/git-cvs/Makefile
@@ -0,0 +1,8 @@
+COMMENT= CVS emulation and import/export for git
+
+SUBPORT= 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
+
+SUBPORT= 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
+
+SUBPORT= 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}}
+SUBPORT?= core
+
+.if ${SUBPORT} != core
+PKGNAMESUFFIX= -${SUBPORT}
+.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 ${SUBPORT} == 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 ${SUBPORT} == 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 ${SUBPORT} == 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 \
@@ -68,21 +77,23 @@
CONFIGURE_ARGS= --enable-pthreads=-pthread ac_cv_header_libcharset_h=no
-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_DEFINE= CONTRIB CURL GITWEB GUI HTMLDOCS ICONV NLS PCRE2 PERL \
+ SEND_EMAIL SUBTREE
+OPTIONS_DEFAULT=CONTRIB CURL GITWEB ICONV PCRE2 PERL SEND_EMAIL \
SUBTREE
+
+.if ${SUBPORT} == 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
+
OPTIONS_SUB= yes
.if !empty(FLAVOR) && ${FLAVOR:U} != default
@@ -91,10 +102,8 @@
CONTRIB_DESC= Install contributed scripts
CURL_DESC= Install curl support (provides HTTPS transport)
-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,17 +141,37 @@
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
+
+SUBTREE_BUILD_DEPENDS= asciidoctor:textproc/rubygem-asciidoctor\
+ xmlto:textproc/xmlto
+
+
+.else
+
+OPTIONS_DEFINE=
+OPTIONS_DEFAULT=
+
+USES+= perl5
+CONFIGURE_WITH+= perl=${PERL}
+MAKE_ARGS+= NO_GETTEXT=yes NO_TCLTK=yes
+
+RUN_DEPENDS+= git=${PKGVERSION}:devel/git
+
+.if ${SUBPORT} == cvs
+RUN_DEPENDS+= cvsps:devel/cvsps
+.elif ${SUBPORT} == svn
+RUN_DEPENDS+= p5-Term-ReadKey>=0:devel/p5-Term-ReadKey
.if ${WITH_SUBVERSION_VER:U} == LTS
-SVN_RUN_DEPENDS+= p5-subversion-lts>=0:devel/p5-subversion
+RUN_DEPENDS+= p5-subversion-lts>=0:devel/p5-subversion
.else
-SVN_RUN_DEPENDS+= p5-subversion>=0:devel/p5-subversion
+RUN_DEPENDS+= p5-subversion>=0:devel/p5-subversion
+.endif
+
+.endif
+
.endif
-SUBTREE_BUILD_DEPENDS= asciidoctor:textproc/rubygem-asciidoctor\
- xmlto:textproc/xmlto
-CVS_RUN_DEPENDS= cvsps:devel/cvsps
.include <bsd.port.options.mk>
@@ -151,7 +180,7 @@
ALL_TARGET= all strip
.endif
-.if ${PORT_OPTIONS:MP4} || ${PORT_OPTIONS:MCONTRIB}
+.if ${SUBPORT} == p4 || ${PORT_OPTIONS:MCONTRIB}
USES+= python
CONFIGURE_ARGS+= --with-python=${PYTHON_CMD}
.else
@@ -164,11 +193,15 @@
gitk.1
.endif
-.if empty(PORT_OPTIONS:MSVN)
+.if ${SUBPORT} != p4
+RMMAN1+= git-p4.1
+.endif
+
+.if ${SUBPORT} != svn
RMMAN1+= git-svn.1
.endif
-.if empty(PORT_OPTIONS:MCVS)
+.if ${SUBPORT} != cvs
RMMAN1+= git-cvsimport.1 \
git-cvsexportcommit.1 \
git-cvsserver.1
@@ -189,34 +222,35 @@
@${RM} ${WRKDIR}/man7/${FILE}
.endfor
@${REINPLACE_CMD} -e "s,%%SITE_PERL%%,${SITE_PERL},g" ${WRKSRC}/Makefile
-
-post-patch-CONTRIB-on:
- @${REINPLACE_CMD} -e "s,/usr/bin/perl,${PERL}," \
- ${WRKSRC}/contrib/diff-highlight/Makefile
-
-post-patch-CVS-off:
+.if ${SUBPORT} != cvs
@${REINPLACE_CMD} -e '/git-cvsexportcommit.perl/d; \
/git-cvsimport.perl/d; \
/git-cvsserver.perl/d; \
/documented,gitcvs-migration/d; \
s/git-cvsserver//' \
${WRKSRC}/Makefile
-
-post-patch-SVN-off:
+.endif
+.if ${SUBPORT} != p4
+ @${REINPLACE_CMD} -e '/^SCRIPT_PYTHON += git-p4.py$$/d' ${WRKSRC}/Makefile
+.endif
+.if ${SUBPORT} != svn
@${REINPLACE_CMD} -e '/git-svn.perl/d' ${WRKSRC}/Makefile
+.endif
+
+post-patch-CONTRIB-on:
+ @${REINPLACE_CMD} -e "s,/usr/bin/perl,${PERL}," \
+ ${WRKSRC}/contrib/diff-highlight/Makefile
post-patch-GITWEB-off:
@${REINPLACE_CMD} -e '/$$(MAKE) -C gitweb install/d' ${WRKSRC}/Makefile
@${REINPLACE_CMD} -e "s,/usr/bin/perl,${PERL}," ${WRKSRC}/t/lib-gitweb.sh
-post-patch-P4-off:
- @${REINPLACE_CMD} -e '/^SCRIPT_PYTHON += git-p4.py$$/d' ${WRKSRC}/Makefile
-
-.if ${PORT_OPTIONS:MP4} || ${PORT_OPTIONS:MCONTRIB}
+.if ${SUBPORT} == p4 || ${PORT_OPTIONS:MCONTRIB}
post-build:
@${FIND} ${WRKSRC} -name "*.bak" -delete
.endif
+.if ${SUBPORT} == core
post-build-CONTRIB-on:
${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC}/contrib/diff-highlight
${RM} ${WRKSRC}/contrib/diff-highlight/shebang.perl
@@ -253,12 +287,54 @@
${MKDIR} ${STAGEDIR}${PREFIX}/share/git-core/contrib
${CP} -R ${WRKSRC}/contrib/* ${STAGEDIR}${PREFIX}/share/git-core/contrib
-post-install-P4-on:
- ${INSTALL_SCRIPT} ${WRKSRC}/git-p4.py ${STAGEDIR}${PREFIX}/bin/
-
post-install-GITWEB-on:
${MKDIR} ${STAGEDIR}${ETCDIR}
${INSTALL_DATA} ${WRKDIR}/gitweb.conf \
${STAGEDIR}${ETCDIR}/gitweb.conf.sample
+.elif ${SUBPORT} == 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 ${SUBPORT} == 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 ${SUBPORT} == 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 <bsd.port.mk>
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

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 19, 1:13 AM (11 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23903017
Default Alt Text
D30238.id89175.diff (13 KB)

Event Timeline