Index: head/devel/git/Makefile =================================================================== --- head/devel/git/Makefile (revision 443017) +++ head/devel/git/Makefile (revision 443018) @@ -1,226 +1,227 @@ # Created by: Eric Anholt # $FreeBSD$ PORTNAME= git DISTVERSION= 2.13.1 +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= KERNEL_ORG/software/scm/git DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ ${PORTNAME}-manpages-${DISTVERSION}${EXTRACT_SUFX} # We manually extract the htmldocs. EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} \ ${PORTNAME}-manpages-${DISTVERSION}${EXTRACT_SUFX} MAINTAINER= garga@FreeBSD.org COMMENT?= Distributed source code management tool LICENSE= GPLv2 CONFLICTS_INSTALL?= git-gui-[0-9]* git-subversion-[0-9]* git-lite-[0-9]* USERS= git_daemon GROUPS= git_daemon SUB_FILES= pkg-message GNU_CONFIGURE= yes USES= autoreconf gmake shebangfix ssl tar:xz CPPFLAGS+= -isystem${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib MAKE_ARGS+= DEVELOPER_CFLAGS= MAKE_ENV+= V=1 USE_RC_SUBR= git_daemon SHEBANG_FILES= *.perl */*.perl */*/*.perl */*.pl */*/*.pl */*/*/*.pl \ t/*/*/pre t/*/*/post t/Git-SVN/Utils/*.t \ git-p4.py \ contrib/hg-to-git/hg-to-git.py \ contrib/hooks/update-paranoid \ contrib/hooks/multimail/post-receive.example \ contrib/hooks/multimail/git_multimail.py \ contrib/hooks/multimail/migrate-mailhook-config \ contrib/fast-import/import-zips.py \ contrib/remote-helpers/git-remote-bzr \ contrib/remote-helpers/git-remote-hg \ contrib/credential/netrc/git-credential-netrc \ contrib/diff-highlight/diff-highlight \ contrib/buildsystems/generate contrib/contacts/git-contacts \ contrib/svn-fe/svnrdump_sim.py TEST_TARGET= test CONFIGURE_ARGS= --enable-pthreads=-pthread ac_cv_header_libcharset_h=no OPTIONS_DEFINE= GUI SVN GITWEB CONTRIB P4 CVS HTMLDOCS PERL ICONV CURL \ SEND_EMAIL NLS PCRE SUBTREE OPTIONS_DEFAULT= CONTRIB P4 CVS PERL GITWEB ICONV CURL SEND_EMAIL PCRE \ SUBTREE OPTIONS_SUB= yes GITWEB_DESC= Install gitweb CONTRIB_DESC= Install contributed scripts P4_DESC= Enable Perforce support CVS_DESC= Enable CVS support HTMLDOCS_DESC= Install additional documentation SEND_EMAIL_DESC=Enable the git-send-email(1) script SUBTREE_DESC= Install git-subtree NLS_USES= gettext NLS_MAKE_ARGS_OFF= NO_GETTEXT=yes PERL_USES= perl5 PERL_CONFIGURE_WITH= perl=${PERL} PERL_BUILD_DEPENDS= p5-Error>=0:lang/p5-Error PERL_RUN_DEPENDS= p5-Error>=0:lang/p5-Error PERL_MAKE_ARGS_OFF= NO_PERL=1 GITWEB_IMPLIES= PERL PCRE_LIB_DEPENDS= libpcre.so:devel/pcre PCRE_CONFIGURE_WITH= libpcre SEND_EMAIL_IMPLIES= PERL SEND_EMAIL_RUN_DEPENDS= p5-Authen-SASL>=0:security/p5-Authen-SASL ICONV_USES= iconv ICONV_MAKE_ARGS_OFF= NO_ICONV=1 CURL_MAKE_ENV= CURLDIR=${LOCALBASE} CURL_BUILD_DEPENDS= curl:ftp/curl CURL_RUN_DEPENDS= curl:ftp/curl CURL_LIB_DEPENDS= libexpat.so:textproc/expat2 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 # While this port does not explicity honor WITH_SUBVERSION_VER knob it does # depend upon devel/p5-subversion, which does honor that knob. If you want # to have git use devel/subversion18 it will be brought in through # devel/p5-subversion if you set WITH_SUBVERSION_VER=18. Otherwise # devel/subversion will be brought in. SVN_RUN_DEPENDS= p5-Term-ReadKey>=0:devel/p5-Term-ReadKey \ p5-subversion>=0:devel/p5-subversion SUBTREE_BUILD_DEPENDS= xmlto:textproc/xmlto \ asciidoc:textproc/asciidoc \ docbook-xml>0:textproc/docbook-xml CVS_RUN_DEPENDS= cvsps:devel/cvsps .include # This is intentionally not exposed as an option. .if defined(STRIP) && ${STRIP} != "" ALL_TARGET= all strip .endif .if ${PORT_OPTIONS:MP4} || ${PORT_OPTIONS:MCONTRIB} USES+= python CONFIGURE_ARGS+= --with-python=${PYTHON_CMD} .else CONFIGURE_ARGS+= --without-python .endif .if empty(PORT_OPTIONS:MGUI) RMMAN1+= git-citool.1 \ git-gui.1 \ gitk.1 .endif .if empty(PORT_OPTIONS:MSVN) RMMAN1+= git-svn.1 .endif .if empty(PORT_OPTIONS:MCVS) RMMAN1+= git-cvsimport.1 \ git-cvsexportcommit.1 \ git-cvsserver.1 RMMAN7+= gitcvs-migration.7 .endif post-extract-HTMLDOCS-on: @${MKDIR} ${WRKDIR}/htmldocs @cd ${WRKDIR}/htmldocs && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} \ ${DISTDIR}/${PORTNAME}-htmldocs-${DISTVERSION}${EXTRACT_SUFX} \ ${EXTRACT_AFTER_ARGS} post-patch: .for FILE in ${RMMAN1} @${RM} ${WRKDIR}/man1/${FILE} .endfor .for FILE in ${RMMAN7} @${RM} ${WRKDIR}/man7/${FILE} .endfor @${REINPLACE_CMD} -e 's|share/man/man3|man/man3|' ${WRKSRC}/perl/Makefile.PL post-patch-CVS-off: @${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: @${REINPLACE_CMD} -e '/git-svn.perl/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/gitweb-lib.sh post-patch-P4-off: @${REINPLACE_CMD} -e '/^SCRIPT_PYTHON += git-p4.py$$/d' ${WRKSRC}/Makefile @${REINPLACE_CMD} -e 's|/bin/bash|/bin/sh|' \ ${WRKSRC}/contrib/subtree/git-subtree.sh .if ${PORT_OPTIONS:MP4} || ${PORT_OPTIONS:MCONTRIB} post-build: @${FIND} ${WRKSRC} -name "*.bak" -delete .endif 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) ${MKDIR} ${STAGEDIR}${PREFIX}/share/emacs/site-lisp/git ${INSTALL_DATA} ${WRKSRC}/contrib/emacs/git.el \ ${STAGEDIR}${PREFIX}/share/emacs/site-lisp/git/ ${INSTALL_DATA} ${WRKSRC}/contrib/emacs/git-blame.el \ ${STAGEDIR}${PREFIX}/share/emacs/site-lisp/git/ post-install-HTMLDOCS-on: # Manually remove the index.html symlink before installing, and then # recreate it after. This is necessary because the distfile is # extracted with --no-same-owner. If the distfile is extracted as a # non-root user then the symlink will have the incorrect owner. ${RM} ${WRKDIR}/htmldocs/index.html ${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKDIR}/htmldocs/ && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) ${LN} -s git.html ${STAGEDIR}${DOCSDIR}/index.html post-install-SUBTREE-on: cd ${WRKSRC}/contrib/subtree && ${SETENV} ${MAKE_ENV} \ ${MAKE_CMD} ${MAKE_FLAGS} Makefile ${MAKE_ARGS} install install-doc post-install-CONTRIB-on: @${ECHO_MSG} "===> Installing contributed scripts" ${MKDIR} ${STAGEDIR}${PREFIX}/share/git-core/contrib ${CP} -R ${WRKSRC}/contrib/* ${STAGEDIR}${PREFIX}/share/git-core/contrib # Symlink the completions from the contrib directory to where they # will be useful @${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d @${LN} -s ../../share/git-core/contrib/completion/git-completion.bash \ ${STAGEDIR}${PREFIX}/etc/bash_completion.d/git.sh post-install-CONTRIB-off: # Install the contrib completions anyway @${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d @${INSTALL_SCRIPT} ${WRKSRC}/contrib/completion/git-completion.bash \ ${STAGEDIR}${PREFIX}/etc/bash_completion.d/git.sh post-install-P4-on: ${INSTALL_SCRIPT} ${WRKSRC}/git-p4.py ${STAGEDIR}${PREFIX}/bin/ .include Index: head/devel/git/files/patch-SHA1-endianness =================================================================== --- head/devel/git/files/patch-SHA1-endianness (nonexistent) +++ head/devel/git/files/patch-SHA1-endianness (revision 443018) @@ -0,0 +1,115 @@ +From 5d184f468e59cd9c5b51b5c139540015c8e41b18 Mon Sep 17 00:00:00 2001 +From: Jeff King +Date: Tue, 6 Jun 2017 15:01:11 -0400 +Subject: [PATCH 1/2] sha1dc: ignore indent-with-non-tab whitespace violations + +The upstream sha1dc code indents some lines with spaces. +While this doesn't match Git's coding guidelines, it's better +to leave this imported code untouched than to try to make it +match our style. However, we can use .gitattributes to tell +"diff --check" and "git am" not to bother us about it. + +Signed-off-by: Jeff King +Signed-off-by: Junio C Hamano +--- + sha1dc/.gitattributes | 1 + + 1 file changed, 1 insertion(+) + create mode 100644 sha1dc/.gitattributes + +From 6b851e536b05e0c8c61f77b9e4c3e7cedea39ff8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= + +Date: Tue, 6 Jun 2017 15:12:29 +0000 +Subject: [PATCH 2/2] sha1dc: update from upstream +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Update sha1dc from the latest version by the upstream +maintainer[1]. + +See commit a0103914c2 ("sha1dc: update from upstream", 2017-05-20) for +the latest update. That update was done sans some whitespace changes +by upstream, which is why the diff here isn't the same as the upstream +cc46554..e139984. + +It also brings in a change[2] upstream made which should hopefully +address the breakage in 2.13.1 on Cygwin, see [3]. Cygwin defines both +_BIG_ENDIAN and _LITTLE_ENDIAN. + +Adam Dinwoodie reports on the mailing list that that upstream commit +fixes the issue on Cygwin[4]. + +1. https://github.com/cr-marcstevens/sha1collisiondetection/commit/e1399840b501a68ac6c8d7ed9a5cb1455480200e +2. https://github.com/cr-marcstevens/sha1collisiondetection/commit/a24eef58c0684078405f8c7a89f9b78271432005 +3. <20170606100355.GC25777@dinwoodie.org> (https://public-inbox.org/git/20170606100355.GC25777@dinwoodie.org/) +4. <20170606124323.GD25777@dinwoodie.org> (https://public-inbox.org/git/20170606124323.GD25777@dinwoodie.org/) + +Signed-off-by: Ævar Arnfjörð Bjarmason +Signed-off-by: Junio C Hamano +--- + sha1dc/sha1.c | 30 ++++++++++++++++++++++++------ + sha1dc/sha1.h | 6 +++--- + 2 files changed, 27 insertions(+), 9 deletions(-) + +diff --git a/sha1dc/sha1.c b/sha1dc/sha1.c +index 3dff80ac727aa..facea1bb560b5 100644 +--- sha1dc/sha1.c ++++ sha1dc/sha1.c +@@ -35,15 +35,33 @@ + #ifdef SHA1DC_BIGENDIAN + #undef SHA1DC_BIGENDIAN + #endif +-#if (!defined SHA1DC_FORCE_LITTLEENDIAN) && \ +- ((defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) || \ +- (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __BIG_ENDIAN__)) || \ +- defined(_BIG_ENDIAN) || defined(__BIG_ENDIAN__) || defined(__ARMEB__) || defined(__THUMBEB__) || defined(__AARCH64EB__) || \ +- defined(_MIPSEB) || defined(__MIPSEB) || defined(__MIPSEB__) || defined(SHA1DC_FORCE_BIGENDIAN)) + ++#if (defined(_BYTE_ORDER) || defined(__BYTE_ORDER) || defined(__BYTE_ORDER__)) ++ ++#if ((defined(_BYTE_ORDER) && (_BYTE_ORDER == _BIG_ENDIAN)) || \ ++ (defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) || \ ++ (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __BIG_ENDIAN__)) ) + #define SHA1DC_BIGENDIAN ++#endif ++ ++#else ++ ++#if (defined(_BIG_ENDIAN) || defined(__BIG_ENDIAN) || defined(__BIG_ENDIAN__) || \ ++ defined(__ARMEB__) || defined(__THUMBEB__) || defined(__AARCH64EB__) || \ ++ defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || \ ++ defined(__sparc)) ++#define SHA1DC_BIGENDIAN ++#endif + +-#endif /*ENDIANNESS SELECTION*/ ++#endif ++ ++#if (defined(SHA1DC_FORCE_LITTLEENDIAN) && defined(SHA1DC_BIGENDIAN)) ++#undef SHA1DC_BIGENDIAN ++#endif ++#if (defined(SHA1DC_FORCE_BIGENDIAN) && !defined(SHA1DC_BIGENDIAN)) ++#define SHA1DC_BIGENDIAN ++#endif ++/*ENDIANNESS SELECTION*/ + + #if (defined SHA1DC_FORCE_UNALIGNED_ACCESS || \ + defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || \ +diff --git a/sha1dc/sha1.h b/sha1dc/sha1.h +index a0ff5d1305797..1e4e94be54a6d 100644 +--- sha1dc/sha1.h ++++ sha1dc/sha1.h +@@ -61,9 +61,9 @@ void SHA1DCInit(SHA1_CTX*); + Function to enable safe SHA-1 hashing: + Collision attacks are thwarted by hashing a detected near-collision block 3 times. + Think of it as extending SHA-1 from 80-steps to 240-steps for such blocks: +- The best collision attacks against SHA-1 have complexity about 2^60, +- thus for 240-steps an immediate lower-bound for the best cryptanalytic attacks would be 2^180. +- An attacker would be better off using a generic birthday search of complexity 2^80. ++ The best collision attacks against SHA-1 have complexity about 2^60, ++ thus for 240-steps an immediate lower-bound for the best cryptanalytic attacks would be 2^180. ++ An attacker would be better off using a generic birthday search of complexity 2^80. + + Enabling safe SHA-1 hashing will result in the correct SHA-1 hash for messages where no collision attack was detected, + but it will result in a different SHA-1 hash for messages where a collision attack was detected. Property changes on: head/devel/git/files/patch-SHA1-endianness ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property