16 # fields enclosed by brackets "[]" replaced with your own identifying |
16 # fields enclosed by brackets "[]" replaced with your own identifying |
17 # information: Portions Copyright [yyyy] [name of copyright owner] |
17 # information: Portions Copyright [yyyy] [name of copyright owner] |
18 # |
18 # |
19 # CDDL HEADER END |
19 # CDDL HEADER END |
20 # |
20 # |
21 # Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. |
21 |
22 # |
22 # |
|
23 # Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. |
|
24 # |
|
25 |
23 include ../../make-rules/shared-macros.mk |
26 include ../../make-rules/shared-macros.mk |
24 |
27 |
25 PATH=/usr/bin:/usr/gnu/bin:/usr/sbin |
28 PATH=/usr/bin:/usr/gnu/bin:/usr/sbin |
26 |
29 |
27 COMPONENT_NAME= mercurial |
30 COMPONENT_NAME= mercurial |
28 COMPONENT_VERSION= 2.8.2 |
31 COMPONENT_VERSION= 3.2.3 |
29 COMPONENT_PROJECT_URL= http://mercurial.selenic.com/ |
32 COMPONENT_PROJECT_URL= http://mercurial.selenic.com/ |
30 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
33 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
31 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz |
34 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz |
32 COMPONENT_ARCHIVE_HASH= \ |
35 COMPONENT_ARCHIVE_HASH= \ |
33 sha256:c8a5baa21140c6cd6749c3b52b5e5e4a14b6b8ee7c518d9d9de09b1952efbe6f |
36 sha256:c4369320e276d78aada1b5936e96c7bbbbb8154cfba725ef4e8757dcedeaf1ef |
34 COMPONENT_ARCHIVE_URL= http://www.selenic.com/mercurial/release/$(COMPONENT_ARCHIVE) |
37 COMPONENT_ARCHIVE_URL= http://www.selenic.com/mercurial/release/$(COMPONENT_ARCHIVE) |
35 COMPONENT_BUGDB= utility/hg |
38 COMPONENT_BUGDB= utility/hg |
|
39 |
|
40 TPNO= 21341 |
36 |
41 |
37 include $(WS_TOP)/make-rules/prep.mk |
42 include $(WS_TOP)/make-rules/prep.mk |
38 include $(WS_TOP)/make-rules/setup.py.mk |
43 include $(WS_TOP)/make-rules/setup.py.mk |
39 include $(WS_TOP)/make-rules/ips.mk |
44 include $(WS_TOP)/make-rules/ips.mk |
40 |
45 |
42 (cd $(PROTO_DIR)/usr/bin ; $(MV) -f hg hg-$(PYTHON_VERSION)) |
47 (cd $(PROTO_DIR)/usr/bin ; $(MV) -f hg hg-$(PYTHON_VERSION)) |
43 |
48 |
44 PKG_PROTO_DIRS += $(COMPONENT_SRC)/contrib |
49 PKG_PROTO_DIRS += $(COMPONENT_SRC)/contrib |
45 PKG_PROTO_DIRS += $(COMPONENT_SRC)/doc |
50 PKG_PROTO_DIRS += $(COMPONENT_SRC)/doc |
46 |
51 |
47 # Set mod time of patched file from patch. Use this to ensure that the .py |
52 # Use bash in sh mode for the tests; using /bin/sh on Solaris hasn't always |
48 # file consistently gets the same timestamp. |
53 # worked, and using /bin/bash doesn't always work, either. Also skip the |
49 $(SOURCE_DIR)/.https_proxy.patched: GPATCH_FLAGS += -Z |
54 # tests which try to check all the code in the userland gate. And finally, |
|
55 # test the bits from the proto area, rather than rebuilding. Given the way the |
|
56 # test suite works, the hg executable must be named "hg". |
|
57 COMPONENT_PRE_TEST_ACTION = \ |
|
58 (cd $(BUILD_DIR); rm -f sh; ln -s /bin/bash sh; \ |
|
59 echo "test-check-code-hg.t\ntest-module-imports.t" > blacklist); \ |
|
60 (cd $(PROTOUSRBINDIR); rm -f hg; ln -s hg-$(PYTHON_VERSION) hg) |
|
61 |
|
62 COMPONENT_TEST_DIR = $(COMPONENT_SRC)/tests |
|
63 COMPONENT_TEST_ENV_CMD = $(ENV) |
|
64 COMPONENT_TEST_ENV = PYTHONPATH=$(PROTO_DIR)/$(PYTHON_LIB) TERM=dumb |
|
65 COMPONENT_TEST_ARGS = ./run-tests.py \ |
|
66 --shell $(BUILD_DIR)/sh \ |
|
67 --with-hg $(PROTOUSRBINDIR)/hg \ |
|
68 --blacklist $(BUILD_DIR)/blacklist |
50 |
69 |
51 ASLR_MODE = $(ASLR_NOT_APPLICABLE) |
70 ASLR_MODE = $(ASLR_NOT_APPLICABLE) |
52 |
71 |
53 # Assuming you have docutils installed, update the manpages patch for a new |
72 # Assuming you have docutils installed, update the manpages patch for a new |
54 # mercurial version based on the patches applied to the source and to the |
73 # mercurial version based on the patches applied to the source and to the |
75 # common targets |
94 # common targets |
76 build: $(BUILD_32) |
95 build: $(BUILD_32) |
77 |
96 |
78 install: $(INSTALL_32) |
97 install: $(INSTALL_32) |
79 |
98 |
80 # Use bash in sh mode for the tests; using /bin/sh on Solaris hasn't always |
99 test: install $(TEST_32) |
81 # worked, and using /bin/bash doesn't always work, either. Also skip the |
|
82 # check-code test, since that ends up trying to check all the code in the |
|
83 # userland gate. And finally, test the bits from the proto area, rather than |
|
84 # rebuilding. Given the way the test suite works, the hg executable must be |
|
85 # named "hg". |
|
86 test: $(INSTALL_32) |
|
87 (cd $(BUILD_DIR); rm -f sh; ln -s /bin/bash sh; \ |
|
88 echo test-check-code-hg.t > blacklist) |
|
89 (cd $(PROTOUSRBINDIR); ln -s hg-$(PYTHON_VERSION) hg) |
|
90 (cd $(COMPONENT_SRC)/tests ; \ |
|
91 PYTHONPATH=$(PROTO_DIR)/$(PYTHON_LIB) TERM=dumb \ |
|
92 $(PYTHON) ./run-tests.py --shell $(BUILD_DIR)/sh \ |
|
93 --with-hg $(PROTOUSRBINDIR)/hg --blacklist $(BUILD_DIR)/blacklist) |
|
94 |
100 |
95 BUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS) |
101 BUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS) |
96 |
102 |
97 include $(WS_TOP)/make-rules/depend.mk |
103 include $(WS_TOP)/make-rules/depend.mk |