aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2021-10-08 11:48:52 +0000
committerRenato Botelho <garga@FreeBSD.org>2021-10-12 15:18:54 +0000
commitff5ded75bcda28c580623504e01f5db8eb6be9cf (patch)
tree0af5322eeab97f2efffabf4008c252a0bd8eb28e
parentae22a7846afe2f4c0ac5bc88c5a63001c5eeafb1 (diff)
downloadports-ff5ded75bcda28c580623504e01f5db8eb6be9cf.tar.gz
ports-ff5ded75bcda28c580623504e01f5db8eb6be9cf.zip
devel/git: Split into subpackages
Removed CVS, GUI, PERFORCE and SUBVERSION options and also gui and svn FLAVORS, and create 4 new subports: devel/git-cvs devel/git-gui devel/git-p4 devel/git-svn All these packages depend of devel/git and install only additional files and manpages. This work is based on initial patch submitted by grembo@i at review D30238. PR: 251090 Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D32369
-rw-r--r--MOVED2
-rw-r--r--UPDATING15
-rw-r--r--devel/Makefile4
-rw-r--r--devel/git-cvs/Makefile9
-rw-r--r--devel/git-cvs/pkg-descr5
-rw-r--r--devel/git-cvs/pkg-plist8
-rw-r--r--devel/git-gui/Makefile9
-rw-r--r--devel/git-gui/pkg-descr1
-rw-r--r--devel/git-gui/pkg-plist78
-rw-r--r--devel/git-p4/Makefile9
-rw-r--r--devel/git-p4/pkg-descr3
-rw-r--r--devel/git-p4/pkg-plist2
-rw-r--r--devel/git-svn/Makefile9
-rw-r--r--devel/git-svn/pkg-descr5
-rw-r--r--devel/git-svn/pkg-plist2
-rw-r--r--devel/git/Makefile233
-rw-r--r--devel/git/files/patch-Makefile21
-rw-r--r--devel/git/pkg-descr-gui6
-rw-r--r--devel/git/pkg-descr-lite2
-rw-r--r--devel/git/pkg-descr-svn6
-rw-r--r--devel/git/pkg-descr-tiny2
-rw-r--r--devel/git/pkg-plist91
22 files changed, 346 insertions, 176 deletions
diff --git a/MOVED b/MOVED
index 1287c0a1a27b..d51d72b9acfc 100644
--- a/MOVED
+++ b/MOVED
@@ -15420,7 +15420,6 @@ devel/cx_Freeze||2020-09-19|Has expired: Uses deprecated version of python
devel/euca2ools||2020-09-19|Has expired: Uses deprecated version of python
devel/evolution-gconf-tools||2020-09-19|Has expired: Uses deprecated version of python
devel/git-bzr-ng||2020-09-19|Has expired: Uses deprecated version of python
-devel/git-cvs||2020-09-19|Has expired: Uses deprecated version of python
devel/git-remote-hg||2020-09-19|Has expired: Uses deprecated version of python
devel/grumpy||2020-09-19|Has expired: Uses deprecated version of python
devel/hg-git||2020-09-19|Has expired: Uses deprecated version of python
@@ -15558,7 +15557,6 @@ lang/spidermonkey68|lang/spidermonkey78|2020-10-01|Replaced by a more recent ver
audio/zinf||2020-10-02|Has expired: Does not build, no upstream
emulators/qemu-sbruno|emulators/qemu|2020-10-02|Has expired: Port will be removed in favor of emulators/qemu
dns/knot2-lib|dns/knot3-lib|2020-10-04|Replaced by a more recent version
-devel/git-gui|devel/git@gui|2020-10-12|Replaced by a flavor
devel/git-lite|devel/git@lite|2020-10-12|Replaced by a flavor
graphics/libxatracker|graphics/mesa-gallium-xa|2020-10-12|Rename to have all gallium driver properly named
sysutils/gnome-mount||2020-10-12|Replaced by gio/gvfs
diff --git a/UPDATING b/UPDATING
index d3b1696e6298..5574f9d46ce6 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,21 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
+20211012:
+ AFFECTS: users of devel/git
+ AUTHOR: garga@FreeBSD.org
+
+ devel/git port was split into multiple sub-ports that depend on devel/git
+ and install additional files:
+
+ - devel/git-cvs - CVS related scripts and man pages
+ - devel/git-gui - GUI related scripts and man pages
+ - devel/git-p4 - Perforce related scripts and man pages
+ - devel/git-svn - Subversion related scripts and man pages
+
+ Due to these changes, CVS, GUI, PERFORCE, and SUBVERSION options
+ as well as gui and svn flavors were removed from the port.
+
20211010:
AFFECTS: users of gtk2 flavored devel/geany*
AUTHOR: madpilot@FreeBSD.org
diff --git a/devel/Makefile b/devel/Makefile
index 563c6d4bcc97..76d991421c39 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -822,15 +822,19 @@
SUBDIR += git-cinnabar
SUBDIR += git-codereview
SUBDIR += git-cola
+ SUBDIR += git-cvs
SUBDIR += git-delta
SUBDIR += git-extras
SUBDIR += git-filter-repo
+ SUBDIR += git-gui
SUBDIR += git-lab
SUBDIR += git-lfs
SUBDIR += git-merge-changelog
SUBDIR += git-modes
+ SUBDIR += git-p4
SUBDIR += git-review
SUBDIR += git-subrepo
+ SUBDIR += git-svn
SUBDIR += git-town
SUBDIR += gitaly
SUBDIR += gitblit
diff --git a/devel/git-cvs/Makefile b/devel/git-cvs/Makefile
new file mode 100644
index 000000000000..c166fc07c0f3
--- /dev/null
+++ b/devel/git-cvs/Makefile
@@ -0,0 +1,9 @@
+COMMENT= CVS emulation and import/export for git
+
+SUBPORT= cvs
+
+MASTERDIR= ${.CURDIR}/../git
+DESCR= ${.CURDIR}/pkg-descr
+PLIST= ${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/git-cvs/pkg-descr b/devel/git-cvs/pkg-descr
new file mode 100644
index 000000000000..46a73b6df915
--- /dev/null
+++ b/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
diff --git a/devel/git-cvs/pkg-plist b/devel/git-cvs/pkg-plist
new file mode 100644
index 000000000000..275735bb4df2
--- /dev/null
+++ b/devel/git-cvs/pkg-plist
@@ -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
diff --git a/devel/git-gui/Makefile b/devel/git-gui/Makefile
new file mode 100644
index 000000000000..e18ff84eb3b7
--- /dev/null
+++ b/devel/git-gui/Makefile
@@ -0,0 +1,9 @@
+COMMENT= Git GUI (Graphical User Interface) components
+
+SUBPORT= gui
+
+MASTERDIR= ${.CURDIR}/../git
+DESCR= ${.CURDIR}/pkg-descr
+PLIST= ${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/git-gui/pkg-descr b/devel/git-gui/pkg-descr
new file mode 100644
index 000000000000..99d351adc071
--- /dev/null
+++ b/devel/git-gui/pkg-descr
@@ -0,0 +1 @@
+Git GUI (Graphical User Interface) components
diff --git a/devel/git-gui/pkg-plist b/devel/git-gui/pkg-plist
new file mode 100644
index 000000000000..42ecf2cbda19
--- /dev/null
+++ b/devel/git-gui/pkg-plist
@@ -0,0 +1,78 @@
+bin/gitk
+libexec/git-core/git-citool
+libexec/git-core/git-gui
+libexec/git-core/git-gui--askpass
+man/man1/git-citool.1.gz
+man/man1/git-gui.1.gz
+man/man1/gitk.1.gz
+share/git-gui/lib/about.tcl
+share/git-gui/lib/blame.tcl
+share/git-gui/lib/branch.tcl
+share/git-gui/lib/branch_checkout.tcl
+share/git-gui/lib/branch_create.tcl
+share/git-gui/lib/branch_delete.tcl
+share/git-gui/lib/branch_rename.tcl
+share/git-gui/lib/browser.tcl
+share/git-gui/lib/checkout_op.tcl
+share/git-gui/lib/choose_font.tcl
+share/git-gui/lib/choose_repository.tcl
+share/git-gui/lib/choose_rev.tcl
+share/git-gui/lib/chord.tcl
+share/git-gui/lib/class.tcl
+share/git-gui/lib/commit.tcl
+share/git-gui/lib/console.tcl
+share/git-gui/lib/database.tcl
+share/git-gui/lib/date.tcl
+share/git-gui/lib/diff.tcl
+share/git-gui/lib/encoding.tcl
+share/git-gui/lib/error.tcl
+share/git-gui/lib/git-gui.ico
+share/git-gui/lib/index.tcl
+share/git-gui/lib/line.tcl
+share/git-gui/lib/logo.tcl
+share/git-gui/lib/merge.tcl
+share/git-gui/lib/mergetool.tcl
+share/git-gui/lib/msgs/bg.msg
+share/git-gui/lib/msgs/de.msg
+share/git-gui/lib/msgs/el.msg
+share/git-gui/lib/msgs/fr.msg
+share/git-gui/lib/msgs/hu.msg
+share/git-gui/lib/msgs/it.msg
+share/git-gui/lib/msgs/ja.msg
+share/git-gui/lib/msgs/nb.msg
+share/git-gui/lib/msgs/pt_br.msg
+share/git-gui/lib/msgs/pt_pt.msg
+share/git-gui/lib/msgs/ru.msg
+share/git-gui/lib/msgs/sv.msg
+share/git-gui/lib/msgs/vi.msg
+share/git-gui/lib/msgs/zh_cn.msg
+share/git-gui/lib/option.tcl
+share/git-gui/lib/remote.tcl
+share/git-gui/lib/remote_add.tcl
+share/git-gui/lib/remote_branch_delete.tcl
+share/git-gui/lib/search.tcl
+share/git-gui/lib/shortcut.tcl
+share/git-gui/lib/spellcheck.tcl
+share/git-gui/lib/sshkey.tcl
+share/git-gui/lib/status_bar.tcl
+share/git-gui/lib/tclIndex
+share/git-gui/lib/themed.tcl
+share/git-gui/lib/tools.tcl
+share/git-gui/lib/tools_dlg.tcl
+share/git-gui/lib/transport.tcl
+share/git-gui/lib/win32.tcl
+share/git-gui/lib/win32_shortcut.js
+share/gitk/lib/msgs/bg.msg
+share/gitk/lib/msgs/ca.msg
+share/gitk/lib/msgs/de.msg
+share/gitk/lib/msgs/es.msg
+share/gitk/lib/msgs/fr.msg
+share/gitk/lib/msgs/hu.msg
+share/gitk/lib/msgs/it.msg
+share/gitk/lib/msgs/ja.msg
+share/gitk/lib/msgs/pt_br.msg
+share/gitk/lib/msgs/pt_pt.msg
+share/gitk/lib/msgs/ru.msg
+share/gitk/lib/msgs/sv.msg
+share/gitk/lib/msgs/vi.msg
+share/gitk/lib/msgs/zh_cn.msg
diff --git a/devel/git-p4/Makefile b/devel/git-p4/Makefile
new file mode 100644
index 000000000000..ce7ce0b1ea2c
--- /dev/null
+++ b/devel/git-p4/Makefile
@@ -0,0 +1,9 @@
+COMMENT= Import from and submit to Perforce repositories using git
+
+SUBPORT= p4
+
+MASTERDIR= ${.CURDIR}/../git
+DESCR= ${.CURDIR}/pkg-descr
+PLIST= ${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/git-p4/pkg-descr b/devel/git-p4/pkg-descr
new file mode 100644
index 000000000000..96da0e2e4b47
--- /dev/null
+++ b/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.
diff --git a/devel/git-p4/pkg-plist b/devel/git-p4/pkg-plist
new file mode 100644
index 000000000000..54a36e31a68c
--- /dev/null
+++ b/devel/git-p4/pkg-plist
@@ -0,0 +1,2 @@
+libexec/git-core/git-p4
+man/man1/git-p4.1.gz
diff --git a/devel/git-svn/Makefile b/devel/git-svn/Makefile
new file mode 100644
index 000000000000..60d0bbe82a5d
--- /dev/null
+++ b/devel/git-svn/Makefile
@@ -0,0 +1,9 @@
+COMMENT= Bidirectional operation between a Subversion repository and Git
+
+SUBPORT= svn
+
+MASTERDIR= ${.CURDIR}/../git
+DESCR= ${.CURDIR}/pkg-descr
+PLIST= ${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/git-svn/pkg-descr b/devel/git-svn/pkg-descr
new file mode 100644
index 000000000000..aa716d2ea7ed
--- /dev/null
+++ b/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.
diff --git a/devel/git-svn/pkg-plist b/devel/git-svn/pkg-plist
new file mode 100644
index 000000000000..783f54bf12ee
--- /dev/null
+++ b/devel/git-svn/pkg-plist
@@ -0,0 +1,2 @@
+libexec/git-core/git-svn
+man/man1/git-svn.1.gz
diff --git a/devel/git/Makefile b/devel/git/Makefile
index 0214bf520891..d0dea2ba690b 100644
--- a/devel/git/Makefile
+++ b/devel/git/Makefile
@@ -12,46 +12,51 @@ EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} \
${PORTNAME}-manpages-${DISTVERSION}${EXTRACT_SUFX}
MAINTAINER= garga@FreeBSD.org
-COMMENT= Distributed source code management tool ${COMMENT_${FLAVOR}}
+COMMENT?= Distributed source code management tool ${COMMENT_${FLAVOR}}
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
-gui_DESCR= ${.CURDIR}/pkg-descr-gui
-gui_PKGNAMESUFFIX= -gui
-lite_CONFLICTS_INSTALL= git git-gui git-svn git-tiny
+SUBPORT?= core
+
+.if ${SUBPORT} != core
+PKGNAMESUFFIX= -${SUBPORT}
+.endif
+
+.if ${SUBPORT} == core
+FLAVORS= default lite tiny
+default_CONFLICTS_INSTALL= git-lite git-tiny
+lite_CONFLICTS_INSTALL= git 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-lite
tiny_DESCR= ${.CURDIR}/pkg-descr-tiny
tiny_PKGNAMESUFFIX= -tiny
+.endif
-USES= autoreconf cpe gmake iconv shebangfix ssl tar:xz
+USES= autoreconf gmake iconv shebangfix tar:xz
CPE_VENDOR= git-scm
-COMMENT_gui= (GUI enabled flavor)
+.if ${SUBPORT} == core
+USES+= ssl
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
GNU_CONFIGURE= yes
CPPFLAGS+= -isystem${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
-MAKE_ARGS+= DEVELOPER=
+MAKE_ARGS= DEVELOPER= NO_TCLTK=yes
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 \
@@ -70,30 +75,27 @@ TEST_TARGET= test
CONFIGURE_ARGS= --enable-pthreads=-pthread ac_cv_header_libcharset_h=no
-OPTIONS_DEFINE= CONTRIB CURL CVS GITWEB GUI HTMLDOCS ICONV NLS PCRE2 PERFORCE PERL \
- SEND_EMAIL SUBTREE SUBVERSION
-OPTIONS_DEFAULT=CONTRIB CURL CVS GITWEB ICONV PCRE2 PERFORCE PERL SEND_EMAIL \
+.if ${SUBPORT} == core
+
+OPTIONS_DEFINE= CONTRIB CURL GITWEB HTMLDOCS ICONV NLS PCRE2 PERL SEND_EMAIL \
SUBTREE
-.if ${FLAVOR:U} == gui
-OPTIONS_SLAVE+= GUI
-.elif ${FLAVOR:U} == lite
-OPTIONS_EXCLUDE= GUI SUBVERSION GITWEB CONTRIB PERFORCE CVS PERL
-.elif ${FLAVOR:U} == svn
-OPTIONS_SLAVE+= SUBVERSION
-.elif ${FLAVOR:U} == tiny
+OPTIONS_DEFAULT=CONTRIB CURL GITWEB ICONV PCRE2 PERL SEND_EMAIL SUBTREE
+
+. if ${FLAVOR:U} == lite
+OPTIONS_EXCLUDE+= GITWEB CONTRIB PERL
+. elif ${FLAVOR:U} == tiny
OPTIONS_EXCLUDE:= ${OPTIONS_DEFINE:NCURL}
OPTIONS_SLAVE= CURL
-.endif
+. endif
OPTIONS_SUB= yes
-.if !empty(FLAVOR) && ${FLAVOR:U} != default
+. if !empty(FLAVOR) && ${FLAVOR:U} != default
OPTIONS_FILE= ${PORT_DBDIR}/${OPTIONS_NAME}/${FLAVOR}-options
-.endif
+. endif
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
PCRE2_DESC= Use Perl Compatible Regular Expressions (v2)
@@ -129,21 +131,34 @@ CURL_MAKE_ARGS_OFF= NO_CURL=1 NO_EXPAT=1
HTMLDOCS_DISTFILES= ${PORTNAME}-htmldocs-${DISTVERSION}${EXTRACT_SUFX}
-GUI_USES= tk
-GUI_MAKE_ARGS= TCL_PATH=${TCLSH} TCLTK_PATH=${WISH}
-GUI_MAKE_ARGS_OFF= NO_TCLTK=yes
-
-SUBVERSION_RUN_DEPENDS= p5-Term-ReadKey>=0:devel/p5-Term-ReadKey
-.if ${WITH_SUBVERSION_VER:U} == LTS
-SUBVERSION_RUN_DEPENDS+= p5-subversion-lts>=0:devel/p5-subversion
-.else
-SUBVERSION_RUN_DEPENDS+= p5-subversion>=0:devel/p5-subversion
-.endif
-
SUBTREE_BUILD_DEPENDS= asciidoctor:textproc/rubygem-asciidoctor\
xmlto:textproc/xmlto
-CVS_RUN_DEPENDS= cvsps:devel/cvsps
+.else
+
+NO_ARCH= yes
+MAKE_ENV+= V=1
+MAKE_ARGS= NO_GETTEXT=yes
+. if ${SUBPORT} != gui
+MAKE_ARGS+= NO_TCLTK=yes
+. endif
+
+RUN_DEPENDS+= git=${PKGVERSION}:devel/git
+
+. if ${SUBPORT} == cvs
+RUN_DEPENDS+= cvsps:devel/cvsps
+. elif ${SUBPORT} == gui
+USES+= tk
+MAKE_ARGS+= TCL_PATH=${TCLSH} TCLTK_PATH=${WISH}
+. elif ${SUBPORT} == svn
+RUN_DEPENDS+= p5-Term-ReadKey>=0:devel/p5-Term-ReadKey
+. if ${WITH_SUBVERSION_VER:U} == LTS
+RUN_DEPENDS+= p5-subversion-lts>=0:devel/p5-subversion
+. else
+RUN_DEPENDS+= p5-subversion>=0:devel/p5-subversion
+. endif
+. endif
+.endif
.include <bsd.port.options.mk>
@@ -152,24 +167,28 @@ CVS_RUN_DEPENDS= cvsps:devel/cvsps
ALL_TARGET= all strip
.endif
-.if ${PORT_OPTIONS:MPERFORCE} || ${PORT_OPTIONS:MCONTRIB}
+.if ${SUBPORT} == p4 || ${PORT_OPTIONS:MCONTRIB}
USES+= python
CONFIGURE_ARGS+= --with-python=${PYTHON_CMD}
.else
CONFIGURE_ARGS+= --without-python
.endif
-.if empty(PORT_OPTIONS:MGUI)
+.if ${SUBPORT} != gui
RMMAN1+= git-citool.1 \
git-gui.1 \
gitk.1
.endif
-.if empty(PORT_OPTIONS:MSUBVERSION)
+.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
@@ -190,42 +209,54 @@ post-patch:
@${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-SUBVERSION-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
+.if ${SUBPORT} == gui
+ @${REINPLACE_CMD} -e "/exec wish/s,wish,${WISH}," \
+ ${WRKSRC}/gitk-git/gitk \
+ ${WRKSRC}/git-gui/git-gui--askpass
+.endif
-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-CONTRIB-on:
+ @${REINPLACE_CMD} -e "s,/usr/bin/perl,${PERL}," \
+ ${WRKSRC}/contrib/diff-highlight/Makefile
-post-patch-PERFORCE-off:
- @${REINPLACE_CMD} -e '/^SCRIPT_PYTHON += git-p4.py$$/d' ${WRKSRC}/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
-.if ${PORT_OPTIONS:MPERFORCE} || ${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
post-install:
- (cd ${WRKDIR}/man1/ && ${COPYTREE_SHARE} . ${STAGEDIR}${MANPREFIX}/man/man1)
- (cd ${WRKDIR}/man5/ && ${COPYTREE_SHARE} . ${STAGEDIR}${MANPREFIX}/man/man5)
- (cd ${WRKDIR}/man7/ && ${COPYTREE_SHARE} . ${STAGEDIR}${MANPREFIX}/man/man7)
+ (cd ${WRKDIR}/man1/ && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${MANPREFIX}/man/man1)
+ (cd ${WRKDIR}/man5/ && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${MANPREFIX}/man/man5)
+ (cd ${WRKDIR}/man7/ && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${MANPREFIX}/man/man7)
${MKDIR} ${STAGEDIR}${PREFIX}/share/emacs/site-lisp/git
${INSTALL_DATA} ${WRKSRC}/contrib/emacs/git.el \
${STAGEDIR}${PREFIX}/share/emacs/site-lisp/git/
@@ -247,7 +278,8 @@ post-install-HTMLDOCS-on:
post-install-SUBTREE-on:
cd ${WRKSRC}/contrib/subtree && ${SETENV} ${MAKE_ENV} \
- ${MAKE_CMD} ${MAKE_FLAGS} Makefile USE_ASCIIDOCTOR=1 ${MAKE_ARGS} install install-doc
+ ${MAKE_CMD} ${MAKE_FLAGS} Makefile USE_ASCIIDOCTOR=1 \
+ ${MAKE_ARGS} install install-doc
post-install-CONTRIB-on:
@${ECHO_MSG} "===> Installing contributed scripts"
@@ -255,12 +287,81 @@ post-install-CONTRIB-on:
${RM} ${WRKSRC}/contrib/credential/netrc/test.netrc.gpg
${CP} -R ${WRKSRC}/contrib/* ${STAGEDIR}${PREFIX}/share/git-core/contrib
-post-install-PERFORCE-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} == gui
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/git-core \
+ ${STAGEDIR}${PREFIX}/share/git-gui/lib/msgs \
+ ${STAGEDIR}${PREFIX}/share/gitk/lib/msgs
+ ${INSTALL_SCRIPT} ${WRKSRC}/gitk-git/gitk \
+ ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/git-gui/git-gui \
+ ${STAGEDIR}${PREFIX}/libexec/git-core/
+ ${LN} ${STAGEDIR}${PREFIX}/libexec/git-core/git-gui \
+ ${STAGEDIR}${PREFIX}/libexec/git-core/git-citool
+ ${INSTALL_SCRIPT} ${WRKSRC}/git-gui/git-gui--askpass \
+ ${STAGEDIR}${PREFIX}/libexec/git-core/
+ ${INSTALL_DATA} ${WRKSRC}/git-gui/lib/tclIndex \
+ ${STAGEDIR}${PREFIX}/share/git-gui/lib/
+ ${INSTALL_DATA} ${WRKSRC}/git-gui/lib/*.ico \
+ ${STAGEDIR}${PREFIX}/share/git-gui/lib/
+ ${INSTALL_DATA} ${WRKSRC}/git-gui/lib/*.js \
+ ${STAGEDIR}${PREFIX}/share/git-gui/lib/
+ ${INSTALL_DATA} ${WRKSRC}/git-gui/lib/*.tcl \
+ ${STAGEDIR}${PREFIX}/share/git-gui/lib/
+ ${INSTALL_DATA} ${WRKSRC}/git-gui/po/*.msg \
+ ${STAGEDIR}${PREFIX}/share/git-gui/lib/msgs/
+ ${INSTALL_DATA} ${WRKSRC}/gitk-git/po/*.msg \
+ ${STAGEDIR}${PREFIX}/share/gitk/lib/msgs/
+ ${INSTALL_DATA} ${WRKDIR}/man1/git-citool.1 \
+ ${STAGEDIR}${MANPREFIX}/man/man1/
+ ${INSTALL_DATA} ${WRKDIR}/man1/git-gui.1 \
+ ${STAGEDIR}${MANPREFIX}/man/man1/
+ ${INSTALL_DATA} ${WRKDIR}/man1/gitk.1 \
+ ${STAGEDIR}${MANPREFIX}/man/man1/
+
+.elif ${SUBPORT} == 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
+
+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
+
+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>
diff --git a/devel/git/files/patch-Makefile b/devel/git/files/patch-Makefile
index 5f41fcb8a69c..17768fe05551 100644
--- a/devel/git/files/patch-Makefile
+++ b/devel/git/files/patch-Makefile
@@ -1,6 +1,6 @@
---- Makefile.orig 2019-02-24 16:31:46 UTC
+--- Makefile.orig 2021-06-06 12:13:45 UTC
+++ Makefile
-@@ -535,16 +535,16 @@ ARFLAGS = rcs
+@@ -520,16 +520,16 @@ GIT-VERSION-FILE: FORCE
prefix = $(HOME)
bindir = $(prefix)/bin
@@ -22,7 +22,18 @@
ETC_GITCONFIG = $(sysconfdir)/gitconfig
ETC_GITATTRIBUTES = $(sysconfdir)/gitattributes
lib = lib
-@@ -1383,9 +1383,9 @@ EXTLIBS += -lz
+@@ -554,8 +554,8 @@ DIFF = diff
+ TAR = tar
+ FIND = find
+ INSTALL = install
+-TCL_PATH = tclsh
+-TCLTK_PATH = wish
++TCL_PATH ?= tclsh
++TCLTK_PATH ?= wish
+ XGETTEXT = xgettext
+ MSGFMT = msgfmt
+ CURL_CONFIG = curl-config
+@@ -1468,9 +1468,9 @@ EXTLIBS += -lz
ifndef NO_OPENSSL
OPENSSL_LIBSSL = -lssl
@@ -35,7 +46,7 @@
else
OPENSSL_LINK =
endif
-@@ -2234,7 +2234,7 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
+@@ -2358,7 +2358,7 @@ git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
chmod +x $@+ && \
mv $@+ $@
else # NO_PERL
@@ -44,7 +55,7 @@
$(QUIET_GEN)$(RM) $@ $@+ && \
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
-e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
-@@ -2250,7 +2250,7 @@ ifndef NO_PYTHON
+@@ -2374,7 +2374,7 @@ ifndef NO_PYTHON
$(SCRIPT_PYTHON_GEN): GIT-CFLAGS GIT-PREFIX GIT-PYTHON-VARS
$(SCRIPT_PYTHON_GEN): % : %.py
$(QUIET_GEN)$(RM) $@ $@+ && \
diff --git a/devel/git/pkg-descr-gui b/devel/git/pkg-descr-gui
deleted file mode 100644
index e35e69cca957..000000000000
--- a/devel/git/pkg-descr-gui
+++ /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 GUI option enabled.
-
-WWW: https://git-scm.com/
diff --git a/devel/git/pkg-descr-lite b/devel/git/pkg-descr-lite
index dbb113dc5246..41a2deb54bb9 100644
--- a/devel/git/pkg-descr-lite
+++ b/devel/git/pkg-descr-lite
@@ -3,4 +3,6 @@ handle everything from small to very large projects with speed and efficiency.
This version provides the bare minimum git experience without any bindings.
+WARNING: This flavor cannot coexist with cvs, gui, p4 or svn subpackages.
+
WWW: https://git-scm.com/
diff --git a/devel/git/pkg-descr-svn b/devel/git/pkg-descr-svn
deleted file mode 100644
index 394265d7a83c..000000000000
--- a/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/
diff --git a/devel/git/pkg-descr-tiny b/devel/git/pkg-descr-tiny
index 416bd894a892..9e532b8752ad 100644
--- a/devel/git/pkg-descr-tiny
+++ b/devel/git/pkg-descr-tiny
@@ -4,4 +4,6 @@ handle everything from small to very large projects with speed and efficiency.
This version provides the tiniest usable git experience, depending only upon
ftp/curl for http(s) support.
+WARNING: This flavor cannot coexist with cvs, gui, p4 or svn subpackages.
+
WWW: https://git-scm.com/
diff --git a/devel/git/pkg-plist b/devel/git/pkg-plist
index bf7445de4f6d..128a5ea4ea1c 100644
--- a/devel/git/pkg-plist
+++ b/devel/git/pkg-plist
@@ -1,11 +1,8 @@
bin/git
-%%CVS%%bin/git-cvsserver
-%%PERFORCE%%bin/git-p4.py
bin/git-receive-pack
bin/git-shell
bin/git-upload-archive
bin/git-upload-pack
-%%GUI%%bin/gitk
etc/bash_completion.d/git-completion.bash
%%PERL%%%%SITE_PERL%%/FromCPAN/Error.pm
%%PERL%%%%SITE_PERL%%/FromCPAN/Mail/Address.pm
@@ -50,7 +47,6 @@ libexec/git-core/git-checkout--worker
libexec/git-core/git-checkout-index
libexec/git-core/git-cherry
libexec/git-core/git-cherry-pick
-%%GUI%%libexec/git-core/git-citool
libexec/git-core/git-clean
libexec/git-core/git-clone
libexec/git-core/git-column
@@ -63,9 +59,6 @@ libexec/git-core/git-credential
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
@@ -89,8 +82,6 @@ libexec/git-core/git-fsck-objects
libexec/git-core/git-gc
libexec/git-core/git-get-tar-commit-id
libexec/git-core/git-grep
-%%GUI%%libexec/git-core/git-gui
-%%GUI%%libexec/git-core/git-gui--askpass
libexec/git-core/git-hash-object
libexec/git-core/git-help
libexec/git-core/git-http-backend
@@ -128,7 +119,6 @@ libexec/git-core/git-mv
libexec/git-core/git-multi-pack-index
libexec/git-core/git-name-rev
libexec/git-core/git-notes
-%%PERFORCE%%libexec/git-core/git-p4
libexec/git-core/git-pack-objects
libexec/git-core/git-pack-redundant
libexec/git-core/git-pack-refs
@@ -180,7 +170,6 @@ libexec/git-core/git-stripspace
libexec/git-core/git-submodule
libexec/git-core/git-submodule--helper
%%SUBTREE%%libexec/git-core/git-subtree
-%%SUBVERSION%%libexec/git-core/git-svn
libexec/git-core/git-switch
libexec/git-core/git-symbolic-ref
libexec/git-core/git-tag
@@ -242,7 +231,6 @@ man/man1/git-checkout-index.1.gz
man/man1/git-checkout.1.gz
man/man1/git-cherry-pick.1.gz
man/man1/git-cherry.1.gz
-%%GUI%%man/man1/git-citool.1.gz
man/man1/git-clean.1.gz
man/man1/git-clone.1.gz
man/man1/git-column.1.gz
@@ -255,9 +243,6 @@ man/man1/git-credential-cache--daemon.1.gz
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
@@ -279,7 +264,6 @@ man/man1/git-fsck.1.gz
man/man1/git-gc.1.gz
man/man1/git-get-tar-commit-id.1.gz
man/man1/git-grep.1.gz
-%%GUI%%man/man1/git-gui.1.gz
man/man1/git-hash-object.1.gz
man/man1/git-help.1.gz
man/man1/git-http-backend.1.gz
@@ -312,7 +296,6 @@ man/man1/git-mv.1.gz
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
@@ -358,7 +341,6 @@ man/man1/git-status.1.gz
man/man1/git-stripspace.1.gz
man/man1/git-submodule.1.gz
%%SUBTREE%%man/man1/git-subtree.1.gz
-%%SUBVERSION%%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
@@ -378,7 +360,6 @@ man/man1/git-whatchanged.1.gz
man/man1/git-worktree.1.gz
man/man1/git-write-tree.1.gz
man/man1/git.1.gz
-%%GUI%%man/man1/gitk.1.gz
man/man1/gitweb.1.gz
man/man5/gitattributes.5.gz
man/man5/githooks.5.gz
@@ -390,7 +371,6 @@ man/man5/gitweb.conf.5.gz
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
@@ -1363,77 +1343,6 @@ share/git-core/templates/hooks/prepare-commit-msg.sample
share/git-core/templates/hooks/push-to-checkout.sample
share/git-core/templates/hooks/update.sample
share/git-core/templates/info/exclude
-%%GUI%%share/git-gui/lib/about.tcl
-%%GUI%%share/git-gui/lib/blame.tcl
-%%GUI%%share/git-gui/lib/branch.tcl
-%%GUI%%share/git-gui/lib/branch_checkout.tcl
-%%GUI%%share/git-gui/lib/branch_create.tcl
-%%GUI%%share/git-gui/lib/branch_delete.tcl
-%%GUI%%share/git-gui/lib/branch_rename.tcl
-%%GUI%%share/git-gui/lib/browser.tcl
-%%GUI%%share/git-gui/lib/checkout_op.tcl
-%%GUI%%share/git-gui/lib/choose_font.tcl
-%%GUI%%share/git-gui/lib/choose_repository.tcl
-%%GUI%%share/git-gui/lib/choose_rev.tcl
-%%GUI%%share/git-gui/lib/chord.tcl
-%%GUI%%share/git-gui/lib/class.tcl
-%%GUI%%share/git-gui/lib/commit.tcl
-%%GUI%%share/git-gui/lib/console.tcl
-%%GUI%%share/git-gui/lib/database.tcl
-%%GUI%%share/git-gui/lib/date.tcl
-%%GUI%%share/git-gui/lib/diff.tcl
-%%GUI%%share/git-gui/lib/encoding.tcl
-%%GUI%%share/git-gui/lib/error.tcl
-%%GUI%%share/git-gui/lib/git-gui.ico
-%%GUI%%share/git-gui/lib/index.tcl
-%%GUI%%share/git-gui/lib/line.tcl
-%%GUI%%share/git-gui/lib/logo.tcl
-%%GUI%%share/git-gui/lib/merge.tcl
-%%GUI%%share/git-gui/lib/mergetool.tcl
-%%GUI%%share/git-gui/lib/msgs/bg.msg
-%%GUI%%share/git-gui/lib/msgs/de.msg
-%%GUI%%share/git-gui/lib/msgs/el.msg
-%%GUI%%share/git-gui/lib/msgs/fr.msg
-%%GUI%%share/git-gui/lib/msgs/hu.msg
-%%GUI%%share/git-gui/lib/msgs/it.msg
-%%GUI%%share/git-gui/lib/msgs/ja.msg
-%%GUI%%share/git-gui/lib/msgs/nb.msg
-%%GUI%%share/git-gui/lib/msgs/pt_br.msg
-%%GUI%%share/git-gui/lib/msgs/pt_pt.msg
-%%GUI%%share/git-gui/lib/msgs/ru.msg
-%%GUI%%share/git-gui/lib/msgs/sv.msg
-%%GUI%%share/git-gui/lib/msgs/vi.msg
-%%GUI%%share/git-gui/lib/msgs/zh_cn.msg
-%%GUI%%share/git-gui/lib/option.tcl
-%%GUI%%share/git-gui/lib/remote.tcl
-%%GUI%%share/git-gui/lib/remote_add.tcl
-%%GUI%%share/git-gui/lib/remote_branch_delete.tcl
-%%GUI%%share/git-gui/lib/search.tcl
-%%GUI%%share/git-gui/lib/shortcut.tcl
-%%GUI%%share/git-gui/lib/spellcheck.tcl
-%%GUI%%share/git-gui/lib/sshkey.tcl
-%%GUI%%share/git-gui/lib/status_bar.tcl
-%%GUI%%share/git-gui/lib/tclIndex
-%%GUI%%share/git-gui/lib/themed.tcl
-%%GUI%%share/git-gui/lib/tools.tcl
-%%GUI%%share/git-gui/lib/tools_dlg.tcl
-%%GUI%%share/git-gui/lib/transport.tcl
-%%GUI%%share/git-gui/lib/win32.tcl
-%%GUI%%share/git-gui/lib/win32_shortcut.js
-%%GUI%%share/gitk/lib/msgs/bg.msg
-%%GUI%%share/gitk/lib/msgs/ca.msg
-%%GUI%%share/gitk/lib/msgs/de.msg
-%%GUI%%share/gitk/lib/msgs/es.msg
-%%GUI%%share/gitk/lib/msgs/fr.msg
-%%GUI%%share/gitk/lib/msgs/hu.msg
-%%GUI%%share/gitk/lib/msgs/it.msg
-%%GUI%%share/gitk/lib/msgs/ja.msg
-%%GUI%%share/gitk/lib/msgs/pt_br.msg
-%%GUI%%share/gitk/lib/msgs/pt_pt.msg
-%%GUI%%share/gitk/lib/msgs/ru.msg
-%%GUI%%share/gitk/lib/msgs/sv.msg
-%%GUI%%share/gitk/lib/msgs/vi.msg
-%%GUI%%share/gitk/lib/msgs/zh_cn.msg
%%NLS%%share/locale/bg/LC_MESSAGES/git.mo
%%NLS%%share/locale/ca/LC_MESSAGES/git.mo
%%NLS%%share/locale/de/LC_MESSAGES/git.mo