git: ff5ded75bcda - main - devel/git: Split into subpackages
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 12 Oct 2021 15:19:28 UTC
The branch main has been updated by garga: URL: https://cgit.FreeBSD.org/ports/commit/?id=ff5ded75bcda28c580623504e01f5db8eb6be9cf commit ff5ded75bcda28c580623504e01f5db8eb6be9cf Author: Renato Botelho <garga@FreeBSD.org> AuthorDate: 2021-10-08 11:48:52 +0000 Commit: Renato Botelho <garga@FreeBSD.org> CommitDate: 2021-10-12 15:18:54 +0000 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 --- MOVED | 2 - UPDATING | 15 +++ devel/Makefile | 4 + devel/git-cvs/Makefile | 9 ++ devel/git-cvs/pkg-descr | 5 + devel/git-cvs/pkg-plist | 8 ++ devel/git-gui/Makefile | 9 ++ devel/git-gui/pkg-descr | 1 + devel/git-gui/pkg-plist | 78 ++++++++++++++ devel/git-p4/Makefile | 9 ++ devel/git-p4/pkg-descr | 3 + devel/git-p4/pkg-plist | 2 + devel/git-svn/Makefile | 9 ++ devel/git-svn/pkg-descr | 5 + devel/git-svn/pkg-plist | 2 + devel/git/Makefile | 233 +++++++++++++++++++++++++++++------------ devel/git/files/patch-Makefile | 21 +++- devel/git/pkg-descr-gui | 6 -- devel/git/pkg-descr-lite | 2 + devel/git/pkg-descr-svn | 6 -- devel/git/pkg-descr-tiny | 2 + devel/git/pkg-plist | 91 ---------------- 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