components/mercurial/Makefile
author Danek Duvall <danek.duvall@oracle.com>
Wed, 06 May 2015 10:05:59 -0700
changeset 4263 078df530ebdb
parent 3817 30b42c38bbc4
child 4339 6501cf9c29f9
permissions -rw-r--r--
21029166 mercurial 3.4
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
#
3746
5d7feca9a1c9 19078590 mercurial needs a TPNO in the fullness of time
Danek Duvall <danek.duvall@oracle.com>
parents: 3596
diff changeset
    21
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    22
#
3746
5d7feca9a1c9 19078590 mercurial needs a TPNO in the fullness of time
Danek Duvall <danek.duvall@oracle.com>
parents: 3596
diff changeset
    23
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
5d7feca9a1c9 19078590 mercurial needs a TPNO in the fullness of time
Danek Duvall <danek.duvall@oracle.com>
parents: 3596
diff changeset
    24
#
5d7feca9a1c9 19078590 mercurial needs a TPNO in the fullness of time
Danek Duvall <danek.duvall@oracle.com>
parents: 3596
diff changeset
    25
127
3e3c266b3a81 7013705 userland build needs local tarball caching
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 99
diff changeset
    26
include ../../make-rules/shared-macros.mk
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    27
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    28
PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    29
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    30
COMPONENT_NAME=		mercurial
4263
078df530ebdb 21029166 mercurial 3.4
Danek Duvall <danek.duvall@oracle.com>
parents: 3817
diff changeset
    31
COMPONENT_VERSION=	3.4
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
    32
COMPONENT_PROJECT_URL=	http://mercurial.selenic.com/
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    33
COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    34
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
    35
COMPONENT_ARCHIVE_HASH=	\
3596
042f4e7a6dbe 20246148 mercurial 3.2.3
Danek Duvall <danek.duvall@oracle.com>
parents: 3533
diff changeset
    36
    sha256:c4369320e276d78aada1b5936e96c7bbbbb8154cfba725ef4e8757dcedeaf1ef
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    37
COMPONENT_ARCHIVE_URL=	http://www.selenic.com/mercurial/release/$(COMPONENT_ARCHIVE)
3533
0b8107a40da7 20183619 userland should support PGP signatures
Danek Duvall <danek.duvall@oracle.com>
parents: 2164
diff changeset
    38
COMPONENT_SIG_URL=	$(COMPONENT_ARCHIVE_URL).asc
1058
34d7aaa03423 15886624 Auto-generation of Userland gate list - Phase 3
Rich Burridge <rich.burridge@oracle.com>
parents: 821
diff changeset
    39
COMPONENT_BUGDB=	utility/hg
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    40
4263
078df530ebdb 21029166 mercurial 3.4
Danek Duvall <danek.duvall@oracle.com>
parents: 3817
diff changeset
    41
TPNO=			22534
3746
5d7feca9a1c9 19078590 mercurial needs a TPNO in the fullness of time
Danek Duvall <danek.duvall@oracle.com>
parents: 3596
diff changeset
    42
5d7feca9a1c9 19078590 mercurial needs a TPNO in the fullness of time
Danek Duvall <danek.duvall@oracle.com>
parents: 3596
diff changeset
    43
# Mercurial does not yet support Python 3.
1907
446472de62e9 PSARC 2014/151 Python 3.4
John Beck <John.Beck@Oracle.COM>
parents: 1637
diff changeset
    44
PYTHON_VERSIONS = 2.7 2.6
446472de62e9 PSARC 2014/151 Python 3.4
John Beck <John.Beck@Oracle.COM>
parents: 1637
diff changeset
    45
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3746
diff changeset
    46
include $(WS_MAKE_RULES)/prep.mk
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3746
diff changeset
    47
include $(WS_MAKE_RULES)/setup.py.mk
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3746
diff changeset
    48
include $(WS_MAKE_RULES)/ips.mk
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    49
751
32bfb3fa9b60 7155746 Userland python bits should use mediated links
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 706
diff changeset
    50
COMPONENT_POST_INSTALL_ACTION = \
32bfb3fa9b60 7155746 Userland python bits should use mediated links
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 706
diff changeset
    51
	(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
    52
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    53
PKG_PROTO_DIRS +=	$(COMPONENT_SRC)/contrib
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    54
PKG_PROTO_DIRS +=	$(COMPONENT_SRC)/doc
196
816e398e992c 6907515 mercurial 1.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 181
diff changeset
    55
2164
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    56
# Use bash in sh mode for the tests; using /bin/sh on Solaris hasn't always
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    57
# worked, and using /bin/bash doesn't always work, either.  Also skip the
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    58
# tests which try to check all the code in the userland gate.  And finally,
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    59
# test the bits from the proto area, rather than rebuilding.  Given the way the
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    60
# test suite works, the hg executable must be named "hg".
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    61
COMPONENT_PRE_TEST_ACTION = \
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    62
	(cd $(BUILD_DIR); rm -f sh; ln -s /bin/bash sh; \
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    63
	echo "test-check-code-hg.t\ntest-module-imports.t" > blacklist); \
3596
042f4e7a6dbe 20246148 mercurial 3.2.3
Danek Duvall <danek.duvall@oracle.com>
parents: 3533
diff changeset
    64
	(cd $(PROTOUSRBINDIR); rm -f hg; ln -s hg-$(PYTHON_VERSION) hg)
2164
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    65
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    66
COMPONENT_TEST_DIR =	$(COMPONENT_SRC)/tests
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    67
COMPONENT_TEST_ENV =	PYTHONPATH=$(PROTO_DIR)/$(PYTHON_LIB) TERM=dumb
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    68
COMPONENT_TEST_ARGS =	./run-tests.py \
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    69
			--shell $(BUILD_DIR)/sh \
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    70
			--with-hg $(PROTOUSRBINDIR)/hg \
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    71
			--blacklist $(BUILD_DIR)/blacklist
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
    72
1434
c782e620dd26 17296512 Add ASLR_NOT_APPLICABLE as an ASLR mode in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 1058
diff changeset
    73
ASLR_MODE = $(ASLR_NOT_APPLICABLE)
c782e620dd26 17296512 Add ASLR_NOT_APPLICABLE as an ASLR mode in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 1058
diff changeset
    74
1637
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    75
# Assuming you have docutils installed, update the manpages patch for a new
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    76
# mercurial version based on the patches applied to the source and to the
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    77
# manpage generator.  This works either against source that's already been
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    78
# patched with the older manpages.patch or against a fresh tarball.  Eventually
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    79
# we'll have docutils in the CBE and we'll be able to regenerate the manpages
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    80
# as part of the build, rather than patching them.
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    81
patches/manpages.patch:
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    82
	if [[ -f $(COMPONENT_SRC)/doc/hg.1.~1~ ]]; then \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    83
		cd $(COMPONENT_SRC)/doc; gmake man || true; cd ../..; \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    84
		for f in hg.1 hgignore.5 hgrc.5; do \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    85
			diff -u $(COMPONENT_SRC)/doc/$$f.~1~ $(COMPONENT_SRC)/doc/$$f; \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    86
		done > $@; \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    87
	else \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    88
		for f in hg.1 hgignore.5 hgrc.5; do \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    89
			cp -p $(COMPONENT_SRC)/doc/$$f $(COMPONENT_SRC)/doc/$$f.orig; \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    90
		done; \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    91
		cd $(COMPONENT_SRC)/doc; gmake man || true; cd ../..; \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    92
		for f in hg.1 hgignore.5 hgrc.5; do \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    93
			diff -u $(COMPONENT_SRC)/doc/$$f.orig $(COMPONENT_SRC)/doc/$$f; \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    94
		done > $@; \
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    95
	fi || true
54bd5ac8db85 18050227 mercurial 2.8.2
Danek Duvall <danek.duvall@oracle.com>
parents: 1434
diff changeset
    96
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    97
# common targets
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    98
build:		$(BUILD_32)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   100
install:	$(INSTALL_32)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   101
2164
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2014
diff changeset
   102
test:		install $(TEST_32)
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   103
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   104
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3746
diff changeset
   105
REQUIRED_PACKAGES += system/library