| 1 | NAME = git |
|---|
| 2 | VERSION = 1.8.2.1 |
|---|
| 3 | #PATCHLEVEL = rc4 |
|---|
| 4 | DISTNAME = $(NAME)-$(VERSION) |
|---|
| 5 | GARTYPE = v2 |
|---|
| 6 | |
|---|
| 7 | PACKAGING_PLATFORMS = solaris10-i386 solaris10-sparc |
|---|
| 8 | |
|---|
| 9 | VENDOR_URL = http://git-scm.org/ |
|---|
| 10 | |
|---|
| 11 | NO_SVN_TESTS=YesPlease |
|---|
| 12 | GIT_TEST_OPTS=-i -v -d |
|---|
| 13 | EXTRA_TEST_EXPORTS = NO_SVN_TESTS GIT_TEST_OPTS |
|---|
| 14 | |
|---|
| 15 | # disable tests until next version bump (at the top so it stands out) |
|---|
| 16 | # 1.7.2.1 and 1.7.3 have a failure on current9s when fr.UFT-8 is |
|---|
| 17 | # detected as the first available utf8 locale. the failure is |
|---|
| 18 | # harmless though. |
|---|
| 19 | # TEST_SCRIPTS = |
|---|
| 20 | TEST_TARGET = test |
|---|
| 21 | |
|---|
| 22 | PACKAGES = CSWgit CSWgitk CSWgit-gui CSWgit-svn CSWgit-cvs |
|---|
| 23 | PACKAGES += CSWgit-emacs CSWgit-doc CSWgit-completion CSWgit-dev |
|---|
| 24 | |
|---|
| 25 | OBSOLETED_BY_CSWgit-gui = CSWgitgui |
|---|
| 26 | CATALOGNAME_CSWgitgui = git_gui_stub |
|---|
| 27 | OBSOLETED_BY_CSWgit-svn = CSWgitsvn |
|---|
| 28 | CATALOGNAME_CSWgitsvn = git_svn_stub |
|---|
| 29 | OBSOLETED_BY_CSWgit-emacs = CSWgitemacs |
|---|
| 30 | CATALOGNAME_CSWgitemacs = git_emacs_stub |
|---|
| 31 | OBSOLETED_BY_CSWgit-doc = CSWgitdoc |
|---|
| 32 | CATALOGNAME_CSWgitdoc = git_doc_stub |
|---|
| 33 | OBSOLETED_BY_CSWgit-completion = CSWgitcompletion |
|---|
| 34 | CATALOGNAME_CSWgitcompletion = git_completion_stub |
|---|
| 35 | OBSOLETED_BY_CSWgit-dev = CSWgitdevel |
|---|
| 36 | CATALOGNAME_CSWgitdevel = git_devel_stub |
|---|
| 37 | OBSOLETED_BY_CSWgit-cvs = CSWgitcvs |
|---|
| 38 | CATALOGNAME_CSWgitcvs = git_cvs_stub |
|---|
| 39 | |
|---|
| 40 | CATALOGNAME_CSWgit = git |
|---|
| 41 | CATALOGNAME_CSWgit-cvs = git_cvs |
|---|
| 42 | CATALOGNAME_CSWgit-svn = git_svn |
|---|
| 43 | CATALOGNAME_CSWgit-emacs = git_emacs |
|---|
| 44 | CATALOGNAME_CSWgit-gui = git_gui |
|---|
| 45 | CATALOGNAME_CSWgit-doc = git_doc |
|---|
| 46 | CATALOGNAME_CSWgitk = gitk |
|---|
| 47 | CATALOGNAME_CSWgit-completion = git_completion |
|---|
| 48 | CATALOGNAME_CSWgit-dev = git_dev |
|---|
| 49 | |
|---|
| 50 | ARCHALL_CSWgit-svn = 1 |
|---|
| 51 | ARCHALL_CSWgit-cvs = 1 |
|---|
| 52 | ARCHALL_CSWgitk = 1 |
|---|
| 53 | ARCHALL_CSWgit-gui = 1 |
|---|
| 54 | ARCHALL_CSWgit-emacs = 1 |
|---|
| 55 | ARCHALL_CSWgit-doc = 1 |
|---|
| 56 | ARCHALL_CSWgit-completion = 1 |
|---|
| 57 | |
|---|
| 58 | BUILD_DEP_PKGS = CSWasciidoc CSWlibssl-dev CSWxmlto CSWbash CSWlibcurl-dev |
|---|
| 59 | BUILD_DEP_PKGS += CSWgsed CSWgnulinks CSWperl CSWtk CSWexpat |
|---|
| 60 | BUILD_DEP_PKGS += CSWzlib CSWpmerror CSWpmsvn CSWcvs CSWemacs |
|---|
| 61 | BUILD_DEP_PKGS += CSWpython |
|---|
| 62 | BUILD_DEP_PKGS += CSWlibiconv-dev |
|---|
| 63 | |
|---|
| 64 | RUNTIME_DEP_PKGS_CSWgit = CSWlibz1 CSWperl CSWrsync CSWlibcurl4 |
|---|
| 65 | RUNTIME_DEP_PKGS_CSWgit += CSWosshclient CSWlibiconv2 CSWlibexpat1 |
|---|
| 66 | RUNTIME_DEP_PKGS_CSWgit += CSWbash CSWpmerror CSWpmtermreadkey |
|---|
| 67 | RUNTIME_DEP_PKGS_CSWgit += CSWpmnetsmtpssl CSWless |
|---|
| 68 | RUNTIME_DEP_PKGS_CSWgit += CSWlibintl8 |
|---|
| 69 | RUNTIME_DEP_PKGS_CSWgit += CSWlibssl1-0-0 |
|---|
| 70 | |
|---|
| 71 | RUNTIME_DEP_PKGS_CSWgitk = CSWgit CSWtk |
|---|
| 72 | |
|---|
| 73 | RUNTIME_DEP_PKGS_CSWgit-gui = CSWgit CSWtk |
|---|
| 74 | |
|---|
| 75 | RUNTIME_DEP_PKGS_CSWgit-svn = CSWgit CSWpmsvn |
|---|
| 76 | |
|---|
| 77 | RUNTIME_DEP_PKGS_CSWgit-cvs = CSWgit CSWcvs CSWcvsps |
|---|
| 78 | |
|---|
| 79 | RUNTIME_DEP_PKGS_CSWgit-emacs = CSWgit CSWemacscommon |
|---|
| 80 | |
|---|
| 81 | RUNTIME_DEP_PKGS_CSWgit-doc = CSWgit |
|---|
| 82 | |
|---|
| 83 | RUNTIME_DEP_PKGS_CSWgit-dev = CSWgit |
|---|
| 84 | |
|---|
| 85 | # We include bash here even though git itself depends on it because in theory |
|---|
| 86 | # git could use any other POSIX compliant shell and drop the dependency... |
|---|
| 87 | RUNTIME_DEP_PKGS_CSWgit-completion = CSWgit CSWbash CSWbashcmplt |
|---|
| 88 | |
|---|
| 89 | LICENSE = COPYING |
|---|
| 90 | |
|---|
| 91 | DESCRIPTION = Fast Version Control System |
|---|
| 92 | define BLURB |
|---|
| 93 | Git is a popular version control system designed to handle |
|---|
| 94 | very large projects with speed and efficiency; it is used |
|---|
| 95 | mainly for various open source projects, most notably the Linux kernel. |
|---|
| 96 | endef |
|---|
| 97 | |
|---|
| 98 | SPKG_DESC_CSWgit = Fast Version Control System |
|---|
| 99 | SPKG_DESC_CSWgitk = Git revision tree visualiser |
|---|
| 100 | SPKG_DESC_CSWgit-gui = Git GUI tool |
|---|
| 101 | SPKG_DESC_CSWgit-svn = Git tools for working with Subversion repositories |
|---|
| 102 | SPKG_DESC_CSWgit-cvs = Git tools for working with CVS repositories |
|---|
| 103 | SPKG_DESC_CSWgit-doc = Documentation for Git |
|---|
| 104 | SPKG_DESC_CSWgit-emacs = Git VCS support for Emacs |
|---|
| 105 | SPKG_DESC_CSWgit-completion = Bash completion support for Git |
|---|
| 106 | SPKG_DESC_CSWgit-dev = Headers and static libraries for Git |
|---|
| 107 | |
|---|
| 108 | MASTER_SITES = http://git-core.googlecode.com/files/ |
|---|
| 109 | DISTFILES += $(DISTNAME).tar.gz |
|---|
| 110 | DISTFILES += CSWgit.postinstall |
|---|
| 111 | |
|---|
| 112 | PATCHFILES += 0001-Update-path-in-documentation-to-be-CSW-proper.patch |
|---|
| 113 | PATCHFILES += 0002-Alter-the-value-of-_PATH_DEFPATH-when-paths.h-not-pr.patch |
|---|
| 114 | PATCHFILES += 0003-Use-bash-and-set-PATH-in-contributed-hook-file.patch |
|---|
| 115 | PATCHFILES += 0004-Add-OpenCSW-apache2-path-to-instaweb-search-path.patch |
|---|
| 116 | # this patch is required on current9s (not necessarily all sparc boxes) due |
|---|
| 117 | # to the selection of available utf8 locales. |
|---|
| 118 | PATCHFILES_isa-sparcv8 += 0005-Force-en_US.UTF-8-for-a-git-svn-test.patch |
|---|
| 119 | PATCHFILES += 0006-Patch-out-a-few-usr-share-references.patch |
|---|
| 120 | PATCHFILES += 0006-Fix-use-of-non-portable-strftime-format-string.patch |
|---|
| 121 | |
|---|
| 122 | fdirs = $(bindir_install) $(mandir) $(libexecdir_install) |
|---|
| 123 | define _git_files |
|---|
| 124 | $(foreach d,$(fdirs),$(d)/.*$(1).*) $(sharedstatedir)/$(1).* |
|---|
| 125 | endef |
|---|
| 126 | |
|---|
| 127 | PKGFILES_CSWgit-svn = $(call _git_files,git-svn) |
|---|
| 128 | PKGFILES_CSWgit-gui = $(call _git_files,git-gui) $(call _git_files,git-citool) |
|---|
| 129 | PKGFILES_CSWgitk = $(call _git_files,gitk) |
|---|
| 130 | PKGFILES_CSWgit-cvs = $(foreach d,$(fdirs),$(d)/.*cvs.*) |
|---|
| 131 | PKGFILES_CSWgit-emacs = .*emacs.* |
|---|
| 132 | PKGFILES_CSWgit-doc = $(docdir)/git-doc.* |
|---|
| 133 | PKGFILES_CSWgit-completion = .*/bash_completion.d/.* |
|---|
| 134 | PKGFILES_CSWgit-dev = $(includedir)/.* $(libdir)/.* |
|---|
| 135 | |
|---|
| 136 | # We define upstream file regex so we can be notifed of new upstream |
|---|
| 137 | # software release |
|---|
| 138 | UFILES_REGEX = $(NAME)-(\d+(?:\.\d+)*).tar.bz2 |
|---|
| 139 | |
|---|
| 140 | sysconfdir = /etc/opt/csw |
|---|
| 141 | localstatedir = /var/opt/csw |
|---|
| 142 | #set bashconfdir to sysconfdir when bash changes |
|---|
| 143 | bashconfdir = /opt/csw/etc/ |
|---|
| 144 | |
|---|
| 145 | CONFIGURE_ARGS = $(DIRPATHS) --with-shell=$(bindir)/bash |
|---|
| 146 | CONFIGURE_ARGS += --with-perl=$(bindir)/perl |
|---|
| 147 | CONFIGURE_ARGS += --with-tcltk=$(bindir)/wish |
|---|
| 148 | CONFIGURE_ARGS += --with-zlib=$(prefix) |
|---|
| 149 | CONFIGURE_ARGS += --with-iconv=$(prefix) |
|---|
| 150 | CONFIGURE_ARGS += --with-openssl=$(prefix) |
|---|
| 151 | CONFIGURE_ARGS += --with-expat=$(prefix) |
|---|
| 152 | CONFIGURE_ARGS += --enable-pthreads="-D_REENTRANT -lpthread" |
|---|
| 153 | CONFIGURE_ARGS += --with-gitconfig=$(sysconfdir)/gitconfig |
|---|
| 154 | CONFIGURE_ARGS += --with-pager=/opt/csw/bin/less |
|---|
| 155 | CONFIGURE_ARGS += --without-python |
|---|
| 156 | |
|---|
| 157 | BUILD_ARGS = MSGFMT=gmsgfmt SHELL_PATH=/opt/csw/bin/bash \ |
|---|
| 158 | ASCIIDOC_NO_ROFF=YesPlease \ |
|---|
| 159 | all |
|---|
| 160 | |
|---|
| 161 | INSTALL_ARGS = INSTALLDIRS=vendor \ |
|---|
| 162 | install-man install-html |
|---|
| 163 | |
|---|
| 164 | # We want static libs installed for our devel package |
|---|
| 165 | MERGE_EXCLUDE_STATICLIBS = |
|---|
| 166 | |
|---|
| 167 | ETCSERVICES = /etc/opt/csw/pkg/CSWgit/services |
|---|
| 168 | |
|---|
| 169 | CHECKPKG_OVERRIDES_CSWgit-completion += surplus-dependency|CSWbash |
|---|
| 170 | CHECKPKG_OVERRIDES_CSWgit-completion += surplus-dependency|CSWbashcmplt |
|---|
| 171 | CHECKPKG_OVERRIDES_CSWgit-completion += surplus-dependency|CSWgit |
|---|
| 172 | CHECKPKG_OVERRIDES_CSWgit-doc += surplus-dependency|CSWgit |
|---|
| 173 | CHECKPKG_OVERRIDES_CSWgit-doc += file-with-bad-content |
|---|
| 174 | CHECKPKG_OVERRIDES_CSWgit-dev += discouraged-path-in-pkgmap|/opt/csw/lib/git/libgit.a |
|---|
| 175 | CHECKPKG_OVERRIDES_CSWgit-dev += discouraged-path-in-pkgmap|/opt/csw/lib/git/libxdiff.a |
|---|
| 176 | CHECKPKG_OVERRIDES_CSWgit-dev += surplus-dependency|CSWgit |
|---|
| 177 | CHECKPKG_OVERRIDES_CSWgit += surplus-dependency|CSWpmerror |
|---|
| 178 | CHECKPKG_OVERRIDES_CSWgit += surplus-dependency|CSWbash |
|---|
| 179 | CHECKPKG_OVERRIDES_CSWgit += surplus-dependency|CSWosshclient |
|---|
| 180 | CHECKPKG_OVERRIDES_CSWgit += surplus-dependency|CSWrsync |
|---|
| 181 | CHECKPKG_OVERRIDES_CSWgit += surplus-dependency|CSWless |
|---|
| 182 | CHECKPKG_OVERRIDES_CSWgit += surplus-dependency|CSWpmnetsmtpssl |
|---|
| 183 | CHECKPKG_OVERRIDES_CSWgit += surplus-dependency|CSWpmtermreadkey |
|---|
| 184 | CHECKPKG_OVERRIDES_CSWgit += file-with-bad-content|/usr/local|root/opt/csw/share/man/man1/git-config.1 |
|---|
| 185 | CHECKPKG_OVERRIDES_CSWgit += file-with-bad-content|/usr/share|root/opt/csw/libexec/git-core/git-send-email |
|---|
| 186 | CHECKPKG_OVERRIDES_CSWgit += file-with-bad-content|/usr/share|root/opt/csw/share/gitweb/gitweb.cgi |
|---|
| 187 | CHECKPKG_OVERRIDES_CSWgit += file-with-bad-content|/usr/local|root/opt/csw/libexec/git-core/git-instaweb |
|---|
| 188 | CHECKPKG_OVERRIDES_CSWgit-gui += surplus-dependency|CSWtk |
|---|
| 189 | CHECKPKG_OVERRIDES_CSWgit-gui += surplus-dependency|CSWgit |
|---|
| 190 | CHECKPKG_OVERRIDES_CSWgit-emacs += surplus-dependency|CSWgit |
|---|
| 191 | CHECKPKG_OVERRIDES_CSWgit-cvs += surplus-dependency|CSWcvsps |
|---|
| 192 | CHECKPKG_OVERRIDES_CSWgit-cvs += surplus-dependency|CSWgit |
|---|
| 193 | CHECKPKG_OVERRIDES_CSWgit-cvs += surplus-dependency|CSWcvs |
|---|
| 194 | CHECKPKG_OVERRIDES_CSWgitk += surplus-dependency|CSWtk |
|---|
| 195 | CHECKPKG_OVERRIDES_CSWgitk += surplus-dependency|CSWgit |
|---|
| 196 | CHECKPKG_OVERRIDES_CSWgit-svn += surplus-dependency|CSWgit |
|---|
| 197 | CHECKPKG_OVERRIDES_CSWgit-svn += surplus-dependency|CSWpmsvn |
|---|
| 198 | |
|---|
| 199 | include gar/category.mk |
|---|
| 200 | |
|---|
| 201 | # for tail -n and to override things like, etc with the gnu counterparts |
|---|
| 202 | # gnu must come first so xpg4/sed isn't found first. |
|---|
| 203 | PATH := /opt/csw/gnu:/usr/xpg4/bin:$(PATH) |
|---|
| 204 | |
|---|
| 205 | post-configure-modulated: |
|---|
| 206 | @echo "Forcing GIT_TEST_CMP tool" |
|---|
| 207 | @( cd $(WORKSRC); echo 'GIT_TEST_CMP=gdiff' > config.mak ) |
|---|
| 208 | @( cd $(WORKSRC); echo 'EXTLIBS += -lintl' > config.mak ) |
|---|
| 209 | @$(MAKECOOKIE) |
|---|
| 210 | |
|---|
| 211 | # force the elisp extension to be built too. |
|---|
| 212 | post-build-modulated: |
|---|
| 213 | @echo Builing Emacs Git extension |
|---|
| 214 | @( cd $(WORKSRC); $(MAKE) -C contrib/emacs ) |
|---|
| 215 | |
|---|
| 216 | post-install-modulated: GD=$(DESTDIR)/$(datadir)/doc/$(NAME) |
|---|
| 217 | post-install-modulated: CONTHOOKS=$(GD)/contrib/hooks |
|---|
| 218 | post-install-modulated: BD=$(DESTDIR)/$(bashconfdir)/bash_completion.d |
|---|
| 219 | post-install-modulated: ID=$(DESTDIR)/$(includedir)/git |
|---|
| 220 | post-install-modulated: LD=$(DESTDIR)/$(libdir_install)/git |
|---|
| 221 | post-install-modulated: |
|---|
| 222 | @echo Installing /etc/services definitions file |
|---|
| 223 | @( ginstall -m 0755 -d $(DESTDIR)/etc/opt/csw/pkg/CSWgit/; \ |
|---|
| 224 | echo "git 9418/tcp" >> $(DESTDIR)/$(ETCSERVICES); \ |
|---|
| 225 | echo "git 9418/udp" >> $(DESTDIR)/$(ETCSERVICES); ) |
|---|
| 226 | @echo Cleaning up perl stuff |
|---|
| 227 | @rm -rf $(DESTDIR)/$(libdir)/perl5/site_perl/5* |
|---|
| 228 | @rm -rf $(DESTDIR)/$(perllib)/ |
|---|
| 229 | @chmod 644 $(DESTDIR)/$(datadir)/perl/csw/*pm |
|---|
| 230 | @echo Installing Emacs Git extension |
|---|
| 231 | @( cd $(WORKSRC); $(MAKE) -C contrib/emacs install \ |
|---|
| 232 | emacsdir=$(DESTDIR)/$(datadir)/emacs/site-lisp ) |
|---|
| 233 | @echo Installing devel files |
|---|
| 234 | @( cd $(WORKSRC); \ |
|---|
| 235 | ginstall -c -m 0755 -d $(ID) $(LD); \ |
|---|
| 236 | for f in `find . -name "*.h"`; do \ |
|---|
| 237 | dn=`dirname $$f`; \ |
|---|
| 238 | ginstall -c -m 0755 -d $(ID)/$$dn; \ |
|---|
| 239 | ginstall -c -m 0644 $$f $(ID)/$$dn; \ |
|---|
| 240 | done; \ |
|---|
| 241 | ginstall -c -m 0444 libgit.a $(LD)/; \ |
|---|
| 242 | ginstall -c -m 0444 ./xdiff/lib.a $(LD)/libxdiff.a ) |
|---|
| 243 | @echo Installing Bash Completion files |
|---|
| 244 | @( cd $(WORKSRC); \ |
|---|
| 245 | ginstall -c -m 0755 -d $(BD); \ |
|---|
| 246 | cp contrib/completion/git-completion.bash $(BD)/; \ |
|---|
| 247 | cp contrib/completion/git-prompt.sh $(BD)/; \ |
|---|
| 248 | ginstall -c -m 0755 -d $(GD); \ |
|---|
| 249 | cp contrib/completion/git-completion.tcsh $(GD)/; \ |
|---|
| 250 | cp contrib/completion/git-completion.zsh $(GD)/; \ |
|---|
| 251 | ) |
|---|
| 252 | @( cd $(WORKSRC)/contrib/hooks; \ |
|---|
| 253 | perl -pi -e 's!/usr/share/doc/git-core!/opt/csw/share/doc/git!' post-receive-email; \ |
|---|
| 254 | ginstall -c -d -m 0755 $(CONTHOOKS); \ |
|---|
| 255 | ginstall -c -m 0644 post-receive-email $(CONTHOOKS) ) |
|---|
| 256 | @$(MAKECOOKIE) |
|---|