components/mercurial/Makefile
author April Chin <april.chin@oracle.com>
Fri, 03 Oct 2014 08:19:15 -0700
branchs11u2-sru
changeset 3361 a4a50df947fd
parent 3045 0121e7323666
child 3748 4e3605a7e3c0
permissions -rw-r--r--
PSARC/2013/269 Add Ruby 1.9.3 and EOF and Remove Ruby 1.8.7 19624365 create runtime/ruby package that includes any ruby version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     1
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     2
# CDDL HEADER START
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     3
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     7
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    11
# and limitations under the License.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    12
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    18
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    19
# CDDL HEADER END
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    20
#
3045
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    21
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    22
#
127
3e3c266b3a81 7013705 userland build needs local tarball caching
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 99
diff changeset
    23
include ../../make-rules/shared-macros.mk
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    24
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    25
PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    26
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    27
COMPONENT_NAME=		mercurial
3045
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    28
COMPONENT_VERSION=	2.8.2
609
775168282b2f 7037821 Userland migration of data from Makefile to manifest may have been a little overzealous
Rich Burridge <rich.burridge@oracle.com>
parents: 400
diff changeset
    29
COMPONENT_PROJECT_URL=	http://mercurial.selenic.com/
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    30
COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    31
COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
800
2ad056ed89ec 7163771 sha1 should not be used in userland-fetch and userland component/*/Makefile
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 751
diff changeset
    32
COMPONENT_ARCHIVE_HASH=	\
3045
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    33
    sha256:c8a5baa21140c6cd6749c3b52b5e5e4a14b6b8ee7c518d9d9de09b1952efbe6f
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    34
COMPONENT_ARCHIVE_URL=	http://www.selenic.com/mercurial/release/$(COMPONENT_ARCHIVE)
2434
6c9bb5cf5610 15930486 - Auto-generation of Userland gate list for the Solaris 11 Update Release
Rich Burridge <rich.burridge@oracle.com>
parents: 821
diff changeset
    35
COMPONENT_BUGDB=	utility/hg
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    36
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    37
include $(WS_TOP)/make-rules/prep.mk
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    38
include $(WS_TOP)/make-rules/setup.py.mk
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    39
include $(WS_TOP)/make-rules/ips.mk
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    40
751
32bfb3fa9b60 7155746 Userland python bits should use mediated links
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 706
diff changeset
    41
COMPONENT_POST_INSTALL_ACTION = \
32bfb3fa9b60 7155746 Userland python bits should use mediated links
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 706
diff changeset
    42
	(cd $(PROTO_DIR)/usr/bin ; $(MV) -f hg hg-$(PYTHON_VERSION))
32bfb3fa9b60 7155746 Userland python bits should use mediated links
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 706
diff changeset
    43
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    44
PKG_PROTO_DIRS +=	$(COMPONENT_SRC)/contrib
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    45
PKG_PROTO_DIRS +=	$(COMPONENT_SRC)/doc
196
816e398e992c 6907515 mercurial 1.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 181
diff changeset
    46
816e398e992c 6907515 mercurial 1.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 181
diff changeset
    47
# Set mod time of patched file from patch.  Use this to ensure that the .py
816e398e992c 6907515 mercurial 1.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 181
diff changeset
    48
# file consistently gets the same timestamp.
816e398e992c 6907515 mercurial 1.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 181
diff changeset
    49
$(SOURCE_DIR)/.https_proxy.patched: GPATCH_FLAGS += -Z
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    50
3045
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    51
ASLR_MODE = $(ASLR_NOT_APPLICABLE)
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    52
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    53
# Assuming you have docutils installed, update the manpages patch for a new
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    54
# mercurial version based on the patches applied to the source and to the
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    55
# manpage generator.  This works either against source that's already been
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    56
# patched with the older manpages.patch or against a fresh tarball.  Eventually
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    57
# we'll have docutils in the CBE and we'll be able to regenerate the manpages
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    58
# as part of the build, rather than patching them.
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    59
patches/manpages.patch:
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    60
	if [[ -f $(COMPONENT_SRC)/doc/hg.1.~1~ ]]; then \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    61
		cd $(COMPONENT_SRC)/doc; gmake man || true; cd ../..; \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    62
		for f in hg.1 hgignore.5 hgrc.5; do \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    63
			diff -u $(COMPONENT_SRC)/doc/$$f.~1~ $(COMPONENT_SRC)/doc/$$f; \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    64
		done > $@; \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    65
	else \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    66
		for f in hg.1 hgignore.5 hgrc.5; do \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    67
			cp -p $(COMPONENT_SRC)/doc/$$f $(COMPONENT_SRC)/doc/$$f.orig; \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    68
		done; \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    69
		cd $(COMPONENT_SRC)/doc; gmake man || true; cd ../..; \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    70
		for f in hg.1 hgignore.5 hgrc.5; do \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    71
			diff -u $(COMPONENT_SRC)/doc/$$f.orig $(COMPONENT_SRC)/doc/$$f; \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    72
		done > $@; \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    73
	fi || true
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    74
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    75
# common targets
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    76
build:		$(BUILD_32)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    77
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    78
install:	$(INSTALL_32)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    79
3045
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    80
# Use bash in sh mode for the tests; using /bin/sh on Solaris hasn't always
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    81
# worked, and using /bin/bash doesn't always work, either.  Also skip the
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    82
# check-code test, since that ends up trying to check all the code in the
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    83
# userland gate.  And finally, test the bits from the proto area, rather than
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    84
# rebuilding.  Given the way the test suite works, the hg executable must be
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    85
# named "hg".
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    86
test:	$(INSTALL_32)
3045
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    87
	(cd $(BUILD_DIR); rm -f sh; ln -s /bin/bash sh; \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    88
	 echo test-check-code-hg.t > blacklist)
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    89
	(cd $(PROTOUSRBINDIR); ln -s hg-$(PYTHON_VERSION) hg)
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    90
	(cd $(COMPONENT_SRC)/tests ; \
821
5450c885c205 7167655 mercurial 2.2.1
Danek Duvall <danek.duvall@oracle.com>
parents: 800
diff changeset
    91
	 PYTHONPATH=$(PROTO_DIR)/$(PYTHON_LIB) TERM=dumb \
3045
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    92
	 $(PYTHON) ./run-tests.py --shell $(BUILD_DIR)/sh \
0121e7323666 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 2434
diff changeset
    93
	 --with-hg $(PROTOUSRBINDIR)/hg --blacklist $(BUILD_DIR)/blacklist)
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    94
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    95
BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    96
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    97
include $(WS_TOP)/make-rules/depend.mk